Keywords

1 Introduction

Authentication plays an important role to identify or authenticate any user. Authentication is primarily based on what user knows (e.g., password, PIN, etc.) or what user has (e.g., token, chip card, etc.) which can be disclosed, stolen, forgotten or lost. Biometric authentication is a secure way to authenticate any user since it is related to the uniqueness of what a user is, i.e. the physiological or behavioral characteristics of a user (e.g., finger print, iris, face image, handwriting etc.). Though biometric traits are unique and secure, unimodal biometric authentications that uses single biometric trait have some limitations [1, 8]. It is vulnerable to spoof attacks, noise in sensed data, distinctiveness, nonuniversality etc. One way to overcome the limitation is using more than one biometric traits of a user. In this paper we propose a secure and privacy preserving biometric authentication scheme which uses more than one biometric trait that are, face image and finger print using watermarking technique.

Watermarking is a technique to embed specific data in a digital content. Watermarking scheme has enormous diversity. It can be categorized [911] based on embedding domain (Spatial domain, Transform domain, Feature domain), watermarking host signal (video signal, audio signal, IC design, etc.), availability of original signal during extraction (blind, semi–blind, non–blind) etc. The watermarking technique is advantageous because, to embed the watermark into the original data this technique does not create any separate file to store authentication information. Besides all the advantages of the watermarking technique, any modification on the embedded data can be manipulated easily. Therefore one important requirement of the watermark technique is to make it almost unrecognizable and robust so that watermark cannot be removed or modified by any attack.

To make the biometric watermarking technique more secure, encryption based privacy preserving techniques can be applied. Though watermarked biometrics is difficult to steal or forge but it is not secure when attacked by any determined attacker [2]. Few watermarking techniques (e.g., fragile, robust) becomes invalid or detectable if a slight modification or some image processing operations such as image scaling, cropping, bending is done on the watermarked image. As any individual’s biometric features are unique therefore these biometric features should not be compromised or disclosed under any circumstances to any adversary. In this proposal we focus on the privacy preserving secure biometric watermarking scheme for authentication purpose. We preserve the privacy of users’ watermarked biometrics using cryptography. To overcome the vulnerability of biometric authentications and to protect the privacy of user’s watermarked biometrics, we use biometric authentication in conjunction with digital watermarking and cryptography. We embed the fingerprint on facial image as watermark to improve the security of user authentication and to achieve the privacy of users’ biometric traits we encrypt the watermarked biometric before user verification.

The rest of the paper is organized as follows. In Sect. 2 we discuss about the existing related work. We describe the problem statement and preliminaries in Sects. 3 and 4 respectively. In Sect. 5 we explain the proposed solution. We discuss the system analysis and experimental analysis in Sects. 6 and 7 respectively. In Sect. 8 we give the conclusion.

2 Related Work

To authenticate the identity of any user biometric authentication is one of the most trustworthy techniques as it involves verification of users’ biometric traits. Biometric authentication systems authenticate any user based on their physical traits, such as, fingerprint, face image, iris, signature etc. which are unique. Different biometric authentication mechanism has been used extensively in various domains. In [3] the authors proposed a framework for three – factor authentication scheme in a distributed system. A template protecting biometric authentication scheme to fingerprint data has been implemented in [4]. In this finger print based authentication mechanism the authors have presented an algorithm which identifies the reliable components of Gabor filtered fingerprint and applies quantization to make a binary representation of the fingerprint. Noise correction has been applied on the quantized binary representation. A multimodal biometric authentication scheme for adapting score–level fusion functions based on quality measures has been proposed in [5]. In [6] a novel and efficient facial image representation based on local binary pattern (LBP) has been proposed which extracts the LBP feature distributions by dividing the face image into several regions and concatenates them into an enhanced feature vector to be used as a face descriptor. Instead of using two different biometric traits a personal identification scheme using palm print and hand geometry which can be acquired from the same image has been proposed in [7]. The authors have integrated the hand geometry on the palm print to improve the performance of the verification system.

Ample of biometric watermarking techniques has been proposed. In [9] the authors proposed a semi – blind biometric watermarking scheme using both watermarking technique and face image recognition. The face features are embedded in the non-overlapping blocks of host image using Singular Value Decomposition (SVD). A robust hybrid biometric watermarking approach for offline handwritten signature has been proposed in [10]. The authors amalgamate the lifting wavelet transform (LWT) and SVD to make the biometric watermarking technique robust. In [11] a watermarking scheme in spatial domain for color image using SVD technique has been introduced. Three dimensions of color iris images are used to embed into color face image to make the technique robust and reliable. An image ownership and tampering authentication scheme based on watermarking techniques has been proposed in [12]. The watermarking technique is used here to detect the malicious manipulation over embedded images and to protect the rightful ownership. In [13] the authors proposed an efficient and secure encryption scheme to transmit the biometric data over unsecured data channel. An asymmetric watermarking technique has been proposed in [18]. In [19] a layered architecture for watermarking technique has been proposed which provides security by using cryptography primitive on top of the watermarking algorithm.

3 Problem Statement

In this paper, we verify the authentication of a user in a privacy preserving secure manner using user’s biometrics, watermarking scheme and cryptography. The problem can be framed formally as follows. There are \( n \) number of users \( U_{1} , U_{2} , \ldots ., U_{i} , \ldots , U_{n} \) and a server \( S \) which holds a database \( D_{fv} \) with all users’ encrypted watermarked feature vector \( WSDB_{fv} \). Given a user \( U_{i} 's \) biometrics, i.e., face image \( \left( { I } \right) \) and fingerprint \( ( F) \), the user’s face image \( 'I' \) will be watermarked with fingerprint \( 'F' \) and will be denoted as \( WB_{fv} . \) The Euclidean distance \( \partial \) between the user’s encrypted watermarked feature vector\( WB_{fv} \) and the encrypted watermarked feature vectors \( WSDB_{fv} \) , in \( D_{fv} \) decides the user’s authentication (Eq. 1).

$$ \partial (E\left( {WB_{fv} } \right),E\left( {WSDB_{fv} } \right)) \le \tau \ldots \ldots $$
(1)

\( \tau \) denotes the threshold value and if \( \partial \le \tau, \) the algorithm determines that user is an authentic one.

4 Preliminaries

4.1 Homomorphic Encryption

In this paper we calculate the Euclidean distance between two cipher texts and to do that we use homomorphic property based encryption scheme. Homomorphic encryption technique allows specific types of arithmetic computations on cipher text and when decrypted the plaintext matches with the result of arithmetic operations on plaintexts without seemingly inherent loss of the encryption. In ring theory, homomorphism is a mapping \( \varphi:R \to S \) that respects both addition and multiplication. Therefore,

$$ \forall x, y \in R, \,\,\,\,\, \varphi \left( {x + y} \right) = \varphi \left( x \right) + \varphi \left( y \right) \,\,and\;\; \varphi \left( {xy} \right) = \varphi \left( x \right) \;\varphi (y) $$

The homomorphic encryption which preserves a single operation such as addition or multiplication is known as partially homomorphic encryption and those which preserves both of the addition and multiplication is known as fully homomorphic encryption. For example, RSA and ElGamal [14, 15] supports the multiplicative homomorphic property, i.e., if \( E\left( x \right) \) denotes the ciphertext of plain text \( x \) then according to multiplicative homomorphism,

$$ E\left( {x_{1} } \right) \cdot E\left( {x_{2} } \right) = E(x_{1} \cdot x_{2} ) $$

Whereas the additive homomorphic property of Paillier cryptosystem [16] denotes that,

$$ E\left( {x_{1} } \right) \cdot E\left( {x_{2} } \right) = E(x_{1} + x_{2} ) $$

4.2 Singular Value Decomposition

In Linear Algebra, Singular Value Decomposition [17] is a factorization technique of a real or complex matrix. In signal processing SVD has been used in applications, e.g., watermarking, noise reduction, image compression, etc. According to SVD theorem any rectangular matrix A of \( {\text{m }} \times {\text{n }} \) dimension can be decomposed into the product of three matrices: an orthogonal matrix \( {\text{U}} \) of size \( {\text{m }} \times {\text{m}} \), a diagonal matrix \( {\text{S}} \) of size \( {\text{m }} \times {\text{n}} \) and the transpose of a orthogonal matrix \( {\text{V}} \) of size\( {\text{n }} \times {\text{n}} \).

$$ {\text{A}}_{{{\text{m}} \times {\text{n}}}} = {\text{U}}_{{{\text{m}} \times {\text{m}}}} {\text{S}}_{{{\text{m}} \times {\text{n}}}} {\text{V}}_{{{\text{n}} \times {\text{n}}}} $$

The original matrix can be obtained by multiplying \( {\text{U}}, {\text{S}}, {\text{V}}^{\text{T}} \).

$$ {\text{A}} = {\text{U}}_{{{\text{m}} \times {\text{m}}}} {\text{S}}_{{{\text{m}} \times {\text{n}}}} {\text{V}}_{{{\text{n}} \times {\text{n}}}}^{\text{T}} $$

SVD based watermarking techniques can be categorized into many categories [9], such as, by modification right/left singular vectors of the host images, modification of all singular vectors, hybrid transformation techniques which combines SVD with other transformations(DWT, DFT, DCT, etc.), etc.

5 Proposed Solution

We propose a solution for privacy preserving secure biometric authentication scheme using watermarking technique in this paper. We consider two biometric traits, face image \( \left( { I } \right) \) and fingerprint \( ( F) \) for biometric watermarking authentication purpose and extract the feature vectors from both of these biometrics. To make the entire authentication procedure secure we perform some specific transformations on the real biometric feature vectors instead of using the original biometric feature vectors. The reason behind distorting the feature vectors is to make the authentication more secure. So even if any adversary manages to get the water marked feature vector, they will not be able to get the transformed matrices to be worked on. Since nowadays anyone’s face image can be captured by any adversary we will watermark the transformed face image with transformed finger print image to make it more secure. We use linear transformation, i.e., rotation on the actual feature vectors and denote it as transformed feature vector afterwards in this paper. We watermark the transformed feature vector of face image \( (TSI) \) with transformed feature vector of fingerprint \( (TSF) \) using SVD based watermarking technique. On the watermarked biometric we perform all the further computation for authentication. The watermarked feature vector is stored in the server to authenticate any user. To preserve the privacy of user’s watermarked biometrics we encrypt the watermarked biometrics using homomorphic encryption scheme at both the server end and user end. A user is authenticated by calculating the Euclidean distance between the encrypted watermarked biometric provided from user end and the encrypted watermarked biometric from server end. Since Euclidean distance between cipher texts will be calculated we use one of the homomorphic encryption techniques as it allows computation on cipher texts. The distance less than some threshold value \( \tau \) indicates that the user is an authenticate one. The overall flow of the entire authentication procedure is given in Fig. 1 below.

Fig. 1.
figure 1

Overall flow of the authentication mechanism

5.1 Algorithm

In this section we describe the algorithm (Algorithm 1) for the proposed solution. At first the feature vectors of user’s face image and finger print will be extracted. The feature vectors will be distorted using some linear transformation, e.g., rotation (Algorithm 1 line 4–5). To watermark the transformed face image, \( RI_{fv} \) with transformed finger print, \( RF_{fv} \) we use SVD based watermarking technique [21] (Algorithm 1 line 6). The rest of the computations will be performed on watermarked feature vector \( WB_{fv} \).

We use the ElGamal encryption scheme to encrypt the watermarked feature vector\( WB_{fv} \). Algorithm 1 at the user end computes \( E(g^{{WB_{fv} [i,j]}} ) \) and \( E(g^{{WB_{fv} [i,j]^{2} )}} ) \) and sends them to the server (line 7–10). The server has the watermarked transformed feature vector for all users beforehand. To check the authentication the server computes the Euclidean distance between the encrypted feature vectors \( WSDB_{fv} \) and \( WB_{fv} \) for a particular user (Algorithm 1 line 11). The server computes

