# A PUF- and Biometric-Based Lightweight Hardware Solution to Increase Security at Sensor Nodes
## 4 Novel Biometric Sensor Nodes Using QFM-Based Fingerprint Features
### Orientation Computation and Quality Estimation  
The neighborhood operator described in [28] is employed to obtain the orientation image and to estimate the quality of the fingerprint image acquired from the user. It defines a fixed number, \(N\), of reference orientations, \(d_{x}\) with \(x=1,\ldots,N\), and computes the standard deviation \(\sigma\) with the gray values of \(n\) neighbor pixels along each direction, with \(n\) at least \((N+2)/2\). The value of \(\sigma\) along a direction \(\mathrm{d_{x}}\) is compared to the value of \(\sigma\) along its orthogonal direction, and the pair of orthogonal directions (\(d_{x}\), \(d_{x+N/2}\)) with the maximum difference of \(\sigma\) is selected to estimate the ridge orientation as follows:  
\[\Phi(i,j)=\left\{ \begin{array}{ccc}d_{x}&if&\sigma(d_{x})<\sigma(d_{x+N/2}) \\ d_{x+N/2}&if&\sigma(d_{x})>\sigma(d_{x+N/2})\\ v&if&\sigma(d_{x})=\sigma(d_{x+N/2})\end{array} \right.\quad. \tag{6}\]  
where \(v\) represents the orientation assigned to a homogeneous region, herein considered as 90\({}^{\circ}\). A neighborhood of 9 \(\times\) 9 pixels (\(n\) = 9) centered at the analyzed pixel is considered and 16 possible reference orientations (from 0\({}^{\circ}\) to 180\({}^{\circ}\) in intervals of 11.25\({}^{\circ}\)) are evaluated (\(N\) = 16). In order to smooth the orientation image, the value exhibiting the highest frequency in a pixel-wise smoothing window of size 27 \(\times\) 27 centered at each pixel is assigned to that pixel. The smoothing window size has been determined experimentally by considering different fingerprint databases [29]. The coherence of the dominant ridge orientation assigned to each pixel is qualified by a bit. The bit is 1 (orientation is coherent) if the difference of standard deviations between the selected orientation and its orthogonal direction is above a threshold. A threshold value of 10 provides good results according to experiments with different fingerprint databases. Otherwise, the bit is 0. The pixels whose coherence bit is 1 in the smoothed coherence image are considered to belong to the Region of Interest (ROI) of the fingerprint. A quality index IROI counts the smoothed coherence bits to evaluate if the fingerprint image has a ROI with enough size. As proposed in [29], four more quality indexes, IR, I0, I45, and I135, are computed to evaluate if the fingerprint image has enough quality. The reliability of the orientation exhibiting the highest frequency in the smoothing window is qualified by another bit. The bit is 1 (orientation is reliable) if the frequency is above a threshold (chosen as 364, which is half of the pixels in the 27 \(\times\) 27-pixel  
Figure 3: Extraction of the Salted Data based on QFMs and SRAM PUFs. Operations for fingerprint image rotation (illustrated in dashed lines) are employed when it is possible to acquire rotated fingerprint images. (3 \(\times\) \(\sigma\)) or \(c\) QFingerMap16 candidates are obtained if rotation operations are applied or not, respectively. smoothing window). Otherwise, the bit is 0. A quality index IR counts the reliable bits to evaluate if the fingerprint has enough reliable pixels. The indexes, I0, I45, and I135, count, respectively, the reliable pixels inside the ROI whose dominant orientations are: (a) 0\({}^{\circ}\), 11.25\({}^{\circ}\), 157.5\({}^{\circ}\), or 168.75\({}^{\circ}\) (that is, the orientations around 0\({}^{\circ}\)), (b) 22.5\({}^{\circ}\), 33.75\({}^{\circ}\), 45\({}^{\circ}\), or 56.25\({}^{\circ}\) (orientations around 45\({}^{\circ}\)), and (c) 112.5\({}^{\circ}\), 123.75\({}^{\circ}\), 135\({}^{\circ}\), or 146.25\({}^{\circ}\) (orientations around 135\({}^{\circ}\)). The dominant orientations around 90\({}^{\circ}\) are not counted since they are not in arch-class fingerprints. The fingerprint image is evaluated as low quality if the index IROI or IR are low or the values of at least two of I0, I45, and I135 are low.