You are on page 1of 17

SPECIAL SECTION ON SECURITY AND PRIVACY IN APPLICATIONS AND SERVICES FOR

FUTURE INTERNET OF THINGS

Received January 29, 2017, accepted February 14, 2017, date of publication March 3, 2017, date of current version March 28, 2017.
Digital Object Identifier 10.1109/ACCESS.2017.2673239

Lightweight Three-Factor Authentication and Key


Agreement Protocol for Internet-Integrated
Wireless Sensor Networks
QI JIANG1 , SHERALI ZEADALLY2 , JIANFENG MA1 , AND DEBIAO HE3,4
1 School of Cyber Engineering, Xidian University, Xi’an 710071, China
2 College of Communication and Information, University of Kentucky, Lexington, KY 40506-0224, USA
3 Software Engineering, Wuhan University, Wuhan 430072, China
4 School of Computer and Software, Nanjing University of Information Science and Technology, Nanjing 210044, China

Corresponding author: Q. Jiang (jiangqixdu@gmail.com)


This work was supported in part by the National Science Foundation of China under Grant 61672413, Grant 61572379, Grant 61501333,
Grant U1405255, Grant 61372075, and Grant U1536202, in part by the Natural Science Basic Research Plan in Shaanxi Province of China
under Grant 2016JM6005, in part by Fundamental Research Funds for the Central Universities under Grant JB161501 and
Grant JBG161511, in part by the National High Technology Research and Development Program (863 Program) of China under
Grant 2015AA016007, and in part by the China 111 Project under Grant B16037.

ABSTRACT Wireless sensor networks (WSNs) will be integrated into the future Internet as one of the
components of the Internet of Things, and will become globally addressable by any entity connected to the
Internet. Despite the great potential of this integration, it also brings new threats, such as the exposure of
sensor nodes to attacks originating from the Internet. In this context, lightweight authentication and key
agreement protocols must be in place to enable end-to-end secure communication. Recently, Amin et al.
proposed a three-factor mutual authentication protocol for WSNs. However, we identified several flaws in
their protocol. We found that their protocol suffers from smart card loss attack where the user identity and
password can be guessed using offline brute force techniques. Moreover, the protocol suffers from known
session-specific temporary information attack, which leads to the disclosure of session keys in other sessions.
Furthermore, the protocol is vulnerable to tracking attack and fails to fulfill user untraceability. To address
these deficiencies, we present a lightweight and secure user authentication protocol based on the Rabin
cryptosystem, which has the characteristic of computational asymmetry. We conduct a formal verification
of our proposed protocol using ProVerif in order to demonstrate that our scheme fulfills the required security
properties. We also present a comprehensive heuristic security analysis to show that our protocol is secure
against all the possible attacks and provides the desired security features. The results we obtained show that
our new protocol is a secure and lightweight solution for authentication and key agreement for Internet-
integrated WSNs.

INDEX TERMS Authentication, biometrics, key management, privacy, Rabin cryptosystem, smart card,
wireless sensor networks.

I. INTRODUCTION integrating WSN into Internet [4], such as 6LoWPAN [5] and
One vision of future Internet is that objects and things with ROLL [6]. As illustrated in Fig. 1, sensor nodes (SNs) can be
sensing and actuating capabilities will be connected and inte- connected by low rate and low power wireless technologies
grated making up the Internet of Things (IoTs). As Wire- such as IEEE 802.15.4, and can be further linked to the
less Sensor Network (WSN) is one of the core technologies Internet via a 6LoWPAN gateway. Therefore, sensors will be
supporting the sensing capabilities required by future appli- globally addressable by any entity connected to the Internet
cations, the integration of WSN with the Internet will have thereby enabling the remote access of sensor data.
an active role in the evolution of the architecture of future Despite its great potential, the integration of WSN with
Internet [1]–[3]. The Internet Engineering Task Force (IETF) the Internet also brings new threats, such as the exposure
has developed a suite of protocols and open standards for of resource-constrained SNs and low rate wireless links in

2169-3536
2017 IEEE. Translations and content mining are permitted for academic research only.
3376 Personal use is also permitted, but republication/redistribution requires IEEE permission. VOLUME 5, 2017
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

FIGURE 1. Typical architecture of Internet integrated wireless sensor networks.

WSN to attacks emanating from the Internet [3], [7]–[12]. establishment mechanism for resource-constrained devices.
Given its sensitivity and criticality, the sensor data in transit To prevent potential eavesdroppers from tracking users’
must be protected by an end-to-end (E2E) secure channel access patterns, they also presented a privacy-enhanced
between the SN and the entity outside the WSN. The creation Ladon protocol by integrating the original protocol with the
of such a channel requires authentication and key agree- PrivaKERB user privacy framework for Kerberos [7]. In these
ment mechanisms that allow two remote entities to mutually protocols, the long keys need to be securely stored and may
authenticate and negotiate secret keys that are used to protect be compromised.
the sensor data against various types of active and passive To improve WSN security, two-factor authentication (2FA)
attacks [2], [13], [14]. Note that even if the WSN itself has protocols [26] have been introduced in WSN. In such pro-
security measures at a lower layer such as the link layer tocols, two different types of security credential are used,
security services defined by IEEE 802.15.4, the openness of i.e., smart card and password, to prove his/her identity. Over
the Internet still requires authentication and key agreement a dozen of 2FA schemes for WSNs have been proposed in
protocols for establishing the E2E secure channel between recent years [18]–[20], [27]–[31]. We briefly review the ones
the two communicating peers [2]. closest to this work.
It is not possible to directly utilize Internet-centric security In 2014, Turkanovic et al. [32] proposed a lightweight
solutions because of the inherent characteristics of WSN 2FA protocol based on hash function for WSNs, which
(e.g., the limited computational capabilities and power supply is claimed to be energy efficient and secure. However,
of sensors and mobile devices) [2]. As discussed in [15], Amin and Biswas [33] showed that the protocol of
many attempts (for instance, IPsec [16], IKEv2 [17]) have Turkanovic et al. [32] has several security weaknesses,
been made to adapt standard Internet security protocols in this including offline identity guessing attack, offline password
scenario. guessing attack, impersonation attack, etc. To address these
However, resource limitation and the large number of SNs security deficiencies, they proposed a 2FA protocol for multi-
hinder the adoption of these solutions. Therefore, it is imper- gateway WSN. Independently, Farash et al. [34] also revealed
ative to enable authentication and key establishment between that the protocol of Turkanovic et al. [32] is susceptible to
the SN and the entity outside WSN in a secure and lightweight smart card loss attacks (SCLA), impersonation attack, session
manner. However, past experiences [18]–[20] have shown key disclosure, et al. and proposed an improved 2FA proto-
that it is not trivial to design such security protocols. col. In the same year, Chang and Le [35] demonstrated that
the 2FA protocol by Turkanovic et al. [32] is prone to SN
A. RELATED WORKS spoofing attack, stolen smart card attack, and stolen verifier
In the last decade, various security mechanisms [7], attack, et al. Then they proposed two 2FA protocols P1 and
[21]–[25] have been proposed to prevent unauthorized access P2 [37]. P1 is based on hash functions, while P2 employs
to the sensor data in transit. Li and Xiong [24] proposed a Elliptic Curve Cryptography (ECC).
signcryption scheme to protect the information flow between Lu et al. [36] analyzed Amin-Biswas’s 2FA protocol [33]
a sensor and an entity outside the WSN, which fulfills con- and identified several security drawbacks in their protocol.
fidentiality, integrity, authentication, and non-repudiation in Next, they proposed an enhanced 2FA scheme using sym-
one step. However, bilinear pairing is used in the scheme, metric key cryptography, which is claimed to be resilient to
which makes it unsuitable (because of its high computation a variety of attacks. Wu et al. [37] also pointed out that the
and processing overheads) for regular SNs. 2FA protocol of Amin and Biswas [33] is insecure. Most
Astorga et al. [25] proposed the Ladon security recently, Das et al. [38] showed that both P1 and P2 by Chang
protocol which provides E2E authentication and key and Le [35] are vulnerable to session specific temporary

VOLUME 5, 2017 3377


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

information attack and offline password guessing attack, etc. • Second, we present an efficient and secure 3FA protocol
Amin et al. [39] found that the protocol of Farash et al. [34] based on the Rabin cryptosystem. Unlike other public
cannot provide user anonymity, or withstand SCLA, offline key-based encryption algorithms such as RSA and ECC,
password guessing attack, user impersonation attack, known Rabin has the characteristic of computational asymme-
session-specific temporary information attack (KSSTIA). try. In this case, the encryption is very efficient while
To address the vulnerabilities associated with the various the decryption is relatively heavyweight. This feature
2FA approaches and further enhance the security strength is particular well suited for Internet integrated WSN
of 2FA protocols, three-factor authentication (3FA) proto- because the mobile device of users is generally resource-
cols have attracted the attention of researchers [40]–[44]. constrained while the gateway has no such restriction.
In the context of WSN, Das [45] presented a 3FA protocol • Third, we conducted a formal verification using
based on symmetric cryptographic primitives. Next, he also ProVerif [51] to demonstrate that our protocol fulfills
proposed two other 3FA protocols [46]–[47]. Unfortunately, the required security features. Furthermore, we also
Wu et al. [48] demonstrated that all the three protocols are not present comprehensive heuristic security analysis to
secure. To address the drawbacks, they proposed an improved demonstrate that our protocol is capable of withstand-
3FA scheme based on ECC. Independently, Li et al. [49] ing all the possible active and passive attacks includ-
presented a novel 3FA protocol based on the concept of ing the security weaknesses revealed in the protocol of
biohashing. However, Das et al. [50] demonstrated that the Amin et al., and we show how it provides the desired
protocol of Li et al. [49] is vulnerable to privileged insider security features. Additionally, performance analysis
attack, SN capture attack and cannot provide user anonymity. shows that our proposed protocol is a practical solution
Most recently, to remedy these security loopholes in the that can provide authentication and key agreement for
protocol of Farash et al. [34], Amin et al. [39] presented a new Internet integrated WSN, while achieving both security
secure 3FA protocol, which is claimed to be secure against all and efficiency.
the known security attacks. Additionally, to satisfy the practi-
The remainder of this paper is organized as follows. The
cal requirements, their protocol provides the functionalities of
preliminaries of Biohashing and Rabin cryptosystem are
post deployment, identity update, password update, and smart
given in Section 2. We review and analyze Amin et al.’s
card revocation. However, we observe that the protocol by
protocol [39] in Section 3 and 4 respectively. In Section 5, we
Amin et al. still has some subtle security weaknesses.
propose a novel 3FA and key agreement protocol for Internet
integrated WSN. Section 6 and Section 7 present security and
B. OUR RESEARCH CONTRIBUTIONS efficiency analyses of the new protocol. Section 8 concludes
Although several 3FA protocols [38], [39], [45]–[49] have the paper.
been proposed in the literature, all these protocols either fail
to provide adequate security protection or suffer from various
II. PRELIMINARY
security vulnerabilities. In this paper, we use the most recent
A. BIOHASHING
3FA protocol of Amin et al. [39] as a case study to show the
Biometric is widely used to verify the identity of a user.
challenge of designing a lightweight authentication protocol
It offers several advantages over traditional authentication
suitable for Internet integrated WSN. Then we propose an
methods, i.e., password and smart card. Biometric feature
authentication protocol for Internet integrated WSN which
data is closely coupled with each individual and cannot be
exploits the computational asymmetry feature of Rabin cryp-
replaced. As a result, the disclosure of biometric data leads to
tosystem. We summarize our main research contributions as
serious privacy risks. Numerous schemes have been proposed
follows:
to preserve the privacy of biometric template [52]–[55].
• First, we analyze the most recent 3FA protocol of Amin Biohashing [55], [56] is one of the mainstream privacy-
et al. [39] and we present its security drawbacks. Specif- preserving biometric schemes. In the enrollment stage, a
ically, we found that their protocol suffers from Type I biohash value BH (K , B) is generated from the biometric
SCLA (the secret data obtained from the smart card is template B and a random secret key K . Specifically, a pre-
enough for an adversary to reveal the user password) and processing is performed on B in order to make the biometric
Type II SCLA (the transcripts of an authentication ses- feature invariant to small variations in the input biometric
sion are needed for an attacker, in addition to the secret signal. Then, the biohash value BH (K , B) is generated by
parameters in the user’s smart card). Specifically, the comparing the inner product of the random vector generated
user identity and password can be exhaustively guessed from the user specific secret key K and the feature vector
in an offline manner along with the secrets stored in the extracted against a predefined threshold. In the verification
stolen smart card and the intercepted authentication mes- stage, by following the process used at the enrolment stage, a
sages. Additionally, the protocol suffers from KSSTIA if biohash value BH (K , B0 ) can be generated from the received
the temporal parameters in an authentication session are biometric signal B0 and the secret key given by the user.
disclosed. Furthermore, the protocol is prone to tracking Afterwards, the verification is done by comparing BH (K , B0 )
attack and cannot fulfill user untraceability. with the stored value BH (K , B) [52].

