vector extraction

advertisement
The 13th International Arab Conference on Information Technology ACITˈ2012 Dec.10-13
1812-0857: ISSN
Fuzzy Bio-Cryptography Key Generation
Hanaa M. A. Salman
Computer Science Department, University of Technology, Iraq
Abstract: Strength of Cryptographic systems security depends mainly upon the security of the used key, which is leads to
generate big key space that is result in forget them easily. One solution to this problem is by using Bio-Cryptography key
generation. Bio-Cryptography is the integration between cryptography and biometrics that can function in key release mode or
in key generation mode. Insipid of the sensed biometric means the result feature vector for the same person is varies each time.
This paper addresses solution for various types of security problems by introducing a fuzzy bio-cryptography key generation in
a general form consist of: 1. sensor, 2. feature extraction, 3. Key generator. The key is generating dynamically with the help of
fingerprint based cubic spline, which is fast and secure. This key is useable for any type of cryptography.
Keywords: Bio-Cryptography Fingerprint Fuzzy Cubic Spline Key Generation
Received September 4, 2002; accepted May 13, 2003
1. Introduction
The incapability of human users to remember strong
cryptographic keys has been main factor limiting the
security of these systems. Usually users can remember
only short passwords. Consequently they tend to choose
passwords that are easily guessed by dictionary attacks.
This constraint could be deal with in a wide range
of applications by generating strong cryptographic keys
from biometric data, perhaps in conjunction with the
entry of a password. The effectiveness of this approach
lies in the fact that they do not require the user to
remember and can represent a much stronger keys from
passwords. These keys could then be used in a wide
variety of applications, which include access to virtual
private
networks,
file
encryption, and
user
authentication.
Bio-cryptography integrates cryptography and
biometrics to take advantage of the strengths of both
fields. Bio-cryptographic techniques protected secret
key by using biometric feature or generating a key from
biometric features. In such systems, some public
information is stored. Both the secret key and the
templates are hidden in public information. However, it
is computationally impossible to extract the key or the
templates from the public information directly. There
are two subcategories of bio-cryptographic techniques
[1] as depicted in Figure (1), these are:
1. Key binding: If public information derived
from binding the secret key or templates, it is
key binding, see [2, 3], and
2. Key generation: If public information
generated from templates only, while the secret
key comes from the public information, and
query it is key generation see [4, 5, and 6].
538
Key generation modes is more secure but it is difficult
to apply because of large intra-class variations in
biometric data due to absorb the differences inherent in
the measurement of biometric or biometric themselves,
while generating the same key over and over again.
Generally, it requires a technique designed for
particular biometrics used.
This paper presents a fuzzy bio-cryptographic key
generation, by using biometric fingerprint local feature.
The fuzzy key generation achieved after applying two
stages fuzzy feature extraction followed by cubic spline
key generation. Fuzzy feature extraction stage achieved
by applying fuzzy pre-processing for the input
fingerprint, minutiae extraction, and post processing,
the key generation stage is achieved by applying cubic
spline followed by key generation .All the
implementation work has been done in MATLAB. The
developed system is evaluated on a database with
fingerprints from different people.
(a): key release and
(b): key generation
Figure 1(a-b). two modes of combining biometrics with
cryptography:(a): key release and (b): key generation [7].
We extract the minutiae points from the offline
fingerprint image and used that set of points for
generating bio-cryptographic key. The database
provided by FVC2004 (Fingerprint Verification
Competition 2004) [9], is used as a source to the input
fingerprint, so no acquisition stage is used. The major
steps involved in each phase are presented in the
following sub sections.
2. Fingerprint Principals
The surface of the finger formed so-called a fingerprint,
which is formed of set of associated curves represents
ridges (dark curves) and the valleys (bright curves), as
depicted in Figure (2).
The points on the finger surface where the ridges
end or bifurcate formed so-called the Minutiae, as
depicted in Figure (3), which is most common, and
distinctive representation, from fingerprint local feature
for each individual.
3.1 Biometric Phase
The input is fingerprint image passes in three main
steps, for each step has other sub steps to form a
biometric feature vector. The sub steps involved in each
step are in the following sub section and these are [9]:
1. Pre-processing:
a. Histogram Equalization
b. Image Binarization
c. Image Segmentation
2. Minutiae extraction:
a. Image Thinning
b. Minutiae Extraction
c. Singularity Detection
3. Post processing:
a. False minutiae Reduction
(a) Ending
(b) Bifurcation
Figure 3 (a-b). The Ridge [8]
3. Bio-Cryptography Key Generation
Biometric based cryptographic key generation
transform biometric features to a unique key that it is
impossible to be regenerate from biometric features by
imposters. The general framework of the BioCryptographic key generation is composed of two
phases as depicted in Figure (4).
3.1.1 Fingerprint Image pre-processing
a: Histogram Equalization
The first step in the minutiae extraction stage is
fingerprint image enhancement, which it increases the
contrast between ridges and furrows and connects the
some of the false broken points of ridges due to
insufficient amount of ink or poor quality of sensor
input [10]. In this paper, a fuzzy image enhancement is
used as presented in algorithm (1) [8], followed by the
results as depicted in Figure (5).
Algorithm (1): Fuzzy Image Enhancement
Input: fingerprint image
Output: enhanced fingerprint image.
Process:
Step1: Taking image and set membership function for each
gray level as:
Step1.1: Where L=max gray level
Step 1.2: f (x, y) = any gray level.
Step 1.3: s =variance between gray values
Step2: Get new membership function by putting:
Step2.1: v (x, y) = 2* (µ(x, y)) 2 if µ (x, y) ≤0.5
Step 2.2: v (x, y) = 1-2* (1 - µ (x, y)) 2 if 0.5≤ µ(x, y) ≤1
Step3: Get new image by setting the method as:
Figure 2. Fingerprint image [1] [8]
Sensed Image
Biometric Phase
Key Generation Phase
Bio-cryptographic key
g(x,y)=L-s√−2log(v(x, y))
Figure 4. Bio-cryptographic key generation
Step4: End
The input to the biometric phase is the sensed
image, and the output is the biometric feature vector,
while the input to the key generation phase is the
biometric feature vector, and the output is the biocryptographic key.
539
Algorithm (2): Block Direction Estimation
Input: Binarize fingerprint image
Output: Direction map fingerprint image.
Process:
Step1: Taking Calculate the gradient values along x-direction
(gx) and y-direction (g y ) for each pixel of the block. Two
Sobel filters are used to fulfill the task.
Step2: Get For each block, use following formula to get the
Least Square approximation of the block direction [10]
𝟐 ∑ ∑(𝐠 𝐱 βˆ™ 𝐠 𝐲 )
𝐭𝐚𝐧 πŸπ›ƒ =
∑ ∑ 𝐠𝟐𝐱 𝐠 𝟐𝐲
Figure 5. Simple Fingerprint before and After Fuzzy Filter
Histogram Equalization
b: Binarization
Image Binarization is a process, which transforms the
8-bit Gray image to a 1-bit image with 0-value for
ridges and 1-value for furrows. After the operation,
ridges in the fingerprint are highlight with black color
while furrows are white. A locally adaptive binarization
method is performed to binarize the in gerprint image.
In this method image is divide into blocks of 16 x 16
pixels. A pixel value is then set to 1 if its value is larger
than the mean intensity value of the current block to
which the pixel belongs
Figure (6) [10].
The formula is easy to understand by regarding gradient
values along x-direction and y-direction as cosine value and
sine value. So the tangent value of the block direction is
estimated nearly the same as the way illustrated by the
following formula [10].
𝐭𝐚𝐧 πŸπ›ƒ =
𝐬𝐒𝐧 𝛉 𝐜𝐨𝐬 𝛉
𝐬𝐒𝐧 π›‰πŸ −𝐜𝐨𝐬 π›‰πŸ
Step3: After finished with the estimation of each block
direction, those blocks without significant information on
ridges and furrows are discarded based on the following
formula as [10]:
𝟐
∈=
𝟐 ∑ ∑(𝐠 𝐱 βˆ™ 𝐠 𝐲 ) + ∑ ∑(𝐠𝐱 − 𝐠 𝟐𝐲 )
𝟐
𝐖 βˆ™ 𝐖 βˆ™ ∑ ∑(𝐠𝐱 + 𝐠 𝟐𝐲 )
For each block, if its certainty level E is below a threshold,
then the block is regarded as a background block. The
direction map is shown in Figure (7).
Step4: End.
Figure 6. Fingerprint before and after binarization [10]
Image Segmentation
In general, only a Region of Interest (ROI) is useful to
be recognized for each fingerprint image. The image
area without effective ridges and furrows is first
discarded because it only holds background
information. Then the bound of the remaining effective
area is sketched out because the minutiae in the bound
region are confusing with those spurious minutiae that
are generated when the ridges are out of the sensor. To
extract the region of interest, two steps are followed:
Block Direction Estimation as depicted in Figure (7)
and ROI extraction by Morphological methods as
depicted in Figure (8) [10].
a:Binarize image
b:Direction map image
Figure 7(a-b). Direction map image
ROI Extraction by Morphological operations
ROI extraction is done using two Morphological
operations called OPEN and CLOSE. The OPEN
operation can expand images and remove peaks
introduced by background noise. The 'CLOSE'
operation can shrink images and eliminate small
cavities [10].
Block direction estimation
Here the fingerprint image is divided into blocks of size
16 x 16 pixels (W x W), after which the block direction
of each block is calculated according to the algorithm
(2) [10]:
540
Minutiae Marking
The concept of Crossing Number (CN) is used for
minutiae marking as depicted in Figure (10). We
compute the number of one-value of each 3x3 window
where minutiae points are essentially the endings and
bifurcations of the ridge lines that constitutes a
fingerprint. This is the vital part of the minutiae
extraction of the fingerprint image where the end point
and bifurcation point will be determined [10].
Figure 8. Fingerprint ROI
Figure (8) depicts the ROI of the fingerprint, which is
the bound area after subtraction of the closed area from
the opened area. Then the leftmost, rightmost,
uppermost and bottommost blocks out of the bound
area are discarded [10].
Figure 10. Binary number indicating the minutiae point [10]
3.1.3 Post processing
False Minutiae Removal
At this stage seven types of false minutia points are
removed using algorithm 3, Figure (11) depicted the
false minutia structures, Figure (12) depicted spurious
minutiae remove [10].
Figure 11. False minutia structures [10]
Algorithm (3): False minutiae remove
Input: Thinning fingerprint image
Output: Minutia pointes
Process:
Step 1: calculate inter ridge distance D
𝑫 = π’‚π’—π’†π’“π’‚π’ˆπ’† (𝑰𝒏𝒕𝒆𝒓 π’“π’Šπ’…π’ˆπ’† π’…π’Šπ’”π’•π’‚π’π’„π’†(
π’”π’–π’Ž 𝒂𝒍𝒍 π’‘π’Šπ’™π’†π’π’” π’Šπ’ π’“π’‚π’˜ π’˜π’‰π’π’”π’† 𝒗𝒂𝒍𝒖𝒆 π’Šπ’” 𝒐𝒏𝒆
))
π’“π’‚π’˜ π’π’†π’π’ˆπ’•π’‰
3.1.2 Minutiae Points Extraction
(a) Ridges Thinning
We eliminate the redundant pixels of ridges until the
ridges are just one pixel wide. This is done using the
MATLAB's built in morphological thinning function.
Bwmorph(binaryImage,'thin',Inf) The thinned image is
then filtered, again using MATLAB's three
morphological functions to remove some H breaks,
isolated points and spikes (See Figure 9), these are
bwmorph(binaryImage,'hbreak',k),
bwmorph(binaryImage,'clean',k)
,bwmorph(binaryImage,'spur',k) [10]
Step 2: label all thinned ridges in the fingerprint image
with a unique ID for further operation using a
MATLAB morphological operation BWLABEL.
Step 3: Remove Minutia points if it meet one of the
bellow conditions
Step 3-1: If d (bifurcation, termination) < D & the two
minutia’s are in the same ridge then remove both of them
(case m1).
Step 3-2: If d (bifurcation, bifurcation) < D & the two
minutia’s are in the same ridge them remove both of them
(case m2, m3).
Step 3-3: If d (termination, termination) = D & the their
directions are coincident with a small angle variation & no
any other termination is located between the two
terminations then remove both of them (case m4, m5,
m6).
Step 3-4: If d (termination, termination) < D & the two
minutiae are in the same ridge then remove both of them
(case m7).
tep4: End.
a: Binarize image
b: Thinning image
Figure 9(a-b). Thinning image
541
Algorithm(4): Fuzzy Bio-Cryptographic Key Generation
Input: fingerprint image
Output: Key Generation
Process
Step 1: for each input grayscale fingerprint image apply
the following steps
Step 1.1: Apply fuzzy minute feature vector extraction
Step 1.2: Find pixel value of minute feature vector over
the fingerprint image, Table (3)
Step 1.3: Save (y-axis, pixel value) to file name
fingerprint, Table (4)
Step 2: Apply fuzzy cubic spline for the file name
fingerprint vector elements [11]
Step 3: save control point of the fuzzy cubic spline as the
generated key
Step 4: End.
(a): Image before
(b): Image after
Figure 12(a-b). Spurious minutiae remove [10]
3.2 Key Generation Phase
Finally, after extracting valid minutia points from the
fingerprint they need to be stored in some form of
representation common for both ridge ending and
bifurcation, so each minutia is completely characterized
by the following parameters [10]:
a. x-coordinate,
b. y-coordinate,
c. orientation and
d. ridge associated with it
Actually, a bifurcation can be broken down to three
terminations each having their own x-y coordinates
(pixel adjacent to the bifurcating pixel), orientation and
an associated ridge. The orientation of each termination
(tx, ty) is estimated by following method. Track a ridge
segment who’s starting point is the termination and
length is D. Sum up all x-coordinates of points in the
ridge segment. Divide above summation with D to get
sx. Then get sy using the same way. Get the direction
from [10]:
Sy −ty
tan−1 S
x −tx
Table (1): Termination Points of fingerprint image
X position
112.0000
208.0000
50.0000
177.0000
39.0000
157.0000
image
x
146
114
52
126
169
96
79
178
77
160
90
119
The approach is to transform each set according to its
own reference minutia and then do match in a unified
x-y coordinate [10].
Let M (x, y,θ) be reference minutia found. For each
fingerprint, translate and rotate all other minutiae (xi,
yi, θi) with respect to the M according to the following
formula [10]:
−π’”π’Šπ’ 𝜽
𝒄𝒐𝒔 𝜽
𝟎
Orientation
3.1416
-1.3191
0.1326
2.4585
0.0286
-2.3816
Table (2): Bifurcation Points of fingerprint
,……………………………...(1)
𝒄𝒐𝒔 𝜽
𝑻𝑴 = (π’”π’Šπ’ 𝜽
𝟎
Y position
77.0000
34.0000
54.0000
73.0000
55.0000
239.0000
y
13
98
105
115
136
137
145
149
153
159
167
174
Angle1
2.3562
0
-2.3562
-2.3562
-2.3562
0
2.6180
-2.6180
-2.6180
0
2.3562
2.3562
Angel2
0
0
1.5708
1.5708
2.0944
0
-1.0472
1.5708
2.0944
0
-2.3562
-2.0944
Angle3
0
-0.7854
-1.0472
-0.7854
0
0.5236
-0.7854
0
0
0.5236
0
0
Table (3): Correspond pixels value
X
146
114
52
126
169
96
79
178
77
160
90
119
𝟎
𝟎) , … … … … … … … . (𝟐)
𝟏
Where (x, y, θ) are the parameters of the reference
minutia, and TM is [10]:
xi − new
(xi − x)
( yi − new ) = TM [ (yi − y) ] , … … … (3)
θi − new
(θi − θ)
The new coordinate system is originated at reference
minutia M and the new x-axis is coincident with the
direction of minutia M. [10]. Table (1), Table (2)
depicted the result minutia. Table (3) is the
corresponding pixels value. Table (4) is the contents of
fingerprint file. Algorithm (4) is the Bio-Cryptographic
Key Generation is presented.
y
13
98
105
115
136
137
145
149
153
159
167
174
Angle1
2.3562
0
-2.3562
-2.3562
-2.3562
0
2.6180
-2.6180
-2.6180
0
2.3562
2.3562
Angel2
0
0
1.5708
1.5708
2.0944
0
-1.0472
1.5708
2.0944
0
-2.3562
-2.0944
Angle3
0
-0.7854
-1.0472
-0.7854
0
0.5236
-0.7854
0
0
0.5236
0
0
Pixel value
47
185
23
46
18
178
48
50
6
163
68
151
Table (4): Contents of fingerprint file
y
13
98
105
115
136
137
145
149
153
159
167
174
542
Pixel value
47
185
23
46
18
178
48
50
6
163
68
151
[6] Y. Dodis, R. Ostrovsky, L. Reyzin, A. Smith: Fuzzy
Extractors: How to Generate Strong Keys from
Biometrics and Other Noisy Data, Technical
Report 235, Cryptology ePrint Archive (February
2006)
[7] G Margarov, M Tolba, Biometrics based secret
sharing using fuzzy vault. 7th Int Conf on
Computer Science and Information Technologies
(CSIT'09) (2009)
[8] Pravesh Kumar “Use of Fuzzy Set and Neural
Network to Extract Fingerprint. Minutiae Points
and Location”, thesis, 2009
http://dspace.thapar.edu:8080/dspace/handle/10266/842
[9] http://bias.csr.unibo.it/fvc2004
[10] kushal veer singh, application of neural networks
in fingerprint identification,2010,thesis
[11] Maria Cristina Floreno, Giovanni Novelli,
Implementing fuzzy polynomial interpolation
(FPI) and fuzzy linear regression (LFR)
http://www.dmi.unict.it/ojs/index.php/lematematiche/ar
ticle/view/426
7. Conclusion
1. In this paper we have considered the fuzzy biocryptographic key generation. We have
demonstrated the solution to the primary
difficulty of variations inherent in measuring
biometrics, or in the biometrics themselves,
while generating the same key over and over
again, which faced the most effective approach
from the security point of view initialled biocryptographic key generation, which represents
the most effective solution to the difficulty
remembering the user's secret key.
2. We have proposed the fuzzy filter concept to
overcome the difficulty of intra classes
vibration. We have extracted the content based
minutiae features using three main stage fuzzy
filter pre-processing minutia extractions, postpre-processing. We have generated the key by
using locations in the fingerprint image of the
content based feature vector of the fingerprint
locale feature, and then we have used the Fuzzy
cubic spline to draw carved. The control
pointes of the Fuzzy cubic spline are sending as
a key generation.
3. This approach has eliminated the variations in
intra classes variations inherent in measuring
biometrics, or in the biometrics themselves,
which result in capability of generating the
same key over and over again.
Acknowledgements
The author’s would like to thank the International Arab
Conference on Information Technology, and CCIS,
Zarqa University, Jordan for supporting this publication.
References
[1] Peter Stavroulakis, Mark Stamp: Handbook of
Information and Communication Security.
Springer 2010, ISBN 978-3-642-04116-7
[2] A. Juels, M. Wallenberg: A Fuzzy Commitment
Scheme, Proc. 6th ACM Conference on Computer
and Communications Security, Singapore (1999)
pp. 28-36
[3] A. Juels, M. Sudan: A Fuzzy Vault Scheme, Proc.
IEEE Int. Symposium on Information Theory,
Lau-sanne (2002) p. 408
[4] Y.-J. Chang, W. Zhang, T. Chen: Biometrics Based
Cryptographic Key Generation, Proc. IEEE
Conference on Multimedia and Expo, Taipei, Vol.
3 (2001) pp. 2203-2206
[5] C. Vielhauer, R. Stcinmctz, A. Maycrhofcr:
Biomctric Hash Based on Statistical Features of
Online Signatures, Proc. 16th Int. Conference on
Pattern Recognition, Quebec, Vol. 1 (2002) pp.
123-126
Associate Prof. Dr. Hanaa
M. A. Salman awarded her
MSc and her PhD from
University of technology
Iraq
in
2002,
2006
respectively. Currently she
is a senior lecturer in
computer science and a
member of the scientific
Committee and Promotion
Committee in the Department of Computer
Science. Dr. Hanaa has more than 15 years of
experience and she supervise of graduate students
and preliminary,her research interests include
Cryptography, Computer Security, Biometrics,
image processing, and Computer graphics.
Prof. Dr. Hilal Hadi Saleh
awarded his PhD in
Information system from
Higher Institute in Sofia,
Bulgaria
in
1981.
Currently he is a senior
lecturer
in
computer
science Department of
Computer Science. Dr.
Hilal has more than 40
years of experience and he
supervise of graduate students and preliminary,his
research
interests
include
Cryptography,
information system, image processing, and
Computer graphics,sstatistics.
543
Download