$$ C = \mathop \prod \limits_{i,j = 1}^{m,n} E(g^{{WB_{fv} ([i,j]^{2} )}} )E(g^{{WB_{fv} [i,j]}} )^{{ - 2(WSDB_{fv} \left[ {i,j} \right]}} E(g^{{WSDB_{fv} [i,j]^{2} }} )$$

which is the Euclidean distance between the encrypted feature vectors. The decrypted Euclidean distance \( D\left( C \right) = \partial \le \tau \) denotes that the user is an authenticate one.

6 System Analysis

In this section we analyze the proposed solution in terms of correctness, privacy and performance.

6.1 Correctness Analysis

To proof the correctness of Algorithm 1 it should be proved that server and the user computes the Euclidean distance without knowing the plain text of the feature vectors. The line number 13 of Algorithm 1 can be proved by the homomorphic property of ElGamal algorithm. Figure 2 depicts the correctness of our algorithm.

Fig. 2.
figure 2

Correctness analysis

6.2 Privacy Analysis

In this section we will discuss about the privacy of the proposed solution. We assume that the server is secure. Algorithm 1 is secure in a semi honest model [23]. The user sends the encrypted biometrics to server therefore any adversary will learn nothing but the encrypted watermarked feature vector. Moreover the server does the computation on the cipher texts to get the distance, which implies that Algorithm 1 is secure in a semi honest model. The only decrypted text is the encrypted distance from which no one can learn about the user’s biometrics which indicates privacy is preserved in our proposed solution.

7 Experimental Analysis

7.1 Experiment Setup

To test the performance we consider different face images sizes varying from 3 KB–7 KB and embed different finger prints on them using watermarking technique. Before watermarking the face image we extract the feature vectors of face image and finger print and transform them by linear transformation technique. To extract the feature vector of biometrics we use PCA - based Face Recognition System package using Matlab [20]. For watermarking purpose, we use the SVD based watermarking technique proposed in [21]. To implement our technique we use the Java programming language and JAMA package [22], since feature vector comes as a form of matrix. We use the SVD based watermarking technique, but because of the constraint of JAMA package for SVD calculation we modified the library so that it can work for any type of feature vector matrix. Existing JAMA package works correctly only for full rank \( m \times n \) matrices with \( m \ge n. \)

7.2 Performance Analysis

We evaluate the performance of our technique in terms of time for different modules that are, watermarking time, encryption time and distance calculation time.

Figure 3 shows the computation time to watermark the face image with finger print image using SVD based watermarking technique at the user end for different file sizes. We vary the file sizes from 10 KB to 100 KB with 10–20 KB interval. Figure 3 shows that if we increase the face image size then the time to watermark the biometrics increases linearly.

Fig. 3.
figure 3

Computation time of watermarking for different file sizes

We encrypt the watermarked face image with ElGamal encryption technique. Figure 4 depicts the time to encrypt the watermarked feature vector at the user end for different size of face images. The time to encrypt the watermarked face images increases linearly with the increasing face image sizes.

Fig. 4.
figure 4

Computation time of encryption for different file sizes

The user is an authenticate one if the distance between the encrypted watermarked biometric at the user end and at the server end is below some threshold value \( \tau \). Figure 5 shows the computation time to calculate distance for a particular user at the server side. From Fig. 5 it is evident that with the increasing face image size the time to calculate distance increases linearly.

Fig. 5.
figure 5

Computation time to calculate distance for different file sizes

8 Conclusion

In this paper we propose a secure privacy preserving technique to authenticate a user in a system using user biometrics. We transform the user biometric and watermark the face image with finger print to secure the authentication technique. To preserve the privacy of users watermarked biometric we encrypt it using homomorphic encryption technique. The analysis of our system proves the correctness and privacy of our scheme. The performance analysis shows the efficiency of our technique since the time to authenticate a particular user is less than 11 s where the face image size is 100 KB. For the average face image of less than 10 KB size the proposed technique takes less than 5 s time.