3378 VOLUME 5, 2017


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

B. RABIN CRYPTOSYSTEM TABLE 1. Notations.

The Rabin cryptosystem [57], [58] is a public key crypto-


graphic primitive based on integer factorization. The scheme
includes three algorithms, i.e., key generation, encryption and
decryption.
Key generation: We choose two large distinct primes p and
q such that p, q ≡ 3(mod4), and compute N = pq. Then N
is the public key, and (p, q) is the private key.
Encryption: We encrypt a plaintext m by computing
c = m2 mod N . √
Decryption: We decrypt a ciphertext m = c mod N .
Specifically, the receiver who knows the private key (p, q)
can apply the Chinese remainder theorem to derive the four
possible plaintexts {m1 , m2 , m3 , m4 }. One common technique
used to identify the correct plaintext is to add some pre-
defined padding in the plaintext or requires the plaintext to
conform to some pre-defined format.
If y has a square root x, i.e., there is a solution for
y = x 2 mod N , then y is a quadratic residue mod N . The
quadratic residue problem is described as follows: for y ∈
QRn , where QRn is the set of all quadratic residues mod N ,
it is computationally infeasible to find x without knowing p
and q due to the hardness of factoring N .

III. REVIEW OF Amin et al.’s PROTOCOL


Amin et al.’s 3FA protocol [39] consists of 9 phases, i.e.,
system setup, SN registration, user registration, login, authen-
tication, post deployment, identity update, password change,
and smartcard revocation. We use the notations listed in
Table 1 throughout this paper.

A. SYSTEM SETUP
SA selects and computes the system parameters in offline
mode.
Step 1: SA chooses a master secret key XGWN . Step 3: After receiving the confirmation message, Sj
Step 2: SA selects an identity IDj and computes the secret deletes Rshrd from its memory.
key Xj = h(IDj kXGWN ) for each SN Sj (1 ≤ j ≤ m).
Step 3: SA randomly generates a number Rshrd , which C. USER REGISTRATION
is shared between GWN and Sj . Finally, Sj stores < In this phase, Ui executes the following procedure to register
IDj , Xj , Rshrd > in its memory. with SA.
Step 1: Ui sends the selected identity IDi and
B. SN REGISTRATION personal credentials to SA through a secure
When GWN and Sj (1 ≤ j ≤ m) are deployed to form a channel.
WSN. Each Sj executes the following procedure to register Step 2: SA checks whether IDi exists in the database. If it
with GWN . does, SA indicates Ui to select a new identity; otherwise, SA
Step 1: Sj computes S1 = IDj ⊕ h(Rshrd kTs1 ) and S2 = computes di = h(IDi kXGWN ) and Li = h(SCNi kXGWN ), then
h(IDj kXj kRshrd kTs1 ), and then sends < S1 , S2 , Ts1 > to the smart card storing < di , Li , SCNi , BK () > is delivered
GWN . to Ui securely. SA maintains a database storing Ui ’s IDi and
Step 2: GWN verifies whether |TGWN − Ts1 | ≤ 1T holds. credentials.
If it is false, GWN rejects the request of Sj ; otherwise, it Step 3: Ui inserts the card into a card reader. Ui then
computes ID0j = S1 ⊕ h(Rshrd kTs1 ), X 0 = h(ID0j kXGWN ), enters < IDi , PWi > and fingerprint fngi . The card
and S20 = h(ID0j kXj0 kRshrd kTs1 ) and checks whether S20 = S2 computes Bi = BK (H (fngi )), ei = h(IDi kPWi kBi ),
holds. If it is not true, GWN rejects Sj ; otherwise, it accepts fi = di ⊕ h(IDi kPWi ), and gi = Li ⊕ h(PWi ⊕ IDi ).
Sj and stores IDj into the database. Then GWN sends a Then the card stores < Bi , ei , fi , gi , SCNi , BK () > and
confirmation message to Sj . deletes < di , Li >.

VOLUME 5, 2017 3379


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

D. LOGIN Step 7: Ui computes Kj∗ = M10 ⊕ Ki , SKi =


The following procedure is performed when Ui wishes to ∗ = h(SK kID kd kK ∗ ). U rejects
h(IDi kIDj kKi kKj∗ ), and M11 i i i j i

the session if M11 6 = M11 ; otherwise, Ui accepts that GWN
access sensor data.
Step 1: Ui inserts the smart card and imprints the fin- and Sj are authentic. The session key SKi = SKj = SKGWN
gerprint fngi . Then, the card computes B∗i = BK (H (fngi )) are shared among Ui , Sj , and GWN .
and checks whether B∗i = Bi . If B∗i 6 = Bi , the card denies
Ui ’s login request; otherwise, Ui continues to enter his/her F. POST DEPLOYMENT
identity ID∗i and password PWi∗ , and the card computes In this phase, SNs can be deployed after the installation of a
e∗i = h(ID∗i kPWi∗ kB∗i ). The card rejects Ui ’s login request WSN. Assume that a new SN Sk is required to be deployed in
if e∗i 6 = ei ; otherwise, the entered ID∗i and PWi∗ are valid. the target field. SA first chooses the identity IDk of Sk , com-
Step 2: The card generates a random number Ki and the putes Xk = h(IDk kXGWN ), and writes < IDk , Xk , Rshrd >
timestamp T1 , computes di∗ = fi ⊕ h(ID∗i kPWi∗ ), Li∗ = gi ⊕ into the memory of Sk . Then Sk executes the SN registration
h(PWi∗ ⊕ ID∗i ), M1 = ID∗i ⊕ h(Li∗ kT1 ), M2 = Ki ⊕ h(di∗ kT1 ), phase to register with GWN .
M3 = h(di∗ kKi kT1 ) and SCTi = SCNi ⊕ h(T1 ).
Step 3: Ui selects the identity IDj of the sensor G. IDENTITY UPDATE
that he/she wishes to access, then the card computes In this phase, a registered user securely updates his/her iden-
EIDj = IDj ⊕ h(IDi kKi kT1 )and sends MSG1 =< tity as follows.
M1 , M2 , M3 , T1 , SCTi , EIDj > to GWN . Step 1: Step 1 of the login phase is performed to verify the
legitimacy of Ui . Then Ui inputs a new identity IDnew i , and
then the smart card computes di∗ = fi ⊕ h(IDi kPWi ), Li∗ =
E. AUTHENTICATION gi ⊕h(PWi ⊕IDi ), Zi = h(di∗ kIDi kTid ), Wi = IDi ⊕h(Li kTid ),
Ui , GWN , and Sj mutually authenticate each other and nego- SCTi = SCNi ⊕ h(Tid ), and DD∗i = IDnew i ⊕ h(Li kdi kTid ).
tiate a secret key through the following steps. The card then sends < Zi , Wi , DDi , SCTi , Tid > to GWN .
Step 1: After receiving MSG1 from Ui , GWN computes Step 2: GWN computes SCTi = SCNi ⊕ h(Tid ), Li0 =
SCNi = SCTi ⊕ h(T1 ), Li0 = h(SCNi kXGWN ), ID0i = h(SCNi kXGWN ), ID0i = Wi ⊕ h(Li0 kTid ), di0 = h(IDi kXGWN )
M1 ⊕ h(Li0 kT1 ), di0 = h(ID0i kXGWN ), Ki0 = M2 ⊕ h(di0 kT1 ), and Zi0 = h(di0 kID0i kTid ), and then checks whether Zi0 =
and M30 = h(di0 kKi0 kT1 ). GWN aborts the current session if Zi holds. If it holds, GWN believes that Ui is authentic.
M30 6 = M3 ; otherwise, it computes M4 = h(ID0i kdi0 kT1 ) and GWN then computes IDnew i = DDi ⊕ h(Li0 kdi0 kTid ), di∗∗ =
then forwards MSG1 =< M4 > to Ui . h(IDnew
i kX GWN ), Yi = di
∗∗ ⊕ d 0 , ZZ = h(d ∗∗ kZ 0 ), and
i i i i
Step 2: Ui computes M4∗ = h(IDi kdi∗ kT1 ). If M4∗ 6 = M4 , sends < ZZi , Yi > to the smart card and updates IDnew i in
Ui terminates the session; otherwise, he/she calculates M5 = the database.
h(di∗ kIDi kKi kT1 ) and transmits MSG3 =< M5 > to GWN . Step 3: The smart card calculates di∗∗ = Yi ⊕ di0 and ZZi =
Step 3: GWN calculates M50 = h(di0 kID0i kKi0 kT1 ) and aborts h(di∗∗ kZi ), and checks whether ZZi∗ = ZZi holds. If it holds,
the connection if M50 6 = M5 ; otherwise, it proceeds to execute the card computes enew i = h(IDnew
i kPWi kBi ), fi
new = dd ∗∗ ⊕
i
the next procedure. new new new
h(IDi kPWi ), and gi = Li ⊕ h(IDi ⊕ PWi ). Finally, the
Step 4: GWN computes ID0j = EIDj ⊕ h(IDi kKi kT1 ), Xj0 = card updates < ei , fi , gi > with < enew i , fi
new , gnew >.
i
h(ID0j kXGWN ), M6 = h(ID0i kID0j kIDGWN kXj0 kKi0 kT2 ), M7 =
ID0i ⊕h(IDGWN kXj0 kT2 ), M8 = Ki0 ⊕h(ID0i kXj0 ) and then sends H. PASSWORD CHANGE
MSG4 =< IDGWN , M6 , M7 , M8 , T2 > to Sj . In this phase, Ui updates the password PWi locally as follows.
Step 5: Sj checks whether |T3 − T2 | ≤ 1T holds, where Step 1: Ui inserts his or her smart card into the card reader
T3 is the current timestamp. If it is invalid, Sj immediately and executes Step 1 of the login phase to verify the validity
terminates the session; otherwise, it computes ID∗∗ i = M7 ⊕ of fingerprint, password, and identity.
h(IDGWN kXj kT2 ), Ki∗∗ = M8 ⊕h(ID∗∗ i kX j ), and M ∗∗
6 = M7 ⊕ Step 2: Ui inputs a new password PWinew , and the card
∗∗ ∗∗
h(IDi kIDj kIDGWN kXj kKi kT2 ). Sj aborts the connection if computes enew i = h(IDi kPWinew kBi ), di0 = fi ⊕ h(IDi kPWi ),
M6∗∗ 6 = M6 ; otherwise, it accepts that Ui and GWN are finew = di ⊕ h(IDi kPWinew ), Li0 = gi ⊕ h(PWi kIDi ), and
new

