Sie sind auf Seite 1von 16

Pattern Recognition 45 (2012) 3373–3388

Contents lists available at SciVerse ScienceDirect

Pattern Recognition
journal homepage: www.elsevier.com/locate/pr

A robust alignment-free fingerprint hashing algorithm based on minimum


distance graphs
Priyanka Das a, Kannan Karthik a,n, Boul Chandra Garai b
a
Dept. of Electronics and Electrical Engineering, Indian Institute of Technology Guwahati, India
b
ISRO Satellite Centre, Bangalore, India

a r t i c l e i n f o abstract

Article history: Abstraction of a fingerprint in the form of a hash can be used for secure authentication. The main
Received 23 May 2011 challenge is in finding the right choice of features which remain relatively invariant to distortions such
Received in revised form as rotation, translation and minutiae insertions and deletions, while at the same time capturing the
20 January 2012
diversity across users. In this paper, an alignment-free novel fingerprint hashing algorithm is proposed
Accepted 26 February 2012
which uses a graph comprising of the inter-minutia minimum distance vectors originating from the
Available online 9 March 2012
core point as a feature set called the minimum distance graph. Matching of hashes has been
Keywords: implemented using a corresponding search algorithm. Based on the experiments conducted on the
Fingerprint FVC2002-DB1a and FVC2002-DB2a databases, we obtained an equal error rate of 2.27%. The computa-
Hash
tional cost associated with our fingerprint hash generation and matching processes is relatively low,
Minimum distance graph
despite its success in capturing the minutia positional variations across users.
Corresponding search algorithm
Security & 2012 Elsevier Ltd. All rights reserved.

1. Introduction problem due to large intra-class variations such as, displacement,


rotation, partial overlap, non-linear distortion, pressure and skin
Biometric authentication system is divided into two stages—(i) conditions, noise, etc. The global structures (position of singularity,
enrollment: to extract the features from the scanned biometric local ridge orientation) of fingerprint images from different users may
data of the user, create a template, and store it in the database, and sometimes look similar causing large inter-class similarity. A finger-
(ii) authentication: to extract the same features from the query print consists of ridges and valleys which carry a lot of information
user’s biometric data and compare the result with the stored and form a set of distinctive features for a wide class of users. Two
template. If they are sufficiently similar according to some most prominent local ridge characteristics are ridge ending and ridge
similarity measure, the matching module output is YES, indicating bifurcation collectively known as minutia.
an authentic user, or a NO for an unauthorized user. In this paper, we devise a novel fingerprint hashing algorithm
Since it is extremely difficult to replace or revoke the biometric called the Minimum Distance Graph (MDG) generated for both
data, the user biometric data must be kept in a secure way when query and template image with the help of singular point (core)
used for authentication. So, instead of storing the raw biometric data and minutiae points. Maximum number of matching pairs
in the database, it is preferable to store corresponding transformed between the query MDG and template MDG are found with the
versions, so that (i) they can still be used for matching with help of our Corresponding Search Algorithm (CSA). In the first
reasonable performance and (ii) it would be hard to forge the phase of CSA, we find a maximum set of matched node pairs from
‘‘original’’ biometric data that would match a given template. One the two distance vectors, and in the second phase, we include
possible way is to generate robust hash functions. The hash function more pairs in the match by comparing the rest of the elements of
should be such that it will give similar hash values for the same user these two vectors. The pre-alignment phase is not required in our
and completely different hash values for different users. algorithm. The results are presented to demonstrate significant
A fingerprint based biometric is commonly used to authenticate a improvements in fingerprint matching accuracy through the
genuine user due to three primary reasons: its universality, distinc- public fingerprint databases FVC2002-DB1a, FVC2002-DB2a.
tiveness and permanence. But fingerprint matching is a difficult The rest of the paper is organized as follows. In Section 2, we
present a brief discussion of some recent work in the area of
transformed anonymous biometrics for secure fingerprint authen-
n
Corresponding author. Tel.: þ91 361 2582516; fax: þ 91 361 2582542.
tication. Section 3 deals with pre-processing, reference point
E-mail addresses: d.priyanka@iitg.ernet.in (P. Das), detection, minutiae extraction and false minutiae removal steps.
k.karthik@iitg.ernet.in (K. Karthik), bgarai@isac.gov.in (B. Chandra Garai). We describe our MDG hashing algorithm in detail in Section 4.

0031-3203/$ - see front matter & 2012 Elsevier Ltd. All rights reserved.
doi:10.1016/j.patcog.2012.02.022
3374 P. Das et al. / Pattern Recognition 45 (2012) 3373–3388

How the hashing algorithm really qualifies as a robust fingerprint the cells and a one-dimensional bit-string is generated. Finally, the
perceptual hash is discussed in Section 5. Section 6 is related to bit-string is permuted using user specific PIN or the permutation
the determination of maximum matching pairs using the corre- matrices. This approach performs well when all the users have
sponding search algorithm. Security issues are discussed in different PINs, however the performance degrades when the key is
Section 7. Experimental results, comparison with other hashing compromised due to quantization error and image distortion.
methods and complexity analysis are presented in Section 8. In Another bit-string based cancelable template generation method
Section 9, we have described how our hashing algorithm can be appeared in the work of Jin et al. [11]. In their method, a set of
extended to generate cancelable templates. Finally, in Section 10, invariant features are extracted from minutiae pairs, and further
the conclusions are presented. they apply quantization, histogram binning and binarization
operations to generate a bit-string. Finally the bit-string is trans-
formed into a non-invertible and cancelable one using helper data
2. Related work and user’s key based permutation procedure. But how the minu-
tiae pairs are to be chosen is not mentioned in their paper. Farooq
Most template protection approaches can be roughly classified et al. [12] presented an alignment-free cancelable template gen-
into two categories: (i) transformation based and (ii) biometric eration method based on minutiae triplets (triangles). The authors
cryptosystems. In the first case, the matching between template have extracted seven invariant features followed by quantization
and query image is performed in transformed domain. So, leakage and hashing into a binary string (224 bits). However the computa-
of original biometric information is not possible. It is very tional complexity of this method is high as calculation of all
challenging to find an optimal transformation that is non-inver- possible triplet invariant features are required. Another registra-
tible, while preserving matching accuracy. One way to do this is tion-free cancelable template design method is proposed by
by using robust, non-invertible hash functions. Ahmad et al. [13]. The authors have designed pair polar coordinate
A fair amount of attention has been directed towards hash space where relative position of a minutia point with respect to
function based fingerprint authentication. A secure biometric other minutiae points is computed. Matching process is performed
authentication scheme based on robust hash function has been in transform domain to satisfy the property of non-invertibility.
proposed by Sutcu et al. [1]. A combination of various Gaussian A fully automated and practical fuzzy vault scheme based on
functions with a secure cryptographic hash function is used in fingerprint minutiae has been proposed by Nandakumar et al. [14].
their paper to satisfy both non-invertibility and security condi- Their method strongly depends on the alignment accuracy. The
tions. An efficient distortion tolerant fingerprint authentication authors have used high curvature points derived from orientation
scheme has been presented in [2] based on labeled and weighted field as helper data for alignment which leaks sufficient information
graphs of minutiae features known as the Minutiae Adjacency to the attackers. In addition, due to non-linear deformation in
Graph (MAG). Generation of cancelable template using cartesian, fingerprints, the high curvature points cannot be reliably obtained
polar and surface folding transformations from minutiae points in certain images and this leads to a slight misalignment. An
has been shown by Ratha et al. [3]. The registration prior to improved minutiae descriptor (ridge frequency and ridge orienta-
transformation has been accomplished by the position and orien- tion) based fuzzy vault scheme is presented in [15]. However, their
tation of the core point in their method. Lee et al. have described approach also relies on alignment accuracy. Liu et al. [16] have
an alignment-free cancelable fingerprint template generation proposed a key binding system using n-nearest minutia structures.
method based on local information around each minutia [4]. For They have demonstrated that fingerprint matching performance
each minutia, the rotation and translation invariant value is can be improved substantially by incorporating more genuine
computed from the orientation information of local region close points in the vault, but which in turn, increases the computational
to the central minutia. Another novel method to generate cancel- complexity.
able templates by Bin-based Quantization (BQ) has been proposed In summary, it is extremely difficult to develop a fingerprint
by Yang et al. [5]. They have used both local and global fingerprint authentication algorithm which satisfies the conditions of high
features for better discrimination between users. matching accuracy, low computational complexity and more
Application of a family of symmetric hash functions for secure security simultaneously. This is the motivation of our paper.
fingerprint biometric systems appears in the work of Tulyakov
et al. [6]. The algorithm does not depend on the singular points
(core and delta) and does not need pre-alignment between the 3. Pre-processing
test and reference fingerprint templates. They have extended
their work by generating a combination of symmetric hash The complete hashing algorithm is shown in Fig. 1 in the form
functions in order to enhance the security of the system against of a block diagram. Each block is discussed below.
brute force attack [7]. The advantage of this approach is that the
algorithm is applicable to partial fingerprint matching without 3.1. Fingerprint image enhancement
requiring pre-alignment. Yang et al. [8] presented a dynamic
random projection-based template protection algorithm which The first step of any fingerprint matching process is to enhance
increases the computational complexity to search for the original both the template and query fingerprint images. Different approaches
unprotected biometric template when the bio-token is stolen. are implemented in spatial domain or frequency domain to reduce
Yang and Busch [9] developed a parameterized geometric align- noise and to increase the contrast between ridges and valleys in the
ment method for fingerprint template protection. In this method, gray-scale fingerprint images before further processing. Given a
minutiae vicinity is defined by each minutia itself together with fingerprint image, the Gabor filtered based enhancement algorithm
M closest neighbouring minutiae. The main idea is to infuse proposed by Hong et al. [17] is adopted to obtain the enhanced binary
randomness into the minutiae vicinity self alignment process in fingerprint image. The main steps are
order to achieve template diversification.
Lee and Kim [10] used minutiae-based bit strings as cancelable  Normalization.
templates. Firstly a three-dimensional array consisting of cells is  Segmentation.
generated. A reference minutia point is selected and other minu-  Orientation image estimation.
tiae are translated and rotated in order to map the minutiae into  Ridge frequency image estimation.
P. Das et al. / Pattern Recognition 45 (2012) 3373–3388 3375

 Gabor filtering. in an image. Segmentation is the process of separating the foreground


 Binarization. regions containing ridges and valleys in the image from the back-
 Morphological closing operation. ground regions containing no valid information. In a fingerprint
 Morphological thinning. image, the background regions generally exhibit a very low gray-
 Enhanced thinning. scale variance value compared to the foreground regions. Hence, a
