Abstract
With the agile development of the Internet era, starting from the message transmission to money transactions, everything is online now. Remote user authentication (RUA) is a mechanism in which a remote server verifies the user’s correctness over the shared or public channel. In this paper, we analyze an RUA scheme proposed by Chen for the multi-server environment and prove that their scheme is not secured. We also find numerous vulnerabilities such as password guessing attack, replay attack, Registration Center (RC) spoofing attack, session key verification attack, and perfect forward secrecy attack for Chen’s scheme. After performing the cryptanalysis of Chen’s scheme, we propose a biometric-based RUA scheme for the same multi-server environment. We prove that the proposed authentication scheme achieves higher security than Chen’s scheme with the use of informal security analysis as well as formal security analysis. The formal security analysis of the proposed scheme is done using a widely adopted random oracle method.
Introduction
In recent years, the popularity of the web is expanding massively. Most of the services are available online via the Internet. In current trends, a user does not need to go anywhere physically to get essential services. Still, instead of user remotely orders those services over the web by giving his/her accreditation. Therefore, the user’s information or data goes through an unreliable or open channel. As all the correspondence and information exchange is done on a public or open channel, it is a significant challenge to develop reliable and secure information sharing mechanism to protect the data against various sorts of attacks. For that, the system needs to authenticate (i.e., is the remote user who he/she claims to be) and to authorize (i.e., is the remote user has rights to get to specific administration) the remote user. A conventional system for RUA incorporates a password table at the server-side. However, these days, the entire authentication system is transformed with the use of a smart card (SC). The SC is a plastic card or pocket estimate card having a microchip that can store the data or the information. We can use SC for the authentication as well as for the storage of secret security parameters. Through the replacement of the password table by the SC, researchers have improved the security for data sharing platforms and tried to protect those data-sharing platforms from the sharp watchdog systems of an attacker.
In the single-server system, multiple users get service from the single server while in the multi-server system, numerous users try to get service from the innumerable servers simultaneously. In the multi-server environment, the user registers with the central RC, allowing access to all the associated servers. Nowadays, we use a single login system to access the multiple servers of google, and this is a real-time example for the multi-server system. Authentication in the multi-server system can be either two-factor based authentication or three-factor based authentication. The authentication system is either two-factor or three-factor depends on the number of parameters selected for the articulation of the authentication mechanism. During designing of any secure and reliable authentication system, we need to concede the following strands: What remote user know (password, pin), What remote user has (mobile, RFID, SC, e-token), Who remote user is (biometrics).
In this paper, we propose a three-factor authentication scheme for the multi-server environment. In 1981, Lamport [1] presented the first password-based authentication of the remote user over an open or regular channel. The proposal of Lamport had the major drawback of password storage. For the system with only password-based security, if server stores the password then it doesn’t assure the security of the system from insider attacks, password spoofing attacks and other major attacks. Thus, to overcome the limitations of the password-based approach, Hwang et al. [8] in 2000 proposed an SC based authentication scheme. But, the scheme proposed by Hwang et al. did not permit a remote user to select and update their passwords uninhibitedly; therefore, there was a vulnerability inside password updation in Hwang et al.’s scheme.
Towards the Further improvement in the authentication system, in 2003, Aoshima et al. [2] (US Patent - One-time Login Method) presented the difference among authentication and authorization, and they suggested a One time password (OTP) based system to improve the security of the system. Further, in 2003, Lee et al. [3] proposed the RUA scheme based on two-factor authentications by the combination of password and SC. In 2006, Cheng’s scheme [6] offered a first multiple servers based system and gave a brief idea about the interaction between multiple servers and numerous end-user devices. In the continuation of security enhancement, various other authors in [3–20, 43] had also proposed RUA schemes and prove the strength for their systems using security analysis and performance analysis. Authors in the papers, as mentioned above, claimed that their schemes do not bother for the storage of the password table, but instead, they make use of either SC or OTP.
In 2009, Xu et al. [5] put forward a SC based authentication scheme by limiting the attacker’s capability using guess that attacker can’t steal both (password and SC of the user) at the same time. Therefore, they tried to limit the attacker’s capability, and guessed that an attacker could not have a SC and an original password of the user simultaneously and proposed a RUA scheme. In 2006, Cheng et al. [6] introduced a system that deals with multiple servers and their interaction with the end-users. To cope with the drawback of password table authentication and two-factor authentication, in 2009, Li et al. [8] proposed a three-factor meant biometrics-based authentication scheme with the random number. All the schemes [1–23] had certain security vulnerabilities. Authors in [24–40] had tried to overcome those limitations and proposed secure and efficient RUA schemes using a hash function, OTP, Random number, time-stamp, etc. We recommend the researcher to study those schemes. Recently authors in [45] published an authentication scheme for the sensor-based network setup where the user communicates with sensors through the gateway device.
The principal motivation for writing this paper and proposing a new authentication scheme is the existence of proven vulnerabilities in the recently proposed authentication scheme. In the past works, the authors store the password in the password table at the server-side. The stored password can be either in plaintext or in encrypted form. To address these challenges, SC is a proven tool. The user and the server stores the secret data on microchip available with the SC. SC is easy to use, highly secure, tamper-proof and the most reliable approach for the key generation and the password updation.
Subsequent sections in the paper are organized as follows: Section 2 discusses preliminaries used for the articulation of proposed work. Section 3 Chen’s Scheme provides review for the scheme proposed by Chen et al. [23]. Section 4 provides cryptanalysis for the Chen et al. [23] scheme and highlights vulnerabilities for it. Section 5 put forward a proposed authentication scheme. In section 6, we provide an informal security analysis for the proposed work based on the Dolev-Yao channel. The formal security analysis for the proposed work is discussed in section 7 using Real-or-Random (ROR) model. In section 8, we carry out performance analysis for the proposed work in terms of time complexity and attack analysis. Finally, in section 10, we provide a conclusion followed by the future work related to proposed work.
Preliminaries
Symbols and notations
Table 1 provides symbols and notations which are used in the articulation of proposed work.
Symbols and notation
Symbols and notation
The cryptographic hash function H is defined as a H : {0, 1} * → {0, 1} n , where * is a random size input and n is the fix size output. A function H is a subordinate function that uses various cryptographic purposes such as designing of digital signature, authenticated key exchange, random number generation, and so on. Every cryptographic hash function must satisfy certain properties such as second pre-image resistant or week collision property, pre-image resistant or one-way property, variable size input, fixed-size output, collision-resistant, or strong collision property, efficiency, and randomness.
Review of Chen’s scheme
In this section, we put forward a detailed analysis for the RUA scheme proposed by Chen et al. [23]. Following 4 phases was used by Chen et al. [23] in their proposed work. Registration Phase, Login Phase, Authentication Phase, Password Change Phase,
Registration phase
In this phase, user picks {r, ID
i
, PW
i
}. User sends selected identity ID
i
, and hash of the generated random number r with selected password PW
i
over a protected channel for registration. The RC performs necessary verification and calculations. Here x and y are secret keys generated by the RC. After performing the required operations, the RC creates a SC and passes it to the user over a protected channel. User computes h(r ⊕ PW
i
) and sends ID
i
with h(r ⊕ PW
i
) over a secure channel to the server. Server computes R
i
= h(h(r ⊕ PW
i
)), M
i
= h(R
i
||h (x ⊕ y)), E
i
= M
i
⊕ h (r ⊕ PW
i
), L
i
=h(ID
i
||x), W
i
= L
i
⊕ h (ID
i
||h (r ⊕ PW
i
)), F
i
= h(L
i
). Server generates SC = {W
i
,E
i
,F
i
,h(.),h(y)} and sends it to user over a secure manner.
Login phase and authentication phase
In the login phase, user inputs ID
i
and PW
i
. Then, at the user side certain operations (discussed below) are followed, and then the user sends a parameter set m1 to the remote server for the login purpose. In the login phase, server performs operation for the user validation and sends a parameter m2 to the user. Now, the user verifies the server message and sends a parameter set m3 to the server for authentication and key generation. Thus, both the parties mutually authenticate each other and draw a session key. User computes L
i
= W
i
⊕ h (ID
i
||h (r ⊕ PW
i
)), F
i
* = h(L
i
) then check F
i
* ?= F
i
, if this is verified. User generates random number N
i
and computes M
i
= E
i
⊕ h (r ⊕ PWi), R
i
= h(h(r ⊕ PW
i
)), User computes G
ij
= R
i
⊕ h (h (y) ||N
i
||SID
j
), CID
i
= h(r ⊕ PW
i
) ⊕ h (Li||Mi||Ni) User computes H
ij
= L
i
⊕ h (M
i
||Ni||SID
j
), Z
i
= h(E
i
||M
i
||N
i
). User sends message m1= {CID
i
, G
ij
, H
ij
, Z
i
, N
i
} to server through open insecure channel. After receiving a message from the user, server computes R
i
= G
ij
⊕ h (h (y) ||N
i
||SID
j
), M
i
= h(R
i
||h (x||y)), L
i
= H
ij
⊕ h (M
i
||N
i
||SID
j
), h(r ⊕ PW
i
) = CID
i
⊕ h (L
i
||M
i
||N
i
), E
i
= M
i
⊕ h (r ⊕ PW
i
), h(E
i
||M
i
||N
i
) ?= Z
i
Server generates random number N
j
and computes V
ij
= h(E
i
||N
i
||M
i
||SID
j
). Server prepares message m2 = {V
ij
,N
j
} and sends it to user. User computes h(E
i
||N
i
||M
i
||SID
j
) ?= V
ij
, Server receives a message and computes h(E
i
||N
j
||M
i
||SID
j
) ?= User also computes session key SK = h(E
i
||N
i
||N
j
||M
i
||SID
j
).
Password change phase
In this phase, user can change password using his/her credentials. User provides ID
i
and PW
i
, now user system computes L
i
= W
i
⊕ h (ID
i
||h (r ⊕ PW
i
)), F
i
* = h(L
i
). User system verifies F
i
* ?= F
i
and selects (PW
i
new
, r
new
). User system computes W
i
new
= L
i
⊕ h (ID
i
||h (r
new
⊕ PW
i
new
)), E
i
new
= E
i
⊕ h (r ⊕ PW
i
) ⊕ h (r
new
⊕ PW
i
new
). User system updates SC = {W
i
new
, E
i
new
, F
i
, r
new
, h(.), h(y)}.
Cryptanalysis for the Chen’s scheme
In this section, we discuss vulnerabilities for the authentication scheme proposed by Chen et al. [23].
Password guessing attack
During the authentication phase, user and server exchanges parameter
Replay attack
Whenever, an attacker tries to send the same message, which is intercepted by him/her before some time, he/she tries to perform the replay attack. In Chen’s scheme, during an authentication phase, if an attacker intercepts the first parameter set m1= {G ij , CID i , N i , Z i , H ij } and sends the m1 to the server after a while. Server computes {R i , M i , L i , E i } and compares Z i ?= h (E i ||M i ||N i ) and then generates server nonce N j . If the user is not a genuine user, then also the server continues the computation of many other operations means eight-time hash function and six time XOR function. After these many operations only, server can validate weather user is a genuine one or not. Over here, server wastes CPU and takes unnecessary time for user verification.
RC spoofing attack
If the RC acts as an attacker, then the attacker has all the resulting values for which it will perform computation. Thus, in the registration phase RC has these resulting parameters: {R i , M i , E i , L i , W i , F i }. In this scheme, session key can be computed in the authentication phase: SK = h (E i ||N i ||N j ||M i ||SID j ), where N i (user nonce) and N j (server nonce) can be intercepted from the public channel, SID j is known to everyone and rest of the parameters E i and M i can be received easily as it is available at RC and in RC spoofing attack, RC itself behaves as an attacker. As a result, the attacker has all five parameters necessary for the session key and thus it can easily impersonate as a legal user.
Perfect forward secrecy
In the authentication phase, the value of
Session key verification attack
In the authentication phase, both communicating parties generate a session key, SK = h (E i ||N i ||N j ||M i ||SID j ), but session key is not verified, This is not the right way to provide a mutual authentication before the actual conversation. Before further communication, session key must be established and verified by both the parties.
Performance issue
Chen’s scheme has a number of hash functions. It can take a significant amount of time to perform authentication. In the registration phase, there are eight hash functions while in the login phase, there are nine hash functions. In the authentication phase, there are nine hash functions, while in the password change phase, there are four hash functions. Thus, a total of 30 times hash operation is performed, and therefore, it consumes a significant amount of time and compromises the system’s performance.
Proposed scheme
In this section, we propose a new approach for the multi-server authentication by adopting a key agreement scheme using a SC. We apply three-factor authentication in a multi-server environment. We propose following three phases: Registration phase, Login and authentication phase, Password change phase.
There are three entities in our proposed algorithm: Remote user Registration center (RC) Server
The RC generates: KFH→ pre-shared key between the RC and the server. MSK→ secret key generated by the RC for legitimate remote user. FSK→ secret key generated by RC for the legitimate server, where KFH = h (ID
Server
||FSK).
Registration phase
New user can register himself/herself with the RC and access any of the servers associated with RC. Following steps describe registration procedure followed by the user: User selects ID
i
, PW
i
, BM
i
and random number r. SCR computes RPW
i
= h(PW
i
||h (BM
i
)) or RPW
i
= h(PW
i
||ID
i
||r) then, SCR sends registration request (ID
i
, RPW
i
) to RC over Secure Channel. RC performs A
i
= h(ID
i
||MSK), B
i
= A
i
⊕ RPW
i
, then RC sends the reply with parameters (B
i
, A
i
, Ek(.)/ Dk(.), h(.)) to remote user over secure channel. Remote user saves (B
i
, A
i
, Ek(.)/ Dk(.), h(.), (BM
i
⊕ r))
At the completion of the registration phase, user has parameters that he/she will use for the login and authentication phase. So, the next phase is the user login, mutual authentication and key generation phase.
Login and authentication phase
In this phase, user and server performs mutual authentication and generates secret session key. During this phases, user and remote server performs the following steps:. User enters ID
i
, PW
i
and BM
i
. SCR computes RPW
i
= h (PW
i
||h (BM
i
)) or h (PW
i
||ID
i
||r) by getting r = (BM
i
⊕ r) ⊕ BM
i
. Now SCR verifies SCR sends login request (D
i
, T1) to the server. Server computes, T2 - T1 < = ΔT, DSEC
S
{D
i
}. Server sends message to the RC in encrypted format and the KFH is pre-shared key. Thus, the message EKFH {A
i
, ID
i
, T3} is sent and then the RC computes T4 - T3 < = ΔT, DKFH {A
i
, ID
i
, If RC sends response to the server (T5) and server computes T6 - T5 < = ΔT and generates rFA. Server computes RFA = rFA . RMU, RPW
i
= Bi ⊕ Ai, Fi = RMU ⊕ RFA, SK = h (RFA||ID
i
||RPW
i
||T7). Server sends response to the remote user (h (SK) , T7, F
i
) and user computes T8 - T7 < = ΔT and gets RFA = F
i
⊕ RMU, If SCR verifies the session key and performs the session key agreement.
Password change phase
In the proposed RUA scheme, user does not contact with the RC or the server for the password updation. The user follows following steps for the password updation: User selects ID
i
, PW
i
, BM
i
, SCR computes RPW
i
= h(PW
i
||h (BM
i
)) or h(PW
i
||ID
i
||r), if User selects a new password The SCR computes Bi* =
Informal security analysis for the proposed scheme
Password guessing attack
In the password guessing attack, an attacker performs guesswork and tries different passwords. If an attacker succeeds than he/she can prove himself/herself as a valid user. In the proposed scheme, the intruder performs RPW i = h (PW i ||h (B i )) or h (PW i ||ID i ||r). As a result, an attacker may guess the password, but he/she can never guess the values of RPW i as RPW i which are inked with the parameters such as user biometrics, user identity and random numbers generated by the user. Thus, the attacker can not prove him/herself as a genuine user for the proposed system.
Replay attack
If An attacker stores the past login messages and utilizes those messages to login into the server after some time into the system. In our Proposed scheme, we utilize a timestamp for each communicated message over an open channel. Both the communicating parties first verify the timestamp upon receiving the message. Therefore, in our proposed method, we perform verification twice for security enhancement.
Spoofing attack
In the RC spoofing attack, RC, as an insider, performs an attack on the system. Attacker misuses parameters stored by RC to derive a session key. In our proposed work, we generate a session Key SK = h (RFA||ID i ||RPW i ||T7). If the RC attacks the system, then RC can use the available parameters Ai and Bi. But, the proposed system does not use Ai and Bi for the session key computations, Thus, there is no possibility that RC ever succeeds in spoofing of the original session key.
Perfect forward secrecy attack
If the attacker compromises the user’s credentials or any other sensitive information and the attacker derives the original session key using those parameters, it is called a perfect forward secrecy attack. In the proposed scheme, we take care that let random number does not appear as an open parameter to any party during the verification procedure. We follow the multiple multiplications of random numbers for security enhancement in the proposed scheme. The final result of random number multiplications is inked as one of the security parameter for the final session key. For example, generated random numbers are rMU, P and rFA, We calculate RMU = rMU . P followed by RFA = rFA . RMU ., and SK = h (RFA||ID i ||RPW i ||T7). Thus, the proposed scheme is strong enough against the perfect forward secrecy attack.
Session key verification property
For any mutually authenticated secure system, Both the communicating parties must compute session key as well as ensure that counter party also computed the same session key. If the session key is verified, then the system achieves session key verification property or mutually authentication property. In the proposed scheme, server generates SK = h (RFA||ID
i
||RPW
i
||T7) and sends h (SK) over public channel. At the user side, user verifies this session key by
User anonymity property
When the server is not aware of user identity, it is called user anonymity. In the remote server, the authenticated user must be unidentifiable and untraceable. In our Proposed Scheme, SC does not store the user’s identity SC = {r, A i , B i , Ek (.) , Dk (.) , h (.)}. If the SC is compromised, then also the identity of the user is not revealed. During the login and authentication phase also, the user never sends his/her identity as a plain text over a public channel. User sends (D i , T1) where D i is encrypted and secure. Thus, we can say that the proposed method achieves user anonymity property.
User impersonation attack
In the user impersonation attack, the attacker claims that he/she is the genuine user for the system. Thus, the attacker sends the login request to the server, and if the server authenticates him/her, he/she can prove himself/herself as a legitimate user. In the proposed scheme, an attacker can not generate a correct login request. A public key of the server encrypts parameter D i in the login message, and D i is generated using parameters like A i and B i which are protected by a random number, and validated pair of id and password. Thus, it is next to impossible that an attacker can impersonate the legal user as the value of D i depends on the identity, password, random number, and MSK. Thus, the proposed RUA scheme provides immunity against user impersonate attack.
Secure and user-friendly password change phase
In the proposed scheme, a valid user can easily change the password. In the password Change Phase, user provides registered credentials like identity, password and random number / biometrics followed by the SCR verification. After successful verification, only the valid user becomes eligible to provide a new password PWi*. The SCR computes parameters (
Denial of service attack
In DoS attack, an attacker tries to reduce the server’s performance by either syn flooding or any other means. In the proposed scheme, we use Biohash function for the improvement of security and reduction in time. This is because in the normal hashing function, if the input is biometric, then the avalanche effect of hash function takes more time and resources than the Biohash function. In Chen’s scheme, the system uses additional CPU resources to prove user legitimacy. Still, in the proposed scheme, we perform lighter computations for the same purpose. Thus, the proposed system also achieves efficient resource utilization.
Smart card stolen attack
If an attacker steals the SC of a genuine user, he/she tries to read all the parameters from SC. If an attacker succeeds, he /she gets access to the user’s account. In the proposed scheme, if the SC is stolen then also an attacker will not get value of D i = EPUB S {RMU, A i , B i , T1, ID i } which is principal parameter for the session key generation. Thus, our proposed scheme is secured against the SC stolen attack.
Message modification attack
An attacker can modify any of the messages communicated through the public channels. In the proposed scheme, all the messages pass through the open channel, but these messages are in either encrypted or digested format. and therefore, only legitimate user or server can access those data or interpret them. Thus, the proposed scheme is secured against the message modification attack.
Session key computation attack
An attacker can intercept and compute the session key passing through the public channel. In the proposed scheme, session key is computed as a SK = h (RFA||ID i ||RPW i ||T7). The session key computation requires original timestamp and precise random numbers, which are unique and dynamic values for each session key. Therefore, we claim that the proposed scheme provides security against the session key computation attack. In mutual authentication, both the parties authenticate each other. In the proposed scheme, the RC authenticates both, remote server and remote user by providing three keys (MSK, FSK, KFH). The user encrypts the data with the server’s public key. If the server can decrypt it using its secret key, mutual authentication between the user and the server can be performed efficiently. The server encrypts the data using the pre-shared key and sends those data to RC. If the RC can decrypt the encrypted data, mutual authentication between the server and the RC is performed efficiently. The RC also authenticates a remote user, so a user and the RC mutually authenticate each other. Thus, our proposed scheme possesses mutual authentication properties.
Mutual authentication property
In mutual authentication, both the parties authenticate each other. In the proposed scheme, the RC authenticates both, remote server and remote user by providing three keys (MSK, FSK, KFH). The user encrypts the data with the server’s public key. If the server can decrypt it using its secret key, mutual authentication between the user and the server can be performed efficiently. The server encrypts the data using the pre-shared key and sends those data to RC. If the RC can decrypt the encrypted data, mutual authentication between the server and the RC is performed efficiently. The RC also authenticates a remote user, so a user and the RC mutually authenticate each other. Thus, our proposed scheme possesses mutual authentication properties.
Formal security analysis of propose scheme using random oracle
There are many tools such as AVISPA [44] and ROR [41] available for the security analysis of RUA schemes. The ROR [41] is a random oracle based tool that is utilized to analyze the proposed protocol in formal way. The challenger
If the
We provide the formal security proof for the propose protocol as follows:
In order to compare our proposed scheme with Chen’s scheme [23], we use two metrics: Time complexity. Security analysis.
In the first parameter, we prove that our proposed scheme takes lesser time than Chen’s scheme, and in the second parameter, we prove that our proposed scheme is more secure against different attacks as compared to Chen’s scheme.
Analysis based on security
In Table 2, we compare Chen’s scheme and the proposed scheme in terms of attacks. We consider a list of attacks and compare both the schemes against those attacks as depicted in the table. We demonstrate that our proposed scheme is more secure as compared to Chen’s scheme.
Comparison based on security
Comparison based on security
In Table 3, we compare Chen’s scheme and the proposed scheme in terms of time complexity. We consider the time taken by the hash function (T h ), XOR function (T x ), concatenation function (T c ), symmetric (E and D) and asymmetric encryption/decryption function (AE and AD). As shown in the table, we demonstrate that our proposed work diminishes the overhead to validate the user as compared to Chen’s scheme. Therefore, Table 4 shows time computation required by both the schemes. It shows that the proposed remote user authentication scheme is better than the Chen’s scheme. The implementation of the proposed scheme is performed in system with Core-i7 processor with 8 GB RAM on the Linux environment. The individual time consumption for the various cryptographic functions are as follows. The hash function T h takes 0.023 s, XOR function (T x ) takes 0.013 s, concatenation function (T c ) takes 0.0122 s, symmetric functions (E and D) takes 0.0466 s and asymmetric encryption/decryption functions (AE and AD) take 0.112 s.
Comparison based on operations
Comparison based on operations
Comparison based on timing
This work is carried out by Chintan Patel and Dhara Joshi under the supervision of Nishant Doshi. Rutij Jhaveri and Veeramuthu helps in communication and various stage of this paper. We are thankful to Pandit Deendayal Petroleum University, Marwadi University and Sathyabama University for the support to carried out this work. We are thankful to Guest Editor and anonymous reviewers for their painstaking efforts in making this paper as it now.
Conclusions and future work
In this paper, we perform the cryptanalysis for Chen’s authentication scheme. During cryptanalysis, we discovered that Chen’s scheme is vulnerable to various attacks such as password guessing attack, replay attack, RC spoofing attack, perfect forward secrecy attack, and the session Key Verification attack. To address the limitations of Chen’s scheme, we proposed a scheme for the multi-server environment. Using the Dolev-Yao channel, we performed an informal security analysis while we used the random oracle based ROR model to show the formal security analysis. We highlighted the performance analysis of the proposed scheme based on time complexity. To summarize, the proposed authentication scheme is considerably efficient and secured against the attacks mentioned above and other well-known attacks. The Proposed scheme also has certain computational limitations and vulnerabilities. The scheme proposed uses a client-server-based network model, which can be enhanced with different network models such as user-gateway-sensor, which is used in sensor networks and the Internet of Things. In the proposed scheme, we used hash function and other traditional crypto algorithms. In this era of smart devices, it is imperative to use light-weight cryptography algorithms such as an Elliptic Curve Cryptography (ECC). As future work, we would consider resource constraint devices as a communicating party and derive a light-weight authentication scheme for the setup.