legitimate. Next, Sj computes SKj = h(ID∗∗ ∗∗


i kIDj kKi kKj ), gi = Li0 ⊕ h(IDi ⊕ PWinew ).
new
∗∗
M9 = h(SKj kXj kKj kT3 ), and M10 = Ki ⊕ Kj , where Kj Step 3: The card updates < ei , fi , gi > with <
i , fi
is a random number generated by Sj . Finally, Sj forwards enew new , gnew >.
i
MSG5 =< M9 , M10 , T3 > to GWN .
Step 6: GWN checks whether |T4 −T3 | ≤ 1T holds, where I. SMART CARD REVOCATION
T4 is the current timestamp. If it is invalid, GWN aborts the If Ui ’s smart card is stolen or lost, Ui can obtain a new smart
session; otherwise, it computes Kj0 = M10 ⊕ Ki0 , SKGWN = card as follows.
h(ID0i kIDj kKi0 kKj0 ), and M90 = h(SKGWN kXj0 kKj0 kT3 ). GWN Step 1: Ui sends the identity IDi and his credential to
rejects the session if M9∗ 6 = M9 ; otherwise, it com- SA through a secure channel. SA first verifies Ui ’s cre-
putes M11 = h(SKGWN kID0i kdi kKj0 ). Finally, GWN sends dential, if it is valid, it computes dinew = h(IDi kXGWN )
MSG6 =< M11 , M10 > to Ui . and Linew = h(SCNinew kXGWN ), where SCNinew is the

3380 VOLUME 5, 2017


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

new smart card number. Then, the new card storing < ei = h(IDi kPWi kBi ) and Bi , A may conduct an offline
dinew , Linew , SCNinew , BK () > is sent to Ui securely. Then, SA password guessing attack described below [61].
updates the database with SCNinew . Step 1: A guesses a possible value ID∗i of IDi and a value
Step 2: Ui attaches the smart card into a card reader, PWi∗ of PWi .
enters IDi and PWi , and provides fingerprint fngi at the Step 2: A calculates e∗i = h(ID∗i kPWi∗ kBi ) and vali-
biometric capturing device. The card then computes Bnew i = dates the correctness of ID∗i and PWi∗ by checking whether
BK (H (fngi )), enew
i = h(IDi kPWi kBnew i ), fi
new = d new ⊕
i ei ? = e∗i holds. If it is positive, A has found out the correct
h(IDi kPWi ) and gnew i = Linew ⊕ h(IDi ⊕ PWi ). Finally, the pair of identity and password. Otherwise, A repeats the steps
smart card stores < Bi , enew
new
i , fi
new , gnew , SCN new , BK () >
i i (1) and (2) until ei = e∗i .
into its memory, and deletes < di , Linew >.
new Let |Dpw | and |Did | denote the dictionary space of Dpw and
Did , respectively. In practice, the dictionary size is |Dpw | ≤
IV. WEAKNESSES OF THE PROTOCOL BY Amin et al. |Did | ≤ 106 [61]. The time complexity of the above attack
Before presenting the cryptanalysis of Amin et al.’s protocol, is O(|Dpw | ∗ |Did | ∗ TH ), where TH is the execution time for
we first briefly present the adversarial model [59]–[61]. the Hash operation. Hence, the time needed for A to carry out
1) The adversary A may capture all messages sent or this attack is linear to |Dpw | ∗ |Did |.
received in the authentication session. The root cause of the above attack is that there is a definite
2) A can either (i) obtain the password of a registered user, password verifier (i.e., ei ) stored in Ui ’s card. As a result, it
or (ii) obtain a stolen or lost smart card of the user, and reveal can be utilized by A to offline guess Ui ’s password.
the secret parameters in it by side channel attacks [62], [63],
but not both at the same time.
B. TYPE II SCLA
3) A has the capability of enumerating offline all possible
Besides the assumption about the smart card in Type I
candidates in the Cartesian product Did ∗ Dpw in polynomial
SCLA, it is widely accepted that A can capture the messages
time, where Did and Dpw denote the identity space and the
(e.g., MSG1 =< M1 , M2 , M3 , T1 , SCTi , EIDj >) exchanged
password space respectively.
between Ui and S in the process of authentication. Then, A
4) A may somehow learn the identity IDi of the victim when
can exhaustively guess Ui ’s password PWi as follows:
considering security properties (such as mutual authentica-
Step 1: A guesses a possible value ID∗i of IDi and a value
tion and session key security) and attacks (such as imperson-
PWi∗ of PWi .
ation attack and SCLA).
Step 2: A computes Li∗ = gi ⊕ h(PWi∗ ⊕ ID∗i ) and M1∗ =
In [39], Amin et al. claimed that their protocol can with-
ID∗i ⊕ h(Li∗ kT1 ), where gi is revealed from Ui ’s smart card,
stand various attacks even if the smart card is stolen. How-
T1 is captured from the open channel.
ever, we show that Amin et al.’s protocol is prone to Type I
Step 3: A checks whether M1∗ ? = M1 . If it is positive, A has
SCLA, Type II SCLA, KSSTIA and tracking attack. Thus,
found the correct pair of identity and password. Otherwise, A
Amin et al.’s protocol is not actually suitable for practical
repeats the steps (1) to (3) until M1∗ = M1 .
deployment.
The time complexity of the above attack is O(|Dpw |∗|Did |∗
A. TYPE I SCLA
2TH ), and the time required for A to carry out this attack is
linear to |Dpw | ∗ |Did |.
In a SCLA, A attempts to guess Ui ’s identity and password
after extracting information from the smart card. It is worth
noting that it is widely accepted when designing password- C. KNOWN-SESSION SPECIFIC TEMPORARY
based protocols that the space of Dpw is enumerable [64]. INFORMATION ATTACK
SCLAs can be classified into eight types [61]. In this paper, In the authentication phase, if Ui is legitimate, GWN sends
we focus on the attacks involving the extraction of secret MSG4 =< IDGWN , M6 , M7 , M8 , T2 > to Sj , where M8 =
information from a lost smart card, and classify them into two Ki ⊕ h(ID0i kXj0 ), Ki is a random number chosen by Ui . After
types, type I and II. In type I SCLA, the secret data obtained verifying the authenticity of GWN , Sj forwards MSG5 =<
from Ui ’s card is enough for A to reveal Ui ’s password. M9 , M10 , T3 > to GWN , where M10 = Ki∗∗ ⊕Kj , and Kj is the
In type II SCLA, the transcripts of an authentication session random number generated by Sj . The session key between Ui
are needed for A, in addition to the secret parameters in Ui ’s and Sj is SKj = h(ID∗∗ ∗∗
i kIDj kKi kKj ). If Ki is compromised,
smart card. A can derive the value h(IDi kXj0 ) = Ki ⊕ M8 , which is static
0

In [39], the authors assumed that the probability of and remains unchanged in all authentication sessions between
guessing IDi and PWi using ei is negligible. However, Ui and Sj . With this value, A can derive all the previous and
Wang et al. [59] pointed out that the identity of a user can future session key between Ui and Sj . A first derives the ran-
be revealed by the attacker when the user’s smart card is lost. dom numbers Ki = M8 ⊕h(ID0i kXj0 ) and Kj = Ki∗∗ ⊕M10 , and
Thus it is more prudent to take this risk into consideration. then computes SKj = h(ID∗∗ ∗∗
i kIDj kKi kKj ). We note that the
Suppose that the smart card is somehow acquired by A, and disclosure of a random number in one authentication session
then A reveals the parameters < Bi , ei , fi , gi , SCNi , BK () > will compromise all the session keys. Therefore, Amin et al.’s
from the card. With the secret information protocol has the problem of KSSTIA.

VOLUME 5, 2017 3381


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

FIGURE 2. User registration phase of our proposed protocol.

D. TRACKING ATTACK V. OUR PROPOSED AUTHENTICATION PROTOCOL


When Ui wishes to access sensor data, Ui sends the message We enhance Amin et al.’s protocol as follows: (1) The pub-
MSG1 =< M1 , M2 , M3 , T1 , SCTi , EIDj > to initiate the lic key primitive Rabin cryptosystem is employed to avoid
authentication session. Although IDi is concealed in M1 , and SCLA and tracking attack. (2) The concept of fuzzy veri-
each field in MSG1 is dynamic, the identity of the smart card fier [60] is adopted to achieve local password verification. (3)
SCNi can be derived as SCNi = SCTi ⊕ h(T1 ). Generally, the The timestamp mechanism mitigates session specific tempo-
value of SCNi is fixed for a specific user, which is generated rary information attack. Our new protocol also has 9 phases.
by SA in the registration phase, and updated only in the smart SN registration and post deployment phase which remain
card revocation phase. With this fixed value, an adversary A unchanged are omitted here.
can launch tracking attack as follows.
Suppose that a legal user Ui interacts with GWN . A A. SYSTEM SETUP
first captures Ui ’s message MSG1 =< M1 , M2 , M3 , T1 , SA selects and computes the system parameters in offline
SCTi , EIDj >, then retrieves and stores SCNi . Then A can mode.
threaten the privacy of Ui through two ways [29]. Firstly, if Step 1: SA first generates two large primes p and q, and
A obtains Ui ’s identity by accident, then he/she is capable of computes N = pq, and keeps (p, q) as the private key. Then
identifying the user at the instant that Ui interacts with GWN SA selects a master secret key XGWN and an integer 24 ≤
by using the value SCNi . Moreover, even though A cannot l ≤ 28 as the parameter of fuzzy verifier.
obtain IDi , he/she is always capable of identifying different Step 2: SA selects an identity IDj and computes the secret
authentication sessions of Ui via the value SCNi derived from key Xj = h(IDj kXGWN ) for Sj (1 ≤ j ≤ m).
each message MSG1 =< M1 , M2 , M3 , T1 , SCTi , EIDj >. Step 3: SA randomly generates a number Rshrd , which
Then, he/she might collect various types of sensitive infor- is shared between GWN and Sj . Finally, Sj stores <
mation related to Ui , such as Ui ’s traveling routes, sensor IDj , Xj , Rshrd > in its memory.
access patterns, which may help A to violate user anonymity
provided in Amin et al.’s protocol [39]. Therefore, Amin B. USER REGISTRATION
et al.’s protocol [39] is prone to tracking attack and cannot In this phase, Ui executes the following procedure to register
provide untraceability. with SA as shown in Fig. 2.

