fingerprint hash
TRANSCRIPT
-
8/6/2019 Fingerprint Hash
1/27
Symmetric hash functions for
fingerprint minutiae
S. Tulyakov, F. Farooq and V. Govindaraju
Center for Unified Biometrics and Sensors
SUNY at Buffalo, New York, USA
-
8/6/2019 Fingerprint Hash
2/27
Securing password information
It is impossible to learn the original password given stored
hash value of it.
-
8/6/2019 Fingerprint Hash
3/27
Securing fingerprint informationWish to use similar functions for fingerprint data:
-
8/6/2019 Fingerprint Hash
4/27
Obstacles in finding fingerprint hashfunctions
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
Fingerprint space Hash space
hf1
f2h(f1)
h(f2)
-
8/6/2019 Fingerprint Hash
5/27
Existing 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)
-
8/6/2019 Fingerprint Hash
6/27
-
8/6/2019 Fingerprint Hash
7/27
Minutia points of the fingerprint
Minutia points - points where
ridge structure changes: end
of the ridge and branching ofthe ridge.
The positions of minutia
points uniquely identifies the
fingerprint.
-
8/6/2019 Fingerprint Hash
8/27
Assumptions on minutiae setsextracted 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.
-
8/6/2019 Fingerprint Hash
9/27
Background on complex
numb
ers(1)
ibyax )()(
Point in 2-dimensional plane can be represented as a complex
number: ( is an element satisfying )yixyx pn),( i 12 !i
Adding complex number to all points in the
complex plane results in a parallel shift of the plane by vector
bia yix
),( ba
yix
ibyax
biayix
)()(
)()(
!
-
8/6/2019 Fingerprint Hash
10/27
Background on complex
numb
ers (2)Polar representation of complex numbers:
!! iyx
y
yx
xyxyixz
2222
22
N
||z
yixz!
y
x
Denote - magnitude of22 yxz ! z
Then )sin(cos UU iziz
y
z
xzz !
!
-
8/6/2019 Fingerprint Hash
11/27
Background on complex
numb
ers (3)Multiplying all points in the complex plane by some complex
number results in a rotation around origin
by angle and scaling by factor
z
)sin(cos NN irr !N || r
))sin()(cos(||||
))sincoscos(sinsinsincos(cos||||
)sinsinsincoscossincos(cos||||
)sin(cos||)sin(cos||
2
NUNU
UNUNUNUN
UNUNUNUN
UUNN
!
!
!
v!v
izr
izr
iiizr
izirzr
-
8/6/2019 Fingerprint Hash
12/27
Transformation of minutiae setIf 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.
trzzf !)(
N||z
|||| rz v
z
rzt
rz
t
)sin(cos|| NN irr !
Multiplying by r means
rotating by angle and
scaling by factor .
N
|| r
rt
-
8/6/2019 Fingerprint Hash
13/27
Transformation 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 .
trzzf !)(
),,,( 21 nccc -),,,( 21 nccc ddd -
trccfc iii !!d )(
ni -,1!
trzzf !)(
-
8/6/2019 Fingerprint Hash
14/27
Hash functions of minutia points
Consider following functions of minutia positions:
m
n
mm
nm
nn
nn
cccccch
cccccch
cccccch
!
!
!
--
/
--
--
2121
22
2
2
1212
21211
),,,(
),,,(
),,,(
The values of these symmetric functions do not depend on
the order of minutia points.
-
8/6/2019 Fingerprint Hash
15/27
Hash functions of transformed minutiae
What happens with hash functions if minutia point set is transformed?
ntcccrhntcccr
trct
rct
rc
cccccch
nn
n
nn
!!
!
ddd!ddd
),,,()()()()(
),,,(
21121
21
21211
--
-
--
2
211212
2
2
21
22
2
2
1
2
22
2
2
1
22
2
2
1212
),,,(2),,,(
)(2)(
)()()(
),,,(
ntcccrthccchr
ntcccrtcccr
trctrctrc
cccccch
nn
nn
n
nn
!
!
!
ddd!ddd
--
--
-
--
-
8/6/2019 Fingerprint Hash
16/27
Finding transformation parameters from hash
function values
Thus can be expressed as a linear
combinations of with coefficients
depending on transformation parameters r and t.
),,,( 21 ni ccch ddd -ijccch
nj e),,,,( 21 -
Denote:
),,,( 21 nii ccchh ddd!d -
),,,( 21 nii ccchh -!
ntrhh !d 112
12
2
2 2 ntrthhrh !d
Thus
And r,t can be calculated given 2121 ,,, hhhhdd
-
8/6/2019 Fingerprint Hash
17/27
Verifying 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:3
1
2
2
2
3
3
3 33 nthrtthrhrh !d
The difference between two parts of above equation can serve
as a confidence measure for matching two sets of minutia
points.
r t
-
8/6/2019 Fingerprint Hash
18/27
Practical 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 bigchanges of symmetric functions of higher orders. Thus we limited
ourselves to the symmetric functions of 1st and 2nd orders.
i
n
ii
ni ddddddg ! -- 2121 ),,,(
-
8/6/2019 Fingerprint Hash
19/27
Matching Localized SubsetsSince it is rare that two fingerprint images contain exactly sameminutia 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 distfunction provides a goodness of match between thesubsets
-
8/6/2019 Fingerprint Hash
20/27
Goodness ofMatch
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.
r t
|2|
||
|2|
||),,,,,(
2
12
2
24
113
2
12
2
22
111
ntrtggrg
ntrgg
ntrthhrh
ntrhhtrgghhdist iiii
d
d
d
d!dd
E
E
E
E
-
8/6/2019 Fingerprint Hash
21/27
Fingerprint Matching Algorithm(1)
Enrollment:1. For each triplet generated let (c1,c2,c3) and (d1,d2,d3) be
the locations and directions of the minutia
2. Compute hash functionsh1 = (c1 + c2 + c3)/3
g1 = (d1 + d2 + d3)/3h2 = (c1
2 + c22 + c3
2)/3
g2 = (d12
+ d22
+ d32
)/3
3. Store 4 values (h1, h2, g1, and g2) corresponding to eachtriplet in the database.
-
8/6/2019 Fingerprint Hash
22/27
Fingerprint Matching Algorithm Matching:
1. Compute hash functions (h1, h2, g1, and g2) for alllocal triplets in the test fingerprint
2. For each pair of local hash value sets find the distanceof match
3. Note that tcan be derived from the match between hand h and establishing the pivot. For a given t,search several quantized r
|2|
||
|2|
||),,,,,(
212
224
113
2
12
2
22
111
ntrtggrg
ntrgg
ntrthhrh
ntrhhtrgghhdist iiii
d
d
d
d!dd
E
E
E
E
-
8/6/2019 Fingerprint Hash
23/27
Experimental results
0
2 0
4 0
6 0
8 0
10 0
0 2 4 6 8 10 12
F a l se P o si t i v e
P la in M at c h ing Co. 1 Co. 2 Co. 3
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 testsand 4950 impostor tests
-
8/6/2019 Fingerprint Hash
24/27
Algorithm 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.
1c
2c
3c
1cd 2cd
3cd
1h1hd3 matching minutiae
can result in only one
matching hash pair
-
8/6/2019 Fingerprint Hash
25/27
Thank you !References
1. Davide Maltoni, Dario Maio,Anil K. Jain and Salil
Prabhakar, Handbook of FingerprintRecognition, Springer-
Verlag, New York, 20032. 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)
3. G.I. Davida, Y. Frankel, and B.J. Matt. On enabling secure
applications through offline biometric identification. InIEEESymposium on Privacy andSecurity, 1998.
4. Tsai-Yang Jea, Viraj S. Chavan, Venu Govindaraju and John
K. Schneider, Security and matching of partial fingerprint
recognition systems, In SPIEDefense andSecurity
Symposium, 2004.
-
8/6/2019 Fingerprint Hash
26/27
Security
If the number of stored hash functions is less thanthe number of minutia points, it is not possible to find thepositions of minutia points from local hash values.
Using system of hash equations is difficult, since it is notknown which minutia correspond to particular hash value.
ih
jc
x
ox x
x
ox
o
x
x
x o
x
x
oxx
x
o
x
x
(a) (b)
(c)
-
8/6/2019 Fingerprint Hash
27/27