method based on variance thresholding has been used in our case to
Segmentation and the steps from binarization to enhanced thin- perform the segmentation. The orientation field of a fingerprint image
ning are five additions in our case, not included in [17]. defines the local orientation of the ridges around each local neigh-
An input image is normalized to a pre-specified mean and bourhood. It is a critical step and is used in Gabor filtering. We have
variance. Normalization is used to standardize the intensity values used least mean square based orientation estimation algorithm as
discussed in [17]. In a local neighbourhood, where no minutiae and
singular points appear, the gray levels along ridges and valleys can be
modeled as a sinusoidal-shaped wave along a direction normal to the
local ridge direction. Once the ridge orientation and ridge frequency
information has been determined, these parameters are used to
construct the even-symmetric Gabor filter. A two dimensional Gabor
filter consists of a sinusoidal plane wave of a particular orientation
and frequency, modulated by a Gaussian envelope. Gabor filters are
employed because they have frequency-selective and orientation-
selective properties. These properties allow the filter to be tuned to
give maximal response to ridges at a specific orientation and
frequency in the fingerprint image. The next step is to convert the
gray-scale image to binary image, where ridges are made as value ‘1’
and valleys as value ‘0’. This improves the contrast between the ridges
and valleys in a fingerprint image. In order to detect the actual
minutiae, morphological closing operation is performed on the binary
image to close the holes within valid ridges. The ‘square’ mask of size
2  2 is used in our case. Morphological thinning algorithm is also
used followed by binarization to successively erode the foreground
pixels until they are 1 pixel wide. Ideally, the width of the skeleton
should be strictly 1 pixel but this is not always true. Hence, we have
used enhanced thinning algorithm as proposed by Kaur et al. [18] to
make sure that the ridges are of 1 pixel width. Fig. 2 shows that the
enhancement algorithm performs well even for the poor quality
images.

3.2. Core point detection

Singular point detection is the most challenging task prior to


minutiae feature extraction. The core point or reference point is
Fig. 1. Block diagram of proposed hashing algorithm. defined as the point with maximum curvature of convex ridges.

Fig. 2. Fingerprint image enhancement by Gabor filter: (a)–(d) original images and (e)–(h) corresponding enhanced images.
3376 P. Das et al. / Pattern Recognition 45 (2012) 3373–3388

The directional or orientation field plays a very important role in more than twice the average distance between two ridges. Too
the fingerprint image analysis. The orientation field, where each large a window size cancels some true minutiae whereas, too
pixel represents the local orientation of the ridges (as calculated small a window size will not be able to detect and cancel false
in the enhancement step), appears in a discontinuous manner in minutiae. As a compromise between the two, in our experiment,
the region of singular point, while it is continuously distributed in we have chosen W as 29. The boundary effect has been treated by
other parts of fingerprint image. The consistency of local orienta- canceling all minutiae at the periphery within a 10 pixel boundary
tion in a neighbourhood along the dominant direction can be as the border minutiae may result in false ridge endings and
measured with the help of a reliability image [19]. The black bifurcations. Moreover, in order to detect ridge break structure,
pixels of value zero in the reliability image map correspond to ridge endings closer than 10 pixels are canceled. Consequently,
singular points. Fig. 3 clearly shows the results of core point better performance has been achieved by removing a large
detection algorithm. Many images can have more than one core number of false minutiae specially ridge bifurcations. Fig. 4 shows
point. In that case, the top most core point is used. the result of minutiae extraction before and after post-processing.

3.3. Minutiae extraction in the valid region 3.5. Desired characteristics of a biometric hash (bio-hash) function
After the reference point has been detected, the next step is
Once the final set of ‘‘stable’’ minutiae has been identified in
robust feature extraction. Here, we have chosen minutiae as our
the post-processing stage, the hashing algorithm is applied. A
desired feature. In order to detect minutiae, the well-known
generic bio-hash is expected to abstract the information available
crossing number (CN) concept is used [20]. The CN value, which
from minutia positions and orientations, either into a compact
is defined as half the sum of the differences between pairs of
binary string or a sequence of ordered integers. We present some
adjacent pixels in the eight-neighbourhood, is then computed for
desired, yet somewhat conflicting properties of a typical bio-hash
both the template and query image in the foreground region. A
ridge pixel with a CN of one corresponds to a ridge ending, and a
1. Non-invertibility: Given the message digest or hash value, it
CN of three corresponds to a bifurcation. For each extracted
should be computationally infeasible to reconstruct the origi-
minutiae point, the following information is recorded: (i) x and
nal input (which is the biometric template). This requires
y coordinates, (ii) angle of orientation, y and (iii) type of minutiae
some form of a one way transformation.
(ridge ending or bifurcation).

3.4. False minutiae removal

Due to the presence of noise as well as the use of pre-


processing stages, the thinned binary image contains a large
number of false minutiae having no meaningful correspondence
affecting the matching performances of the system. The post-
processing algorithm devised by Tico and Kuosmanen [21] is used
here. This algorithm enables us to detect and cancel false minutiae
which are included in false minutia structures like spikes, holes,
bridges, ladder structures and spurs. Taking a W  W window Fig. 4. Result of minutiae extraction: (a) and (c) minutiae extracted before post-
process, and (b) and (d) minutiae extracted after post-process. Minutiae locations
centered at each minutiae point, this algorithm analyzes the
are marked by circle for ridge ending and square for ridge bifurcation, and
thinned ridge structure and checks the validity of each candidate directions are shown by a line starting from each minutia. All angles (0–3591)
minutiae based on some transition rules. Normally, W is taken as are measured w.r.t. positive x axis.

Fig. 3. Singular point detection: (a) orientation image, (b) reliability image, (c) reliability image after thresholding, (d) the dot shows the detected core point overlaid on
the image, (e)–(h) detected core point (dot) in different classes of images. (e) Arch, (f) left loop, (g) right loop, (f) Whorl.
P. Das et al. / Pattern Recognition 45 (2012) 3373–3388 3377

2. Distinctiveness: Upon receiving distinct inputs (or different


biometrics), the computed hash values must be approximately
independent. This ensures that the collision probability for the
different inputs will be small.
3. Robustness to intra-user variations: Manipulations that do not
change the perceptual information in the biometric should not
change the hash value. Essentially it should be robust to the
geometric distortions like rotation, translation and cropping of
one biometric with respect to another. It is also expected to be
robust against varying sensor noise and lighting and pressure
conditions, depending on the type of data acquisition.

Generating hash functions directly from minutiae features is


essentially a dimensionality reduction problem, such that the
information carried by the entire set of minutiae points can be
mapped to another set of points of a lesser dimension. The real Fig. 5. Minimum distance graph generation.
challenge is in finding a set of compact and distinctive features (or
traits) which inherit the qualities of the original biometric tem-
plate and can be used for constructing the bio-hash. The bio-hash if count 4 1 then
is essentially a pseudonym which must be clearly ‘‘linkable’’ with fIf there are more than one minutiae located at the same
the original template (to permit authentication), but at the same distance from the core, and this distance is the minimum
time should be non-invertible in case the bio-hash is stolen. The distance, then select the minutia as the second node of the
need to have some elasticity to make the bio-hash robust to intra- graph which is next closest to the core after the minimum
class variations opens up the possibility of some unavoidable distance:g
information leakage through the bio-hash. In the following section jnext ¼ Arg minfd1j g
we propose an approach for generating a bio-hash using the 2V ð1Þ ,j=
j= 2jnext ,j A M

minutia information available in the post-processing stage. endif


V ð2Þ ¼ f1,jnext g
Dð2Þ ¼ fd1jnext g
4. Proposed Minimum Distance Graph (MDG) based hashing
algorithm i’jnext
Step3: Find the other nodes of the graph
Most of the minutiae based fingerprint matching algorithms for k ¼ 3-Lþ 1 do
perform the alignment process in reaction to rotational, transla- jnext ¼ Arg minfdij g
tional variation prior to matching. Our method does not require 2V ðk1Þ ,j A M
j=

