Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2014 Apr 9;14(4):6443–6462. doi: 10.3390/s140406443

Security Analysis and Improvements of Two-Factor Mutual Authentication with Key Agreement in Wireless Sensor Networks

Jiye Kim 1, Donghoon Lee 1, Woongryul Jeon 2, Youngsook Lee 3, Dongho Won 4,*
PMCID: PMC4029696  PMID: 24721764

Abstract

User authentication and key management are two important security issues in WSNs (Wireless Sensor Networks). In WSNs, for some applications, the user needs to obtain real-time data directly from sensors and several user authentication schemes have been recently proposed for this case. We found that a two-factor mutual authentication scheme with key agreement in WSNs is vulnerable to gateway node bypassing attacks and user impersonation attacks using secret data stored in sensor nodes or an attacker's own smart card. In this paper, we propose an improved scheme to overcome these security weaknesses by storing secret data in unique ciphertext form in each node. In addition, our proposed scheme should provide not only security, but also efficiency since sensors in a WSN operate with resource constraints such as limited power, computation, and storage space. Therefore, we also analyze the performance of the proposed scheme by comparing its computation and communication costs with those of other schemes.

Keywords: wireless sensor networks (WSNs), mutual authentication, key agreement, two-factor authentication, passwords, smart cards

1. Introduction

A wireless sensor network (WSN) is composed of a number of sensors (tens to thousands) that are deployed to collect data in a target area [1,2]. The number of potential applications for WSNs is increasing in various fields, including environmental monitoring, healthcare, agriculture, manufacturing, military sensing and tracking, and disaster alert [15]. The design of a specific WSN is dependent on the given application and the environment under which it operates [1]. In addition, sensors in a WSN operate with resource constraints such as limited power, computation, and storage space [1,3,68]. In WSNs, user queries are generally transmitted to the gateway [1,3,8,9]. However, for some applications, the user needs to obtain real-time data directly from sensors [1,3,8,9]. In this case, only legitimate users should be able to access the WSN.

Several schemes for user authentication in WSNs have been proposed recently. Wong et al. [10] proposed a user authentication scheme that uses only one-way hash functions for computation efficiency on sensor nodes [10]. However, Das [3] pointed out that Wong et al.'s scheme does not prevent many logged-in users with the same login-ID threats and stolen-verifier attacks [3]. Das [3] proposed a two-factor user authentication in WSNs using a smart card and a password instead of maintaining a password/verifier table [3]. Other researchers, however, pointed out that Das' scheme still has security flaws. Chen and Shih [11] insisted that Das' scheme does not provide mutual authentication, and proposed a mutual authentication scheme between the user, the gateway, and the sensor node [11]; He et al. [9] said that Das' scheme has security weaknesses against insider attacks and impersonation attacks [9]; and Khan and Alghathbar [4] pointed out that Das' scheme is vulnerable to gateway node bypassing attacks and privileged-insider attacks [4]. In 2012, Vaidya et al. [12] pointed out that the schemes proposed by Das [3], Kan and Alghathbar [4] and Chen and Shih [11] are all insecure against stolen smart card attacks and sensor node impersonation attacks with node capture attacks and do not provide key agreement [12]. Therefore, they proposed a novel two-factor mutual authentication and key agreement scheme to prevent these attacks. In addition, they insisted that computational costs for gateway and sensor nodes in their proposed scheme are not so high. However, we found that their proposed scheme still has security flaws.

In this paper, we present that gateway node bypassing attacks and user impersonation attacks are possible using secret data stored in a sensor or an attacker's own smart card in Vaidya et al.'s scheme. Additionally, we propose an improved scheme that eliminates such security weaknesses from Vaidya et al.'s scheme. We verify that the proposed scheme is secure against possible attacks. We also analyze the performance of the proposed scheme by comparing its computation cost and communication cost with those of other schemes.

The remainder of the paper is organized as follows. Section 2 presents a review of Vaidya et al.'s scheme. Section 3 is devoted to analyzing the security of Vaidya et al.'s scheme. Section 4 proposes the improved scheme. Section 5 analyzes the security of the proposed scheme against possible attacks. Section 6 is devoted to analyzing the performance of the proposed scheme and Section 7 concludes this paper.

2. Review of Vaidya et al.'s Scheme

There are three communication parties in Vaidya et al.'s scheme [12]: a user, a gateway node, and a sensor node. This scheme is composed of four phases: registration phase, login phase, authentication-key agreement phase, and password change phase. We describe each phase in detail in Sections 2.1–2.4, and Table 1 shows the notations used in the remainder of the paper.

Table 1.

Notations [12].

