Comments on a secure dynamic ID-based
remote user authentication scheme for
multi-server environment using smart cards
Debiao He
School of Mathematics and Statistics, Wuhan University, Wuhan, People’s Republic of China
Email: [email protected]
Tel: +008615307184927
Abstract: The security of a dynamic ID-based remote user authentication scheme for
multi-server environment using smart cards proposed by Lee et al. [Lee, C-C., Lin, T-H., Chang, R-X.,
A Secure Dynamic ID based Remote User Authentication Scheme for Multi-server Environment
using Smart Cards, Expert Systems with Applications (2011), doi: 10.1016/j.eswa.2011.04.190] is
analyzed. Three kinds of attacks are presented in different scenarios
Key words: Authentication, smart cards, dynamic ID, multi-server system,
password, attack
1. Introduction
Recently, Lee et al. gave six requirements for password authentication scheme for multi-server environment [1]. They also proposed a new scheme using smart cards for password authentication over insecure networks and claimed that it satisfied all the six requirements and thus is immune to various attacks. In this paper, however, some security loopholes of their scheme will be pointed out and the corresponding attacks will be described.
The organization of the paper is sketched as follows. The Section 2 gives a brief review of Lee et al.’s scheme. The security flaws of Lee et al.’s scheme are shown in Section 3. Finally, we give some conclusions in Section 4.
2. Lee et al.’s scheme
z Ui: The ith user;
z IDi: The identity of Ui;
z PWi: The password of Ui; z Sj: The jth server;
z RC: The registration center;
z SC: A smart card;
z SIDj: The identity of Sj;
z CIDj: The dynamic ID of Ui;
z x y, : Two secret keys maintained by registration center;
z h(): A one-way hash function;
z ⊕: The bitwise XOR operation;
z ||: String concatenation operation
Three entities: the user (Ui), the server (Sj), and the registration center (RC) are involved in Lee et al.’s scheme. First, RCchooses the master key x and secret number y to computeh x y( || ) and h y( ), and then shares them with Sj
in the secure channel. Only RC knows the master secret key x and secret number y.
2.1. Registration phase
In this phase, everyone who wants to register at the server should submit his identity and password to RC and obtain a smart card. The detail of the phase is described as follows.
1) Ui generates a random number bi, chooses his identity IDi and PWi,
and computes (h bi⊕PWi) . Then Ui sends IDi and h b( i⊕PWi) to the registration center RC through a secure channel.
2) After receiving IDi and (h bi⊕PWi), RC computes Ti =h ID( i || )x ,
( || ( ))
i i i i i
V = ⊕T h ID h b ⊕PW , ( (Bi =h h bi⊕PWi) ||H x y( || )) and Hi =h T( )i . Then RC stores {Vi, Bi, Hi, ()h , ( )h y } into a smart card and issue it to Ui.
2.2. Login phase
Once the user Ui wants to login to the server, as shown in Fig. 1, he will
perform the following login steps.
1) Ui inserts his smart card into the smart card reader and then inputs IDi
and PWi.
2) The smart card computes Ti = ⊕Vi h ID( i|| (h bi⊕PWi)) and Hi′ =h T( )i .
If Hi′ does not equal Hi, the smart card stops the request.
3) The smart card generates a random number Ni and computes ( || ( ) || )
i i i
A =h T h y N , CIDi =h b( i⊕PWi)⊕h T( ||i Ai||Ni), Qi =h B( i||Ai||Ni),
and Pij = ⊕Ti h h y( ( ) ||Ni||SIDj) . Then, the smart card sends
1 { i, ij, i, i}
M = CID P Q N to the serer Sj.
2.3. Verification phase
This phase is executed by the server to determine whether the user is allowed to login or not. Sj executes the following steps to verify the legitimacy of Ui. We use Fig. 1 to demonstrate the phase.
1)Upon receiving M1 , Sj computes Ti =Pij⊕h h y( ( ) ||Ni||SIDj) , ( || ( ) || )
i i i
A =h T h y N , h b( i⊕PWi)=CIDi⊕h T( ||i Ai||Ni) and ( ( ) || ( || ))
i i i
B =h h b ⊕PW h x y . Then Sj computes (h Bi||Ai||Ni) and checks it with Qi. If they are not equal, Sj rejects the login request and terminates this session. Otherwise, Sj generates a random number Nj to compute
( || || || )
ij i i i j
M′ =h B N A SID . Finally, Sj sends the message M2 ={Mij′,Nj} to
i
U .
2) Upon receiving M2, Ui checks whether (h Bi||Ni||Ai||SIDj) equals
ij
M′. If they are not equal, Ui stops the session. Otherwise, Ui computes ( || || || )
ij i j i j
M′′ =h B N A SID . At last, Ui sends M3 ={Mij′′} to Sj.
3)Upon receiving M3, Sj checks whether (h Bi||Nj||Ai||SIDj) equals
ij
After finishing verification phase, Ui and Sj can compute ( i|| i|| j|| i|| j)
SK =h B N N A SID as the session key for securing communications with authenticator. The login phase and verification phase are depicted in Figure 1.
Fig. 1. Login phase and verification phase of Lee et al.’s scheme
2.4. Password change phase
This phase will be invoked if the client wants to change his password from
i
PW to PWnew.
1) Ui inserts his smart card into the smart card reader and then inputs IDi
and PWi.
2) The smart card computes Ti = ⊕Vi h ID( i|| (h bi⊕PWi)) and Hi′ =h T( )i . If Hi′ does not equal Hi, the smart card stops the request.
3) Ui inputs the new password PWnew and a new random number bnew, computes (h bnew⊕PWnew) , (Vnew= ⊕Ti h IDi|| (h bnew⊕PWnew)) . At last, Ui
sends IDi and (h bnew⊕PWnew) to RC through a secure channel.
4) Upon receiving IDi and h b( new⊕PWnew) , RC computes
( ( ) || ( || ))
new new new
B =h h b ⊕PW h x y and sends it to Ui.
3. Cryptanalysis of Lee et al.’s scheme
In this section, we will demonstrate that Lee et al.’s scheme is vulnerable to impersonation attack, server spoofing attack, and can not provide two-factor security.
3.1 Impersonation attack
In this subsection, we first show that any malicious legal user can impersonate other legal users to log into remote server. Then we demonstrate that any malicious server also can impersonate any other legal users to log into remote server.
z Malicious user’s impersonation attack
We assume that the adversary Z is a legal user of the system, and then he can obtain a smart card containing {VZ, BZ, HZ, ()h , ( )h y , bZ}. When
another legal user Ui communicates with Sj, the adversary Z can intercept the login message {CID P Q Ni, ij, i, i} between Ui and Sj, and impersonate Ui
though the following steps. We use Fig. 2 to demonstrate the attack.
1) Z two random numbers r and N′ , sets Ti′←r , computes ( || ( ) || )
i i i
A′=h T′ h y N′ , (CIDi′=h bZ⊕PWZ)⊕h T( ||i′ Ai′||Ni′) , ( || || )
i Z i i
Q′=h B A′ N′ , and Pij′= ⊕Ti′ h h y( ( ) ||Ni′||SIDj). Then, the smart card sends M1′={CID P Q Ni′ ′ ′ ′, ij, i, i} to the serer Sj.
2)Upon receiving M1′ , Sj computes Ti =Pij′⊕h h y( ( ) ||Ni′||SIDj)=Ti′ , ( || ( ) || ) ( || ( ) || )
i i i i i i
A =h T h y N′ =h T′ h y N′ =A′ ,
( i i) i ( ||i i|| i) ( Z Z)
h b ⊕PW =CID′⊕h T A N′ =h b ⊕PW and
( ( ) || ( || )) ( ( ) || ( || ))
i i i Z Z Z
B =h h b ⊕PW h x y =h h b ⊕PW h x y =B . It is obvious that ( i|| i|| i)
h B A N′ equals Qi′ since Qi′=h B( Z ||Ai′||Ni′) and Bi =BZ . Then, Sj
generates a random number Nj to compute Mij′ =h B( i||Ni||Ai||SIDj). Finally,
j
S sends the message M2′ ={Mij′,Nj} to Z.
4)Upon receiving M3′ , Sj checks whether (h Bi||Nj|| Ai||SIDj) equals
ij
M′′ . It is obvious (h Bi||Nj||Ai||SIDj) equals Mij′′ since Bi =BZ and
( || || || )
ij Z j i j
M′′=h B N A′ SID . Then Z impersonate Ui successfully.
After above steps, Z and Sj can compute
( Z || i|| j|| i|| j)
SK =h B N′ N A′ SID as the session key for securing communications with authenticator.
Fig. 2. Malicious user’s impersonation attack
z Malicious server’s impersonation attack
We assume that Sj is a malicious server of the system, and then he can obtain ( || )h x y and ( )h y from RC . When a legal user Ui communicates with Sj, Sj can impersonate this user to obtain the services from other servers
1
j
S + . The detail of the attack, as shown in Fig. 3, is described as follows.
1) When receiving M1={CID P Q Ni, ij, i, i} from Ui, Sj uses his ( )h y and ( || )
h x y to compute Ti =Pij⊕h h y( ( ) ||Ni||SIDj) , ( || ( ) ||Ai =h Ti h y Ni) , ( i i) i ( ||i i|| i)
1 ( ( ) || || 1)
ij i i j
P+ = ⊕T h h y N SID+ . Then Sj sends M1′ ={CID Pi, ij+1,Q Ni, i} to another server Sj+1.
2) Upon receiving M1 , Sj+1 computes Ti =Pij+1⊕h h y( ( ) ||Ni||SIDj+1) , ( || ( ) || )
i i i
A =h T h y N , h b( i⊕PWi)=CIDi⊕h T( ||i Ai||Ni) and ( ( ) || ( || ))
i i i
B =h h b ⊕PW H x y . Then Sj+1 computes (h Bi|| Ai||Ni) and checks if it equals Qi. It is obvious (h Bi||Ai ||Ni) equals Qi. Then, Sj+1 generates a random number Nj+1 to compute Mij′ =+1 h B( i||Ni||Ai||SIDj+1). Finally, Sj+1
sends the message M2 ={Mij′+1,Nj+1} to Sj.
3) Upon receiving {Mij′+1,Nj+1} , Sj computes
1 ( || 1|| || 1)
ij i j i j
M′′ =+ h B N + A SID+ and sends M3 ={Mij′′+1} to Sj+1.
4) Upon receiving M3 , Sj+1 checks whether h B( i||Nj+1||Ai||SIDj+1) equals Mij′′+1 . From the computation of Mij′′+1 we knows
1 1
( i|| j || i|| j )
h B N + A SID+ equals Mij′′+1. Then Sj impersonate Ui successfully.
After above steps, Sj and Sj+1 can compute
1 1
( i|| i|| j || i|| j )
SK =h B N N + A SID+ as the session key for securing communications with authenticator.
3.2. Server spoofing attack
We assume that Sj is a malicious server of the system, and then he can obtain ( || )h x y and h y( ) from RC . When another legal user Ui
communicates with Sj+1 , Sj can intercept the login message
1 { i, ij 1, i, i}
M = CID P+ Q N between Ui and Sj+1, and impersonate Sj+1 though
the following steps, where CIDi =h b( i⊕PWi)⊕h T( ||i Ai||Ni) , ( || || )
i i i i
Q =h B A N , Pij+1= ⊕Ti h h y( ( ) ||Ni||SIDj+1) and Ti =h ID( i|| )x . We use Fig. 4 to demonstrate the attack.
1)Upon receiving M1 , Sj computes Ti =Pij+1⊕h h y( ( ) ||Ni||SIDj+1) , ( || ( ) || )
i i i
A =h T h y N , h b( i⊕PWi)=CIDi⊕h T( ||i Ai||Ni) and ( ( ) || ( || ))
i i i
B =h h b ⊕PW H x y . Then Sj computes (h Bi||Ai||Ni) and checks it with Qi. If they are not equal, Sj rejects the login request and terminates this
session. Otherwise, Sj generates a random number Nj+1 to compute
1 ( || || || 1)
ij i i i j
M′ =+ h B N A SID+ . Finally, Sj sends the message
2 { ij 1, j 1}
M = M′+ N + to Ui.
2) Upon receiving M2, Ui checks whether h B( i||Ni||Ai||SIDj+1) equals
1
ij
M′+ . If they are not equal, Ui stops the session. Otherwise, Ui computes
1 ( || 1|| || 1)
ij i j i j
M′′ =+ h B N + A SID+ . At last, Ui sends M3={Mij′′} to Sj.
After finishing verification phase, Ui and Sj can compute
1 1
( i|| i|| j || i|| j )
Fig. 4. Server spoofing attack
3.3. Password guessing attack
Although Sun et al. claim that their scheme can provide two-factor security, i.e. the user’s password is secure even when the client’s smart card is lost and the parameters in the card are derived[1], an password guessing attack will be given here.
Suppose the client’s smart card is lost, an attacker A can read all the data, including {Vi, Bi, Hi, ()h , ( )h y , b}, from the smart card via physically
access to the storage medium. He can get the password through the following steps.
1) A selects a password PW′ from a uniformly distributed dictionary. 2) A computes Ti = ⊕Vi h ID( i|| (h b⊕PW′)) and Hi′ =h T( )i .
3) A check if Hi′ equals Hi. If Hi′ equals Hi, hen A find the correct passwords. Otherwise, Arepeats steps 1, 2 and 3 until the correct password if found.
4. Conclusion
Reference
[1]. Lee, C-C., Lin, T-H., Chang, R-X., A Secure Dynamic ID based Remote User Authentication
Scheme for Multi-server Environment using Smart Cards, Expert Systems with Applications