Title: Symmetric hash functions for fingerprint minutiae
1Symmetric hash functions for fingerprint minutiae
- S. Tulyakov, F. Farooq and V. Govindaraju
- Center for Unified Biometrics and Sensors
- SUNY at Buffalo, New York, USA
2Securing password information
It is impossible to learn the original password
given stored hash value of it.
3Securing fingerprint information
Wish to use similar functions for fingerprint
data
4Obstacles in finding fingerprint hash functions
Fingerprint space
Hash space
f1
h(f1)
h
f2
h(f2)
- Since match algorithm will work with the values
of hash functions, - similar fingerprints should have similar hash
values - rotation and translation of original image
should not have big impact on hash values - partial fingerprints should be matched
5Existing Approaches
- Davida, Frankel, Matt (1998)
- - use error correcting codes, features should be
ordered - Biometric encryption (Soutar et al., 1998)
- - use filters for Fourier transform of
fingerprint image - - translation is accounted for, but not rotation
(example of such filters for face verification)
6Existing Approaches
- Ratha, Connell, Bolle (2001)
- - polynomial transform need alignment.
- Juels, Sudan (2002)
- - map points to the values of error correcting
codes , introduce variation by adding some other
points. - Follow-ups
- Clancy et al, 2003
- Uludag, Jain (2004)
7Minutia points of the fingerprint
Minutia points - points where ridge structure
changes end of the ridge and branching of the
ridge. The positions of minutia points uniquely
identifies the fingerprint.
8Assumptions on minutiae sets extracted from the
same finger
Assume that two fingerprints originating from one
finger differ by scale and rotation. Thus the set
of minutia points of one fingerprint image can be
obtained from the set of minutia points of
another fingerprint image by scaling and rotating.
9Background on complex numbers(1)
Point in 2-dimensional plane can be represented
as a complex number
( is an element satisfying )
Adding complex number to all points
in the complex plane results in a
parallel shift of the plane by vector
10Background on complex numbers (2)
Polar representation of complex numbers
Denote - magnitude of
Then
11Background on complex numbers (3)
Multiplying all points in the complex plane
by some complex number
results in a rotation around origin by
angle and scaling by factor
12Transformation of minutiae set
If we represent minutia points as points on a
complex plane, then scaling and rotation can be
expressed by function
where is the complex number
determining rotation and scaling, and is the
complex number determining translation of minutia
point.
Multiplying by r means rotating by angle and
scaling by factor .
13Transformation function
If is a set of minutia
points of first fingerprint and
is a set of minutia points of second
fingerprint (same finger), then we assume that
there is a transformation
such that for any
.
14Hash functions of minutia points
Consider following functions of minutia positions
The values of these symmetric functions do not
depend on the order of minutia points.
15Hash functions of transformed minutiae
What happens with hash functions if minutia point
set is transformed?
16Finding transformation parameters from hash
function values
Thus can be
expressed as a linear combinations of
with
coefficients depending on transformation
parameters r and t.
Denote
Thus
And r,t can be calculated given
17Verifying fingerprint match using hash functions
When and are found we can use higher
order hash functions to check if fingerprints
match. For example, if extracted minutia set is
identical to the stored in the database, then for
the hash function of third order we should get
The difference between two parts of above
equation can serve as a confidence measure for
matching two sets of minutia points.
18Practical considerations for matching localized
hash values
- Since direction of the minutia (direction of the
ridge where minutia is located) is also important
in fingerprint matching, we consider unit
direction vectors and same hash functions of that
vectors (associating direction vector with
complex number) - The small changes in locations of minutia
points result in big changes of symmetric
functions of higher orders. Thus we limited
ourselves to the symmetric functions of 1st and
2nd orders.
19Matching Localized Subsets
- Since it is rare that two fingerprint images
contain exactly same minutia points, we consider
subsets of minutia points. - To ensure privacy we must have less symmetric
functions than points in the minutia subset. - Consider two subsets of 3 minutiae points 2
functions - The dist function provides a goodness of match
between the subsets
20Goodness of Match
- For all local subsets find how many subsets
are matched and whether values of and are
similar. - For each minutiae point, find the 3 nearest
neighbors and form 3 triplets that always include
the initial minutia.
21Fingerprint Matching Algorithm(1)
- Enrollment
- For each triplet generated let (c1,c2,c3) and
(d1,d2,d3) be the locations and directions of the
minutia - Compute hash functions
- h1 (c1 c2 c3)/3
- g1 (d1 d2 d3)/3
- h2 (c12 c22 c32)/3
- g2 (d12 d22 d32)/3
- 3. Store 4 values (h1, h2, g1, and g2)
corresponding to each triplet in the database.
22Fingerprint Matching Algorithm
- Matching
- Compute hash functions (h1, h2, g1, and g2)
for all local triplets in the test fingerprint - For each pair of local hash value sets find the
distance of match - Note that t can be derived from the match between
h and h and establishing the pivot. For a given
t, search several quantized r
23Experimental results
Co.3 3 pts and 2 hash fns ERR 3 Original
no-hash matching ERR 1.7 Co.2 3 pts and 1
hash fn Co.1 2 points and 1 hash fn
tested on FVC2002 set, with 2800 genuine tests
and 4950 impostor tests
24Algorithm limitations
- Different local minutia sets can have same hash
value sets. Thus the expected performance of the
algorithm is lower than the performance of the
matching algorithm using all available
fingerprint information. - Usually there are less matching hash values than
matching minutiae. This means bigger difficulty
in producing good match score, and setting match
thresholds.
25Thank you !
- References
- Davide Maltoni, Dario Maio, Anil K. Jain and
Salil Prabhakar, Handbook of Fingerprint
Recognition, Springer-Verlag, New York, 2003 - Colin Soutar, Danny Roberge, Alex Stoianov, Rene
Gilroy and B.V.K. Vijaya Kumar, Biometric
Encryption, in ICSA Guide to Cryptography,
R.Nichols, ed. (McGraw-Hill, 1999) - G.I. Davida, Y. Frankel, and B.J. Matt. On
enabling secure applications through offline
biometric identification. In IEEE Symposium on
Privacy and Security, 1998. - Tsai-Yang Jea, Viraj S. Chavan, Venu Govindaraju
and John K. Schneider, Security and matching of
partial fingerprint recognition systems, In SPIE
Defense and Security Symposium, 2004.
26Security
- If the number of stored hash functions is
less than the number of minutia points, it is not
possible to find the positions of minutia points
from local hash values. - Using system of hash equations is difficult,
since it is not known which minutia correspond to
particular hash value.
27Cancelable Fingerprint Templates
- If fingerprint database is compromised, the
different set of symmetric hash functions should
be chosen. It can be any function set,
constituting a basis in the set of symmetric
polynomial functions of order less than -
- Also, different set of hash functions can be
chosen for each individual, resulting in
cancelable fingerprint templates.