Next Article in Journal
Tracking and Monitoring of the Alignment System Used for Nuclear Physics Experiments
Next Article in Special Issue
A CNN-MPSK Demodulation Architecture with Ultra-Light Weight and Low-Complexity for Communications
Previous Article in Journal
Finite-Time Controller for Flexible Satellite Attitude Fast and Large-Angle Maneuver
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Light and Anonymous Three-Factor Authentication Protocol for Wireless Sensor Networks

1
School of Automotive and Transportation, Shenzhen Polytechnic, Shenzhen 518055, China
2
Department of Computer Science and Engineering, National Chung Hsing University, Taichung 402, Taiwan
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Symmetry 2022, 14(1), 46; https://doi.org/10.3390/sym14010046
Submission received: 19 October 2021 / Revised: 22 December 2021 / Accepted: 27 December 2021 / Published: 30 December 2021

Abstract

:
Recently, wireless sensor networks (WSNs) have been widely used in a variety of fields, and make people’s lives more convenient and efficient. However, WSNs are usually deployed in a harsh and insecure environment. Furthermore, sensors with limited hardware resources have a low capacity for data processing and communication. For these reasons, research on efficient and secure real-time authentication and key agreement protocols based on the characteristics of WSNs has gradually attracted the attention of academics. Although many schemes have been proposed, most of them cannot achieve all known security features with satisfactory performance, among which anonymity, N-Factor security, and forward secrecy are the most vulnerable. In order to solve these shortcomings, we propose a new lightweight and anonymous three-factor authentication scheme based on symmetric cryptographic primitives for WSNs. By using the automated security verification tool ProVerif, BAN-logic verification, and an informal security analysis, we prove that our proposed scheme is secure and realizes all known security features in WSNs. Moreover, we show that our proposed scheme is practical and efficient through the comparison of security features and performance.

1. Introduction

A wireless sensor network (WSN) is a distributed and self-organizing sensor network, which is composed of a large number of sensor nodes that can perceive and understand the external world. In WSNs, sensor nodes cooperate to sense, collect, and process information in the network coverage area and send it to the gateway node. In recent years, WSNs have been widely used in various practical applications in industrial and agricultural fields [1,2,3,4], such as temperature monitoring in agriculture, power consumption monitoring in smart grids, and human health monitoring in medical care. In these application environments, many scattered users, various randomly distributed sensor nodes, and one or more relatively powerful gateway nodes form a powerful network system. For example, in the field of health care, the sensors deployed on the patient’s body can monitor and obtain the patient’s body data, and the medical staff can directly and remotely obtain the patient’s current body temperature, blood pressure, pulse times, and other information in real-time through the wireless sensor network, so as to improve the health status of healthy patients. Figure 1 shows the network architecture of WSNs.
However, when sensor nodes are active in an unattended or hostile wireless network environment, attackers can easily intercept, delete, and modify transmission messages and launch various attacks [5]. Therefore, the network security and privacy of these sensors become very critical. In order to ensure that only authorized legitimate users can access sensors and protect the communication security of real-time sensing data, it is extremely necessary for users and sensors to authenticate each other directly. Moreover, they also need to be able to establish a session key to ensure the security of future communication. Authentication and key agreement protocols are effective ways to achieve these goals. However, due to the limited resources of sensor nodes, an authentication protocol based on complex asymmetric cryptographic primitives is difficult to apply to wireless sensor networks. Therefore, the balance between security and performance is highly significant for the design of identity authentication protocols in the wireless sensor network environment.
Lamport proposed the first password-based authentication and key agreement protocol in 1980 [6], and, since then, research on authentication protocols has been a hot topic. In recent years, research on authentication and key agreement protocols in WSNs has been conducted [7,8,9,10,11,12,13,14,15,16,17,18]. In 2006, Wong et al. [19] proposed a lightweight password-based authentication scheme for WSNs. However, Das et al. point out that Wong et al.’s scheme cannot resist replay attacks and stolen-verifier attacks [20]. Furthermore, Das et al. put forward an improved scheme. Unfortunately, there are also many security flaws in Das et al.’s scheme [21,22]. Based on Farash et al.’s scheme [23], Amin et al. provided an anonymity three-factor authentication scheme [24] for WSNs in 2016. However, Jiang et al. found that the scheme could not resist smart card stolen attacks and known session-specific temporary information attacks [25]. Although many schemes have been proposed, most of them cannot achieve all known security features with satisfactory performance.
In 2019, Shin et al. proposed a lightweight three-factor authentication and key agreement protocol for WSNs [26] and claimed that the protocol can achieve all known security features with satisfactory performance. This article analyzes Shin et al.’s scheme. It is found that their scheme is vulnerable to de-synchronization attacks and cannot achieve forward secrecy and three-factor security.
Our crucial contributions are as follows:
  • We review and analyze Shin et al.’s three-factor authentication scheme for WSNs. Further, we show that their scheme is vulnerable to de-synchronization attacks and cannot achieve forward secrecy and three-factor security.
  • We present a new, lightweight anonymous three-factor authentication with perfect forward secrecy in WSNs. The operation of the scheme is based on a symmetric cryptosystem, so the computational overhead of the scheme is lightweight and the scheme is suitable for WSNs. The new scheme can achieve all known strong security functions with satisfactory performance, including anonymity, perfect forward secrecy, n-factor security, and so on.
  • By using the automated security verification tool ProVerif and BAN-logic, we prove that our proposed scheme is secure and realizes the mutual authentication of communication participants in WSNs.
  • Through the comparison of security features and performance, it can be found that our proposed scheme is practical.
The rest of this paper is organized as follows. We introduce the relevant preliminaries in Section 2 and review the scheme of Shin et al. in Section 3. In Section 4, the scheme of Shin et al. is subjected to cryptanalysis and the attack method is given. The new scheme is proposed in Section 5, and the security analysis and performance analysis of the new scheme are carried out in Section 6 and Section 7, respectively. Section 8 summarizes the paper.

2. Preliminaries

2.1. Fuzzy Extractor

At different times, there may be subtle differences in the biometrics extracted by the same user. The fuzzy extractor can eliminate these subtle differences. In other words, the fuzzy extractor can produce the same output even if the inputs are slightly different. Fuzzy logic is widely used in supply chains and healthcare logistics [27,28,29]. The fuzzy extractor consists of two parts:
  • GEN ( Bio i )   = ( b i ,   pair i ) , with Bio i . as input, the probability generation mechanism GEN outputs a random string b i and a random helper string pair i .
  • REP ( Bio i ,   pair i )   = b i , with Bio i and pair i as inputs, the deterministic mechanism REP can regenerate b i , where dis ( Bio i ,   Bio i ) Δ t .

2.2. Adversary Model

In this paper, we adopt the most rigorous (but practical) adversary model proposed by Wang et al. [30] and Huang et al. [31]. Table 1 shows the capabilities of the adversary, A .

2.3. Notations

The notations used thereinafter are listed in Table 2.

3. Revisiting of Shin et al.’s Scheme

In 2019, Sooyeon Shin et al. proposed a lightweight anonymous three-factor authentication protocol for micro-sensors in wireless sensor networks [26]. Taking their protocol as an example, we analyze and point out the security defects of such authentication protocols.
Shin et al.’s protocol consists of four phases: the initialization phase, registration phase, authentication phase, and password update phase. The system completes the selection of parameters and encryption algorithm in the initialization phase. The registration phase realizes user registration and the distribution of smart cards. The authentication phase completes the mutual authentication and session key agreement between the user and the sensor. It should be noted that the communication channel in the authentication phase is public and insecure.
The specific process of the agreement is as follows:

3.1. Initialization Phase

Step 1: The GWN selects K U , K S as master secrets and stores them safely.
Step 2: For sensor S j , the GWN chooses SID j as the identity of S j and calculates X S j   = h ( SID j | | K S ) .
Step 3: The sensor S j stores X S j secretly.

3.2. User Registration Phase

Step 1: The user U i . selects his identity ID i and password PW i and imprints Bio i . Then, U i chooses a random number u i and calculates GEN ( Bio i )   = ( b i ,   pair i ) , HPW i   = h ( PW i | | b i ) , and TID i   = h ( ID i | | u i ) . Further, U i sends the registration request { TID i ,   HPW i } towards the GWN via a private secure channel.
Step 2: The GWN receives { TID i ,   HPW i } and freely chooses PID i 1 . as a pseudonym. Then, the GWN calculates HID i   = h ( TID i | | K U ) , A i     = h ( HPW i | | TID i ) HID i , B i     = h ( HPW i | | HID i ) , and C i 1     = h ( TID i | | HID i ) PID i 1 . Then, the GWN writes { A i ,   B i ,   C i 1 } into SC i . and stores ( PID i 1 ,   TID i ) . Finally, the GWN transmits SC i towards U i via a private, secure channel.
Step 3: U i receives SC i and calculates D i   = u i h ( ID i | | b i ) . Finally, U i write { D i ,   pair i } into SC i .
The process of the User registration phase is shown in Figure 2.

3.3. Authentication Phase

Step 1: U i inserts SC i , inputs ID i and PW i , and imprints Bio i . SC i calculates b i   = REP ( Bio i ,   pair i ) , u i   = D i h ( ID i | | b i ) , TID i   = h ( ID i | | u i ) , HPW i   = h ( PW i | | b i ) , HID i   = A i h ( HPW i | | TID i ) , and B i   = h ( HPW i | | HID i ) and verifies the equality check for B i   ?   = B i . If it does not hold true, SC i rejects the login request. Otherwise, SC i generates a random number r i and the current timestamp T 1 , and calculates PID i 1   = C i 1 h ( TID i | | HID i ) , R i   = h ( TID i | | PID i 1 | | r i ) , M i   = r i h ( TID i | | HID i | | T 1 ) , and M UG   = h ( TID i | | HID i | | PID i 1 | | R i | | T 1 ) . Finally, SC i transmits the login request { PID i 1 ,   M i ,   M UG , T 1 } towards the GWN.
Step 2: The GWN receives { PID i 1 ,   M i ,   M UG , T 1 } and checks the validity of T 1 . Then, the GWN searches ( PID i 1 ,   TID i ) in memory using PID i 1 and calculates HID i   = h ( TID i | | K U ) , r i   = M i h ( TID i | | HID i | | T 1 ) , R i   = h ( TID i | | PID i 1 | | r i ) , and M UG   = h ( TID i | | HID i | | PID i 1 | | R i | | T 1 ) . Further, the GWN checks the equality of M UG   ?   = M UG . If it does not hold true, the GWN rejects the login request. Otherwise, the GWN selects SID j , generates the current timestamp T 2 , and calculates X S j   = h ( SID j | | K S ) , M G   = R i h ( X S j | | T 2 ) , and M GS   = h ( PID i 1 | | SID j | | X S j | | R i | | T 2 ) . Finally, the GWN transmits { PID i 1 ,   M G ,   M GS ,   T 2 } towards S j .
Step 3: Upon the reception of { PID i 1 ,   M G ,   M GS ,   T 2 } from the GWN, S j checks whether T 2 is a valid timestamp. Then, S j calculates R i   = M G h ( X S j | | T 2 ) and M GS   = h ( PID i 1 | | SID j | | X S j | | R i | | T 2 ) and verifies the equality check M GS   ?   = M GS . If the verification fails, S j aborts the session. Otherwise, S j generates a random number r j and the current timestamp T 3 , and calculates R j   = h ( SID j | | r j ) , M j   = r j h ( X S j | | T 3 ) , SK ij   = h ( R i | | R j ) , M SG   = h ( PID i 1 | | SID j | | X S j | | R j | | SK ij | | T 3 ) . Finally, S j sends { M j ,   M SG ,   T 3 } back to the GWN.
Step 4: The GWN receives { M j ,   M SG ,   T 3 } and checks the validity of T 3 . Then, the GWN calculates r j   = M j h ( X S j | | T 3 ) , R j   = h ( SID j | | r j ) , SK ij   = h ( R i | | R j ) , and M SG   = h ( PID i 1 | | SID j | | X S j | | R j | | SK ij | | T 3 ) and verifies the equality check M SG   ?   = M SG . If the verification fails, the GWN aborts the session. Otherwise, the GWN generates the current timestamp T 4 and a new pseudonym PID i 2 , and calculates C i 2   = h ( TID i | | HID i ) PID i 2 , p i 2   = C i 2 h ( HID i | | T 4 ) , M G   = R j h ( PID i 1 | | HID i ) , and M GU   = h ( PID i 1 | | HID i | | C i 2 | | R j | | SK ij | | T 4 ) . Finally, the GWN sends { p i 2 ,   M G ,   M GU ,   T 4 } back to U i . and replaces PID i 1 with PID i 2 in memory.
Step 5: U i receives { p i 2 ,   M G ,   M GU ,   T 4 } and checks whether T 4 is a valid timestamp. Then, U i calculates R j   = M G h ( PID i 1 | | HID i ) , SK ij   = h ( R i | | R j ) , C i 2   = p i 2 h ( HID i | | T 4 ) , and M GU   = h ( PID i 1 | | HID i | | C i 2 | | R j | | SK ij | | T 4 ) and checks the equality of M GU   ?   = M GU . If it holds true, U i replaces C i 1 with C i 2 in SC i .
The process of the authentication phase is shown in Figure 3.

3.4. Password Update Phase

Step 1: U i inserts SC i to the reader, inputs ID i and PW i , and imprints Bio i .
Step 2: SC i calculates b i   = REP ( Bio i   , pair i ) , u i   = D i h ( ID i | | b i ) , TID i   = h ( ID i | | u i ) , HPW i   = h ( PW i | | b i ) , HID i   = A i h ( HPW i | | TID i ) , and B i   = h ( HPW i | | HID i ) and verifies the equality check for B i   ?   = B i . If it does not hold true, SC i rejects the request. Otherwise, U i inputs a new password PW i new .
Step 3: SC i calculates HPW i new   = h ( PW i new | | b i ) , A i new   = h ( HPW i new | | TID i )   HID i , and B i new   = h ( HPW i new | | HID i ) . At last, SC i replaces A i and B i with A i new and B i new , respectively.

4. Cryptanalysis of Shin et al.’s Scheme

We show that Shin et al.’s scheme is vulnerable to de-synchronization attacks and can not achieve forward secrecy and three-factor security in this section.

4.1. De-Synchronization Attack

Suppose that an adversary blocks { p i 2 ,   M G ,   M GU ,   T 4 } , which is sent from the GWN to U i . On the side of the GWN, the pseudonym of U i is PID i 2 at this point. However, U i is unable to obtain C i 2 without { p i 2 ,   M G ,   M GU ,   T 4 } . Thus, the pseudonyms on the side of U i and the GWN become out of synchronization. When U i wants to access a sensor node through the GWN in the next session, the GWN will reject U i ’s login request. Therefore, Shin et al.’s scheme is vulnerable to de-synchronization attacks.

4.2. Forward Secrecy

Suppose that an adversary occasionally obtains X S j , which is the long-term private key of S j . Furthermore, the adversary intercepted { PID i 1 ,   M G ,   M GS ,   T 2 } and { M j ,   M SG ,   T 3 } in the previous session of U i and S j . The adversary could obtain the previous session key of U i and S j via following steps.
Step 1: The adversary calculates R i   = M G h ( X S j | | T 2 ) , r j   = M j h ( X S j | | T 3 ) , and R j   = h ( SID j | | r j ) .
Step 2: The adversary obtains the previous session key of U i and S j , SK ij   = h ( R i | | R j ) .
Therefore, Shin et al.’s scheme can not achieve forward secrecy.

4.3. Three-Factor Security

For a three-factor authentication scheme, when two of the authentication factors are captured by an adversary, it is necessary to ensure that the remaining authentication factor is still secure. Suppose that an adversary captures U i ’s smart card SC i and biometric Bio i simultaneously. The adversary is able to obtain the password of U i via the following steps.
Step 1: The adversary extracts { A i ,   B i ,   C i 1 ,   D i ,   pair i } from SC i using side-channel technology and calculates b i   = REP ( Bio i ,   pair i ) .
Step 2: The adversary guesses a candidate identity ID i and a candidate password PW i from D id and D pw , where D id and D pw are user identity space and password space, respectively.
Step 3: The adversary calculates u i   = D i h ( ID i | | b i ) , TID i   = h ( ID i | | u i ) , HPW i   = h ( PW i | | b i ) , HID i   = A i h ( HPW i | | TID i ) , and B i   = h ( HPW i | | HID i ) .
Step 4: The adversary checks whether B i   ?   = B i holds. If not, the adversary repeats Steps 2–4 until he acquires the true password. Otherwise, the adversary succeeds in obtaining the true password of U i .
The computational overhead of this attack is ( 5 T h + 2 T xor ) | D id | | D pw | , where T h is the running time of the one-way hash function, T xor is the running time of the XOR operation, and D id and D pw are the spaces of user identity and password, respectively. According to the literature [20], we know that | D id | | D pw | 10 6 . According to the experimental data from the literature [32], T h 0.591 μ s , T xor 0.006   μ s . The adversary can break the password of U i in 35 days. If you use a high-performance cloud computing platform, the password will be cracked within a few hours.

5. The Proposed Scheme

The proposed protocol includes the following phases: initialization phase, user registration phase, sensor node registration phase, authentication phase, password, and biometric update phase.
The detailed description of the agreement is as follows:

5.1. Initialization Phase

The gateway node GWN creates two information tables in its memory (UserInfoTable and SensorInfoTable), which is used to store relevant information of users and sensors. Then, the GWN freely chooses two master keys, K u and K s , and two secure hash functions, h : { 0 , 1 } { 0 ,   1 } 128 and H : { 0 ,   1 } { 0 ,   1 } 256 .

5.2. Sensor Registration Phase

The sensor registration phase is completed by the gateway node GWN. The GWN selects a unique identity SID j for each sensor node and calculates X S j   = h ( SID j | | K s ) . Furthermore, GWN selects two random integers, n j and c, defines and sets N j   = NG j   = c . Then, the GWN inserts the { SID j ,   NG j ,   X S j ,   n j } into SensorInfoTable in its memory. Before S j is deployed, the GWN stores { SID j ,   N j ,   X S j ,   n j }   into S j .

5.3. User Registration Phase

Step 1: U i chooses ID i and PW i freely, imprints Bio i . Then U i calculates GEN ( Bio i )     = ( b i ,   pair i ) , HPW i   = h ( PW i | | b i ) , and TID i   = h ( ID i ) . Finally, U i sends the registration request { TID i ,   HPW i } towards the GWN via a private secure channel.
Step 2: The GWN receives { TID i ,   HPW i } and checks if UserInfoTable() contains the element ( TID i ,   ,   ,   ,   ) . If yes, the GWN rejects the registration request of U i . Otherwise, the GWN chooses a ,   b randomly, and sets NC i   = a , PID i   = PID i new   = b , PID i old   = Null . Then, the GWN calculates HID i   = h ( TID i | | K u ) , A i   = h ( HPW i | | TID i ) HID i , B i   = h ( HPW i | | HID i )   mod   n , and C i   = h ( TID i | | HID i ) PID i , where 2 4 n 2 8 is an integer to determine the size of ( ID ,   PW ) , and inserts the element ( PID i new ,   PID i old ,   TID i ,   NC i ) into table UserInfoTable. Further, the GWN writes { A i ,   b i ,   C i ,   NC i ,   h ( ) ,   H ( ) } into SC i , and transmits SC i towards U i via a private secure channel.
Step 3: U i receives SC i , and defines and sets flag   = 0 . Finally, U i writes {   pair i ,   flag ,   GEN ( ) ,   REP ( ) } into SC i .
The process of the user registration phase is shown in Figure 4.

5.4. Authentication Phase

Step 1: U i inserts SC i , inputs ID i and PW i , and imprints Bio i . SC i calculates b i   = REP ( Bio i ,   pair i ) , TID i   = h ( ID i ) , HPW i   = h ( PW i | | b i ) , HID i   = A i h ( HPW i | | TID i ) , and B i   = h ( HPW i | | HID i )   mod   n and verifies the equality check for B i   ?   = B i . If it does not hold true, SC i rejects the login request. Otherwise, SC i checks if flag   ?   = 0 holds. If yes, SC i updates NC i   = h ( NC i ) , flag   = 1 . Then, SC i generates the current timestamp T 1 and a random number r i , chooses SID j which he wants to access and calculates PID i   = C i h ( TID i | | HID i ) , R i   = h ( TID i | | PID i | | NC i | | r i ) , M 1   = ( r i | | SID j ) H ( TID i | | HID i | | NC i | | T 1 ) , and M UG   = h ( TID i | | HID i | | PID i | | R i | | T 1 ) . Finally, SC i transmits the login request { PID i ,   M 1 ,   M UG ,   T 1 } towards the GWN.
Step 2: The GWN receives { PID i ,   M 1 ,   M UG ,   T 1 } and checks the validity of T 1 . Then, the GWN searches ( PID i new ,   PID i old ,   TID i ,   NC i ) in UserInfoTable using PID i and operates as below.
Case 1: If there exists an element ( PID i new ,   PID i old ,   TID i ,   NC i ) of UserInfoTable which satisfies PID i   = PID i new , then the GWN calculates NC i   = h ( NC i ) , HID i   = h ( TID i | | K u ) , K i   = H ( TID i | | HID i | | NC i | | T 1 ) , ( r i | | SID j )   = K i M 1 , R i   = h ( TID i | | PID i new | | NC i | | r i ) , and M UG   = h ( TID i | | HID i | | PID i new | | R i | | T 1 ) . The GWN verifies the equality check M UG   ?   = M UG . If the verification fails, the GWN rejects the login request. Otherwise, the GWN chooses a new tPID i new randomly, and sets PID i old   = PID i new , PID i new   = tPID i new , NC i   = NC i .
Case 2: If there exists an element ( PID i new ,   PID i old ,   TID i ,   NC i ) of UserInfoTable which satisfies PID i   = PID i old , then the GWN calculates HID i   = h ( TID i | | K u ) , K i   = H ( TID i | | HID i | | NC i | | T 1 ) , ( r i | | SID j )   = K i M 1 , R i   = h ( TID i | | PID i old | | NC i | | r i ) , and M UG   = h ( TID i | | HID i | | PID i old | | R i | | T 1 ) . The GWN verifies the equality check M UG   ?   = M UG . If the verification fails, the GWN rejects the login request. Otherwise, the GWN chooses a new tPID i new randomly, and sets PID i new   = tPID i new .
Case 3: If the above two cases do not exist, the GWN rejects the login request.
Further, the GWN generates the current timestamp T 2 , searches { SID j ,   NG j ,   X S j ,   n j } in SensorInfoTable using SID j , and updates NG j   = NG j + n j , X S j   = h ( SID j | | X S j ) . Then, the GWN calculates M 2   = ( R i | | PID i old ) H ( X S j | | T 2 ) and M GS   = h ( PID i old | | SID j | | X S j | | R i | | T 2 ) . Finally, the GWN transmits { M 2 ,   M GS ,   NG j ,   T 2 } towards S j .
Step 3: Upon the reception of { M 2 ,   M GS ,   NG j ,   T 2 } from the GWN, S j checks whether T 2 is a valid timestamp. Then, S j calculates N   = NG j NS j / n j and checks if 1 N N holds, where N is the initial threshold for preserving the computing resources of sensors. If it holds true, S j sets X S j   = X S j and calculates N times X S j   = h ( X S j | | SID j ) . Further, S j calculates ( R i | | PID i old )   = M 2 H ( X S j | | T 2 ) and M GS   = h ( PID i old | | SID j | | X S j | | R i | | T 2 ) and verifies the equality check M GS   ?   = M GS . If the verification fails, S j aborts the session. Otherwise, S j generates the current timestamp T 3 and a random number r j and calculates R j   = h ( SID j | | r j ) , M 3   = ( R j | | PID i old ) H ( X S j | | T 3 ) , SK ji   = h ( R i | | R j ) , and M SG   = h ( PID i old | | SID j | | X S j | | R i | | R j | | T 3 ) . S j updates X S j   = X S j , N j   = NG j . Finally, S j sends { SID j ,   M 3 ,   M SG ,   T 3 } back to the GWN.
Step 4: The GWN receives { SID j ,   M 3 ,   M SG ,   T 3 } and checks the validity of T 3 . Then, the GWN searches { SID j ,   NG j ,   X S j ,   n j } in SensorInfoTable using SID j and calculates ( R j | | PID i old )   = M 3 H ( X S j | | T 3 ) , and M SG   = h ( PID i old | | SID j | | X S j | | R i | | R j | | T 3 ) . The GWN verifies the equality check M SG   ?   = M SG . If the verification fails, the GWN aborts the session. Otherwise, the GWN generates the current timestamp T 4 and searches ( PID i new ,   PID i old ,   TID i ,   NC i ) in UserInfoTable using PID i old . Further, the GWN calculates C i new   = h ( TID i | | HID i ) PID i new , p i new   = C i new HID i T 4 , M 4   = R j K i , and M GU   = h ( PID i old | | HID i | | C i new | | R i | | R j | | T 4 ) . Finally, the GWN sends { p i new ,   M 4 ,   M GU ,   T 4 } to U i .
Step 5: Upon the reception of { p i new ,   M 4 ,   M GU ,   T 4 } from the GWN, U i checks whether T 4 is a valid timestamp. Then, U i calculates R j   = M 4 H ( TID i | | HID i | | NC i | | T 1 ) , SK ij   = h ( R i | | R j ) , C i new   = p i new HID i T 4 , and M GU   = h ( PID i | | HID i | | C i new | | R i | | R j | | T 4 ) . Then, U i verifies the equality check M GU   ?   = M GU . If the verification fails, U i aborts the session. Otherwise, U i updates C i   = C i new , flag   = 0 .
The process of the authentication phase is shown in Figure 5.

