# A PUF- and Biometric-Based Lightweight Hardware Solution to Increase Security at Sensor Nodes
## 4 Novel Biometric Sensor Nodes Using QFM-Based Fingerprint Features
### Alignment  
Since the user puts his/her finger on the fingerprint sensor in a different way, translation and rotations should be taken into account to compare aligned fingerprints. The lightweight alignment solution employed herein is based on computing the possible convex core points in the image.  
First, the Poincare Index is calculated at each pixel (inside the ROI) of the smoothed orientation image commented above. Poincare Index computation is the traditional method for the detection of singular points [15]. Second, the smoothed orientation image is smoothed again with the same pixel-wise smoothing window, it is converted to an orientation image with 4-orientation values (16-orientation values are converted to the dominant orientations around 0\({}^{\circ}\), 45\({}^{\circ}\), 90\({}^{\circ}\), and 135\({}^{\circ}\), as explained previously) and a set of 20 patterns with a kernel window of 3 \(\times\) 3 pixels is also evaluated at each pixel. Figure 4 shows the 20 patterns employed. They consider the orientation values around 0\({}^{\circ}\), 45\({}^{\circ}\), 90\({}^{\circ}\), and 135\({}^{\circ}\). The last row corresponds to the patterns for the arch-class fingerprints (which do not include orientations around 90\({}^{\circ}\)). If a pattern of an arch-class fingerprint is found, the pixel location found by the pattern is selected as convex core candidate, since sometimes Poincare index does not detect it. For a pixel that verifies one or more of the other 15 patterns, the pixel location found by Poincare index which is closest to the location found by the pattern is selected, because the location found by Poincare index is finer. Finally, the selected pixels are evaluated by the Moore-Neighbour tracing algorithm (modified by [PERSON]'s stopping criteria) [30] to find sets of neighbour points. Each set found is replaced by its geometric center pixel so as to reduce the number of convex core candidates. Usually, the number, \(c\), of resulting convex cores is smaller than 6. Figure 5 illustrates an example of how the convex cores are detected by this technique for non-arch and arch fingerprint images.  
Figure 4: Patterns for the detection of convex cores.  
Since the convex core candidates are used as reference points, the feature vectors are invariant to translations, but they change with rotations. If the finger can be placed rotated with respect to the vertical (due to the fingerprint image can be captured with rotations), a coarse rotation operation is applied to correct rotations to the fingerprint images. Firstly, the rotation angle of a fingerprint image is estimated based on the computation of the regression line of the ROI image. Then, if the fingerprint is found largely rotated to the right (more than 17\({}^{\circ}\) from the vertical, which is the middle between the 11.25\({}^{\circ}\) and 22.5\({}^{\circ}\)), a rotation of 11.25\({}^{\circ}\) to the left, and another rotation of 11.25\({}^{\circ}\) to the left are applied so as to move the fingerprint image towards the vertical. On the other side, if the fingerprint is found largely rotated to the left of the vertical, the rotations of 11.25\({}^{\circ}\) are applied to the right. If the fingerprint is found to be slightly rotated, a rotation of 11.25\({}^{\circ}\) to the left and another rotation of 11.25\({}^{\circ}\) to the right are applied to the fingerprint image.