using ECG signals from MIT-BIH database. ... importance due to the actual security concerns in .... complement Hamming d
A Wavelet-Based 128-bit Key Generator Using Electrocardiogram Signals H. A. Garcia-Baleon, V. Alarcon-Aquino, O. Starostenko Department of Computing, Electronics, and Mechatronics Universidad de las Américas Puebla Cholula, Puebla, México CP 72820 Email:{hectora.garciabn,vicente.alarcon}@udlap.mx envelope functions for the compression algorithm reported. The work reported in this paper bases its work on the idea of uniqueness and quasi-stationary characteristics of ECG signals (see e.g. [6]). The rest of the paper is organized as follows. The proposed key generator is described in Section 2. In Section 3, we present the proposed algorithm for the 128-bit key generation once a successfully verification has taken place. In Section 4, the full process is shown using ECG signal samples from the MIT-BIH database [8]. Finally, conclusions and future work are reported in Section 5.
Abstract In this paper, we present a wavelet-based 128-bit key generator using electrocardiogram (ECG) signals. The key generator comprises two independent stages, namely, enrollment and verification-generation. In the latter, an algorithm for determining the keys is also proposed. This work is based on the uniqueness and quasi- stationary behavior of ECG signals with respect to an individual. This lets to consider the ECG signal as a biometric characteristic and guarantees that different keys are released to different individuals. The performance of the proposed key generator is assessed using ECG signals from MIT-BIH database. Simulation results show a false accept rate (FAR) of 22.3% and a false reject rate (FRR) of 18.1%. The 128-bit key released by the generator proposed in this work can be used in several encryption algorithms.
2. Proposed Key Generator The proposed key generator has the main purpose of releasing a 128-bit key generated on the fly. Firstly, a group of samples from different ECG signals needs to be enrolled into our centralized database. Secondly, an ECG sample needs to be matched against the records stored in the centralized database. If there is a match in this verification stage, the 128-bit key is computed and released. The key generator comprises two independent stages, namely, enrollment and verification-generation. The enrollment stage consists of the following steps: 1) To take one sample of an ECG signal (forced-choicerange). The range of this ECG sample considers the maximum points (R-R) of two QRS complex neighbors. Figure 1 shows two QRS complex of ECG signal. The ECG sample is delimited by the maximum values of each one that occurs in R for both. The quasi-periodic characteristic of the ECG signals assures that the forced-choice-range ECG sample randomly selected as explained here is a representative sample of any other sample also randomly selected from the ECG signal. 2) To adjust the length of the sample. The previous step generates ECG samples with 75-120 samples. The length of the ECG sample needs to be adjusted to 128 samples due to the fact that we use the discrete wavelet transform (DWT) that requires an input vector of 2n samples, where n=1,2,3…. Other wavelet transforms that support any sample size may
1. Introduction Biometrics and cryptography are two potentially complementary security technologies. The former guarantees the identification of individuals based on measuring their personal unique features with a high degree of assurance, whereas the latter mainly assures a high degree of trust in the transactions of information through the communications networks [5]. The idea of combining biometrics with cryptography has taken more importance due to the actual security concerns in communication networks. The first practical system that integrates the iris biometrics into cryptographic applications is reported in [5]. A system that works using audio fingerprint is proposed in [1, 2]. This system works with the waveprint system which is based on wavelet theory. The use of the electrocardiogram (ECG) signals is widely spread. However, most of the research done in this area is focused on heart disease detection. Several compression and denoising algorithms have been proposed using the ECG signals [3, 4, 6]. In [3] is suggested a method to create personal signatures and
978-1-4244-4480-9/09/$25.00 ©2009 IEEE
644
also be considered, e.g, the maximal overlap discrete wavelet transform [11].
9) To compute and release the 128-bit key using the proposed algorithm reported in this paper (see Section 3). Figure 2 shows the results that relates the complement Hamming distance coefficients at different security factors using different types of wavelets. The complement Hamming distance coefficients are those coefficients that match from both stored and acquired sample. The security factor is the quantization level applied to the ECG signals to generate the coefficients to be matched. This factor plays a crucial role in the verification stage and impacts directly the false accept rate (FAR) and the false reject rate (FRR). After performing several experiments, it was determined that the best suitable value for the security factor was 0.172. Figure 2 also shows the best performance on the relation complement Hamming distance and the security factor for different types of wavelets. The selection of using the wavelet symlet8 was done after testing several wavelets, namely, Haar, db2-db10, coif 2-5, and sym2-sym8 [9], [11]. The perpendicular lines intersect each other in the point where the established security factor and the average of complement Hamming distance coefficients match. The best performance at this point is given by the sym8.
Figure 1. R-R sample of an ECG signal (forced-choicerange).
3) To perform the first-level decomposition of the ECG signal using the wavelet symlet8. The selection of this wavelet function is based on the reduced value of the mean square error (MSE) obtained from the denoising experiments performed over our signal of interest. The results and the wavelet function selection match with those reported in [6]. Also, the analysis performed using the wavelet symlet8 allows to obtain the best complement Hamming distance value at the selected security factor (more on this later). 4) To store the forced-choice-range sample into the centralized database. In the verification-generation stage, the first three steps are similar to the enrollment stage described above. The rest of the steps are as follows: 4) To quantize the approximation coefficients using the selected security factor (more on this later). 5) To compute the complement Hamming distance of the sample. 6) To compare the computed complement Hamming distance of the previous step with the complement Hamming distance of each ECG sample stored into the centralized database. 7) To maintain the matched sample from the centralized database whether a match took place. The minimum complement Hamming distance that considers a match must be between 28 and 34 when the ECG sample is 77 samples length. The values for a 120 samples length must be between 46 and 52. The minimum complement Hamming distance for other input vectors length can be computed by extrapolation. The sample used in the verification stage can be discarded as well. 8) To extract the coefficients that match (complement Hamming distance coefficients) from both samples to create the basis vector for the next step.
Figure 2. Best performance of the relation complement Hamming distances-security factor for several types of wavelets; Haar (solid line), db8 (dashed line), coif6 (dotted line), sym8 (dash-dot line).
3. Key Generation Algorithm Once the verification stage has been performed, a basis vector is created. The algorithm reported in this paper will then lead to the generation of the 128-bit key. The algorithm consists of the following steps: 1) To adjust, if necessary, the length of the basis vector to 28 coefficients. The elimination of the coefficients is performed in three sections: left, center, and right section of the basis vector. The elimination needs to be symmetric with respect to the coefficients of the
645
center. These sections were selected due to the fact that the most left and right coefficients present important inconsistencies between the different ECG samples tested. These inconsistencies (less degree) can also be seen in the center coefficients when several ECG samples were tested. 2) To create a 32 coefficient vector from the 28 coefficient vector we use the following [10]:
values of the output vector will be limited from 0 to 4. Performing three times the steps 4 and 5 assure both more variety of values in the final key and limited the values of the final key in the range 0 to F. 7) To add these three temporal keys to obtain the final 128-bit key.
4. Simulation Results
n n n n n n 2 ,1,2,K , 2 − 1, 2 ,1, n, 2 + 1, 2 + 2,K , n − 1, n, 2 + 1
The key generator and the algorithm for determining the key have been discussed in the last two sections. In this section, a full illustration of these algorithms is reported. The enrollment stage will be omitted because it can be understood from the verification stage. To illustrate the performance of our 128-bit key generator we have used the MIT-BIH Normal Sinus Rhythm Database [8]. The complete test made include all the available records in this database (18 records in total). Each record offers around 60,000 samples of that ECG signal. Our approach only uses 75-120 samples in the verification stage. Then, we have around 780 samples to be possible verified per ECG signal. The verification stage considers one sample stored in the database and one sample chosen randomly from the 780 possible samples. The verification is summarized in Figure 3. The 28 coefficients-minimum cumulative complement Hamming distance is reached after testing 33 out of 39 samples of both ECG samples for this example.
where n=28. This is derived using the concept of symmetric-padding (half-point) -boundary value symmetric replication- used in the problem of handling the border distortion in signals [10]. The concept is also used for setting the signal or image extension mode for discrete wavelet and for wavelet packet transforms. Considering the vector of the previous step: [1, 2, 3, 4, …, 26, 27, 28] The new vector will be arranged as follows: [14, 1, 2, …, 13, 14,1,28,15,16, …, 27, 28,15] 3) To convert each coefficient to its 4-bit representation. The resultant vector length is 128-bit. 4) To apply a XOR function based on Manchester coding method over the vector obtained in the last step for avoiding long blocks of repeated bits. The XOR function is performed between the vector of the last step and the vector made of 0s and 1s interposed each other beginning with 0. 5) To permute the 128-bit vector obtained in the step-4 according to Table 1 to obtain a temporal key [7]. Table 1 Permutation Table Vector Position
Vector Position
1
!
114
98
82
66
50
34
18 2
"
9
!
116 100
84
68
52
36
20 4
" 16
17 !
118 102
86
70
54
38
22 6
" 24
25 !
120 104
88
72
56
40
24 8
" 32
33 !
122 106
90
74
58
42
26 10
" 40
41 !
124 108
92
76
60
44
28 12
" 48
49 !
126 110
94
78
62
46
30 14
" 56
57 !
128 112
96
80
64
48
32 16
" 64
65 !
113
97
81
65
49
33
17 1
" 72
73 !
115
99
83
67
51
35
19 3
" 80
81 !
117 101
84
69
53
37
21 5
" 88
89 !
119 103
87
71
55
39
23 7
" 96
96 !
121 105
89
73
57
41
25 9
" 104
105 !
123 107
91
74
59
43
27 11
" 112
113 !
125 109
93
77
61
45
29 13
" 120
121 !
127 111
95
79
63
47
31 15
" 128
8
Figure 3. Verification Stage. ECG sample stored in the centralized database (upper plot). ECG sample selected randomly to be verified against the sample stored in the centralized database (middle plot). Cumulative number of complement Hamming distance coefficients (lower plot).
A basis vector is generated once the verification stage has finished successfully. This basis vector is obtained after doing the step 1 of the key generation algorithm described previously. The rest of the steps are detailed as follows:
6) To repeat two more times steps 4 and 5. After concluding these two iterations, three temporal key are generated. One property of steps 4 and 5 is that independently of the values of the input vector, the
646
Consider the following vector as a basis vector:
correction technique was not implemented. The 128-bit key generator reported in this paper is not limited to work with ECG signals. Its use can be easily extended to other types of signals, for example, audio signals. Regarding the future work, it is necessary to avoid storing a sample in the centralized database because this could lead to security concerns. Then, we propose to add several error-correction techniques like Hadamard and Reed-Solomon codes that produce a vector from which the biometric information cannot be derived. This vector can be saved in any portable device and the derivation function can be easily changed in case of being necessary. Such vector cannot also be released or derived unless the true biometric is presented.
-3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -2 -1
Step 2) -1 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -3 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -2 -1 -1
Step 3) FDEEEFFFFFFFFFFDFFFFFFFF00FFFEFF
Step 4) and 5) (first time) 10111020000100013434243344344443
Step 4) and 5) (second time) 22040404221404124030304041403041
Step 4) and 5) (third time) 04024042030441303032041240310304
Step 7) 3617546625194543A4965885C5A57788
6. References
(128-bit key)
[1] Covell Michelle, Baluja Shumeet, “Known-Audio Detection using Waveprint: Spectrogram Fingerprinting by Wavelet Hashing”, ICASSP 2007, page(s): I-237-I-240, 2007. [2] Covell Michelle, Baluja Shumeet, “Audio Fingerprinting: Combining Computer Vision & Data Stream Processing”, ICASSP 2007, page(s): II-213-II-216, 2007. [3] Yarman B.S., Gürkan H., Güz Ü., Aygün B., “A Novel Method to represent ECG Signals via predefined Personalized Signature and Envelope Functions”, Proceedings of the International Symposium on Circuits and Systems, 2004 ISCAS, Vol. 4, Issue, 23-26 May 2004. [4] Sana Ktata, Kaïs Ouni, Noureddine Ellouze, “A Novel Compression Algorithm for Electrocardiogram Signals based on Wavelet Transform and SPIHT”, International Journal of Signal Processing, 5(3), 2009. [5] Hao Feng, Anderson Ross, Daugman John, “Combining Cryptography with Biometrics Effectively”, Computer Laboratory, University of Cambridge, Technical Report No. 640, UCAM-CL-TR-640, July 2005. [6] Chouakri S.A., Bereksi-Reguig F., Ahmaidi S., Fokapu O., “Wavelet denoising of the electrocardiogram signal based on the corrupted noise estimation”, Univ. Djillali Liabes, Sidi Bel Abbes, Computers in Cardiology, 2005, pp. 1021-1024. [7] Brown Lawrence, Seberry Jennifer, “On the design of permutation P in DES type cryptosystems”, Proceedings of the workshop on the theory and application of cryptographic techniques on Advances in cryptology, Springer-Verlag 1990, pages: 696 – 705. [8] Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh, Mark RG, Mietus JE, Moody GB, Peng CK, Stanley HE. PhysioBank, PhysioToolkit, and PhysioNet: Components of a New Research Resource for Complex Physiologic Signals. Circulation 101(23):e215-e220 http://circ.ahajournals.org/cgi/content/full/101/23/e215;2000. [9] J. S. Walker, “A Primer on Wavelets and Their Scientific Applications”, Second Edition, Chapman & Hall/CRC 2008. [10] Strang, G.; T. Nguyen, Wavelets and Filter Banks, Wellesley- Cambridge Press, 1996. [11] V. Alarcon-Aquino, J. A. Barria, Change Detection in Time Series Using The Maximal Overlap Discrete Wavelet Transform, Latin American Applied Research, Vol. 39, No. 2, April 2009. pp. 145-152
This example clearly illustrates how the 128-bit key generator and the key generator algorithm work. The same process was followed to test most of the randomly selected samples of the ECG signal. In general, the experiments performed in this work are detailed as follows: - One sample out of the 780 possible samples of an ECG signal is selected randomly to be stored in the centralized database. This is done for the 18 ECG records. The centralized database then has 18 samples. - One sample out of the rest of possible samples of an ECG signal is selected randomly and matched against the 18 samples stored in the centralized database. This is done 1000 times to calculate the FAR and FRR. The FAR obtained in this work is 22.3% because 223 out of 1000 samples were accepted as authentic when they were not. Also, the FRR obtained is 18.1% because 181 out of 1000 samples were rejected even when they represented accurately the sample stored in the centralized database.
5. Conclusions and Future work In this paper, we have presented a full 128-bit key generator based on ECG signals. Both the key generator and the key algorithm are easy for both understanding and implementing. The example also shows that the basis vector has several equal coefficients; after computing the key, the resulting 128-bit key does not save any relation with the basis vector. It was established a value for the security factor based on several experiments that lead to the best performance. The selection of the wavelet function among different types is based on the best performance in both denoising algorithms and the number of complement Hamming distance coefficients. The FAR and FRR obtained in this work are high compared to those reported in [5] where the FAR is less than 1%; however, in this paper an error
647