Next Article in Journal
Ultratrace Detection of Histamine Using a Molecularly-Imprinted Polymer-Based Voltammetric Sensor
Previous Article in Journal
An Improved Multi-Sensor Fusion Navigation Algorithm Based on the Factor Graph
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Efficient and Security Enhanced Anonymous Authentication with Key Agreement Scheme in Wireless Sensor Networks

Department of Computer Engineering, Sungkyunkwan University, 2066 Seoburo, Suwon, Gyeonggido 440-746, Korea
*
Author to whom correspondence should be addressed.
Sensors 2017, 17(3), 644; https://doi.org/10.3390/s17030644
Submission received: 23 December 2016 / Revised: 7 March 2017 / Accepted: 17 March 2017 / Published: 21 March 2017
(This article belongs to the Section Sensor Networks)

Abstract

:
At present, users can utilize an authenticated key agreement protocol in a Wireless Sensor Network (WSN) to securely obtain desired information, and numerous studies have investigated authentication techniques to construct efficient, robust WSNs. Chang et al. recently presented an authenticated key agreement mechanism for WSNs and claimed that their authentication mechanism can both prevent various types of attacks, as well as preserve security properties. However, we have discovered that Chang et al’s method possesses some security weaknesses. First, their mechanism cannot guarantee protection against a password guessing attack, user impersonation attack or session key compromise. Second, the mechanism results in a high load on the gateway node because the gateway node should always maintain the verifier tables. Third, there is no session key verification process in the authentication phase. To this end, we describe how the previously-stated weaknesses occur and propose a security-enhanced version for WSNs. We present a detailed analysis of the security and performance of our authenticated key agreement mechanism, which not only enhances security compared to that of related schemes, but also takes efficiency into consideration.

1. Introduction

Wireless Sensor Networks (WSNs) are distributed networks composed of tiny autonomous sensors capable of collecting information related to the environment or physical conditions of a target region [1]. WSNs can be implemented in various use cases—including military battlefields, healthcare services and smart grid networks—to provide convenience to users [2]. Figure 1 illustrates the WSN system architecture. As shown in Figure 1, WSN systems are comprised of three parties, including the user, the gateway nodes and the sensor nodes [1,2]. WSN is made of sensor nodes that are wirelessly connected to a gateway that is then connected to a user. On the other hand, in some WSNs, the sensor nodes can also be connected to each other in order to facilitate multi-hop wireless mesh networks.
Although users enjoy the simplicity and efficiency in WSNs, security has emerged as a major issue in both academia and industry [3]. Specifically, confidential information including the user’s identity and password should not be exposed even if an unauthorized user eavesdrops on data packets transmitted in the WSN [4]. To guarantee reliability among the communicating parties, an authentication mechanism can afford confidentiality and integrity when users access WSNs [3,4]. At this point, in order to design a secure authentication mechanism for WSNs, the following security requirements should be commonly considered [5,6,7,8,9,10,11,12,13].
  • User anonymity: Even if an attacker extracts some information stored in the user’s smart card or if it eavesdrops on the messages transmitted in the communication group, the user’s identity should be protected.
  • Mutual authentication: An authentication mechanism should execute several steps to achieve mutual authentication, which is to test all transmitted messages to judging the legitimacies.
  • Session key agreement: After the mutual authentication process has completed, the session key should be securely assigned to communication parties on the network.
  • Password verification process: If a user mistakenly enters an incorrect password in the login phase, the password should be promptly detected before performing the authentication phase.
  • User friendliness: An authentication mechanism provides a password change procedure with which a user can freely update their password without communicating with the gateway node.
  • Robustness: User authenticated key agreement schemes should withstand different types of attacks, such as off-line password guessing attacks, replay attacks, insider attacks and impersonation attacks.
Furthermore, the efficiency aspect should be considered when applying the authentication mechanism to the WSN environment because the sensor nodes are limited in terms of their computing resources and power [5]. In other words, when constructing an authentication mechanism for WSNs, a hash function-based method is recommended for use since it requires less computation overhead than public-key cryptosystems, such as RSA, elliptic curves cryptography (ECC) and El-gamal, all of which have a high computational overhead [6,7]. Therefore, the authentication protocol implemented for WSNs should be simple and efficient while also conforming to the required security.

1.1. Related Studies

In 2006, Wong et al. [8] first presented a lightweight user authentication protocol for WSNs. Their protocol improved the efficiency by only employing a one-way hash function and exclusive-OR operation. However, Das [9] pointed out that Wong et al.’s scheme [8] could not withstand many logged-in users with the same login identity attacks and stolen-verifier attacks. Das [9] then suggested an improved version that solved the flaws present in Wong et al.’s method. Unfortunately, Khan and Alghathbar [10] demonstrated in 2010 that Das’s scheme [9] could not withstand a privileged-insider attack and gateway node bypass attack and proposed an enhanced new strategy. In the same year, Chen and Shih [11] also demonstrated that Das’s scheme [9] overlooks parallel session attacks and cannot support a mutual authentication property. Chen and Shih [11] then proposed an enhanced version. In 2012, Vaidya et al. [12] pointed out that Das’s scheme [9], Khan and Alghathbar’s scheme [10] and Chen and Shih’s scheme [11] contained the same vulnerabilities against a lost smart card attack and sensor node impersonation attack. To compensate for these defects, Vaidya et al. [12] suggested their own authentication scheme, arguing that it can withstand various attack types. However, Kim et al. [13] proved in 2014 that Vaidya et al.’s scheme [12] has some weaknesses, such as to user impersonation attacks and gateway node bypass attacks, and thus proposed an upgraded scheme. In 2015, Chang et al. [14] demonstrated that Kim et al.’s scheme [13] could not prevent an impersonation attack, lost smart card attack or man-in-the-middle attack, and it did not provide session key security. Chang et al. [14] then proposed an improved scheme. However, Park and Park [15] pointed out recently that Chang et al’s scheme [14] still had some weaknesses, such as off-line password guessing attack, perfect forward secrecy problem and incorrectness of password change, and proposed an enhanced new version.
In particular, various cryptography techniques were employed in their protocols in order to improve the security for WSNs. Lee [16] and Kumari et al. [17] apply a chaotic map technique in their authentication mechanism. In 2015, Cheng et al. [18] presented an RSA-based authentication method for WSNs. In addition, Yeh et al. [19] proposed an authentication protocol based on elliptic curves cryptography (ECC) for WSNs. However, Han [20] pointed out that Yeh et al.’s scheme [19] could not achieve perfect forward secrecy and fails to provide mutual authentication. To address these weaknesses, Shi and Gong [21] presented a new authentication mechanism for WSNs using an ECC technique. However, Choi et al. [22] demonstrated that Shi and Gong’s mechanism [21] could not satisfy security requirements because their scheme is unsafe against lost smart card attacks and does not provide session key security.

1.2. Motivations and Contributions

In 2015, Chang et al. [14] presented a two-factor user authenticated key agreement scheme for WSNs. They claimed that their scheme could resist an off-line password guessing attack and an impersonation attack, as well as provide session key security. However, we have discovered that Chang et al.’s scheme [14] comprises critical security weaknesses. Their scheme (i) still cannot guarantee protection against an off-line password guessing attack or user impersonation attack, (ii) fails to provide session key security, (iii) is faced with a scalability problem because the gateway nodes in their scheme always maintain verifier tables (iv) and cannot provide session key verification processes.
Our main contribution in this study is as follows. First, we concretely explain the weaknesses in Chang et al.’s scheme. Second, we propose a more developed authentication protocol for WSNs. Third, we show that the proposed mechanism satisfies various security requirements. Finally, we demonstrate that the proposed protocol has better performance than other related studies in terms of the computation cost and time consumption.

1.3. Preliminaries

In this subsection, we first introduce the biohash function [23], which is used in our proposed scheme. Then, we list the notations of Chang et al.’s scheme [14] and our proposed scheme in Table 1.

1.3.1. Biohash Function

The user’s biometric information is very sensitive data. Thus, when user identification is carried out using biometric data, a secure and sophisticated matching technique is required. In order to handle this concern, in 2004, Jin et al. [23] presented a fingerprint-based function to identify the user’s legitimacy. The biohash technique employs the particular tokenized pseudo-random numbers to each of the users measuring biometric feature arbitrarily onto two-fold strands. Figure 2 describes the user recognition mechanism employing the user’s biometric information and biohashing technique. When a device recognizes user’s biometric template T, it transforms T into the form of feature vector and then transmits to transform function H ( · ) . Transform function H ( · ) creates transformed template H ( T , K ) by inputting the transmitted template T and random key K. Furthermore, the device creates biohash code, H ( Q , K ) from the random key K and the stored value, which is a biometric query, in order to judge whether the user is registered or not, comparing to the new value, H ( T , K ) . The biohashing technique is also applied in our scheme, illustrated in Section 5. We use an input value B i o as a combination of the user’s biometric information and a random key for convenience, like other authentication schemes [24,25,26,27] using the biohashing technique.
The biohash function H ( · ) is a one-way function with a feature that can reduce the probability of the denial of service. That is to say, the identical biometric information creates the identical value of H ( B i o ) , and it is impossible to calculate an input value B i o from the result value of H ( B i o ) . Until now, many authentication studies have been conducted [24,25,26,27] based on the biohashing technique. Our proposed scheme also adopts the user’s biometric information applying a biohashing, and the details are given below in Section 5.

1.3.2. Scalability and Practicability in Terms of Authentication Using Biometric Information

The three-factor authentication protocol has been frequently employed in recent days, which complements the two-factor authentication protocol using the identity and password by adding biometric information. Basically, an authentication mechanism using biometric information requires a smart card terminal capable of recognizing a smart card and a device capable of recognizing the user’s biometric (fingerprint) information. To reduce this inconvenience, Baratelli [28] and Kozlay [29] devised a new smart card-based fingerprint identification technology by adding a fingerprint recognition device in the smart card, and Clancy [30] proposed a self-fingerprint authentication technique using a smart card. In other words, a new device that combines a smart card terminal and a fingerprint reader has already been developed. In fact, authentication research does not really mean the inconvenience of fingerprint terminal devices and assumes that devices that can recognize both smart cards and fingerprints are used. In addition, a number of research works with respect to three-factor authentication protocol already [24,25,26,27] have applied user’s biometric information.
First of all, the most important reason for using biometric information in the authentication mechanism is to increase the security of the protocol by preventing identity/password guessing attack. For this reason, our proposed scheme also uses the biometric information of the user, and it is confirmed that the proposed scheme is very safe. A detailed description of the protocol can be found in Section 4, and a security analysis can be found in Section 5.

1.3.3. Notations

The notations used in this paper are listed in Table 1.

1.4. Organization of the Paper

The remainder of this paper is structured as follows. In Section 2, we briefly explain Chang et al.’s authentication scheme. Section 3 demonstrates the vulnerabilities in Chang et al.’s scheme. A detailed explanation of our proposed scheme is provided in Section 4. In Section 5, we evaluate whether our proposed scheme can withstand various attacks. Further, we conduct a formal security proof using the random oracle model in Section 6. In Section 7, we analyze the performance of the proposed scheme, and in Section 8, we provide the conclusion to the paper.

2. Review of Chang et al.’s Scheme

In this section, we briefly review Chang et al.’s authenticated key agreement scheme [14] to then cryptanalyze their scheme. It is composed of four phases: registration, login, authentication and password change. In Chang et al.’s scheme [14], there are three communication parties, including a user U i , a gateway node G W N and a sensor node S j . We describe each phase in detail, and Table 1 shows the notations used in Chang et al.’s scheme.

2.1. Registration Phase

(1)
U i selects I D i and P W i , and U i then generates a random number R N r . U i computes H P W i = h ( P W i | | R N r ) and sends a registration request I D i , H P W i to G W N through a secure channel.
(2)
G W N computes H I D i = h ( I D i | | K ) , X S i = h ( H I D i | | K ) , A i = h ( H P W i | | X S i ) H I D i , B i = h ( H P W i X S i ) and C i = X S i h ( I D s | | H P W i ) and maintains ( T I D i , T I D i , H I D i ) in its database for U i , where T I D i = R N G and T I D i = . G W N chooses a smart card and writes { I D s , A i , B i , C i , T I D i , h ( · ) } into the smart card’s memory. Then, G W N sends the smart card to U i through a secure channel.
(3)
U i computes X P W i = h ( P W i ) R N r and stores X P W i in the smart card’s memory. Finally, the smart card contains the information { I D s , A i , B i , C i , T I D i , h ( · ) , X P W i } .

2.2. Login Phase

(1)
U i inserts U i ’s smart card into a terminal and inputs the I D i and P W i . The smart card computes R N r * = h ( P W i ) X P W i , H P W i * = h ( P W i | | R N r * ) , X S i * = C i h ( I D s | | H P W i * ) , B i * = h ( H P W i * X S i * ) and compares B i * with the stored value B i . If this condition is satisfied, the smart card acknowledges the legitimacy of U i and proceeds with the next step. Otherwise, it terminates this phase.
(2)
The smart card computes k i = h ( X S i * | | T 1 ) , D I D i = h ( H P W i * | | X S i * ) k i and M U i , G = h ( A i | | X S i * | | T 1 ) .
(3)
Finally, U i sends a login request D I D i , M U i , G , T 1 , T I D i to G W N through a public channel.

2.3. Authentication Phase

(1)
G W N first checks the validity of the time stamp | T 1 T 1 | < Δ T and retrieves H I D i from T I D i corresponding to T I D i in its database. If G W N cannot search the T I D i , G W N retrieves H I D i from T I D i . G W N , then computes X S i = h ( H I D i | | K ) , k i = h ( X S i | | T 1 ) , X * = D I D i k i , M U i , G * = h ( X * H I D i | | X S i | | T i ) and compares M U i , G * with the received value M U i , G . If this condition is satisfied, G W N acknowledges the legitimacy of the U i and proceeds with the next step. Otherwise, it terminates this phase.
(2)
G W N computes X S j = h ( S I D j | | K ) , M G , S j = h ( D I D i | | S I D j | | X S j | | T 2 ) , then sends the message D I D i , M G , S j , T 2 to S j through a public channel.
(3)
S j checks whether | T 2 T 2 | < Δ T . S j then computes M G , S j * = h ( D I D i | | S I D j | | X S j * | | T 2 ) and compares M G , S j * with the received value M G , S j . If this condition is satisfied, S j believes that the G W N is authentic. Otherwise, it terminates this phase.
(4)
S j computes k j = h ( X S j * | | T 3 ) , z i = M G , S j * k j , K S = f ( D I D i , k j ) , M S j , G = h ( z i | | X S j * | | T 3 ) and then sends the message M S j , G , T 3 to G W N through a public channel.
(5)
G W N checks whether | T 3 T 3 | < Δ T . G W N then computes k j = h ( X S j | | T 3 ) , z i * = M G , S j k j , M S j , G * = h ( z i * | | X S j | | T 3 ) and compares M S j , G * with the received value M S j , G . If true, G W N believes that the S j is authentic. Otherwise, G W N terminates this phase.
(6)
G W N computes M G , U i = h ( D I D i | | M U i , G * | | k j | | X S i | | T 4 ) , y i = k j h ( k i ) , T I D i _ n e w = h ( H I D i | | T 1 ) and updates ( T I D i , T I D i ) as ( T I D i _ n e w , T I D i ) in its database. G W N then sends the message y i , M G , U i , T 4 to U i through a public channel.
(7)
U i checks whether | T 4 T 4 | Δ T . U i then computes k j * = y i h ( k i ) , M G , U i * = h ( D I D i | | M U i , G | | k j * | | X S i | | T 4 ) and compares M G , U i * with the received value M G , U i . If the verification does not hold, this phase is terminated. Otherwise, U i believes that the G W N is authentic and computes the shared session key K S = f ( D I D i , k j * ) .
(8)
U i computes H I D i = A i h ( H P W i * | | X S i * ) and h ( H I D i | | T 1 ) . Lastly, U i updates T I D i as h ( H I D i | | T 1 ) and successfully ends the authentication phase.

2.4. Password Change Phase

(1)
U i inserts U i ’s smart card into a card reader and inputs I D i , the old password P W i and new password P W i n e w . The smart card computes R N r * = h ( P W i ) X P W i , H P W i * = h ( P W i | | R N r * ) , X S i * = C i h ( I D s | | H P W i * ) , B i * = h ( H P W i * X S i * ) and compares B i * with the stored value B i . If this condition is not satisfied, it terminates this phase. Otherwise, the smart card proceeds with the next step.
(2)
The smart card computes H P W i n e w = h ( P W i n e w | | R N r * ) , A i n e w = h ( H P W i n e w | | X S i ) H I D i , B i n e w = h ( H P W i n e w X S i ) C i n e w = X S i h ( I D s | | H P W i n e w ) and X P W i n e w = h ( P W i n e w ) R N r .
(3)
The smart card replaces the existing value ( A i , B i , C i , X P W i ) with the new values ( A i n e w , B i n e w , C i n e w , X P W i n e w ) .

3. Security Weaknesses of Chang et al.’s Scheme

In this section, we show that Chang et al.’s scheme [14] possesses a number of security vulnerabilities. The following vulnerabilities are based on the two assumptions that
  • An attacker can extract all parameters stored in the smart card by physically monitoring its power consumption [31].
  • An attacker can eavesdrop or reform any messages in the public channel [32,33].
Under these two assumptions, the following problems have been found, and their detailed descriptions are given below.

3.1. Off-Line Password Guessing Attack

This attack attempts to input a password until the correct password is discovered because many users have a tendency to employ simple, brief passwords for the sake of convenience. For this reason, the authentication mechanism for all passwords should be invented to guarantee protection against a guessing attack. However, Chang et al.’s scheme [14] has a weakness in this situation, and we therefore propose a scenario for an off-line password-guessing attack. The following is a detailed description:
Step 1.
An attacker extracts { I D s , A i , B i , C i , T I D i , h ( · ) , X P W i } from U i ’s stolen smart card by physically monitoring its power consumption [31].
Step 2.
The attacker collects a valid login request D I D i , M U i , G , T 1 , T I D i from the previous session [32,33].
Step 3.
The attacker selects a password candidate P W i * .
Step 4.
The attacker computes H P W i * = h ( P W i * | | h ( P W i * ) X P W i ) using the password candidate P W i * .
Step 5.
The attacker then computes:
X S i * = C i h ( I D s | | H P W i * ) = C i h ( I D s | | h ( P W i * | | h ( P W i * ) X P W i ) ) B i * = h ( H P W i * X S i * ) = h ( h ( P W i * | | h ( P W i * ) X P W i ) C i h ( I D s | | h ( P W i * | | h ( P W i * ) X P W i ) ) )
Step 6.
The attacker repeats the steps above from 3–5 until the computed result B i * equals the breached secret B i .
Step 7.
If they correspond with each other, P W i * would be an accurate password. If not, the attacker repeats the above steps until the correct password is found.
Therefore, we can realize that Chang et al.’s scheme [14] is vulnerable to the off-line password guessing attack.

3.2. User Impersonation Attack

The security of the password-based authentication mechanism relies on the complexity of the password. Thus, if an attacker obtains a password, the attacker can pretend to be a legal user. Unfortunately, Chang et al.’s scheme [14] allows an attacker to impersonate a legal user if the attacker obtains the user’s password P W i through a guessing attack. The following is a detailed description of this scenario:
Step 1.
An attacker extracts { I D s , A i , B i , C i , T I D i , h ( · ) , X P W i } from U i ’s stolen smart card [31].
Step 2.
The attacker collects a valid login request D I D i , M U i , G , T 1 , T I D i from the previous session.
Step 3.
The attacker obtains the user’s P W i through an off-line password guessing attack.
Step 4.
The smart card computes:
D I D i * = h ( H P W i | | X S i ) k i = h ( H P W i | | X S i ) h ( X S i | | T 1 ) , where X S i = C i h ( I D s | | h ( P W i | | h ( P W i ) X P W i ) ) M U i , G * = h ( A i | | X S i | | T 1 ) = h ( A i | | C i h ( I D s | | h ( P W i | | h ( P W i ) X P W i ) ) | | T 1 )
Step 5.
The attacker then sends a counterfeited login request D I D i * , M U i , G * , T 1 , T I D i to G W N through a public channel.
Step 6.
After receiving the D I D i * , M U i , G * , T 1 , T I D i , G W N computes X S i = h ( H I D i | | K ) , k i = h ( X S i | | T i ) , X = D I D i * k i and M U i , G = h ( X H I D i | | X S i | | T i ) .
Step 7.
G W N compares the computed value M U i , G with the received value M U i , G * . Finally, G W N successfully finishes the verification process because M U i , G * , which is computed by the attacker, is correctly equal to M U i , G , which is computed by the G W N .
Through the aforementioned descriptions, the attacker can successfully pass the checking process and be disguised as a legal user under Chang et al.’s scheme [14].

3.3. Session Key Compromise

In Chang et al.’s scheme [14], if an attacker knows U i ’s password P W i , the attacker can establish the session key K S = f ( D I D i , k j ) shared between U i and S j . First, the attacker can extract { I D s , A i , B i , C i , T I D i , h ( · ) , X P W i } from U i ’s stolen smart card. Second, the attacker can obtain D I D i and y i after eavesdropping on the messages D I D i , M U i , G , T 1 , T I D i and y i , M G , U i , T 4 . Then, the attacker can try to compute k j = y i h ( k i ) = y i h ( h ( C i h ( I D s | | h ( P W i | | h ( P W i ) X P W i ) ) | | T 1 ) ) using the acquired P W i , which has been previously compromised as in Section 3.1. With the combined { y i , C i , I D s , P W i , X P W i , T 1 } values, the attacker can successfully construct the K S = f ( D I D i , k j ) .

3.4. Scalability Problem

In order to provide convenience, Chang et al. [14] suggested that the G W N maintains a verifier table in the database to save the information, such as the user’s temporary identities ( T I D i , T I D i ) and H I D i = h ( I D i | | K ) value. Accordingly, the G W N should always need to retain each user’s verifier table. However, the increased amount of user information that needs to be retained places greater burden on the G W N since the number of verifier tables will increase as the number of users’ increases. Moreover, the use of the verifier table is inefficient in terms of the computation time since the changed values at each phase need to be updated in the verifier table.

3.5. Absence of a Session Key Verification Process

According to [34,35], the authenticated key agreement mechanism recommends a verification procedure to verify the coherence of the generated session keys between the communicating parties. In the authentication phase in Chang et al.’s scheme [14], U i generates his/her own session key K S after verifying the message y i , M G , U i , T 4 through M G , U i * = ? M G , U i . However, in this case, because of the M S j , G = h ( z i | | X S j * | | T 3 ) has no information about the session key generated by S j , and the U i can hardly be sure whether a new generated session key K S is precisely the same as the S j ’s session key or not. Therefore, the following procedures [34] are required to ensure an accurate session key distribution between a U i and a S j : (1) after generating a session key, S j sends a message, including information regarding the generated session key; (2) the U i should guarantee the accuracy of the session key from the S j , verifying the received message.

4. The Proposed Scheme

In this section, we suggest an improved version of the authenticated key agreement mechanism for the WSN in order to provide improved security by resolving Chang et al.’s [14] weaknesses. In the proposed scheme, to guarantee protection from the off-line password guessing attack, we employ biometrics information with the biohashing technique H ( · ) [23], as mentioned in Section 1.3. By preventing an off-line password guessing attack, our scheme can guarantee protection against an impersonation attack and against session key compromise. In addition, we remove the verifier table stored in G W N to increase efficiency. Our proposed scheme also consists of four phases: registration, login, authentication and password change. We describe each phase in detail, and Figure 3, Figure 4 and Figure 5 describe our scheme. The notation used in the proposed scheme is displayed in Table 1.

4.1. Registration Phase

The registration phase begins when the U i sends a request message for registration to G W N through a secure channel. The G W N then issues a smart card, including some information, and sends it to U i . Meanwhile, S j stores pre-defined values S I D j and X S j * in its memory, where X S j * = h ( S I D j | | K ) . The following describes this process in detail, and Figure 2 illustrates the registration phase for our proposed scheme.
(1)
U i selects I D i and P W i , and U i then imprints his/her biometrics B i o i . U i computes H P W i = h ( P W i | | H ( B i o i ) ) , generates a random number u and computes T I D i = h ( I D i | | u ) . U i sends a registration request T I D i , H P W i to G W N through a secure channel.
(2)
G W N computes H I D i = h ( T I D i | | K ) H P W i , A i = h ( H P W i | | T I D i ) H I D i , B i = h ( H P W i | | H I D i ) and C i = H I D i K . G W N chooses a smart card and writes { A i , B i , C i , h ( · ) , H ( · ) } into the smart card’s memory. Then, G W N sends the smart card to U i through a secure channel.
(3)
Upon receiving the smart card, U i computes D i = u H ( B i o i ) and stores it in the smart card. Finally, the smart card contains the information { A i , B i , C i , D i , h ( · ) , H ( · ) } .

4.2. Login Phase

The login phase is executed whenever the U i wants to gain access to WSN using his/her I D i , P W i and smart card. In this phase, U i sends the login request to G W N . Figure 3 illustrates the login and authentication phase for our proposed scheme. The following describes this process in detail.
(1)
U i inserts U i ’s smart card into a terminal and inputs the I D i , P W i and imprints biometric B i o i . The smart card computes H P W i * = h ( P W i | | H ( B i o i ) ) , u = D i H ( B i o i ) , T I D i = h ( I D i | | u ) , H I D i * = A i h ( H P W i * | | T I D i ) , B i * = h ( H P W i * | | H I D i * ) and compares B i * with the stored value B i . If this condition is satisfied, the smart card acknowledges the legitimacy of the U i and proceeds to the next step. Otherwise, it terminates this phase.
(2)
The smart card computes D I D i = T I D i H I D i * and M U i , G = h ( T I D i | | H P W i * | | H I D i * | | T 1 ) .
(3)
Finally, U i sends a login request D I D i , M U i , G , C i , T 1 to G W N through a public channel.

4.3. Authentication Phase

The authentication phase begins when G W N receives the login request from the U i . This phase performs several steps to achieve mutual authentication, as well as a session key agreement between U i , G W N and S j involved within the WSN. The following describes this process in detail.
(1)
G W N first checks the validity of the time stamp | T 1 T 1 | < Δ T and computes T I D i * = D I D i C i K , H I D i = C i K and H P W i * = H I D i h ( T I D i * | | K ) . G W N further computes M U i , G * = h ( T I D i * | | H P W i * | | H I D i | | T 1 ) and compares it with the received value M U i , G . If this condition is satisfied, G W N acknowledges the legitimacy of the U i and proceeds with the next step. Otherwise, it terminates this phase.
(2)
G W N generates a random number R and computes X S j = h ( S I D j | | K ) , M j = R X S j , K S = f ( D I D i , R ) and M G , S j = h ( D I D i | | S I D j | | X S j | | K S | | T 2 ) . G W N then sends the message D I D i , M G , S j , M j , T 2 to S j through a public channel.
(3)
S j checks whether | T 2 T 2 | < Δ T and computes R * = M j X S j * and K S * = f ( D I D i , R * ) . S j further computes M G , S j * = h ( D I D i | | S I D j | | X S j * | | K S * | | T 2 ) and compares it with the received value M G , S j . If this condition is satisfied, S j believes that the G W N is authentic. Otherwise, it terminates this phase.
(4)
S j computes k j = h ( X S j * | | T 3 ) and M S j , G = h ( k j | | X S j * | | K S * | | T 3 ) . S j then sends the message M S j , G , T 3 to G W N through a public channel.
(5)
G W N checks whether | T 3 T 3 | < Δ T . G W N computes k j = h ( X S j | | T 3 ) , M S j , G * = h ( k j | | X S j | | K S | | T 3 ) and compares M S j , G * with the received value M S j , G . If true, G W N believes that the S j is authentic. Otherwise, G W N terminates this phase.
(6)
G W N computes k i = R h ( T I D i * | | K ) and M G , U i = h ( K S | | k i | | T 4 ) . G W N then sends the message k i , M G , U i , T 4 to U i through a public channel.
(7)
U i checks whether | T 4 T 4 | Δ T and computes R * = k i H P W i H I D i * and K S * = f ( D I D i , R * ) . U i further computes M G , U i * = h ( K S * | | k i | | T 4 ) and compares it with the received value M G , U i . If this condition is not satisfied, this phase is terminated. Otherwise, U i believes that the G W N is authentic and successfully ends the authentication phase

4.4. Password Change Phase

The password change phase begins when the U i intends to change the original password P W i to a new password P W i n e w . Figure 4 illustrates the password change phase for our proposed scheme. The following describes this process in detail.
(1)
U i inserts U i ’s smart card into a terminal, inputs I D i , P W i , P W i n e w and then imprints biometric B i o i . The smart card computes H P W i * = h ( P W i | | H ( B i o i ) ) , u = D i H ( B i o i ) , T I D i = h ( I D i | | u ) , H I D i * = A i h ( H P W i * | | T I D i ) , B i * = h ( H P W i * | | H I D i * ) and compares B i * with the stored value B i . If this condition is not satisfied, it terminates this phase. Otherwise, the smart card proceeds with the next step.
(2)
The smart card computes H P W i n e w = h ( P W i n e w | | H ( B i o i ) ) , A i n e w = h ( H P W i n e w | | T I D i ) H I D i and B i n e w = h ( H P W i n e w | | H I D i ) .
(3)
The smart card replaces the existing values A i and B i with the new values A i n e w and B i n e w , respectively. Finally, the smart card contains the information { A i n e w , B i n e w , C i , D i , h ( · ) , H ( · ) } .

5. Security Analysis and Proof of the Proposed Scheme

In this section, we first describe whether the proposed scheme can withstand various attacks and also satisfy the basic requirements. Moreover, we adopt Burrows–Abadi–Needham (BAN) logic [36] to prove that a session key can be correctly generated between U i and S j . The results are described as follows.

5.1. Informal Security Analysis of the Proposed Scheme

In this subsection, our proposed scheme is examined against various attacks and is evaluated according to the suitability of the basic requirements [5,6,7,8,9,10,11,12,13]. We also conduct a comparative analysis [10,12,13,14,15], which is illustrated in Table 2.
• The proposed scheme preserves user anonymity:
User anonymity is a valuable property for the user authentication protocol because the exposure of a user’s identity can allow an unauthorized party to track the user’s login pattern. Suppose that the attacker has intercepted U i ’s login request D I D i , M U i , G , C i , T 1 and extracted information { A i , B i , C i , D i , h ( · ) , H ( · ) } in a stolen smart card [31]. The attacker may then try to compute I D i through h ( I D i | | u ) = D I D i H I D i . However, it is impossible to know H I D i since H I D i consists of ( C i K ) and the secret key K is only known to G W N . In addition, u includes H ( B i o i ) information that is only known to U i . Therefore, the attacker cannot acquire the user’s I D i .
• The proposed scheme achieves mutual authentication:
In the authentication phase of our scheme, U i , G W N and S j authenticate each other through some checking processes. In detail, G W N first verifies the login request D I D i , M U i , G , C i , T 1 by checking whether M U i , G * = M U i , G . S j also verifies the message D I D i , M G , S j , M j , T 2 by checking whether M G , S j * = M G , S j . In addition, G W N and U i verify the messages M S j , G , T 3 and k i , M G , U i , T 4 by checking M S j , G * = ? M S j , G and M G , U i * = ? M G , U i , respectively. Thus, all transmitted messages in our scheme are successfully verified, and our scheme can achieve mutual authentication.
• The proposed scheme withstands stolen smart card attacks:
In our scheme, even if an attacker extracts secret values { A i , B i , C i , D i , h ( · ) , H ( · ) } stored in a stolen smart card through the power consumption technique [31], the attack cannot lead to other malicious attacks. In order to obtain the I D i , the attack has to know the secret key K and H ( B i o i ) . However, it is impossible to know the K and H ( B i o i ) . Therefore, if the attacker does not know the user’s I D i , the attacker cannot impersonate a legitimate user. Thus, our proposed scheme can withstand a stolen smart card attack.
• The proposed scheme withstands replay attacks:
In our scheme, all transmitted messages include current time stamp values, such as T 1 , T 2 , T 3 or T 4 . Therefore, even if an attacker intercepts the login request message and tries to login G W N , the attacker cannot pass the time stamp checking process during the authentication phase. Thus, our proposed scheme can withstand a replay attack.
• The proposed scheme withstands off-line password guessing attacks:
An off-line password guessing attack occurs when an attacker attempts to guess a password and eventually finds the exact user’s password in an off-line environment. This comes from the tendency that many users create simple and brief passwords for their personal convenience, which makes the attacker easily acquire the users’ password by guessing the off-line password without a time limit [37]. For these reasons, the authentication schemes for all password-based users should be designed to prevent a guessing attack.
In our scheme, the attacker can obtain { A i , B i , C i , D i , h ( · ) , H ( · ) } from the stolen smart card [31] and can intercept the login request D I D i , M U i , G , C i , T 1 . Using these values, the attacker may try to guess the correct identity I D i and password P W i through B i = h ( h ( P W i | | H ( B i o i ) ) | | A i h ( h ( P W i | | H ( B i o i ) | | T I D i ) ) or D I D i A i = T I D i h ( h ( P W i | | H ( B i o i ) | | T I D i ) . However, without knowing B i o i , the attacker cannot guess P W i . In addition, H ( B i o i ) is hashed biometric information, which is only known by U i . Therefore, our proposed scheme is secure against off-line password guessing attacks.
• The proposed scheme withstands user impersonation attacks:
In order to impersonate a legitimate U i , the attacker should modify the login request D I D i , M U i , G , C i , T 1 after obtaining the value of I D i . However, as we mentioned above, it is impossible for an attacker to obtain the value of I D i . Thus, the attacker fails to compute D I D i = T I D i H I D i and cannot generate a sufficient login request to cheat G W N . Therefore, our proposed scheme can withstand a user impersonation attack.
• The proposed scheme withstands sensor node impersonation attacks with node capture:
Suppose that the attacker captures the sensor node S j and extracts information ( S I D j , X S j * ) [13]. The attacker then tries to modify the message M S j , G , T 3 to impersonate a legitimate S j . However, the attacker cannot generate a valid message because X S j * consists of h ( S I D j | | K ) , and it is not feasible to obtain the K. Therefore, the attacker cannot impersonate a valid sensor node.
• The proposed scheme provides password verification process:
There is a possibility that a user inputs an incorrect password by mistake. However, for the password verification procedure, the incorrect password will be detected after performing the authentication phase. Our scheme considers this kind of inefficiency situation, verifying the correctness of password P W i by checking the value B i at the beginning of the login phase.
• The proposed scheme provides the session key verification process:
In our scheme, after generating a session key K S * = f ( D I D i , R * ) , S j computes M S j , G = h ( k j | | X S j * | | K S * | | T 3 ) and sends the message M S j , G , T 3 to G W N . G W N then computes k i = R h ( T I D i * | | K ) and M G , U i = h ( K S | | k i | | T 4 ) , and sends the message k i , M G , U i , T 4 to U i . After receiving the message, U i computes R * = k i H P W i H I D i * , K S * = f ( D I D i , R * ) and M G , U i * = h ( K S * | | k i | | T 4 ) and then compares M G , U i * with the received value M G , U i . Since M G , U i includes the information of the session key K S , U i may be sure that the K S generated by S j and G W N is accurate if the comparison result M G , U i * = M G , U i is correct. Therefore, our scheme provides a session key verification process.
• The proposed scheme withstands privileged-insider attacks:
An insider attack means that an insider can directly obtain the user’s password from the server and can then access the user’s account in another server by using the same password. During the registration phase of our scheme, P W i is transmitted not as a revealed condition, but as a form of H P W i = h ( P W i | | H ( B i o i ) ) when U i sends a registration request T I D i , H P W i to G W N . Accordingly, the insider attacker in G W N cannot identify the U i ’s P W i . Thus, our scheme can withstand an insider attack.
• The proposed scheme provides session key security:
In our scheme, in order to compromise the session key K S = f ( D I D i , R ) , the attacker should know the random number R. Therefore, the attacker may try to obtain R through R = M j h ( S I D j | | K ) . However, it is impossible for an attacker to compute R because the attacker cannot obtain K, which is only known to G W N . Thus, our authentication scheme ensures session key security.
• The proposed scheme provides an efficient password change phase:
In general, when a password change occurs, it is encouraged for the verification process to be carried out without any assistance from the G W N to ensure user friendliness and efficiency [24]. Our proposed scheme performs existing password checks in the self-verification process within the smart card. After checking the process through B i * = B i , the computed values ( A i n e w , B i n e w ) from the new password P W i n e w will be switched with the existed values ( A i , B i ) in a convenient and efficient way.
• The proposed scheme withstands gateway node bypass attacks:
During the authentication phase of our scheme, the attacker may try to construct the message D I D i , M G , S j , M j , T 2 using the parameters { A i , B i , C i , D i , h ( · ) , H ( · ) } stored in the stolen smart card [31] in order to impersonate a legitimate G W N . However, the attacker cannot compute X S j = h ( S I D j | | K ) because K is not public information. Thus, the attacker cannot construct a sufficient message to cheat S j . Eventually, the attacker cannot impersonate a valid G W N .
• The proposed scheme withstands off-line identity guessing attacks:
Suppose that the attacker extracts all of the secret information { A i , B i , C i , D i , h ( · ) , H ( · ) } from the smart card and intercepts U i ’s login request D I D i , M U i , G , C i , T 1 . Using these values, the attacker may try to guess the correct identity I D i through T I D i = h ( I D i | | u ) , H I D i = D I D i T I D i , K = C i H I D , H P W i = H I D i h ( T I D i | | K ) and B i = h ( D I D i T I D i h ( T I D i | | K ) | | D I D i T I D i ) . However, in order to successfully guess the I D i , the attacker should know the random number u. Even though the attacker knows the D i , the attacker fails to compute u = D i H ( B i o i ) because H ( B i o i ) is not public information. Therefore, our proposed scheme can withstand an off-line identity guessing attack.

5.2. Authentication Proof Using BAN Logic

In this subsection, we use BAN logic to verify the legitimacy of the session keys distributed to participants who communicate in the proposed scheme. BAN logic [36] is applied as a well-known formal logic to analyze the security of cryptographic protocols. The basic notation for BAN logic is as follows.
  • U C : U sees condition C.
  • U C : Condition C is believed by U
  • ( C ) : It makes a fresh C.
  • U C : U expresses the condition C.
  • U K S : U and S share a secret key K.
  • U C : Condition C is handled by U.
  • ( C ) K : Perform the hash operation on C using K.
BAN logic also offers five logic rules as follows.
  • Rule 1. Message-meaning rule: U U K S , U < C > K U S C : if U trusts that the key K is shared with S, U sees the C combined with K, then U trusts S once said C.
  • Rule 2. Nonce-verification rule: U # ( C ) , U S C U S C : if U trusts that C’s freshness and U trusts S once said C, then U trusts that S trusts C.
  • Rule 3. Believe rule: U C , U M A ( C , M ) : if U trusts C and M, ( C , M ) are also trusted by U.
  • Rule 4. Freshness-conjuncatenation rule: U # ( C ) A # ( C , M ) : if freshness of C is trusted by U, then U can trust the freshness of full condition.
  • Rule 5. Jurisdiction rule: U S C , U S C U C : if U trusts that S has jurisdiction over C, and U trusts that S trusts a condition C, then U also trusts C.
Through our analysis, we will intend to satisfy the following four goals.
  • Goal 1: U i ( U i K S S j )
  • Goal 2: S j ( U i K S S j )
  • Goal 3: U i S j ( U i K S S j )
  • Goal 4: S j U i ( U i K S S j )
Next, all transmitted messages can be transmuted into an idealized form as follows.
  • Message 1: U i G W N : ( I D i , H P W i , K , T 1 ) H I D i
  • Message 2: G W N S j : ( I D i , S I D j , R , T 2 ) X S j
  • Message 3: S j G W N : ( I D i , R , T 3 ) X S j
  • Message 4: G W N U i : ( I D i , K , R , T 4 ) H I D i
In order to analyze our authentication mechanism, we define some assumptions as follows.
  • A1: G W N ( T 1 )
  • A2: S j ( T 2 )
  • A3: G W N ( T 3 )
  • A4: U i ( T 4 )
  • A5: G W N ( G W N X S j S j )
  • A6: S j ( G W N X S j S j )
  • A7: U i ( U i H I D i G W N )
  • A8: G W N ( U i H I D i G W N )
  • A9: U i S j ( U i K S S j )
  • A10: S j U i ( U i K S S j )
Now, we describe our main proof as follows. In order to describe our proof, we use predefined information, including five logic rules, four messages and ten assumptions.
  • According to the Message 1, we could derive the following:
    V1: G W N ( I D i , H P W i , K , T 1 ) H I D i
  • Based on Assumption A8 and Rule 1, we derive:
    V2: G W N U i ( I D i , H P W i , K , T 1 ) H I D i
  • Based on Assumption A1 and Rule 4, we derive:
    V3: G W N ( I D i , H P W i , K , T 1 ) H I D i
  • Based on V2, V3 and Rule 2, we derive:
    V4: G W N U i ( I D i , H P W i , K , T 1 ) H I D i
  • According to Message 2, we derive:
    V5: S j ( I D i , S I D j , R , T 2 ) X S j
  • Based on Assumption A6 and Rule 1, we derive:
    V6: S j G W N ( I D i , S I D j , R , T 2 ) X S j
  • Based on Assumption A2 and Rule 4, we derive:
    V7: S j ( I D i , S I D j , R , T 2 ) X S j
  • Based on V6, V7 and Rule 2, we derive:
    V8: S j G W N ( I D i , S I D j , R , T 2 ) X S j
  • According to Message 3, we derive:
    V9: G W N ( I D i , R , T 3 ) X S j
  • Based on Assumption A5 and Rule 1, we derive:
    V10: G W N S j ( I D i , R , T 3 ) X S j
  • Based on Assumption A3 and Rule 4, we derive:
    V11: G W N ( I D i , R , T 3 ) X S j
  • Based on V10, S11 and Rule 2, we derive:
    V12: G W N S j ( I D i , R , T 3 ) X S j
  • According to Message 4, we derive:
    V13: U i ( I D i , K , R , T 4 ) H I D i
  • Based on Assumption A7 and Rule 1, we derive:
    V14: U i G W N ( I D i , K , R , T 4 ) H I D i
  • Based on Assumption A4 and Rule 4, we derive:
    V15: U i ( I D i , K , R , T 4 ) H I D i
  • Based on V14, V15 and Rule 2, we derive:
    V16: U i G W N ( I D i , K , R , T 4 ) H I D i
  • Based on V12, V16 and the session key K S = f ( D I D i , R ) , we derive:
    V17: U i S j ( U i K S S j ) (Goal 3)
  • Based on V4, V8 and the session key K S = f ( D I D i , k i H P W i H I D i ) , we derive:
    V18: S j U i ( U i K S S j ) (Goal 4)
  • Based on Assumption A9, V17 and Rule 5, we derive:
    V19: U i ( U i K S S j ) (Goal 1)
  • Based on assumption A10, V18 and Rule 5, we derive:
    V20: S j ( U i K S S j ) (Goal 2)
The above description clearly shows that U i , G W N and S j achieve the mutual authentication property. In addition, based on Goal 1, Goal 2, Goal 3 and Goal 4, we can assure that the session key K S is securely shared between them.

6. Formal Security Proof of the Proposed Scheme

In this section, we have demonstrated that the proposed scheme is secure through a formal proof using the random oracle model. First, we specify a cryptographic one-way hash function as follows.
Definition 1.
A hash function f : { 0 , 1 } * { 0 , 1 } n is a one-direction function [38,39] that takes the input x { 0 , 1 } * of arbitrary length and outputs a bit string with a fixed-length f ( x ) { 0 , 1 } n , which is referred to as the “message digest” or “hash value”. When using cryptographic hash functions, the following three common levels of security must be considered:
  • It is impossible to acquire the input x under the conditions of the hash value y = h ( x ) and the given hash function h ( · ) .
  • It is impossible to acquire another input x , when given the input x and f ( x ) = f ( x ) .
  • It is impossible to acquire the inputs ( x , x ) , where x x , when given f ( x ) = f ( x ) .
Reveal: Given the hash result y = h ( x ) , this random oracle will unconditionally output the input x.
Theorem 1.
A one-way hash function h ( · ) is assumed to operate like an oracle. Under this assumption, our proposed mechanism is provably secure against an attacker A to protect U i ’s personal information, such as identity I D i , password P W i , biometrics B i o i and the G W N ’s secret key K.
Proof. 
A similar method as that used in [26] is applied in our authentication mechanism to formally verify the security. For the proof, we assume that an attacker A is able to derive U i ’s identity I D i , password P W i , biometrics B i o i and the G W N ’s secret key K. For this, A runs the experimental algorithm that is shown in Algorithm 1, E X P 1 H A S H , A A U A K A S for our anonymous user authentication with key agreement scheme (AUAKAS). We define the success probability for E X P 1 H A S H , A A U A K A S as S u c c e s s 1 H A S H , A A B U A K A S = | P r [ E X P 1 H A S H , A A B U A K A S = 1 ] 1 | , where P r ( · ) means the probability of E X P 1 H A S H , A A U A K A S . The advantage function for this experiment becomes A d v H A S H , A A B U A K A S ( t , q R ) = m a x A { S u c c e s s 1 H A S H , A A B U A K A S } in which the maximum is determined by three factors: all of A , the execution time t and the number of queries q R derived from the Reveal oracle. If attacker A is assumed to be able to resolve the hash function problem, A could directly obtain U i ’s identity I D i , password P W i , biometrics B i o i and the G W N ’s secret key K. Refer to the attack experiment described in Algorithm 1. In this case, A will discover the complete connections between U i and G W N . However, it is computationally infeasible to invert a one-way hash function h ( · ) , i.e., A d v H A S H , A A U A K A S ( t ) ϵ , ϵ > 0 . Then, we have A d v H A S H , A A U A K A S ( t , q R ) ϵ , since A d v H A S H , A A U A K A S ( t , q R ) depends on A d v H A S H , A A U A K A S ( t ) . Therefore, our proposed scheme is provably secure against the attacker A for deriving I D i , P W i , B i o i and K. ☐
Algorithm 1: Algorithm E X P 1 H A S H , A A U A K A S .
 1. Eavesdrop login request message D I D i , M U i , G , C i , T 1 during the login phase.
 2. Call the Reveal oracle. Let ( T I D i , H P W i , H I D i , T 1 ) R e v e a l ( M U i , G )
 3. Call the Reveal oracle. Let ( I D i , u ) R e v e a l ( T I D i )
 4. Computes D I D i = h ( I D i | | u ) H I D i
 5. if ( D I D i = D I D i ) then
 6.    Accepts I D i as the correct I D i of user U i
 7.    Call the Reveal oracle. Let ( P W i , B i o i ) R e v e a l ( H P W i )
 8.    Computes M U i , G = h ( T I D i | | h ( P W i | | B i o i ) | | H I D i | | T 1 )
 9.    if ( M U i , G = M U i , G ) then
 10.       Accepts B i o i and P W i as the correct B i o i and P W i of user U i
 11.       Call the Reveal oracle. Let ( H I D i , K ) R e v e a l ( C i )
 12.       if ( H I D i = H I D i ) then
 13.          Accept K as the correct secret key K of gateway node G W N
 14.          return 1 (Success)
 15.       else
 16.          return 0
 17.       end if
 18.    else
 19.       return 0
 20.    end if
 21. else
 22.    return 0
 23. end if
Theorem 2.
The one-way hash function h ( · ) is assumed to perform as an oracle, and the smart card for U i is stolen by an adversary A . Under these assumptions, our proposed mechanism is secure against an adversary A to derive the password P W i of a user U i .
Proof. 
We assume that an attacker A is able to derive the U i ’s password P W i after extracting the parameters { A i , B i , C i , h ( · ) , H ( · ) } stored in the smart card by physically monitoring its power consumption [31]. A then runs the experimental algorithm E X P 2 H A S H , A A U A K A S that is shown in Algorithm 2. We define the success probability for E X P 2 H A S H , A A U A K A S as S u c c e s s 2 H A S H , A A B U A K A S = | P r [ E X P 2 H A S H , A A B U A K A S = 1 ] 1 | , where P r ( · ) means the probability of E X P 2 H A S H , A A U A K A S . The advantage function for this experiment becomes A d v 2 H A S H , A A B U A K A S ( t 2 , q R ) = m a x A { S u c c e s s 2 H A S H , A A B U A K A S } in which the maximum is determined by three factors: all of A , the execution time t 2 and the number of queries q R derived from the Reveal oracle. If A d v 2 H A S H , A A U A K A S ( t 2 ) ϵ , ϵ > 0 , our scheme is provably secure against the attacker A to derive P W i . According to the attack experiment described in Algorithm 2, A could obtain U i ’s password P W i if A is able to resolve the hash function problem. However, as shown in Definition 1, it is computationally infeasible to invert a one-way hash function h ( · ) . Then, we have A d v 2 H A S H , A A U A K A S ( t 2 , q R ) ϵ , since A d v 2 H A S H , A A U A K A S ( t 2 , q R ) depends on A d v 2 H A S H , A A U A K A S ( t 2 ) . As a result, the proposed scheme is provably secure against attacker A to derive P W i even if the smart card is stolen by A . ☐
Algorithm 2: Algorithm E X P 2 H A S H , A A U A K A S .
 1. Extract the information { A i , B i , C i , D i , h ( · ) , H ( · ) } stored in the smart card
      through physically monitoring its power consumption [31].
 2. Call the Reveal oracle. Let ( H P W i , T I D i , H I D i ) R e v e a l ( A i )
 3. Call the Reveal oracle. Let ( P W i , B i o i ) R e v e a l ( H P W i )
 4. Computes H I D i = A i h ( h ( P W i | | B i o i ) | | T I D i )
 5. Computes B i = h ( H P W i | | H I D i ) = h ( h ( P W i | | B i o i ) | | A i h ( h ( P W i | | B i o i ) | | T I D i ) )
 6. if ( B i = B i ) then
 7.    Accepts P W i as the correct P W i of user U i
 8.    return 1 (Success)
 9. else
 10.    return 0
 11. end if

7. Performance Analysis of the Proposed Scheme

In this section, we performed a comparison of the computational costs and execution time for the proposed scheme relative to other, related schemes [10,12,13,14,15]. In general, the computational cost is examined based on the respective operations in the authentication protocol. Accordingly, this analysis of the computational cost concentrates on the operations that are conducted by the participant, such as U i , G W N and S j . To evaluate the computational costs, we define the following computational parameters.
  • T H : the time to execute a one-way hash/pseudo-random function/biohash function.
  • T X : the time to execute a XOR operation.
  • T E : the time to execute a ECC multiplication.
  • T F : the time to execute a fuzzy extractor.
Table 3 provides a summary of the comparison of the computational overhead of the related schemes [10,12,13,14,15]. The results show that Khan and Alghathbar’s scheme [10], Vaidya et al.’s scheme [12], Kim et al.’s scheme [13], Change et al.’s scheme [14], Park and Park’s scheme [15] and the proposed scheme require total computational overheads of 16 T H + 6 T X , 30 T H + 24 T X , 37 T H + 30 T X , 37 T H + 21 T X , 39 T H + 19 T X + 3 T F + 4 T E and 34 T H + 15 T X , respectively.
Based on the total cost results in Table 3, we have performed an experiment on the execution time to obtain an objective comparison between our scheme and other related schemes [10,12,13,14,15]. The following methods are generally used to measure the execution time for the authentication protocol: (i) determine computational overhead; (ii) measure the execution time of the cryptographic operations used in the protocol; and (iii) substitute the measured time obtained by (ii) into (i). We have measured the execution times using these measurement methods, and the results are shown in the execution time field of Table 3.
The results of the simulation in Li et al.’s and Wazid et al.’s research [40,41] show that the actual execution time for the cryptographic one-way hash function T H and ECC multiplication T E is 0.0005 s and 0.063 s, respectively. In addition, according to [41], the execution time of the fuzzy extractor operation T F is almost the same as the ECC multiplication operation T E . Thus, we assumed that the time consumption of these two operations is the same. On the other hand, XOR operation T X is not considered in our measurement because the execution time of the XOR operation T X is extremely short. Based on the T H 0.0005 , T E 0.063 , T F 0.063 and the total computation cost, we finally analyze the execution time. As shown in Table 3, we observed that the execution time of our proposed scheme is of only 0.017 s ( 34 T H ≈ 34 × 0.0005 s), so it can be considered as a negligible significance. In contrast, the execution times of Kim et al.’s scheme [13], Chang et al.’s scheme [14] and Park and Park’s scheme [15] are 0.0185 s ( 37 T H ≈ 37 × 0.0005 s), 0.0185 s ( 37 T H ≈ 37 × 0.0005 s) and 0.4605 s ( 39 T H + 3 T F + 4 T E ≈ 39 × 0.0005 s + 7 × 0.063 s), respectively. Therefore, our scheme turned out to have a slightly better efficiency than these schemes [13,14,15]. Even if our scheme requires slightly more computation time than Khan and Alghathbar’s scheme [10] and Vaidya et al.’s scheme [12], this is acceptable because our scheme has more effective security features and a higher security level, as shown in Table 2.

8. Conclusions

In this paper, we have demonstrated that Chang et al.’s scheme has a number of critical weaknesses, and we propose an authentication mechanism with enhanced security to overcome these weaknesses. Our proposed scheme has been thoroughly verified in terms of its variety of security features, and the proof result demonstrates that our scheme can guarantee protection against various types of attacks, even if the smart card is stolen by an attacker. In addition, a performance comparison for the proposed scheme in relation to the schemes proposed in other studies was carried out, and we consider that our proposed scheme has sufficient efficiency for WSNs.

Acknowledgments

This work was supported by Institute for Information and Communications Technology Promotion (IITP) grant funded by the Korea government (MSIP) (No. R0126-15-1111, The Development of Risk-based Authentication·Access Control Platform and Compliance Technique for Cloud Security).

Author Contributions

J.J., J.M. and D.L. conceived of and designed the experiments. J.J. performed the experiments. J.J. and Y.M. analyzed the data. J.J. and D.W. wrote the paper.

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] [CrossRef]
  2. Chong, C.Y.; Kumar, S.P. Sensor networks: Evolution, opportunities, and challenges. Proc. IEEE 2003, 91, 1247–1256. [Google Scholar] [CrossRef]
  3. Choi, Y.; Nam, J.; Lee, D.; Kim, J.; Jung, J.; Won, D. Security Enhanced Anonymous Multi-Server Authenticated Key Agreement Scheme Using Smart Cards and Biometrics. Sci. World. J. 2014, 2014, 281305. [Google Scholar] [CrossRef] [PubMed]
  4. Nam, J.; Kim, M.; Paik, J.; Lee, Y.; Won, D. A provably-secure ECC-based authentication scheme for wireless sensor networks. Sensors 2014, 14, 21023–21044. [Google Scholar] [CrossRef] [PubMed]
  5. Claycomb, W.R.; Shin, D. A novel node level security policy framework for wireless sensor networks. J. Netw. Comput. Appl. 2011, 34, 418–428. [Google Scholar] [CrossRef]
  6. Watro, R.; Kong, D.; Cuti, S.F.; Gardiner, C.; Lynn, C.; Kruus, P. TinyPK: Securing sensor networks with public key technology. In Proceedings of the 2nd ACM Workshop on Security of Ad Hoc and Sensor Networks, Washington, DC, USA, 25 October 2004; pp. 59–64.
  7. Hwang, M.S.; Li, L.H. A new remote user authentication scheme using smart cards. IEEE Trans. Consum. Electron. 2000, 46, 28–30. [Google Scholar] [CrossRef]
  8. Wong, K.H.; Zheng, Y.; Cao, J.; Wang, S. A dynamic user authentication scheme for wireless sensor networks. In Proceedings of the IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing, Taichung, Taiwan, 5–7 June 2006; Volume 1, pp. 1–9.
  9. Das, M.L. Two-factor user authentication scheme in wireless sensor networks. IEEE Trans. Wirel. Commun. 2009, 8, 1086–1090. [Google Scholar] [CrossRef]
  10. Khan, M.K.; Alghathbar, K. Cryptanalysis and security improvements of two-factor user authentication in wireless sensor networks. Sensors 2010, 10, 2450–2459. [Google Scholar] [CrossRef] [PubMed]
  11. Chen, T.H.; Shih, W.K. A Robust Mutual Authentication Protocol for Wireless Sensor Networks. ETRI J. 2010, 32, 704–712. [Google Scholar] [CrossRef]
  12. Vaidya, B.; Makrakis, D.; Mouftah, H. Two-factor mutual authentication with key agreement in wireless sensor networks. Secur. Commun. Netw. 2012, 9, 171–183. [Google Scholar] [CrossRef]
  13. Kim, J.; Lee, D.; Jeon, W.; Lee, Y.; Won, D. Security Analysis and Improvements of Two-Factor Mutual Authentication with Key Agreement in Wireless Sensor Networks. Sensors 2014, 14, 6443–6462. [Google Scholar] [CrossRef] [PubMed]
  14. Chang, I.P.; Lee, T.F.; Lin, T.H.; Liu, C.M. Enhanced Two-Factor Authentication and Key Agreement Using Dynamic Identities in Wireless Sensor Networks. Sensors 2015, 15, 29841–29854. [Google Scholar] [CrossRef] [PubMed]
  15. Park, Y.; Park, Y. Three-Factor User Authentication and Key Agreement Using Elliptic Curve Cryptosystem in Wireless Sensor Networks. Sensors 2016, 16, 2123. [Google Scholar] [CrossRef] [PubMed]
  16. Lee, T.F. Efficient and Secure Temporal Credential-Based Authenticated Key Agreement Using Extended Chaotic Maps for Wireless Sensor Networks. Sensors 2015, 15, 14960–14980. [Google Scholar] [CrossRef] [PubMed]
  17. Kumari, S.; Li, X.; Wu, F.; Das, A.K.; Arshad, H.; Khan, M.K. A user friendly mutual authentication and key agreement scheme for wireless sensor networks using chaotic maps. Future Gen. Comput. Syst. 2016, 63, 56–75. [Google Scholar] [CrossRef]
  18. Cheng, C.Y.; Lin, I.C.; Huang, S.Y. An RSA-like scheme for multiuser broadcast authentication in wireless sensor networks. Int. J. Distrib. Sens. Netw. 2015, 2015, 200. [Google Scholar] [CrossRef]
  19. Yeh, H.L.; Chen, T.H.; Liu, P.C.; Kim, T.H.; Wei, H.W. A secured authentication protocol for wireless sensor networks using elliptic curves cryptography. Sensors 2011, 11, 4767–4779. [Google Scholar] [CrossRef] [PubMed]
  20. Han, W. Weakness of a Secured Authentication Protocol for Wireless Sensor Networks Using Elliptic Curves Cryptography. Available online: http://eprint.iacr.org/2011/293 (accessed on 27 June 2011).
  21. Shi, W.; Gong, P. A new user authentication protocol for wireless sensor networks using elliptic curves cryptography. Int. J. Distrib. Sens. Netw. 2013, 2013, 730831. [Google Scholar] [CrossRef]
  22. Choi, Y.; Lee, D.; Kim, J.; Jung, J.; Nam, J.; Won, D. Security enhanced user authentication protocol for wireless sensor networks using elliptic curves cryptography. Sensors 2014, 14, 10081–10106. [Google Scholar] [CrossRef] [PubMed]
  23. Jin, A.T.B.; Ling, D.N.C.; Goh, A. Biohashing: Two factor authentication featuring fingerprint data and tokenised random number. Pattern Recogn. 2004, 37, 2245–2255. [Google Scholar] [CrossRef]
  24. Moon, J.; Choi, Y.; Kim, J.; Won, D. An Improvement of Robust and Efficient Biometrics Based Password Authentication Scheme for Telecare Medicine Information Systems Using Extended Chaotic Maps. J. Med. Syst. 2016, 40, 1–11. [Google Scholar] [CrossRef] [PubMed]
  25. Mishra, D.; Das, A.K.; Mukhopadhyay, S. A secure user anonymity-preserving biometric-based multi-server authenticated key agreement scheme using smart cards. Expert Syst. Appl. 2014, 41, 8129–8143. [Google Scholar] [CrossRef]
  26. Moon, J.; Choi, Y.; Jung, J.; Won, D. An Improvement of Robust Biometrics-Based Authentication and Key Agreement Scheme for Multi-Server Environments Using Smart Cards. PLoS ONE 2015, 10, e0145263. [Google Scholar] [CrossRef] [PubMed]
  27. Das, A.K.; Goswami, A. A secure and efficient uniqueness-and-anonymity-preserving remote user authentication scheme for connected health care. J. Med. Syst. 2013, 37, 1–16. [Google Scholar] [CrossRef] [PubMed]
  28. Baratelli, P.J. Smart Card with Integrated Fingerprint Reader. U.S. Patent No. 6325285 B1, 4 December 2001. [Google Scholar]
  29. Kozlay, D. Design & Method for Manufacturing Low-Cost Smartcards with Embedded Fingerprint Authentication System Modules. U.S. Patent No. US20050139685 A1, 6 July 2004. [Google Scholar]
  30. Clancy, T.C.; Kiyavash, N.; Lin, D.J. Secure smartcard-based fingerprint authentication. In Proceedings of the 2003 ACM SIGMM Workshop on Biometrics Methods and Applications, Berkley, CA, USA, 2–8 November 2003; pp. 45–52.
  31. Kocher, P.; Jaffe, J.; Jun, B. Differential power analysis. In Proceedings of the Advances in Cryptology-CRYPTO’99, LNCS, Santa Barbara, CA, USA, 15–19 December 1999; Volume 1666, pp. 388–397.
  32. Chung, Y.; Choi, S.; Lee, Y.; Park, N.; Won, D. An Enhanced Lightweight Anonymous Authentication Scheme for a Scalable Localization Roaming Service in Wireless Sensor Networks. Sensors 2016, 16, 1653. [Google Scholar] [CrossRef] [PubMed]
  33. Kang, D.; Jung, J.; Mun, J.; Lee, D.; Choi, Y.; Won, D. Efficient and robust user authentication scheme that achieve user anonymity with a Markov chain. Secur. Commun. Netw. 2016, 9, 1462–1476. [Google Scholar] [CrossRef]
  34. Blake-Wilson, S.; Johnson, D.; Menezes, A. Key agreement protocols and their security analysis. In Proceedings of the IMA International Conference on Cryptography and Coding, Cirencester, UK, 17–19 December 1997; pp. 30–45.
  35. Islam, S.H.; Khan, M.K.; Li, X. Security analysis and improvement of ‘a more secure anonymous user authentication scheme for the integrated EPR information system’. PLoS ONE 2015, 10, e0131368. [Google Scholar] [CrossRef] [PubMed]
  36. Burrows, M.; Abadi, M.; Needham, R.M. A logic of authentication. Proc. R. Soc. Lond. A. Math. Phys. Sci. 1989, 426, 233–271. [Google Scholar] [CrossRef]
  37. Ma, C.G.; Wang, D.; Zhao, S.D. Security flaws in two improved remote user authentication schemes using smart cards. Int. J. Commun. Syst. 2014, 27, 2215–2227. [Google Scholar] [CrossRef]
  38. Stallings, W. Cryptography and Network Security: Principles and Practices; Pearson Education: Upper Saddle River, NJ, USA, 2006. [Google Scholar]
  39. FIPS P. 180-1. Secure Hash Standard; National Institute of Standards and Technology: Gaithersburg, MD, USA, 1995. [Google Scholar]
  40. Li, C.T.; Hwang, M.S.; Chu, Y.P. A secure and efficient communication scheme with authenticated key establishment and privacy preserving for vehicular ad hoc networks. Comput. Commun. 2008, 31, 2803–2814. [Google Scholar] [CrossRef]
  41. Wazid, M.; Das, A.K.; Kumari, S.; Li, X.; Wu, F. Design of an efficient and provably secure anonymity preserving three-factor user authentication and key agreement scheme for TMIS. Secur. Commun. Netw. 2016, 9, 1983–2001. [Google Scholar] [CrossRef]
Figure 1. WSN system architecture.
Figure 1. WSN system architecture.
Sensors 17 00644 g001
Figure 2. Authentication mechanism using the biohashing approach.
Figure 2. Authentication mechanism using the biohashing approach.
Sensors 17 00644 g002
Figure 3. Registration phase for the proposed scheme.
Figure 3. Registration phase for the proposed scheme.
Sensors 17 00644 g003
Figure 4. Login and authentication phase for the proposed scheme.
Figure 4. Login and authentication phase for the proposed scheme.
Sensors 17 00644 g004
Figure 5. Password change phase for the proposed scheme.
Figure 5. Password change phase for the proposed scheme.
Sensors 17 00644 g005
Table 1. Notations.
Table 1. Notations.
ValueDescription
U i Remote user
S j Sensor node
G W N Gateway node
I D i , P W i Identity and password of U i
B i o i Biometric information of U i
P W i n e w New password of U i
uRandom number of U i
I D s Identity of smart card
T I D i Temporary identity for U i ’s next login
S I D j Identity of S j
KSecret key generated by the G W N
R N r , R N G , R Random numbers
h ( · ) One-way hash function
H ( · ) Biohash function
f ( x , k ) Pseudo-random function of variable s with key k
X | | Y Concatenate operation
XOR operation
T 1 , T 2 , T 3 , T 4 Current time stamp values
K S Session key
Δ T The maximum of the transmission delay time
Table 2. Security comparison of our proposed scheme and other related schemes.
Table 2. Security comparison of our proposed scheme and other related schemes.
FeaturesKhan et al. [10]Vaidya et al. [12]Kim et al. [13]Chang et al. [14]Park et al. [15]Our Scheme
User anonymity××
Mutual authentication×
Stolen smart card attack××××
Replay attack
Off-line PW guessing attack××
U i impersonation attack×××
S j impersonation attack××
Password verification
Session key verification×××××
Privileged-insider attack
Session key security××××
Efficient password change
G W N bypass attack××
Off-line ID guessing attack××
No verifier table××
Formal proof××
Table 3. Comparison of the computational cost between our scheme and other hash-based schemes.
Table 3. Comparison of the computational cost between our scheme and other hash-based schemes.
PhasesKhan et al. [10]Vaidya et al. [12]Kim et al. [13]Chang et al. [14]Park et al. [15]Proposed Scheme
Registration U i 1 T H 1 T H 2 T H + 1 T X 2 T H + 1 T X 1 T H + 1 T F 3 T H
G W N 2 T H + 1 T X 4 T H + 2 T X 6 T H + 3 T X 5 T H + 3 T X 5 T H + 3 T X 3 T H + 3 T X
S j
Login U i 3 T H + 1 T X 6 T H + 4 T X 7 T H + 5 T X 7 T H + 4 T X 6 T H + 3 T X + 1 T F + 1 T E 6 T H + 2 T X
G W N
S j
Authen tication U i 2 T H + 3 T X 2 T H + 4 T X 4 T H + 2 T X 4 T H + 2 T X + 1 T E 2 T H + 2 T X
G W N 5 T H + 2 T X 6 T H + 6 T X 8 T H + 8 T X 6 T H + 4 T X 11 T H + 4 T X 8 T H + 5 T X
S j 2 T H 3 T H + 2 T X 3 T H + 2 T X 4 T H + 1 T X 4 T H + 1 T X + 2 T E 4 T H + 1 T X
Password change U i 3 T H + 2 T X 8 T H + 6 T X 9 T H + 7 T X 9 T H + 6 T X 8 T H + 6 T X + 1 T F 8 T H + 2 T X
G W N
S j
Total cost 16 T H + 6 T X 30 T H + 24 T X 37 T H + 30 T X 37 T H + 21 T X 39 T H + 19 T X + 3 T F + 4 T E 34 T H + 15 T X
Execution time≈0.008 s≈0.015 s≈0.0185 s≈0.0185 s≈0.4605 s≈0.017 s

Share and Cite

MDPI and ACS Style

Jung, J.; Moon, J.; Lee, D.; Won, D. Efficient and Security Enhanced Anonymous Authentication with Key Agreement Scheme in Wireless Sensor Networks. Sensors 2017, 17, 644. https://doi.org/10.3390/s17030644

AMA Style

Jung J, Moon J, Lee D, Won D. Efficient and Security Enhanced Anonymous Authentication with Key Agreement Scheme in Wireless Sensor Networks. Sensors. 2017; 17(3):644. https://doi.org/10.3390/s17030644

Chicago/Turabian Style

Jung, Jaewook, Jongho Moon, Donghoon Lee, and Dongho Won. 2017. "Efficient and Security Enhanced Anonymous Authentication with Key Agreement Scheme in Wireless Sensor Networks" Sensors 17, no. 3: 644. https://doi.org/10.3390/s17030644

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

Article Metrics

Back to TopTop