• 沒有找到結果。

Efficiency analysis

Now we first examine the performance of the protocol-I. The evaluation parame-ters are defined in Table 3.6. The time requirement of the protocol-I is summarized

Table 3.7: Performance of the protocol-I

in Table 3.7. We use the computational overhead as the metrics to evaluate the performance of the protocol-I. In the protocol-I, only one hashing operation is re-quired for a user to register and get his smart card. In the login-and-authentication phase, three hashing operations, eleven exclusive-or operations, two exponentia-tion operaexponentia-tion, one symmetric encrypexponentia-tion operaexponentia-tion, and one symmetric decrypexponentia-tion operation are needed for a user.

We can see from Table 3.7 that the exponentiation operations are required by the server and the user due to the requirements of key agreement and perfect forward secrecy. These operations might be expensive for smart cards nowadays.

However, with an increasing demand for information security as today’s security systems still have plenty of room for improvement, it is expected that the compli-cated computations will be widely adopted as a necessary security measure and hardware security enhancement for smart cards will become prevalent in the near future.

Now we examine the performance of the protocol-II. We can see from Ta-ble 3.8 that the computations between Wong et al.’s protocol [63] and our pro-posed protocol-II in the three phases (registration, login-and-authentication, and

Table 3.8: Performance comparison between Wong et al.’s protocol and the protocol-II

Phase Wong et al.’s protocol Protocol-II

Registration 3TH 1TH

Login-and-authentication

4TH + 4TXOR 4TH + 4TXOR

Password-change Not supported 2TH

Total 7TH + 4TXOR 7TH + 4TXOR

password-change) are very similar. Clearly, in these phases, our proposed protocol-II does not add additional computational cost. Compared with their protocol, the proposed protocol is also efficient.

Chapter 4

Biometrics-based user authentication protocol

In this chapter, we propose a biometrics-based remote user authentication pro-tocol using smart cards. The propro-tocol fully preserves the privacy of the biometric data of each user while allowing the server to verify the correctness of the users’

biometric characteristics without knowing the exact values. The crucial merits include (1) it allows users to choose and change their passwords freely and hence gives users more convenience and security; (2) it achieves mutual authentication between a server and a user; (3) a server and a user can generate authenticated sessions keys so that later communication between them can proceed efficiently in protected mode to fulfill desired confidentiality.

In addition, the proposed protocol is later extended to a multi-party biometrics-based remote user authentication protocol by incorporating a secret sharing com-ponent [56]. Moreover, security of the proposed protocol is modelled and analyzed with Petri nets. Our analysis shows that the proposed protocol can successfully defend notorious attacks, including replay attacks, forgery attacks, stolen-smart-card attacks, reflection attacks, parallel-session attacks, and insider attacks, and

suitable for smart cards with limited computing capability.

4.1 Proposed protocol

The proposed protocol is divided into three phases: registration, login-and-authentication, and password-change. Firstly, the server randomly chooses a string Ks as its secret key for symmetric encryption. Then, the server keeps the secret key Ks secret.

4.1.1 Registration phase

Suppose a new user Ui (with identity IDi) wants to register with a server for remote-access services. He/she will take the following steps:

Step R1: User Ui randomly chooses his/her password P Wi, two random strings bi and ri, performs an iris scan, and computes Si with his/her iris template T Mi:

Si = ri⊕ T Mi (4.1)

Next, Ui sends the triple (IDi, h(bi ⊕ P Wi), Si) to the server via a secure channel.

Step R2: Upon receiving the registration message, the server computes the triple (yi, zi, wi):

yi = EKs(IDikSi) (4.2)

zi = h(IDikKs) ⊕ h(bi⊕ P Wi) (4.3) wi = h(h(IDikKs)kh(bi ⊕ P Wi)) (4.4) Then, the server stores the tuple (IDi, yi, zi, wi, h(·)) in a smart card and issues it to U via a secure channel.

Step R3: Finally, Ui encrypts bi and ri with the biometrics template T Mi and stores the sketch ET Mi(bikri) in the smart card. At this time, the smart contains the following information: IDi, yi, zi, wi, h(·), and ET Mi(bikri).

4.1.2 Login-and-authentication phase

When user Ui wants to login to the system, Ui first inputs his/her password P Wi and performs an iris scan to obtain T Mi. The details are presented as follows.

Step L1: The smart card retrieves (bikri) by decryption the sketch ET Mi(bikri) with T Mi, and then computes C0 and checks whether the equation holds as fol-lows:

C0 = zi⊕ h(bi⊕ P Wi) (4.5) wi = h(C? 0kh(bi⊕ P Wi)) (4.6) If equation (4.6) holds, Ui is a legitimate user and the smart card proceeds to the next step, otherwise, it rejects the login request. Next, the smart card computes the pair (Si, C1):

Si = ri⊕ T Mi (4.7)

C1 = C0⊕ ui (4.8)

where ui is a string randomly chosen by the smart card. Then the smart card sends (yi, C1) to the server as a login request.

Step L2: After receiving the login request (yi, C1), the server first decrypts yito obtain (IDikSi). The server checks the validity of IDi. If so, the server keeps Si for

later use and computes C2 to obtain u0i as follows:

C2 = h(IDikKs) (4.9)

u0i = C1 ⊕ C2 (4.10)

Next, the server computes the pair (C3, C4):

C3 = h(C1ku0i) (4.11)

C4 = C2⊕ vi (4.12)

where vi is a string randomly chosen by the server. Then the server sends (C3, C4) back to the smart card.

Step L3: The smart card checks whether the equation holds as follows:

C3 = h(C? 1kui) (4.13)

If equation (4.13) holds, the smart card can ensure that C3 indeed comes from the original server. Then, the smart card computes the tuple (v0i, SKi, C5, C6):

vi0 = C4⊕ C0 (4.14)

SKi = h(uikv0i) (4.15)

C5 = h(C4kvi0) (4.16)

C6 = vi0⊕ Si (4.17)

Finally, the smart card sends (C5, C6) to the server.

Step L4: Upon receiving (C5, C6), the server checks whether the equation holds as follows:

C = h(C? kv ) (4.18)

If so, the server computes Si:

Si = C6 ⊕ vi (4.19)

Finally, the server checks whether the matching score ∆(Si, Si) is beyond a pre-defined threshold value If so, the server accepts the login request of the smart card and computes SKi:

SKi = h(u0ikvi) (4.20)

A high-level depiction of the login-and-authentication phase in the proposed protocol is illustrated in Figure 4.1.

4.1.3 Password-change phase

When Ui wants to change his password P Wi to P Wi0, he/she has to input the old password P Wi and perform an iris scan to obtain T Mi. The following steps will be performed.

Step P1: The smart card retrieves (bikri) by decryption the sketch ET Mi(bikri) with T Mi, and then computes C0 and checks whether the equation holds as fol-lows:

C0 = zi⊕ h(bi⊕ P Wi) (4.21) wi = h(C? 0kh(bi⊕ P Wi)) (4.22) If equation (4.22) holds, Ui is a legitimate user and the smart card proceeds to the next step, otherwise, it rejects the request.

Step P2: Ui inputs the new password P Wi0. The smart card computes the pair (zi0, w0i):

zi0 = zi⊕ h(bi⊕ P Wi) ⊕ h(bi⊕ P Wi0) (4.23)

User i Server Figure 4.1: The login-and-authentication phase of the proposed protocol.

wi0 = h(C0kh(bi⊕ P Wi0)) (4.24) Then the smart card replaces the old zi and wi with the new zi0 and w0i in the smart card.

4.2 Multi-party biometrics-based authentication

相關文件