the alignment phase. fThe probability of having more than one minutiae at the
Let tðn1 ,n2 Þ denote the template image and iðn1 ,n2 Þ the input or same distance from the previous reference minutia located
query image, where n1 ¼ 1; 2, . . . ,N1 and n2 ¼ 1; 2, . . . ,N 2 (image away from the core is very less. Hence, the other nodes of the
size is N 1  N2 ) and L denote the number of minutiae in an image. graph are being searched on the basis of minimum distance:g
S
Also, let a set M comprising of the core point and L number of V ðkÞ ¼ V ðk1Þ fjnext g
minutiae points be represented by M ¼ fC,m1 ,m2 , . . . ,mL g, where S
DðkÞ ¼ Dðk1Þ fdijnext g
the core point is C and all the minutiae denoted by m1 ,m2 , . . . ,mL . i’jnext
A graph essentially consists of an ordered set of connected end for
nodes. Let us define some notations.
return the sets V ðL þ 1Þ and DðL þ 1Þ and terminate the algorithm.
V(i), ordered set of nodes after ith iteration i.e., up to ith node in
The output parameters of the Algorithm 1, V ðL þ 1Þ contains Lþ 1
the graph;
and DðL þ 1Þ contains L number of elements. The Euclidean distance
D(i), distances between successive ordered nodes after ith
between ith element of V ðL þ 1Þ i.e., V ðL þ 1Þ ðiÞ and ði þ 1Þth element of
iteration;
V ðL þ 1Þ i.e., V ðL þ 1Þ ðiþ 1Þ is given by ith element of DðL þ 1Þ i.e., DðL þ 1Þ ðiÞ,
dij, distance from ith node to the jth node in the graph,
where i ¼ 1; 2, . . . ,L and L being the total number of minutia in any
image after post-processing. Suppose there are p and q number of
where ði,jÞ A f1; 2, . . . ,ðL þ 1Þg and ia j. Total number of nodes in
minutiae points located in the region of interest of the query and
the MDG will be same as the length of set M, i.e., ðLþ 1Þ. Our next
template image respectively after post-processing, for the query image i,
step is to find the minimum distance graph or MDG which is
the MDG is denoted by Di ¼ ðdi1 ,di2 , . . . ,dip Þ. Similarly, for the template
described in Algorithm 1 using the set M and the above notations.
image, the minimum distance graph is also obtained and is repre-
Algorithm 1. Constructing MDG. sented by the vector Dt ¼ ðdt1 ,dt2 , . . . ,dtq Þ as seen from Fig. 5. There-
fore, the two vectors Dt and Di are the final hash values to be compared
Step1: Initialization
generated from the template and query images respectively.
V ð1Þ ¼ f1gf1st node in the graph be the 1st element in set M i.e.,
core point ðCÞg.
Dð1Þ ¼ ffgfPortion of the graph up to 1st node is NULL set:g 5. Qualification as a fingerprint hash
Step2: Find the second node of the graph
jnext ¼ Arg minfd1j g 5.1. Non-invertibility
2V ð1Þ ,j A M
j=
count ¼ jnext f# denotes the number of j value for which the In our hashing algorithm, we have computed the distance
above condition for jnext satisfies:g between the core point and its nearest minutia, then, the distance
3378 P. Das et al. / Pattern Recognition 45 (2012) 3373–3388

between the next nearest minutia to the previous one and so on. The distance between A0 and B0 after transformation will be
If there are a number of minutiae located at the same minimum qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
distance from the core point, the minutia located at the next dðA0 ,B0 Þ ¼ ðx02 x01 Þ2 þðy02 y01 Þ2 ¼ dðA,BÞ ð6Þ
higher to the minimum distance is chosen as the second node of
Hence, ideally the distance between any two points of an image
the MDG while the other nodes are chosen based on the mini-
remains same irrespective of the angle of rotation y and transla-
mum distance only. Once we have a set of distance elements in
tion parameter ðt x ,t y Þ. In our case, since the MDG originates from
our hand, we cannot get back the original minutiae locations. This
the core point of the fingerprint image the rotational and
is because given a particular node in the distance graph, the next
translational parameter ðy,t x ,t y Þ should not be such that the core
node can lie anywhere on the periphery of a circle, with the
point may shift out of the foreground region of the image. Our
previous node as its center, and the distance between the two
hash function can tolerate rotational variation up to 7401 which
nodes as its radius. Hence, there are infinite possible trajectories
is more practical. Figs. 7 and 8 show some cases where MDG
for the same set of distances which implies infinite set of possible
remains approximately same subject to rotational and transla-
minutiae points can be constructed from the same distance
tional changes. Here we have not considered the scaling effect as
vector. Fig. 6 shows three out of many such possible trajectories
all the images to be tested from a given database are of the same
with the distance vector D ¼ ½d1 ,d2 ,d3  considering three original
resolution.
minutiae points i.e., L¼3. So, given the MDG, it is extremely
difficult to guess the original set of minutiae positions of the
image i.e., our method satisfies the non-invertibility property of 5.2.2. Cropping
the hash function. We will briefly see how the nature of the distance graph
changes with insertion, deletion of one or more minutiae in any
5.2. Robustness to intra-user variations image due to noise and feature extraction errors. Very poor

The real challenge in fingerprint authentication is that the


fingerprints are affected by high displacement, rotation, which
result in smaller overlapping areas between template and query
images. Non-linear distortions, different pressure and skin condi-
tions, error in feature extraction method may also result in
spurious or missing features. To develop a robust hash from
original fingerprint immune to all these distortions is really
challenging and this aspect for our algorithm is analyzed next.

5.2.1. Rotation and translation


Let the position of any two pixels A and B in an image be ðx1 ,y1 Þ
and ðx2 ,y2 Þ. The Euclidian distance between A and B is given by
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
dðA,BÞ ¼ ðx2 x1 Þ2 þ ðy2 y1 Þ2 ð1Þ

When the image is rotated by an angle y and translated by an


amount ðt x ,t y Þ, the transformed positions of A and B (i.e., A0 and B0 )
will be respectively
x01 ¼ x1 cos yy1 sin y þ t x ð2Þ Fig. 7. Minimum distance graph under different angle of rotation, y denotes the
angle of rotation (positive in the anti-clock wise sense and vice-versa). (a) Original
y01 ¼ x1 sin y þ y1 cos y þ t y ð3Þ image, (b) y ¼ 401, (c) y ¼ 301, (d) original image, (e) y ¼ 401, (f) y ¼ 401.

x02 ¼ x2 cos yy2 sin y þ t x ð4Þ

y02 ¼ x2 sin y þ y2 cos y þ t y ð5Þ

Fig. 8. Minimum distance graph under different value of translation, tx denotes


translation along x direction and ty denotes translation along y direction.
Fig. 6. Three possible trajectories (solid line, dash-dot line, and square-dot line) (a) Original image, (b) t x ¼ 80, ty ¼ 70, (c) t x ¼ 90, t y ¼ 100, (d) original image,
with same set of distances, ½d1 ,d2 ,d3 . (e) t x ¼ 90, t y ¼ 60, (f) t x ¼ 100, t y ¼ 60.
P. Das et al. / Pattern Recognition 45 (2012) 3373–3388 3379

quality image leads to generation of false minutiae. Also, the 5.3. Distinctiveness or inter-user variations
thinning algorithm in the image enhancement step is partly
responsible for false minutiae creation or deletion. As the MDG has a strong correlation with the minutiae points in
(a) One minutia insertion or deletion: Fig. 9(a) shows the any image, and those minutiae points are unique for a given user, the
situation when one minutia has been inserted in any one of the
input and template images from the same user. One minutia has
been inserted in Fig. 9(a(i)) relative to Fig. 9(a(ii)). Before the third
distance, d3, there is a perfect correspondence between the two
graphs. However, it loses synchronization after the second dis-
tance, d2, in each image. Again the forth distance of Fig. 9(a(i)) i.e.,
d4 matches with the fifth distance of Fig. 9(a(ii)) i.e., d5, and, the
two distance graphs re-synchronize again.
Deletion of one minutia in one image with respect to the other
is essentially same as the insertion of that minutia point in the
second with respect to the first image. Hence, same picture holds
in case of one minutia deletion in Fig. 9(a(i)).
(b) Consecutive two minutiae insertions or deletions: Let us
consider the case where two minutiae have been inserted in
succession in Fig. 9(b(ii)) with respect to Fig. 9(b(i)) after first two
minutiae lying on the graph. So, up to d2 both images are in order.
Then, due to minutiae insertions, the two graphs become out of
order. Re-synchronization again takes place at forth distance of
Fig. 9(b(i)), d4, with sixth distance of Fig. 9(b(ii)), d6.
Therefore, in general, if n number of minutiae have been succes-
sively inserted after l number of minutiae in one image compared to
the other derived from the same user, re-synchronization of the two
distance graphs occurs at ðl þn þ2Þth distances of that image with
ðl þ 2Þth distance of the other. Deletion of two consecutive minutiae
in the first image with respect to the second is same as the insertion
of two consecutive minutiae in the second image with respect to the
first. So, the same rule is followed in case of deletion also. In this way,
no matter how many insertions or deletions take place, the graph
must return to the original set of points. Hence, our algorithm focuses
on the re-synchronization of the two distance vectors. However,
instead of successive minutiae insertions or deletions, if more than
one minutiae have been inserted randomly at the same distance from
the previous node of the graph, the rest of the portion of the graph
may change significantly. In this case, the matching score between
the two MDG hashes belonging to the same user will be very low.
Fig. 10(q)–(t) shows one example of false reject.
Such cases are rare as this clearly indicates some inconsistency
in the minutia deletion process. Usually accidental minutia Fig. 10. Minimum distance graph for intra- and inter-users: (a) U11 , (b) U12 , (c) U13 ,
(d) U14 , (e) U21 , (f) U22 , (g) U23 , (h) U24 , (i) U31 , (j) U32 , (k) U33 , (l) U34 , (m) U41 ,
insertions and deletions are not just due to imperfect sensory (n) U42 , (o) U43 , (p) U44 , (q) U51 , (r) U52 , (s) U53 , (t) U54 (U stands for user).
data, but also the extraction algorithm’s inability to recognize (a)–(d) Right loop, (e)–(h) left loop, (i)–(l) whorl, (m)–(p) partial type of fingerprints,
certain minutiae as unstable points. (q)–(t) failure to match intra-class users.

Fig. 9. Minutiae insertions or deletions: (a) case of one minutia insertion/deletion: (i) query image, (ii) template image, and (b) case of two minutiae insertions/deletions:
(i) query image, (ii) template image. In each figure the distance values are marked by d1 ,d2 ,d3 , etc. in order i.e., the distance between the core point and its nearest minutia
is marked as d1, the distance between next closest minutia to the previous one is marked as d2 and so on.
3380 P. Das et al. / Pattern Recognition 45 (2012) 3373–3388

minimum distance graph should be similar for the same user and We have chosen the smaller length vector (D2) as the reference
dissimilar for fingerprints from different users. It is clearly visible set, and compare the other (D1) with respect to it as a group of
from Fig. 10(a), (e), (i) and (m) that the graphs change completely for three starting from the first element. CSA1 is demonstrated in
different users U11 , U21 , U31 and U41 . So it is proved that the Algorithm 2. This algorithm returns the matched pairs between
proposed hash function qualifies for the distinctiveness property also. the two vectors, and the indices iret and jret of D1 and D2
respectively, after which CSA2 will start.

6. Determination of the maximum matching pairs Algorithm 2. CSA1.

Input: Two distance vectors, D1, D2 with length L1 and L2


After finding the hash values, Dt and Di from the template and respectively.
query images, we have to search for the correspondences between Step1: Initialization
them. The length and also the corresponding elements of the two i ¼ 1fith element of D1 is accessed:g
vectors may not be equal even for the same user with different j ¼ 1fjth element of D2 is accessed:g
impressions. This is mainly due to insertion, deletion of one or more count ¼ 0fcount states the relative position of the starting
number of minutiae in any image. A significant portion of the element of D1 from its initial position for comparison. If
fingerprint may be cropped due to variable pressure on the scanner count 4 2, the algorithm stops searching the matched pairs:g
surface while capturing the image, causing intra-class variation. An Step2:
exact one-to-one correspondence between the two distance vectors i0 ’i
does not often exist. Therefore, inexact matching is needed. In other
j0 ’j
words, given two distance vectors Dt ¼ ðdt1 ,dt2 , . . . ,dtq Þ and
s’0
Di ¼ ðdi1 ,di2 , . . . ,dip Þ, we have to find the maximum matching pairs
fInitial value of i and j is stored in i0 and j0 respectively as
k between Dt and Di, where k is unknown and kr minðp,qÞ.
required in Step3 and s stores the number of times the
For this, we propose a novel Correspondence Search Algorithm
condition below is satisfied.}
(CSA) which will find the maximum matching pairs between the two
while ðio i0 þ 3Þ and ðj o j0 þ 3Þ and ði rL1 2Þ and ðj r L2 2Þ do
hash values and is outlined in Fig. 11. From a close observation of the
{Take the elements of D1 and D2 as a group of three starting
various minimum distance graphs of the users from the same class
from the first element. Compute the direct absolute differences
and across classes (Fig. 10), we can conclude that the nature of the two
and compared with a threshold value, d.}
graphs for different impressions of the same user look similar near the
core point, whereas they change significantly away from the core if 9D1 ðiÞD2 ðjÞ9o d then
point. On the other hand, it changes completely starting from the core s’s þ1
point in case of different users. Based on this observation, CSA i’i þ 1
algorithm can be divided into two parts, CSA1 and CSA2. CSA1 is j’j þ 1
applied close to the reference point. CSA2 is applied from where CSA1 end if
stops, i.e., away from the core. CSA2 is again subdivided into two end while
algorithms, CSA2A and CSA2B, depending on the number of minutiae Step3:
insertions or deletions to be checked to find corresponding pairs {If each of the three absolute difference value is less than d,
between Dt and Di. Finally, CSA1 is combined with CSA2A and CSA2B these three elements in D1 and D2 are considered as
resulting in Proposed 1: MDG_CSA2A and Proposed 2: MDG_CSA2B, corresponding matched pairs. Otherwise, the starting point of
respectively for searching maximum number of matching pairs. We D1 goes one element below while, keep the starting point of D2
have assumed that the distance vector having higher length is denoted same as before, and, compare as a group of three. If that
by D1 with length L1, and the other vector as D2 with length L2. comparison also fails to find matched pair, the starting
element of D1 will further go one element down and compare.
If no matched pair is found, stop the algorithm.}
6.1. CSA1
if S ¼ ¼ 3 then
return D1 ði0 : i0 þ2Þ and D2 ðj0 : j0 þ 2Þ as three matched pairs
CSA1 is mainly used to search the corresponding elements
count’0
between two distance vectors, D1 and D2, close to the core point.
Go to Step2 until we reach to the L2 th element of D2
else
count’count þ1
if count o 3 then
i’i0 þ1
j’j0
Go to Step2
else
iret ¼ i0 2
jret ¼ j0
return iret and jret which will be used in CSA2
terminate the algorithm
end if
end if

6.2. CSA2

CSA2 will start immediately when CSA1 stops. It takes care of


Fig. 11. Flow chart of Correspondence Search Algorithm. the sequential minutia insertion or deletion problem. We further
P. Das et al. / Pattern Recognition 45 (2012) 3373–3388 3381

divide CSA2 into two parts depending on the maximum number Step4:
of minutiae insertion or deletion. CSA2A takes care of a maximum Terminate the algorithm if the last element in D1 or D2 has
of four minutiae insertions whereas CSA2B checks up to nine been reached. Count the total number of matched pairs.
minutiae insertions in any one of the two images.
Assume that CSA1 ends at ði1Þth and ðj1Þth element of the 6.2.2. CSA2B
vector D1 and D2 respectively, where i1 ¼ iret and j1 ¼ jret This algorithm is almost identical as CSA2A except that we
according to Algorithm 2. That means, ith to L1 th and jth to L2 th search for at most nine minutiae insertions or deletions. Initialize
elements of D1 and D2 respectively are still unchecked for the value of x as x¼2 in Case 3 of Algorithm 3 and go on
correspondence search, where 1 r i1 oL1 and 1 rj1 oL2 . increasing up to x ¼10 for checking maximum of nine minutiae
insertions instead of x ¼5 as in Case 3C.
CSA1 is compulsory prior to CSA2A and CSA2B. The total
6.2.1. CSA2A
number of matching pairs between D1 and D2 can be obtained
CSA2A is discussed in Algorithm 3. This algorithm takes the
by adding matching pairs found in CSA1 and CSA2A individually
two distance vectors D1 and D2 with their respective lengths L1
resulting in MDG_CSA2A. Similarly by adding the number of
and L2, and the indices, iret and jret of D1 and D2 respectively, as
matching pairs in CSA1 and CSA2B, we achieve total number of
inputs, and returns the corresponding elements as outputs.
correspondences in MDG_CSA2B.
Algorithm 3. CSA2A.
6.3. Calculation of matching score
Input: D1, L1, D2, L2, iret (from CSA1), jret (from CSA1)
Step1: Initialization Let the total number of matched pairs out of L2 ð r L1 Þ be X and
i ¼ iret þ 1 Y respectively in case of MDG_CSA2A and MDG_CSA2B. Generally
j ¼ jret þ 1 X a Y depending on the average probability of the number of
Step2: Find remaining matching pairs when CSA1 stops minutiae insertions or deletions. The matching score, S, is defined
Compute the absolute differences between the ith element of as the maximum normalized matching pairs and is given by
D1 with jth element of D2, ði þ 1Þth element of D1 with ðj þ 1Þth  
element of D2 and ði1Þth element of D1 with ðj1Þth element X Y
S ¼ Max , ð7Þ
of D2 and compare the three difference values with a L2 L2
threshold, d as used in CSA1. Three cases are possible. If the value S is greater than a threshold, ðtÞ, the two fingerprints
Case 1 are said to be from the same user i.e., accepted, otherwise they are
if 9D1 ðiÞD2 ðjÞ9 r d and ð9D1 ðiþ 1ÞD2 ðj þ 1Þ9 r d or from different users i.e., rejected.
9D1 ði1ÞD2 ðj1Þ9 r dÞ then
D1 ðiÞ and D2 ðjÞ are next matched pair after those pairs as found
7. Security analysis
by CSA1.
Increment both the pointers i and j by 1 for next element
Our algorithm is dependent on the accuracy with which the
search.
core and minutiae points are detected. For a given user, the
Case 2
position of the core point is not unique. Many different fingers
else if 9D1 ðiÞD2 ðjÞ9 4 d and 9D1 ði þ 1ÞD2 ðj þ1Þ9 r d and
may have the same core point. We are concerned about the
9D1 ðiþ 2ÞD2 ðj þ 2Þ9 r d and 9D1 ði1ÞD2 ðj1Þ9 r d then degree of complexity in determining the original minutiae loca-
Skip the present ith and jth value of D1 and D2 respectively and tions through which the known MDG passes. Let us assume that
increment both pointers by 1. This indicates that there is a an attacker already knows the core position and the minimum
discontinuity by one pair in successive matched pairs due to distance vector D ¼ ðd1 ,d2 , . . . ,dL Þ and he wants to know the
distortion. original minutiae locations.
Case 3 Let di 9i ¼ 1;2,...,L be the distance between two closest minutiae or
else we check for at most four minutiae insertions/deletions in the distance between the core and its closest minutia. The first
any image. Initialize x¼2 to check single minutia insertion. element d1 of vector D corresponds to the distance between the
Case 3A core and its nearest minutia.
if 9D1 ðiþ 1ÞD2 ðj þ xÞ9 r d and 9D1 ði þ2ÞD2 ðj þx þ 1Þ9 r d then All possible minutiae at a distance d1 from the core point lie on
D1 ði þ 1Þ and D2 ðj þ xÞ are matched pair i.e., one insertion has the periphery of a circle of radius d1 and the core as its center.
taken place in vector D2. Hence, the number of possible paths/trajectories/graphs starting
Case 3B from the core and terminating on each minutia lying on the circle
else if 9D1 ði þ xÞD2 ðj þ 1Þ9 r d and 9D1 ðiþ x þ 1ÞD2 ðj þ2Þ9 r d of radius d1 is given by
then 2pd1
D1 ði þ xÞ and D2 ðj þ 1Þ are matched pair i.e., one insertion has n1 ¼ ð8Þ
dr
taken place in vector D1.
Case 3C where dr is the average distance between two ridges.
else From each of the n1 number of minutiae, we can further have
Increment x by 1. 2pd2 =dr number of minutiae locations. Hence, total number of
repeat Case 3A and Case 3B to check for x1 minutiae paths starting from the core for d2 is
insertions. In this way, maximum of four insertions are to be 2pd2
checked i.e., until x ¼5. n2 ¼ n1  ð9Þ
dr
Step3:
In general, given the ith element of vector D i.e., di, the possible
If no matched pair is found by considering maximum of four
number of paths, ni is
minutiae insertions, discard the ith and jth value and start
searching from ði þ 1Þth and ðj þ1Þth value of D1 and D2 2pdi
ni ¼ ni1  , i ¼ 2; 3, . . . ,L ð10Þ
respectively. dr
3382 P. Das et al. / Pattern Recognition 45 (2012) 3373–3388