5.5. Password and Biometric Update Phase

Step 1: U i inserts SC i , inputs ID i and PW i , and imprints Bio i . SC i calculates b i   = REP ( Bio i ,   pair i ) , TID i   = h ( ID i ) , HPW i   = h ( PW i | | b i ) , HID i   = A i h ( HPW i | | TID i ) , and B i   = h ( HPW i | | HID i )   mod   n and verifies the equality check for B i   ?   = B i . If it does not hold true, SC i rejects the request. Otherwise, U i inputs a new password PW i new   and imprints a new biometric Bio i new .
Step 2: SC i calculates GEN ( Bio i new )     = ( b i new ,   pair i new ) , HPW i new   = h ( PW i new | | b i new ) , A i new   = HID i h ( HPW i new | | TID i ) , and B i new   = h ( HPW i new | | HID i )   mod   n . At last, SC i replaces pair i , A i and B i , with pair i new , A i new and B i new , respectively.

6. Security Analysis

6.1. Security Verification Using ProVerif

ProVerif [33] is one of the widely accepted automated security verification tools for communication protocols. ProVerif supports main cryptographic primitives including hash function, encryption, digital signatures, etc. In this section, we use ProVerif to check the mutual authentication and session key secrecy of the proposed scheme.
First, we define two insecure channels, c1 for communication between users and the GWN and c2 for communication between the GWN and sensors.
(*--Two public channel--*)
free c1: channel. (*--The channel between users and GWN--*)
free c2: channel. (*--The channel between sensors and GWN--*)
Then, we define the parameters and constructors as follows:
(*--The basic variables--*)
free user, GWN, SN: bitstring. (*---three participants--*)
free PID: bitstring. (*---the pseudonym identity shared by user and GWN--*)
free Ku: bitstring[private]. (*---the masterkey of GWN--*)
free Ks: bitstring[private]. (*---the masterkey of GWN--*)
free XSj: bitstring[private]. (*---the shared key between GWN and sensor--*)
table Table_user_info( bitstring, bitstring, bitstring). (*---the user’s info table---*)
table Table_sensor_info(bitstring, bitstring). (*---the sensor’s info table---*)
(*--Encryption operation--*)
fun encrypt(bitstring, bitstring): bitstring.
fun decrypt(bitstring, bitstring): bitstring.
equation forall x: bitstring, y: bitstring; decrypt(encrypt(x, y), y) = x.
(*--Hash operation--*)
fun h1(bitstring): bitstring.
fun h2 (bitstring, bitstring): bitstring.
fun h4 (bitstring, bitstring, bitstring, bitstring):bitstring.
fun h5 (bitstring, bitstring, bitstring, bitstring, bitstring): bitstring.
fun h6 (bitstring, bitstring, bitstring, bitstring, bitstring, bitstring): bitstring.
(*--XOR operation--*)
fun XOR (bitstring, bitstring): bitstring.
equation forall x: bitstring, y: bitstring; XOR(XOR(x, y), y) = x.
(*--Concat and Divide operation--*)
fun Concat (bitstring, bitstring): bitstring.
fun Div1 (bitstring):bitstring.
fun Div2 (bitstring):bitstring.
equation forall x: bitstring, y: bitstring; Div1(Concat(x, y)) = x.
equation forall x: bitstring, y: bitstring; Div2(Concat(x, y)) = y.
(*--Check the Freshness of timestamp operation--*)
fun isFresh (bitstring, bool): bool
reduc forall T: bitstring; isFresh (T, true) = true.
In order to check the mutual authentication and session key secrecy, we define the following eight events and two secrets:
(*--Mutual authentication queries--*)
event beginUG(bitstring).
event endUG(bitstring).
event beginGU(bitstring).
event endGU(bitstring).
event beginGS(bitstring).
event endGS(bitstring).
event beginSG(bitstring).
event endSG(bitstring).
query x: bitstring; inj-event(endUG(x)) ==> inj-event(beginUG(x)).
query x: bitstring; inj-event(endGU(x)) ==> inj-event(beginGU(x)).
query x: bitstring; inj-event(endGS(x)) ==> inj-event(beginGS(x)).
query x: bitstring; inj-event(endSG(x)) ==> inj-event(beginSG(x)).
(*--Session key secrecy queries--*)
free secretA, secretB: bitstring [private].
query attacker(secretA);
attacker(secretB).
Three distinct processes processUser, processSensor, and processGWN are declared to model U i , S j and GWN, respectively.
(*----------------User Ui---------------------*)
let processUser(IDi: bitstring, PWi: bitstring, bi: bitstring, Ai: bitstring, Bi: bitstring, Ci: bitstring, NCi: bitstring, SIDj: bitstring) =
let TIDi = h1(IDi) in
let HPWi’ = h2(PWi, bi) in
let HIDi’ = XOR(Ai, h2(HPWi’, TIDi)) in
let Bi’ = h2(HPWi’,HIDi’) in
if Bi’=Bi then
event beginGU(GWN);
new ri: bitstring;
new T1: bitstring;
let PIDi = XOR(Ci, h2(TIDi, HIDi’)) in
let Ri = h4(TIDi, PIDi, NCi, ri) in
let M1 = XOR(Concat(ri, SIDj), h4 TIDi, HIDi’, NCi, T1)) in
let MUG = h5 (TIDi, HIDi’, PIDi, Ri, T1) in
out (c1, (PIDi, M1, MUG, T1));
in (c1, (M4:bitstring, MGU:bitstring, T4:bitstring));
if isFresh (T4, true) = true then
let Rj’ = XOR(M4,h4(TIDi, HIDi’,NCi, T1)) in
let SKij’ = h2(Ri, Rj’) in
let MGU’ = h5(PIDi, HIDi’, Ri, Rj’, T4) in
if MGU’ =MGU then
event endUG(user);
out(c1, encrypt(secretA, SKij’)).
(*----------------GWN---------------------*)
let processGWN() =
in(c1, (PIDi: bitstring, M1: bitstring, MUG: bitstring, T1:bitstring));
if isFresh(T1, true) = true then
get Table_user_info(=PIDi, TIDi, NCi) in
let HIDi’ = h2(TIDi, Ku) in
let Ki = h4(TIDi, HIDi’, NCi, T1) in
let ri’ = Div1(XOR(M1,Ki)) in
let SIDj = Div2(XOR(M1,Ki)) in
let Ri’ = h4(TIDi, PIDi, NCi, ri’) in
event beginUG(user);
let MUG’ = h5(TIDi, HIDi’, PIDi, Ri’, T1) in
if MUG’ =MUG then
event beginSG(SN);
new T2: bitstring;
get Table_sensor_info(=SIDj, XSj) in
let M2 = XOR(Concat(Ri’, PIDi),h2(XSj, T2)) in
let MGS = h5(PIDi, SIDj, XSj, Ri’, T2) in
out(c2, (M2, MGS, T2));
in(c2,(SIDj:bitstring, M3:bitstring, MSG:bitstring, T3: bitstring));
if isFresh(T3, true) = true then
let Rj’ = Div1(XOR(M3,h2(XSj, T3))) in
let PIDi = Div2(XOR(M3, h2(XSj, T3))) in
let MSG’ = h6(PIDi, SIDj, XSj, Ri’,Rj’, T3) in
if MSG’ = MSG then
new T4: bitstring;
event endGS(GWN);
let M4 = XOR(Rj’,Ki) in
let MGU = h5(PIDi, HIDi’, Ri’, Rj’, T4) in
out(c1, (M4, MGU, T4));
event endGU(GWN);
0.
(*----------------Sensor Sj---------------------*)
let processSensor(SIDj:bitstring, XSj:bitstring) =
in(c2, (MG:bitstring, MGS:bitstring, T2:bitstring));
event beginGS(GWN);
let Ri’ =Div1(XOR(MG, h2(XSj, T2))) in
let PIDi =Div2(XOR(MG, h2(XSj, T2))) in
let MGS’ = h5(PIDi, SIDj, XSj, Ri’, T2) in
if MGS’=MGS then
new T3: bitstring;
new rj: bitstring;
let Rj = h2(SIDj, rj) in
let Mj = XOR(Concat(rj, PIDi),h2(XSj, T3)) in
let SKij = h2(Ri’, Rj) in
let MSG = h6(PIDi, SIDj, XSj, Ri’, Rj, T3) in
out(c2, (SIDj, Mj, MSG, T3));
event endSG(SN);
out(c2, encrypt(secretB, SKij)).
We simulate the unbounded parallel execution of processes processUser, processSensor, and processGWN as follows:
(*--Start process--*)
process
new IDi: bitstring;
new PWi: bitstring;
new bi: bitstring;
new PIDi: bitstring;
new SIDj: bitstring;
new NCi: bitstring;
let HPWi = h2(PWi, bi) in
let TIDi = h1(IDi) in
let HIDi = h2(TIDi, Ku) in
let Ai = XOR(h2(HPWi, TIDi), HIDi) in
let Bi = h2(HPWi, HIDi) in
let Ci = XOR(h2(TIDi, HIDi),PIDi) in
let XSj = h2(SIDj, Ks) in
insert Table_user_info(PIDi, TIDi, NCi);
insert Table_sensor_info(SIDj, XSj);
(
(*-- Launch an unbounded number of sessions of the user --*)
(!processUser(IDi, PWi, bi, Ai, Bi, Ci, NCi, SIDj)) |
(*-- Launch an unbounded number of, sessions of the GWN--*)
(!processGWN()) |
(*-- Launch an unbounded number of sessions of the sensor--*)
(!processSensor(SIDj, XSj))
)
The simulation results are shown as follows:
Query inj-event(endUG(x)) ==> inj-event(beginUG(x)) is true.
Query inj-event(endGU(x)) ==> inj-event(beginGU(x)) is true.
Query inj-event(endGS(x)) ==> inj-event(beginGS(x)) is true.
Query inj-event(endSG(x)) ==> inj-event(beginSG(x)) is true.
Query not attacker(secretA[]) is true.
Query not attacker(secretB[]) is true.
The results mean that the proposed scheme is able to achieve mutual authentication. Meanwhile, the session key SKij generated by the user U i and the sensor S j is secure.

