Skip to main content
PLOS One logoLink to PLOS One
. 2016 Apr 21;11(4):e0153870. doi: 10.1371/journal.pone.0153870

An Extended Chaotic Maps-Based Three-Party Password-Authenticated Key Agreement with User Anonymity

Yanrong Lu 1,2, Lixiang Li 1,2,*, Hao Zhang 1,2, Yixian Yang 1,2
Editor: Kim-Kwang Raymond Choo3
PMCID: PMC4839728  PMID: 27101305

Abstract

User anonymity is one of the key security features of an authenticated key agreement especially for communicating messages via an insecure network. Owing to the better properties and higher performance of chaotic theory, the chaotic maps have been introduced into the security schemes, and hence numerous key agreement schemes have been put forward under chaotic-maps. Recently, Xie et al. released an enhanced scheme under Farash et al.’s scheme and claimed their improvements could withstand the security loopholes pointed out in the scheme of Farash et al., i.e., resistance to the off-line password guessing and user impersonation attacks. Nevertheless, through our careful analysis, the improvements were released by Xie et al. still could not solve the problems troubled in Farash et al‥ Besides, Xie et al.’s improvements failed to achieve the user anonymity and the session key security. With the purpose of eliminating the security risks of the scheme of Xie et al., we design an anonymous password-based three-party authenticated key agreement under chaotic maps. Both the formal analysis and the formal security verification using AVISPA are presented. Also, BAN logic is used to show the correctness of the enhancements. Furthermore, we also demonstrate that the design thwarts most of the common attacks. We also make a comparison between the recent chaotic-maps based schemes and our enhancements in terms of performance.

1 Introduction

Authenticated key exchange protocols, are among the core cryptographic mechanisms for ensuring network security, which aims at establishing a common session key between the communicated participates. For authenticated key exchange through an open environment, both security and privacy are desired. Over the past few decades, many works on authenticated key-exchange have been done referring to kinds of cryptographic primitives (e.g., symmetric cryptography, public key cryptography, hash functions, etc.) applied for different applications [111].

With infiltration and mergence of many scientific branches, chaotic theory has entered the field of vision of the cryptography researchers. Chaotic theory possesses the properties of unpredictability and sensitivity to parameters and initial conditions, which meet some essential requirements of cryptography. Subsequently, cryptography based on chaos theory has been studied widely. The chaotic maps have been applied in the design of symmetric encryption [1213], S-boxes [14], signature [15] and hash functions [16]. Additionally, chaotic systems have also been applied to design the key agreements, various chaotic maps-based key agreements and related approaches have been presented recently [1720], owing to that chaotic maps operations offer the semi-group property, and have a better efficiency than point multiplications on an elliptic curve and modular exponential operations [2122].

According to the numbers of participants for an authenticated key exchange scheme, there are two-party authenticated key exchange schemes, three-party authenticated key exchange schemes, and multi-party authenticated key exchange schemes. Two-party authenticated key exchange schemes are used to establish a session key under environment of client-server. In particular, the suggestion of three-party authenticated key exchange schemes are considered for solving the infeasibility of two-party schemes exchange session keys in large-scale communication environments. In 2011, Wang et al. [23] developed a three-party authenticated key agreement scheme using chaotic maps. However, Yoon et al. [24] declared that the scheme of Wang et al. violated an illegal message modification attack and then they presented an improvement. Next, Lee et al. [25] presented a chaotic maps based three-party authenticated key agreement scheme without using smart card. However, Hu et al. [26] proved that their scheme was not secure against the man-in-the-middle attack in condition that the identity was lost. After that, Farash et al. [27] proposed a three-party authenticated key agreement without applying symmetric cryptography and server’s public key. Nevertheless, Xie et al. [28] pointed out three-party authenticated key agreement proposed by Farash et al. could not withstand off-line password guessing attack, thus suffering user impersonation attack. In order to prevent the security threats, Xie et al. presented an enhancement without using server’s public key. Obviously, both of Farash et al. and Xie et al.’s schemes are efficient, but without using server’s public key is no guarantee of safety. The most important thing to consider that the identity of user is a key personal privacy. Generally, there is a growing requirement for protecting user privacy information from being leaked and abused, which outlines the needs for designing schemes that can attain user anonymity. The adoption of public key cryptography is essential needed to protect user anonymity, which has been verified by the excellent works [29]. Through our carefully analysis, we found that the proposed scheme by Xie et al. could not achieve user anonymity. In addition, their scheme could not resist off-line password guessing, thus notwithstanding user impersonation attack. Furthermore, the session key security could not provide in their scheme. Motivated by it, we design an extended chaotic maps-based three-party password-authenticated key agreement with user anonymity. Both the formal analysis and the formal security verification using AVISPA [3031] are presented. Also, BAN logic [32] is used to show the correctness of the enhancements. Furthermore, we also demonstrate that the design thwarts most of the common attacks. We also make a comparison between the recent chaotic-maps based schemes and our enhancements in terms of performance.

The outline of the paper are arranged as follows. The Chebyshev chaotic maps and the related intractable problems are introduced in Section 2. The cryptanalysis of Xie et al.’s scheme is presented in Section 3. Section 4 proposes a chaotic maps-based three-party authenticated key agreement. The security analysis of our scheme and comparison with other works are described in Sections 5 and 6, respectively. We summarize the whole paper in Section 7.

2 Preliminaries

We will introduce the Chebyshev chaotic maps and the related intractable problems [3334].

Chebyshev polynomial Let n be an integer and x ∈ [−1, 1]. The Chebyshev polynomial Tn(x):[−1, 1] → [−1, 1] can be defined as: Tn(x) = cos(narccos(x)). The recurrent formulas of the Chebyshev polynomial is shown as: T0(x) = 1, T1(x) = x, T2(x) = 2x2 − 1, Tn+1(x) = 2xTn(x) − Tn−1(x).

Semi-group property For p,qN,Tp(Tq(x))=Tpq(x)=Tq(Tp(x))(modN).

Discrete logarithm problem Known the parameters x and y, it is intractable to find an integer p such that Tp(x) = y.

Diffie-Hellman problem Known the parameters x, Tp(x), and Tq(x), it is intractable to compute the value Tpq(x).

3 Review of Xie et al.’s scheme

