# 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  
One of the applications of PUFs is low-cost obfuscation of secrets that can be recovered from new PUF responses. Helper-Data algorithms are employed for this purpose. They consist of two stages, Helper-Data generation and secret reconstruction. The solution proposed in this paper is that, previously, a first registration phase is carried out to store in the sensor the masks which classify the SRAM cells as ID cells (identifier cells) and RND cells (random cells). This first registration phase is performed only once. In the other side, Helper-Data generation is performed whenever it is required to change the Helper Data because another secret has to be obfuscated, and secret reconstruction is performed whenever the secret is needed. The first registration phase is carried out before sensor nodes are deployed, in a secure environment. The SRAM PUF of the sensor node is powered down and up several times and their start-up values are compared. The cells that do not change their start-up values are classified as STB cells (stable cells) [8; 9]. A first binary mask identifies with a '1' the STB cells. This is shown in the upper part of Figure 1a. Figure 1: (**a**) Generation of masks for ID and RND cells in the first registration phase; (**b**) Helper-Data generation stage; (**c**) Secret reconstruction stage by using Helper Data and masks. Then, the start-up values of the STB cells are debiased by the pair-output von Neumann or 2O-VN debiasing algorithm proposed in [19] to obtain a PUF response not only with low bit flipping but also without bias. The STB cells that provide a debiased response, which will be named herein as ID cells, are identified with a '1' by a second binary mask. Then, the ID cells are identified as '11' ('1' from the first binary mask and '1' form the second binary mask). The RND cells that will be used to generate nonces (numbers used only once) are identified as '00' ('0' from the first binary mask and '0' form the second binary mask). The RND cells can be, for example, those cells changing their start-up values 50% of the measurements (in that case, the cells changing their start-up values, but not 50% of the times, are identified as '01'). This is shown in the lower part of Figure 1a. In the example of Figure 1a, for simplicity, the RND cells are those changing once or more their start-up values (no '01' cell is shown). RND cells extract the noise of the external operation conditions (temperature, voltage supply, etc.) as a source of entropy because, in them, noise of external conditions dominates over the minimum manufacturing process variability affecting their inverters. At the end of the first registration phase, each sensor stores in a non-volatile memory the first and the second binary masks that indicate which cells are ID and which cells are RND. This information is not sensitive. The sensitive information is the start-up values, which are never stored in the non-volatile memory [20]. Although the start-up values from ID cells (ID response) have low bit flipping probability, the secret \(K\) is coded (\(K_{coded}\)) by an Error Correcting Code to cope with some bit flipping that can occur. Let us suppose that the secret to obfuscate is \(K=[k_{1},\ \ldots,k_{a}]\). Each bit is repeated r times so as to encode it with a repetition Error Correcting Code, \(K_{coded}=[k_{11},\ \ldots,k_{1r},\ldots,k_{a1},\ \ldots,k_{ar}]\). An ID response with a-r start-up values is obtained and the Helper Data (HD) are generated by XORing \(K_{coded}\) and ID as \(HD=ID\oplus K_{coded}\). This is the Helper-Data generation stage of the Helper-Data algorithm, which is shown in Figure 1b. At the end of this stage, the sensor stores the Helper Data in the non-volatile memory. The second stage of the Helper-Data algorithm is the secret reconstruction, which consists of the following steps illustrated in Figure 1c.