# A PUF- and Biometric-Based Lightweight Hardware Solution to Increase Security at Sensor Nodes
## 6 Experimental Results and Discussion
### Implementation Results  
Besides the specific firmware developed to generate ID responses from the BLE chip in the sensor node, the proposed fingerprint recognition solution based on the QFM features was programmed in C code, using fixed-point arithmetic since none of the steps requires floating point operations. The results shown correspond to 152 \(\times\) 200-pixel fingerprint images with 256 grayscale values because demonstrators were developed using the capacitive sensor FPC1011F3 [34], which is suitable for low-cost sensor nodes. This fingerprint sensor was connected through the Serial Peripheral  
Figure 8: Fractional Hamming Distances obtained from Helper Data associated to BLE PUFs and individuals whose fingerprints were taken from: (**a**) FVC 2000 DB2a and (**b**) FVC 2002 DB1a.  
Interface (SPI) to a Texas Instruments CC2650 LaunchPAD and to a Texas Instruments Tiva C Series TM4C123G LaunchPad in order to implement the proposal into 32-bit ARM Cortex-M3 and Cortex-M4 processors for microcontroller units, respectively, as shown in Figure 9. No rotation is applied to the captures because the sensor FPC1011F3 guides the user to place the finger always with a similar vertical orientation.  
The results at the successive steps of the processing are shown in Figure 10. They were verified by comparing them with the results of the proposed recognition solution programmed in Matlab and executed in a PC. The experimental results in Figure 10 illustrate how the proposal is robust to some noise level in the fingerprint acquisition.  
A first advantage of the proposed fingerprint recognition solution is the small size of the fingerprint feature. The QFM-based feature requires 128 bytes while other texture-based features require 512 bytes (in the case of FingerCodes considering 64 sectors and 8 Gabor filters [26]) and 1456 bytes (in the case of LDPs considering a 56-bin histogram for each sub-window, 16 subwindows, and 85 \(\times\) 85 pixels per sub-window [26]). It is noted that for minutia-based solutions the performance is compromised for features with less than 500 bytes, as reported in [35] where 1000 bytes are employed (by assuming 80 minutiae and 12.5 bytes for each minutia). The minutia-based feature of the embedded fingerprint recognition solution reported in [36] employs an average size of 512 bytes.  
The results of the implementation of our proposal in ARM Cortex-M3 and M4 microcontrollers are shown in the first two rows of Table 1. The other rows in Table 1 correspond to other embedded fingerprint recognition solutions reported in the literature. Most of them are software implementations executed into microprocessor units, working at moderate frequencies (a few hundreds of MHz). Since most of the referenced proposals do not provide power consumption results, the values included in the last column of Table 1 were obtained from the datasheets or works focused on power consumption studies of the implementation platforms considered [42; 43; 44; 45; 46; 47; 48]. It can be seen how  
Figure 10: Results from the C code in the prototype: (**a**) Fingerprint acquired, (**b**) Orientation image with 16 directions, (**c**) Smoothed orientation image, (**d**) One of the two distinctive windows, (**e**) The corresponding QFingerMap16 feature.  
Figure 9: A low-cost sensor node prototype: CC2650 connected to the FPC1011F3 fingerprint sensor.  
the proposed solution consumes very low dynamic power, maintaining real-time processing for the whole recognition process. Hence, it is very suitable for implementing fingerprint recognition locally in low-cost sensor nodes. The other proposals in the literature employ minutia-based algorithms, which are much more complex than the algorithm we propose. Therefore, even implementing them in complex platforms (with higher power consumption), the resulting processing times are longer.