6.2. BAN-Logic

Burrows–Abadi–Needham logic (BAN-logic) [34] is a widely used tool for the formal analysis of authentication schemes which was proposed by Burrows et al. In this section, we use BAN-logic to prove the session key agreement between the user U i and the sensor node S j after the execution of the proposed scheme. Table 3 introduces the notations for the BAN-logic analysis and some basic rules for BAN-logic are described in Table 4.
(1)
The idealized form of the proposed scheme:
Message 1: U i GWN :   ( r i ,   SID j ) U i ( HID i ,   NC i ) GWN
Message 2: GWN S j : ( R i ,   PID i old ) GWN X S j S j
Message 3: S j GWN : ( R j ,   PID i old ) S j X S j GWN
Message 4: GWN U i : ( R j ) GWN ( HID i ,   NC i ) U i
(2)
Verification goals:
Goal 1: U i | ( U i SK S j ) .
Goal 2: U i | S j | ( U i SK S j ) .
Goal 3: S j | ( U i SK S j ) .
Goal 4: S j | U i | ( U i SK S j ) .
(3)
Assumptions about the initial state:
A1: U i | ( r i ,   r j ) .
A2: S j | ( r i ,   r j ) .
A3: GWN | ( r i ,   r j ) .
A4: U i | ( U i ( PID i ,   HID i ,   NC i ) GWN ) .
A5: GWN | ( U i ( PID i ,   HID i ,   NC i ) GWN ) .
A6: GWN | ( GWN X S j S j ) .
A7: S j | ( GWN X S j S j ) .
A8: U i | S j ( U i SK S j ) .
A9: S j | U i ( U i SK S j )
(4)
Proofs:
Step 1: From Message 1, we can get: GWN ( r i , SID j ) U i ( HID i ,   NC i ) GWN .
Step 2: According to Step 1, A5, and the message meaning rule, it can be inferred that: GWN | U i | ~ ( r i , SID j ) U i ( HID i ,   NC i ) GWN .
Step 3: According to Step 2, A3, and the nonce verification rule, we obtain: GWN | U i | ( r i , SID j ) U i ( HID i ,   NC i ) GWN .
Step 4: From Message 2, we understand that: S j ( R i ,   PID i old ) GWN X S j S j .
Step 5: According to A7 and the message meaning rule, we obtain: S j | GWN | ~ ( R i ,   PID i old ) GWN X S j S j .
Step 6: According to A2, R i   = h ( TID i | | PID i | | NC i | | r i ) , and the freshness conjuncatenation rule, we can get: S j | ( R i ) .
Step 7: According to Step 5, Step 6, and the nonce verification rule, we get: S j | GWN | ( R i ,   PID i old ) GWN X S j S j .
Step 8: According to Step 3, Step 7, SK ij   = h ( R i | | R j ) , and R i   = h ( TID i | | PID i | | NC i | | r i ) , we prove: S j | U i | ( U i SK S j ) (Goal 4).
Step 9: According to Step 8, A9, and the jurisdiction rule, we prove: S j | ( U i SK S j ) (Goal 3).
Step 10: According to Message 3, we get: GWN ( R j ,   PID i old ) S j X S j GWN .
Step 11: According to Step10, A6, and the message meaning rule, it can be inferred that: GWN | S j | ~ ( R j ,   PID i old ) S j X S j GWN .
Step 12: According to Step 11, A3, R j   = h ( SID j | | r j ) , and the nonce verification rule, we obtain: GWN | S j | ( R j ,   PID i old ) S j X S j GWN .
Step 13: From Message 4, we obtain: U i ( R j ) GWN ( HID i ,   NC i ) U i .
Step 14: According to Step 13, A4, and the message meaning rule, we obtain: U i | GWN | ~ ( R j ) GWN ( HID i ,   NC i ) U i .
Step 15 According to Step 14, A1, R j   = h ( SID j | | r j ) , and the nonce verification rule, we get: U i | S j | ( U i SK S j ) . (Goal 2).
Step 16: According to Step 15, A8, and the jurisdiction rule, we prove: U i | ( U i SK S j ) (Goal 1).
From the proof results obtained from the above process, Goal 14, U i , and S j believe that they have completed the key agreement and generated the shared session key SK ij   = SK ji ji .