3382 VOLUME 5, 2017


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

Step 1: Ui sends the selected identity IDi and personal Ui and GWN are legitimate. Next, Sj computes SKj =
credentials to SA through a secure channel. h(ID∗∗ ∗∗
i kIDj kKi kKj ), M6 = h(SKj kXj kKj kT3 ), and M7 =
Step 2: SA checks whether IDi exists in the database. ∗∗
Ki ⊕ Kj , where Kj is a random number generated by Sj .
If it does, SA indicates Ui to select a new identity; other- Finally, Sj forwards MSG3 =< M6 , M7 , T3 > to GWN .
wise, SA generates a random number xi , computes di = Step 3: GWN checks whether |T4 −T3 | ≤ 1T holds, where
h(IDi kXGWN kxi ) and Li = h(SCNi kXGWN ). Then SA delivers T4 is the current timestamp. If it is negative, GWN aborts the
the smart card storing < di , Li , SCNi , l, n, BH (·, ·), h() > session; otherwise it computes Kj0 = M7 ⊕ Ki0 , SKGWN =
to Ui securely. SA maintains a database storing each Ui ’s h(ID0i kIDj kKi0 kKj0 ), and M60 = h(SKGWN kXj0 kKi0 kT3 ). GWN
parameters <IDi , SCNi , xi ,Personal credential>. rejects the session if M60 6 = M6 ; otherwise, it computes M8 =
Step 3: Ui attaches the card into a card reader. Then h(SKGWN kID0i kdi0 kKj0 ). Finally, GWN sends MSG4 =<
he/she enters < IDi , PWi > and imprints fngi . The card M7 , M8 > to Ui .
selects a random number ri , computes Bi = BH (ri , fngi ), Step 4: Ui computes Kj∗ = M7 ⊕ Ki , SKi =
ei = h(h(IDi kPWi kBi ) mod l), fi = di ⊕ h(IDi kPWi kBi ), and h(IDi kIDj kKi kKj∗ ), and M80 = h(SKi kIDi kdi kKj∗ ). Ui rejects
gi = Li ⊕ h(IDi ⊕ PWi ⊕ Bi ). Finally, the smart card stores the session if M8∗ 6 = M8 ; otherwise, Ui accepts that GWN
< ei , fi , gi , SCNi , l, n, ri , BH (·, ·), h() > into its memory and and Sj are authentic. At this point, a session key SKi = SKj =
deletes < di , Li >. SKGWN has been established among Ui , Sj , and GWN .

C. LOGIN E. IDENTITY UPDATE


The following procedure is performed when Ui wishes to In this phase, a registered user securely updates the identity
access sensor data as shown in Fig. 3. as follows.
Step 1: Ui attaches the smart card and enters the identity Step 1: Ui attaches the card and enters the identity ID∗i ,
ID∗i , password PWi∗ , and fingerprint fngi . Then, the card com- password PWi∗ , and fingerprints fngi . Then, the card com-
putes B∗i = BH (ri , fngi ) and e∗i = h(h(ID∗i kPWi∗ kB∗i ) mod putes B∗i = BH (ri , fngi ) and e∗i = h(h(IDi kPWi kBi ) mod l).
l). The card rejects Ui ’s login request if e∗i 6 = ei . The card rejects Ui ’s login request if e∗i 6 = ei . Then Ui inputs
Step 2: The card generates a random number Ki and a new identity IDnew i , and then the card generates a timestamp
a timestamp T1 , calculates di∗ = fi ⊕ h(ID∗i kPWi∗ kB∗i ), Tid , computes di∗ = fi ⊕ h(ID∗i kPWi∗ kB∗i ), Li∗ = gi ⊕
Li∗ = gi ⊕ h(ID∗i ⊕ PWi∗ ⊕ B∗i ), M1 = (IDi kSCNi kKi )2 h(ID∗i ⊕PWi∗ ⊕B∗i ), DDi = (IDi kSCNi kIDnew 2
i ) mod n, Zi =
mod n, M2 = h(di∗ kLi∗ kKi kT1 ). h(di kLi kIDi kTid ). The card then sends < Zi , DDi , Tid >
∗ ∗ new
Step 3: Ui selects the identity IDj of the sensor that he/she to GWN .
wishes to access, then the card computes EIDj = IDj ⊕ Step 2: GWN decrypts DDi using p and q to obtain
h(IDi kKi kT1 )and sends MSG1 =< M1 , M2 , T1 , EIDj > to ID0i , SCNi0 , IDnew 0
i , then retrieves xi according to IDi , and ver-
GWN . 0
ifies whether SCNi matches the value in the entry. If the two
values do not match, then GWN terminates; otherwise, GWN
D. AUTHENTICATION computes Li0 = h(SCNi0 kXGWN ), di0 = h(ID0i kXGWN kxi ), Zi0 =
To achieve mutual authentication and session key agreement h(di∗ kLi∗ kIDnew 0
i kTid ). GWN aborts the current session if Zi 6 =
∗∗
Zi ; otherwise, GWN computes di = h(IDi kXGWN kxi ), new
among Ui , GWN , and Sj , the following steps are executed as
shown in Fig. 3. Yi = di∗∗ ⊕ h(di0 kTid ), and ZZi = h(di∗∗ kdi0 kLi0 kIDnewi kTid ).
Step 1: After receiving MSG1 from Ui , GWN decrypts Then GWN sends < ZZi , Yi > to the card and updates IDnew i
M1 using p and q to obtain ID0i , SCNi0 , Ki0 , and then retrieves in the database.
xi according to ID0 , and verifies whether SCNi0 matches the Step 3: The card computes di∗∗ = Yi ⊕ h(di∗ kTid )
value in the entry. If the two values do not match, then and ZZi∗ = h(di∗∗ kdi∗ kLi∗ kIDnew i kTid ), and checks whether
GWN rejects the request and aborts; otherwise, GWN com- ZZi∗ = ZZi holds. If it holds, the card computes
putes Li0 = h(SCNi0 kXGWN ), di0 = h(ID0i kXGWN kxi ), Ki0 = enew
i = h(h(IDnew i kPWi kBi ) mod l), fi
new = dd ∗∗ ⊕
i
new
h(IDi kPWi kBi ), and gi new = Li ⊕ h(IDnew ⊕ PWi ⊕
M2 ⊕ h(di0 kT1 ), and M20 = h(di0 kLi0 kKi0 kT1 ). GWN aborts i
the current session if M20 6 = M2 ; otherwise, GWN com- Bi ). Finally, the card replaces the old information with <
i , fi
enew new , gnew >.
putes ID0j = EIDj ⊕ h(IDi kKi kT1 ), Xj0 = h(ID0j kXGWN ), i
M3 = h(ID0i kID0j kIDGWN kXj0 kKi0 kT2 ), M4 = ID0i ⊕
h(IDGWN kXj0 kT2 ), M5 = Ki ⊕ h(ID0i kID0j kXj0 kT2 ) and then F. PASSWORD CHANGE
sends MSG2 =< IDGWN , M3 , M4 , M5 , T2 > to Sj . In this phase, an authorized user Ui updates the password PWi
Step 2: Sj checks whether |T3 − T2 | ≤ 1T holds, where locally.
T3 is the current timestamp. If it is invalid, Sj immedi- Step 1: Ui inserts his/her smart card into a card reader and
ately terminates the session; otherwise, it computes ID∗∗ i = carries out Step 1 of the login phase to verify the validity of
M4 ⊕ h(IDGWN kXj kT2 ), Ki∗∗ = M5 ⊕ h(ID∗∗ i kID j kXj 2 ),
kT fingerprint, password, and identity.
and M3∗∗ = h(ID∗∗ i kID j kID GWN kX j kK i
∗∗ kT ). S aborts
2 j Step 2: Ui inputs a new password PWinew , and the card
the connection if M3∗∗ 6 = M3 ; otherwise, it accepts that calculates enew
i = h(h(IDi kPWinew kBi ) mod l), di0 = fi ⊕

VOLUME 5, 2017 3383


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

FIGURE 3. Authentication and key agreement of our proposed protocol.

h(IDi kPWi kBi ), finew = di0 ⊕ h(IDi kPWinew kBi ), Li0 = gi ⊕ Step 3: The card updates < ei , fi , gi > with <
i , fi
h(IDi ⊕ PWinew ⊕ Bi ), and gnew = Li0 ⊕ h(IDi ⊕ PWinew ). enew new , gnew >.
i i

3384 VOLUME 5, 2017


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

G. SMART CARD REVOCATION XORagain(XOR(x, y), y) = x.


If Ui ’s smart card is stolen or lost, Ui obtains a new smart card (∗ Mod operation ∗ )
as follows. fun Mod(bitstring, bitstring): bitstring.
Step 1: Ui sends the identity IDi and his/her cre- (∗ Concat operation ∗ )
fun Concat(bitstring, bitstring):bitstring.
dential to SA through a secure channel. SA first veri-
reduc forall x: bitstring, y: bitstring;
fies Ui ’s credential. If it is valid, it computes dinew =
Split(Concat(x, y)) = (x, y).
h(IDi kXGWN kxi ) and Linew = h(SCNinew kXGWN ), where (∗ Type convertion ∗ )
SCNinew is the new smart card number. Then the new card fun timestamp2(timestamp): bitstring.
storing <dinew , Linew , SCNinew , l, n, BH (, ), h()> is sent to Ui fun nonce2(nonce): bitstring.
securely. Then, SA updates the database with SCNinew . fun key2(key): bitstring.
Step 2: Ui inserts the smart card into a card reader, inputs fun bit2key(bitstring): key.
< IDi , PWi > and imprints fngi . The card picks up a (∗ Check timestamp fresh ∗ )
random number ri , computes Bi = BH (ri , fngi ), enew i = fun checkFresh(timestamp, bool): bool
h(h(IDi kPWi kBi ) mod l), finew = dinew ⊕h(IDi kPWi kBi ), and reduc forall t: timestamp;
gnew = Linew ⊕ h(IDi ⊕ PWi ⊕ Bi ). Finally, the smart card checkFresh(t, true) = true
i
otherwise forall t: timestamp;
stores < enew
i , fi
new , gnew , SCN new , l, n, r , BH (,), h() > into
i i i
checkFresh(t, false) = false
its memory and deletes < dinew , Linew >.
The secret keys are defined as follows:
(∗ Secrecy assumptions ∗ )
VI. SECURITY ANALYSIS not attacker(new p).
We first conduct a formal verification using ProVerif to not attacker(new q).
demonstrate that our protocol fulfills the required secu- not attacker(new XGWNTemp).
rity properties. Furthermore, we also present comprehensive not attacker(new XjTemp).
heuristic security analysis and comparison. The following events and queries are defined:
event scAccept(User).
event serverAccept(User).
A. FORMAL VERIFICATION WITH ProVerif event sensorGen(User, Server).
ProVerif [51] is a widely used formal verification tool for event serverGen(Sensor).
automatic security analysis of security protocols, which is event userGen(Server, Sensor).
used to prove the secrecy and authentication properties of our query inj-event(userGen(server, sensor))
proposed protocol. ==> inj-event(serverGen(sensor)).
First we define the channels and types. c1 is the public query inj-event(serverGen(sensor))
channel between the user device and GWN and c2 is the ==> inj-event(sensorGen(user, server)).
query inj-event(sensorGen(user, server))
public channel between GWN and the sensor.
==> inj-event(serverAccept(user)).
free c1:channel. query event(serverAccept(user))
free c2:channel. ==> event(scAccept(user)).
The basic types of variables are defined as follows: The process of the user is modeled as follows:
type key. let processUser(IDiEx: bitstring, PWEx: bitstring, fngEx:
type nonce. fingerprint, e: bitstring, g: bitstring, f: bitstring, r: nonce, B:
type fingerprint. bitstring, SCN: bitstring, l: bitstring, IDj: bitstring, IDi: bitstring) =
type timestamp. let BEx = BH(r, fngEx) in
type N. let e’ = Hash(Mod(Hash(Concat(Concat(IDiEx, PWEx), B)),
type Q. l)) in
type P. if e’ = e then
type User. event scAccept(user);
type Server. let dEx = XORagain(f,Hash(Concat(Concat(IDiEx, PWEx),
type Sensor. BEx))) in
The cryptographic functions are modeled as follows: let LEx = XORagain(g, Hash(XOR(XOR(IDiEx, PWEx),
(∗ Hash operation ∗ ) BEx))) in
fun Hash(bitstring): bitstring. new KiTemp: nonce;
(∗ BH operation ∗ ) let Ki = nonce2(KiTemp) in
fun BH(nonce, fingerprint): bitstring. new T1: timestamp;
(∗ Rabin cryptosystem ∗ ) let M1 = rabinEnc(Concat(Concat(IDi, SCN), Ki), n) in
fun rabinEnc(bitstring, N):bitstring. let M2 = Hash(Concat(Concat(Concat(dEx, LEx), Ki),
reduc forall x: bitstring, p: P, q: Q, n: N; timestamp2(T1))) in
rabinDec(n, p, q, rabinEnc(x, n)) = x. let EIDj = XOR(IDj, Hash(Concat(Concat(IDi, Ki),
(∗ XOR operation ∗ ) timestamp2(T1)))) in
fun XOR(bitstring, bitstring): bitstring. out(c1, (M1, M2, T1, EIDj));
reduc forall x: bitstring, y: bitstring; in(c1, (M7: bitstring, M8: bitstring));

VOLUME 5, 2017 3385


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

let KjEx = XOR(M7, Ki) in let SKj = bit2key(Hash(Concat(Concat(Concat(IDiExEx,


let SKi = bit2key(Hash(Concat(Concat(Concat(IDi, IDj), Ki), IDj), KiExEx), Kj))) in
KjEx))) in new T3: timestamp;
let M8Ex = Hash(Concat(Concat(Concat(key2(SKi), IDi), dEx), let M6 = Hash(Concat(Concat(Concat(key2(SKj), Xj), Kj),
KjEx)) in timestamp2(T3))) in
if M8Ex = M8 then
let M7 = XOR(KiExEx, Kj) in
event userGen(server, sensor).
event sensorGen(user, server);
The process of the gateway node is modeled as follows:
let processServer(XGWN: bitstring, x: nonce, p: P, q: Q, out(c2, (M6, M7, T3, true)).
IDi: bitstring, IDGWN: bitstring, IDj: bitstring) = The whole protocol is modeled as follows.
in(c1, (M1: bitstring, M2: bitstring, T1: timestamp, EIDj: (∗ Start process ∗ )
bitstring)); process
let (temp: bitstring, Ki’: bitstring) = Split(rabinDec(n, p, q, (∗ Constants ∗ )
M1)) in (∗ Share constants between user and server ∗ )
let (IDi’: bitstring, SCN’: bitstring) = Split(temp) in new SCN: bitstring;
let L’ = Hash(Concat(SCN’, XGWN)) in new l: bitstring;
let d’ = Hash(Concat(Concat(IDi’, XGWN), nonce2(x))) in new IDj: bitstring;
(∗ let Ki’ = XORagain(M2, Hash(Concat(d’,
new IDi: bitstring;
timestamp2(T1)))) in ∗ )
new PW: bitstring;
let M2’ = Hash(Concat(Concat(Concat(d’, L’), Ki’),
timestamp2(T1))) in new r: nonce;
if M2’ = M2 then (∗ User/Smartcard constants ∗ )
event serverAccept(user); new fng: fingerprint;
let IDj’ = XORagain(EIDj, Hash(Concat(Concat(IDi, Ki’), (∗ Server constants ∗ )
timestamp2(T1)))) in new x: nonce;
let Xj’ = Hash(Concat(IDj’, XGWN)) in new XGWNTemp: key;
new T2: timestamp; let XGWN = key2(XGWNTemp) in
let M3 = Hash(Concat(Concat(Concat(Concat(Concat(IDi’, new IDGWN: bitstring;
IDj’), IDGWN), Xj’), Ki’), timestamp2(T2))) in (∗ Sensor constants ∗ )
let M4 = XOR(IDi’, Hash(Concat(Concat(IDGWN, Xj’), new XjTemp: key;
timestamp2(T2)))) in let Xj = key2(XjTemp) in
let M5 = XOR(Ki’, Hash(Concat(Concat(Concat(IDi’, IDj’), (∗ Rabin parameters ∗ )
Xj’), timestamp2(T2)))) in new p: P;
out(c2, (IDGWN, M3, M4, M5, T2, true)); new q: Q;
in(c2, (M6: bitstring, M7: bitstring, T3: timestamp, isFresh: (∗ Constants computed ∗ )
bool));
let d = Hash(Concat(Concat(IDi, XGWN), nonce2(x))) in
new T4: timestamp;
let L = Hash(Concat(SCN, XGWN)) in
if checkFresh(T4, isFresh) then
let B = BH(r, fng) in
let Kj’ = XORagain(M7, Ki’) in
let e = Hash(Mod(Hash(Concat(Concat(IDi, PW), B)), l)) in
let SKGWN = bit2key(Hash(Concat(Concat(Concat(IDi’,
let f = XOR(d, Hash(Concat(Concat(IDi, PW), B))) in
IDj), Ki’), Kj’))) in
let g = XOR(L, Hash(XOR(XOR(IDi, PW), B))) in
let M6’ = Hash(Concat(Concat(Concat(key2(SKGWN), Xj’),
(
Ki’), timestamp2(T3))) in
(!(processUser(IDi, PW, fng, e, g, f, r, B, SCN, l, IDj, IDi))) |
if M6’ = M6 then
(!processServer(XGWN, x, p, q, IDi, IDGWN, IDj)) |
event serverGen(sensor);
(!processSensor(Xj, IDj))
let M8 = Hash(Concat(Concat(Concat(key2(SKGWN), IDi’),
d’), Kj’)) in )
out(c1, (M7, M8)). The outcome of executing the processes in ProVerif version 1.96
The process of SNs is modeled as follows: is given below. The results demonstrate that our protocol achieves
let processSensor(Xj: bitstring, IDj: bitstring) = session key secrecy and mutual authentication.
in(c2, (IDGWN: bitstring, M3: bitstring, M4: bitstring, M5: RESULT event(serverAccept(user[])) ==>
bitstring, T2: timestamp, isFresh: bool)); event(scAccept(user[])) is true.
if checkFresh(T2, isFresh) then RESULT inj-event(sensorGen(user[],server[])) ==>
let IDiExEx = XORagain(M4, Hash(Concat(Concat(IDGWN, inj-event(serverAccept(user[])) is true.
Xj), timestamp2(T2)))) in RESULT inj-event(serverGen(sensor[])) ==>
let KiExEx = XORagain(M5, Hash(Concat(Concat(Concat inj-event(sensorGen(user[],server[])) is true.
(IDiExEx, IDj), Xj), timestamp2(T2)))) in RESULT inj-event(userGen(server[],sensor[])) ==>
let M3ExEx = Hash(Concat(Concat(Concat(Concat(Concat inj-event(serverGen(sensor[])) is true.
(IDiExEx, IDj), IDGWN), Xj), KiExEx), timestamp2(T2))) in RESULT not attacker(SKj[]) is true.
if M3ExEx = M3 then RESULT not attacker(SKGWN[]) is true.
new Kj: bitstring; RESULT not attacker(SKi[]) is true.

3386 VOLUME 5, 2017


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

B. ANALYSIS OF SECURITY PROPERTIES user Ui ’s smart card and has extracted the data <
We first show that our 3FA protocol could overcome weak- ei , fi , gi , SCNi , l, n, ri , BH (·, ·), h() > stored in it. We also
nesses in Amin et al.’s authentication protocol, and then assume that A has intercepted the messages exchanged in the
we show that our protocol achieves all the desired security previous authentication sessions. In our protocol, A has to
features. possess all the authentication factors, i.e., PWi , the smart card,
and the biometric, to produce a legal message MSG1 =<
1) RESISTING TYPE I SCLA M1 , M2 , T1 , EIDj >. Specifically, the key to proving the
Type I SCLA is infeasible in our protocol. We explain why legitimacy of Ui is the value M2 = h(di∗ kLi∗ kKi kT1 ). The
below. critical fields of the computation of M2 are the values di∗ =
Assume that the opponent A extracts the smart card fi ⊕ h(ID∗i kPWi∗ kB∗i ) and Li∗ = gi ⊕ h(ID∗i ⊕ PWi∗ ⊕ B∗i ).
information < ei , fi , gi , SCNi , l, n, ri , BH (·, ·), h() > However, without either PWi , the smart card, or the biometric,
of the legal user Ui , where Bi = BH (ri , fngi ), A cannot calculate di∗ or Li∗ .
ei = h(h(IDi kPWi kBi ) mod l), fi = di ⊕ h(IDi kPWi kBi ),
and gi = Li ⊕ h(IDi ⊕ PWi ⊕ Bi ). Then A can guess ID∗i 5) RESISTING GATEWAY IMPERSONATION ATTACK
and PWi∗ , and computes e∗i = h(h(ID∗i kPWi∗ kBi ) mod l), In our protocol, the opponent A is unable to imperson-
as presented in Section 4.1. However, A cannot verify the ate as GWN to either Ui or Sj . In order to impersonate
correctness of ID∗i and PWi∗ definitely because ei is a ‘‘fuzzy as GWN to Sj , A needs to compute a legal value M3 =
verifier’’ [59], [60]. h(ID0i kID0j kIDGWN kXj0 kKi0 kT2 ). However, without knowing
Therefore, our protocol is secure against type I SCLA. the value Xj0 = h(ID0j kXGWN ), it is infeasible for A to com-
pute M3 . Moreover, since we use the hash algorithm and
2) RESISTING TYPE II SCLA timestamp, A cannot obtain any useful information from the
Moreover, type II SCLA is also infeasible in our protocol. messages from the previous authentication sessions.
Suppose A could also intercept the message MSG1 =< In contrast, to impersonate as GWN to either Ui , A needs
M1 , M2 , T1 , EIDj > sent by Ui in the login phase, where to compute a legal value M8 = h(SKGWN kID0i kdi0 kKj0 ). To do
di∗ = fi ⊕ h(ID∗i kPWi∗ kB∗i ), Li∗ = gi ⊕ h(ID∗i ⊕ PWi∗ ⊕ B∗i ), so, A needs to have knowledge of Ki to compute the value
M1 = (IDi kSCNi kKi )2 mod n, M2 = h(di∗ kLi∗ kKi kT1 ). A SKGWN = h(IDi kIDj kKi kKj ). To get Ki , A has to know
can derive di∗ = fi ⊕ h(ID∗i kPWi∗ kB∗i ), Li∗ = gi ⊕ h(ID∗i ⊕ the secret key p and q of GW . It is impossible because
PWi∗ ⊕ B∗i ), where gi is revealed from Ui ’s smart card. Due the secret key is carefully protected by the administrator.
to the hardness of quadratic residue problem, it is impossi- The other way left for A is to decrypt the value M1 =
ble for the adversary to compute R1 from the value M1 = (IDi kSCNi kKi )2 mod n, which is computationally infeasible
(IDi kSCNi kKi )2 mod n. Therefore, A is unable to calculate because of the hardness of quadratic residue problem. Thus,
M2∗ = h(di∗ kLi∗ kKi kT1 ), which is a necessary to check the the protocol can withstand the gateway node impersonation
correctness of ID∗i and PWi∗ . attack.
Thus, our 3FA protocol is completely secure against
type II SCLA. 6) RESISTING SN IMPERSONATION ATTACK
Suppose A tries to impersonate Sj after capturing the mes-
3) RESISTING KSSTIA sages exchanged in the previous authentication sessions.
In Amin et al.’s protocol, the static value h(ID0i kXj0 ) is used A needs to generate MSG3 =< M6 , M7 , T3 > to imper-
to protect the ephemeral random numbers, where Xj0 is the sonate Sj , where SKj = h(ID∗∗ ∗∗
i kIDj kKi kKj ), M6 =
∗∗
h(SKj kXj kKj kT3 ), and M7 = Ki ⊕ Kj . Thus, A has to know
sensor key shared between Sj and GW . As a result, the
disclosure of ephemeral random number Ki will lead to the Ki in order to compute M6 = h(SKj kXj kKj kT3 ). Similar to
compromise of the static value h(ID0i kXj0 ), which in turn will the analysis of gateway impersonation attack, A is unable to
cause the compromise of ephemeral random numbers in other obtain Ki . Thus A cannot carry out the SN impersonation
authentication sessions. In our proposed protocol, we avoid attack.
this risk by introducing the mechanisms of timestamp and
hash. Specifically, we compute M5 = Ki ⊕h(ID0i kID0j kXj0 kT2 ). 7) RESISTING MODIFICATION ATTACK
In this case, even though Ki is compromised, the opponent In our protocol, the opponent A is unable to modify any of
can only obtain the hashed value h(ID0i kID0j kXj0 kT2 ), which is the messages MSG1 =< M1 , M2 , T1 , EIDj >, MSG2 =<
dynamic in each authentication session and will not endanger IDGWN , M3 , M4 , M5 , T2 >, MSG3 =< M6 , M7 , T3 >, or
the ephemeral random number in other authentication ses- MSG4 =< M7 , M8 >. Assume that A intercepts one of
sions. Thus our 3FA protocol is immune from KSSTIA. these messages, and then transmits a modified one. However,
each message is protected by a hash value computed with
4) RESISTING USER IMPERSONATION ATTACK a secret value. For instance, in MSG1 , A cannot calculate
The opponent A cannot carry out user impersonation M2 = h(di∗ kLi∗ kKi kT1 ), since di∗ = fi ⊕ h(ID∗i kPWi∗ kB∗i )
attack against our protocol. Assume that A has the and Li∗ = gi ⊕ h(ID∗i ⊕ PWi∗ ⊕ B∗i ) are secret values which

VOLUME 5, 2017 3387


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

cannot be computed without knowing either PWi , the smart protocol also achieves mutual authentication between GWN
card, or the biometric. Any modification will be detected by and Sj .
the receiver of the message who will check the correctness of
the hash value in each message. Hence, our protocol is secure 12) SESSION KEY AGREEMENT
against modification attacks. In a successful authentication session, the session key SK =
h(IDi kIDj kKi kKj ) is established between Ui and Sj to pro-
8) RESISTING REPLAY ATTACK tect future communication. It is worth pointing out that the
In our protocol, A may attempt to replay old messages sent secrecy of SK is dependent on the secrecy of the random
by the entities. However, the timestamp mechanism and the numbers involved. All these values are carefully protected
challenge-response mechanism are used in all the messages by the secret values shared between the participants in each
involved to resist replay attacks. Specifically, MSG1 =< message.
M1 , M2 , T1 , EIDj >, MSG2 =< IDGWN , M3 , M4 , M5 , T2 > Suppose the session key SK = h(IDi kIDj kKi kKj ) of one
and MSG3 =< M6 , M7 , T3 > are protected by a hash value session is disclosed to the opponent A. However, he/she can-
which is computed with a shared secret between the sender not compute any of the past and future session keys by using
and receiver. As a result, A cannot bypass the timestamp. SK because the session key is protected by h() and the random
If A would replay a previous message, it will be detected by numbers < Ki , Kj > are different in each session. As a result,
the receiver instantly through checking the timestamp and the our 3FA protocol achieves session key agreement and known
hash value. key security.
On the other hand, MSG4 =< M7 , M8 > contains a
challenge Ki , which is chosen by Ui . Additionally, these two 13) USER ANONYMITY
messages are also protected by a hash value computed with Privacy is of increasing importance in the IoT and cloud
Ki . Thus, A cannot bypass the challenge-response mecha- computing era [65]–[70]. Suppose the opponent A first cap-
nism. Then GW and Ui could discover message replay by tures all the messages transmitted between the participants
validating the freshness of Ki . during the protocol execution and then tries to guess the
Thus, our 3FA protocol could defend against replay identity of the user. In our proposed protocol, Ui ’s identity
attacks. IDi is included in the field M1 = (IDi kSCNi kKi )2 mod n in
the first message. To get IDi , A has to know the secret key
9) RESISTING PRIVILEGED INSIDER ATTACK (p, q) of GWN . It is impossible to do so because the secret
In practice, users may register across different information key is carefully protected by the administrator. The other
systems with the same password. If a privileged insider way left for A to obtain IDi is to decrypt the value M1 =
may somehow obtain the password of the user, he/she can (IDi kSCNi kKi )2 mod n, which is computationally infeasible
use it to impersonate as this user to access the services of due to the hardness of quadratic residue problem. Hence, our
other systems. In our protocol, Ui only submits IDi during 3FA protocol achieves user anonymity.
the registration phase. As a result, an insider cannot obtain
Ui ’s password. Hence, our protocol can withstand privileged 14) USER UNTRACEABILITY
insider attack. To track a user, A captures these messages involved in
different authentication sessions and checks whether they
10) RESISTING STOLEN VERIFIER ATTACK have the same field to learn whether the same user are
In this attack, an opponent steals the verification information involved. However, A cannot trace Ui by capturing the authen-
(e.g., plaintext or hashed passwords) stored in the server. tication messages. Assume that A intercepts MSG1 =<
In our protocol, the server maintains a database storing < M1 , M2 , T1 , EIDj >, MSG2 =< IDGWN , M3 , M4 , M5 , T2 >,
IDi , SCNi , xi , Personal credential >, which has no informa- MSG3 =< M6 , M7 , T3 >, and MSG4 =< M7 , M8 >.
tion related to the password. Thus, stolen verifier attack is not We note that the computation of each field involves the
possible in our protocol. timestamp and a random number which are different in each
session. As a result, the messages of each session are also
11) MUTUAL AUTHENTICATION different. Therefore, our protocol resists user tracking attacks
An adversary cannot generate legal M2 = h(di∗ kLi∗ kKi kT1 ) and achieves user untraceability.
without knowing Ui ’s private key di∗ and Li∗ . So GWN can
authenticate Ui by verifying the correctness of M2 . Similarly, 15) BIOMETRIC TEMPLATE PRIVACY
Ui can authenticate GWN by verifying the correctness of Biometric template privacy is preserved in our protocol. First,
M8 = h(SKGWN kID0i kdi0 kKj0 ). Hence, Ui and GWN are mutu- the user provides no biometric templates to the server, and the
ally authenticated. server stores no information related to the user’s biometric
On the other hand, Sj authenticates GWN by verifying template. Second, the biometric information is first converted
the correctness of M3 = h(ID0i kID0j kIDGWN kXj0 kKi0 kT2 ). by the biohashing algorithm and then protected by the hash
At the same time, GWN could authenticate Sj by verifying function. Since these two mechanisms are both one-way oper-
the correctness of M6 = h(SKj kXj kKj kT3 ). Hence, our 3FA ation, the information stored in the smart card will not leak

3388 VOLUME 5, 2017


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

TABLE 2. Comparison of security features.

TABLE 3. Efficiency comparisons.

biometrics. Therefore, biometric template privacy is achieved VII. EFFICIENCY ANALYSIS


in our protocol. We evaluate the efficiency of our new protocol and compare
it with other protocols. Since SNs are constrained in terms
16) SMART CARD AND USER REVOCATION of critical resources such as memory, processing power and
In our scheme, a database storing the user identity and energy, special attention must be given to the computation
smart card number is maintained, through which the invalid cost of security protocols for WSN [71].
smart card will be detected. Thus, lost/stolen smart card In Table 3, we summarize the computational time of our
can be revoked by removing the card number from the new protocol and the related ones in [38], [39], [45], [48],
database. and [49]. We focus only on the login and authentication phase
and ignore the bit XOR operation because it requires very
C. COMPARISON OF SECURITY FEATURES low computation. TH , TS , TM , TQR , TECM denote the cost for
In Table 2, we present the comparison of our 3FA protocol executing the hash, the symmetric encryption/decryption, the
with the ones in [39] and [48]. modular squaring, the computation of a square root modulo
From Table 2, we note that both Wu et al.’s N , and ECC point multiplication respectively. It is worth
protocol and Amin et al.’s protocol are susceptible to noting that the modular squaring is as efficient as the hash
several attacks, e.g., SCLA. Wu et al.’s protocol cannot operation while the computation of a square root modulo N
provide smart card revocation. Amin et al.’s protocol is is similar to modular exponentiation.
prone to KSSTIA and cannot provide user untraceability. Table 3 shows the results of the comparison. Our protocol
Table 2 shows that our new protocol is the only one that is as efficient as the most efficient one of these previously pro-
is free from security attacks and provides the required posed protocols at the mobile device and SNs. Although the
features. computation cost for the gateway of our proposed scheme is

VOLUME 5, 2017 3389


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

higher than that of Amin et al.’s protocol and Das’s protocol, [10] Z. Fu, X. Sun, Q. Liu, L. Zhou, and J. Shu, ‘‘Achieving efficient cloud
generally it is not a concern, because the gateway is powerful search services: Multi-keyword ranked search over encrypted cloud data
supporting parallel computing,’’ IEICE Trans. Commun., vol. E98-B, no. 1,
and has no resource constraints. Moreover, Das’s protocol and pp. 190–200, 2015.
Amin et al.’s protocol [39] is prone to SCLA. [11] Z. Fu, F. Huang, X. Sun, A. V. Vasilakos, and C.-N. Yang, ‘‘Enabling
semantic search based on conceptual graphs over encrypted out-
sourced data,’’ IEEE Trans. Serv. Comput., to be published, doi:
VIII. CONCLUSION 10.1109/TSC.2016.2622697.
We have analyzed the three-factor mutual authentication pro- [12] H. Li, D. Liu, Y. Dai, and T. H. Luan, ‘‘Engineering searchable encryp-
tocol of Amin et al. and we have shown its security draw- tion of mobile cloud networks: When QoE meets QoP,’’ IEEE Wireless
Commun., vol. 22, no. 4, pp. 74–80, Aug. 2015.
backs. The protocol of Amin et al. suffers from Type I SCLA [13] D. He, S. Zeadally, N. Kumar, and J.-H. Lee, ‘‘Anonymous authentication
and Type II SCLA. In particular, the user identity and pass- for wireless body area networks with provable security,’’ IEEE Syst. J., to
word can be exhaustively guessed in an offline manner with be published, doi: 10.1109/JSYST.2016.2544805.
[14] D. He and S. Zeadally, ‘‘Authentication protocol for an ambient assisted
the secrets stored in the stolen smart card and the intercepted living system,’’ IEEE Commun. Mag., vol. 35, no. 1, pp. 71–77, Jan. 2015.
authentication messages. Furthermore, the protocol suffers [15] K. T. Nguyen, M. Laurent, and N. Oualha, ‘‘Survey on secure communica-
from KSSTIA when the temporal parameters in an authen- tion protocols for the Internet of Things,’’ Ad Hoc Netw., vol. 32, pp. 17–31,
Sep. 2015.
tication session are disclosed. Finally, the protocol is prone [16] S. Raza, S. Duquennoy, A. Chung, D. Yazar, T. Voigt, and U. Roedig,
to tracking attack and fails to fulfill user untraceability. ‘‘Securing communication in 6LoWPAN with compressed IPsec,’’ in Proc.
Next, we have presented a lightweight and secure three- 7th Int. Conf. DCOSS, Jun. 2011, pp. 1–8.
[17] S. Ray and G. Biswas, ‘‘Establishment of ECC-based initial secrecy usable
factor authentication protocol based on Rabin cryptosystem. for IKE implementation,’’ in Proc. World Congr. Eng. (WCE), vol. 1.
We conducted a formal verification of the proposed protocol London, U.K., Jul. 2012, pp. 1–6.
by using ProVerif to demonstrate that it fulfills the required [18] S. Kumari, M. K. Khan, and M. Atiquzzaman, ‘‘User authentication
schemes for wireless sensor networks: A review,’’ Ad Hoc Netw., vol. 27,
security features. Furthermore, we also present a compre- pp. 159–194, Apr. 2015.
hensive heuristic security analysis to demonstrate that our [19] Q. Jiang, J. Ma, X. Lu, and Y. Tian, ‘‘An efficient two-factor user authenti-
protocol is capable of withstanding all the possible active and cation scheme with unlinkability for wireless sensor networks,’’ Peer-Peer
Netw. Appl., vol. 8, no. 6, pp. 1070–1081, Nov. 2014.
passive attacks including addressing the weaknesses revealed [20] D. He, N. Kumar, and N. Chilamkurti, ‘‘A secure temporal-credential-
in the protocol of Amin et al., and we further show that our based mutual authentication and key agreement scheme with pseudo
proposed protocol support all the desired security features. identity for wireless sensor networks,’’ Inf. Sci., vol. 321, pp. 263–277,
Nov. 2015.
A performance analysis of our proposed protocol shows that [21] H. Xiong, ‘‘Cost-effective scalable and anonymous certificateless remote
it can be deployed in practice for Internet-integrated WSN, authentication protocol,’’ IEEE Trans. Inf. Forensics Security, vol. 9,
while achieving a balance between security and efficiency. no. 12, pp. 2327–2339, Dec. 2014.
[22] H. Xiong and Z. Qin, ‘‘Revocable and scalable certificateless remote
authentication protocol with anonymity for wireless body area networks,’’
ACKNOWLEDGMENT IEEE Trans. Inf. Forensics Security, vol. 10, no. 7, pp. 1442–1455,
The authors thank the anonymous reviewers for their con- Jul. 2015.
[23] J. Shen, H. Tan, S. Moh, I. Chung, Q. Liu, and X. Sun, ‘‘Enhanced secure
structive comments which helped them improve the quality sensor association and key management in wireless body area networks,’’
and presentation of this paper. J. Commun. Netw., vol. 17, no. 5, pp. 453–462, Oct. 2015.
[24] F. Li and P. Xiong, ‘‘Practical secure communication for integrating wire-
less sensor networks into the Internet of Things,’’ IEEE Sensors J., vol. 13,
REFERENCES no. 10, pp. 3677–3684, Oct. 2013.
[1] S. Hong et al., ‘‘SNAIL: An IP-based wireless sensor network approach to [25] J. Astorga, E. Jacob, M. Huarte, and M. Higuero, ‘‘Ladon1 : End-to-end
the Internet of Things,’’ IEEE Wireless Commun., vol. 17, no. 6, pp. 34–42, authorisation support for resource-deprived environments,’’ IET Inf. Secur.,
Dec. 2010. vol. 6, no. 2, pp. 93–101, Jun. 2012.
[2] R. Roman, C. Alcaraz, J. Lopez, and N. Sklavos, ‘‘Key management [26] Q. Jiang, J. Ma, G. Li, and X. Li, ‘‘Improvement of robust smart-card-
systems for sensor networks in the context of the Internet of Things,’’ based password authentication scheme,’’ Int. J. Commun. Syst., vol. 28,
Comput. Elect. Eng., vol. 37, no. 2, pp. 147–159, Mar. 2011. no. 2, pp. 383–393, Jan. 2015.
[3] J. Granjal, E. Monteiro, and J. S. Silva, ‘‘Security in the integration of low- [27] M. L. Das, ‘‘Two-factor user authentication in wireless sensor networks,’’
power Wireless Sensor Networks with the Internet: A survey,’’ Ad Hoc IEEE Trans. Wireless Commun., vol. 8, no. 3, pp. 1086–1090, Mar. 2009.
Netw., vol. 24, pp. 264–287, Jan. 2015. [28] S. Kumari et al., ‘‘A user friendly mutual authentication and key agreement
[4] Z. Sheng, S. Yang, Y. Yu, A. Vasilakos, J. McCann, and K. Leung, scheme for wireless sensor networks using chaotic maps,’’ Future Generat.
‘‘A survey on the IETF protocol suite for the Internet of Things: Standards, Comput. Syst., vol. 63, pp. 56–75, Oct. 2016.
challenges, and opportunities,’’ IEEE Wireless Commun., vol. 20, no. 6, [29] Q. Jiang, J. Ma, F. Wei, Y. Tian, J. Shen, and Y. Yang, ‘‘An untraceable
pp. 91–98, Dec. 2013. temporal-credential-based two-factor authentication scheme using ECC
[5] 6LoWPAN Working Group. Accessed on Jan. 15, 2017. [Online]. Available: for wireless sensor networks,’’ J. Netw. Comput. Appl., vol. 76, pp. 37–48,
http://tools.ietf.org/wg/6lowpan/ Dec. 2016.
[6] ROLL Working Group. Accessed on Jan. 15, 2017. [Online]. Available: [30] Q. Jiang, N. Kumar, J. Ma, J. Shen, D. He, and N. Chilamkurti, ‘‘A privacy-
http://tools.ietf.org/wg/roll/ aware two-factor authentication protocol based on elliptic curve cryptog-
[7] R. Roman and J. Lopez, ‘‘Integrating wireless sensor networks and the raphy for wireless sensor networks,’’ Int. J. Netw. Manage., 2016, doi:
Internet: A security analysis,’’ Internet Res., vol. 19, no. 2, pp. 246–259, 10.1002/nem.1937.
2009. [31] F. Wei, J. Ma, Q. Jiang, J. Shen, and C. Ma, ‘‘Cryptanalysis and improve-
[8] J. Astorga, E. Jacob, N. Toledo, and J. Unzilla, ‘‘Enhancing secure ment of an enhanced two-factor user authentication scheme in wireless
access to sensor data with user privacy support,’’ Comput. Netw., vol. 64, sensor networks,’’ Inf. Technol. Control, vol. 45, no. 1, pp. 62–70, 2016.
pp. 159–179, May 2014. [32] M. Turkanović, B. Brumen, and M. Hölbl, ‘‘A novel user authentication and
[9] J. Qi, X. Hu, Y. Ma, and Y. Sun, ‘‘A hybrid security and compres- key agreement scheme for heterogeneous ad hoc wireless sensor networks,
sive sensing-based sensor data gathering scheme,’’ IEEE Access, vol. 3, based on the Internet of Things notion,’’ Ad Hoc Netw., vol. 20, pp. 96–112,
pp. 718–724, 2015. Sep. 2014.

3390 VOLUME 5, 2017


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

[33] R. Amin and G. P. Biswas, ‘‘A secure light weight scheme for user [56] R. Lumini and L. Nanni, ‘‘An improved BioHashing for human authenti-
authentication and key agreement in multi-gateway based wireless sensor cation,’’ Pattern Recognit., vol. 40, no. 3, pp. 1057–1065, Mar. 2007.
networks,’’ Ad Hoc Netw., vol. 36, pp. 58–80, Jan. 2016. [57] M. O. Rabin, ‘‘Digitalized signatures and public-key functions as
[34] M. S. Farash, M. Turkanović, M. Kumari, and S. Hölb, ‘‘An efficient intractable as factorization,’’ MIT Lab. Comput. Sci., Cambridge, MA,
user authentication and key agreement scheme for heterogeneous wireless USA, Tech. Rep., 1979.
sensor network tailored for the Internet of Things environment,’’ Ad Hoc [58] H.-Y. Chien, ‘‘Combining Rabin cryptosystem and error correction codes
Netw., vol. 36, pp. 152–176, Jan. 2016. to facilitate anonymous authentication with un-traceability for low-end
[35] C.-C. Chang and H. D. Le, ‘‘A provably secure, efficient, and flexible devices,’’ Comput. Netw., vol. 57, no. 14, pp. 2705–2717, Oct. 2013.
authentication scheme for ad hoc wireless sensor networks,’’ IEEE Trans. [59] D. Wang, D. He, P. Wang, and C.-H. Chu, ‘‘Anonymous two-factor authen-
Wireless Commun., vol. 15, no. 1, pp. 357–366, Jan. 2016. tication in distributed systems: Certain goals are beyond attainment,’’ IEEE
[36] Y. Lu, L. Li, H. Peng, and Y. Yang, ‘‘An energy efficient mutual authentica- Trans. Depend. Sec. Comput., vol. 12, no. 4, pp. 428–442, Jul./Aug. 2015.
tion and key agreement scheme preserving anonymity for wireless sensor [60] D. Wang and P. Wang, ‘‘Two birds with one stone: Two-factor authentica-
networks,’’ Sensors, vol. 16, no. 6, 2016, Art. no. 837. tion with security beyond conventional bound,’’ IEEE Trans. Depend. Sec.
[37] F. Wu et al., ‘‘An efficient authentication and key agreement scheme Comput., to be published, doi: 10.1109/TDSC.2016.2605087.
for multi-gateway wireless sensor networks in IoT deployment,’’ [61] D. Wang, Q. Gu, H. Cheng, and P. Wang, ‘‘The request for better measure-
J. Netw. Comput. Appl., 2016. [Online]. Available: http://dx.doi.org/ ment: A comparative evaluation of two-factor authentication schemes,’’
10.1016/j.jnca.2016.12.008 in Proc. 11th ACM Asia Conf. Comput. Commun. Secur., May 2016,
[38] A. K. Das et al., ‘‘Provably secure user authentication and key agreement pp. 475–486.
scheme for wireless sensor networks,’’ Secur. Commun. Netw., vol. 9, [62] P. C. Kocher, J. Jaffe, and B. Jun, ‘‘Differential power analysis,’’ in Proc.
no. 16, pp. 3670–3687, Nov. 2016. Adv. Cryptol., Santa Barbara, CA, USA, Aug. 1999, pp. 388–397.
[39] R. Amin, S. H. Islam, G. P. Biswas, M. K. Khan, L. Leng, and [63] T. S. Messerges, E. A. Dabbish, and R. H. Sloan, ‘‘Examining smart-card
N. Kumar, ‘‘Design of an anonymity-preserving three-factor authenticated security under the threat of power analysis attacks,’’ IEEE Trans. Comput.,
key exchange protocol for wireless sensor networks,’’ Comput. Netw., vol. 51, no. 5, pp. 541–552, May 2002.
vol. 101, pp. 42–62, Jun. 2016. [64] M. Abdalla, F. Benhamouda, and P. MacKenzie, ‘‘Security of the J-PAKE
[40] D. He and D. Wang, ‘‘Robust biometrics-based authentication scheme password-authenticated key exchange protocol,’’ in Proc. IEEE S&P,
for multiserver environment,’’ IEEE Syst. J., vol. 9, no. 3, pp. 816–823, May 2015, pp. 571–587.
Sep. 2015. [65] A. G. Reddy, A. K. Das, E. J. Yoon, and K.-Y. Yoo, ‘‘A secure anonymous
[41] X. Li, J. Niu, Z. Wang, and C. Chen, ‘‘Applying biometrics to design three- authentication protocol for mobile services on elliptic curve cryptogra-
factor remote user authentication scheme with key agreement,’’ Secur. phy,’’ IEEE Access, vol. 4, pp. 4394–4407, 2016.
Commun. Netw., vol. 7, no. 10, pp. 1488–1497, Oct. 2014. [66] Z. Fu, X. Sun, S. Ji, and G. Xie, ‘‘Towards efficient content-aware search
[42] Q. Jiang, F. Wei, S. Fu, J. Ma, G. Li, and A. Alelaiwi, ‘‘Robust extended over encrypted outsourced data in cloud,’’ in Proc. 35th Annu. IEEE Int.
chaotic maps-based three-factor authentication scheme preserving biomet- Conf. Comput. Commun. (IEEE INFOCOM), San Francisco, CA, USA,
ric template privacy,’’ Nonlinear Dyn., vol. 83, no. 4, pp. 2085–2101, Apr. 2016, pp. 1–9, doi: 10.1109/INFOCOM.2016.7524606.
Mar. 2016. [67] Z. Fu, X. Wu, C. Guan, X. Sun, and K. Ren, ‘‘Toward efficient multi-
[43] Q. Jiang, M. K. Khan, X. Lu, J. Ma, and D. He, ‘‘A privacy preserving keyword fuzzy search over encrypted outsourced data with accuracy
three-factor authentication protocol for e-health clouds,’’ J. Supercomput., improvement,’’ IEEE Trans. Inf. Forensics Security, vol. 11, no. 12,
vol. 72, no. 10, pp. 3826–3849, Oct. 2016. pp. 2706–2716, Dec. 2016.
[44] Q. Jiang, J. Ma, and F. Wei, ‘‘On the security of a privacy-aware authen- [68] Z. Xia, X. Wang, X. Sun, and Q. Wang, ‘‘A secure and dynamic multi-
tication scheme for distributed mobile cloud computing services,’’ IEEE keyword ranked search scheme over encrypted cloud data,’’ IEEE Trans.
Syst. J., to be published, doi: 10.1109/JSYST.2016.2574719. Parallel Distrib. Syst., vol. 27, no. 2, pp. 340–352, Jan. 2016.
[45] A. K. Das, ‘‘A secure and robust temporal credential-based three-factor [69] Z. Xia, X. Wang, L. Zhang, Z. Qin, X. Sun, and K. Ren, ‘‘A privacy-
user authentication scheme for wireless sensor networks,’’ Peer-Peer Netw. preserving and copy-deterrence content-based image retrieval scheme in
Appl., vol. 9, no. 1, pp. 223–244, Jan. 2014. cloud computing,’’ IEEE Trans. Inf. Forensics Security, vol. 11, no. 11,
[46] A. K. Das, ‘‘A secure and effective biometric-based user authentication pp. 2594–2608, Nov. 2016.
scheme for wireless sensor networks using smart card and fuzzy extrac- [70] S. Zeadally and M. Badra, Eds., Privacy in a Digital, Networked
tor,’’ Int. J. Commun. Syst., vol. 30, no. 1, p. e2933, Jan. 2017, doi: World: Technologies, Implications and Solutions. London, U.K.: Springer,
10.1002/dac.2933. Oct. 2015.
[47] A. K. Das, ‘‘A secure and efficient user anonymity-preserving three-factor [71] Z. Liu, H. Seo, J. Großschädl, and H. Kim, ‘‘Efficient implementation of
authentication protocol for large-scale distributed wireless sensor net- NIST-compliant elliptic curve cryptography for 8-bit AVR-based sensor
works,’’ Wireless Pers. Commun., vol. 82, no. 3, pp. 1377–1404, Jun. 2015. nodes,’’ IEEE Trans. Inf. Forensics Security, vol. 11, no. 7, pp. 1385–1397,
[48] F. Wu, L. Xu, S. Kumari, and X. Li, ‘‘An improved and provably secure Jul. 2016.
three-factor user authentication scheme for wireless sensor networks,’’
Peer-Peer Netw. Appl., 2016, doi: 10.1007/s12083-016-0485-9.
[49] X. Li, J. Niu, S. Kumari, J. Liao, W. Liang, and M. K. Khan, ‘‘A new
authentication protocol for healthcare applications using wireless medical
sensor networks with user anonymity,’’ Secur. Commun. Netw., vol. 9,
no. 15, pp. 2643–2655, Oct. 2016.
[50] A. K. Das, A. K. Sutrala, V. Odelu, and A. Goswami, ‘‘A secure smartcard-
based anonymous user authentication scheme for healthcare applications
using wireless medical sensor networks,’’ Wireless Pers. Commun., 2016,
doi: 10.1007/s11277-016-3718-6.
[51] B. Blanchet, ‘‘An efficient cryptographic protocol verifier based on prolog
rules,’’ in Proc. IEEE Comput. Soc. Found. (CSFW), Jun. 2001, pp. 82–96.
[52] I. Natgunanathan, A. Mehmood, Y. Xiang, G. Beliakov, and J. Yearwood,
‘‘Protection of privacy in biometric data,’’ IEEE Access, vol. 4, QI JIANG received the B.S. degree in computer
pp. 880–892, 2016. science from Shaanxi Normal University in 2005,
[53] Y. Dodis, L. Reyzin, and A. Smith, ‘‘Fuzzy extractors: How to generate and the Ph.D. degree in computer science from
strong keys from biometrics and other noisy data,’’ in Proc. EUROCRYPT, Xidian University in 2011. He is currently an
2004, pp. 523–540. Associate Professor with the School of Cyber
[54] A. Juels and M. Sudan, ‘‘A fuzzy vault scheme,’’ in Proc. IEEE Int. Symp. Engineering, Xidian University. His research inter-
Inf. Theory (ISIT), Jun./Jul. 2002, p. 408. ests include security protocols, wireless network
[55] A. T. B. Jin, D. N. C. Ling, and A. Goh, ‘‘BioHashing: Two factor security, and cloud security.
authentication featuring fingerprint data and tokenised random number,’’
Pattern Recognit., vol. 37, no. 11, pp. 2245–2255, Apr. 2004.

VOLUME 5, 2017 3391


Q. Jiang et al.: Lightweight Three-Factor Authentication and Key Agreement Protocol

SHERALI ZEADALLY received the bachelor’s DEBIAO HE received the Ph.D. degree in applied
degree in computer science from the University of mathematics from the School of Mathematics and
Cambridge, U.K., and the Ph.D. degree in com- Statistics, Wuhan University, in 2009. He is cur-
puter science from the University of Buckingham, rently an Associate Professor with the State Key
U.K. He is currently an Associate Professor with Lab of Software Engineering, Computer School,
the College of Communication and Information, Wuhan University. His main research interests
University of Kentucky, Lexington, KY, USA. He include cryptography and information security, in
is a fellow of the British Computer Society and the particular, cryptographic protocols.
Institution of Engineering Technology, U.K.

JIANFENG MA received the M.S. degree in com-


puter science and the Ph.D. degree from Xid-
ian University, in 1992 and 1995, respectively.
He is currently a Professor with the School of
Cyber Engineering, Xidian University. He has
published over 150 journal and conference papers.
His research interests include applied cryptogra-
phy, wireless network security, data security, and
mobile security.

3392 VOLUME 5, 2017

You might also like