# A PUF- and Biometric-Based Lightweight Hardware Solution to Increase Security at Sensor Nodes
## 3 Trusted Sensor Nodes Based on SRAM PUFs
### A Low-Cost Solution to Offuscate Sensitive Information through SRAM PUFs
An \(\overline{\text{ID}}\) response with _a-r_ start-up values is obtained from the same ID cells employed in the Helper-Data generation by using the masks stored in the sensor. The \(\overline{\text{ID}}\) response is XORed with the stored Helper Data to obtain a bit string similar to \(K_{coded}\), as follows:  
\[\overline{K}_{coded}=\overline{\text{ID}}\oplus HD=\overline{\text{ID}} \oplus ID\oplus K_{coded}. \tag{4}\]  
Since \(K_{coded}\), and \(K\), are recovered from \(\overline{K}_{coded}\) by using the decoder of a repetition Error Correcting Code, the probability of failure in reconstructing a bit of the secret \(K\) is equivalent to the probability that \(r\) bits of \(\overline{K}_{coded}\) differ from \(K_{coded}\) in r/2 bits or more (caused by the flipping bits of \(\overline{\text{ID}}\)). This can be calculated as \(P_{total}\) in Equation (3) with \(n=r\), \(t<r/2\), and \(p\) estimated by the average fractional Hdist defined in (1) between \(\overline{\text{ID}}\) and ID responses. If the \(\overline{\text{ID}}\) response is truly generated by the ID cells used in the HD generation stage, \(p\) is very low (since ID cells are STB cells) and the probability of failure is also very low. Hence, a repetition Error Correcting Code works efficiently. Other works reported in the literature use more complex Error Correcting Codes such as BCH or Reed-Muller codes because they do not classify cells into STB and RND cells [11; 21]. The processing to reconstruct the secret is shown in Figure 1c for the case of an 8-bit repetition Error Correcting Code. If ID response is fully random, the secret is fully obfuscated and the Helper Data do not leak information [22]. To be random, a necessary condition of the ID response is to be debiased, as explained in [19], that is, the ID response should be uniform (should have the same number of '1's and '0's). This is why ID cells instead of STB cells are used to generate the Helper Data. If ID responses are uniform, the average fractional Hamming distance calculated as in (1) with the responses of different SRAMs (impostor distribution) tends to be 0.5. Another way to evaluate the randomness of \(k\) ID responses with \(a\cdot r\) bits is to calculate the minimum entropy as:  
\[H_{min}\ =\frac{1}{\mathbf{a}\cdot\mathbf{r}}\cdot\sum_{i=1}^{\mathbf{a}\cdot r }log_{2}(p_{imax}). \tag{5}\]  
where \(p_{imax}\) is the maximum probability of the \(i\)-th bit taking logic value '0' or '1' in the \(k\) responses [9]. If \(H_{min}\) is 1, the \(k\) ID responses are 100% independent and there are no correlations between the bits in different ID responses. This is the ideal situation for the case considered herein because, then, nodes with 100% independent ID responses can obfuscate a shared secret and store Helper Data that are quite independent and do not reveal information about the secret. The minimum entropy can also be calculated for the RND cells to evaluate their randomness and their suitability as nonces. More details about how to measure the randomness of PUF responses can be seen in [9; 22]. In the following, the Helper Data stored in the non-volatile memory of a sensor node D, which obfuscate a secret \(K\), will be denoted as \(HD_{K}^{D}=ID^{D}\oplus\ K_{coded}\), where \(ID^{D}\) is the physical identifier (ID response) of the sensor node D.