In this section, we shall review Xie et al.’s chaotic-maps based authenticated key agreement. Their scheme consists of four phases: system setup, registration, authentication and key exchange and password change. The registration and authentication and key exchange phases are shown in Fig 1. The notations used throughout this study are listed as follows.

Fig 1. Mutual authentication and key agreement of Xie et al.’s scheme.

Fig 1

S: a remote server.

A and B: two users.

IDA and IDB: users’ identities of A and B.

pwA and pwB: users’s passwords of A and B.

k and Tk(x): private and public keys of S.

s: a secret key of S.

r: shared secret key between A and S.

h1(): a one-way hash function h1: {0, 1}* → {0, 1}l.

h(): a chaotic maps-based one-way hash function h:{0,1}*Zp.

Z: ring of integer.

p: a large prime number.

3.1 System setup

The server S performs the following steps:

Selects its secret key s;

Selects a large prime number p, xZp;

Selects a secure one-way hash function h1;

Selects a chaotic maps-based one-way hash function h().

At last, S maintains the secret key s and releases the parameters {p, x, h1(), h()}.

3.2 Registration

The user A registers the server S as below:

Step 1: User A computes PWA = TpwA(x)modp and sends {IDA, PWA} to S through a secure channel, where IDA and pwA are the identity and password of A, respectively.

Step 2: The server S computes VPWA = h1(IDA, s) + PWA and stores {IDA, VPWA} in its database.

The user B also registers S as the above processes, we omit it.

3.3 Authentication and key exchange

The establishment of the session key among A, B and S are described in the following:

Step 1: User A computes RA = Ta(x)modp and sends {IDA, IDB, RA} to S, where a ∈ [1, p + 1].

Step 2: Once receiving the login message, S computes PWA = VPWAh(IDA, s), PWB = VPWBh(IDB, s), RS1 = TS1(x) − PWA modp, RS2 = TS2(x) − PWB modp and sends back {IDA, RS2} to B, sends {IDB, RS1} to A.

Step 3: Upon receiving {IDA, RS2} from S, B computes RB = Tb(x)modp, KBS = Tb(RS2 + PWB) = TbS2(x)modp, ZBS = h(0, IDB, IDA, RB, RS2, KBS). Then, B sends {RB, ZBS} to S. After A receives {IDB, RS1} from S, he computes KAS = Ta(RS1 + PWA) = TaS1(x)modp, ZAS = h(0, IDA, IDB, RA, RS1, KAS). Then, A sends {ZAS} to S.

Step 4: Upon receiving the messages from A and B, S computes KSB = TS2(RB) = TS2b(x)modp and checks whether h(0,IDB,IDA,RB,RS2,KSB)=?ZBS. If it is true, S then computes KSA = TS1(RA) = TS1a(x)modp and checks whether h(0,IDA,IDB,RA,RS1,KSA)=?ZAS. If holds, S computes ZAB = h(1, IDA, IDB, RA, RB, KSA), ZBA = h(1, IDB, IDA, RB, RA, KSB) and sends {RB, ZAB} and {RA, ZBA} to A and B, respectively.

Step 5: When A gets {RB, ZAB}, he verifies whether h(1,IDA,IDB,RA,RB,KAS)=?ZAB. If holds, A can compute KAB = Ta(RB) = Tab(x)modp and the session key SK = h(2, IDA, IDB, RA, RB, KAB). Similarly, once B gets {RA, ZBA}, he verifies whether h(1,IDB,IDA,RB,RA,KBS)=?ZBA. If it is valid, B can compute KBA = Tb(RA) = Tba(x)modp and the session key SK = h(2, IDA, IDB, RA, RB, KBA).

3.4 Password change

If user A attempts to update his password as a new one, he can perform the following steps:

Step 1: User A computes PWAnew=TpwAnew(x)modp,PWD=h(KAS,IDA)+PWAmodp,VA=h(KAS,PWA),ZAS=h(1,IDA,RA,S1,KAS,VA,MA) and sends {IDA, RA, ZAS, PWD, VA, MA} to S, where MA = {Password update request}.

Step 2: S first checks whether h(1,IDA,RA,RS1,KSA,VA,MA)=?ZAS. If it holds, S computes PWA = PWDh(KSA, IDA)modp and checks whether h(KSA,PWA)=?VA. If it holds, S computes R1 = h(1, IDA, PWD, VA, KSA), VPWA = h(IDA, s) + PWA modp, replaces VPWA with VPWAnew in its database, and sends {Accept, R1} to A. Otherwise, S sends {Reject, R2} to A, where R2 = h(0, IDA, PWD, VA, KSA).

Step 3: When A receives {Accept, R1}, he verifies if h(1,IDA,PWD,VA,KAS)=?R1. If true, A accepts pwAnew as his new password. Otherwise, he verifies whether h(0,IDA,PWD,VA,KAS)=?R2 and returns Step 1 to execute the above steps again.

4 Cryptanalysis of Xie et al.’s scheme

Xie et al.’s scheme declared that their improvements could withstand the password off-line guessing attack and the user impersonation attack which Farash et al.’s scheme failed to resist. However, we will demonstrate their improvement cannot really resist the off-line password guessing attack, thus suffering the user impersonation attack. Besides, we also demonstrate their improvements cannot achieve the session key security as they stated. Furthermore, user anonymity is also not able to provide in their improvements. In order to launch the attacks, we adopt the attack model proposed by Xu et al. [35]. According to their assumption, an attacker U can completely monitor the open communication channel, thus inserting, deleting, and modifying any messages among correspondents.

4.1 Off-line password guessing attack

U can easily perform the attack by intercepting the transmitted messages {IDA, IDB, RA} and ZAS from A to S as below:

Step 1: U computes RA = Ta(x)modp and sends {IDA, IDB, RA} to S, where a ∈ [1, p + 1] is a random number.

Step 2: S computes PWA = VPWAh(IDA, s), PWB = VPWBh(IDB, s), RS1 = TS1(x) − PWA modp, RS2 = TS2(x) − PWB modp, where S1, S2 ∈ [1, p + 1]. Next, S sends {IDB, RS1} to A.

Step 3: U guesses a candidate password PWA and computes KAS=Ta(RS1+PWA)=TaS1(x)modp. After that, U checks whether ZAS=?h(0,IDA,IDB,RA,RS1,KAS). If the equation is true, which means U gets the correct password. Otherwise, U performs the above steps again until he succeeds.