6.3. Informal Security Analysis

(1) Anonymity and un-traceability
Suppose an adversary intercepted the information transmitted to a public channel from U i , GWN , and S j . Obviously, the adversary cannot obtain the user’s actual identity ID i , because of the security of the one-way hash function. In addition, the pseudonym identity PID i changes after each authentication, and r i and r j are randomly generated in each session. The adversary cannot determine whether two sessions are launched by the same user.
(2) Perfect forward secrecy
Suppose an adversary accidentally captured U i ’s private key NC i , S j ’s private key ( X S j , N j ), and the GWN’s master key ( K u , K s ), and intercepted the information propagated in the public channel. The adversary cannot obtain the previous session key because NC i ,   X S j ,   N j changes after each authentication, and the adversary cannot get the NC i ,   X S j ,   N j in a previous session because of the security of the one-way hash function. Therefore, the proposed scheme can achieve perfect forward secrecy.
(3) Mutual authentication
In Section 6.1, we define eight events—event beginUGparam(bitstring), event endUGparam(bitstring), event beginGUparam(bitstring), event endGUparam(bitstring), event beginGSparam(bitstring), event endGSparam(bitstring), event beginSGparam(bitstring), and event endSGparam(bitstring)—to verify the mutual authentication of U i , GWN , and S j . The results show that our proposed scheme could achieve mutual authentication.
(4) Session key agreement
The user U i and the sensor S j reach a session key SK ij   = h 2 ( R i | | R j ) for future communication after authentication. Since R i and R j are generated by U i and S j , respectively, both U i and S j have an influence on the outcome of the session key SK ij   = h ( R i | | R j )   = SK ji .
(5) Three-factor security
Suppose an adversary captured the smart card SC i of U i and obtained the biometrics Bio i . The adversary can extract the values { A i ,   b i ,   C i ,   NC i ,   pair i ,   flag } in SC i . Further, the adversary guesses ( ID i , PW i ) and calculates b i   = REP ( Bio i , pair i ) , TID i   = h ( ID i ) , HPW i   = h ( PW i | | b i ) , HID i   = A i h ( HPW i | | TID i ) , and b i   = h ( HPW i | | HID i )   mod   n . However, the adversary does not know the correctness of ( ID i , PW i ) because B i   ?   = h ( HPW i | | HID i )   mod   n . is a fuzzy verification process.
(6) Resistance of other known attacks
Insider attack: An insider adversary can obtain the user’s registration information { TID i   = h ( ID i ) ,   HPW i   = h ( PW i | | b i ) } . Because of the security of the one-way hash function and ignorance about b i , the adversary cannot capture PW i . Therefore, no effective insider attack can be launched.
Stolen verifier table attack: There is no password-related or biometric-related information stored inside the GWN. Therefore, the stolen verifier table attack is infeasible in our proposed scheme.
User impersonation attack: For generating valid login request information, the adversary needs to know HID i . While we know b i   = REP ( Bio i , pair i ) , TID i   = h ( ID i ) , HPW i   = h ( PW i | | b i ) , and HID i   = A i h ( HPW i | | TID i ) , where A i and pair i are stored in SC i . Therefore, the adversary cannot forge U i without getting ID i , PW i , Bio i and SC i . Thus our proposed scheme could resist user impersonation attacks.
Sensor Spoofing Attack: An adversary cannot forge a sensor node S j without getting the secrets of S j ( NS j and X S j ). Therefore, no effective sensor spoofing attack can be launched.
Known session-specific temporary information attack: In our proposed scheme, the user U i and the micro-sensor S j reach a session key SK ij   = h ( R i | | R j )   = h ( h ( TID i | | PID i | | NC i | | r i ) | | h ( SID j | | r j ) ) . Even if an adversary captured the session-specific temporary information, r i and r j , he cannot launch a known session-specific temporary information attack without NC i . As a result, our proposed scheme can resist known session-specific temporary information attacks.
De-synchronization attack: We analyze five possible cases of de-synchronization attacks, shown in Figure 6.
Case 1: Suppose an adversary blocked C 1 :   { PID i ,   M 1 ,   M UG ,   T 1 } . Since none of the participants updated the information table, the attack is infeasible.
Case 2: Suppose an adversary blocked C 2 :   { M 2 ,   M GS ,   NG j ,   T 2 } , the information stored on the GWN side and sensor side would be out of synchronization. However, by calculating
, it can be known how many times the communications between S j and the GWN are blocked. The information on two sides would be resynchronized by calculating N times X S j   = h ( X S j | | SID j ) and updating X S j   = X S j , N j   = NG j .
Case 3: If an adversary blocks C 3 :   { SID j ,   M 3 ,   M SG ,   T 3 } . Both the GWN and S j have updated the X S j and NG j / N j . The synchronization between U i and the GWN is the same as Case 4.
Case 4: If an adversary blocks C 4 :   { p i new ,   M 4 ,   M GU ,   T 4 } . The communications between the GWN and S j are in synchronization, while the communications between U i and the GWN are out of synchronization. In this case, the GWN has completed the update of PID i , and PID i old records the previous PID i . Since C 4 :   { p i new ,   M 4 ,   M GU ,   T 4 } is not received, the user U i does not update C i , and the PID i calculated in the next session is not updated. However, when U i initiates the session request again, the GWN finds that the PID i sent by U i is the same as the PID i old recorded in its memory. The GWN can identify the de-synchronization attack initiated by the adversary and synchronize the information according to Step 2 of the authentication phase. Therefore, the proposed new protocol can also resist the attacks of Case 3 and Case 4 of de-synchronization attacks.
In summary, our proposed scheme can resist de-synchronization attacks. On the other hand, we have shown that our proposed scheme can achieve forward secrecy in previous part of this section. Therefore, our proposed scheme can resist offline password-guessing attacks and stolen smart card attacks.

7. Performance Analysis

This section will compare and analyze the performance of the proposed new protocol with other similar protocols, including a computing cost comparison and communication cost comparison. Since the registration phase of users and sensors occurs only once, and users do not change their passwords and biometrics frequently, this section only discusses the performance comparison between authentication phases.

7.1. Comparison of Computing Costs

According to the experimental data in the literature [35], T h     0 . 32 ms , the computing cost comparison between our proposed scheme and other similar schemes, is shown in Table 5. From the results, the proposed protocol has a lower computation cost than the other four similar protocols.

7.2. Comparison of Communication Costs

We assume that the length of identification, random number, timestamp, and other parameters involved in the proposed protocol and other similar protocols is 128 bits, and the length of the timestamp is 32 bits. Hash functions h : { 0 , 1 } { 0 ,   1 } 128 and H : { 0 ,   1 } { 0 ,   1 } 256 have 128-bit and 256-bit outputs, respectively. Other related protocols use hash functions (such as MD5) with an output length of 128 bits.
In the authentication phase of the newly proposed protocol, there are four transmission messages: { PID i ,   M 1 ,   M UG ,   T 1 } , { M 2 ,   M GS ,   NG j ,   T 2 } , { SID j ,   M 3 ,   M SG ,   T 3 } , and { p i new ,   M 4 ,   M GU ,   T 4 } . The total length of the transmitted message is (128 + 256 + 128 + 32) + (256 + 128 + 128 + 32) + (128 + 256 + 128 + 32) + (128 + 128 + 128 + 32) = 2048 bits.
Table 6 shows the comparison of the communication costs between the proposed new protocol and other similar schemes. From the comparison results, our new proposed scheme is also at a good level in terms of communication costs.

8. Conclusions

Due to the insecurity of wireless sensor networks, abundant research on authentication and key agreement protocols for WSNs has been put forward. In 2019, Shin et al. proposed a lightweight three-factor authentication and key agreement protocol based on symmetric cryptographic primitives for WSNs, which looked promising. However, we found that there are some security risks in their protocol. To solve the shortcomings, we proposed a new lightweight and anonymous three-factor authentication scheme for WSNs. Furthermore, we proved that our proposed scheme is secure using the automated security verification tool ProVerif, BAN-logic verification, and an informal security analysis. Through a performance comparison and analysis, our new scheme shows a good level of computing and communication overhead and has high practicability. In future research, we will focus on finding a lighter mathematical model to realize the strong security of identity authentication in wireless sensor networks and apply the scheme to the actual environment.

Author Contributions

Conceptualization, L.Z.; Formal analysis, H.X.; Investigation, H.X.; Methodology, L.Z.; Supervision, H.X. and K.Z.; Validation, K.Z.; Writing—original draft, L.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by the Project of Educational Commission of Guangdong Province (No.6019210033S), Shenzhen Fundamental Research Project (No.JCYJ20180305163701198), Shenzhen Bureau of Education (No.zdzz20002).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

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. Gnawali, O.; Jang, K.-Y.; Paek, J.; Vieira, M.; Govindan, R.; Greenstein, B.; Joki, A.; Estrin, D.; Kohler, E. The tenet architecture for tiered sensor networks. In Proceedings of the 4th International Conference on Embedded Networked Sensor Systems ACM, Boulder, CO, USA, 31 October–3 November 2006; pp. 153–166. [Google Scholar]
  3. Yang, D.; Misra, S.; Fang, X.; Xue, G.; Zhang, J. Two-Tiered Constrained Relay Node Placement in Wireless Sensor Networks: Computational Complexity and Efficient Approximations. IEEE Trans. Mob. Comput. 2011, 11, 1399–1411. [Google Scholar] [CrossRef]
  4. He, D.; Kumar, N.; Chilamkurti, N. A secure temporal-credential-based mutual authentication and key agreement scheme with pseudo identity for wireless sensor networks. Inf. Sci. 2015, 321, 263–277. [Google Scholar] [CrossRef]
  5. He, D.; Chen, C.; Chan, S.; Bu, J.; Yang, L.T. Security Analysis and Improvement of a Secure and Distributed Reprogramming Protocol for Wireless Sensor Networks. IEEE Trans. Ind. Electron. 2012, 60, 5348–5354. [Google Scholar] [CrossRef]
  6. Lamport, L. Password authentication with insecure communication. Commun. ACM 1981, 24, 770–772. [Google Scholar] [CrossRef]
  7. Guo, H.; Gao, Y.; Xu, T.; Zhang, X.; Ye, J. A secure and efficient three-factor multi-gateway authentication protocol for wireless sensor networks. Ad Hoc Networks 2019, 95, 101965. [Google Scholar] [CrossRef]
  8. Gope, P.; Das, A.K.; Kumar, N.; Cheng, Y. Lightweight and Physically Secure Anonymous Mutual Authentication Protocol for Real-Time Data Access in Industrial Wireless Sensor Networks. IEEE Trans. Ind. Inform. 2019, 15, 4957–4968. [Google Scholar] [CrossRef]
  9. Ever, Y.K. Secure-anonymous user Authentication scheme for e-healthcare application using wireless medical sensor networks. IEEE Syst. J. 2018, 13, 456–467. [Google Scholar] [CrossRef]
  10. Adavoudi-Jolfaei, A.H.; Ashouri-Talouki, M.; Aghili, S.F. Lightweight and anonymous three-factor authentication and access control scheme for real-time applications in wireless sensor networks. Peer-to-Peer Netw. Appl. 2019, 12, 43–59. [Google Scholar] [CrossRef]
  11. Wang, D.; Li, W.; Wang, P. Measuring Two-Factor Authentication Schemes for Real-Time Data Access in Industrial Wireless Sensor Networks. IEEE Trans. Ind. Inform. 2018, 14, 4081–4092. [Google Scholar] [CrossRef]
  12. Mishra, D.; Vijayakumar, P.; Sureshkumar, V.; Amin, R.; Islam, S.K.H.; Gope, P. Efficient authentication protocol for secure multimedia communications in IoT-enabled wireless sensor networks. Multimed. Tools Appl. 2018, 77, 18295–18325. [Google Scholar] [CrossRef]
  13. Wu, F.; Li, X.; Sangaiah, A.K.; Xu, L.; Kumari, S.; Wu, L.; Shen, J. A lightweight and robust two-factor authentication scheme for personalized healthcare systems using wireless medical sensor networks. Futur. Gener. Comput. Syst. 2018, 82, 727–737. [Google Scholar] [CrossRef]
  14. Wu, F.; Xu, L.; Kumari, S.; Li, X. An improved and provably secure three-factor user authentication scheme for wireless sensor networks. Peer-to-Peer Netw. Appl. 2018, 11, 1–20. [Google Scholar] [CrossRef]
  15. Ramachandran, S.; Shanmugam, V. A two way authentication using bilinear mapping function for wireless sensor networks. Comput. Electr. Eng. 2017, 59, 242–249. [Google Scholar] [CrossRef]
  16. Gope, P.; Hwang, T. A Realistic Lightweight Anonymous Authentication Protocol for Securing Real-Time Application Data Access in Wireless Sensor Networks. IEEE Trans. Ind. Electron. 2016, 63, 7124–7132. [Google Scholar] [CrossRef]
  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. Futur. Gener. Comput. Syst. 2016, 63, 56–75. [Google Scholar] [CrossRef]
  18. Xiong, L.; Peng, D.; Peng, T.; Liang, H.; Liu, Z. A Lightweight Anonymous Authentication Protocol with Perfect Forward Secrecy for Wireless Sensor Networks. Sensors 2017, 17, 2681. [Google Scholar] [CrossRef] [Green Version]
  19. Wong, K.H.M.; 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 (SUTC ’06), Taichung, Taiwan, 5–7 June 2006; Volume 1, p. 8. [Google Scholar]
  20. Das, M.L. Two-factor user authentication in wireless sensor networks. IEEE Trans. Wirel. Commun. 2009, 8, 1086–1090. [Google Scholar] [CrossRef]
  21. Chen, T.H.; Shih, W.K. A robust mutual authentication protocol for wireless sensor networks. ETRI J. 2010, 32, 704–712. [Google Scholar] [CrossRef]
  22. He, D.; Gao, Y.; Chan, S.; Chen, C.L.P. An enhanced two-factor user authentication scheme in wireless sensor networks. Ad Hoc Sens. Wirel. Netw. 2010, 10, 361–371. [Google Scholar]
  23. Farash, M.S.; Turkanović, M.; Kumari, S.; Hölbl, M. An efficient user authentication and key agreement scheme for heterogeneous wireless sensor network tailored for the Internet of Things environment. Ad Hoc Networks 2016, 36, 152–176. [Google Scholar] [CrossRef]
  24. Amin, R.; Islam, S.H.; Biswas, G.; Khan, M.K.; Leng, L.; Kumar, N. Design of an anonymity-preserving three-factor authenticated key exchange protocol for wireless sensor networks. Comput. Networks 2016, 101, 42–62. [Google Scholar] [CrossRef]
  25. Jiang, Q.; Zeadally, S.; Ma, J.; He, D. Lightweight three-factor authentication and key agreement protocol for internet-integrated wireless sensor networks. IEEE Access 2017, 5, 3376–3392. [Google Scholar] [CrossRef]
  26. Shin, S.; Kwon, T. A Lightweight Three-Factor Authentication and Key Agreement Scheme in Wireless Sensor Networks for Smart Homes. Sensors 2019, 19, 2012. [Google Scholar] [CrossRef] [Green Version]
  27. Fathollahi-Fard, A.M.; Dulebenets, M.A.; Hajiaghaei–Keshteli, M.; Tavakkoli-Moghaddam, R.; Safaeian, M.; Mirzahosseinian, H. Two hybrid meta-heuristic algorithms for a dual-channel closed-loop supply chain network design problem in the tire industry under uncertainty. Adv. Eng. Inform. 2021, 50, 101418. [Google Scholar] [CrossRef]
  28. Fathollahi-Fard, A.M.; Ahmadi, A.; Karimi, B. Multi-Objective Optimization of Home Healthcare with Working-Time Balancing and Care Continuity. Sustainability 2021, 13, 12431. [Google Scholar] [CrossRef]
  29. Fallahpour, A.; Wong, K.Y.; Rajoo, S.; Fathollahi-Fard, A.M.; Antucheviciene, J.; Nayeri, S. An integrated approach for a sustainable supplier selection based on Industry 4.0 concept. Environ. Sci. Pollut. Res. 2021, 1–19. [Google Scholar] [CrossRef]
  30. Wang, D.; He, D.; Wang, P.; Chu, C.-H. Anonymous Two-Factor Authentication in Distributed Systems: Certain Goals Are Beyond Attainment. IEEE Trans. Dependable Secur. Comput. 2015, 12, 428–442. [Google Scholar] [CrossRef]
  31. Huang, X.; Xiang, Y.; Chonka, A.; Zhou, J.; Deng, R. A Generic Framework for Three-Factor Authentication: Preserving Security and Privacy in Distributed Systems. IEEE Trans. Parallel Distrib. Syst. 2011, 22, 1390–1397. [Google Scholar] [CrossRef]
  32. Wang, D.; Gu, Q.; Cheng, H.; Wang, P. The request for better measurement: A comparative evaluation of two-factor authentication schemes. In Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security ACM, Xi’an, China, 30 May–3 June 2016; pp. 475–486. [Google Scholar]
  33. Blanchet, B.; Smyth, B.; Cheval, V.; Sylvestre, M. ProVerif 2.00: Automatic Cryptographic Protocol Verifier, User Manual and Tutorial. 2018. Available online: https://prosecco.gforge.inria.fr/personal/bblanche/proverif (accessed on 15 October 2021).
  34. Burrows, M.; Abadi, M.; Needham, R.M. A logic of authentication. Proceedings of the Royal Society of London. A. Math. Phys. Sci. 1989, 426, 233–271. [Google Scholar]
  35. He, D.; Kumar, N.; Lee, J.-H.; Sherratt, R. Enhanced three-factor security protocol for consumer USB mass storage devices. IEEE Trans. Consum. Electron. 2014, 60, 30–37. [Google Scholar] [CrossRef]
  36. Ostad-Sharif, A.; Arshad, H.; Nikooghadam, M.; Abbasinezhad-Mood, D. Three party secure data transmission in IoT networks through design of a lightweight authenticated key agreement scheme. Futur. Gener. Comput. Syst. 2019, 100, 882–892. [Google Scholar] [CrossRef]