Symbol Description
Ui i-th user
Sj j-th sensor node
GW Gateway node
IDi Identity of
pWi Password of
SIDj Identity of
IDs Identity of smart card
K Secret key known to only
Xs Secret value generated by and shared between only and
h(·) One-way hash function
RNi Random nonce of
RNj Random nonce of
XOR operation
Concatenation operation
=?, ≤? Verification operation
Ks Session key
f(x,k) Pseudo-random function of variable with key k
Ti,Ti Current timestamp of Ui
TG,TG Current timestamp of GW
Tj Current timestamp of Sj
ΔT The maximum of transmission delay time permitted
graphic file with name sensors-14-06443t1.jpg Secure channel
graphic file with name sensors-14-06443t2.jpg Insecure channel

Registration phase begins when the user sends a registration request with his/her identity and a hashed password to the gateway node. Then, the gateway node personalizes a smart card for the user and sends it to him/her as a response to the registration request. In the registration phase, all these communication messages are transmitted in secure channels.

Login phase begins when the user inserts his/her smart card into the terminal and inputs his/her identity and password. After the verification of the user's input value, the smart card computes and sends the authentication request to the gateway node. When the gateway node receives the authentication request from the user side, the authentication-key agreement phase begins. The gateway node verifies whether the authentication request comes from a legitimate user. If the verification is successful, the gateway node sends the authentication request to a sensor node which can respond to a request or a query from the user. In this phase, three authentication requests are transmitted. The first request is from the gateway node to the sensor node, the second is from the sensor node to the gateway node, and the final is from the gateway node to the user. As stated, when one party receives an authentication request, the party verifies its validity and sends a new authentication request to the other party. In login phase and authentication-key agreement phase, these request messages are transmitted in insecure channels. If all verifications are passed successfully, the user and the sensor node then share the session key for communication. The password change phase begins whenever the user wants to change his/her password. In the password change phase, the user side does not have to communicate with other parties.

2.1. Registration Phase

We describe the registration phase in this subsection. Ui selects IDi and pwi, computes H_PWi=h(pwi) and sends the registration request {IDi,h(pwi)} to GW. Then, GW personalizes a smart card for Ui and sends it to Ui. Figure 1 shows the registration phase of Vaidya et al.'s scheme.

Figure 1.

Figure 1.

Registration phase of Vaidya et al.'s scheme [12].


R-1 Ui selects IDi and.PWi
R-2 Ui computes H_PWi=h(pwi)
Ui sends a registration request {IDi, H_PWi} to GW in secure channels (it was not mentioned whether the registration request from Ui to GW is sent by secure channels [12], but we guess that it is sent this way).
R-3 GW computes the following when it receives the registration request from Ui.
Ai=h(IDiH_PWixs)⊕h(K)
Bi=h(H_PWixs)
Ci=xsh(IDsH_PWi)
GW personalizes the smart card with IDs, IDi, h(·), Ai, Bi and Ci.
GW sends the smart card to Ui in secure channels.

Meanwhile, SIDj and a secret value xs generated by GW are stored in Sj before it is deployed into a target field.

2.2. Login Phase

The login phase begins when Ui inserts Ui's smart card into a terminal and inputs IDi* and pwi*. In this phase, Ui sends the authentication request to GW. Figure 2 illustrates the login phase of Vaidya et al.'s scheme.

Figure 2.

Figure 2.

Login phase of Vaidya et al.'s scheme [12].


L-1 Ui inserts Ui's smart card into a terminal and inputs IDi* and pwi*
L-2 The smart card computes the following.
H_PWi*=h(pwi*)
xs=Cih(IDsH_PWi*)
Bi*=h(H_PWi*xs)
The smart card compares Bi* with Bi. If, Bi*=Bi, then the next step proceeds; otherwise, this phase is aborted.
L-3 The smart card generates a random nonce RNi and computes the following. Ti is the current timestamp of Ui system.
DIDi=h(IDiH_PWi*xs)h(xsRNiTi)
MUiG=h(AixsRNiTi)
vi=RNixs
The smart card sends the authentication request {DIDi, MUiG, vi, Ti} to GW.

2.3. Authentication-Key Agreement Phase

When GW receives the authentication request from Ui, the authentication-key agreement phase begins. In this phase, Ui, GW, Sj and send and receive authentication requests from one another. Figure 3 depicts the authentication-key agreement phase of Vaidya et al.'s scheme. The following describes this process in detail.

Figure 3.

Figure 3.

Authentication-key agreement phase of Vaidya et al.'s scheme [12].


