# Biometrics for Internet-of-Things Security: A Review
## 5 Biometric-Cryptographic Systems for IoT Data Encryption/Decryption  
Encrypption ensures that sensitive data collected by IoT devices are protected and unaltered during transmission between IoT devices and the server. Encryption is usually based on cryptography in which secret keys are used in the data encryption and decryption processes. With data encryption, security threats, such as eavesdropping, can be prevented. However, all the biometric-based authentication systems discussed in Section 4 can only output a binary decision, either acceptance or rejection, without functions of data encryption and decryption [75]. Equipped with these functions is a technique called biometric-cryptography, or bio-cryptosystem in short, a combination of biometrics and cryptography and taking advantage of both. As the key in a bio-cryptosystem for IoT data encoding and decoding is the same, the encryption and decryption algorithms are symmetric. Specifically, in a biometric-cryptographic system, a secret key can be seamlessly bound with biometric data using a fuzzy commitment or fuzzy vault, of which the enrollment and verification processes are shown in Figure 4a. The fuzzy commitment [87] takes an original binary template feature vector (e.g., \(\mathrm{B_{T}}\)) as input. During the enrollment/encoding phase, a secret key (e.g., \(\mathrm{k}\)) is encoded by the BCH encoding scheme to produce a codeword (e.g., \(\mathrm{C}\)). The codeword \(\mathrm{C}\) and the original template data \(\mathrm{B_{T}}\) are merged by the XOR operation to generate \(\mathrm{E}\), that is, \(\mathrm{E=B_{T}\oplus C}\). The hash value of \(\mathrm{k}\) (e.g., hash(\(\mathrm{k}\))) is calculated and stored together with \(\mathrm{E}\) in the database. In the verification/decoding phase, the query feature vector (e.g., \(\mathrm{B_{Q}}\)) in the binary format is XORed with \(\mathrm{E}\) to obtain \(\mathrm{C1=B_{Q}\oplus E}\). A BCH decoding algorithm is applied to \(\mathrm{C1}\) to obtain \(\mathrm{k1}\). Then, the hash value of \(\mathrm{k1}\) (e.g., hash(\(\mathrm{k1}\))) is computed and compared with hash(\(\mathrm{k}\)). If hash(\(\mathrm{k1}\)) = hash(\(\mathrm{k}\)), then \(\mathrm{k1=k}\), which means that the secret key \(\mathrm{k}\) is successfully retrieved. The fuzzy vault [88] takes an unordered template feature set (e.g., \(\mathrm{B_{T}}\)) as input. Here \"unordered\" means that the position of an element in the feature set does not alter the characteristics of the features. For example, the set [1, 2, 3] carries the same information as {3, 1, 2}. During the enrollment/encoding phase, the secret key (e.g., \(\mathrm{k}\)) is encoded into a vault and locked by the template feature set \(\mathrm{B_{T}}\) through a polynomial \(\mathrm{P}\) of variable \(\mathrm{x}\). The segments of \(\mathrm{k}\) are used as the coefficients of \(\mathrm{P}\). We first obtain the polynomial projections \(\mathrm{P}(\mathrm{B_{T}})\) for the elements of \(\mathrm{B_{T}}\), and then randomly generate chaff points that do not lie on \(\mathrm{P}\) to arrive at the final point set \(\mathrm{R}\). In the verification/decoding phase, only when the query feature set (e.g., \(\mathrm{B_{Q}}\)) overlaps with \(\mathrm{B_{T}}\) to a large extent can the vault be unlocked to retrieve the secret key \(\mathrm{k}\). In other words, if many points in \(\mathrm{R}\) that lie on \(\mathrm{P}\) can be located, the polynomial \(\mathrm{P}\) can be reconstructed, and thus the secret key \(\mathrm{k}\) can be retrieved. Conversely, a secret key can be directly generated from the biometric data using a fuzzy extractor, of which the enrollment and verification processes are shown in Figure 4b. In this section, several recent schemes in the literature using the biometric-cryptographic technique are summarized and discussed below. [PERSON] et al. [36] proposed an ECG-based bio-cryptosystem for IoT devices, given that ECG signals can be easily acquired using suitable IoT devices, and it is extremely hard to steal and spoof a user's ECG signal. [PERSON] et al.