Figure 1. Network model of wireless sensor networks.
Figure 1. Network model of wireless sensor networks.
Symmetry 14 00046 g001
Figure 2. User registration phase of Shin et al.’s scheme.
Figure 2. User registration phase of Shin et al.’s scheme.
Symmetry 14 00046 g002
Figure 3. Authentication phase of Shin et al.’s scheme.
Figure 3. Authentication phase of Shin et al.’s scheme.
Symmetry 14 00046 g003
Figure 4. User registration phase of the proposed scheme.
Figure 4. User registration phase of the proposed scheme.
Symmetry 14 00046 g004
Figure 5. Authentication phase of the proposed scheme.
Figure 5. Authentication phase of the proposed scheme.
Symmetry 14 00046 g005
Figure 6. Possible de-synchronization attack on our proposed protocol.
Figure 6. Possible de-synchronization attack on our proposed protocol.
Symmetry 14 00046 g006
Table 1. The capabilities of the adversary.
Table 1. The capabilities of the adversary.
SymbolDescription
C1 A can enumerate every possibility of user identity and password.
C2 A can eavesdrop, intercept, insert, delete, or block messages transmitted in the public channel.
C3For a three-factor protocol (password, smart card, and biometric), A can capture two of the authentication factors simultaneously.
C4Expired session keys can be captured.
C5 A can obtain the long-term private keys of users, GWNs, or sensors (only when evaluating forward secrecy).
Table 2. Notations.
Table 2. Notations.
SymbolDescription
GWNGateway Node
U i User
ID i Identification of U i
PW i Password of U i
SC i Smart card of U i
Bio i Biometric of U i
b i Random string generated by a fuzzy extractor
pair i Random helper string generated by a fuzzy extractor
PID i Pseudo identification of U i
S j Sensor Node
SID j Identification of S j
SK ij Session Key of U i and S j
T 1 , T 2 , T 3 , T 4 Timestamp
XOR Operation
H(*)/h(*)Hash Function
| | Concatenation operation
Table 3. BAN-logic notations.
Table 3. BAN-logic notations.
SymbolDescription
P | X P believes X .
P X P sees X .
P | ~ X P sends X .
P X P has jurisdiction over X .
( X ) X is fresh.
( X ,   Y ) X or Y is part of ( X ,   Y ) .
( X ) K Use the key K to compute X .
P SK Q P and Q achieve the shared key SK for communication.
Table 4. Basic logical postulates of BAN-logic.
Table 4. Basic logical postulates of BAN-logic.
SymbolDescription
Message meaning rule P | ( P K Q ) ,   P ( X ) K P | Q | ~ X
Freshness conjuncatenation rule P | ( X ) P | ( X ,   Y )
Nonce verification rule P | ( X ) ,   P | Q | ~ X P | Q | X
Jurisdiction rule P | Q | X ,   P | Q | X P | X
Believe rule P | Q | ( X ,   Y ) P | Q | X ,     P | X , P | Y P | ( X ,   Y )  
Table 5. Comparison of computing costs (milliseconds).
Table 5. Comparison of computing costs (milliseconds).
ProtocolUserGWNSensorTotal
Shin et al. [26] 13 T h     4 . 16 15 T h     4 . 8 6 T h     1 . 92 34 T h     10 . 88
Ostad et al. [36] 11 T h     3 . 52 17 T h     5 . 44 5 T h     1 . 6 33 T h     10 . 56
Wu et al. [13] 10 T h     3 . 2 15 T h     4 . 8 5 T h     1 . 6 31 T h     9 . 92
Amin et al. [24] 12 T h     3 . 84 15 T h   3 . 2 5 T h     1 . 6 32 T h     10 . 24
Proposed 11 T h     3 . 52 10 T h     3 . 2 6 T h     1 . 92 27 T h     8 . 64
Table 6. Comparison of communication costs.
Table 6. Comparison of communication costs.
ProtocolNumber of MessagesLength of Interactive Information
Shin et al. [26]4 Messages1664 bits
Ostad et al. [36]6 Messages2208 bits
Wu et al. [13]4 Messages2176 bits
Amin et al. [24]6 Messages2016 bits
Proposed4 Messages2048 bits
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhu, L.; Xiang, H.; Zhang, K. A Light and Anonymous Three-Factor Authentication Protocol for Wireless Sensor Networks. Symmetry 2022, 14, 46. https://doi.org/10.3390/sym14010046

AMA Style

Zhu L, Xiang H, Zhang K. A Light and Anonymous Three-Factor Authentication Protocol for Wireless Sensor Networks. Symmetry. 2022; 14(1):46. https://doi.org/10.3390/sym14010046

Chicago/Turabian Style

Zhu, Lianghong, Huaikun Xiang, and Kai Zhang. 2022. "A Light and Anonymous Three-Factor Authentication Protocol for Wireless Sensor Networks" Symmetry 14, no. 1: 46. https://doi.org/10.3390/sym14010046

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