A-1 GW checks if (TGTi) ≤ ΔT, where TG is the current timestamp of GW system, and ΔT is the maximum permitted transmission delay time. If (TGTi) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
A-2 GW computes the following.
RNi=vixs
X*=DIDih(xsRNiTi)
MUiG*=h((X*⊕h(K))∥xsRNiTi)
GW compares MUiG* with MUiG*. If MUiG* =MUiG, then the next step proceeds; otherwise, this phase is aborted.
A-3 GW computes MGSj=h(DIDiSIDjxsTG). TG is the current timestamp of GW system. Sj is the nearest sensor node that can respond to Ui's request.
GW sends the authentication request {DIDi, MGSj, TG} to Sj.
A-4 GW checks if (TjTG) ≤ ΔT, where Tj is the current timestamp of Sj system.
If (TjTG) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
A-5 Sj computes MGSj*=h(DIDiSIDjxsTG).
Sj compares MGSj* with MGSj. If MGSj* = MGSj, then the next step proceeds; otherwise, this phase is aborted.
A-6 Sj generates a random nonce RNj and computes the following.
yi = RNjxs
zi = MGSj*⊕RNj
MSjG = h(zixsTj)
Sj sends the authentication request {yi, MSjG, Tj} to GW.
A-7 GW checks if (TG′ − Tj) ≤ ΔT, where TG′ is the current timestamp of GW system.
If (TG′−Tj) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
A-8 GW computes the following.
RNj=yixs
zi=MGSjRNj
MSjG*=h(zi*xsTj)
GW compares MSjG* with MSjG. If MSjG* = MSjG, then the next step proceeds; otherwise, this phase is aborted.
A-9 GW computes the following.
MGUi = h(DIDiMGSjMUiGxsTG′)
wi=zi*xs
GW sends the authentication request {yi, wi, MGUi, TG′} to Ui.
A-10 Ui checks if (Ti′ − TG′) ≤ ΔT, where Ti′ is the current timestamp of Ui system.
If (Ti′ − TG′) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
A-11 The smart card computes the following.
RNj = yixs
zi*=wixs
MGSj=zi*RNj
MGUi* = h(DIDiMGSjMUiGxsTG′)
The smart card compares MGUi* with MGUi. If MGUi* = MGUi, then mutual authentication between Ui and Sj is completed successfully; otherwise, this phase is aborted.
A-12 The smart card computes Ks = f((DIDiRNi),xs) to obtain a session key for communication with Sj. Meanwhile, Sj also computes KS = f((DIDiRNi),xs) to share a session key with Ui.

2.4. Password Change Phase

The password change phase proceeds when Ui changes Ui's existing password to a new one. In the password change phase, Ui does not communicate with GW.


P-1 Ui inserts Ui's smart card into a terminal and inputs, IDi*, pwi*, and pwni. pwni is Ui's new password.
P-2 The smart card computes the following.
H_PWi*=h(pwi*)
xs=Cih(IDsH_PWi*)
Bi*=h(H_PWi*xs)
The smart card compares Bi* with Bi. If Bi*=Bi, then the next step proceeds; otherwise, this phase is aborted.
P-3 The smart card computes the following.
H_PWni=h(pwniRNr)
Ani=Aih(IDiH_PWi*xs)h(IDiH_PWnixs)
Bni=h(H_PWnixs)
Cni=xsh(IDsH_PWni)
The smart card replaces the existing values Ai, Bi, and Ci with the new values Ani, Bni, and Cni.

3. Security Analysis of Vaidya et al.'s Scheme

In this section, we analyze the security of Vaidya et al.'s scheme. We found that gateway node bypassing attacks are possible in Vaidya et al.'s scheme if an attacker captures a sensor node and extracts secret values stored in it. Additionally, an attacker can know secret values xs and h(K) from the attacker's own smart card and use them for user impersonation attacks or gateway node bypassing attacks.

In Sections 3.1–3.3, we describe possible attacks in Vaidya et al.'s scheme in detail. We assume that an attacker can eavesdrop on or intercept all messages sent or received between communication parties. We also assume that an attacker can read data stored in a smart card in any manner like in the related works [2,6,1316]. In addition, we have to note that data stored in sensor nodes are not secure since an attacker can capture sensor nodes that are deployed in unattended environments and can then extract data from them.

3.1. Gateway Node Bypassing Attacks Using Secret Data Stored in a Sensor Node

In Vaidya et al.'s scheme, if an attacker extracts the secret data xs from a sensor node, he/she can impersonate GW and communicate with Ui. These attacks proceed as explained below. Uα denotes an attacker here.