4.2 User impersonation attack

After obtaining the password of user A(or user B), U can masquerade as a legitimate user A (or user B) to cheat the server A and the user B (or user A). Following previous subsection, once U guesses correctly, he then sends {ZAS} to S. Upon receiving the messages from U, S executes the original scheme without any detection. Finally, S sends {RB, ZAB} to U. After receiving the messages from S, U verifies whether ZAB = h(1, IDA, IDB, RA, RB, KAS). If it is true, U computes KAB = Ta(RB) = Tab(x)modp and the session key SKAB = h(2, IDA, IDB, RA, RB, KAB). That is, U successfully wormed himself into S and Bs’ confidence.

4.3 Anonymity of users

The user identity is an important personal privacy. In many cases, U may exploit the user identity to link different login sessions together to trace user activities [29]. Moreover, the violation of user identity and activities may also facilitate an unauthorized entity to trace the user’s login history and even current location [36]. In Xie et al.’s scheme, the messages transmitted from A to S {IDA, IDB, RA}, sent from S to A {IDB, RS1}, the message transmitted from S to B {IDA, RS2}, are all exposed the identity of A and B. It is a good chance for U to obtain the identity and know who is requiring the service and further trace the position. This means Xie et al.’s scheme fails to achieve user anonymity.

4.4 Violation of the session key security

After deriving password PWA by performing the off-line password guessing attack, U can easily derive the mutually shared session key between A and B after intercepting the transmitted messages RA and RB. And thus, U can compute an integer solution a* (or b*) to satisfy the equation Ta*(x)=Ta(x)(or Tb*(x)=Tb(x)) by adopting the method of Bergamo et al. [22]:

a*=arccos(Ta(x))+2kπarccos(x)|kZ(b*=arccos(Tb(x))+2kπarccos(x)|kZ)

With the value a* and b*, U can compute the session key: Ta*(Tb*(x))modp=Ta*(Tb(x))modp=Tb(Ta*(x))modp=Tb(Ta(x))modp=Tba(x)modp=KAB

In this regard, U can compute the session key SK = h(2, IDA, IDB, RA, RB, KBA) since all the parameters contained in SK can be obtained only by intercepting the communication channel.

5 Proposed scheme

This section presents our enhanced scheme which inherits the advantages and avoids the disadvantages of the scheme proposed by Xie et al‥ The proposed scheme contains four phases: system initialization, registration, the session key establishment and password updating. The registration and the session key establishment phases are shown in Fig 2.

Fig 2. Mutual authentication and key agreement of our scheme.

Fig 2

5.1 System initialization

The server S performs the following steps:

Step 1: Selects a random number xZp;

Step 2: Selects a private key k ∈ [1, p + 1] and computes Tk(x)modp as its public key;

Step 3: Selects a chaotic map hash function h(), S maintains the secret key k and releases the parameters {p, x, Tk(x)modp, h()}.

5.2 Registration

The registration phase of A/B as below:

Step 1: User A/B submits {IDA, gA = h1(pwA, rA)}/{IDB, gB = h1(pwB, rB)} to the server S, where rA and rB are the random numbers;

Step 2: Upon receiving the registration request, S computes VPWA = h1(IDA, k) ⊕ gA/ VPWB = h1(IDB, k) ⊕ gB. Next, S randomly chooses a secret key r for A and sends it to A via the private channel. Noth that r is kept securely by A and is different for each user A. Finally, S stores kr and VPWA/VPWB into its memory.

5.3 Session key establishment

After registering the server S, users A and B establish the session key with the help of S in the following manner:

Step 1: Using the stored shared secret key r, user A computes his own version of CA = EKAS(IDA, IDB, Ta(x), FA) and sends them to S, where KAS = Tr(Tk(x)), FA = h(IDA, IDB, Ta(x), gA) and a ∈ [p + 1] is a random number.

Step 2: Once receiving the message, S first derives r by computing krk and derives {IDA, IDB, Ta(x), FA} by decrypting CA with computed symmetric key KAS = Tk(Tr(x)). Next, S checks whether h(IDA,IDB,Ta(x),gA)=?FA, where gA = VPWAh(IDA, k). If the equation is true, S computes CB = EgB(Ta(x), FB, IDA, IDB) and sends back it to user B, where FB = h(Ta(x), IDB).

Step 3: After receipt of the authentication message from S, user B first retrieves {Ta(x), IDA, IDB, FB} by decrypting CB and checks the validness of FB. If it is correct, B computes PB = EgB(Tb(x), HB) and sends back an authentication message via an unsecure channel to S with the following values {PB}, where HB = h(IDB, Tb(x)) and b ∈ [1, p + 1] is a random number at B side.

Step 4: S decrypts PB to get Tb(x) and HB using gB. After that, S examines whether h(IDB,Tb(x))=?HB. If it is correct, S computes ZAS = h(IDA, IDB, Tb(x), TS1(x)), RAS = EKAS(TS1(x), Tb(x), IDA, ZAS) and returns RAS to A, where S1 is the random number and KAS = Tk(Tr(x)) is a shared key between A and S. At the same time, S also computes ZBS = h(IDA, IDB, Ta(x), TS2(x)), RBS = EKBS(TS2(x), Ta(x), IDB, ZBS) and returns RBS to B, where S2 is the random number and KBS = Tk(Tb(x)).

Step 5: When receiving the message from S, A checks whether h(IDA,IDB,Tb(x),TS1(x))=?ZAS which is decrypted from RAS. If it holds, A computes the session key SK = Ta(Tb(x)) and VA = h(IDA, SK), and then sends VA to B. Similarly, B verifies the validity of ZBS = h(IDA, IDB, Ta(x), TS2(x)) which is derived from RBS. If it holds, B computes the session key SK = Tb(Ta(x)) and VB = h(IDB, SK), and then sends VB to A.

Step 6: Upon receiving the message from B, A verifies whether h(IDB, SK) is equal to the received VB. If the verification holds, A negotiates SK as the shared session key to encrypt the following messages. Otherwise, A aborts the session. At the same time, B checks the correctness of VB = h(IDA, SK). Once the result is true, B agrees the session key SK with A.

5.4 Password update

When A intends to change his password after successful handshake between A and S, he can perform the following steps:

Step 1: A selects a new password pwA* and computes RA=ETr(x)(IDA,h1(pwA*,rA),h1(pwA,rA),ZAS) and ZAS = h(IDA, TS1(x), KAS) to S.

Step 2: S decrypts RA to retrieve {IDA,h1(pwA*,rA),h1(pwA,rA),ZAS} using the shared secret key r and verifies whether h(IDA,TS1(x),KAS)=?ZAS. If it is correct, S computes VPWA*=h1(pwA,rA)VPWAh1(pwA*,rA). Next, S updates VPWA with VPWA*.

If B plans to change his password into a new one after successful authentication process between B and S, he performs the following steps:

Step 1: B selects a new password pwB* and computes RB=EKBS(IDB,h1(pwB*,rB),h1(pwB,rB),ZBS) and ZBS = h(IDB, TS2(x), KBS) to S.

Step 2: S decrypts RB to retrieve {IDB,h1(pwB*,rB),h1(pwB,rB),ZBS} by the shared key KBS and verifies whether h(IDB,TS2(x),KBS)=?ZBS. If it is correct, S computes VPWB*=h1(pwB,rB)VPWBh1(pwB*,rB). Next, S updates VPWB with VPWB*.

6 Security analysis of the proposed scheme

In this part, we first present a formal security analysis and then adopt the well-known formal tool for analyzing cryptographic protocol, i.e., BAN logic, to demonstrate the validness of the established session key between A and B in the help of the server S. After that, we conduct a security discussion for the proposed scheme according to the known kinds of security attributes. Next, we adopt the formal verification software to demonstrate our scheme is secure.

6.1 Formal security proof of the proposed scheme

Based on the one-way property of hash function [16] and ciphertext indistinguishability of symmetric cryptography algorithm [37], this part gives the formal analysis of the proposed scheme.

Symmetric cryptography algorithm Θ assumption: Denote the Θ advantage by AdvPΘ. Θ is secure if AdvPΘ is negligible for any probabilistic, polynomial time adversary.

Theorem 1 Let Θ is secure. Assume that the one-way hash function h(⋅) behaves as a random oracle, then our proposed password-authentication key agreement defends against an adversary U for extracting the identity IDA of the user A, and the session key SK between the user A and the user B.

Reveal 1: This oracle unconditionally outputs the cleartext m using symmetric cryptography algorithm Θ under the corresponding ciphertext C = Enck(m).

Reveal 2: This oracle unconditionally outputs the input x using hash function under the corresponding hash value y = h(x).

Proof. The adversary U executes the experiments Exp1U,TPPPAKAΘ (Table 1) and Exp2U,TPPPAKAHash (Table 2) for our three-party password-authentication key agreement. Suppose that the adversary U could get the identity IDA of the user A, and the session key SK between the user A and the user B, which means U has an extremely high probability MaxUSucc1 and MaxUSucc2 to win the game within the running time ti and the number of queries qi(i = 1, 2), where Succ1=|Pr(Exp1U,TPPPAKAΘ=1)-1 and Succ2=|Pr(Exp2U,TPPPAKAHash=1)-1. However, they are both computationally infeasible problems under the symmetric cryptography algorithm Θ assumption without the knowledge of the secret key k and non-invertibility of hash function, i.e., AdvU,TPPPAKAΘ(t1)ε1, AdvU,TPPPAKAhash(t2)ε2, for any sufficiently small εi > 0(i = 1, 2). That is, MaxUSucc1ε1 and MaxUSucc2ε2 since both they depend on the advantage AdvU,TPPPAKAΘ and AdvU,TPPPAKAhash, respectively. As a result, no adversary U has the ability to derive the identity IDi of the A and the session key SK between the user A and the user B.

Table 1. Algorithm 1.

1. Intercept the login message {CA}, CA = EKAS(IDA, IDB, Ta(x), FA)
2. Call Reveal oracle 1. Let (IDA,IDB,Ta(x),FA)Reveal(CA)
3. Intercept the authenticated message {CB}, where CB = EgB(IDA, IDB, Ta(x), FB)
4. Call Reveal oracle 1. Let (IDA,IDB,Ta(x),FB)Reveal(CB)
5. If (Ta(x)′′ = Ta(x)′) then
6. Accept IDA as the true identity of the user A
7. return 1
8. else
9. return 0
10. end if

Table 2. Algorithm 2.

1. Intercept the login message {VA}, where VA = h(IDA, SK)
2. Call Reveal oracle 2. Let (IDA,SK)Reveal(VA)
3. Intercept the authenticated message Intercept the login message {VA},
where VB = h(IDB, SK)
4. Call Reveal oracle 1. Let (IDA,SK)Reveal(VB)
5. If (IDA=IDA) then
6. Accept SK′ as the correct session key between A and B
7.  return 1
8. else
9.  return 0
10. end if

6.2 Authentication proof based on BAN logic

BAN logic is an important formal mean and is widely applied for the security analysis of authentication schemes. Verification process for the protocol using BAN logic is mainly composed of four parts: Goals, Idealisation, Assumptions and Analysis. Goals, as its name suggests, the objectives of the verification; Idealisation aims at formulating the protocol step in a way for each ciphertext communication; Assumptions state some essential information, such as, which principals have generated which fresh random numbers, what keys are originally shared between the principals, and which principals are trusted in special ways. Upon all the aforementioned basis, BAN logic analysis on the protocol step by step is a natural procedure. BAN logic defines some notations and rules to verify whether the mutual authentication is achieved between corresponds. We first introduce some common notations and rules related with our analysis in the following.

Notations

PX: principal P sees a message containing X

P| ≡ X: P believes X is true

P| ∼ X: P is known to have sent a message including X

PKQ: P and Q communicate with a shared key K

#X: formula X is fresh

PX: P has jurisdiction over X

<X, Y>K: X and Y are encrypted with the key K

{X, Y}: X or Y is a part of the message {X, Y}

Statement1,Statement2Statement3: a conjunction of statements1 and 2 can infer statement3

Rules

A|AKB,A{X}KA||BX(Message-meaning rule): if A believes that the key K is shared with B and and receives a message containing X encrypted under K, then A believes that B once said X.

A|#X,A|B|XA|B|X(Nonce-verification rule): if A once said X, and A believes that B once said X, then A believes that A believes X.

A|#XA|#(X,Y)(Fresh conjuncatenation rule): if A believes a component of a formula (X, Y) is fresh, then A believes the formula is fresh.

A|BX,A|B|XA|X(Jurisdiction rule): if A believes that B has controlled over X, and A believes that B believes X, then A trusts B on the truth of X.

(1) We establish the following goals which the session key agreement protocol should achieve:

goal1.A|ASKB

goal2.A|B|ASKB

goal3. A| ≡ B| ≡ IDB

goal4.B|ASKB

goal5. B| ≡ IDA

goal6. B| ≡ A| ≡ IDA

goal7.B|A|ASKB

(2) We idealize the communication messages of the proposed scheme as below:

AS:

CA:<IDA,IDB,FA,Ta(x)>AKASS,

FA:<IDA,IDB,Ta(x)>AgAS.

SA:

RAS:<TS1(x),Tb(x),ZAS,IDA>AKASS,

ZAS: (IDA, IDB, Tb(x), TS1(x)).

SB:

CB:{Ta(x),IDA,IDB,FB}AgBS,

FB: h(Ta(x), IDB),

RBS:<IDB,TS2(x),Ta(x),ZBS>BKBSS,

ZBS: h(IDA, IDB, Ta(x), TS2(x)).

BS:

PB:<Tb(x),HB>BgBS,

HB: (IDB, Tb(x)).

AB:

VA:<IDA,SK>ASKB.

BA:

VB:<IDB,SK>ASKB.

(3) We make some initial assumptions for the proposed scheme as follows:

A1. A| ≡ #a

A2. B| ≡ #b

A3. B| ≡ IDB

A4. A| ≡ IDA

A5.A|AKASS

A6.S|AKASS

A7. A| ≡ IDB

A8.A|ATr(x)S

A9.S|ATr(x)S

A10.A|ATaS1(x)S

A11.S|ATaS1(x)S

A12.B|BTbS2(x)S

A13.S|BTbS2(x)S

A14.B|BKBSS

A15.B|BgBS

Now, using the rules of the BAN logic, we demonstrate the proposed scheme can attain the intended goals based on the above descriptions:

According to the message CA, we derive:

D1. S<IDA,IDB,FA,Ta(x)>AKASS

According to A6, D1 and message-meaning rule, we get:

D2. S<IDA,IDB,FA,Ta(x)>AKASS,S|AKASSS|A|{IDA,IDB,FA,Ta(x)}

According to RAS, we obtain:

D3. A<TS1(x),Tb(x),ZAS,IDA>AKASS

According to A5, D3 and message-meaning rule, we get:

D4. A<TS1(x),Tb(x),ZAS,IDA>AKASS,A|AKASSA|S|{TS1(x),Tb(x),ZAS,IDA}

According to D4, A4 and fresh conjuncatenation rule, we obtain:

D5. A|IDA,A|S|{TS1(x),Tb(x),ZAS,IDA}A|{Tb(x),TS1(x),ZAS}

According to D5, we immediately retrieve:

D6. A|{TS1(x),Tb(x),ZAS}A|TS1(x),A|Tb(x),A|ZAS

According to D6, SK = Ta(Tb(x)) and A1, we also eventually achieve:

goal1. A|Tb(x),SK=Ta(Tb(x)),A|#aA|ASKB

According to the message VB, we gain:

D7. A(IDB,SK)ASKB

According to D7, goal1 and message-meaning rule, we get:

D8. A(IDB,ASKB)SK,A|ASKBA|B|{IDB,ASKB}

According to goal1, D8 and nonce-verification rule, we attain:

goal2. A|ASKB,A|B|ASKBA|B|ASKB

According to D8, A7 and nonce-verification rule, we achieve:

goal3. A|IDB,A|B|IDBA|B|IDB

According to the message RBS, we extract:

D9. B<IDB,TS2(x),Ta(x),ZBS>BKBSS

According to A14, D9 and message-meaning rule, we collect:

D10. B<IDB,TS2(x),Ta(x),ZBS>BKBSS,B|BKBSSB|S|{IDB,TS2(x),Ta(x),ZBS}

According to A3, D10 and fresh conjuncatenation rule, we acquire:

D11. B|IDB,B|S|{IDB,TS2(x),Ta(x),ZBS}B|{TS2(x),Ta(x),ZBS

According to D11, we intuitively collect:

D12. B|{TS2(x),Ta(x),ZBS}B|TS2(x),B|Ta(x),B|ZBS

According to A2, D12 and SK = Tb(Ta(x)), we naturally receive:

goal4. B|Ta(x),SK=Tb(Ta(x)),B|#bB|ASKB

According to the message CB, we obtain:

D13. B{Ta(x),IDA,IDB,FB}AgBS

According to A15, D13 and message-meaning rule, we attain:

D14. B{Ta(x),IDA,IDB,FB}AgBS,B|BgBSB|S|{Ta(x),IDA,IDB,FB}

According to A3, D14 and fresh conjuncatenation rule, we derive:

goal5. B|IDB,B|S|{Ta(x),IDA,IDB,FB}B|{IDA}

According to VA, we collect:

D15. B(IDA,SK)ASKB

According to A15, goal4 and message-meaning rule, we attain:

D16. B(IDA,ASKB)SK,B|ASKBB|A|{ASKB,IDA}

According to goal5, D16 and nonce-verification rule, we get:

goal6. B|IDA,B|A|IDAB|A|IDA

According to goal4, goal5 and nonce-verification rule, we get:

goal7. B|A|ASKB,B|ASKBB|A|ASKB

6.3 Informal security analysis

In this part, we demonstrate the strong ability of the proposed scheme. Specifically, we will show that the proposed scheme is secure against the loopholes which found in the scheme of Xie et al. Besides, the proposed scheme also provide other common security features. To facilitate the discussion, we also adopt the attack model proposed by Xu et al. [35], that is, an adversary can completely monitor the open communication channel, thus inserting, deleting, and modifying any messages among correspondents.

6.3.1 User anonymity

We employ symmetric cryptography to safeguard user identity. Specifically, the identities {IDA, IDB} are contained only in CA, RAS or CB, GB and RBS in the form of ciphtertext, where CA = EKAS(IDA, IDB, FA), RAS = EKAS(TS1, Tb(x), ZAS), ZAS = h(IDA, IDB, Tb(x), TS1(Ta(x))), CB = EgB(Ta(x), h(Ta(x), TgB(IDB)), GB = EKBS(IDB, HB), RBS = EKBS(TS2, Ta(x), ZBS), ZBS = h(IDA, IDB, Ta(x)), KAS = Ta(Tk(x)), gA(B) = h1(pwA(B), rA(B)). From the above we can see that both the identities of A and B are protected by the server’s public key, chaotic-maps, hash function and symmetric cryptographic operations. Besides, used parameters include secret keys and random numbers are not exposed in the public channel. For example, suppose an adversary U eavesdrops the message CA and he plans to derive the identity of A. He first needs to know KAS = Ta(Tk(x)). To obtain Ta(x) from intercepted HA = Ta(x) ⊕ Tr(x), the shared secret key r is needed. In general, it is hard to derive from the transmitted messages. Our proposed scheme is therefore secure from trace attack.

6.3.2 Avoidance of insider attack

In the registration phase of our proposed scheme, A and B send gA = h1(pwA, rA) or gB = h1(pwB, rB) to the server S, respectively. When S receiving the registration request, he cannot retrieve the cleartext password pwA or pwB owing to the unawareness of the random numbers rA and rB. Therefore, the proposed scheme can protect against the insider attack.

6.3.3 Avoidance of off-line password guessing attack

U intercepts all the communicated messages {CA, HA, CB, PB, GB, RAS, RBS}, he still cannot derive password of user B. Assume that U steals the stored information {VPWA} or {VPWB}, where VPWA(B) = h1(pwA(B), rA(B)) ⊕ h1(IDA(B), k). Even if the secret key k of S is compromised, U also requires the random number rA(B). In addition, the identity of A or B is also needed. This point has been ensured by user anonymity. This means the off-line password guessing attack is not able to come true in our scheme.

6.3.4 Avoidance of user impersonation attack

By virtue of being discussed in the previous subsection, U is not possible to guess the correct password, let alone masquerade as a legal user to cheat the services provided by the server S. Once U fabricates the password and sends the forged message {CA} or {PB} to the server S. After receiving the message, S will decrypt CA by using its own private key k. It is clear that S will detect the attack from user by checking the correctness of FA or HB by using its own computed values gA = h1(pwA, rA) = VPWAh1(IDA, k) or gB = h1(pwB, rB) = VPWBh1(IDB, k). Therefore, U is also impossible to launch the user impersonation attack.

6.3.5 Avoidance of man-in-the-middle attack

Assume that U intercepts the login message {CA = EKAS(IDA, IDB, Ta(x), FA)} and attempts to modify it. However, he has no way to know the shared symmetric key KAS between A and S. Without the important key, he is not possible to decrypt it. Similarly, if U eavesdrops the message CB = EgB(Ta(x), FB, IDA, IDB) and plans to forge it. He also face an embarrassed reality without knowledge of the shared symmetric key gB. Therefore, the proposed scheme protects against the man-in-the middle attack. This point will be verified by the simulation result later.

6.3.6 The session key perfect forward secrecy

The session key SK = Ta(Tb(x)), where Ta(x) and Tb(x) are not directly transmitted in the public channel. On the one side, Ta(x) and Tb(x) are encrypted with the symmetric cryptographic technology or the Chebyshev polynomials, where the symmetric key is gB and chaotic map is Tr(x). The security of symmetric key has been demonstrated in the previous subsection. On the other side, assume that U has the secret key of S and the stored information {VPWA} or {VPWB}. In this case, it is an impossible task for U to attempt to derive gA or gB due to the unknown of the identity A or B. In order to know the identity, which goes back to this discussion about user anonymity. Therefore, the proposed scheme is able to provide the session key perfect forward secrecy.

6.3.7 Mutual authentication

A sent the message {CA, HA} to S, where CA = EKAS(IDA, IDB, FA), FA = h(IDA, IDB, Ta(x), gA) and HA = Ta(x) ⊕ Tr(x). Upon receiving the message, S derives Ta(x) using the shared secret key r and then decrypts CA to get {IDA, IDB, FA} using its private key k. Next, S computes h(IDA, IDB, Ta(x), VPWAh1(IDA, k)) and checks whether it is equal to the decrypted from CA. If it is correct, A is authenticated. The validness of FB which is decrypted from CB to verify the legitimacy of S. And the correctness of HB which is decrypted from GB to validate the legalization of B. Similarly, A authenticates S by checking the verification of ZAS decrypted from RAS. Finally, the authentication between A and B are gone through the correctness of VA and VB.

6.4 Formal validation of the proposed scheme using AVISPA software

In this part, we simulate the proposed scheme using the commonly used AVISPA (Automated Validation of Internet Security Protocols and Applications) toolkit [3031] to validate the passive and active attacks including man-in-the-middle and replay attacks that has been withstand. AVISPA integrates four backends: (i)OFMC; (ii)CL-AtSe; (iii)SATMC; (iv)TA4SP for the analysis of security schemes and implements in the role based HLPSL (High Level Protocol Specification Language). After execution through the OFMC and CL-AtSe backends, the results (Figs 34) clearly verify that the proposed scheme is secure under the Dolev-Yao model. The specifications for the roles for UA(S1 Fig), UB(S2 Fig), S(S3 Fig), the Session(S4 Fig) and the Environment(S5 Fig) in HLPSL are provided in Supporting Information.

Fig 3. Simulation result for the OFMC.

Fig 3

Fig 4. Simulation result for the CL-AtSe.

Fig 4

7 Performance comparisons

In this section, we evaluate the performance of our proposed scheme and make comparisons with the recent chaotic-maps based schemes [28, 2, 4, 9]. The following types of computation costs will be used to evaluate the feasibility of the attack in terms of its computational complexity.

Tcp: time for computing Chebyshev polynomial;

Th: time for computing hash function;

TS: time for performing symmetric cryptography;

Tpm: time for computing point multiplication;

Tm: time for performing MAC generation/verification.

Table 3 shows the computation overhead comparisons of our proposed scheme and some recent three-party schemes. We mainly address on the consumptions of authentication and session key agreement due to these are the principal parts of an authentication scheme and should be performed for each session. In Table 3, it is obvious that our improvements need a sight higher computational cost than Xie et al.’s scheme while consuming less than others, where the time for performing a point multiplication is much more expensive than the lightweight cryptographic operations, and a symmetric encryption/decryption operation is almost as many costs as a hash function [34]. However, it is worth an additional chaotic-maps and symmetric cryptographic operations to achieve strong security and better functionality attributes compared with Xie et al.’s scheme.

Table 3. Performance comparison.

Ours Xie et al. [28] Chou et al. [2] He-Wang [4] Nam et al. [9]
User 3Tcp + 4Th + 4Th 3Tcp + 3Th 3Tpm + 2Th 3Tpm + 7Th 3Tpm + 1TS + 4Th + 1Tm
Second party 2Tcp + 3TS + 5Th 3Tcp + 3Th 3Tpm + 2Th 2Tpm + 5Th 1Tm + 1TS + 1Th
Third patry 5Tcp + 5TS + 7Th 4Tcp + 6Th 3Tpm + 8Th 2Tpm + 9Th 1Tm + 1TS + 2Th
Communication rounds 6 5 6 6 4

Table 4 lists the security comparisons among our proposed scheme and some recent three-party schemes. It demonstrates that our scheme has many excellent features and is more secure than other recent three-party schemes.

Table 4. Security properties comparison.

Ours Xie et al. [28] Chou et al. [2] He-Wang [4] Nam et al. [9]
Session key perfect forward secrecy Yes No Yes Yes Yes
Mutual authentication Yes Yes Yes Yes Yes
User anonymity Yes No No Yes Yes
Insider attack Yes Yes - Yes No
Off-line password guessing attack Yes No - Yes No
Impersonation attack Yes No No No No

8 Conclusion and future work

This paper discussed the security of the recent scheme proposed by Xie et al. We showed that the recent scheme had several security pitfalls. Besides, we found that it was insecure only using hash function. To mend all the identified weaknesses, we then presented an enhancement which utilized asymmetric cryptography to conceal the user’s identity. We demonstrated that the improvements not only was immune to the loopholes found in Xie et al.’s scheme but also was secure other common attacks. We also performed the BAN logic test and confirmed the mutual authentication is achieved in our scheme. The formal security analysis also shows our scheme supports more security properties. The performance comparison between the recent schemes and the proposed scheme showed our improvements was more secure than other schemes. Actually, it is not negligible that based on chaotic maps has inevitable restrictions in some applications and an ID-based solution is a better one. Therefore, our near future work is to address to design a robust ID-based authenticated key agreement scheme.

Supporting Information

S1 Fig. Role specification of UA.

(EPS)

S2 Fig. Role specification of UB.

(EPS)

S3 Fig. Role specification of S.

(EPS)

S4 Fig. Role specification of the Session.

(EPS)

S5 Fig. Role specification of the Environment.

(EPS)

Data Availability

All relevant data are within the paper and its Supporting Information files.

Funding Statement

This paper is supported by the National Natural Science Foundation of China (Grant Nos. 61472045, 61573067), the Beijing Natural Science Foundation (Grant No. 4142016), the BUPT Excellent Ph.D. Students Foundation (Grant No. CX2015310), and the Asia Foresight Program under NSFC Grant (Grant No. 61411146001). The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.

References

  • 1. Alomair B, Poovendran R. Efficient Authentication for Mobile and Pervasive Computing. IEEE Transactions on Mobile Computing. 2014; 13(3): 469–481. 10.1109/TMC.2012.252 [DOI] [Google Scholar]
  • 2. Chou CH, Tsai KY, Lu CF. Two ID-based authenticated schemes with key agreement for mobile environments. Journal of Supercomputing. 2013; 66(2):973–88. 10.1007/s11227-013-0962-3 [DOI] [Google Scholar]
  • 3. Guo LK, Zhang C, Sun JY, Fang YG. A privacy-preserving attribute-based authentication system for mobile health networks. IEEE Transaction on Mobile Computing. 2014; 13(9): 1927–1941. 10.1109/TMC.2013.84 [DOI] [Google Scholar]
  • 4.He DB, Wang D. Robust Biometrics-Based Authentication Scheme for Multiserver Environment. IEEE Systems Journal.
  • 5. Islam SK, Khan MK. Provably secure and pairing-free identity-based handover authentication protocol for wireless mobile networks. International Journal Communication Systems. 2014. 10.1002/dac.2847 [DOI] [Google Scholar]
  • 6. Kilinc H, Yanik T. A Survey of SIP authentication and key agreement schemes. IEEE Communications Surveys and Tutorials. 2014; 16(2): 1005–1023. 10.1109/SURV.2013.091513.00050 [DOI] [Google Scholar]
  • 7. Liu JW, Zhang ZH, Chen XF, Kwak KS. Certificateless remote anonymous authentication schemes for wireless body area networks. IEEE Transactions on Parallel and Distributed Systems. 2014; 25(2): 332–342. 10.1109/TPDS.2013.145 [DOI] [Google Scholar]
  • 8. Lu RX, Lin XD, Zhu HJ, Liang XH, Shen XM. BECAN: a bandwidth-efficient cooperative authentication scheme for filtering injected false data in wireless sensor networks. IEEE Transactions on Parallel and Distributed Systems. 2012; 23(1): 32–43. 10.1109/TPDS.2011.95 [DOI] [Google Scholar]
  • 9. Nam J, Choo KKR, Han S, Kim M, Paik J, Won D. Efficient and anonymous two-factor user authentication in wireless sensor networks: achieving user anonymity with lightweight sensor computation. PLoS ONE. 2015; 10(4): e0116709 10.1371/journal.pone.0116709 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 10. Turkanović M, Brumen B, Hölbl M. A novel user authentication and key agreement scheme for heterogeneous ad hoc wireless sensor networks, based on the Internet of Things notion. Ad Hoc Networks. 2014; 20: 96–112. 10.1016/j.adhoc.2014.03.009 [DOI] [Google Scholar]
  • 11. Xue KP, Hong PL. Security improvement on an anonymous key agreement protocol based on chaotic maps. Communication in Nonlinear Science and Numerical Simulation. 2012; 17(7): 2969–2977. 10.1016/j.cnsns.2011.11.025 [DOI] [Google Scholar]
  • 12. Khan M, Shah T, Mahmood H, Gondal MA. An efficient method for the construction of block cipher with multichaotic systems. Nonlinear Dynamics. 2013; 71(3): 489–492. 10.1007/s11071-012-0675-9 [DOI] [Google Scholar]
  • 13. Lian SG, Sun JS, Wang ZQ. A block cipher based on a suitable use of the chaotic standard map. Chaos Solitons Fractals. 2005; 26: 117–129. 10.1016/j.chaos.2004.11.096 [DOI] [Google Scholar]
  • 14. ökaynak F, Yavuz S. Designing chaotic S-boxes based on time-delay chaotic system. Nonlinear Dynamics. 2013; 74(3): 551–557. 10.1007/s11071-013-0987-4 [DOI] [Google Scholar]
  • 15. Chain K, Kuo WC. A new digital signature scheme based on chaotic maps. Nonlinear Dynamics. 2013; 74(4): 1003–1012. 10.1007/s11071-013-1018-1 [DOI] [Google Scholar]
  • 16. Deng SJ, Li YT, Xiao D. Analysis and improvement of a chaos-based Hash function construction. Communication in Nonlinear Science and Numerical Simulation. 2010; 15(5): 1338–1347. 10.1016/j.cnsns.2009.05.065 [DOI] [Google Scholar]
  • 17. Lee TF. Enhancing the security of password authenticated key agreement protocols based on chaotic maps. Information Sciences. 2015; 290: 63–71. 10.1016/j.ins.2014.08.041 [DOI] [Google Scholar]
  • 18. Lin HY. Improved chaotic maps-based password-authenticated key agreement using smart cards. Communication in Nonlinear Science and Numerical Simulation. 2015; 20(2): 482–488. 10.1016/j.cnsns.2014.05.027 [DOI] [Google Scholar]
  • 19.Li X, Niu JW, Kumari S, Khan MK, Liao JG, Liang W. Design and analysis of a chaotic maps-based three-party authenticated key agreement protocol. Nonlinear Dynamics.
  • 20. Xiao D, Liao XF, Deng SJ. A novel key agreement protocol based on chaotic maps. Information Sciences. 2007; 177: 1136–1142. 10.1016/j.ins.2006.07.026 [DOI] [Google Scholar]
  • 21. Wang XY, Gao YF. A switch-modulated method for chaos digital secure communication based on user-defined protocol. Communication in Nonlinear Science and Numerical Simulation. 2010; 15(1): 99–104. 10.1016/j.cnsns.2008.05.002 [DOI] [Google Scholar]
  • 22. Bergamo P, D’Arco P, De Santis A, Kocarev L. Security of public-key cryptosystems based on Chebyshev polynomials. IEEE Transactions Circuits and Systems. 2005; 52: 1382–1393. 10.1109/TCSI.2005.851701 [DOI] [Google Scholar]
  • 23. Wang XY, Zhao JF. An improved key agreement protocol based on chaos. Communication in Nonlinear Science and Numerical Simulation. 2010; 15(12): 4052–4057. 10.1016/j.cnsns.2010.02.014 [DOI] [Google Scholar]
  • 24. Yoon EJ, Jeon IS. An efficient and secure DiffieCHellman key agreement protocol based on Chebyshev chaotic map. Communication in Nonlinear Science and Numerical Simulation. 2011; 16(6): 2383–2389. 10.1016/j.cnsns.2010.09.021 [DOI] [Google Scholar]
  • 25. Lee CC, Li CT, Hsu CW. A three-party password-based authenticated key exchange protocol with user anonymity using extended chaotic maps. Nonlinear Dynamics. 2013; 73(1-2): 125–132. 10.1007/s11071-013-0772-4 [DOI] [Google Scholar]
  • 26. Hu XX, Zhang ZF. Cryptanalysis and enhancement of a chaotic maps-based three-party password authenticated key exchange protocol. Nonlinear Dynamics. 2014. 10.1007/s11071-014-1515-x [DOI] [Google Scholar]
  • 27. Farash MS, Attari MA. An efficient and provably secure three-party password-based authenticated key exchange protocol based on Chebyshev chaotic maps. Nonlinear Dynamics. 2014; 77(1-2): 399–411. 10.1007/s11071-014-1304-6 [DOI] [Google Scholar]
  • 28. Xie Q, Hu B, Wu T. Improvement of a chaotic maps-based three-party password-authenticated key exchange protocol without using server’s public key and smart card. Nonlinear Dynamics. 2015; 79: 2345–2358. 10.1007/s11071-014-1816-0 [DOI] [Google Scholar]
  • 29. Wang D, He DB, Wang P, Chu CH. Anonymous two-factor authentication in distributed systems: certain goals are beyond attainment. IEEE Transactions on Dependable and Secure Computing. 2014; 99. [Google Scholar]
  • 30.AVISPA, Automated validation of internet security protocols and applications. http://www.avispa-project.org/ (accessed October 2014).
  • 31.AVISPA, AVISPA web tool. http://www.avispa-project.org/webinterface/expert.php/ (accessed on October 2014).
  • 32. Burrows M, Abadi M, Needham RM. A logic of authentication. ACM Transactions on Computer Systems. 1990; 8(1): 18–36. 10.1145/77648.77649 [DOI] [Google Scholar]
  • 33. Mason JC, Handscomb DC. Chebyshev Polynomials. Chapman & Hall/CRC Press, 2003, London [Google Scholar]
  • 34. Zhang LH. Cryptanalysis of the public key encryption based on multiple chaotic systems. Chaos Solitons & Fractals. 2008; 37(3): 669–674. 10.1016/j.chaos.2006.09.047 [DOI] [Google Scholar]
  • 35. Xu J, Zhu WT, Feng DG. An improved smart card based password authentication scheme with provable security. Computer Standards & Interfaces. 2009; 31(4): 723–728. 10.1016/j.csi.2008.09.006 [DOI] [Google Scholar]
  • 36. Zhu F, Carpenter S, Kulkarni A. Understanding identity exposure in pervasive computing environments. Pervasive and Mobile. Computing. 2012; 8(5): 777–794. [Google Scholar]
  • 37.Advanced Encryption Standard, FIPS PUB 197, National Institute of Standards and Technology (NIST), U.S. Department of Commerce, November 2001. http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf Accessed on November 2010

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Supplementary Materials

S1 Fig. Role specification of UA.

(EPS)

S2 Fig. Role specification of UB.

(EPS)

S3 Fig. Role specification of S.

(EPS)

S4 Fig. Role specification of the Session.

(EPS)

S5 Fig. Role specification of the Environment.

(EPS)

Data Availability Statement

All relevant data are within the paper and its Supporting Information files.


Articles from PLoS ONE are provided here courtesy of PLOS

RESOURCES