Considering all the L number of elements of D, total possible 8.2. Parameter selection
number of paths or graphs characterizing each user’s fingerprint
is given by The parameters used in our implementation for the two
      databases are listed in Table 2.
2pd1 2pd2 2pdL
N ¼ nL ¼     ð11Þ A question may arise that why we have chosen the threshold
dr dr dr
for comparison, d in implementing CSA as 5. If we choose a too
For simplicity, we assume small value of threshold (e.g. 3), we may miss the distance pair
generated by two corresponding minutiae points in both query
d1 ¼ d2 ¼ d3 ¼    ¼ dL ¼ davg ð12Þ and template images resulting in large false negative cases. Again
too large threshold value (e.g. 7) will treat the distance between
where
two different minutiae points in two images as same which
ðd1 þd2 þ d3 þ    þ dL Þ results in large false positive case. In compromise to these two
davg ¼ ð13Þ
L possible cases, we have chosen a threshold value as 5. The
and performance of proposed hashing scheme is affected by the
threshold, t, selection. And the threshold value of 0.37 listed in
2pdavg Table 2 is based on a delicate balance between the False Accept
n¼ ð14Þ
dr Rate (FAR) and False Reject Rate (FRR) and is applicable to both
Therefore, with the help of Eqs. (12)–(14), Eq. (11) can be databases FVC2002-DB1a and FVC2002-DB2a.
rewritten as
8.3. Performance analysis
N ¼ nL ð15Þ
The criteria used for evaluating the performance are
Hence in our MDG hashing algorithm, security increases by an
exponential factor. The probability of an attacker to guess the
(i) False Accept Rate (FAR)—the frequency of an imposter falsely
original minutiae locations
accepted as a legitimate user.
p ¼ 1=N ð16Þ (ii) Genuine Accept Rate (GAR¼1  FRR)—the frequency of a
genuine user correctly accepted as a legitimate user.
In this scenario, the entropy or the difficulty in guessing the true
(iii) Equal Error Rate (EER)—the cross-over error rate when False
minutiae positions is given by
  Accept Rate (FAR) is equal to the False Reject Rate (FRR).
2npndavg Lower EER means higher accuracy of the matcher.
H ¼ log2 ðpÞ ¼ Lnlog2 ðnÞ ¼ Lnlog2 bits ð17Þ
dr
To calculate FRR, each impression of a given finger is compared
In the proposed hashing system, the experimental value of the
with the rest impressions of the same finger. Hence there are
parameters are average value of the distance vector, davg ¼ 35 and
ðð8n7Þ=2Þn100 ¼ 2800 number of comparisons for each database.
average number of minutiae, L¼30 for FVC2002-DB1 and
FAR is computed based on comparing the first impression of each
davg ¼ 40 and L¼35 for FVC2002-DB2. The average distance
individual with the first of the others and the total number of
between two ridges dr ¼ 10. Hence, the security strength is
imposter tests equal ð100n99Þ=2 ¼ 4950 for each database. In our
30nlog2 ðð2npn35Þ=10Þ  133 bits for FVC2002-DB1 and 35nlog2
experiment, we have considered maximum of four and nine
ðð2npn40Þ=10Þ  162 bits for FVC2002-DB2 which are substan-
minutiae insertions/deletions resulting in two algorithms:
tially high. So, our method increases the computational complex-
MDG_CSA2A and MDG_CSA2B respectively. Fig. 12 shows the
ity of brute-force attack and the invertibility of the hash of the
actual fingerprint is intractable.
Table 2
Parameters used during Hashing algorithm.

8. Experimental results Parameters used Value

8.1. Fingerprint database Desired mean during normalization 100


Desired standard deviation during normalization 150
Block size used in variance-based segmentation 10
The public domain databases [22] FVC2002-DB1a and FVC2002- Threshold used in variance-based segmentation 70
DB2a have been used to show the performance of our algorithm Block size in finding ridge frequency 32
and their characteristics are summarized in Table 1. Most images Block size in singular point detection 5
in these two databases provide core point (or high curvature points Window size in post-processing step, W 29
Threshold using in comparison of distance values in CSA, d 5
for arch type fingerprint), which is the reference point for our Threshold using in final decision process with matching score, t 0.37
algorithm.

Table 1
Summary of databases used in our experiments.

Characteristics FVC2002-DB1a FVC2002-DB2a

No. of fingers 100 100


No. of impressions per each finger 8 8
Sensor Identix TouchViewII (optical) Biometrika FX2000 (Optical)
Image size 388  374 296  560
Resolution 500 dpi 569 dpi
Image quality Good Medium
P. Das et al. / Pattern Recognition 45 (2012) 3373–3388 3383

102

101
FAR (%) and FRR (%)

GAR (%)
100

FAR(#1)
FAR(#2)
FRR(#1) GAR(#1)
FRR(#2)
GAR(#2)
0.25 0.3 0.35 0.4
0 5 10 15 20
Threshold (t)
FAR (%)

102
1
10
FAR (%) and FRR (%)

GAR (%)

100

FAR(#1)
FAR(#2)
FRR(#1)
FRR(#2) GAR(#1)
GAR(#2)
0.25 0.3 0.35 0.4
Threshold (t) 0 5 10 15 20
FAR (%)
Fig. 12. ROC curves of our algorithm on (a) FVC2002-DB1; (b) FVC2002-DB2.
MDG_CSA2A and MDG_CSA2B are marked as #1 and #2 respectively. (a) DB1, Fig. 13. Performance of hashing algorithm on (a) FVC2002-DB1; (b) FVC2002-DB2.
(b) DB2. MDG_CSA2A and MDG_CSA2B are marked as #1 and #2 respectively. (a) DB1,
(b) DB2.

variation of FAR and FRR with different values of threshold, t for Table 3 lists the FAR, FRR for varying threshold value (t1 t 4 ) and
both databases. We can see that at a given value of t, FAR in EER for two databases using two algorithms. EER performance is
MDG_CSA2A is comparatively lower than that of MDG_CSA2B better by using MDG_CSA2B for both databases. The image size of
while FRR in MDG_CSA2B is lower than MDG_CSA2A. While FVC2002-DB1 is smaller than FVC2002-DB2, and accordingly the
performing corresponding element search between the MDGs of minutiae number is fewer in DB1 compared to DB2. Many
the query and template images, the probability of false matching algorithms in past (e.g. [23]) have shown that the result of
increases if we consider up to nine minutiae insertions, which in FVC2002-DB2 is better than FVC2002-DB1 due to larger region
turn, increases FAR. If we consider up to four minutiae insertions of interest. But in our case, the performance of our hashing
or deletions, it may happen that the synchronization of two algorithm is purely dependent on the image quality near the core
graphs can take place after five or more insertions. Hence, FRR point not on the image size, and hence, the reverse.
increases in case of MDG_CSA2A as compared to MDG_CSA2B.
Performance is slightly worse in case of FVC2002-DB2a. This 8.4. Comparison with other hashing methods
essentially occurs due to inaccurate core and minutiae points
detection in case of poor quality images. If the position of the core We compare the proposed alignment-free minimum distance
point is not detected accurately, the MDG changes significantly graph based hashing algorithm with some existing fingerprint
even at near the core point. Hence, the effectiveness of our template protection schemes. In [6], the authors have used a
algorithm will drop. We have plotted GAR versus FAR graph set of symmetric hash functions which are minutiae order
in Fig. 13. GAR(FAR¼0 þ) is 92.44% and 90.73% respectively independent for hashing the fingerprint. For each minutia, the n
in case of MDG_CSA2A and MDG_CSA2B for FVC2002-DB1a, nearest neighbour minutiae are found, and mðm o nÞ hashed
whereas GAR(FAR¼0þ) is 87.34% and 93.67% respectively in case minutiae are generated using symmetric hash functions. The
of MDG_CSA2A and MDG_CSA2B for FVC2002-DB2a database. matching is performed in hash space. The performance is verified
3384 P. Das et al. / Pattern Recognition 45 (2012) 3373–3388

Table 3
Experimental results for two databases.

Algorithm Database used t 1 ¼ 0:31 t 2 ¼ 0:33 t 3 ¼ 0:35 t 4 ¼ 0:37 EER (%)

FAR (%) FRR (%) FAR (%) FRR (%) FAR (%) FRR (%) FAR (%) FRR (%)

MDG_CSA2A FVC2002-DB1a 7.72 3.41 2.77 4.39 0.59 5.36 0.00 7.56 4.26
MDG_CSA2B FVC2002-DB1a 15.84 0.73 8.31 1.70 2.57 2.19 0.39 2.92 2.27
MDG_CSA2A FVC2002-DB2a 1.26 7.59 0.21 8.86 0.00 12.66 0.00 15.19 5.06
MDG_CSA2B FVC2002-DB2a 4.20 3.79 1.05 5.06 0.21 6.32 0.00 6.32 3.79

on FVC2002-DB1a public database. Total number of genuine and Table 4


imposter tests are 2800 and 4950 respectively i.e., same as our Comparison of the proposed scheme with some existing template protection
schemes in terms of performance and security metrics.
case. EER has mentioned as 3.0% by their method. To satisfy the
non-invertibility property, the number of hash functions (m) must Method FVC2002-DB1a FVC2002-DB2a
be less than number of minutiae points, n. In case of minutiae
triplets, n¼ 3 and m o3. They have shown graphically that two EER (%) Security (bits) EER (%) Security (bits)
triplet centers (hash values) can be formed from different number
Ref. [6] 3.00 70–80 – –
of minutia points (e.g. 4, 5, 6). Hence, the security of their Ref. [7] – – 4.98 80
approach increases as the number of points to form triplet centers Ref. [5] – – 13 –
increases. The brute force attack strength is of 70–80 bits. But it is Ref. [9] – – 4.04 85
possible for an attacker to determine the actual minutiae posi- Ref. [8] – – 4.53 4 108
Ref. [13] 9 – 6 –
tions if they have a single way of generating hash functions.
MDG_CSA2A 4.26 133 5.06 162
To overcome this problem, [7] proposes an excellent technique MDG_CSA2B 2.27 133 3.79 162
to generate multiple hash functions by using some random key.
Instead of using minutiae triplets, they use k-plets where ðk 43Þ ‘‘–’’ means not reported in their papers.
and j number of hash functions ðj okÞ, thereby ensuring one way
property of hash. Their method is able to produce cancelable
template by using different key for the choice of the hash around 4.53% under 36-dimensional vicinity feature vector using
functions. To verify their algorithm, they have used FVC2002- DRP II (Dynamic Random Projection function II) method. The
DB2 database. By using combination of hash functions they complexity to invert the protected template to the geometrically
achieve EER as 5.03% for 4-plets and 4.98% for 5-plets. They have aligned vicinity feature vector is more than 2108 , which implies
also provided a security analysis for their scheme. For m hash the security strength against irreversibility is more than 108 bits.
function combination, and average ‘c’ k-plets a total of mc possible All the three papers mentioned above use FVC2002-DB2a data-
hash functions need to be tried to break the system. In this base to verify their schemes.
scenario, the entropy of the system will be In [13], Ahmad et al. propose a registration-free cancelable
fingerprint template generation scheme. The EER as reported in
H ¼ log2 ðmc Þ ¼ cnlog2 ðmÞ bits ð18Þ
their paper is 9% and 6% using transformed templates on
Now for 4-plets, i.e., k¼4, mmax ¼ 3. Average number of minutiae FVC2002-DB1 and FVC2002-DB2 databases respectively. If the
points in FVC2002-DB2a are 40. The authors have not clearly transformed template is compromised, the attacker has to make
mentioned a way to select the minutiae k-plets. The number of at least mnlog2 ðSmÞ attempts to detect the original minutiae,
k-plets should not be very large to maintain less memory where m, S, m are the total number of minutiae points, total
requirement and computational complexity. Probability of colli- number of sectors and the modulo for randomizing minutiae
sion between different users also increases with relatively large distance respectively. Due to lack of information about the value
number of k-plets. On the other hand, if the number of minutiae of m in their paper, we cannot calculate the security strength
k-plets are too few, the matching of the hashes from query and against brute force attack in terms of bits.
template one will no longer be in global sense. In addition, it may Table 4 summarizes the results of comparison in terms of EER
increase false negative cases. It is acceptable that number of and security measure. In summary, though the performance of
minutiae k-plets are O(L), where L is the total number of minutiae proposed MDG_CSA2A by using FVC2002-DB1 database is slightly
in the image. Hence for minutiae 4-plets the security strength is lower than [6], the potential security strength is much better. It is
of 40nlog2 ð3Þ  64 bits. Similarly, for minutiae 5-plets, i.e., k ¼5, also obvious from Table 4 that our MDG_CSA2B approach
mmax ¼ 4, and security is of 40nlog2 ð4Þ ¼ 80 bits. outperforms all the other methods in both performance analysis
In [5], Yang et al. generate secure cancelable fingerprint and security measure. The matching efficiency of MDG_CSA2A
templates by keyed feature extraction and Bin-based Quantiza- method has degraded slightly as compared to [7–9] by using same
tion (BQ). They have extracted locally robust features and mapped FVC2002-DB2 database at the cost of increased strength against
them to the circles irreversibly. The security of this scheme brute force attack.
depends on the secret key size used for projection and to generate
cancelable template. Larger the key size, more difficult to invert to 8.5. Analysis of complexity and time requirement
the original set of features, hence more secure the system. The
lowest possible EER achieved by this method is 13% with the bin Time requirement of our hashing algorithm after successful
size ðN b Þ of 30. In [9], a minutiae-based geometric alignment minutiae detection can be divided into two stages: (i) computa-
scheme for template protection has been proposed, where the tion of MDG hash, T1 and (ii) finding the best matching pairs
average EER and the brute-force attack strength to restore the between the query and template hashes, T2. Therefore, the overall
original template are respectively 4.04% and 85 bits. To enhance complexity of the hash algorithm is T 1 þ T 2 .
the security under token-stolen case, [8] devised a non-linear For the first case, assume that there are L number of minutiae
dynamic random projection mechanism. This paper achieved EER in any image after post-processing. To compute MDG hash, total
P. Das et al. / Pattern Recognition 45 (2012) 3373–3388 3385

Table 5 We were inspired by the idea proposed in [4] to construct an


Time complexity in proposed Hashing algorithm. alignment-free cancelable fingerprint template using local minu-
tiae information around each minutia. The geometric relationship
Algo. Hash computation ðT 1 Þ CSA ðT 2 Þ Total ðT 1 þ T 2 Þ
(rotation and translation) between the registered and query
MDG_CSA2A OðL2 Þ OðL2 Þ OðL2 Þ template of same identity is preserved in their method for both
MDG_CSA2B OðL2 Þ OðL2 Þ OðL2 Þ the original and transformed case. Hence, the approach does not
require alignment of fingerprint images before transformation. In
our case, we are dealing with original minutiae positions to form
the MDG hash from a fingerprint image. If we are able to slightly
Table 6 perturb the location of each minutia by a user-defined key, and
Average CPU time.
try to compute MDG hash from those transformed minutiae, then
Algo. Core Minutiae detection Hash Matching Total we will end up having completely different hash function. The
detect and post-process (s) compute (s) (s) ability to vary the hash function with some random user-specific
(s) (s) key will allow users to re-enroll and cancel older compromised
template. Fig. 14 shows the overall block diagram of generating
MDG_CSA2A 3.870 2.775 0.005 0.050 6.700
MDG_CSA2B 3.870 2.775 0.005 0.067 6.717 cancelable template from the original minutia set. The way of
generating transformed minutia set from the original minutia set
extracted from the fingerprint after post-processing is same as
that mentioned in [4]. But they performed matching between
number of comparisons, C, can be expressed as query and reference template directly in transformed domain,
which may leak some sort of information about the original
C ¼ Lþ ðL1Þ þ ðL2Þ þ    þ ðLðL2ÞÞ þ ðLðL1ÞÞ
minutiae positions if the minutiae are not moved to a larger
LðLþ 1Þ L2 distance. That is why we perform our developed MDG hashing
¼ L2 ½1 þ2 þ 3    þ ðL1Þ ¼  ð19Þ
2 2 algorithm on the transformed minutia set and matching is done in
So, the complexity associated with the hash computation of both hash domain. The steps of minutiae transformation are briefly
query and template images after minutiae extraction is T 1 ¼ OðL2 Þ. discussed here.
Next we have to examine the complexity associated with CSA Step 1: Calculation of invariant value: The translation and
which is composed of CSA1 and CSA2. In implementation of CSA1, rotation invariant value, mi, is extracted for individual minutia
we have taken the elements of two distance vectors of template in an image after pre-processing using orientation information
and query as a group of three and compared with each other. For within a local region around each minutia and a user-specific
successive three elements of D2, total number of comparisons random vector, UPIN [4]. Different invariant values can be gener-
with the elements of D1 are 9. If the length of vector D2 is L2, total ated by controlling the random vector.
number of comparisons will be 9nbL2 =3c  3L2 , where bc indicates Step 2: Fingerprint changing functions: Let the original minutia
floor operation. In CSA2A and CSA2B, we start searching corre- set be represented as M i ¼ ½xi ,yi , yi ,t i  where i ¼ 1; 2, . . . L, and L
spondences between the elements of D1 and D2 individually not at being the total number of minutia in an image. ðxi ,yi Þ, yi and ti
a group of three. For each element in D2, total number of denote the position, orientation and the type of ith minutia
comparisons with D1 is 3 þ4 þ 4n4 ¼ 23. This is because, in Case respectively. The position of ith minutia is moved by a distance
1 of Algorithm 3, we have to execute three comparisons, Case LPIN ðmi Þ along the direction rotated by YPIN ðmi Þ from the orienta-
2 requires four comparisons, and Case 3 needs four comparisons tion of the original minutia yi , where mi is the invariant value as
for each value of x whose range is from 2 to 5. So, complexity in calculated in Step1. Here LPIN ðmi Þ and YPIN ðmi Þ are called as
CSA2A is 23L2 . Similarly instead of checking up to four minutiae distance changing function and orientation changing function
insertions/deletions, maximum of nine insertions are checked in respectively. Control points to calculate those changing functions
case of CSA2B, and the total complexity is ð3 þ 4 þ4n9ÞL2 ¼ 43L2 . are decided by two random number generators X and Y respec-
Therefore, MDG_CSA2A and MDG_CSA2B have time complexities tively governed by user-specific PIN, where X A ð½b,a [ ½a, bÞ
ð3þ 23ÞL2 ¼ 26L2 and ð3 þ 43ÞL2 ¼ 46L2 respectively. Furthermore, and Y A ð½Z,l [ ½l, ZÞ, and a, b are in pixels, Z, l are in degrees.
the experimental value of L2 or the minimum number of minutiae The value of LPIN ðmi Þ and YPIN ðmi Þ for each minutia are computed
in any image is  ð20230Þ. Hence the time complexity in both by linear interpolation between the control points. When a user’s
MDG_CSA2A and MDG_CSA2B is T 2 ¼ OðL22 Þ or OðL2 Þ as L2  L and transformed template is stolen, different transformed templates
is tabulated in Table 5.
All the methods and algorithms described above are imple-
mented using MATLAB V7.8.0 on Intel Centrino Duo 1.60 GHz
CPU. Average CPU time requirement during different stages of our
algorithm is enlisted in Table 6.

9. Cancelable biometric

Our algorithm for fingerprint hashing eliminates the possibi-


lity of an attacker guessing the original minutiae positions given
the core and MDG hash. The minimum distance graph hash is
unique for a set of minutiae points as it is based on the minimum
distance of the minutiae points starting from the core. Once the
hash function has been compromised, re-enrolling people with a
different hash function is not possible in our case. Thus we need
to expand our algorithm towards generating cancelable biometric
templates from the same set of minutiae. Fig. 14. Block diagram to generate cancelable template from minutiae.
3386 P. Das et al. / Pattern Recognition 45 (2012) 3373–3388

can be issued by replacing two changing functions ðLPIN , YPIN Þ GAR vs FAR in Proposed 1
which are generated from X and Y whose seed is a user’s PIN. 100
Step 3: Minutia movement: The transformation from the
original minutia set M i ¼ ½xi ,yi , yi ,t i  to transformed minutia set
c
M ci ¼ ½xci ,yci , yi ,t ci  is performed as follows: 95
xci ¼ xi þ LPIN ðmi Þ cos ðyi þ YPIN ðmi ÞÞ ð20Þ

yci ¼ yi þ LPIN ðmi Þ sin ðyi þ YPIN ðmi ÞÞ ð21Þ 90

GAR (%)
yci ¼ yi þ YPIN ðmi Þ ð22Þ
85
t ci ¼ t i ð23Þ

We mainly concentrate on transformed coordinate, xci and yci ,


during our MDG hashing algorithm as the algorithm is based on 80
case1
inter-minutia distance. When different impressions from the
case2
same user are captured, the relative distances and directions of case3
all the minutiae points with respect to the core point remain 75
0 10 20 30 40 50
same as that of first impression regardless of the degree of
rotational and translational distortion during capturing. There- FAR (%)
fore, the way of generating different set of hashes by changing the
GAR vs FAR in Proposed 2
user’s PIN does not require pre-alignment stage. 100
This method of generating cancelable template by using MDG
hash is evaluated by two criteria: (i) performance and (ii)
changeability. The experiments are conducted on FVC2002- 95
DB1a. To reduce the time requirement for matching, we have
chosen 30 fingers from the database, each having eight different
impressions.
90
GAR (%)

9.1. Performance analysis


85
In this experiment, we use the same PIN to calculate the
changing functions for both the genuine and imposter tests. We
measure the performance of this cancelable approach by varying
the values of the control parameters a, b, l and Z. The slopes of 80
case1
changing functions are proportional to the values of the control case2
parameters. Hence if the values of the control parameters are case3
increased, the corresponding minutiae having a small difference in 75
0 10 20 30 40 50
invariant values may be moved to very different positions. There-
FAR (%)
fore, the verification performance decreases (EER increases) as the
control parameters increase, as shown from Table 7 and Fig. 15. Fig. 15. ROC for Proposed 1 (MDG_CSA2A) and Proposed 2 (MDG_CSA2B) for
varying control parameters (case 1: l ¼ 5 and Z ¼ 10, case 2: l ¼ 10 and Z ¼ 15,
case 3: l ¼ 15 and Z ¼ 20 when a ¼ 5 and b ¼ 10).
9.2. Changeability

original version has a value within 5% when threshold value, t


The term changeability is used to indicate the dissimilarity
exceeds 0.4 for both methods.
between an original and its transformed template, and between
Case 2: Transformed templates versus transformed templates:
the two transformed templates from the same original
When a transformed template is compromised in a cancelable
fingerprint.
biometric authentication system, a new transformed template is
Case 1: Original versus transformed templates: To analyze the
generated. The new transformed template should be different
dissimilarity between the original and its transformed templates,
from the compromised template for protecting its invalid usage.
we conducted an experiment as follows. Taking a fingerprint
We analyze this situation by comparing multiple transformed
image, we have generated 30 different transformed templates by
templates from the same fingerprint generated by different
changing the user’s PIN. Then, we compare each transformed
changing functions governed by different PINs. The normalized
template with the same original template and calculate the
matching score is compared with the threshold value, and false
normalized matching score. Ideally the transformed templates
accept rates are shown in Fig. 17. The result shows that the FAR
should not match with the original one. Fig. 16 shows the False
between different transformed templates derived from the same
Accept Rate (FAR) with varying threshold value. From this figure
finger has a low value ð o 1:4%Þ when the threshold t exceeds
we can see that the FAR of the transformed templates with its
0.4 which means that the transformed templates are different and
cannot replace one another. Therefore, the same fingerprint can
Table 7
Performance of the transformed fingerprint templates (EER (%)) for ða, bÞ ¼ ð5; 10Þ. be enrolled in various applications using different PINs.
Different transformed templates generated by varying the user
Algorithm ðl, ZÞ ¼ ð0; 0Þ (0, 5) (5, 10) (10, 15) (15, 20) specific PIN are shown for three different users in Fig. 18. It is
clearly visible that each transformed template is completely
MDG_CSA2A 5.06 7.64 9.94 11.35 13.88
MDG_CSA2B 4.00 4.60 5.08 7.62 10.26
different from the original one. Moreover, any two transformed
templates derived from the same user by varying the user’s PIN
P. Das et al. / Pattern Recognition 45 (2012) 3373–3388 3387

Original vs Transform
90
Proposed 1
80 Proposed 2

70

60
FAR (%)

50

40

30

20

10

0
0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65
Threshold (t)

Fig. 16. FAR versus threshold, t, when matching is performed between the original
template and its different transformed templates generated by varying the key.
MDG_CSA2A and MDG_CSA2B respectively are referred to Proposed 1 and Fig. 18. Cancelable minimum distance graph based template generation: (a), (e),
Proposed 2 in this figure. (i) the original MDG templates, and (b)–(d), (f)–(h), (j)–(l) their transformed
templates respectively generated by varying the random number generators to
produce the changing functions, LPIN and YPIN .
Transform vs Transform
90
Proposed 1
80 Proposed 2 10. Conclusions

70 In this paper, we have presented a novel minimum distance


based fingerprint hashing algorithm that is invariant to rotation
60 and translation for secure authentication. The MDG hash function
is formed from the minutiae and core point. If a core point does
FAR (%)

50 not exist in an image, we use high curvature point as reference


point. The proposed algorithm has three fundamental parts:
40
(i) constructing MDG hash for both query and template image
30 that essentially reduces the template dimension, (ii) finding the
best matching pairs between the two MDGs by Correspondence
20 Search Algorithm (CSA) and (iii) introducing cancelability in the
MDG construction by applying the minutia perturbation model of
10 Lee et al. [4] in the hash-domain to protect the minimum
distances. We have taken care of maximum of four and nine
0
0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 minutiae insertions/deletions which respectively result in algo-
Threshold (t) rithms MDG_CSA2A and MDG_CSA2B.
Experiments on two public domain databases demonstrate
Fig. 17. FAR versus threshold, t, when matching is performed between different that our MDG_CSA2B has better matching efficiency as compared
transformed templates derived from the same fingerprint by varying the PIN. to MDG_CSA2A in case of FVC2002-DB1a. Performance with
MDG_CSA2A and MDG_CSA2B respectively are referred to Proposed 1 and
FVC2002-DB2a is slightly lower due to poor image quality
Proposed 2 in this figure.
specially near the core. Time complexity of the proposed algo-
rithms is OðL2 Þ, L being the number of minutiae in the foreground
are completely different from one another, which satisfy the region of the image after post-processing. Average CPU time
property of cancelability. requirement to compute hash function (0.005 s) and finding
The original minutia can be recovered from the transformed correspondence pairs (0.05 s) is low, and thus, can be used in
minutia if an attacker knows the invariant value, two changing real-time fingerprint authentication. Bulk of the time (6.645 s)
functions and the transformation method. Therefore, instead of was taken for pre-processing and feature extraction steps. We
directly performing matching between query and reference trans- have also presented an analysis of security strength, where we
formed templates, we do matching in hash domain which does not have demonstrated that the size of the hash space is 133 bits
leak any information about original minutiae positions. MDG hash (larger than most non-alignment based hashing schemes). Thus,
functions are generated with the help of extracted core point and the number of tries an adversary has to make in order to guess the
transformed minutia set in case of both query and reference actual minutiae positions is much higher in our case as compared
images. Finally, two minimum distance vectors are matched by to existing schemes.
CSA algorithm as discussed before. In this way, our MDG hashing The matching performance of our MDG_CSA2B is better than
algorithm constructed from the transformed templates not only the other existing schemes mentioned in Section 8.4 with an EER
allows users to reissue with new, completely different hash of 2.27% for database FVC2002-DB1a. Further we have discussed
functions when the original one was compromised but also with experimental support an approach to cancel and reissue
enhances the security against brute force attack than that of [4]. biometric template from the same set of minutiae and core point.
3388 P. Das et al. / Pattern Recognition 45 (2012) 3373–3388

Different hash values can be generated by replacing the two [9] B. Yang, C. Busch, Parameterized geometric alignment for minutiae-based
changing functions LPIN ðmi Þ and YPIN ðmi Þ from the same original fingerprint template protection, in: Proceedings of the IEEE 3rd International
Conference on Biometrics: Theory, Applications and Systems (BTAS 09), 2009.
biometric. Different changing functions can be generated by [10] C. Lee, J. Kim, Cancelable fingerprint templates using minutiae-based bit-
changing the user’s PIN. Our method does not make any assump- strings, Journal of Network and Computer Applications 33 (2010) 236–246.
tion regarding pre-alignment. Thus, in contrast to other existing [11] Z. Jin, A.B.J. Teoh, T.S. Ong, C. Tee, A revocable fingerprint template for
methods, our method can offer an excellent balance between security and privacy preserving, KSII Transactions on Internet and Informa-
tion Systems 4 (December) (2010) 1327–1340.
better performance, high security and low computational com- [12] F. Farooq, R.M. Bolle, T.-Y. Jea, N. Ratha, Anonymous and revocable fingerprint
plexity in the field of fingerprint authentication. recognition, in: International Conference on Computer Vision and Pattern
Our future target is to set up a more practical partial finger- Recognition, 2007, pp. 1–7.
print matching strategy where information about the core point [13] T. Ahmad, J. Hu, S.Wang, Pair-polar coordinate-based cancelable fingerprint
templates, Journal on Pattern Recognition 44 (October) (2011) 2555–2564.
as well as high curvature point is unavailable. [14] K. Nandakumar, A.K. Jain, S. Pankanti, Fingerprint-based fuzzy vault: imple-
mentation and performance, IEEE Transactions on Information Forensics and
References Security 2 (December) (2007) 744–757.
[15] A. Nagar, K. Nandakumar, A.K. Jain, A hybrid biometric cryptosystem for
securing fingerprint minutiae templates, Pattern Recognition Letters 31
[1] Y. Sutcu, H.T. Sencar, N. Memon, A secure biometric authentication scheme (June) (2010) 733–741.
based on robust hashing, in: Proceedings of the 7th Workshop on Multimedia [16] E. Liu, H. Zhao, J. Liang, L. Pang, M. Xie, H. Chen, Y. Li, P. Li, J. Tian, A key
and Security, August 2005, pp. 111–116. binding system based on n-nearest minutiae structure of fingerprint, Pattern
[2] N.I. Ratha, V.D. Pandit, Robust fingerprint authentication using local Recognition Letters 32 (April) (2011) 666–675.
structural similarity, in: Applications of Computer Vision, 2000, Fifth IEEE [17] L. Hong, Y. Wan, A. Jain, Fingerprint image enhancement: algorithm and
Workshop, 2000, pp. 29–34. performance evaluation, IEEE Transactions on Pattern Analysis and Machine
[3] N.K. Ratha, S. Chikkerur, J.H. Connell, R.M. Bolle, Generating cancelable
Intelligence 20 (August) (1998) 777–789.
fingerprint templates, IEEE Transactions on Pattern Analysis and Machine
[18] M. Kaur, M. Singh, A. Girdhar, P.S. Sandhu, Fingerprint verification system
Intelligence 29 (April) (2007) 561–572.
using minutiae extraction technique, World Academy of Science, Engineering
[4] C. Lee, J.-Y. Choi, K.-A. Toh, S. Lee, J. Kim, Alignment-free cancelable
and Technology (2008) 497–502.
fingerprint templates based on local minutiae information, IEEE Transactions
[19] M.S. Khalil, D. Muhammad, M.K. Khan, K. Alghathbar, Singular points
on Systems, Man, and Cybernetics 37 (2007) 980–992.
[5] H. Yang, X. Jiang, A.C. Kot, Generating secure cancelable fingerprint templates detection using fingerprint orientation field reliability, International Journal
using local and global features, Journal of Computer Science and Information of Physical Sciences 5 (2010) 352–357.
Technology (2009) 645–649. [20] B.M. Mehtre, Fingerprint image analysis for automatic identification,
[6] S. Tulyakov, F. Farooq, P. Mansukhani, V. Govindaraju, Symmetric hash Machine Vision and Applications 6 (1993) 124–139.
functions for secure fingerprint biometric systems, Pattern Recognition [21] M. Tico, P. Kuosmanen, An algorithm for fingerprint image postprocessing, in:
Letters 28 (December) (2007) 2427–2436. Proceedings of the Thirty-Fourth Asilomar Conference on Signals, Systems
[7] G. Kumar, S. Tulyakov, V. Govindaraju, Combination of symmetric hash and Computers, vol. 2, 2000, pp. 1735–1739.
functions for secure fingerprint matching, in: 2010 International Conference [22] D. Maltoni, D. Maio, A.K. Jain, Handbook of Fingerprint Recognition, Springer,
on Pattern Recognition, August 2010, pp. 890–893. Berlin, 2009.
[8] B. Yang, D. Hartung, K. Simoens, C. Busch, Dynamic random projection for [23] P. Li, X. Yang, K. Cao, X. Tao, R. Wang, J. Tian, An alignment-free fingerprint
biometric template protection, in: Proceedings of the IEEE 4th International cryptosystem based on fuzzy vault scheme, Journal of Network and Compu-
Conference on Biometrics: Theory, Applications and Systems (BTAS10), ter Applications 33 (2010) 207–220.
November 2010, pp. 1–7.

Priyanka Das received B.Sc.(Hons.) degree in Physics from Burdwan University, West Bengal, India in 2006 and the B.Tech in Radio Physics and Electronics in 2009 from
the University of Calcutta. Currently she is pursuing her M.Tech degree in Digital Signal processing from Indian Institute of Technology Guwahati.

Kannan Karthik received Ph.D. degree from University of Toronto in 2006. Currently he is an Assistant Professor in the Department of Electronics and Electrical
Engineering, Indian Institute of Technology Guwahati. His research interests are in exploring new problems in the field of Multimedia Security and using signal processing
models to characterize its solutions.

Boul Chandra Garai received B.Sc.(Hons.) degree in Physics from Visva-Bharati University, West Bengal, India in 2005 and the B.Tech in Radio Physics and Electronics
in 2009 from the University of Calcutta. Currently he is working in ISRO Satellite Centre Bangalore as a scientist in the Hybrid Micro-circuit Division.

Das könnte Ihnen auch gefallen