Step 1 Uα extracts xs and SIDj from a sensor node captured in the WSN.
Step 2 Login phase begins when Ui wants to access to the WSN as in Section 2.2.
When Ui sends the authentication request {DIDi, MUiG, vi, Ti} to GW, Uα eavesdrops on it.
Step 3 Uα computes the following using xs, SIDj and {DIDi, MUiG, vi, Ti}. Tα and Tα′ denote the current timestamp of Uα system, and Tα < Tα′. Uα generates a random nonce RNα.
yi=RNαxs
MG-Sj = h(DIDiSIDjxsTα)
zi*=MGSjRNα
wi=zi*xs
MGUi*=h(DIDiMGSjMUiGxsTα′)
Uα forges the authentication request sent from GW to Ui in authentication-key agreement phase using {yi, wi, MGUi),Tα′}.
Step 4 When Ui receives {yi, wi, MGUi, Tα′} from Uα, Ui checks if (TU′−Tα′) ≤ ΔT, where (TU′ is the current timestamp of Ui system. If (TU′−Tα′) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
Step 5 The smart card computes the following.
RNα = yixs
zi*=wixS
MGUi=h(DIDiMGSjMUiGxsTα)
MGUi*=h(DIDiMGSjMUiGxsTα′)
The smart card compares MGUiwith MGUi*. Since MGUi = MGUi*, Ui regards {yi, wi, MGUi,Tα′} as being transmitted from GW. Therefore, Uα can communicate with Ui using the session key Ks = f((DIDiRNα), xs).

3.2. User Impersonation Attacks Using an Attacker's Own Smart Card

If an attacker Uα registers with GW, Uα receives the smart card personalized with Uα's own identity and password, IDα and pwα. Uα can compute xs and h(K) using IDα, pwα, and secret values stored in the smart card.


Step 1 As shown in the Section 2.1, Uα selects IDα and pwα.
Step 2 Uα computes H_PWα=h(pwα).
Uα sends the registration request {IDα, h(pwα)} to GW.
Step 3 GW computes the following when it receives the registration request from Uα.
Aα = h(IDαH_PWαxs)⊕h(K)
Bα=h(H_PWαxs)
Cα=xsh(IDsH_PWα)
GW personalizes the smart card with IDs, IDα, h(·), Aα, Bα and Cα.
GW sends the smart card to Uα.
Step 4 Uα reads IDs, IDα, Aα, Bα, and Cα from the smart card.
Uα can know xs and h(K) by computing the following.
xs= Cαh(IDsH_PWα)
h(K) = Aαh(IDαH_PWαxs)

Uα can impersonate a legitimate user who has registered with GW using xs and h(K). In addition, Uα can also log in with any temporary identity that does not actually exist.

3.2.1. Logging in with Any Temporary Identity

We describe the process where Uα logs in with any temporary identity that does not actually exist using xs and h(K).


Step 1 Uα selects any temporary identity and password IDβ and pwβ. Uα computes the authentication request as follows. Tα denotes the current timestamp of Uα system, and RNα is a random nonce generated by Uα.
HPWβ*=h(pwβ)
Aβ=h(IDβH_Wβ*xs)h(K)
DIDβ=h(IDβH_PWβ*||xs)h(xsRNαTα)
MG=h(AβxsRNαTα)
vβ=RNαxs
Uα sends the authentication request {DIDβ, MG, vβ, Tα} to GW.
Step 2 When GW receives the authentication request, GW checks if (TGTα) ≤ ΔT, where TG is the current timestamp of GW system. If (TGTα) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
Step 3 GW computes the following.
RNα=vβxs
X*=DIDβh(xsRNαTα)
MG* = h((X* ⊕ h(K))∥xsRNαTα)
GW compares MG with MG*. GW regards {DIDβ, MG, vβ, Tα} as being sent from a legitimate user because MG = MG*.

3.2.2. Logging in with the Identity of a Legitimate User

We describe when Uα impersonates a legitimate user Ui who has registered with GW using xs and h(K).


Step 1 In the previous session, when Ui sends the authentication request {DIDi, MUiG, vi, Ti} to GW as shown in Section 2.2, Uα eavesdrops on it.
Step 2 Uα computes the following. RNα is a random nonce generated by Uα. Tα is the current timestamp of Uα system. xs and h(K) are already known to Uα, as mentioned above.
RNi=vixs
h(IDiH_PWi*xs)=DIDih(xs||RNi||Ti)
DIDi=h(IDiH_PWi*xs)h(xsRNiTi)
Ai=h(IDiH_PWi*xs)h(K)
MUiG = h(AixsRNαTα)
vi = RNαxs
Uα sends the authentication request {DIDi, MUiG, vi, Tα} to GW.
Step 3 When GW receives {DIDi, MUiG, vi, Tα}, GW checks if (TGTα) ≤ ΔT, where TG is the current timestamp of GW system. If (TGTα) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
Step 4 GW computes the following.
RNα = vixs
X*=DIDih(xsRNαTα)
MUiG* = h((X* ⊕ h(K))∥xsRNαTα)
GW compares MUiG with MUiG*. GW regards {DIDi, MUiG, vi, Tα} as being sent from a legitimate user because MUiG=MUiG*.

3.3. Gateway Node Bypassing Attacks Using an Attacker's Own Smart Card

As discussed in Section 3.2, if an attacker Uα obtains xs and h(K) using data stored in his/her own smart card, he/she can impersonate GW. The following shows the attack process in detail. Uα denotes an attacker here.


Step 1 Login phase begins when Ui wants to access the WSN as described in Section 2.2.When Ui sends the authentication request {DIDi, MUiG, vi, Ti} to GW, Uα eavesdrops on the transmission.
Step 2 Uα computes the following using xs and {DIDi, MUiG, vi, Ti}. Tα and Tα denote the current timestamp of Tα system, and Tα < Tα′. Uα generates a random nonce RNα. SIDα is created by Uα.
yi = RNαxs
MGSj = h(DIDi∥SIDαxsTα)
zi*=MGSjRNα
wi=zi*xs
MGUi = h(DIDiMGSjMUiGxsTα)
Uα forges the authentication request sent from GW to Ui in authentication-key agreement phase using {yi, wi, MGUi, Tα}.
Step 3 When Ui receives {yi, wi, MGUi, Tα} from Uα, Ui checks if (TUTα) ≤ ΔT, where TU is the current timestamp of Ui system. If (TUTα) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
Step 4 The smart card computes the following.
RNα = yixs
zi*=wixs
MGSj=zi*RNα
MGUi*=h(DIDi∥MGSjMUiGxsTα)
The smart card compares MGUiwith MGUi*. Since MGUi=MGUi*, Ui regards {yi, wi, MGUi,Tα} as being transmitted from GW. Therefore, Uα can communicate with Ui using the session key Ks = f((DIDiRNα), xs).

4. The Proposed Scheme

In this section, we propose an improved scheme that can overcome the security weaknesses presented in Section 3. The reason why Vaidya et al.'s scheme is vulnerable to sensor node capture attacks is that xs is stored in plaintext form in Sj though it is a secret value. To make matters worse, xs is shared between all sensor nodes in the WSN. Also, in Vaidya et al.'s scheme, an attacker can compute and use xs and h(K) for attacks because they are stored in all users' smart cards. Therefore, the main ideas of our proposed scheme are as follows:

  • When GW personalizes a smart card for Ui in the registration phase, GW uses Xsi = h(H_IDixs) and h(H_IDi∥K; instead of xs and h(K) to prevent an attacker from computing xs or h(K). Since Xsi and h h(H_IDi∥K; are unique for each user, an attacker cannot reuse them to impersonate a legitimate user.

  • In the proposed scheme, Xsj*=h(SIDjxs) instead of xs is stored in Sjto prevent an attacker from extracting xs from Sj. Since Xsj* is unique for each sensor node, we can attenuate the effects of sensor node capture attacks as much as possible.

We describe each phase in detail in Sections 4.1 through 4.4. Before describing the proposed scheme in detail, we present the security requirements for the proposed scheme.

  • The proposed scheme has to be secure against possible attacks such as replay, password guessing, user impersonation, gateway node bypassing and parallel session attacks.

  • The proposed scheme has to minimize the damage caused by sensor node capture attacks. The authentication scheme cannot be a perfect solution that blocks sensor node capture attacks completely. Nevertheless, the proposed scheme should attenuate the effects of sensor node capture attacks as much as possible.

  • We assume an attacker can obtain all data from a smart card. Therefore, our proposed scheme has to be devised considering stolen smart card attacks, lost smart card problems, and attacks that use an attacker's own smart card, as shown in Section 3.

  • The proposed scheme must be secure against privileged-insider attacks or stolen-verifier attacks.

  • The proposed scheme has to provide methods for mutual authentication, key agreement between Ui and Sj, and password change.

4.1. Registration Phase

In the registration phase, Ui selects IDi and pwi. Ui computes and sends the registration request {IDi, h(pwi)∥RNr)} to the gateway node, where RNr is a random nonce. Then, GW personalizes a smart card for Ui. Figure 4 illustrates the registration phase of the proposed scheme. Meanwhile, SIDj and Xsj* are stored in Sj, where Xsj*=h(SIDjxs)

Figure 4.

Figure 4.

Registration phase of the proposed scheme.

before Sj is deployed into a target field.


R-1 Ui selects IDi and pwi.
R-2 Ui generates a random nonce RNr and computes H_PWi = h(pwiRNr).
Ui sends the registration request {IDi, H_PWi} to GW in secure channels.
R-3 GW computes the following when it receives a registration request from Ui.
H_IDi = h(IDiK)
Xsi = h(H_IDixs)
Ai=h(H_PWiXsi) ⊕ h(H_IDiK)
Bi = h(H_PWiXsi)
Ci = XSih(IDsH_PWi)
GW personalizes the smart card with IDs, H_IDi, h(·),Ai,Biand Ci.
GW sends the smart card to Ui in secure channels.
R-4 Ui computes X_PWi = h(pwi) ⊕ RNr and adds X_PWi to the smart card.

4.2. Login Phase

The login phase begins when Ui inserts Ui's smart card into a terminal and inputs IDi* and pwi*. In this phase, Ui sends the authentication request to GW. Figure 5 depicts the login phase of the proposed scheme.

Figure 5.

Figure 5.

Login phase of the proposed scheme.


L-1 Ui inserts Ui's smart card into a terminal and inputs IDi* and. pwi*
L-2 The smart card computes the following.
RNr*=h(pwi*)X_PWi
H_PWi*=h(pwi*RNr*)
Xsi*=Cih(IDsH_PWi*)
Bi*=h(H_PWi*Xsi*)
The smart card compares Bi* with Bi. If Bi*=Bi, then the next step proceeds; otherwise, this phase is aborted.
L-3 The smart card generates a random nonce RNi and computes the following. Ti is the current timestamp of Ui system.
DIDi=h(H_PWi*Xsi*)h(Xsi*RNiTi)
MUiG=h(AiXsi*RNiTi)
vi=RNiXsi*
The smart card sends the authentication request {DIDi, MUiG, vi, Ti, H_IDi } to GW.

4.3. Authentication-Key Agreement Phase

When GW receives an authentication request from Ui, the authentication-key agreement phase begins. In this phase, Ui, GW, Sj and send and receive authentication requests from one another. Figure 6 shows the authentication-key agreement phase of the proposed scheme. The following describes this process in detail.

Figure 6.

Figure 6.

Authentication-key agreement phase of the proposed scheme.


A-1 GW checks if (TGTi) ≤ ΔT, where TG is the current timestamp of GW system.
If (TGTi) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
A-2 GW computes the following.
XSi = h(H_IDixs)
RNi = viXsi
X* = DIDih(XsiRNiTi)
MUiG* = h((X* ⊕ h(H_IDiK))∥XsiRNiTi)
GW compares MUiG* with MUiG. If MUiG*=MUiG, then the next step proceeds; otherwise, this phase is aborted.
A-3 GW computes the following. TG is the current timestamp of GW system. Sj is the nearest sensor node that can respond to Ui 's request.
Xsj=h(SIDjxs)
MGSj = h(DIDiSIDjXsjTG)
GW sends the authentication request {DIDi, MGSj, TG} to Sj.
A-4 GW checks if (T jTG) ≤ ΔT, where Tj is the current timestamp of Sj.
If (T jTG) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
A-5 Sj computes MGSj*=h(DIDi||SIDj||Xsi*TG).
Sj compares MGSj* with MGSj. If MGSj* = MGSj, then the next step proceeds; otherwise, this phase is aborted.
A-6 Sj generates a random nonce RNj and computes the following.
yj=RNjXsj*
zi = MGSj*⊕RNj
MSjG=h(ziXsj*Tj)
Sj sends the authentication request {yi, MSjG, Tj} to GW.
A-7 GW checks if (TG′ − Tj) ≤ ΔT, where TG′ is the current timestamp of GW.
If (TG′ − Tj) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted
A-8 GW computes the following.
RNj = yjXsi
zi*=MGSjRNj
MSjG*=h(zi*XsjTj)
GW compares MSjG* with MSjG. If MSjG = MSjG, then the next step proceeds; otherwise, this phase is aborted.
A-9 GW computes the following:
MGUi = h(DIDiMGSjMUiGXsiTG′)
wi=zi*Xsi
yi=RNjXsi
qj=XsjRNj
GW sends the authentication request {yi, wi, MGUi, qj, TG′)} to Ui.
A-10 Ui checks if (Ti′−TG′) ≤ ΔT, where Ti′ is the current timestamp of Ui. If (Ti′−TG′) ≤ ΔT, then the next step proceeds; otherwise, this phase is aborted.
A-11 The smart card computes the following:
RNj =yiXsi
zi*=wiXsi
MGSj*=zi*RNj
MGUi*=h(DIDiMGSj*MUiGXsiTG)
The smart card compares MGUi* with MGUi. If MGUi* =MGUi, then mutual authentication between Ui and SNj is completed successfully; otherwise, this phase is aborted.
A-12 The smart card computes the following to get a session key for communication with Sj. Meanwhile, Sj also computes KS = f((DIDiRNi), Xsj to share a session key with Ui.
Xsj = qjRNj
Ks = f((DIDiRNj), Xsj)

4.4. Password Change Phase

The password change phase proceeds when Ui changes Ui 's existing password to a new one. In the password change phase, Ui does not have to communicate with GW.


P-1 Ui inserts its smart card into a terminal and inputs, IDi*, pwi* and pwni. is Ui's new password.
P-2 The smart card computes the following.
RNr*=h(pwi*)X_PWi
H_PWi*=h(pwi*RNr*)
Xsi*=Cih(IDsH_PWi*)
Bi*=h(H_PWi*Xsi*)
The smart card compares Bi* with Bi. If Bi*=Bi, then the next step proceeds; otherwise, this phase is aborted.
P-3 The smart card computes the following.
H_PWni=h(pwniRNr*)
Ani=Aih(H_PWi*Xsi*)h(H_PWniXsi*)
Bni=h(H_PWniXsi*)
Cni=Xsi*h(IDsH_PWni)
The smart card replaces the existing values Ai, Bi and Ci with the new values Ani, Bni and Cni.

5. Security Analysis of the Proposed Scheme

This section is devoted to the security analysis of our proposed scheme. We discuss the security of our proposed scheme in terms of the security requirements presented in Section 4. Table 2 shows a security comparison of the proposed scheme.

Table 2.

Security comparison of the proposed scheme.

Security Features Das' Scheme [3] Khan and Alghathbar's Scheme [4] Vaidya et al.'s Scheme [12] The Proposed Scheme
Replay attacks Yes Yes Yes Yes
User impersonation attacks No No No Yes
Gateway node bypassing attacks No No No Yes
Parallel session attacks No No Yes Yes
Password guessing attacks No No Yes Yes
Sensor node capture attacks No No No Yes
Stolen smart card attacks No No Yes Yes
Lost smart card problems No No Yes Yes
Privileged-insider attacks No Yes Yes Yes
Stolen-verifier attacks Yes Yes Yes Yes
Mutual authentication No No Yes Yes
Key agreement No No Yes Yes
Password change phase No Yes Yes Yes

(Yes: The scheme resists the attacks or provides the functionality; No: The scheme does not resist the attacks or provide the functionality).

  • Replay attacks: The proposed scheme resists replay attacks because all authentication requests include current timestamps, such as Ti of {DIDi, MUiG, vi, Ti, H_IDi}.

  • User impersonation attacks and gateway node bypassing attacks: In the proposed scheme, an attacker cannot create valid authentication requests {DIDi, MUiG, vi, Ti, H_IDi} and {yi, wi, MGUi,qj,TG′} because he/she cannot compute the secret data xs and h(K). Therefore, user impersonation attacks and gateway node bypassing attacks are impossible.

  • Parallel session attacks: The proposed scheme is secure against parallel session attacks because all authentication requests include random nonces such as DIDi, and vi of {DIDi, MUiG, vi, Ti, H_IDi}.

  • Password guessing attacks: pwi cannot be guessed by an attacker because it is transmitted as the results which are concatenated with some secret values and one-way hashed. Even a privileged-insider cannot guess Ui's password from the registration request {IDi,H_PWi} because RNr in H_PWi = h(pwiRNr) is a unknown value to him/her.

  • Sensor node capture attacks: Though an attacker captures a sensor node and obtains secret data SIDj and Xsj* from it, the attacker cannot impersonate Ui, GW, or other sensor nodes. Since is the unique secret data only for Sj, an attacker cannot compute Xsj for Ui or xs for GW. In addition, he/she cannot compute the secret data of other sensor nodes except Sj.

  • Stolen smart card attacks and lost smart card problems: Though an attacker extracts IDs, H_IDi, h(·), Ai, Bi, Ci, and X_PWi from Ui's smart card, he/she cannot compute any secret data h(K)or xs for attacks. Therefore, the proposed scheme is secure against stolen smart card attacks or lost smart card problems. In addition, though an attacker extracts, IDs, HiDα, h(·), Aα, Bα, Cα, and X_PWα from his/her own smart card, he/she cannot compute any secret data h(K) or xs for attacks. Therefore, the proposed scheme prevents attacks using an attacker's own smart card.

  • Privileged-insider attacks: The proposed scheme resists privileged-insider attacks because pwi is transmitted as a digest of some other secret components.

  • Stolen-verifier attacks: The proposed scheme is secure against stolen-verifier attacks, since does not maintain a verifier table.

  • Mutual authentication, key agreement, and password change phase: The proposed scheme provides mutual authentication, key agreement between Ui and Sj, and password change phase.

6. Performance Analysis of the Proposed Scheme

Table 3 shows the computation cost comparison of the proposed scheme. Das' scheme [3], Khan and Alghathbar's scheme [4], Vaidya et al.'s scheme [12], and the proposed scheme use only hash and XOR operations. We compare these schemes in terms of the number of hash and XOR operations. The proposed scheme needs seven hash operations more than Vaidya's et al.'s [12]. Nevertheless, one of our main concerns is the computation cost of a sensor node rather than that of the entire scheme, because sensor nodes are resource-constrained. The computation cost of in the proposed scheme is the same as that of Vaidya et al.'s [12]. This means that the computation cost increase of the entire scheme is negligible considering the enhanced security. Meanwhile, with respect to communication cost, the number of messages transmitted in the proposed scheme is four, which is the same as that of Vaidya et al.'s scheme.

Table 3.

Computation cost comparison of the proposed scheme.

Phases Das' Scheme [3] Khan and Alghathbar's Scheme [4] Vaidya et al.'s Scheme [12] The Proposed Scheme
Registration phase Ui 0 1H 1H 2H + 1X
GW 3H + 1X 2H + 1X 4H + 3X 6H + 3X
Sj 0 0 0 0

Login phase Ui 3H + 1X 3H + 1X 6H + 4X 7H + 5X
GW 0 0 0 0
Sj 0 0 0 0

Authentication and key agreement phase Ui 0 0 1H + 3X 1H + 4X
GW 4H + 2X 5H + 2X 6H + 6X 8H + 8X
Sj 1H 2H 2H + 2X 2H + 2X

Password change phase Ui - 3H + 2X 8H + 6X 9H + 7X
GW - 0 0 0
Sj - 0 0 0

Total 11H + 4X 16H + 6X 28H + 24X 35H + 30X

(H: The number of hash operations; X: The number of XOR operations).

7. Conclusions

We have proposed an improved mutual authentication and key agreement scheme to overcome the security weaknesses of Vaidya et al.'s scheme. The proposed scheme resists user impersonation attacks and gateway node bypassing attacks using secret data stored in an attacker's own smart card or a sensor. In addition, the proposed scheme prevents possible attacks such as replay attacks, parallel session attacks, password guessing attacks, sensor node capture attacks, stolen smart card attacks, lost smart card problems, privileged-insider attacks, and stolen-verifier attacks. The proposed scheme is also efficient in terms of computation and communication cost considering the limited resources of sensors.

Acknowledgments

This research was supported by the MSIP(Ministry of Science, ICT and Future Planning), Korea, under the ITRC(Information Technology Research Center) support program (NIPA-2014-H0301-14-1004) supervised by the NIPA(National IT Industry Promotion Agency).

Author Contributions

Jiye Kim, Donghoon Lee, Woongryul Jeon, Youngsook Lee, and Dongho Won have contributed to security analysis, design of the proposed scheme, and manuscript preparation.

Conflicts of Interest

The authors declare no conflict of interest.

References

  • 1.Yick J., Mukherjee B., Ghosal D. Wireless sensor network survey. Comput. Netw. 2008;52:2292–2330. [Google Scholar]
  • 2.Yoon E.J., Yoo K.Y. Cryptanalysis of robust mutual authentication protocol for wireless sensor networks. Proceedings of the 10th IEEE International Conference on Cognitive Informatics & Cognitive Computing (ICCI*CC); Banff AB, Canada. 18-20 August 2011. [Google Scholar]
  • 3.Das M.L. Two-factor user authentication in wireless sensor networks. IEEE Trans. Wirel. Commun. 2009;8:1086–1090. [Google Scholar]
  • 4.Khan M.K., Alghathbar K. Cryptanalysis and security improvements of “two-factor user authentication in wireless sensor networks”. Sensors. 2010;10:2450–2459. doi: 10.3390/s100302450. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 5.Nyang D.H., Lee M.K. Improvement of Das's Two-Factor Authentication Protocol in Wireless Sensor Networks. IACR Cryptology ePrint Archive. [(accessed on 20 January 2014)]. Available online: http://eprint.iacr.org/2009/631.pdf.
  • 6.Li C.T., Weng C.Y., Lee C.C. An advanced temporal credential-based security scheme with mutual authentication and key agreement for wireless sensor networks. Sensors. 2013;13:9589–9603. doi: 10.3390/s130809589. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 7.Yoo S.G., Lee H., Kim J. A. Performance and Usability Aware Secure Two-Factor User Authentication Scheme for Wireless Sensor Networks. [(accessed on 20 January 2014)]. Available online: http://www.hindawi.com/journals/ijdsn/2013/543950/
  • 8.Tseng H.R., Jan R.H., Yang W. An Improved dynamic user authentication scheme for wireless sensor networks. Proceedings of the Global Telecommunications Conference (GLOBECOM'07); Washington, DC, USA. 26-30 November 2007. [Google Scholar]
  • 9.He D., Gao Y., Chan S., Chen C., Bu J. An enhanced two-factor user authentication scheme in wireless sensor networks. Ad Hoc Sens. Wirel. Netw. 2010;10:361–371. [Google Scholar]
  • 10.Wong K.H.M., Zheng Y., Cao J., Wang S. A dynamic user authentication scheme for wireless sensor networks. Proceedings of the IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing; Taichung, Taiwan. 5-7 June 2006. [Google Scholar]
  • 11.Chen T.H., Shih W.K. A robust mutual authentication protocol for wireless sensor networks. Electron. Telecommun. Res. Inst. 2010;32:704–712. [Google Scholar]
  • 12.Vaidya B., Makrakis D., Mouftah H. Two-Factor Mutual Authentication with Key Agreement in Wireless Sensor Networks. [(accessed on 20 January 2014)]. Available online: http://onlinelibrary.wiley.com/doi/10.1002/sec.517/full.
  • 13.Das A.K., Sharma P., Chatterjee S., Sing J.K. A dynamic password-based user authentication scheme for hierarchical wireless sensor networks. J. Netw. Comput. Appl. 2012;35:1646–1656. [Google Scholar]
  • 14.Xu J., Zhu W.T., Feng D.G. An improved smart card based password authentication scheme with provable security. Comput. Stand. Interfaces. 2009;31:723–728. [Google Scholar]
  • 15.Turkanovic M., Holbl M. An improved dynamic password-based user authentication scheme for hierarchical wireless sensor networks. Electron. Electr. Eng. 2013;19:109–116. [Google Scholar]
  • 16.Xue K., Ma C., Hong P., Ding R. A temporal-credential-based mutual authentication and key agreement scheme for wireless sensor networks. J. Netw. Comput. Appl. 2013;36:316–323. [Google Scholar]

Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES