Next Article in Journal
Analysis of Steady-State Characteristics for a Newly Designed High Voltage Gain Switched Inductor Z-Source Inverter
Previous Article in Journal
Multi-Task Scheduling Based on Classification in Mobile Edge Computing
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Authentication Protocol with Strong Security for Roaming Service in Global Mobile Networks

1
School of Computer Science and Engineering, Hunan University of Science and Technology, Xiangtan 411201, China
2
Department of Computer Science and Engineering, Xiamen Institute of Technology, Xiamen 361021, China
3
School of Computer & Communication Engineering, Changsha University of Science & Technology, Changsha 410004, China
*
Author to whom correspondence should be addressed.
Electronics 2019, 8(9), 939; https://doi.org/10.3390/electronics8090939
Submission received: 22 July 2019 / Revised: 15 August 2019 / Accepted: 22 August 2019 / Published: 26 August 2019
(This article belongs to the Section Computer Science & Engineering)

Abstract

:
In today’s society, Global Mobile Networks (GLOMONETs) have become an important network infrastructure that provides seamless roaming service for mobile users when they leave their home network. Authentication is an essential mechanism for secure communication among the mobile user, home network, and foreign network in GLOMONET. Recently, Madhusudhan and Shashidhara presented a lightweight authentication protocol for roaming application in GLOMONET. However, we found their protocol not only has design flaws, but is also vulnerable to many attacks. To address these weaknesses, this paper proposes a novel authentication protocol with strong security for GLOMONET based on previous work. The fuzzy verifier technique makes the protocol free from smart card breach attack, while achieving the feature of local password change. Moreover, the computational intractability of the Discrete Logarithm Problem (DLP) guarantees the security of the session key. The security of the protocol is verified by the ProVerif tool. Compared with other related protocols, our protocol achieves a higher level of security at the expense of small increases in computational cost and communication cost. Therefore, it is more suitable for securing the roaming application in GLOMONET.

1. Introduction

The network enriches the way people access information, and technologies such as wireless sensor networks (WSN) [1,2,3,4], multi-hop wireless networks [5,6], and the Internet of Things (IoT) [7,8,9] have greatly advanced the intelligence level of peoples’ lives. Benefiting from the development of telecommunication technologies such as 4G, 5G, and Wi-Fi, wireless and mobile communication [10,11,12] have become the most popular means of communication. Meanwhile, the trend of intelligence and miniaturization of devices makes it a reality for people to deal with daily affairs through mobile terminals for various AI applications [13,14]. The Global Mobile Network (GLOMONET) is an important infrastructure for mobile users to enjoy the network anytime and anywhere, which provides roaming service for the mobile users. In the general architecture of GLOMONET environments, there are three entities, namely the Mobile User ( M U ), the Foreign Agent ( F A ) of the roaming network, and the Home Agent ( H A of the registered network. Due to the complexity of the wireless network communication environment, it faces serious security and privacy breach threats [15,16,17,18]. For example, in GLOMONET, in order to facilitate billing and secure communication, F A needs to verify the validity of M U with the assistance of the H A . Therefore, authentication is an indispensable mechanism for GLOMONET. Meanwhile, session key agreement is also essential for subsequent secure communication after the bidirectional authentication between M U and F A . Besides, the update of the session key is an ideal feature for authentication in GLOMONET if M U wants to access F A continuously.
As early as 2004, Zhu et al. [19] first proposed an anonymous authentication mechanism for GLOMONET, which allows M U to access F A after authentication with the assistance of H A . Unfortunately, Lee et al. [20] analyzed the drawbacks of the mechanism in [19], i.e., they found that it was vulnerable to forgery attack and could not provide bidirectional authentication and backward secrecy, and they proposed an enhanced scheme. However, the work in [21] and [22] independently pointed out the shortcomings of the scheme in [20], such as it could not ensure user anonymity and could not achieve backward secrecy. In 2011, Xu et al. [23] further analyzed the defects of the scheme in [20] and pointed out that the anonymity feature of the scheme in [20] could be compromised by a malicious insider. Besides, they found that the agreement of the session key between M U and F A was unfair, and it could be decided unilaterally by M U . Based on the Diffie–Hellman Protocol (DHP), Xu et al. [23] devised an authentication scheme preserving anonymity for GLOMONET to achieve desirable security and fair session key agreement. Later, many researchers proposed their special solutions for authentication in GLOMONET. In 2011, the work in [24] proposed a robust authentication scheme for GLOMONET, which used the certificate to achieve the three parties’ authentication. Their scheme had many advantages, such as single registration, no verifier table, high efficiency, and resistance to smart card breach attack. However, Li et al. [25] found that the protocol in [24] was still vulnerable to a tracking attack and could not achieve fair key agreement. To fix these drawbacks, Li et al. proposed an improvement scheme [25] relying on DHP. However, their scheme needed more modular exponential operations than the previous scheme [23]. Based on elliptic curve cryptography, Yoon et al. [26] proposed a user-friendly authentication protocol for GLOMONET. However, Niu and Li [27] found that their scheme had the same drawbacks as the scheme in [24]. In 2012, Mun et al. [28] proposed an improved authentication scheme for GLOMONET. Due to it was designed on the basis of elliptic curve DHP, their scheme guaranteed forward secrecy and also could resist man-in-the-middle attack. However, their scheme lacked some ideal functions such as local password change and also suffered from several attacks [29]. Hereafter, many user authentication protocols [30,31,32,33,34,35,36] were proposed to improve the efficiency and enhance the security. In 2015, Marimuthu and Saravanan [30] designed an authentication for GLOMONET based on the Discrete Logarithm Protocol (DLP) and DHP. However, their protocol lacked the session key update function and could not achieve perfect forward secrecy [31]. Recently, Madhusudhan and Shashidhara [32] pointed out some other defects of the scheme in [30], such as stolen verifier attack, impersonation attack, and insider attack. They also proposed an improved authentication protocol for GLOMONET [32], which they claimed was secure and lightweight. However, their protocol had a fatal flaw in the design, i.e., some information that should be kept secret was transmitted by plaintext. Therefore, their protocol not only lacked proper bidirectional authentication, but also suffered from stolen verifier attack, mobile device breach attack, session key compromise attack, and user impersonation attack.
Although many solutions for user authentication in GLOMONET have been presented by researchers, most of them have certain defects in security or function. For example, most of the protocols did not address the contradiction between the function of local password change and resistance to smart card loss attack. To achieve the feature of local password change, some verification information should be stored in the mobile device or smart card. Therefore, an adversary A can use this verification information to guess the corresponding password when A obtains the mobile device or smart card. Besides, to ensure the security of the session key and secure update of the session key, public key cryptography is essential. In order to reconcile this contradiction and enhance security, we propose a novel authentication protocol with strong security for GLOMONET. The fuzzy verifier technique is used to balance the conflict between local password change and stolen smart card attack. A discrete logarithm based DHP was adopted to keep the session key secure and achieve the session key update.
The arrangement of the remaining sections is as follows: Section 2 reviews the protocol in [32] and points out their design and security flaws; our protocol, the corresponding formal proof, and the formal verification by ProVerif are presented in Section 3Section 5, respectively; Section 6 discusses the security properties and compares it with other related protocols; Section 7 summarizes the full paper.

2. Review and Cryptanalysis of Madhusudhan and Shashidhara’s Protocol

In this section, Madhusudhan and Shashidhara’s scheme [32] for GLOMONET is reviewed, and then, the design and security defects of their scheme are pointed out. For convenience of description, the notations used throughout the paper are listed in Table 1.

2.1. Review of Madhusudhan and Shashidhara’s Scheme

Their scheme [32] contained four phases, which were initialization, registration, authentication, and password change. Since the last phase was not involved in our analysis, only the first three phases were reviewed.

2.1.1. Initialization Phase

H A generates two large prime numbers p, q and chooses a generator g of Z p * . Besides, H A calculates n = p × q and ϕ ( n ) = ( p 1 ) × ( q 1 ) . Then, H A chooses an integer e ( 1 , ϕ ( n ) ) and calculates d = e 1 mod ϕ ( n ) , where g c d ( e , ϕ ( n ) ) = 1 . Next, H A calculates and releases the public key y = g d mod n and retains { d , p , q } secretly.

2.1.2. Registration Phase

To register as a legitimate user, M U interacts with H A as follows:
Step 1.
M U chooses identity I D M U , password P W M U , and produces a nonce N. Next, M U calculates R 1 = h ( I D M U N ) and submits it to H A securely.
Step 2.
Upon obtaining the registration request, H A calculates R = ( R 1 I D H A d ) , a = h ( d ) , C M U = ( g a mod p ) h ( R ) . Then, H A initializes the value of the counter K to zero and saves { K , R } in the database. Finally, H A submits { R , C M U , K , h ( · ) } to M U via a secret manner.
Step 3.
After getting the reply message from H A , M U computes K M U = h ( I D M U P W M U R ) and stores { K M U , R , C M U , K , h ( · ) } in the mobile device.

2.1.3. Authentication Phase

Whenever M U roams to a foreign network, the following steps allow F A and M U to achieve bidirectional authentication with the assistance of H A .
Step 1.
M U types in I D M U and P W M U . The mobile device computes K M U * = h ( I D M U P W M U R ) and checks K M U * = ? K M U . The request is rejected if they are not equal. Otherwise, M U produces a nonce R M U and computes U = R R M U , V = ( ( C M U h ( R ) ) I D F A ) R M U and W = ( U K ( C M U h ( R ) ) ) . Finally, M U submits the login request M 1 = { U , V , W } to F A .
Step 2.
Upon receiving M 1 , F A produces a nonce R F A , and encrypts M 1 with R F A using K F H . Then, F A submits M 2 = { I D F A , E K F H ( M 1 , R F A ) } to H A .
Step 3.
After obtaining M 2 , H A checks I D F A and finds the secret key K F H . Next, H A retrieves { U , V , W , R F A } by calculating D K F H ( E K F H ( M 1 , R F A ) ) and calculates a = h ( d ) , R M U * = V ( ( g a mod p ) I D F A ) , R * = U R M U * . Then, H A checks if R * is preserved in the database. If so, H A calculates W * = ( U K ( g a mod p ) ) and checks W * = ? W . Non-equality results in the termination of the session, or else H A calculates S K = h ( g a mod p ) R M U R F A and submits M 3 = { E K F H ( S K ) } to F A .
Step 4.
When getting M 3 , F A retrieves S K by calculating D K F H ( E K F H ( S K ) ) and computes X = h ( S K R F A ) . Then, F A forwards the message M 4 = { X , R F A } to M U .
Step 5.
Upon obtaining M 4 , M U calculates S K * = h ( C M U h ( R ) ) R M U R F A (In Madhusudhan and Shashidhara’s scheme [32], S K * = C M U h ( R ) R M U R F A . However, combined with the context, the formula should be S K * = h ( C M U h ( R ) ) R M U R F A , and we correct it here.) and X * = h ( S K * R F A ) . Then, M U checks X * = ? X . The equality means F A is authenticated by M U .

2.2. Cryptanalysis of Madhusudhan and Shashidhara’s Scheme

Madhusudhan and Shashidhara’s scheme [32] had some design flaws, and these flaws would lead to some security weaknesses. We analyze the design and security defects of Madhusudhan and Shashidhara’s scheme [32] in this section.

2.2.1. Transmitting Messages in Plaintext

As we know, the XOR and concatenation operations cannot protect the security of the message, and the different parts of message through these two operations can readily be extracted by an adversary A . In Madhusudhan and Shashidhara’s scheme [32], the message M 1 = { U , V , W } is directly transmitted after XOR and concatenation operations on the public channel, which means that these messages are transparent to A . We assume that A gets the messages M 1 = { U , V , W } and M 2 = { I D F A , E K F H ( M 1 , R F A ) } of a session among M U , F A , and H A by eavesdropping attack, where U = R R M U , V = ( ( C M U h ( R ) ) I D F A ) R M U and W = ( U K ( C M U h ( R ) ) ) . Therefore, A can extract K and C M U h ( R ) = g a mod p from W. Then, A can calculate R M U = V ( ( C M U h ( R ) ) I D F A ) and R = U R M U . Therefore, A can extract some secret information from M 1 due to it being transmitted in plaintext.

2.2.2. User Impersonation Attack

If A forges a login request message as the name of M U and the forged message passes the authentication of H A , we say that A successfully implemented the user impersonation attack. In Madhusudhan and Shashidhara’s scheme [32], as shown in Section 2.2.1, an adversary A can extract M U ’s information { ( C M U h ( R ) ) = g a mod p , R , K } . As we can see from the review of Madhusudhan and Shashidhara’s scheme [32], this information was sufficient for A to impersonate as M U sends the login information to F A . To forge a login request, A produces a nonce R M U and calculates U = R R M U , V = ( ( C M U h ( R ) ) I D F A ) R M U and W = ( U K ( C M U h ( R ) ) ) . The forged message M 1 = { U , V , W } is a valid login request in the name of M U by using M U ’s corresponding secret information { R , ( C M U h ( R ) ) , K } . The forged login request M 1 can pass the authentication of F A and H A , and A can calculate S K by using ( C M U h ( R ) ) in Step 5 of the authentication phase. Therefore, Madhusudhan and Shashidhara’s scheme [32] is vulnerable to user impersonation attack.

2.2.3. Session Key Compromise Attack

In Madhusudhan and Shashidhara’s scheme [32], M U and F A share a session key S K = h ( g a mod p ) R M U R F A after the authentication, where R M U and R F A are two nonces produced by M U and F A , respectively. There are two design drawbacks on the session key. On the one hand, the shared session key should be generally calculated by M U and F A independently. In Madhusudhan and Shashidhara’s scheme [32], although both M U and F A contributed the session key, the value of S K was determined by H A , and F A cannot calculate the session key since it cannot get the contribution of M U . On the other hand, the session key was calculated only by XOR operations, and it is easily calculated by an adversary A . Assume that A has obtained the messages { M 1 , M 2 , M 3 , M 4 } by eavesdropping on the public channel. Next, A can extract g a mod p = C M U h ( R ) and calculate R M U as shown in Section 2.2.1, as well as can get R F A from M 4 . Then, A can calculate the session key S K = h ( g a mod p ) R M U R F A of M U , F A , and H A . Therefore, in Madhusudhan and Shashidhara’s scheme [32], the session key is easily compromised just by eavesdropping the exchanged messages among M U , F A , and H A on the public channel.

2.2.4. Mobile Device Breach Attack

In the security analysis section of Madhusudhan and Shashidhara’s protocol [32], they claimed that their protocol could avoid off-line dictionary attack even if A obtained the information stored in M U ’s mobile device. However, user’s identity and password are often easy to remember and have low entropy in real-life scenarios, and the dictionaries of identity and password are very limited. Therefore, Wang et al. [37,38] pointed out that the data pair ( I D , P W ) can be guessed within polynomial time. We suppose that M U ’s mobile device information { K M U , R , C M U , K , h ( · ) } has been obtained by A , then the following offline steps can be used by A to guess M U ’s identity and password:
Step 1.
A chooses a pair ( I D M U * , P W M U * ) from the identity dictionary and password dictionary.
Step 2.
A calculates K M U * = h ( I D M U * P W M U * R ) .
Step 3.
A tests the correctness of ( I D M U * , P W M U * ) by checking K M U * = ? K M U .
Step 4.
A repeats the above steps until the right pair ( I D M U * , P W M U * ) is found.

2.2.5. Lack of Bidirectional Authentication

In the digital environment, the authentication between two parties often depends on whether the information provided by the two parties matches, i.e., one party verifies if the calculated value is equal to the value received from another party. Generally, a user authentication scheme should allow one participant to authenticate other participants in an explicit or implicit manner. In Madhusudhan and Shashidhara’s scheme [32], both F A and M U have not authenticated the validity of H A . When receiving M 3 = { E k F H ( S K ) } from H A in Step 3, F A just decrypts S K , but does not verify the validity of the message and H A . M U also does not authenticate H A . Therefore, Madhusudhan and Shashidhara’s scheme [32] is not suitable for practical use due to it lacking the real bidirectional authentication.

2.2.6. Stolen Verifier Attack

In Madhusudhan and Shashidhara’s scheme [32], H A stores { K , R } as the verification information in the database for the each mobile user. As shown in Section 2.2.2, A can impersonate a mobile user if he/she knows M U ’s information { ( C M U h ( R ) ) , R , K } . Actually, the value ( C M U h ( R ) ) for each mobile user is equal, and it is equal to g a mod p. As shown in Section 2.2.1, A can easily get g a mod p by eavesdropping the communication messages from the public channel. If the verifier was stolen by A , he/she can impersonate any mobile user by using { ( C M U h ( R ) ) = g a mod p , R , K } . Therefore, Madhusudhan and Shashidhara’s scheme [32] suffers from stolen verifier attack.

2.2.7. Other Weaknesses

In addition to the above security flaw, there are some other weaknesses in Madhusudhan and Shashidhara’s scheme [32]. First, the counter mechanism is used in their scheme to resist the replay attack. Both M U and H A maintain a count value K synchronously, and H A judges the replay message by checking whether the received count value K equals the stored counter value. However, the authors did not explain how the two parties update the count value synchronously. Besides, the synchronization-based mechanism is vulnerable to asynchronous attack, and M U cannot access the server anymore if the updated K in M U does not match H A ’s. Second, there are some errors in their protocol’s password change phase. In the description of their protocol, the mobile device M U computes K M U * = h ( I D M U P W M U ) to check if the identity and password are correct, and K M U N E W = h ( I D M U P W M U N E W ) to update the password. However, the correct formulas should be K M U * = h ( I D M U P W M U K ) and K M U N E W = h ( I D M U P W M U N E W K ) .

3. Our Proposed Scheme

This section proposes a novel authentication protocol with strong security for GLOMONET based on the previous relevant work. In the protocol, the fuzzy verifier technique [39] is adopted to resolve the contradiction of local password change and stolen smart card attack. Besides, the Diffie–Hellman agreement method is used in the new protocol to secure the session key. Except the phases shown in Madhusudhan and Shashidhara’s scheme [32], our new protocol contains a session key update phase, which makes the protocol more practical.

3.1. Initialization Phase

H A initializes the system by selecting some parameters. H A chooses a large prime number p and a generator g of Z p * , where the DLP on Z p * is intractable. Next, H A selects a hash function h ( · ) : ( 0 , 1 ) * ( 0 , 1 ) l , which transforms the arbitrary binary into l bit (such as 128 bits) data. Furthermore, H A chooses an integer 2 6 n 0 2 8 , which is used for the fuzzy verifier. Besides, H A generates the secret and public key pair ( x , X ) , where x Z p * and X = g x mod p. Finally, H A chooses a symmetric encryption algorithm E and the corresponding decryption algorithm D.
In addition to the generation of the above parameters, H A and F A have their identities I D H A and I D F A , respectively, and they share a secret key K H F by using the key exchange protocol.

3.2. Registration Phase

In this phase, M U interacts with the H A as follows to register as a legitimate user.
Step R1.
M U H A : { I D M U , H P W M U } :
M U first chooses I D M U , P W M U , and a nonce b. Then, M U calculates H P W M U = h ( P W M U b ) and transmits the registration request { I D M U , H P W M U } to H A with a secure method.
Step R2.
H A M U : A Smart Card S C :
H A checks if I D M U exists in the system. If so, M U is asked to send a new one. Otherwise, H A computes A M U = h ( ( h ( I D M U ) H P W M U ) mod n ) , K M H = h ( I D M U x ) , and C M U = H P W M U K M H . Then, H A stores the parameters { A M U , C M U , I D H A , p , g , X , E , D , h ( · ) } in a smart card ( S C ) and forwards it to M U over a secure manner.
Step R3.
When obtaining the S C , M U activates it and stores b into it.

3.3. Login and Authentication Phase

Whenever M U roams to F A , the following steps allow F A and M U to achieve bidirectional authentication and share a session key with the assistance of H A . These procedures can also be found in Figure 1.
Step V1.
M U F A : M 1 = { I D H A , C I D M U , R M U , C 3 } .
M U inserts the S C into the mobile terminal and types in I D M U and P W M U . S C computes A M U = h ( ( h ( I D M U ) h ( P W M U b ) ) mod n ) and verifies A M U = ? A M U . Unequal means that M U entered incorrect I D M U or P W M U , and the session is terminated by S C . The card will be locked if there are three consecutive failures on the password. Otherwise, S C produces a nonce r M U Z p * and calculates R M U = g r M U mod p, C 1 = X r M U mod p, C I D M U = I D M U h ( R M U C 1 ) , K M H = C M U h ( P W M U b ) , C 2 = h ( I D H A I D F A C 1 ) , and C 3 = E K M H ( C 2 I D F A ) . Then, M U submits the login request M 1 = { I D H A , C I D M U , R M U , C 3 } to F A .
Step V2.
F A H A : M 2 = { C I D M U , R M U , C 3 , R F A , C 4 } .
When receiving M 1 from a roaming user, F A produces a nonce r F A Z p * and computes R F A = g r F A mod p and C 4 = h ( I D F A K H F R M U C 3 R F A ) . Then, F A forwards the message M 2 = { C I D M U , R M U , C 3 , R F A , C 4 } to H A .
Step V3.
H A F A : M 3 = { C 5 , C 7 } .
Upon obtaining the message from F A , H A calculates C 1 = R M U x mod p, I D M U = C I D M U h ( R M U C 1 ) , K M H = h ( I D M U x ) , and D K M H ( C 3 ) = ( C 2 I D F A ) . Then, H A calculates C 2 = h ( I D H A I D F A C 1 ) and checks C 2 = ? C 2 . Unequal will lead to the rejection of the session. Otherwise, M U is authenticated by H A . Next, F A retrieves the K H F according to I D F A . Then, H A calculates C 4 = h ( I D F A K H F R M U C 3 R F A ) and authenticates H A by checking C 4 = ? C 4 . If the verification passes, H A calculates C 5 = h ( I D H A I D F A K H F R M U R F A ) , C 6 = h ( I D M U I D F A C 1 R F A ) , C 7 = E K M H ( R F A C 6 ) , and forwards M 3 = { C 5 , C 7 } to F A .
Step V4.
F A M U : M 4 = { R F A , C 7 , C 9 } .
When receiving the message from H A , F A calculates C 5 = h ( I D H A I D F A K H F R M U R F A ) , and the validity of H A is verified if C 5 = C 5 . Then, F A calculates C 8 = R M U r F A mod p, the session key S K = h ( R M U R F A C 8 ) , and C 9 = h ( S K C 7 ) . Then, F A submits the message M 4 = { R F A , C 7 , C 9 } to M U .
Step V5.
When receiving M 4 from F A , M U calculates D K M H ( C 7 ) = ( R F A C 6 ) and checks if R F A is equal to the received R F A . Then, M U calculates C 6 = h ( I D M U I D F A C 1 R F A ) , and the validity of H A is verified if C 6 = C 6 . Next, M U calculates C 8 = R F A r M U mod p, S K = h ( R M U R F A C 8 ) , C 9 = h ( S K C 7 ) , and the validity of F A is verified if C 9 = C 9 . Finally, as a shared session key between M U and F A , S K is used by them for further security communication.

3.4. Session Key Update Phase

Since the session key is only valid for a certain period, M U should update the session key with F A if he/she wants continuous access to the roaming network. The following procedures allow him/her to update a new session key, and it also can be found in Figure 2.
Step S1.
M U produces a new nonce r M U Z p * and calculates R M U = g r M U mod p, C M U = E S K ( R M U ) . Then, M U submits { C M U } to F A for session key update.
Step S2.
F A retrieves R M U by decrypting C M U using S K . Next, F A produces a new nonce r F A Z p * and calculates R F A = g r F A mod p, C F A = E S K ( R F A ) , S K n e w = h ( R M U R F A ( ( R M U ) r F A mod p ) ) , and V F A = h ( S K n e w S K ) . Then, F A sends the message { C F A , V F A } to M U .
Step S3.
When receiving the message, M U first retrieves R F A by decrypting C F A using S K . Then, M U calculates S K n e w = h ( R M U R F A ( ( R F A ) r M U mod p ) ) , V F A = h ( S K n e w S K ) and checks V F A = ? V F A . Unequal means M U and F A fail to agree on a new session key. Otherwise, they share a new session key S K n e w .

3.5. Password Change Phase

The following steps allow M U to change the password without the assistance of the home agent H A .
Step P1.
M U inserts the S C into the mobile terminal and types I D M U and P W M U .
Step P2.
S C computes A M U = h ( ( h ( I D M U ) h ( P W M U b ) ) mod n ) and verifies A M U = ? A M U . If they are not equal, which means that M U entered incorrect I D M U or P W M U , the request is rejected by S C . On the contrary, M U is asked to type a new password.
Step P3.
M U inputs a new password P W M U * . S C calculates H P W M U * = h ( P W M U * b ) , A M U * = h ( ( h ( I D M U ) H P W M U * ) mod n ) , C M U * = C M U H P W M U * h ( P W M U b ) . Finally, S C replaces A M U and C M U with A M U * and C M U * , respectively.

4. Formal Proof

4.1. Basic Knowledge

G is a multiplicative group with a large prime order p, and g is its generator.
  • DLP (Discrete Logarithm Problem): Given g a G and a Z p * , it is hard to compute a.
  • CDHP (Computation Diffie–Hellman Problem): If a , b Z p * and g a , g b G are known, it is hard to compute g a b , and A d v A C D H denotes the probability for A to break the CDHP.

4.2. Basic Knowledge for the Proof

The formal proof given in here is based on [40,41,42].
To make it easy for A to perform attacks, we consider only three entities: one home agent H A , one foreign agent F A , and one mobile user M U . They make sessions in scheme S . I is for any entity that is not required to be differentiated. The entities have many instances, and each of them is numbered, as an oracle, e.g., M U i is the ith instance of M U . Similarly, we can understand I t , F A j and H A k . a c c e p t , r e j e c t , and are three states for the result of the instance. a c c e p t occurs when the oracle receives the correct message; r e j e c t occurs when an incorrect message comes; and occurs when no answer appears in the oracle. Each instance of M U or F A has a session number, like S N M U i or S N F A j , and a partner P N M U i or P N F A j . If S N M U i = S N F A j and they build the same session key s k , or s k M U i = s k F A j , we say that M U i and F A j are partnering, and P N M U i = F A j and P N F A j = M U i . g , p , I D M U , I D F A , and I D H A are public elements. The secret parameters, such as P W i , K F H , and x, are owned by the entities according to the scheme S . All passwords can be retrieved in a finite P set, which has | P | elements in total.
A can make the following queries on a simulator S to crack the login and authentication process, especially the session key:
  • S e n d ( I , I r t , m ) : I sends message m to I r t . If m is correct, the normal operations in S will be done on I r t ; or the query will be stopped.
  • E x e c u t e ( M U i , F A j , H A k ) : All messages in the authentication phase will be eavesdropped by A .
  • R e v e a l ( I t ) : If M U i or F A j generates a session key, the key will be returned to A .
  • C o r r u p t ( M U i , S C ) : A can get all information stored in S C of M U .
  • C o r r u p t ( I t ) : A gets all long-term secret data of I , and this is for strong forward security [41].
  • T e s t ( I t ) : I is for M U or F A . Finally, A has to choose a session to make a challenge. If I does not reach a c c e p t or s f s s e c u r i t y , which will be explained later, the result is . Else, a bit μ is chosen. If μ = 1 , the session key is returned. Otherwise, a random string { 0 , 1 } l is returned.
Some demonstrations must be listed below to complement the above content.
  • S F S f r e s h : As shown in [41], it is Strong Forward Security-fresh for M U and F A . I t is S F S f r e s h if any of the following conditions do not appear:
    -
    R e v e a l ( I t ) or R e v e a l ( P N I t ) is asked.
    -
    C o r r u p t ( I t ) or C o r r u p t ( P N I t ) is queried before T e s t ( I ) .
  • S F S s e c u r e : The advantage for A breaking S is the probability of correctly guessing μ generated in T e s t ( I t ) over 1 2 , or A d v S S F S ( A ) = 2 | P r [ μ = μ ] 1 2 | , where μ is guessed by A . If q s is the number of S e n d queries, A d v S S F S ( A ) is negligibly bigger than O ( q s ) | P | and S is S F S s e c u r e .

4.3. Process of the Proof

Theorem 1.
A multiplicative group G with a large order p, a finite password set with size P, and the security length l are basic parameters for the proof. The adversary A has chances for q s S e n d queries, q e E x e c u t e queries, and q h hash queries to crack S , with the upper bound polynomial time t. The advantage of breaking the S F S s e c u r e scheme S is:
A d v S S F S ( A ) ( q s + q e ) 2 p 1 + q h 2 + 6 q s + 12 q h 2 l + 2 q s | P | + 4 q h ( 1 + ( q s + q e ) 2 ) A d v A C D H ( t )
T m represents the time of a multiplication in G and t = t + ( 6 q e + 2 q s ) T m .
Proof. 
The proof contains a sequence of games from G 0 to G 5 . S u c c i denotes A ’s successful probability to guess μ correctly. Since there is only one M U , no guessing is required for the identity.
  • Game G 0 : The random oracles are added in the real scheme. If more queries are used by A or the game is finished, but without answer, a new bit μ is produced. We know that A d v S S F S ( A ) = 2 | P r [ S u c c 0 ] 1 2 | .
  • Game G 1 : All queries in Section 4.2 are brought in. However, there are five S e n d queries: S e n d ( s t a r t , M U i , ϕ ) , S e n d ( M U i , F A j , M 1 ) , S e n d ( F A j , H A k , M 2 ) , S e n d ( H A k , F A j , M 3 ) , and S e n d ( F A j , M U i , M 4 ) . The operations for five S e n d queries correspond to the five steps in Section 3.3. Furthermore, three lists are required: L h is to store the results of hash queries from the simulator S ; L A is to store the hash queries from A ; L S is to store the transcripts of the sessions. When a string s t r is asked for the hash result, the simulator S returns the result r if the tuple ( s t r , r ) can be found in the list. However, if there is no such result, the simulator S picks up a random string r { 0 , 1 } l as the result and stores the tuple ( s t r , r ) in the corresponding list. A cannot know the difference between G 1 and G 0 , and P r [ S u c c 1 ] = P r [ S u c c 0 ] .
  • Game G 2 : The collisions between different sessions are discussed in this game. There are two cases below:
    • The probability for collision of random numbers r M U and r F A is at most ( q s + q e ) 2 2 ( p 1 ) .
    • The probability for collision of hash results is q h 2 2 l + 1 .
    Therefore, we know | P r [ S u c c 2 ] P r [ S u c c 1 ] | ( q s + q e ) 2 2 ( p 1 ) + q h 2 2 l + 1 .
  • Game G 3 : We consider the case that A can impersonate the entities via forging hash results without hash query.
    -
    S e n d ( M U i , F A j , M 1 ) : S checks if M 1 L S , and ( R M U | | * , * ) , ( I D H A | | I D F A | | * , * ) L A . However, ( P W M U | | b , * ) cannot be checked. The probability is 2 q h 2 l for this case.
    -
    S e n d ( F A j , H A k , M 2 ) : S checks if M 1 , M 2 L S , and ( R M U | | * , * ) , ( I D H A | | I D F A | | * , * ) , ( I D F A | | * | | R M U | | C 3 | | * , C 4 ) L A . Furthermore, ( P W M U | | b , * ) cannot be checked. The probability is q h 2 l for the first and second hash result and q s 2 l for the last.
    -
    S e n d ( H A k , F A j , M 3 ) : S checks if M 1 , M 2 , M 3 L S , and ( I D H A | | I D F A | | * | | R M U | | R F A , C 5 ) , ( I D M U | | I D F A | | * | | R F A , * ) L A . The probability for the first result is q s 2 l and for the second is q h 2 l .
    -
    S e n d ( F A j , M U i , M 4 ) : S checks if M 1 , M 2 , M 3 , M 4 L S , and ( I D M U | | I D F A | | * | | R F A , * ) , ( * | | C 7 , C 9 ) L A . The probability for the first result is q h 2 l and for the second is q s 2 l .
    Therefore, G 3 is the same as G 2 , and the probability | P r [ S u c c 3 ] P r [ S u c c 2 ] | 3 q s + 6 q h 2 l .
  • Game G 4 : We inject the CDH problem in this game, with random oracles added again. Based on [41,42], C o r r u p t ( M U i , S C ) must be asked first to crack the scheme. Two cases can be listed:
    • With the most number of chance q s , A can select one password from P to start a session. Such an active attack has the success probability q s | P | .
    • For passive attacks, two subcases are demonstrated below:
      (a)
      E x e c u t e queries are used. Finally, ( g r M U | | g r F A | | g r M U r F A , s k ) should be found in L A , and the probability is 1 q h . Therefore, the probability for this subcase is q h A d v A C D H ( t + 6 q e T m ) .
      (b)
      E x e c u t e can be replaced with the combination of all S e n d queries. Similar to the last subcase, the probability is q h A d v A C D H ( t + 2 q s T m ) .
    We make t = t + ( 6 q e + 2 q s ) T m and get | P r [ S u c c 4 ] P r [ S u c c 3 ] | q s | P | + 2 q h A d v A C D H ( t ) .
  • Game G 5 : This game is for strong forward security. With the concept of S F S s e c u r e , C o r r u p t should be asked after T e s t , so we can only consider old messages here. Like G 4 , the probability for g r M U and g r F A occurring in the same session is 1 ( q s + q e ) 2 , and | P r [ S u c c 5 ] P r [ S u c c 4 ] | 2 q h ( q s + q e ) 2 A d v A C D H ( t ) . Till now, P r [ S u c c 5 ] = 1 2 , and there is no advantage for A .
Via the above games, Theorem 1 can be deduced. □

5. Formal Verification by ProVerif

In this section, the emulator tool ProVerif is utilized by us to test the security of the proposed protocol, which is a new and efficient tool to detect the confidentiality of an information security protocol. The tool supports unlimited rounds of protocol execution.
The normalized mode description about our protocol is presented as follows. There are three entities, which are M U , F A , and H A , in the protocol. Firstly, M U sends the registration request to H A . Secondly, H A transmits the information to M U in a secure manner. Thirdly, M U sends the login request to F A . Fourthly, F A forwards the message to H A . Then, H A tightly transmits the response to F A . Lastly, F A returns the message to H A .
  • M U H A : { I D M U , H P W M U }
  • H A M U : { A M U , C M U , I D H A , p , g , X , E , D , h ( · ) }
  • M U F A : M 1 = { I D H A , C I D M U , R M U , C 3 } .
  • F A H A : M 2 = { C I D M U , R M U , C 3 , R F A , C 4 } .
  • H A F A : M 3 = { C 5 , C 7 } .
  • F A M U : M 4 = { R F A , C 7 , C 9 } .
The detail of the code is shown in the following. The predefinition code in Figure 3 consists by three parts, and we firstly declare some statements (parameters, space and functions) and channels (secure and unsecure channel). Then, we define some equations (hash function, XOR operation, and the inverse operation of ‖). We also make some queries to satisfy the security requirements. The processes of MU, FA, and HA were operated simultaneously, and the corresponding codes are shown in Figure 4, Figure 5 and Figure 6, respectively. In summary, As shown in Figure 7, we state the protocol by using events BeginUser(muID) and EndUser(muID), and the verification results are “RESULT not attacker(SK[]) is true.”, “RESULT not attacker(KHF[]) is true.”, “RESULT not attacker(KMH’[]) is true.”, and “RESULT inj-event(EndUser(id)) ==> inj-event(BeginUser(id)) is true.”. Thus, the session key S K , the shared key K H F , and the shared key K M H could withstand the attacks, and the proposed protocol could pass the verification of ProVerif.

6. Security Analysis and Comparisons

To show the advantages of our protocol, security features of our protocol are discussed in this part. Besides, the comparisons of our protocol and other related protocols are also given in this section.

6.1. Resist Smart Card Loss (Off-Line Password Guessing) Attack

To achieve the feature of freely local password update for users, the smart card must store verification information of user’s identity and password. However, this verification information can be used to guess a password if the smart card is lost. Our scheme uses the fuzzy verifier technique [39] to resist smart card loss attack while realizing local password change. If M U ’s S C is lost, A can retrieve the information in S C { A M U , C M U , I D H A , p , g , X , E , D , b , h ( · ) } . However, A cannot guess I D M U and P W M U from C M U without knowing H A ’s secret key x. A may also want to guess I D and P W from A M U = h ( ( h ( I D M U ) h ( P W M U b ) ) mod n ) . However, for 10 6 sized identity/password dictionaries, and n 0 2 8 , there are more than 2 30 pairs of ( I D M U , P W M U ) such that the value of h ( ( h ( I D M U ) h ( P W M U b ) ) mod n ) equals A M U . Therefore, it is impossible for A to obtain the correct ( I D M U , P W M U ) . According to the above analysis, it can be seen that our protocol can resist smart card loss attack, and A cannot guess the user’s correct ( I D M U , P W M U ) even if A obtained the smart card information.

6.2. User Anonymity

In our protocol, I D M U is not included in any of communication messages M 1 , M 2 , M 3 , and M 4 . Among these messages transmitted on the public channel, just C I D M U is related to I D M U . Only H A can reveal I D M U from C I D M U by using the secret key x, and A cannot know I D M U from the messages obtained on the public channel. Meanwhile, in each session, the messages M 1 , M 2 , M 3 , and M 4 exchanged among the three parties, all elements except I D H A are dynamically changed with the random numbers. Therefore, A cannot track different sessions from the same mobile user. Therefore, our protocol can protect the user’s anonymity.

6.3. Proper Bidirectional Authentication

Our protocol achieves the bidirectional authentication among M U , F A , and H A with the assistance of H A . The bidirectional authentication between M U and H A relies on the shared secret information K M H = h ( I D M U x ) , which can be retrieved by M U with the P W M U from C M U and also can be calculated by H A when he/she retrieves the correct I D M U from C I D M U using x. With the shared K M H , H A can authenticate M U by checking C 2 = ? C 2 in Step V3, and M U can authenticate H A by checking C 6 = ? C 6 in Step V5. Meanwhile, the bidirectional authentication between F A and H A can be achieved due to the pre-shared secret key K H F . With this secret key, H A can authenticate F A by verifying C 4 = ? C 4 in Step V3, and F A can also verify if H A is valid by checking C 5 = ? C 5 in Step V5. For M U and F A , M U is a legal foreign user for F A if M U passes the verification of H A . On the contrary, F A is valid for M U if they generate the same S K and C 9 = C 9 .

6.4. Resist Impersonation Attack

In our protocol, the secret keys x and K H F are indispensable for H A to authenticate mobile users and F A . Therefore, any adversary cannot imitate H A . For the same reason, the adversary cannot impersonate F A . Besides, based on the description of the authentication phase, I D M U and P W M U are essential for M U to generate a valid login request message. However, as we can see from Section 6.1, an adversary A cannot guess M U ’s I D M U and P W M U even if A has obtained the user’s smart card. Therefore, our protocol can avoid user impersonation attack.

6.5. Session Key Security

After the bidirectional authentication, a session key S K = h ( g r M U g r F A g r M U · r F A ) (we omit the modular exponential operations here) is shared between M U and F A , which includes contributions from both M U and F A . S K is secure due to the intractability of the DLP; no adversary, even H A , can calculate the S K without knowing r M U or r F A . Besides, since S K is independent of the master secret key x, it is still secure even though x is compromised. Therefore, the forward secrecy feature is achieved. Furthermore, the session key depends on the nonce generated by M U and F A , which dynamically change with different sessions. Therefore, the compromise of one session key would not deduce the compromise of other session keys, and our protocol guarantees the feature of known-key secrecy.

6.6. Resist Insider Attack

In our protocol’s registration phase, the mobile user M U submits H P W M U = h ( P W M U b ) to H A for registration. Even if the privileged insider gets the registration information { I D M U , H P W M U } , he/she still cannot reveal M U ’s real identity I D M U since it is hidden by the random number b. Therefore, our protocol resists insider attack.

6.7. Secure Session Key Update

Session key update is an important function for a mobile user if he/she wants to access the foreign network continuously. Our protocol allows M U and F A to generate securely a new session key based on their current session key. Since our key agreement mechanism is similar to the DHP, we have adjusted the mechanism to avoid the man-in-the-middle attack. M U and F A generate the new shares R M U and R F A and transmit the encrypted share C M U = E S K ( R M U ) and C F A = E S K ( R F A ) to each other. An adversary A cannot obtain their real shares without knowing the current session key S K , and our protocol allows the two parties to update their session key securely.

6.8. Comparison with Other Related Protocols

To demonstrate the robustness and advantages of our protocol, the features of our protocol and other relevant protocols [30,32] are compared in this section.
First, the function and security features of our protocol and the protocols in [30,32] are evaluated, and the result is shown in Table 2. As can be seen from the table, both protocols in [30,32] failed to provide forward secrecy and session key update and were vulnerable to stolen verifier attack. Except for their common defects, the protocol in [30] cannot realize the function of local password change for a mobile user, while the protocol in [32] was also vulnerable to mobile device breach attack and user impersonation attack and cannot provide bidirectional authentication and session key security. Unlike the previous work, our protocol resisted all known attacks and provided some ideal functions. The fuzzy verifier technique resolved the contradiction of local password change and smart card breach attack. Besides, the modular exponential operation based on DLP guaranteed the security of session key. Therefore, our protocol was better than the related protocols on security and functions.
Next, we evaluate the computation complexity and the storage cost of our protocol and the protocols in [30,32]. In order to facilitate the description, let T h , T m e , and T e represent the computation cost of a hash function, a modular exponential, and a symmetric encryption/decryption operation, respectively. To evaluate the computation cost, we used the computation costs for related cryptographic operations in [43] on platform Intel(R) T5870 2.00 GHz, which were T h = 2.580 μ s, T m e = 10.257 ms, and T e = 2.012 μ s, respectively. Table 3 shows the result of the performance comparison, from which we can see that our protocol just needed a few more modular exponential operations than the protocols in [30,32]. The total computational cost for a session of our protocol was about 61.6 ms, and it was also at a very efficient level. It was precisely because of these increased computational cost that our protocol surpassed other related work [30,32] in terms of security and function. Our protocol not only guaranteed the security of the session key, but also balanced the contradiction between local password change and stolen smart card attack. Therefore, the increased computational cost was worthwhile, and it enhanced the security of the protocol. Furthermore, we compared the M U side’s storage cost of three protocols and omitted the storage cost of H A and F A since the servers both had adequate storage space. Compared with other protocols [30,32], the storage requirements of M U in our protocol was somewhere in between, and it also can be seen in Table 3.
Finally, we evaluated the communication complexity of our protocol and the protocols in [30,32]. For comparison purposes, let L I D , L h , L r , L T , L S , and L p represent the bit lengths of identity, hash function, random number, timestamps, symmetric cryptography, and large prime number, respectively, and we assumed they were 80 bits, 160 bits, 160 bits, 80 bits, 128 bits, and 1024 bits, respectively. We counted the communication cost of one session for the three protocols, and the comparison result is shown in Table 4. From the table, we can see that our protocol had a lesser increase in communication cost to achieve higher security.

7. Conclusions

This paper focused on the user authentication mechanism in GLOMONET. Firstly, some design and security weaknesses of the user authentication protocol in [32] were pointed out. Their protocol had a fatal flaw that some important information of the mobile user was transmitted via the public channel in plaintext, and it can be easily obtained by an adversary. Therefore, their protocol suffered from stolen verifier attack, user impersonate attack, session key compromise attack, and mobile device breach attack. Secondly, we proposed a novel user authentication protocol with strong security for GLOMONET. The use of the fuzzy verifier technique ensured that the proposed protocol resisted the smart card loss attack while achieving the feature of local password update. Besides, the proposal was based on the Diffie–Hellman Protocol (DHP) under the discrete logarithm, which not only ensured the security of session key, but also enabled our protocol to achieve the function of secure session key agreement. Compared with other relevant protocols, our protocol achieved a higher level of security with a small amount of increased computation and communication, and it was more suitable for the GLOMONET environment.

Author Contributions

Methodology, S.L., X.L., and F.W.; formal analysis, F.W.; writing, original draft preparation, S.L., X.L., and F.W.; writing, review and editing, J.L., J.W. and D.L.

Funding

This research was funded by the Scientific Research Fund of Hunan Provincial Education Department under Grant No. 18A178, the Natural Science Foundation of Hunan Province, China, under Grant No. 2018JJ3191, and the National Natural Science Foundation of China under Grant No. 61572013. D.L. appreciates the Fujian Education and Scientific Research Program for Young and Middleaged Teachers under Grant No JAT170808 and the University Distinguished Young Research Talent Training Program of Fujian Province (Year 2018).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Wang, J.; Gao, Y.; Yin, X.; Li, F.; Kim, H.J. An Enhanced PEGASIS Algorithm with Mobile Sink Support for Wireless Sensor Networks. Wirel. Commun. Mob. Comput. 2018, 1–9. [Google Scholar] [CrossRef]
  2. Nguyen, T.; Pan, J.; Dao, T. An Improved Flower Pollination Algorithm for Optimizing Layouts of Nodes in Wireless Sensor Network. IEEE Access 2019, 7, 75985–75998. [Google Scholar] [CrossRef]
  3. Wang, J.; Gao, Y.; Liu, W.; Sangaiahand, A.K.; Hye-Jin, K. Energy Efficient Routing Algorithm with Mobile Sink Support for Wireless Sensor Networks. Sensors 2019, 19, 1494. [Google Scholar] [CrossRef] [PubMed]
  4. Wang, J.; Gao, Y.; Sangaiahand, A.K.; Hye-Jin, K. An Improved Routing Schema with Special Clustering using PSO Algorithm for Heterogeneous Wireless Sensor Network. Sensors 2019, 19, 671. [Google Scholar] [CrossRef] [PubMed]
  5. He, S.; Xie, K.; Xie, K.; Xu, C.; Jin, W. Interference-aware Multi-source Transmission in Multi-radio and Multi-channel Wireless Network. IEEE Syst. J. 2019, 13, 2507–2518. [Google Scholar] [CrossRef]
  6. He, S.; Xie, K.; Chen, W.; Zhang, D.; Wen, J. Energy-aware Routing for SWIPT in Multi-hop Energy-constrained Wireless Network. IEEE Access 2018, 6, 17996–18008. [Google Scholar] [CrossRef]
  7. Li, X.; Peng, J.; Niu, J.; Wu, F.; Liao, J.; Choo, K.K.R. A robust and energy efficient authentication protocol for industrial internet of things. IEEE Internet Things J. 2018, 5, 1606–1615. [Google Scholar] [CrossRef]
  8. Li, X.; Liu, S.; Wu, F.; Kumari, S.; Rodrigues, J.J.P.C. Privacy Preserving Data Aggregation Scheme for Mobile Edge Computing Assisted IoT Applications. IEEE Internet Things J. 2019, 6, 4755–4763. [Google Scholar] [CrossRef]
  9. Li, W.; Chen, Z.; Gao, X.; Liu, W.; Wang, J. Multi-Model Framework for Indoor Localization under Mobile Edge Computing Environment. IEEE Internet Things J. 2019, 6, 4844–4853. [Google Scholar] [CrossRef]
  10. Yin, Y.; Xu, Y.; Xu, W.; Min, G.; Pei, Y. Collaborative Service Selection via Ensemble Learning in Mixed Mobile Network Environments. Entropy 2017, 19, 358. [Google Scholar] [CrossRef]
  11. Wang, J.; Gao, Y.; Liu, W.; Wenbing, W.; Se-Jung, L. An Asynchronous Clustering and Mobile Data Gathering Schema based on Timer Mechanism in Wireless Sensor Networks. Comput. Mater. Contin. 2019, 58, 711–725. [Google Scholar] [CrossRef]
  12. Wang, J.; Ju, C.; Gao, Y.; Sangaiah, A.K.; jun Kim, G. A PSO based Energy Efficient Coverage Control Algorithm for Wireless Sensor Networks. Comput. Mater. Contin. 2018, 56, 433–446. [Google Scholar]
  13. Zhang, J.; Jin, X.; Sum, J.; Wang, J.; Li, K. Dual model learning combined with multiple feature selection for accurate visual tracking. IEEE Access 2019, 7, 43956–43969. [Google Scholar] [CrossRef]
  14. Zhang, J.; Lu, C.; Li, X.; Kim, H.J.; Wang, J. A full convolutional network based on DenseNet for remote sensing scene classification. Math. Biosci. Eng. 2019, 16, 3345–3367. [Google Scholar] [CrossRef]
  15. Liu, Y.N.; Wang, Y.P.; Wang, X.F.; Xia, Z.; Xu, J.F. Privacy-preserving raw data collection without a trusted authority for IoT. Comput. Netw. 2019, 148, 340–348. [Google Scholar] [CrossRef]
  16. Song, J.; Liu, Y.; Shao, J.; Tang, C. A Dynamic Membership Data Aggregation (DMDA) Protocol for Smart Grid. IEEE Syst. J. 2019. [Google Scholar] [CrossRef]
  17. Zhang, S.; Choo, K.K.R.; Liu, Q.; Wang, G. Enhancing privacy through uniform grid and caching in location-based services. Future Gener. Comput. Syst. 2018, 86, 881–892. [Google Scholar] [CrossRef]
  18. Zhang, S.; Mao, X.; Choo, K.K.R.; Peng, T.; Wang, G. A trajectory privacy-preserving scheme based on a dual-K mechanism for continuous location-based services. Inf. Sci. 2019. [Google Scholar] [CrossRef]
  19. Zhu, J.; Ma, J. A new authentication scheme with anonymity for wireless environments. IEEE Trans. Consum. Electron. 2004, 50, 231–235. [Google Scholar]
  20. Lee, C.C.; Hwang, M.S.; Liao, I.E. Security enhancement on a new authentication scheme with anonymity for wireless environments. IEEE Trans. Ind. Electron. 2006, 53, 1683–1687. [Google Scholar] [CrossRef]
  21. Wu, C.C.; Lee, W.B.; Tsaur, W.J. A secure authentication scheme with anonymity for wireless communications. IEEE Commun. Lett. 2008, 12, 722–723. [Google Scholar]
  22. Chang, C.C.; Lee, C.Y.; Chiu, Y.C. Enhanced authentication scheme with anonymity for roaming service in global mobility networks. Comput. Commun. 2009, 32, 611–618. [Google Scholar] [CrossRef]
  23. Xu, J.; Zhu, W.T.; Feng, D.G. An efficient mutual authentication and key agreement protocol preserving user anonymity in mobile networks. Comput. Commun. 2011, 34, 319–325. [Google Scholar] [CrossRef]
  24. He, D.; Ma, M.; Zhang, Y.; Chen, C.; Bu, J. A strong user authentication scheme with smart cards for wireless communications. Comput. Commun. 2011, 34, 367–374. [Google Scholar] [CrossRef]
  25. Li, C.T.; Lee, C.C. A novel user authentication and privacy preserving scheme with smart cards for wireless communications. Math. Comput. Model. 2012, 55, 35–44. [Google Scholar] [CrossRef]
  26. Yoon, E.J.; Yoo, K.Y.; Ha, K.S. A user friendly authentication scheme with anonymity for wireless communications. Comput. Electr. Eng. 2011, 37, 356–364. [Google Scholar] [CrossRef]
  27. Niu, J.; Li, X. A novel user authentication scheme with anonymity for wireless communications. Secur. Commun. Netw. 2014, 7, 1467–1476. [Google Scholar] [CrossRef]
  28. Mun, H.; Han, K.; Lee, Y.S.; Yeun, C.Y.; Choi, H.H. Enhanced secure anonymous authentication scheme for roaming service in global mobility networks. Math. Comput. Model. 2012, 55, 214–222. [Google Scholar] [CrossRef]
  29. Zhao, D.; Peng, H.; Li, L.; Yang, Y. A secure and effective anonymous authentication scheme for roaming service in global mobility networks. Wirel. Pers. Commun. 2014, 78, 247–269. [Google Scholar] [CrossRef]
  30. Karuppiah, M.; Saravanan, R. A secure authentication scheme with user anonymity for roaming service in global mobility networks. Wirel. Pers. Commun. 2015, 84, 2055–2078. [Google Scholar] [CrossRef]
  31. Li, X.; Sangaiah, A.K.; Kumari, S.; Wu, F.; Shen, J.; Khan, M.K. An efficient authentication and key agreement scheme with user anonymity for roaming service in smart city. Pers. Ubiquitous Comput. 2017, 21, 791–805. [Google Scholar] [CrossRef]
  32. Madhusudhan, R.; Shashidhara. A secure and lightweight authentication scheme for roaming service in global mobile networks. J. Inf. Secur. Appl. 2018, 38, 96–110. [Google Scholar] [CrossRef]
  33. Banerjee, S.; Odelu, V.; Das, A.K.; Chattopadhyay, S.; Kumar, N.; Park, Y.; Tanwar, S. Design of an anonymity-preserving group formation based authentication protocol in global mobility networks. IEEE Access 2018, 6, 20673–20693. [Google Scholar] [CrossRef]
  34. Xu, G.; Liu, J.; Lu, Y.; Zeng, X.; Zhang, Y.; Li, X. A novel efficient MAKA protocol with desynchronization for anonymous roaming service in Global Mobility Networks. J. Netw. Comput. Appl. 2018, 107, 83–92. [Google Scholar] [CrossRef]
  35. Li, X.; Niu, J.; Kumari, S.; Wu, F.; Choo, K.K.R. A robust biometrics based three-factor authentication scheme for global mobility networks in smart city. Future Gener. Comput. Syst. 2018, 83, 607–618. [Google Scholar] [CrossRef]
  36. Wei, F.; Vijayakumar, P.; Jiang, Q.; Zhang, R. A mobile intelligent terminal based anonymous authenticated key exchange protocol for roaming service in global mobility networks. IEEE Trans. Sustain. Comput. 2018. [Google Scholar] [CrossRef]
  37. Wang, D.; Wang, P. Understanding security failures of two-factor authentication schemes for real-time applications in hierarchical wireless sensor networks. Ad Hoc Netw. 2014, 20, 1–15. [Google Scholar] [CrossRef]
  38. Wang, D.; Cheng, H.; He, D.; Wang, P. On the challenges in designing identity-based privacy-preserving authentication schemes for mobile devices. IEEE Syst. J. 2018, 12, 916–925. [Google Scholar] [CrossRef]
  39. Wang, D.; He, D.; Wang, P.; Chu, C. Anonymous Two-Factor Authentication in Distributed Systems: Certain Goals Are Beyond Attainment. IEEE Trans. Dependable Secur. Comput. 2015, 12, 428–442. [Google Scholar] [CrossRef]
  40. Bresson, E.; Chevassut, O.; Pointcheval, D. Security proofs for an efficient password-based key exchange. In Proceedings of the 10th ACM Conference on Computer and Communications Security, Washington, DC, USA, 27–30 October 2003; ACM: New York, NY, USA, 2003; pp. 241–250. [Google Scholar]
  41. Xu, L.; Wu, F. An improved and provable remote user authentication scheme based on elliptic curve cryptosystem with user anonymity. Secur. Commun. Netw. 2015, 8, 245–260. [Google Scholar] [CrossRef]
  42. Wu, F.; Xu, L.; Kumari, S.; Li, X. A privacy-preserving and provable user authentication scheme for wireless sensor networks based on internet of things security. J. Ambient. Intell. Humaniz. Comput. 2017, 8, 101–116. [Google Scholar] [CrossRef]
  43. Wang, D.; Wang, P. Two birds with one stone: Two-factor authentication with security beyond conventional bound. IEEE Trans. Dependable Secur. Comput. 2016, 15, 708–722. [Google Scholar] [CrossRef]
Figure 1. Login and verification phases.
Figure 1. Login and verification phases.
Electronics 08 00939 g001
Figure 2. Session key update phase.
Figure 2. Session key update phase.
Electronics 08 00939 g002
Figure 3. Predefinition code.
Figure 3. Predefinition code.
Electronics 08 00939 g003
Figure 4. Verification code for MU.
Figure 4. Verification code for MU.
Electronics 08 00939 g004
Figure 5. Verification code for FA.
Figure 5. Verification code for FA.
Electronics 08 00939 g005
Figure 6. Verification code for HA.
Figure 6. Verification code for HA.
Electronics 08 00939 g006
Figure 7. Verification result.
Figure 7. Verification result.
Electronics 08 00939 g007
Table 1. Notations.
Table 1. Notations.
SymbolMeaning
M U , I D M U , P W M U a mobile user and the corresponding identity and password
H A , I D H A M U ’s home agent and the identity
F A , I D F A a foreign agent and the identity
( x , X ) secret and public key pair of H A
K H F a secret key shared between H A and F A
p , q two large prime numbers
ga generator of Z p *
n 0 an integer between [ 2 6 , 2 8 ] for the fuzzy verifier
E , D a pair of symmetric encryption and decryption algorithms
h ( · ) the hash function
r M U , r F A the random integers generated by M U and F A
the XOR operation
lsecure length
A an adversary
Table 2. Comparison of security and function features.
Table 2. Comparison of security and function features.
Protocol in [30]Protocol in [32]Our Protocol
Resist mobile device/smart card breach attack×
Resist insider attack
Resist user impersonation attack×
Resist stolen verifier attack××
User anonymity
Local password change×
Proper bidirectional authentication×
Session key security×
Forward secrecy××
Session key update××
√: satisfies the property ×: fails to satisfy the property.
Table 3. Performance comparison.
Table 3. Performance comparison.
Protocol in [30]Protocol in [32]Our Protocol
M U ’s computational cost 9 T h + T e + 2 T m e 4 T h 8 T h + 2 T e + 3 T m e
F A ’s computational cost 3 T h T h + 2 T e 4 T h + 2 T m e
H A ’s computational cost 9 T h + T e + T m e 2 T h + 2 T e + 2 T m e 6 T h + 2 T e + T m e
Total computational cost 21 T h + 2 T e + 3 T m e 30.83 ms 7 T h + 4 T e + 2 T m e 20.54 ms 18 T h + 4 T e + 6 T m e 61.60 ms
M U ’s storage cost4496 bits2448 bits3472 bits
Table 4. Communication cost comparison (bits).
Table 4. Communication cost comparison (bits).
Protocol in [30]Protocol in [32]Our Protocol
M U to F A L p + 10 L s + T L + L I D = 2624 bits 2 L I D + 4 L p + 2 L h = 4656 bits L I D + L h + L p + 2 L S = 1520 bits
F A to H A 2 L h + L I D + L r + 2 L T + L p + 10 L s = 3024 bits L I D + 20 L s = 2640 bits 2 L h + 2 L p + 2 L S = 2624 bits
H A to F A 3 L h + L T = 560 bits 2 L s = 256 bits L h + 10 L s = 1440 bits
F A to M U L h + L r + L T = 400 bits 2 L h = 320 bits L p + L h + 10 L s = 2464 bit
Total cost6308 bits7872 bits8048 bits

Share and Cite

MDPI and ACS Style

Liu, S.; Li, X.; Wu, F.; Liao, J.; Wang, J.; Lin, D. A Novel Authentication Protocol with Strong Security for Roaming Service in Global Mobile Networks. Electronics 2019, 8, 939. https://doi.org/10.3390/electronics8090939

AMA Style

Liu S, Li X, Wu F, Liao J, Wang J, Lin D. A Novel Authentication Protocol with Strong Security for Roaming Service in Global Mobile Networks. Electronics. 2019; 8(9):939. https://doi.org/10.3390/electronics8090939

Chicago/Turabian Style

Liu, Shanpeng, Xiong Li, Fan Wu, Junguo Liao, Jin Wang, and Dingbao Lin. 2019. "A Novel Authentication Protocol with Strong Security for Roaming Service in Global Mobile Networks" Electronics 8, no. 9: 939. https://doi.org/10.3390/electronics8090939

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop