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