Figures
Abstract
Recently, Li et al. proposed a novel smart card and dynamic ID-based remote user authentication scheme for multi-server environments. They claimed that their scheme can resist several types of attacks. However, through careful analysis, we find that Li et al.’s scheme is vulnerable to stolen smart card and off-line dictionary attacks, replay attacks, impersonation attacks and server spoofing attacks. By analyzing other similar schemes, we find that a certain type of dynamic ID-based multi-server authentication scheme in which only hash functions are used and whereby no registration center participates in the authentication and session key agreement phase faces difficulties in providing perfectly efficient and secure authentication. To compensate for these shortcomings, we propose a novel dynamic ID-based remote user authentication scheme for multi-server environments based on pairing and self-certified public keys. Security and performance analyses show that the proposed scheme is secure against various attacks and has many excellent features.
Citation: Li S, Wu X, Zhao D, Li A, Tian Z, Yang X (2018) An efficient dynamic ID-based remote user authentication scheme using self-certified public keys for multi-server environments. PLoS ONE 13(10): e0202657. https://doi.org/10.1371/journal.pone.0202657
Editor: Hua Wang, Victoria University, AUSTRALIA
Received: December 18, 2017; Accepted: July 15, 2018; Published: October 9, 2018
Copyright: © 2018 Li et al. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
Data Availability: All relevant data are within the paper and its Supporting Information files.
Funding: This work is supported by the National Natural Science Foundation of China (61672020, 61662069, 61472433, 61702309, and 61572153, to S. L., X.Y., A.L., D.Z., and Z.T), the Project funded by China Postdoctoral Science Foundation (2013M542560, 2015T81129 to S.L.), National Key Research and Development Plan (2017YFB0801804, 2017YFB0802204 to A.L.), and A Project of Shandong Province Higher Educational Science and Technology Program (No. J16LN61 to X.W.).
Competing interests: The authors have declared that no competing interests exist.
Introduction
With the rapid development of network technologies, increasingly more people are beginning to use networks to acquire various services such as on-line financial information, on-line medical information, on-line shopping, on-line bill payment, and on-line documentation and data exchange. In addition, the architecture of servers providing services to be accessed over a network often consists of many different servers around the world instead of just one. Although they currently enjoy the comfort and convenience of the internet, people are facing emerging challenges with regard to network security.
Identity authentication is the key security issue facing various types of on-line applications and service systems. Before a user accesses services provided by a service provider server, mutual identity authentication between the user and server is needed to prevent unauthorized personnel from accessing services provided by the server and avoiding an illegal system defrauding the user by masquerading as a legitimate server. In a single-server environment, password-based authentication schemes [1] and enhanced versions that additionally use smart cards [2–9] are widely used to provide mutual authentication between the users and servers. However, conventional password-based authentication methods are not suitable for multi-server environments since each user need to not only log into various remote servers repetitively but also remember many different sets of identities and passwords if he/she wants to access these service provider servers. To resolve this problem, in 2000, based on the difficulty of factorization and hash functions, Lee and Chang [10] proposed a user identification and key distribution scheme that can be applied to multi-server environments. Since then, authentication schemes for multi-server environments have been widely investigated and designed by many researchers [11–37].
Based on the utilized basic cryptographic algorithms, multi-server authentication schemes can be divided into two types: hash-based authentication schemes and public-key-based authentication schemes. Simultaneously, among existing multi-server authentication schemes, some of them need a registration center (RC) to participate in the authentication and session key agreement phase, whereas others do not have this requirement. Therefore, based on whether the RC participates in the authentication and session key agreement phase, we divide the multi-server authentication schemes into RC-dependent authentication schemes and non-RC-dependent authentication schemes.
In this paper, we analyze a novel multi-server authentication scheme, Li et al.’s scheme [20], which is only based on hash functions and a non-RC-dependent authentication scheme. We find that this scheme is vulnerable to stolen smart cards and offline dictionary attacks, replay attacks, impersonation attacks and server spoofing attacks. By analyzing other similar schemes [15, 17–19], we find that the type of dynamic ID-based multi-server authentication scheme that only uses hash functions and are not dependent on RCs face difficulties in providing perfectly efficient and secure authentication. To compensate for these shortcomings, we propose a novel dynamic ID-based remote user authentication scheme for multi-server environments. Compared with previous related works, our scheme has many advantages. First, the scheme enjoys important security attributes, including being able to prevent various attacks, user anonymity, a lack of verification table, and local password verification. Second, the scheme does not use a timestamp; therefore, it avoids the clock synchronization problem. Further, the scheme uses self-certified public keys, by which the user’s public key can be computed directly from the signature of the trusted third party on the user’s identity instead of verifying the public key using an explicit signature on a user’s public key. Therefore, our scheme is more practical and universal for multi-server environments. Finally, the performance and cost analysis show that our scheme is very efficient and more secure than other related schemes.
Related works
A large number of authentication schemes have been proposed for multi-server environments. Hash functions are a key technology in the construction of multi-server authentication schemes. In 2004, Juang et al. [11] proposed an efficient multi-server password authenticated key agreement scheme based on a hash function and symmetric key cryptosystem. In 2009, Hsiang and Shih [12] proposed a dynamic ID-based remote user authentication scheme for multi-server environments in which only a hash function is used. However, Sood et al. [13] found that Hsiang and Shih’s scheme is susceptible to replay attacks, impersonation attacks and stolen smart card attacks. Moreover, the password change phase of Hsiang and Shih’s scheme is insecure. Later, Sood et al. presented a novel dynamic identity-based authentication protocol for multi-server architectures to resolve the security flaws of Hsiang and Shih’s scheme [13]. In addition, Sood et al.’s protocol is practical and computationally efficient because only nonce, one-way hash functions and XOR operations are used in its implementation. After that, Li et al. [14] noted that Sood et al.’s protocol remains vulnerable to leak-of-verifier attacks, stolen smart card attacks and impersonation attacks. Simultaneously, Li et al. [14] proposed another dynamic identity-based authentication protocol for multi-server architectures. However, the above-mentioned schemes are all RC-dependent multi-server authentication schemes. In 2009, Liao and Wang [15] proposed a dynamic ID-based multi-server authentication scheme that is based on hash functions and does not depend on RCs. This scheme not only satisfies all requirements for multi-server environments but also achieves efficient computation. However, Liao and Wang’s scheme has been found to be vulnerable to insider attacks, masquerade attacks, server spoofing attacks, and registration center spoofing attacks and is not reparable [16]. Later, Shao et al. [17] and Lee et al. [18, 19] proposed similar types of multi-server authentication schemes. In 2012, Li et al. [20] noted that Lee et al.’s scheme [18] cannot withstand forgery attacks or server spoofing attacks and cannot provide proper authentication; they then proposed a novel dynamic ID-based multi-server authentication scheme that only uses a hash function and is not dependent on RCs. Moreover, the scheme is found to be suitable for financial security authentication. However, through careful analysis, we find that Li et al.’s scheme [20] remains vulnerable to stolen smart card and offline dictionary attacks, replay attacks, impersonation attacks and server spoofing attacks. We also analyzed Shao et al.’s scheme [17] and Lee et al.’s scheme [19]; they are all vulnerable to stolen smart card and offline dictionary attacks, replay attacks, impersonation attacks and server spoofing attacks. In general, it is difficult to construct a secure dynamic ID-based and non-RC-dependent multi-server authentication scheme if only hash functions are used.
Public-key cryptography is another useful technique that is widely used in the construction of multi-server authentication schemes. In 2000, Lee and Chang [21] proposed a user identification and key distribution scheme in which the difficulty of factorization on public key cryptography is used. In 2001, Tsaur [22] proposed a remote user authentication scheme based on an RSA cryptosystem and Lagrange interpolating polynomials for multi-server environments. Then, Lin et al. [23] proposed a multi-server authentication protocol based on the simple geometric properties of the Euclidean and discrete logarithm problem concept. In their scheme, the system does not need to maintain a verification table, and the users who have registered with the servers do not need to remember different login passwords for various servers. Since traditional public key cryptographic algorithms require many expensive computations and consume substantial energy, Geng and Zhang [24] proposed a dynamic ID-based user authentication and key agreement scheme for multi-server environments using bilinear pairings. However, Geng and Zhang’s scheme cannot withstand user spoofing attacks [25]. Later, Tseng et al. [26] proposed an efficient pairing-based user authentication scheme with smart cards. Performance analysis and experimental data demonstrate that their scheme is well suited for mobile devices with limited computing capabilities. However, in 2013, Liao and Hsiao [27] noted that Tseng et al.’s scheme is vulnerable to insider attacks, offline dictionary attacks and malicious server attacks and cannot provide proper mutual authentication and session key agreement. Simultaneously, Liao and Hsiao proposed a novel non-RC-dependent multi-server remote user authentication scheme using self-certified public keys for mobile clients [27]. Recently, Chou et al. [28] found that Liao and Hsiao’s scheme cannot withstand password guessing attacks. Furthermore, through careful analysis, we found that Liao and Hsiao’s scheme remains vulnerable to denial of service attacks and cannot ensure a user’s anonymity or provide local password verification. In this paper, we propose a secure dynamic ID-based and non-RC-dependent multi-server authentication scheme using pairing and self-certified public keys.
Preliminaries
In this section, we introduce the concepts of bilinear pairings, self-certified public keys, as well as some related mathematical assumptions.
Bilinear pairings
Let G1 be an additive cyclic group with a large prime order q, and let G2 be a multiplicative cyclic group with the same order q. In particular, G1 is a subgroup of the group of points on an elliptic curve over a finite field E(Fp), and G2 is a subgroup of the multiplicative group over a finite field. P is a generator of G1.
A bilinear pairing is a map e: G1 × G1 → G2 and satisfies the following properties:
(1) Bilinear: e(aP, bQ) = e(P, Q)ab for all P, Q ∈ G1 and .
(2) Non-degenerate: There exists P, Q ∈ G1 such that e(P, Q)≠1.
(3) Computability: There is an efficient algorithm to compute e(P, Q) for all P, Q ∈ G1.
Self-certified public keys
In [27], Liao et al. first proposed a key distribution scheme based on self-certified public keys (SCPKs) [38, 39] among the service servers. Using the SCPK, a user’s public key can be computed directly from the signature of the trusted third party (TTP) on the user’s identity instead of verifying the public key using an explicit signature on a user’s public key. The SCPK scheme is described as follows.
(1) Initialization: The trusted third party (TTP) first generates all the needed parameters of the scheme. The TTP chooses a non-singular high elliptic curve E(Fp) defined over a finite field, which is used with a point-based generator P of prime order q. Then, the TTP freely chooses his/her secret key sT and computes his/her public key pubT = sT ⋅ P. The related parameters and pubT are publicly and authentically available.
(2) Private key generation: A user A chooses a random number kA, computes KA = kA ⋅ P and sends his/her identity IDA and KA to the TTP. The TTP chooses a random number rA, computes WA = KA + rA ⋅ P and , and sends WA and
to user A. Then, A obtains his/her secret key by calculating
.
(3) Public key extraction: Anyone can calculate A’s public key pubA = h(IDA ∥ WA)pubT + WA given WA.
Related mathematical assumptions
To prove the security of our proposed protocol, we present some important mathematical problems and assumptions for bilinear pairings defined on elliptic curves. The related concrete description can be found in [40, 41].
(1) Computational discrete logarithm (CDL) problem: Given R = x ⋅ P, where P, R ∈ G1, it is easy to calculate R given x and P, but it is hard to determine x given P and R.
(2) Elliptic curve factorization (ECF) problem: Given two points P and R = x ⋅ P + y ⋅ P for , it is hard to find x ⋅ P and y ⋅ P.
(3) Computational Diffie-Hellman (CDH) problem: Given P, xP, yP ∈ G1, it is hard to compute xyP ∈ G1.
Review and cryptanalysis of Li et al.’s authentication scheme
Review of Li et al.’s scheme
There are three participants in Li et al.’s scheme: the registration center RC, the server Sj, and the user Ui. RC generates the master secret key x and a secret number y to construct h(x‖y) and h(SIDj‖h(y)), in which SIDj is the identity of server Sj; then, it delivers them to the server Sj through a secure channel. Li et al.’s scheme contains four phases:the registration phase, the login phase, the verification phase and the password change phase.
Registration phase.
When the remote user authentication scheme starts, the registration process should be first performed by the user Ui and RC:
(1) Ui generates a random number b and freely chooses his/her identity IDi and the password PWi. Then, Ui calculates Ai = h(b ⊕ PWi). After that, Ui transmits IDi and Ai to RC for registration through a secure channel.
(2) RC computes Bi = h(IDi‖x), Ci = h(IDi‖h(y)‖Ai), Di = h(Bi‖h(x‖y)) and Ei = Bi ⊕ h(x‖y). Then, RC stores {Ci, Di, Ei, h(⋅), h(y)} on the smart card of Ui and sends it to Ui by a secure channel.
(3) Ui adds the random number b into the smart card, which ultimately possesses the information {Ci, Di, Ei, b, h(⋅), h(y)}.
Login phase.
When user Ui wants to log into the server Sj, the following procedures should be performed:
(1) After the smart card is inserted into the card reader, the user is prompted to enter his/her IDi and PWi. After that, the smart card calculates Ai = h(b ⊕ PWi), and checks whether
is equal to Ci. If
is equal to Ci, the Login process continues. Otherwise, the session will be aborted.
(2) The smart card produces a number Ni randomly and calculates Pij = Ei ⊕ h(h(SIDj‖h(y))‖Ni), CIDi = Ai ⊕ h(Di‖SIDj‖Ni), M1 = h(Pij‖CIDi‖Di‖Ni) and M2 = h(SIDj‖h(y)) ⊕ Ni.
(3) The smart card transmits the login request message {Pij, CIDi, M1, M2} to Sj.
Verification phase.
When Sj receives the login request message, the mutual authentication and session key agreement between Sj and Ui will be performed in accordance with the following steps.
(1) The server Sj calculates Ni = M2 ⊕ h(SIDj‖h(y)), Ei = Pij ⊕ h(h(SIDj‖h(y))‖Ni), Bi = Ei ⊕ h(x‖y), Di = h(Bi‖h(x‖y)), and Ai = CIDi ⊕ h(Di‖SIDj‖Ni).
(2) The server Sj calculates h(Pij‖CIDi‖Di‖Ni); if the calculated result is not equal to M1, Sj rejects the login request and aborts this session. Otherwise, Sj accepts the login request message. Then, Sj chooses a random number Nj and calculates M3 = h(Di‖Ai‖Nj‖SIDj), M4 = Ai ⊕ Ni ⊕ Nj. Finally, Sj sends {M3, M4} to Ui.
(3) According to the received message {M3, M4}, Ui calculates Nj = Ai ⊕ Ni ⊕ M4, and verifies whether
is equal to M3. If they are not equal, Ui rejects these messages and terminates this session. Otherwise, Ui successfully authenticates Sj. In addition, Ui calculates M5 = h(Di‖Ai‖Ni‖SIDj) and sends it to Sj.
(4) The server Sj computes h(Di‖Ai‖Ni‖SIDj) and compares it with the received {M5} sent from Ui. If they are equal, Ui is successfully authenticated by Sj, and the mutual authentication is completed. After the mutual authentication phase, the user Ui and the server Sj calculate SK = h(Di‖Ai‖Ni‖Nj‖SIDj) as their session key in future secure communication.
Password change phase.
For security, the password of the user should be changed frequently. The password change phase is performed when user Ui wants to replace the old password PWi with a new password .
(1) The user Ui inserts his/her smart card into the card reader and inputs his/her IDi and PWi.
(2) The smart card calculates Ai = h(b ⊕ PWi), and verifies whether
is equal to Ci. If they are not equal, the password change request will be rejected. Otherwise, the user Ui provides a new random number bnew and a new password
.
(3) The smart card calculates and
.
(4) The smart card uses and bnew to replace Ci and b. The password change phase is completed.
Cryptanalysis of Li et al.’s scheme
Li et al. claimed that their scheme can resist many types of attacks and satisfy all the essential requirements for multi-server architecture authentication. However, if we assume that A is an adversary who has broken a user Um and a server Sn or a combination of a malicious user Um and a dishonest server Sn, then A can obtain the secret number h(x‖y) and h(y) and perform stolen smart card and offline dictionary attacks, replay attacks, impersonation attacks and server spoofing attacks on Li et al.’s scheme. The concrete cryptanalysis of the Li et al.’s scheme is shown as follows.
Stolen smart card and offline dictionary attacks.
If a user Ui’s smart card is stolen by an adversary A, A can extract the information {Ci, Di, Ei, b, h(⋅), h(y)} from the memory of the stolen smart card. Furthermore, if A intercepts a valid login request message {Pij, CIDi, M1, M2} sent from user Ui to server Sj in the public communication channel, A can compute Ni = h(SIDj‖h(y)) ⊕ M2, Ei = Pij ⊕ h(h(SIDj‖h(y))‖Ni), Bi = Ei ⊕ h(x‖y), Di = h(Bi‖h(x‖y)) and Ai = CIDi ⊕ h(Di‖SIDj‖Ni) using h(y) and h(x‖y). Then, A can launch an offline dictionary attack on Ci = h(IDi‖h(y)‖Ai) to determine the identity IDi of user Ui because A knows the values of Ai and h(y) corresponding to the user Ui. In addition, A can launch offline dictionary attacks on Ai = h(b ⊕ PWi) to determine the password PWi of Ui because A knows the value of b from the stolen smart card of the user Ui. Now, A possesses the valid smart card of user Ui, knows the identity IDi and password PWi corresponding to user Ui and hence can login to any service provider server.
Replay attacks.
A replay attack is when an adversary replays the same message of a receiver or sender again. If adversary A has intercepted a valid login request message {Pij, CIDi, M1, M2} sent from user Ui to server Sj in the public communication channel, then A can compute Ni = h(SIDj‖h(y)) ⊕ M2, Ei = Pij ⊕ h(h(SIDj‖h(y))‖Ni), Bi = Ei ⊕ h(x‖y), Di = h(Bi‖h(x‖y)) and Ai = CIDi ⊕ h(Di‖SIDj‖Ni) using h(y) and h(x‖y). Then, adversary A can replay this login request message {Pij, CIDi, M1, M2} to Sj by masquerading as the user Ui at some later time. After verification of the login request message, Sj computes M3 = h(Di‖Ai‖Nj‖SIDj) and M4 = Ai ⊕ Ni ⊕ Nj and sends the message {M3, M4} to A, who is masquerading as the user Ui. The adversary A can verify the received value of {M3, M4} and compute since they know the values of Ni, Ei, Bi, Di and Ai. Then, A sends
to the server Sj. The server Sj computes h(Di‖Ai‖Ni‖SIDj) and checks it with the received message
. This equivalency authenticates the legitimacy of the user Ui and the service provider server Sj, and the login request is accepted. Finally, after mutual authentication, adversary A masquerading as the user Ui and the server Sj agree on the common session key as SK = h(Di‖Ai‖Ni‖Nj‖SIDj). Therefore, the adversary A can masquerade as user Ui to login to server Sj by replaying the same login request message that had been sent from Ui to Sj.
Impersonation attacks.
In this subsection, we show that an adversary A who possesses h(y) and h(x‖y) can masquerade as any user Ui to login to any server Sj as follows.
Adversary A chooses two random numbers ai and bi and computes Ai = h(ai) and Bi = h(bi). Then, A can compute Di = h(Bi‖h(x‖y)), Ei = Bi ⊕ h(x‖y), Pij = Ei ⊕ h(h(SIDj‖h(y))‖Ni), CIDi = Ai ⊕ h(Di‖SIDj‖Ni), M1 = h(Pij‖CIDi‖Di‖Ni) and M2 = h(SIDj‖h(y)) ⊕ Ni using h(y) and h(x‖y). Now, A sends the login request message {Pij, CIDi, M1, M2} by masquerading as the user Ui to server Sj. After receiving the login request message, Sj computes Ni = h(SIDj‖h(y)) ⊕ M2, Ei = Pij ⊕ h(h(SIDj‖h(y))‖Ni), Bi = Ei ⊕ h(x‖y), Di = h(Bi‖h(x‖y)) and Ai = CIDi ⊕ h(Di‖SIDj‖Ni) using {Pij, CIDi, M1, M2}, h(x‖y) and h(SIDj‖h(y)). Then, Sj computes M3 = h(Di‖Ai‖Nj‖SIDj) and M4 = Ai ⊕ Ni ⊕ Nj and sends the message {M3, M4} to A, who is masquerading as the user Ui. Then, adversary A computes Nj = Ai ⊕ Ni ⊕ M4 and verifies M3 by computing h(Di‖Ai‖Nj‖SIDj). Then, A computes M5 = h(Di‖Ai‖Ni‖SIDj) and sends {M5} back to the server Sj. The server Sj computes h(Di‖Ai‖Ni‖SIDj) and checks it against the received message {M5}. This equivalency authenticates the legitimacy of the user Ui and the service provider server Sj, and the login request is accepted. Finally, after mutual authentication, adversary A masquerading as the user Ui and the server Sj agree on the common session key as SK = h(Di‖Ai‖Ni‖Nj‖SIDj).
Server spoofing attacks.
In this subsection, we show that an adversary A who possesses h(y) and h(x‖y) can masquerade as the server Sj to spoof user Ui if A has intercepted a valid login request message {Pij, CIDi, M1, M2} sent from user Ui to server Sj over a public communication channel.
After intercepting a valid login request message {Pij, CIDi, M1, M2} sent from user Ui to server Sj over a public communication channel, A can compute Ni = h(SIDj‖h(y)) ⊕ M2, Ei = Pij ⊕ h(h(SIDj‖h(y))‖Ni), Bi = Ei ⊕ h(x‖y), Di = h(Bi‖h(x‖y)) and Ai = CIDi ⊕ h(Di‖SIDj‖Ni) corresponding to Ui. Then, A can choose a random number and compute
and
. A then sends the message {M3, M4} by masquerading as the server Sj to the user Ui. After receiving the message {M3, M4}, Ui computes
and verifies M3 by computing
. Then, Ui computes M5 = h(Di‖Ai‖Ni‖SIDj) and sends it to the server Sj, who is masquerading as the adversary A. Then, A computes h(Di‖Ai‖Ni‖SIDj) and checks it against the received message {M5}. Finally, after mutual authentication, the adversary A masquerading as the server Sj and the user Ui agree on the common session key as
.
Discussion
Except for Li et al.’s scheme, we also analyzed four other dynamic ID-based authentication schemes for multi-server environments [15, 17–19]. These schemes are all based on hash functions and are not dependent on RCs. We found that this type of multi-server remote user authentication scheme is generally vulnerable to stolen smart card and offline dictionary attacks, impersonation attacks, server spoofing attacks etc. The cryptanalysis methods used by these schemes are similar to that of Li et al.’s scheme shown in Section 4.2. We believe that under the assumptions that no RC participates in the authentication and session key agreement phase, the dynamic ID and hash function-based user authentication schemes for multi-server environments face difficulties in providing perfectly efficient and secure authentication. Fortunately, there is another technique, public-key cryptography, that is widely used in the construction of authentication schemes. Therefore, to construct a secure, low-power-consumption and non-RC-dependent authentication scheme, we adopt the elliptic curve cryptographic technology of public-key techniques, and we propose a novel dynamic ID-based and non-RC-dependent remote user authentication scheme using pairing and self-certified public keys for multi-server environments.
The proposed scheme
In this section, we propose a novel dynamic ID-based and non-RC-dependent remote user authentication scheme for multi-server environments using pairing and self-certified public keys. Our scheme contains three participants: the user Ui, the service provider server Sj, and the registration center RC. A legitimate user Ui can easily login to the service provider server using his smart card, identity and password. There are six phases in the proposed scheme: the system initialization phase, the user registration phase, the server registration phase, the login phase, the authentication and session key agreement phase, and the password change phase. The notations used in our proposed scheme are summarized in Table 1.
System initialization phase
In the proposed scheme, the registration center RC is assumed to be a TTP. In the system initialization phase, RC generates all the needed parameters of the scheme.
(1) The RC selects a cyclic additive group G1 of prime order q, a cyclic multiplicative group G2 of the same order q, a generator P of G1, and a bilinear map e: G1 × G1 → G2.
(2) The RC freely chooses a number held as the system private key and computes pubRC = sRC ⋅ P as the system public key.
(3) The RC selects two cryptographic hash functions H(⋅) and h(⋅).
Finally, all the related parameters {e, G1, G2, q, P, PubRC, H(⋅), h(⋅)} are publicly and authentically available.
User registration phase
When the user Ui wants to access the services, he/she has to submit some of his/her related information to the registration center RC for registration. The steps of the user registration phase are as follows:
(1) Ui freely generates his/her identity IDi and password pwi and chooses a random number bi. Then, Ui computes HPWi = h(IDi ∥ pwi ∥ bi) ⋅ P and submits IDi and HPWi to RC for registration through a secure channel.
(2) When receiving the message IDi and HPWi, RC computes QIDi = H(IDi), CIDi = sRC ⋅ QIDi, and Hi = h(QIDi ∥ CIDi). Then, RC stores the message
in Ui’s smart card and submits the smart card to Ui through a secure channel.
(3) After receiving the smart card, Ui enters bi into the smart card. Finally, the smart card contains the parameters .
Server registration phase
If a service provider server Sj wants to provide services to the users, he/she must perform the registration to the registration center RC to become a legal service provider server. The process of the server registration phase of the proposed scheme is based on SCPK.
(1) Sj chooses a random number vj and computes Vj = vj ⋅ P. Then, Sj submits SIDj and Vj to RC for registration via a secure channel.
(2) After receiving the message {SIDj, Vj}, RC chooses a random number wj and computes Wj = wj ⋅ P + Vj and mod q. Then, RC submits the message
to Sj through a secure channel.
(3) After receiving , Sj computes their private key
mod q and checks the validity of the values issued to them by checking the following equation: pubj = sj ⋅ P = h(SIDj ∥ Wj) ⋅ pubRC + Wj. Finally, Sj’s personal information contains {SIDj, pubj, sj, Wj}
The details of the user registration phase and server registration phase are shown in Fig 1.
Login phase
If user Ui wants to access the services provided by server Sj, Ui needs to login to Sj, where the process of the login phase are as follows:
(1) The user Ui inserts their smart card into the smart card reader and inputs their identity IDi and password pwi. The smart card then calculates QIDi = H(IDi), , and
and verifies whether
is equal to Hi. If they are equal, it is verified that Ui has the correct user identity and password. Thus, Ui is a legitimate user. Otherwise, the smart card aborts the session.
(2) The smart card chooses two random numbers ui and ri, and it computes DIDi = ui ⋅ QIDi and Ri = ri ⋅ P. Then, the smart card sends the login request message {DIDi, Ri} to server Sj over a public channel.
Authentication and session key agreement phase
(1) Based on the received login request message {DIDi, Ri} sent from the user Ui, the server Sj chooses a random number rj and computes Rj = rj ⋅ P, Tji = rj ⋅ Ri, Kji = sj ⋅ Ri and Authji = h(DIDi ∥ SIDj ∥ Kji ∥ Rj). Then, Sj sends the message {Wj, Rj, Authji} to Ui.
(2) When receiving {Wj, Rj, Authji}, Ui computes Tij = ri ⋅ Rj, pubj = h(SIDj ∥ Wj) ⋅ pubRC + Wj, Kij = ri ⋅ pubj and Authij = h(DIDi ∥ SIDj ∥ Kij ∥ Rj). Then, Ui checks Authij with the received Authji. If they are not equal, Ui terminates this session. Otherwise, Sj is proven to have the correct private key sj, and thus, Sj is authenticated. Ui continues to compute Mi = ri ⋅ DIDi, Ni = ui ⋅ CIDi, dij = h(DIDi ∥ SIDj ∥ Kij ∥ Mi) and Bi = (ri + dij) ⋅ Ni. Finally, Ui sends the message {Mi, Bi} to Sj.
(3) After receiving the message {Mi, Bi} sent from Ui, Sj computes dji = h(DIDi ∥ SIDj ∥ Kji ∥ Mi) and checks whether e(Mi + dji ⋅ DIDi, pubRC) = e(Bi, P). If they are not equal, Sj terminates this session. Otherwise, Ui is authenticated.
Finally, the user Ui and the server Sj agree on a common session key as Ui: SK = h(DIDi ∥ SIDj ∥ Kij ∥ Tij), Sj: SK = h(DIDi ∥ SIDj ∥ Kji ∥ Tji).
Sections 5.4 and 5.5 give the detailed procedures of the login phase and authentication and session key agreement phase, which are also depicted in Fig 2.
Password change phase
For security purposes, users need to change their passwords frequently. The following steps show the password change phase process for a user Ui.
(1) The user Ui inserts his/her smart card into the smart card reader and inputs their identity IDi and password pwi. Then, the smart card computes QIDi = H(IDi), ,
and checks whether
. If they are equal, Ui is verified as a legitimate user; otherwise, the smart card rejects the password change request.
(2) The smart card generates a random number zi and computes Zi = zi ⋅ P and AIDi = CIDi ⊕ zi ⋅ pubRC. Then, the smart card sends the message {IDi, AIDi, Zi} to the registration center RC.
(3) After receiving the message {IDi, AIDi, Zi}, RC computes CIDi = AIDi ⊕ sRC ⋅ Zi, QIDi = H(IDi), and checks whether e(CIDi, P) = e(QIDi, pubRC). If they are equal, user Ui is authenticated. Then, RC computes V1 = h(CIDi ∥ sRC ⋅ Zi) and sends {V1} to Ui.
(4) When receiving {V1}, the user computes and checks it against the received V1. If they are equal, the registration center RC is authenticated. Then, Ui chooses his/her new password
and the new random number
, and they compute
,
and
. Then, Ui submits {V2, V3} to RC.
(5) Upon receiving the response {V2, V3}, the registration server RC computes and
. Then, RC compares
with the received V3. If they are equal, RC continues to compute
,
and
. After that, RC sends {V4, V5} to Ui.
(6) After receiving {V4, V5}, Ui computes and
. Then, Ui checks whether
. If they are equal, user Ui replaces the original
and bi with
and
.
In addition to the descriptions listed above, the procedures of the password change phase of the proposed scheme are also given in Fig 3.
Security analysis
Stolen smart card and offline dictionary attacks
In the proposed scheme, we assume that if a smart card is stolen, physical protection methods cannot prevent malicious attackers for obtaining the stored secure elements. Simultaneously, an adversary A can access a large dictionary of words that likely includes the user’s password and intercept the communications between the user and server.
In the proposed scheme, if a user Ui’s smart card is stolen by an adversary A, the latter can extract from the memory of the stolen smart card. Simultaneously, it is assumed that adversary A has intercepted a previous full session of messages {DIDi, Ri, Wj, Rj, Authji, Mi, Bi} between the user Ui and server Sj. However, the adversary still cannot obtain Ui’s identity IDi and password pwi except by guessing IDi and pwi simultaneously. Therefore, it is impossible to obtain Ui’s identity IDi and password pwi from a stolen smart card and using offline dictionary attacks in our proposed scheme.
Replay attacks
Replaying a message of a previous session into a new session is useless in our proposed scheme because the user’s smart card and the server choose different rand numbers ri and rj, and the user’s identity is different in each new session. These factors make all messages dynamic and valid for that session only. If we assume that an adversary A replies with an intercepted previous login request {DIDi, Ri} to Sj, after receiving the response message {Wj, Rj, Authji} sent from Sj, A cannot compute the correct response message {Mi, Bi} to pass Sj’s authentication since they do not know the values of IDi, pwi, ui and ri. Therefore, the proposed scheme is robust to replay attacks.
Impersonation attacks
If an adversary A wants to masquerade as a legitimate user Ui to pass the authentication of a server Sj, the user must have the values of both QIDi and CIDi. However, QIDi and CIDi are protected by Ui’s smart card, IDi and pwi since QIDi = H(IDi) and . Therefore, unless the adversary A can obtain the user Ui’s smart card, IDi and pwi simultaneously, the proposed scheme is secure to impersonation attacks.
Server spoofing attacks
If an adversary A wants to masquerade as a legal server Sj to cheat a user Ui, the adversary must calculate a valid Authji that is embedded with the shared secret key Kji = sj ⋅ Ri to pass the authentication of Ui. However, the adversary A cannot derive the shared secret key Kji without knowing the private key sj of the server Sj. Therefore, our scheme is secure against server spoofing attacks.
Insider attacks
In the proposed scheme, the registration center RC cannot obtain Ui’s password pwi. Since in the registration phase Ui chooses a random number bi and sends IDi and HPWi = h(IDi ∥ pwi ∥ bi) ⋅ P to RC, RC cannot derive pwi from HPWi based on the CDL problem. Therefore, the proposed scheme is robust to insider attacks.
Denial of service attacks
In denial of service attacks, an adversary A updates the identity and password verification information on the smart card to some arbitrary value, and hence, legitimate users cannot login successfully in subsequent login requests to the server. In the proposed scheme, the smart card checks the validity of user Ui’s identity IDi and password pwi before the password update procedure. An adversary can insert the stolen smart card of the user Ui into the smart card reader and must guess the identity IDi and password pwi corresponding to the user Ui correctly. The smart card computes and compares it with the stored value of Hi in its memory to verify the legitimacy of the user Ui before the smart card accepts the password update request. It is not possible to guess the identity IDi and password pwi correctly simultaneously in real polynomial time even after obtaining the smart card of the user Ui. Therefore, the proposed scheme is secure against denial of service attacks.
Perfect forwarding secrecy
Perfect forwarding secrecy means that even if an adversary compromises all the passwords of the users, it still cannot compromise the session key. In the proposed scheme, the session key SK = h(DIDi ∥ SIDj ∥ Kij ∥ Tij) SK = h(DIDi ∥ SIDj ∥ Kij ∥ Tji) is generated by three single-use random numbers ui, ri and rj in each session. These single-use random numbers are only held by the user Ui and the server Sj and cannot be retrieved from SK based on the security of the CDH problem. Thus, even if an adversary obtains previous session keys, it cannot compromise other session keys. Hence, the proposed scheme achieves perfect forwarding secrecy.
User anonymity
In our proposed scheme, the user Ui’s login message is different in each login phase. For each login message, DIDi = ui ⋅ H(IDi) is associated with a random number ui, which is known by Ui alone. Therefore, no adversary can identity the real identity of the logged on user, and our scheme can ensure the user’s anonymity.
No verification table
In our proposed scheme, it is obvious that the user, server and registration center do not maintain a verification table.
Local password verification
In the proposed scheme, the smart card checks the validity of user Ui’s identity IDi and password pwi before logging into server Sj. Since the adversary cannot compute the correct CIDi without knowledge of IDi and pwi to satisfy the verification equation , our scheme can avoid unauthorized access via local password verification.
Proper mutual authentication
In our scheme, the user first authenticates the server. Ui sends the message {DIDi, Ri} to the server Sj to establish a connection. After receiving the response message {Wj, Rj, Authji} sent from Sj, Ui computes Tij, pubj, Kij, and Authij and checks whether Authij = Authji. If they are equal, Sj is authenticated by Ui. Otherwise, Ui stops to login to this server. Since Authji = h(DIDi ∥ SIDj ∥ Kji ∥ Rj) and Kji = sj ⋅ Ri, an adversary A cannot compute the correct Kji without knowledge of the value of sj. Any fabricated message cannot pass verification. Then, Ui computes Mi, Ni, dij, and Bi and sends the message {Mi, Bi} to Sj. After receiving the message {Mi, Bi} sent from Ui, Sj computes dji and checks whether e(Mi + dji ⋅ DIDi, pubRC) = e(Bi, P). If they are not equal, Sj terminates this session; otherwise, Ui is authenticated. Since Bi = (ri + dij) ⋅ Ni, an adversary A cannot compute the correct Bi without knowledge of the values of ui, ri etc. Any fabricated message
cannot pass verification. Therefore, our proposed scheme can provide proper mutual authentication.
Performance comparison and functionality analysis
In this section, we compare the performance and functionality of our proposed scheme with some previous schemes. To analyze the computation cost, some notations are defined as follows.
- TGe: The time for executing a bilinear map operation, e: G1 × G1 → G2.
- TGmul: The time for executing point scalar multiplication on the group G1.
- TGH: The time for executing a map-to-point hash function H(.).
- TGadd: The time for executing point addition on the group G1.
- Th: The time for executing a one-way hash function h(.).
Since the XOR operation and the modular multiplication operation require very few computations, it is usually negligible considering their computation costs.
Table 2 shows the performance comparisons of our proposed scheme and various other related protocols. We focus on three computational costs: C1, the total time for all operations executed during the user registration phase; C2, the total time spent by the user during the login phase and verification phase; and C3, the total time spent by the server during the verification phase. As shown in Table 2, Tseng et al.’s scheme is more efficient in terms of computational cost. However, Tseng et al.’s scheme is vulnerable to stolen smart card and offline dictionary attacks, server spoofing attacks and insider attacks and cannot provide perfect forwarding secrecy, user anonymity, proper mutual authentication and session key agreement. In our proposed scheme, the total computational cost for the user (C2) is 9TGmul+TGH+TGadd+5Th. However, similar to Liao et al.’s scheme, the user Ui can pre-compute Ri = ri ⋅ P in the client, and then, the computational cost of the user (C2) requires 8TGmul+TGH+TGadd+5Th on-line computations. It can be found that our proposed scheme has a slightly higher computational cost than Liao et al.’s scheme in C2, and the others are almost equal. However, Liao et al.’s scheme is vulnerable to stolen smart card and offline dictionary attacks and denial of service attacks and cannot provide user anonymity and local password verification.
Table 3 lists the functionality comparisons among our proposed scheme and other related schemes. It is obvious that our scheme has many excellent features and is more secure than other related schemes.
Conclusion
In this paper, we note that Li et al.’s scheme is vulnerable to stolen smart card and offline dictionary attacks, replay attacks, impersonation attacks and server spoofing attacks. Furthermore, by analyzing some other similar schemes, we find that certain types of dynamic ID-based and non-RC-dependent multi-server authentication schemes in which only hash functions are used face difficulties in providing perfectly efficient and secure authentication. To compensate for these shortcomings, we propose a novel dynamic ID-based and non-RC-dependent remote user authentication scheme for multi-server environments using pairing and self-certified public keys. The security and performance analyses show that the proposed scheme is secure against various attacks and has many excellent features. In the future, the use of authentication for high-tech industries, such as cloud computing [42–44] and big data [44–46], will be an important area and research task.
References
- 1.
Hwang T, Chen Y, Laih CS. Non-interactive password authentication without password tables. IEEE Region 10 Conference on Computer and Communication System, 1990;1:429-431.
- 2. Sun HM. An efficient remote user authentication scheme using smart cards. IEEE Trans. Consum. Electron. 2000;46(4):958–961.
- 3. Hwang MS, Lee CC, Tang YL. A simple remote user authentication scheme. Math. Comput. Model. 2002;36(1-2):103–107.
- 4. Das ML, Saxena A, Gulati VP. A dynamic ID-based remote user authentication scheme. IEEE Trans. Consum. Electron. 2004;50(2):629–631.
- 5. Fan CI, Chan YC, Zhang ZK. Robust remote authentication scheme with smart cards. Computers & Security. 2005;24(8):619–628.
- 6. Lee SW, Kim HS, Yoo KY. Efficient nonce-based remote user authentication scheme using smart cards. Applied Mathematics and Computation. 2005;167(1):355–361.
- 7. Li CT, Hwang MS. An efficient biometrics-based remote user authentication scheme using smart cards. Journal of Network and Computer Applications. 2010;33(1):1–5.
- 8. He D, Chen J, Hu J. An ID-based client authentication with key agreement protocol for mobile client-server environment on ECC with provable security. Information Fusion. 2012;13(3):223–230.
- 9. Li X, Niu JW, Ma J, Wang WD, Liu CL. Cryptanalysis and improvement of a biometrics-based remote user authentication scheme using smart cards. Journal of Network and Computer Applications. 2011;34(1):73–79.
- 10. Lee WB, Chang CC. User identification and key distribution maintaining anonymity for distributed computer network. Journal of Computer and System Sciences. 2000;5(4):211–214.
- 11. Juang WS. Efficient multi-server password authenticated key agreement using smart cards. IEEE Transactions on Consumer Electronics. 2004;50(1):251–255.
- 12. Hsiang HC, Shih WK. Improvement of the secure dynamic ID based remote user authentication scheme for multi-server environment. Computer Standard & Interfaces. 2009;31(6):1118–1123.
- 13. Sood SK, Sarje AK, Singh K. A secure dynamic identity based authentication protocol for multi-server architecture. Journal of Network and Computer Applications. 2011;34(2):609–18.
- 14. Li X, Xiong YP, Ma J, Wang WD. An efficient and security dynamic identity based authentication protocol for multi-server architecture using smart cards. Journal of Network and Computer Applications. 2012;35(2):763–769.
- 15. Liao YP, Wang SS. A secure dynamic ID based remote user authentication scheme for multi-server environment. Computer Standards & Interfaces. 2009;31(1):24–29.
- 16. Hsiang HC, Shih WK. Improvement of the secure dynamic ID based remote user authentication scheme for multi-server environment. Computer Standard & Interfaces. 2009;31(6):1118–1123.
- 17.
Shao M, Chin Y. A novel approach to dynamic id-based remote user authentication scheme for multi-server environment. In: 2010 4th International Conference on Network and System Security (NSS 2010). IEEE Press, 2010;548–553.
- 18. Lee CC, Lin TH, Chang RX. A secure dynamic ID based remote user authentication scheme for multi-server environment using smart cards. Expert Systems with Applications. 2011;38(11):13863–13870.
- 19. Lee CC, Lai YM, Li CT. An Improved Secure Dynamic ID Based Remote User Authentication Scheme for Multi-Server Environment. International Journal of Security and Its Applications. 2012;6(2):203–209.
- 20. Li X, Ma J, Wang WD, Xiong YP, Junsong Zhang. A novel smart card and dynamic ID based remote user authentication scheme for multi-server environments. Mathematical and Computer Modelling. 2013;5(1-2):85–95.
- 21. Lee WB, Chang CC. User identification and key distribution maintaining anonymity for distributed computer network. Comput. Syst. Sci. 2000;15(4):211–214.
- 22. Tsuar WJ, Wu CC, Lee WB. A flexible user authentication for multiserver internet services. Networking-JCN2001LNCS. 2001;2093:174–183.
- 23. Lin C, Hwang MS, Li LH. A new remote user authentication scheme for multiserver architecture. Future Generation Computer Systems. 2003;1(19):13–22.
- 24.
Geng J, Zhang L. A dynamic ID-based user authentication and key agreement scheme for multi-server using bilinear pairings. in: Proceedings of the 2008 Workshop on Power Electronics and Intelligent Transportation System. 2008;33–37.
- 25.
Chung YH, Tseng YM. Security weakness of two dynamic ID-based user authentication and key agreement schemes for multi-server environment. in: 2009 National Computer Symposium. 2009;250–257.
- 26. Tseng YM, Wu TY, Wu JD. A pairing-based user authentication scheme for wireless clients with smart card. Informatics. 2008;19(2):285–302.
- 27. Liao YP, Hsiao CM. A novel multi-server remote user authentication scheme using self-certified public keys for mobile clients, Future Generation Computer Systems. 2013;29:886–900.
- 28. Chou JS, Chen YL, Huang CH, Huang YS. Comments on four multi-server authentication protocols using smart card. IACR Cryptology. ePrint Archive 2012;406.
- 29. Chuang YH, Tseng YM. Towards generalized ID-based user authentication for mobile multi-server environment, International Journal of Communication Systems. 2012;25(4):447–460.
- 30. Yeh KH, Lo NW, Li YJ. Cryptanalysis of Hsiang-Shih’s authentication scheme for multi-server architecture. International Journal of Communication Systems. 2011;24(7):829–836.
- 31. Kumar A, Om H. An improved and secure multiserver authentication scheme based on biometrics and smartcard. Digital Communications and Networks. 2018;4(1):27–38.
- 32. Wang CY, Xu GA, Li WT. A Secure and Anonymous Two-Factor Authentication Protocol in Multiserver Environment, Security and Communication Networks. 2018;2018:9062675.
- 33. Shen H, Gao CZ, He DB, Wu LB. New biometrics–based authentication scheme for multi-server environment in critical systems. Journal of Ambient Intelligence and Humanized Computing. 2015;6(6):825–834.
- 34. Wang CQ, Zhang X, Zheng ZM. Cryptanalysis and Improvement of a Biometric-Based Multi-Server Authentication and Key Agreement Scheme. PLoS One. 2016;11(2):e0149173. pmid:26866606
- 35. Reddy AG, Das AK, Odelu V, Yoo KY. An Enhanced Biometric Based Authentication with Key–Agreement Protocol for Multi-Server Architecture Based on Elliptic Curve Cryptography. PLoS ONE. 2016;11(5):e0154308. pmid:27163786
- 36. Chaudhry SA, Naqvi H, Mahmood K, Ahmad HF, Khan MK. An Improved Remote User Authentication Scheme Using Elliptic Curve Cryptography. Wireless Personal Communications. 2016;90(321):1–19.
- 37. Yang XD, An FY, Yang P, Liu TT, Wang CF. Cross-domain Identity Authentication Scheme in Cloud Based on Certificateless Signature. Computer Engineering. 2017;43(11):128–133.
- 38.
Girault M. Self-certified public keys. Advances in Cryptology, Eurocrypt’91. Springer-Verlag, 1991;491–497.
- 39.
Petersen H, Horster P. Self-certified keys concepts and applications, in: Proceedings of the 3rd Conference of Communications and Multimedia Security. Athens, 1997 September; 22–23.
- 40. Yu Y, Wang HM, Yin G, Wang T. Reviewer recommendation for pull-requests in GitHub: What can we learn from code review and bug assignment?. Information and Sotware Technology. 2016;74:204–218.
- 41. Luo CC, Osborne M, Wang T. An effective approach to tweets opinion retrieval. World Wide Web. 2015;18(3):545–566.
- 42. Li T, Li J, Liu ZL, Li P, Jia CF. Differentially Private Naive Bayes Learning over Multiple Data Sources. Information Sciences. 2018;444:89–104.
- 43. Gao CZ, Cheng Q, He P, Susilo W, Li J. Privacy-Preserving Naive Bayes Classifiers Secure against the Substitution-then-Comparison Attack. Information Sciences. 2018;444:72–88.
- 44. Li J, Liu ZL, Chen XF, Tan X, Wong DS. L-EncDB: A Lightweight Framework for Privacy–Preserving Data Queries in Cloud Computing. Knowledge-based Systems. 2015;79:18–26.
- 45. Li J, Chen XF, Chow SSM, Huang Q, Wong DS, Liu ZL. Multi-authority fine-grained access control with accountability and its application in cloud. Journal of Network and Computer Applications. 2018;112:89–96.
- 46. Huang ZG, Liu SL, Mao XP, Chen KF, Li J. Insight of the Protection for Data Security under Selective Opening Attacks. Information Sciences. 2017;412-413:223–241.