Next Article in Journal
A Smart Pillow for Health Sensing System Based on Temperature and Humidity Sensors
Previous Article in Journal
Hierarchical Sub-Pixel Anomaly Detection Framework for Hyperspectral Imagery
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Securing Heterogeneous Wireless Sensor Networks: Breaking and Fixing a Three-Factor Authentication Protocol

1
Department of Information Technology Engineering, Faculty of Computer Engineering, University of Isfahan, Hezar Jerib St., Isfahan 81746-73441, Iran
2
Department of Computer Science, University Carlos III of Madrid, Avda. de la Universidad 30, 28911 Leganés, Spain
*
Author to whom correspondence should be addressed.
Sensors 2018, 18(11), 3663; https://doi.org/10.3390/s18113663
Submission received: 3 August 2018 / Revised: 11 September 2018 / Accepted: 21 September 2018 / Published: 29 October 2018
(This article belongs to the Section Sensor Networks)

Abstract

:
Heterogeneous wireless sensor networks (HWSNs) are employed in many real-time applications, such as Internet of sensors (IoS), Internet of vehicles (IoV), healthcare monitoring, and so on. As wireless sensor nodes have constrained computing, storage and communication capabilities, designing energy-efficient authentication protocols is a very important issue in wireless sensor network security. Recently, Amin et al. presented an untraceable and anonymous three-factor authentication (3FA) scheme for HWSNs and argued that their protocol is efficient and can withstand the common security threats in this sort of networks. In this article, we show how their protocol is not immune to user impersonation, de-synchronization and traceability attacks. In addition, an adversary can disclose session key under the typical assumption that sensors are not tamper-resistant. To overcome these drawbacks, we improve the Amin et al.’s protocol. First, we informally show that our improved scheme is secure against the most common attacks in HWSNs in which the attacks against Amin et al.’s protocol are part of them. Moreover, we verify formally our proposed protocol using the BAN logic. Compared with the Amin et al.’s scheme, the proposed protocol is both more efficient and more secure to be employed which renders the proposal suitable for HWSN networks.

1. Introduction

In wireless sensor networks (WSNs) there are many sensor nodes scattered in a defined area [1]. These networks can be categorized into two important classes: homogeneous and heterogeneous sensor networks. On the one hand, in homogeneous sensor networks, all the sensor nodes are equal in terms of energy and hardware complexity. On the other hand, heterogeneous sensor networks (HWSNs) include various types of wireless sensor nodes with different capabilities and functions. In HWSNs, the sensors share their functions and increase the reliability of the network without increasing the cost of implementation [2,3,4,5]. Some of these sensors are low-cost, low-power and consequently have constrained computational power, transmission range, storage capacity and battery life [6]. It is clear that there are great needs to design energy-efficient protocols for such networks. In HWSN, users communicate to the sensor nodes to acquire data of their own interest. Therefore, the user and sensor node authentication is an important line of research in HWSN security which has recently awakened interest from the network security research community. In HWSN, the gateway node (GWN) plays an essential part in the authorization procedure since this element is the connection (input/output) with the all the elements outside the network. As shown in Figure 1, there are five models in authenticating users and sensor nodes in HWSN [7]. In these five schemes, a user, a gateway node and a sensor node implement the authentication protocol by exchanging four messages (e.g., Figure 1(a.1–a.4)). In each scheme, there are four steps: (1) the gateway node authenticates the user (e.g., Figure 1(a.1)); (2) the sensor node authenticates the legitimate user and the gateway node (e.g., Figure 1(a.2)); (3) the sensor node verifies the legitimacy of the gateway node (e.g., Figure 1(a.3)); and finally, (4) in the last step, the user authenticates the legitimate sensor node (e.g., Figure 1(a.4)). Since HWSN nodes face with to many limitations in power consumption and communication range, models, in which a user and a sensor are a long way apart, are not practical, Figure 1e,b,d [8,9].
To tackle with security challenges of HWSN networks, we need lightweight enough and secure schemes. In the literature, authentication protocols are the most common adopted solution [7,10,11,12,13,14]. Unfortunately, most of them do not provide the required security and present important security pitfalls or are not energy-efficient. In this vein, recently, Amin et al. presented an untraceable and anonymous 3FA scheme for HWSNs. They used the model depicted in Figure 1a to design their protocol and asserted that their protocol can resist all common attacks known in the context of HWSN [15]. Nevertheless, in this article, we cryptanalyzed this protocol to show that this scheme is vulnerable against user impersonation, de-synchronization and session key disclosure attacks and also the adversary can trace the user. In order to hinder these attacks, we improve the Amin et al.’s protocol.

1.1. Our Contribution

The contributions of this article are summarized as below:
  • At first, we present several serious security attacks against the Amin et al.’s scheme [15]. Our proposed attacks include de-synchronization, user impersonation, user traceability and session disclosure attacks.
  • In order to increase the security level offered by Amin et al.’s protocol, we remedy the security faults found in their scheme.
  • The security of the proposed scheme has be scrutinized from a formal and informal point of view. The attacks mentioned in Amin et al.’s protocol and other common security attacks have been considered in the design of the new protocol.
  • The efficiency of our proposal is higher than the offered by Amin et al.’s scheme. Therefore, our scheme can be used for resource constrained sensors as the ones employed in HWSNs.

1.2. Paper Organization

The organization of the article is as follows. In Section 2, some related work are presented. Section 3 introduces the required preliminaries and notations. We review Amin et al.’s protocol in Section 4. Section 5 shows the security pitfalls of this scheme. We propose the improved scheme in Section 6. Then, we discuss the security of the proposed protocol in an informally way in Section 7, while, in Section 8, a formal analysis is presented. Finally, we extract some conclusions in Section 9.

2. Related Work

In a wireless sensor network, to allow a legitimate user to obtain information from a target sensor, the system needs to verify the validity of user by running an authentication protocol. In this section, we briefly discuss some existing schemes that aim to increase the security level of these networks.
Two-factor Authentication Schemes: Several two-factor authentication (2FA) schemes have been proposed for WSN, where the login phase of these protocols is based on passwords and smartcards.
In 2006, Wong et al. [16] presented a 2FA protocol based on the use of a hash function for wireless sensor networks, but the authors in [11] found that the protocol suffers from serious security pitfalls (i.e., replay, stolen-verifier and forgery attacks). To overcome these important weaknesses, authors in [11] proposed a new 2FA protocol based on passwords and smartcards. However, this protocol also is not immune against denial of service attacks and the nodes can be compromised [17].
In 2010, to improve the [11] protocol, Chen et al. [10] presented a bilateral authentication protocol in which three entities are involved (i.e., users, sensor nodes and the gateway node). In the same year, Khan et al. [12] showed that [11] fails in the authentication and in the key updating mechanism and presented a new protocol that they claimed it hinders the mentioned attacks. Later, Vaidya et al. [18] introduced several security vulnerabilities in [10,11,12] based on the stolen smartcard assumption. Xue et al. in 2013 presented a mutual authentication protocol based on temporal credentials, which is mainly based on the use of hash functions [7]. Nevertheless, He et al. [19] showed how the above protocol [7] is not resistant against user node and sensor node impersonation attacks and proposed a new temporal-credential-based protocol to overcome these weaknesses. In addition, Mir et al. [20] compromised the security of the healthcare system designed by He et al. [21], uncovering impersonation and password disclosure attacks. In addition, Turkanovic et al. [22] presented another bilateral authentication scheme in the context of HWSNs. However, Amin and Biswas [23] examined the Turkanovic et al. scheme and identified certain security problems (e.g., offline identity and password guessing attacks) and finally claimed to remove these security pitfalls in an efficient protocol. In the same year, Farash et al. [6] showed also some security shortcomings in [22] and proposed a new lightweight protocol. In the context of lightweight cryptography, Gope et al. [24] presented a 2FA protocol with especial security features including user anonymity and forward/backward secrecy. Soon, in [25], the authors analyzed the Gope’s protocol by presenting a session key disclosure attack.
Three-Factor Authentication Schemes: In 2016, Amin et al. [26] pointed out how the Farash et al. protocol is susceptible to a number of attacks and proposed a new mechanism which was claimed to be resistant against these attacks. To enhance the security flaws of 2FA protocols, Amin et al. proposed a three-factor authentication (3FA) scheme based on password, smartcard and biometric trait linked to the legitimate user. However, Arasteh et al. [27] proposed replay and Denial-of-Service (DoS) attacks against Amin et al.’s scheme. In 2017, the authors in [28] presented an smartcard loss attack against Amin et al.’s 3FA protocol [26]. They also showed that the attacker can reveal the session keys in other sessions of the protocol. To overcome the security flaws of this protocol, they proposed the enhanced scheme based on the Rabin’s cryptosystem. In the same year, Jiang et al. [29] presented a solution to enhance the security of another 3FA protocol [30] that suffers from important security faults including traceability, identity guessing, offline password guessing, user impersonation and server impersonation attacks.
Chang et al. in [31] found several vulnerabilities in the Turkanovic et al. 2FA protocol [22] and presented an enhancement solution, but the scheme was shown to be vulnerable to a wide set of attacks such as traceability, information disclosure or session key attacks [15]. Eventually, Amin et al. [15] presented a new untraceable and anonymous 3FA scheme for HWSNs which was argued to be the improved version of Chang et al. scheme. Nevertheless, in this article, we scrutinize the security of this 3FA protocol and show how it is vulnerable to user impersonation, de-synchronization and session key disclosure attacks and also the adversary can trace the user. To prevent these attacks, we upgrade the Amin et al.’s protocol and analyze its security from a formal and informal perspective.
Privacy Schemes: In some of the protocols mentioned, the authors have stated that their schemes can preserve the user’s privacy. To do this, the user’s identifier is encoded using a dynamic identity. This anonymous identifier is used when the user communicates with the gateway node, and this information is useless for the attacker to reveal the user’s identity [24]. In detail, in schemes [7,32,33], the authors claim that their proposals preserve users’ privacy. Unfortunately, all of them fail in this purpose [24].
Threat Model: Our threat model mainly follows the Dolev–Yao model [34]. Therefore, the adversary can intercept, modify, delete and change any of messages transmitted over the insecure communication channel. The adversary can also execute side channel attacks and then obtain the secrets stored on the smartcard. In addition, the adversary can capture the sensors and reveal their private information stored in their memory as these devices do not have tamper protection mechanisms [24].

3. Preliminaries and Notations

This section first shows the notations used in this paper and then revises the proposed fuzzy extractor function for extracting the biometric parameters required for the third factor of the authentication procedure.

3.1. Notations

The notation used through this article is summarized in the Table 1.

3.2. Fuzzy Extractor

The facts that biometric tokens cannot be easily guessed, are difficult to be copied, shared and forged, and are not lost or forgotten makes biometric based authentication more preferable than traditional password based ones [35,36].
A fuzzy extractor can generate cryptography keys over noisy data. In other words, they are error tolerant. In detail, this is composed of two processes, a probabilistic algorithm G E N and a deterministic algorithm R E P as described below:
  • The generation procedure ( G E N ): given a biometric input B i , this probabilistic algorithm generates a secret key ψ i and a non-secret string θ i , i.e., G E N ( B i ) = ( ψ i , θ i ) .
  • The reproduction procedure ( R E P ): given the noisy input B i * and the corresponding auxiliary string θ i , this algorithm is able to recover the same key ψ i as in the generation process, i.e., ψ i = R E P ( B i * , θ i ) .

4. Review of Amin et al.’s Scheme

In this section, we scrutinize the security of the authentication protocol proposed by Amin et al., which is composed of nine phases: (1) pre-deployment; (2) user registration; (3) login; (4) authentication and key agreement; (5) updating; (6) post-deployment; (7) password recovery; (8) password change; and (9) smartcard revocation.

4.1. Pre-Deployment Phase

Firstly, the gateway node G W N chooses X G W N as a long-term secret key and assigns identities S I D j to the sensor nodes S j ( 1 j m for a population of m sensor nodes in the network). Then, the G W N calculates f j = h ( S I D j X G W N ) and stores S I D j , f j into the memory of S j .

4.2. User Registration Phase

Using a secure channel, the user U i executes the following steps in conjunction with the G W N .
Step 1.
U i chooses an identity I D i , attaches to it a personal credentials (e.g., social security number), and submits both values to the G W N .
Step 2.
If the G W N does not find I D i in the database, it generates r i R Z q * and calculates M I i = h ( I D i r i ) and f i = h ( M I i X G W N ) . Both values ( M I i , f i ) are stored in a new smartcard S C i and the device is handed over to U i .
Step 3.
Once receiving the smartcard, U i chooses a password P W i and then uses a sensor device to obtain his biometric information B i and finally writes P W i , I D i , B i to the S C i .
Step 4.
S C i uses the fuzzy extractor technique to calculate ( ψ i , θ i ) = G E N ( B i ) , it then computes A i = h ( I D i P W i ψ i ) , E i = θ i h ( I D i P W i ) , C i = f i h ( P W i ψ i ) , R E C = P W i h ( I D i ψ i ) , R E G i = h ( I D i ψ i ) and deletes f i .
Finally, the smartcard contains the tuple M I i , C i , E i , A i , R E C , R E G i , G E N ( ) , R E P ( ) , h ( ) .

4.3. Login Phase

The user U i follows these steps to access the data collected by sensor S j .
Step 1.
U i inserts S C i into the terminal and then enters I D i and P W i and also uses the sensor device to imprint his biometric information B i .
Step 2.
S C i retrieves θ i = E i h ( I D i P W i ) and computes ψ i = R E P ( B i , θ i ) , f i = C i h ( P W i ψ i ) and A i = h ( I D i P W i ψ i ) . S C i verifies the correctness of A i . If so, S C i concludes I D i = I D i , P W i = P W i and B i = B i ; otherwise, S C i denies U i .
Step 3.
S C i generates K i R Z q * and computes N i = h ( M I i K i f i T 1 S I D j ) , L i = K i h ( M I i f i T 1 ) , P i = S I D j h ( f i T 1 ) and Q i = h ( I D i ) h ( K i T 1 ) T 1 represents the current timestamp.
Finally, S C i sends the tuple M I i , N i , P i , Q i , L i , T 1 to G W N through an insecure channel.

4.4. Authentication and Session Key Agreement Phase

Two goals are achieved in this phase (see Figure 2): (1) U i and S j are authenticated through G W N ; and (2) U i and S j set a session key. In particular, the following five steps are executed.
Step 1.
After receiving the message M I i , N i , P i , Q i , L i , T 1 in login phase, the G W N checks whether the timestamp condition T 1 T 2 Δ T holds, T 2 being the current time of G W N . If the condition is fulfilled, the G W N aborts the connection. Otherwise, it calculates f i = h ( M I i X G W N ) and then decodes K i = L i h ( M I i f i T 1 ) , h ( I D i ) = Q i h ( K i T 1 ) and S I D j = P i h ( f i T 1 ) . It then computes N i = h ( M I i K i f i T 1 S I D j ) and checks the validity of the received N i . If so, the G W N identifies to U i as an authorized user. If not, it aborts the connection.
Step 2.
Then, G W N calculates f j = h ( S I D j X G W N ) , N j = h ( h ( I D i ) f j T 2 K i ) , S S j = h ( I D i ) h ( f j T 2 ) and V j = K i h ( I D i ) . G W N then sends the tuple N j , S S j , V j , T 2 to S j .
Step 3.
Upon receiving the message N j , S S j , V j , T 2 , S j checks the validity of timestamp T 2 . If T 2 T 3 > Δ T , it terminates the connection. Otherwise, S j computes h ( I D i ) = S S j h ( f j T 2 ) , K i = V j h ( I D i ) and the N j = h ( h ( I D i ) f j T 2 K i ) and verifies the validity of received N j . If it is invalid, then S j aborts the session. Otherwise, it generates K j R Z q * and computes S K j = h ( h ( I D i ) S I D j K i K j ) as a session key and then computes W j = h ( S K j T 3 ) and K i j = K i K j . Then, S j sends the tuple W j , K i j , T 3 to G W N .
Step 4.
Once the message W j , K i j , T 3 is received, the G W N verifies the freshness of T 3 . If T 3 T 4 > Δ T , G W N aborts the connection. Otherwise, it decodes K j = K i j K i and calculates the session key S K G = h ( h ( I D i ) S I D j K i K j ) . It then computes W j = h ( S K G T 3 ) to verify the correctness of the received W j . If the above verification fails, then G W N discontinues the session. Otherwise, it calculates M 1 = h ( S K G K j T 4 ) and forwards the message M 1 , K i j , T 4 to U i .
Step 5.
Once the message M 1 , K i j , T 4 is received, U i checks whether the condition T 4 T 5 Δ T is satisfied. If it is not fulfilled, U i aborts the session. Otherwise, it calculates K j = K i j K i , S K i = h ( h ( I D i ) S I D j K i K j ) and M 1 = h ( S K i K j T 4 ) to verify the correctness of the received M 1 . Now the entities are mutually authenticated and a session key S K i = S K G = S K j has been negotiated.

4.5. Update Phase

In this phase, in order to achieve user untraceability, U i updates M I i , C i as follows:
Step 1.
U i computes M 2 = I D i h ( S K i K i ) and sends it to G W N as a confirmation message. After receiving the message, G W N decodes I D i = M 2 h ( S K G K i ) and updates M I i = h ( I D i r i ) and f i = h ( M I i X G W N ) , where r i R Z q * . It then computes M 3 = M I i h ( I D i ) , M 4 = f i h ( f i K i ) and M 5 = h ( h ( I D i ) M 3 M 4 ) and sends the tuple M 3 , M 4 , M 5 to U i .
Step 2.
After receiving the message M 3 , M 4 , M 5 , U i calculates M 5 = h ( h ( I D i ) M 3 M 4 ) to check the validity of the received M 5 . If so, it extracts M I i = M 3 h ( I D i ) and f i = M 4 h ( f i K i ) and computes C i = f i h ( I D i ψ i ) . Then, U i rewrites M I i , C i to S C i instead of previous M I i , C i .

4.6. Post-Deployment Phase

A new sensor node S k is used in this phase to replace a damaged sensor node S j . The G W N generates a new identity S I D k and then calculates f k = h ( S I D k X G W N ) and stores S I D k , f k in S k ’s memory.

4.7. Password Recovery Phase

U i executes this phase when he forgets his password. U i needs to insert S C i in the card reader and enter his identity I D i along with B i . Now, the S C i computes ψ i = R E P ( B i θ i ) and R E G i = h ( I D i ψ i ) . Then, S C i checks whether R E G i = R E G i . If so, then it computes P W i = R E C h ( I D i ψ i ) and sends the recovered password to the user.

4.8. Password Change Phase

The password of the user U i can be updated by executing the updating procedure with S C i and without the intervention of G W N . In detail, the following steps show how the user can update the old password P W i for a new one P W i n e w .
Step 1.
U i inserts S C i in to the terminal and enters I D i , P W i along with biometric information B i .
Step 2.
S C i uses the fuzzy extractor technique to calculate ( ψ i , θ i ) = G E N ( B i ) , it then computes A i = h ( I D i P W i ψ i ) and f i = C i h ( P W i ψ i ) . If ( A i = A i ) , then S C i requests U i to enter a new password P W i n e w at S C i ; otherwise, S C i aborts this procedure.
Step 3.
Now, S C i calculates A i n e w = h ( I D i P W i n e w ψ i ) , E i n e w = θ i h ( I D i P W i n e w ) , C i n e w = C i h ( P W i ψ i h ( P W i n e w ψ i ) ) , R E C n e w = P W i n e w h ( I D i ψ i ) and replaces A i , E i , C i , R E C with A i n e w , E i n e w , C i n e w , R E C n e w .

4.9. Smartcard Revocation Phase

Generally, smartcards can be lost, stolen or damaged. Thus, the smartcard revocation phase is very important. This phase is executed as described below:
Step 1.
U i submits I D i and a personal credential (e.g., social security number) to the smartcard issuer.
Step 2.
If the smartcard issuer can find I D i in the database, it generates r i R Z q * and calculates M I i n e w = h ( I D i r i ) and f i n e w = h ( M I i n e w X G W N ) . It then writes M I i n e w , f i n e w into a new smartcard S C i n e w and delivers it to the user U i .
Step 3.
Once S C i n e w is received, U i chooses a password P W i n e w , receives new biometric information B i n e w from the sensor and writes P W i , I D i , B i to the S C i .
Step 4.
S C i uses the fuzzy extractor technique to calculate ( ψ i , θ i ) = G E N ( B i n e w ) . It then computes A i n e w = h ( I D i P W i n e w ψ i ) , E i n e w = θ i h ( I D i P W i n e w ) , C i n e w = f i n e w h ( P W i n e w ψ i ) , R E C n e w = P W i n e w h ( I D i ψ i ) and R E G i n e w = h ( I D i ψ i ) , and implants C i n e w , E i n e w , A i n e w , R E C n e w , R E G i n e w , G E N ( ) , R E P ( ) , h ( ) into S C i and deletes f i n e w .

5. Security Analysis of Amin et al.’s Protocol

In [15], the authors claimed that the adversary/attacker A cannot trace or identify the user U i using the transmitted messages. Moreover, they claimed that the attacker cannot impersonate the user by accessing to the old login eavesdropped messages.
Unfortunately, for Amin et al.’s protocol, we show how the proposed protocol is not immune against user impersonation and de-synchronization attacks. The user can be also tracked by an attacker who eavesdrops on only one protocol session. In addition, we provide evidence of how an adversary can easily obtain the session key under the assumption that sensors are not tamper-resistant.

5.1. User Impersonation Attack

In this attack, we point out how an adversary A is authenticated by both the gateway node G W N and the sensor node S j . The attack is described below:
  • A eavesdrops on the message M I i , N i , P i , Q i , L i , T 1 sent by U i to the G W N , then he changes the Q i value to Q i .
  • After receiving the message M I i , N i , P i , Q i , L i , T 1 in the login phase, the G W N checks two issues: (1) timestamp condition T 1 T 2 Δ T and (2) validity of the received N i = h ( M I i K i f i T 1 S I D j ) , which does not depend on Q i . Thus, the G W N accepts these two conditions and computes h ( I D i ) = Q i h ( K i T 1 ) and S I D j . It then calculates N i . Now, the G W N believes that A is an authorized user.
  • Then, G W N calculates f j and then computes N j = h ( h ( I D i ) f j T 2 K i ) , S S j = h ( I D i ) h ( f j T 2 ) and V j = K i h ( I D i ) and sends the tuple N j , S S j , V j , T 2 to S j .
  • S j check the correctness of timestamp and computes h ( I D i ) = S S j h ( f j T 2 ) , K i = V j h ( I D i ) and N j = h ( h ( I D i ) f j T 2 K i ) and checks validity of the received N j . It generates K j R Z q * and computes S K j = h ( h ( I D i ) S I D j K i K j ) as a session key and then computes W j and K i j . Now, the S j also believes that A is an authorized user and sends the tuple W j , K i j , T 3 to G W N .
  • The G W N checks the validity of T 3 . It decodes K j and computes the session key S K G = h ( h ( I D i ) S I D j K i K j ) . It then computes W j = h ( S K G T 3 ) and checks validity of the received W j and computes M 1 = h ( S K G K j T 4 ) and sends the message M 1 , K i j , T 4 to U i which is the adversary. At this point, the adversary sends the random number M 2 to G W N as a confirmation message. After receiving the message, G W N uses the message to obtain I D i which is the random number. Due to the absence of any checking process, it employs this value to compute M 3 , M 4 and M 5 and then sends the tuple M 3 , M 4 , M 5 to the adversary.
Following this attack, the adversary cheats G W N and S j to pass the protocol with the success probability of “1”. Moreover, G W N and S j establish the wrong session key along with h ( I D i ) .

5.2. De-Synchronization Attack

In Amin et al.’s authentication phase, an adversary A by eavesdropping only one session can reveal the h ( I D i ) of the user U i and uses it to render the user to a de-synchronization state as follows. Note that, in the proposed attack, the superscript j indicates the parameters of the j-th run of protocol, j = 1 , 2 . In addition, in the Amin et al. scheme, the values of h ( I D i ) of the user U i is a constant value. In detail, the attack can be executed following the steps described below:
  • A eavesdrops on the message M 3 1 = M I i 2 h ( I D i ) from session 1;
  • A eavesdrops on the message M I i 2 from session 2;
  • A obtains h ( I D i ) from equation h ( I D i ) = M 3 1 M I i 2 ;
  • In Step 6 of the authentication phase, A intercepts M 3 2 , M 4 2 , M 5 2 and modifies them to M 3 , M 4 and M 5 = h ( h ( I D i ) M 3 M 4 ) ;
  • A sends the tuple M 3 , M 4 , M 5 to U i ;
  • U i calculates M 5 = h ( h ( I D i ) M 3 M 4 ) and then checks validity of the received M 5 . Then, it extracts M I i = M 3 h ( I D i ) and f i = M 4 h ( f i K i ) and computes C i = f i h ( I D i ψ i ) . Then, U i rewrites M I i , C i to S C i instead of previous M I i , C i .
Following this attack, the adversary compels the U i to insert the wrong M I i , C i into S C i ’s memory. Now, U i cannot use S C i to do the login.

5.3. User Traceability Attack

Following the privacy model proposed by Ouafi and Phan [37], the attacker can perform following phases to mount a traceability attack.
Step 1.
In round n, A sends an E x e c u t e q u e r y ( G W N , U 0 , n ) and eavesdrops on messages M I 0 , n U 0 , Q 0 , n U 0 = h ( I D 0 ) n U 0 h ( K 0 , n U 0 T 1 , n U 0 ) , T 1 , n U 0 , V j , n S j = K 0 , n U 0 h ( I D 0 ) n U 0 and M 3 , n G W N ;
Step 2.
The adversary A selects two users U 0 and U 1 and sends a T e s t q u e r y ( U 1 , U 0 , n + 1 ) and depending on the random bit b { 0 , 1 } the adversary A receives a h ( I D b ) U b { h ( I D 0 ) U 0 , h ( I D 1 ) U 1 } corresponding to users { U 0 , U 1 } ;
Step 3.
A sends an E x e c u t e q u e r y ( G W N , U b , n + 1 ) and eavesdrops on messages M I b , n + 1 U b , Q b , n + 1 U b = h ( I D b ) n + 1 U b h ( K b , n + 1 U b T 1 , n + 1 U b ) , T 1 , n + 1 U b , V j , n + 1 S j = K b , n + 1 U b h ( I D b ) n + 1 U b and M 3 , n + 1 G W N ;
Step 4.
A guesses the random bit b = 0 if h ( I D 0 ) n U 0 = h ( I D b ) n + 1 U b with a probability higher than a random coin flip following the procedure described below.
Step 5.
We have,
h ( I D b ) n + 1 U b = Q b , n + 1 U b h ( ( V j , n + 1 S j ( M I b , n + 1 U b M 3 , n G W N ) T 1 , n + 1 U b ) ,
h ( I D 0 ) n U 0 = Q 0 , n U 0 h ( ( V j , 0 S j ( M I b , n + 1 U b M 3 , n G W N ) T 1 , n U 0 ) ,
  • As h ( I D i ) U i is constant and the user does not update it,
  • If h ( I D b ) n + 1 U b = h ( I D 0 ) n U 0 , then U b = U 0 .
Step 6.
As a result, we can express A d v A U N T ( k ) = | P r [ A g u e s s e s b c o r r e c t l y ] 1 2 | = | 1 1 2 | = 1 2 ϵ ( k ) ;
Following the described attack, the attacker can trace any target user U i . In other words, Amin et al.’s scheme is not resistant against user traceability attack.

5.4. Session Key Disclosure Attack

As described in Section 5.2, A can extract h ( I D i ) belonged to U i . Thus, if we assume that the sensor S j is not equipped with tamper-resistant, A obtains S I D j , f j from sensor’s memory—note that the adversary does not require f j to execute the proposed attack. Then, it executes the session key disclosure attack as follows:
  • A eavesdrops on messages T 1 and V j = K i h ( I D i ) ;
  • A obtains K i from equation K i = V j h ( I D i ) ;
  • A obtains K j from equation K j = K i j K i ;
  • A computes the session key S K j using the S K j = h ( h ( I D i ) S I D j K i K j ) .
Therefore, an adversary can disclose the session key in Amin et al.’s protocol.
Finally, we would like to highlight that all our proposed attacks exploit the fact that the bitwise XOR operation is a source of vulnerability against passive and active attacks [38,39,40].

6. Our Proposed Protocol

We present an enhanced version of Amin et al.’s protocol to remedy its security pitfalls. The scheme, as the original proposal, is split into night phases: (1) pre-deployment; (2) user registration; (3) login; (4) authentication and key agreement; (5) update; (6) post-deployment; (7) password recovery; (8) password change; and (9) smart revocation. As we only enhanced the (3), (4), and (5) phases, these are the ones that we describe.
In summary, the enhanced authentication and key agreement phase, and update phase of the proposed scheme, as shown in the blue boxes in Figure 3, have five important changes. To prevent the user impersonation attack, the user makes uses of Q i in the message N i . Subsequently, the gateway node G W N verifies this value to authenticate the legitimate user (boxes number 1 and 2). To overcome the de-synchronization attack, we change the format of message M 3 as well as the equation the user employs to update M I i . Therefore, the attacker cannot obtain h ( I D i ) by XORing these two values (boxes number 4 and 5). To avoid the replay attack, the gateway node G W N checks the validity of M 2 by verifying the value of h ( I D i ) (box number 3).

6.1. Login Phase

In this phase, we employ the Q i in N i to guarantee the integrity of Q i . U i performs the following steps to login when it wishes to access data collected by S j :
Step 1.
U i inserts S C i into the terminal and then enters I D i and P W i and also uses the sensor device to imprint his biometric information B i .
Step 2.
S C i retrieves θ i = E i h ( I D i P W i ) and computes ψ i = R E P ( B i , θ i ) , f i = C i h ( P W i ψ i ) and A i = h ( I D i P W i ψ i ) . S C i checks validity of A i . If so, S C i implies I D i = I D i , P W i = P W i and B i = B i ; otherwise, S C i denies U i .
Step 3.
S C i generates K i R Z q * and calculates L i = K i h ( M I i f i T 1 ) , P i = S I D j h ( f i T 1 ) , Q i = h ( I D i ) h ( K i T 1 ) and N i = h ( M I i K i f i T 1 S I D j Q i ) , T 1 being the current timestamp.
After this, S C i forwards the tuple M I i , N i , P i , Q i , L i , T 1 to G W N using a public communication channel.

6.2. Authentication and Session Key Agreement Phase

At this point, U i and S j are authenticated through G W N and a session key is set between both entities. In addition, we modify the message M 3 to tackle the attacker when she tries to obtain h ( I D i ) in the next session. In Figure 3, we summarize the details of this phase:
Step 1.
Once the message M I i , N i , P i , Q i , L i , T 1 is received in the Login phase, the G W N checks whether the timestamp condition T 1 T 2 Δ T holds. If the condition is fulfilled, the G W N terminates the connection. Otherwise, it calculates f i = h ( M I i X G W N ) and then decodes K i = L i h ( M I i f i T 1 ) and S I D j = P i h ( f i T 1 ) . It then calculates N i = h ( M I i K i f i T 1 S I D j Q i ) and checks validity of the received N i . If so, the G W N identifies to U i as an authorized user. If not, it terminates the connection.
Step 2.
Then, G W N obtains h ( I D i ) = Q i h ( K i T 1 ) and calculates f j = h ( S I D j X G W N ) and then computes N j = h ( h ( I D i ) f j T 2 K i ) , S S j = h ( I D i ) h ( f j T 2 ) and V j = K i h ( I D i ) , T 2 being the current timestamp. G W N then forwards the tuple N j , S S j , V j , T 2 to S j .
Step 3.
Once the message N j , S S j , V j , T 2 is received, S j checks validity of the timestamp T 2 . If T 2 T 3 > Δ T , it terminates the connection. Otherwise, S j calculates h ( I D i ) = S S j h ( f j T 2 ) , K i = V j h ( I D i ) and N j = h ( h ( I D i ) f j T 2 K i ) and checks validity of the received N j . If the verification fails, then S j aborts the session. Otherwise, it generates K j R Z q * and computes S K j = h ( h ( I D i ) S I D j K i K j ) as the session key and then computes W j = h ( S K j T 3 ) and K i j = K i K j . Finally, S j sends the tuple W j , K i j , T 3 to G W N .
Step 4.
Once the message W j , K i j , T 3 is received, the G W N verifies the correctness of T 3 . If T 3 T 4 > Δ T , G W N aborts the connection. Otherwise, it decodes K j = K i j K i and computes the session key S K G = h ( h ( I D i ) S I D j K i K j ) . It then computes W j = h ( S K G T 3 ) and checks the validity of the received W j . If the above verification fails, then G W N discontinues the session. Otherwise, it calculates M 1 = h ( S K G K j T 4 ) and forwards the message M 1 , K i j , T 4 to U i .
Step 5.
Once the message M 1 , K i j , T 4 is received, U i checks whether the condition T 4 T 5 Δ T is satisfied. If it does not fulfilled, U i ends the session. Otherwise, it calculates K j = K i j K i , S K i = h ( h ( I D i ) S I D j K i K j ) and M 1 = h ( S K i K j T 4 ) and checks the validity of M 1 . At this point, the entities are mutually authenticated and a session key S K i = S K G = S K j has been negotiated.

6.3. Update Phase

In this phase, U i updates M I i , C i in order to achieve user untraceability, as described in the next steps and depicted in Figure 3:
Step 1.
U i computes M 2 = I D i h ( S K i K i ) and sends it to G W N as a confirmation message. After receiving the message, G W N decodes I D i = M 2 h ( S K G K i ) and checks if the condition h ( I D i ) = Q i h ( K i T 1 ) holds. If the verification fails, then G W N aborts the session. Otherwise, it updates M I i = h ( I D i r i ) and f i = h ( M I i X G W N ) , where r i R Z q * . It then computes M 3 = M I i h ( M I i K j ) , M 4 = f i h ( f i K i ) and M 5 = h ( h ( I D i ) M 3 M 4 ) and sends the tuple M 3 , M 4 , M 5 to U i .
Step 2.
After receiving the message M 3 , M 4 , M 5 , U i calculates M 5 = h ( h ( I D i ) M 3 M 4 ) and then checks validity of M 5 . If so, it extracts M I i = M 3 h ( M I i K j ) and f i = M 4 h ( f i K i ) and computes C i = f i h ( I D i ψ i ) . Then, U i rewrites M I i , C i to S C i instead of previous M I i , C i .

7. Security Analysis of the Proposed Protocol

The proposed protocol is analyzed from an informal and formal point of view. This analysis shows how the proposed scheme withstands relevant and common security attacks.
The informal security analysis of a security scheme discusses its robustness against the common attacks known in its context. However, the formal security analysis methods employ mathematics or logic tools such as BAN-logic [41], AVISPA [42] or Proverif [43] to formally scrutinize the security of a cryptographic protocol. In this article, we employ the BAN-logic tool to formally verify our proposed protocol.

7.1. Informal Security Analysis

In this section, we point out how our proposed protocol withstands against relevant and well-known attacks.

7.1.1. Stolen Smartcard Attack

In our proposal, if the smartcard S C i is stolen or lost, the adversary can access its memory and obtain all the information M I i , A i , E i , C i , R E C and R E G i stored in the smartcard. Note that, in our protocol, the smartcard is not tamper-resistant. Since some values ( I D i , P W i and B i ) are unknown for the adversary, s/he cannot compute θ i = E i h ( I D i P W i ) , ψ i = R E P ( B i , θ i ) and f i = C i h ( P W i ψ i ) without having any information about these parameters. Furthermore, it is also computationally unfeasible for the attacker to disclose the I D i , P W i and the secret biometric information B i of the user U i thanks to the collision-resistance property of the one-way hash function. Thus, the proposed protocol is secure against the stolen smartcard attack.

7.1.2. Offline Password Guessing Attack

In our scheme, the password P W i of the user U i is involved in A i , E i , C i and R E C values, which are stored in the smartcard. As discussed above, the adversary A cannot use any of these stored items to obtain the password. In addition, using the messages transferred from the user U i , the attacker cannot relate these messages to the items stored on the smartcard to find useful information to verify her/his guess about P W i . Therefore, our proposed scheme is robust against offline password guessing attack.

7.1.3. Privileged Insider Attack

In this kind of attack, the insider attacker tries to impersonate the legitimate user by using this user’s password. However, in the user registration phase of our scheme, U i only submits I D i as a registration request. In addition, all the messages transmitted via a public channel are independent of I D i . Thus, by no means can the insider of G W N get U i ’s password. That is, our proposed protocol is resistant against the privileged insider attack.

7.1.4. Offline Identity Guessing Attack

On this occasion, the adversary tries to obtain knowledge about the real identity I D i of a user U i —the user and G W N are the unique entities who know this information. In our proposal, the adversary cannot derive I D i from information obtained from the smartcard. In addition, I D i is never passed over the public communication channel. As a consequence of using the one-way hash function h ( · ) , the adversary cannot find any useful information related to I D i to verify her/his guess. Therefore, our proposed scheme is robust against identity guessing attack.

7.1.5. User Impersonation Attack

In this attack, the adversary aims to cheat G W N by attempting to take the place of a legitimate user in the logging phase. S/he may use the eavesdropped login message M I i , N i , P i , Q i , L i , T 1 of the previous sessions to conduct her/his attack. We show how our scheme is resistant against this attack. Once the eavesdropped message is received, the G W N checks the legitimacy of the user U i by validating N i = h ( M I i K i f i T 1 S I D j Q i ) . A has to possess f i and h ( I D i ) to forge N i . However, without having any knowledge about the password I D i , the biometric key and the S I D j of the smartcard, the adversary A cannot calculate a valid N i . Therefore, our proposed scheme is secure against user impersonation attack.

7.1.6. Gateway Node Impersonation Attack

To impersonate the gateway node, the adversary has to forge the message N j , S S j , V j , T 2 . Thus, the adversary A needs to know f j , K i and h ( I D i ) to compute N j = h ( h ( I D i ) f j T 2 K i ) , which is impossible. Thus, A cannot forge the aforementioned message. In addition, A cannot compute M 1 = h ( S K G K j T 4 ) and K i j = K i K j , which are created by G W N . Therefore, our proposed scheme resists G W N impersonation attack.

7.1.7. Sensor Node Impersonation Attack

In the authentication phase, the typical sensor node S j computes W j = h ( S K j T 3 ) and K i j = K i K j and sends these values along with T 3 to the gateway node G W N . To forge the messages W j and K i j , the adversary A must compute S K j = h ( h ( I D i ) S I D j K i K j ) and must know K i and K j . Moreover, A cannot compute S K j without the knowing h ( I D i ) and S I D j . Therefore, A cannot compute S j ’s messages to execute a sensor node impersonation attack.

7.1.8. Session Key Security

In the authentication and session key agreement, the attacker can eavesdrop the messages W j = h ( S K j T 3 ) and M 1 = h ( S K G K j T 4 ) . Nevertheless, the session key S K j = S K G = h ( h ( I D i ) S I D j K i K j ) is protected by the usage of the one-way hash function h ( · ) . For this, it is computationally impossible for the adversary to derive the used key. Thus, our proposed scheme provides session key security.

7.1.9. User Anonymity

In our proposed protocol, the identity I D i of user U i is never passed in plain-text over an insecure communication channel. In this sense, h ( I D i ) is the value transmitted in the public messages. Due to the collision-resistant property of the one-way hash function h ( · ) , deriving I D i from h ( I D i ) is computationally impossible for the attacker. Therefore, our proposed scheme preserves user anonymity.

7.1.10. Preserving User Untraceability

In this attack, an adversary A aims to determine whether two messages are generated by the same (unknown) user. Luckily, in our proposal, the attacker cannot be able to find any relationship between Q i , M 2 and user’s identity I D i . Furthermore, it must be noted that, in our proposed protocol, all the parameters used in the messages M I i , N i , P i , Q i , L i , T 1 are random. Moreover, when the update phase of the protocol is executed, U i updates M I i , C i for the next session. Therefore, A cannot determine whether two protocol sessions are linked to the same user. Therefore, in our proposed protocol, users cannot be tracked.

7.1.11. Replay Attack

In the replay attack, the adversary forwards eavesdropped messages of the protocol (previous sessions) to try to deceive legitimate entities. The timestamp values and random numbers used in all messages of the protocol prevents any replay efforts from attacker. Therefore, replay attacks can be identified by verifying the freshness of the timestamp values and random numbers. Therefore, the replay attack does not work in our scheme.

7.2. Formal Security Analysis

We use BAN-logic [41] to conduct the security analysis of the authentication and key agreement phase of our proposal. Table 2 summarizes the used notation. Thereupon, we introduce the two main rules used in our analysis.
R1 (Shared key rule). P P k Q , P [ X ] k P Q X , if P believes that s/he shared the key K with Q, and P receives the message [ X ] k ; then, P believes that Q sent X.
R2 (Belief rule). P Q ( X , Y ) P Q X , if P believes Q sends the message set ( X , Y ) ; then, P believes Q sends the message X.
Our formal security analysis is split into the following steps:
Step 1. Protocol messages.
PM1: M I i , N i , P i , Q i , L i , T 1 ,
PM2: N j , S S j , V j , T 2 ,
PM3: W j , K i j , T 3 ,
PM4: M 1 , K i j , T 4 ,
Step 2. Idealizing the protocol messages. At this point, the protocol messages are converted into the idealized format based on the BAN-logic notations. The results are denoted by IM1, ..., IM9 as below:
IM1 ( U i GWN ): G W N { K i } h ( M I i X G W N ) ,
IM2 ( U i GWN ): G W N { S I D j } h ( M I i X G W N ) ,
IM3 ( U i GWN ): G W N ( M I i , K i , T 1 , S I D j , Q i ) h ( M I i X G W N ) ,
IM4 ( U i GWN ): G W N { h ( I D i ) } K i ,
IM5 ( GWN S j ): S j ( h ( I D i ) , T 2 , K i ) h ( S I D j X G W N ) ,
IM6 ( S j GWN ): G W N { K j } K i ,
IM7 ( S j GWN ): G W N ( S K j ) T 3 ,
IM8 ( GWN U i ): U i { K j } K i ,
IM9 ( GWN U i ): U i ( S K G ) K j .
Step 3. Explicit assumptions. The seven assumptions on the proposed scheme are described by A1, ..., A7 as below:
A1: U i ( K i , T 1 , T 4 ) ,
A2: G W N ( T 1 , T 2 , T 3 , T 4 ) ,
A3: S j ( K j , T 2 , T 3 ) ,
A4: U i U i h ( M I i X G W N ) G W N ,
A5: G W N G W N h ( M I i X G W N ) U i ,
A6: G W N G W N h ( S I D j X G W N ) S j ,
A7: S j S j h ( S I D j X G W N ) G W N .
Step 4. Security goals. The nine security goals which are expected to be verified after analyzing the protocol by BAN-logic are listed by G1, ..., G9 as below. For instance, the goal G1 states that the gateway node must believe that the user U i has sent the key K i :
G1: G W N U i K i ,
G2: G W N U i S I D j ,
G3: G W N U i h ( I D i ) ,
G4: S j G W N K i ,
G5: S j G W N h ( I D i ) ,
G6: G W N S j K j ,
G7: G W N S j S K j ,
G8: U i G W N K j ,
G9: U i G W N S K G .
Step 5. Deriving the security goals. Finally, to show the achievement of the above-mentioned goals, we apply logical rules of the BAN-logic to the idealized messages and initial premises as described below.
In accordance with IM1, A5 and R1:
Result1: G W N U i K i (satisfy G1);
Given the IM2, A5 and R1:
Result2: G W N U i S I D j (satisfy G2);
In accordance with IM4, Result1 and R1:
Result3: G W N U i h ( I D ) i (satisfy G3);
Given the IM5, A7 and R1:
Result4: S j G W N ( h ( I D i ) , T 2 , K i ) ;
Taking into account Result4 and R2:
Result5: S j G W N K i (satisfy G4);
Result6: S j G W N h ( I D i ) (satisfy G5);
In accordance with IM6, A6 and R1:
Result7: G W N S j K j (satisfy G6);
In accordance with IM7, A2 and R1:
Result8: G W N S j S K j (satisfy G7);
In accordance with IM8, A1 and R1:
Result9: U i G W N K j (satisfy G8);
In accordance with IM9, Result9 and R1:
Result10: U i G W N S K G (satisfy G9).
Given the above steps, it can easily be concluded that the protocol can meet all preset goals. Therefore, we can state that our proposed scheme is secure.

8. Performance Comparison

In this work, we propose a new 3FA protocol to overcome the security weaknesses of the Amin et al. [15] scheme. We show how our enhanced protocol is not only secure but also efficient enough to be used in HWSNs. The discussion about the security features, computational overhead and computational cost offered by our proposed scheme and other related schemes, such as Amin et al. [15], Yeh et al. [32], Xue et al. [7], Das et al. [44], Jiang et al. [33], Das et al. [45] and Gope et al. [24] is presented in this section.

8.1. Security Features’ Comparison

In Table 3, we sum up the security features offered by our proposed protocol and other similar ones. The symbol “Yes” indicates that the scheme is secure against the related attack and the symbol “No” indicates the contrary. From this, we can conclude that our proposal satisfies all the security features required and offers a higher security level than its predecessors. In addition, protocols [7,24,32,33] do not provide three-factor authentication while our scheme does.

8.2. Overall Computational Overhead Comparison

In HWSNs, sensors have limited energy so any authentication protocol designed for these networks should be lightweight and energy efficient. Moreover, we use the model represented in Figure 1a to design our scheme. In our scheme, we use the hash, and the fuzzy extractor functions, which are both efficient. In fact, using the low-power cryptographic functions, rather than a very demanding one, can reduce energy consumption [46]. According to the results of the experiments presented in [24], each modular exponential operation in ECC-160 algorithm consumes 1.2 Ws energy and takes t E x p = 11.69 ms execution time. Moreover, for symmetric key encryption/decryption (128-bit AES-CBC), the running time and energy consumption are approximately t s y m = 4.62 ms and 0.72 Ws and for hash function (SHA-256) these two values are approximately t H a s h = 1.06 ms and 0.27 Ws, respectively. These results were obtained using the MSB-430 sensor boards with the TI MSP430 micro controller [24]. Moreover, the time that the fuzzy extractor takes t f is about 17.1 ms [47]. In Table 4, previous works [7,15,24,32,33,44,45] and our proposed scheme are compared in terms of computational cost. As shown in this table, in our proposal, the total computational cost is only 25 × t H a s h + t f . Although our proposed scheme consumes slightly more time than some proposals [7,24,33], these extra time is because of the additional operations needed for securing the scheme (improving security pitfalls of its predecessors) and the three-factor capability, which is critical for secure HWSN networks. Finally, it is worth noticing that our results are similar to [15,45], but we offer a higher security level.

8.3. Computational Cost and Execution Time

To achieve better efficiency and taking into account the energy restrictions of sensor nodes, the computation costs of sensors should be kept as low as possible. In Table 5, we summarize both the computational cost and execution time of our proposal and its predecessors [7,15,32,33,44,45]. From this, it is clear that our proposal is one of the most efficient in terms of energy and execution time. That is, our proposal can be fitted in resource-limited sensor nodes.

9. Conclusions

In heterogeneous wireless sensor networks (HWSNs), we find sensors with different capabilities and functionalities and dispersed within a defined area. Generally, their capabilities, such as computation and energy, are very limited. The security of these devices is pivotal and challenging due to its constrained resources. In this vein, we propose a secure and efficient three-factor authentication (3FA) scheme that is suitable for HWSNs and enhances the security of a recent proposed protocol [15]. Meanwhile, we showed how [15] is not resistant to user impersonation and de-synchronization attacks and also the attacker can track the user by eavesdropping only one session. In addition, an adversary can disclose the session key under the common assumption that the hardware of sensors is not tamper-resistant. To scrutinize the security of our proposal, we informally and formally analyze its security and show how our protocol guarantees all the security features and provides the highest security level in comparison with their predecessors. Moreover, in relation to performance, our scheme consumes only few milliseconds and is very efficient in terms of energy consumption. All of this renders our scheme adequate for HWSNs in which sensors generally have very limited resources. Therefore, as a future work, we aim to propose a new scheme to support user access control that guarantees authorized users to access the information allowed in HWSNs.

Author Contributions

All authors contributed equally to this work in all tasks.

Funding

This work was partially supported by the MINECO grant TIN2016-79095-C2-2-R (SMOG-DEV—Security mechanisms for fog computing: advanced security for devices); and by the CAM grant S2013/ICE-3095 (CIBERDINE: Cybersecurity, Data, and Risks).

Acknowledgments

The authors would like to thank the anonymous reviewers for their valuable comments and suggestions to improve the quality of the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Jiang, Q.; Ma, J.; Yang, C.; Ma, X.; Shen, J.; Chaudhry, S.A. Efficient end-to-end authentication protocol for wearable health monitoring systems. Comput. Electr. Eng. 2017, 63, 182–195. [Google Scholar] [CrossRef]
  2. Karl, H.; Willig, A. Protocols and Architectures for Wireless Sensor Networks; John Wiley & Sons: Hoboken, NJ, USA, 2007. [Google Scholar]
  3. Yarvis, M.; Kushalnagar, N.; Singh, H.; Rangarajan, A.; Liu, Y.; Singh, S. Exploiting heterogeneity in sensor networks. In Proceedings of the 24th Annual Joint Conference of the IEEE Computer and Communications Societies, INFOCOM 2005, Miami, FL, USA, 13–17 March 2005; Volume 2, pp. 878–890. [Google Scholar]
  4. Castiglione, A.; D’Arco, P.; De Santis, A.; Russo, R. Secure group communication schemes for dynamic heterogeneous distributed computing. Future Gener. Comput. Syst. 2017, 74, 313–324. [Google Scholar] [CrossRef]
  5. Zhong, H.; Shao, L.; Cui, J.; Xu, Y. An efficient and secure recoverable data aggregation scheme for heterogeneous wireless sensor networks. J. Parallel Distrib. Comput. 2018, 111, 1–12. [Google Scholar] [CrossRef]
  6. 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 Netw. 2016, 36, 152–176. [Google Scholar] [CrossRef]
  7. Xue, K.; Ma, C.; Hong, P.; Ding, R. A temporal-credential-based mutual authentication and key agreement scheme for wireless sensor networks. J. Netw. Comput. Appl. 2013, 36, 316–323. [Google Scholar] [CrossRef]
  8. Pal, V.; Singh, G.; Yadav, R. Effect of Heterogeneous nodes location on the performance of clustering algorithms for wireless sensor networks. Procedia Comput. Sci. 2015, 57, 1042–1048. [Google Scholar] [CrossRef]
  9. Castiglione, A.; Palmieri, F.; Fiore, U.; Castiglione, A.; De Santis, A. Modeling energy-efficient secure communications in multi-mode wireless mobile devices. J. Comput. Syst. Sci. 2015, 81, 1464–1478. [Google Scholar] [CrossRef]
  10. Chen, T.H.; Shih, W.K. A robust mutual authentication protocol for wireless sensor networks. ETRI J. 2010, 32, 704–712. [Google Scholar] [CrossRef]
  11. Das, M.L. Two-factor user authentication in wireless sensor networks. IEEE Trans. Wirel. Commun. 2009, 8, 1086–1090. [Google Scholar] [CrossRef]
  12. 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]
  13. Nyang, D.; Lee, M.K. Improvement of Das’s Two-Factor Authentication Protocol in Wireless Sensor Networks. IACR Cryptol. ePrint Arch. 2009, 2009, 631. [Google Scholar]
  14. Sun, D.Z.; Li, J.X.; Feng, Z.Y.; Cao, Z.F.; Xu, G.Q. On the security and improvement of a two-factor user authentication scheme in wireless sensor networks. Pers. Ubiquitous Comput. 2013, 17, 895–905. [Google Scholar] [CrossRef]
  15. Amin, R.; Islam, S.H.; Kumar, N.; Choo, K.K.R. An untraceable and anonymous password authentication protocol for heterogeneous wireless sensor networks. J. Netw. Comput. Appl. 2017, 104, 133–144. [Google Scholar] [CrossRef]
  16. 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. [Google Scholar]
  17. Das, A.K.; Sharma, P.; Chatterjee, S.; Sing, J.K. A dynamic password-based user authentication scheme for hierarchical wireless sensor networks. J. Netw. Comput. Appl. 2012, 35, 1646–1656. [Google Scholar] [CrossRef]
  18. Vaidya, B.; Makrakis, D.; Mouftah, H. Two-factor mutual authentication with key agreement in wireless sensor networks. Secur. Commun. Netw. 2016, 9, 171–183. [Google Scholar] [CrossRef]
  19. 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]
  20. Mir, O.; Munilla, J.; Kumari, S. Efficient anonymous authentication with key agreement protocol for wireless medical sensor networks. Peer-to-peer Netw. Appl. 2017, 10, 79–91. [Google Scholar] [CrossRef]
  21. He, D.; Kumar, N.; Chen, J.; Lee, C.C.; Chilamkurti, N.; Yeo, S.S. Robust anonymous authentication protocol for health-care applications using wireless medical sensor networks. Multimed. Syst. 2015, 21, 49–60. [Google Scholar] [CrossRef]
  22. Turkanović, M.; Brumen, B.; Hölbl, M. A novel user authentication and key agreement scheme for heterogeneous ad hoc wireless sensor networks, based on the Internet of Things notion. Ad Hoc Netw. 2014, 20, 96–112. [Google Scholar] [CrossRef]
  23. Amin, R.; Biswas, G. A secure light weight scheme for user authentication and key agreement in multi-gateway based wireless sensor networks. Ad Hoc Netw. 2016, 36, 58–80. [Google Scholar] [CrossRef]
  24. 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]
  25. Adavoudi-Jolfaei, A.; 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. 2017, 1–17. [Google Scholar] [CrossRef]
  26. 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. Netw. 2016, 101, 42–62. [Google Scholar] [CrossRef]
  27. Arasteh, S.; Aghili, S.F.; Mala, H. A new lightweight authentication and key agreement protocol for Internet of Things. Information Security and Cryptology (ISCISC). In Proceedings of the 2016 13th International Iranian Society of Cryptology Conference, Tehran, Iran, 7–8 September 2016; pp. 52–59. [Google Scholar]
  28. 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]
  29. Jiang, Q.; Chen, Z.; Li, B.; Shen, J.; Yang, L.; Ma, J. Security analysis and improvement of bio-hashing based three-factor authentication scheme for telecare medical information systems. J. Ambient Intell. Humaniz. Comput. 2018, 9, 1061–1073. [Google Scholar] [CrossRef]
  30. Lu, Y.; Li, L.; Peng, H.; Yang, Y. An enhanced biometric-based authentication scheme for telecare medicine information systems using elliptic curve cryptosystem. J. Med. Syst. 2015, 39, 32. [Google Scholar] [CrossRef] [PubMed]
  31. Chang, C.C.; Le, H.D. A provably secure, efficient, and flexible authentication scheme for ad hoc wireless sensor networks. IEEE Trans. Wirel. Commun. 2016, 15, 357–366. [Google Scholar] [CrossRef]
  32. 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]
  33. Jiang, Q.; Ma, J.; Lu, X.; Tian, Y. An efficient two-factor user authentication scheme with unlinkability for wireless sensor networks. Peer-to-peer Netw. Appl. 2015, 8, 1070–1081. [Google Scholar] [CrossRef]
  34. Dolev, D.; Yao, A. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–208. [Google Scholar] [CrossRef] [Green Version]
  35. Dodis, Y.; Reyzin, L.; Smith, A. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data. In International Conference on the Theory and Applications of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 2004; pp. 523–540. [Google Scholar]
  36. Odelu, V.; Das, A.K.; Goswami, A. A secure biometrics-based multi-server authentication protocol using smart cards. IEEE Trans. Inf. Forensics Secur. 2015, 10, 1953–1966. [Google Scholar] [CrossRef]
  37. Ouafi, K.; Phan, R.C.W. Privacy of recent rfid authentication protocols. In International Conference on Information Security Practice and Experience; Springer: Berlin/Heidelberg, Germany, 2008; pp. 263–277. [Google Scholar]
  38. Shin, S.; Kwon, T. Two-Factor Authenticated Key Agreement Supporting Unlinkability in 5G-Integrated Wireless Sensor Networks. IEEE Access 2018, 6, 11229–11241. [Google Scholar] [CrossRef]
  39. Wu, F.; Xu, L.; Kumari, S.; Li, X.; Shen, J.; Choo, K.K.R.; Wazid, M.; Das, A.K. An efficient authentication and key agreement scheme for multi-gateway wireless sensor networks in IoT deployment. J. Netw. Comput. Appl. 2017, 89, 72–85. [Google Scholar] [CrossRef]
  40. Li, X.; Niu, J.; Kumari, S.; Wu, F.; Sangaiah, A.K.; Choo, K.K.R. A three-factor anonymous authentication scheme for wireless sensor networks in internet of things environments. J. Netw. Comput. Appl. 2018, 103, 194–204. [Google Scholar] [CrossRef]
  41. Burrows, M.; Abadi, M.; Needham, R. A logic of authentication. ACM Trans. Comput. Syst. 1990, 8, 18–36. [Google Scholar] [CrossRef]
  42. Armando, A.; Basin, D.; Boichut, Y.; Chevalier, Y.; Compagna, L.; Cuéllar, J.; Drielsma, P.H.; Héam, P.C.; Kouchnarenko, O.; Mantovani, J.; et al. The AVISPA tool for the automated validation of internet security protocols and applications. In International Conference on Computer Aided Verification; Springer: Berlin/Heidelberg, Germany, 2005; pp. 281–285. [Google Scholar]
  43. Blanchet, B. Automatic verification of security protocols in the symbolic model: The verifier proverif. In Foundations of Security Analysis and Design VII; Springer: New York, NY, USA, 2014; pp. 54–87. [Google Scholar]
  44. Das, A.K. A secure and efficient user anonymity-preserving three-factor authentication protocol for large-scale distributed wireless sensor networks. Wirel. Pers. Commun. 2015, 82, 1377–1404. [Google Scholar] [CrossRef]
  45. Das, A.K. A secure and robust temporal credential-based three-factor user authentication scheme for wireless sensor networks. Peer-to-peer Netw. Appl. 2016, 9, 223–244. [Google Scholar] [CrossRef]
  46. Hellaoui, H.; Koudil, M.; Bouabdallah, A. Energy-efficient mechanisms in security of the internet of things: A survey. Comput. Netw. 2017, 127, 173–189. [Google Scholar] [CrossRef]
  47. 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]
Figure 1. Five user authentication models in HWSN [7].
Figure 1. Five user authentication models in HWSN [7].
Sensors 18 03663 g001
Figure 2. Authentication and key agreement phases in Amin et al.’s protocol [15].
Figure 2. Authentication and key agreement phases in Amin et al.’s protocol [15].
Sensors 18 03663 g002
Figure 3. Modified Amin et al.’s authentication and key agreement phase. Changes are highlighted by boxes in the proposed scheme.
Figure 3. Modified Amin et al.’s authentication and key agreement phase. Changes are highlighted by boxes in the proposed scheme.
Sensors 18 03663 g003
Table 1. Notations.
Table 1. Notations.
NotationDescription
U i The i- t h user
G W N The gateway node
S C i The smartcard of U i
S j The j- t h sensor node
Z q * Multiplicative group, where q is a large prime,
Z q * = { x : 0 < x < q , g c d ( x , q ) = 1 }
I D i Identity of U i
S I D j Identity of S j
X G W N Secret key of G W N
f i Secret key linked to U i
f j Secret key linked to S j
P W i Password linked to U i
B i Biometric trait linked to U i
K i Nonce generated by U i
K j Nonce generated by S j
S K i , S K j , S K G Session key
R E P ( · ) , G E N ( · ) Fuzzy extractor operations
ψ i , θ i Outputs of G E N ( · ) algorithm
T i Timestamp
Δ T Allowable transmission delay
h ( · ) One-way hash function
Bitwise XOR operation
||Concatenation operation
Table 2. BAN-logic notations.
Table 2. BAN-logic notations.
NotationDescription
P X P believes a proposition X
P X P receives a message X
P X P sent a message X
P k X P and X share the secret key k and only these two entities can use k to prove its identity to each other.
( X ) It means that X is fresh
{ X } k Encryption of X using the secret k
( X ) k Hash computation of X using the secret k
P k Q P and Q share a secret k
P Q If P then Q
Table 3. Security features’ comparison.
Table 3. Security features’ comparison.
Security FeaturesAmin et al. [15]Yeh et al. [32]Xue et al. [7]Das [44]Jiang et al. [33]Das [45]Gope et al. [24]Ours
Protection of user untraceabilityNoNoNoYesYesYesNoYes
Resistance against replay attackYesNoYesYesYesYesYesYes
Resistance against user impersonation attackNoNoNoYesNoYesYesYes
Resistance against gateway node impersonation attackYesNoNoNoNoNoYesYes
Resistance against sensor node impersonation attackYesYesYesYesYesYesYesYes
Resistance to de-synchronization attackNoNoNoNoNoNoYesYes
Support of dynamic node additionYesNoNoYesNoYesYesYes
Robustness against insider attackYesYesNoYesNoYesYesYes
Robustness against stolen smartcard attackYesNoNoYesNoYesYesYes
User anonymityYesNoNoNoYesYesYesYes
Resistance against identity guessing attackYesNoNoYesYesYesYesYes
Support of three-factor securityYesNoNoYesNoYesNoYes
Supports correct password updateYesNoNoYesNoYesNoYes
Resistance against session key disclosure attackNoYesYesYesYesYesNoYes
Table 4. Overall computational overhead of the authentication phase.
Table 4. Overall computational overhead of the authentication phase.
SchemeUserGWSensor NodeTotal CostRough Estimation
Amin et al. [15] 10 t H a s h + t f 11 t H a s h 4 t H a s h 25 t H a s h + t f 43 ms
Yeh et al. [32] 2 t E x p + t H a s h 4 t E x p + 4 t H a s h 2 t E x p + 3 t H a s h 8 t H a s h + 8 t E x p 100 ms
Xue et al. [7] 7 t H a s h 10 t H a s h 5 t H a s h 22 t H a s h 23 ms
Das [44] 7 t H a s h + t f t S y m + 2 t H a s h t S y m + 2 t H a s h 11 t H a s h + 2 t S y m + t f 38 ms
Jiang et al. [33] 7 t H a s h 10 t H a s h 5 t H a s h 22 t H a s h 23 ms
Das [45] 9 t H a s h + t f 11 t H a s h 5 t H a s h 25 t H a s h + t f 43 ms
Gope et al. [24] 7 t H a s h 9 t H a s h 3 t H a s h 19 t H a s h 20 ms
Ours 10 t H a s h + t f 11 t H a s h 4 t H a s h 25 t H a s h + t f 43 m s
Table 5. Computational cost and execution time comparison.
Table 5. Computational cost and execution time comparison.
SchemeComputational CostExecution Time
Amin et al. [15]1.08   Ws4.24  ms
Yeh et al. [32]3.21   Ws26.56  ms
Xue et al. [7]1.35  Ws5.3   ms
Das [44]1.53   Ws7.8   ms
Jiang et al. [33]1.35   Ws5.3   ms
Das [45]1.35   Ws5.3   ms
Gope et al. [24]0.81   Ws3.18   ms
Ours1.08   Ws4.24   ms

Share and Cite

MDPI and ACS Style

Aghili, S.F.; Mala, H.; Peris-Lopez, P. Securing Heterogeneous Wireless Sensor Networks: Breaking and Fixing a Three-Factor Authentication Protocol. Sensors 2018, 18, 3663. https://doi.org/10.3390/s18113663

AMA Style

Aghili SF, Mala H, Peris-Lopez P. Securing Heterogeneous Wireless Sensor Networks: Breaking and Fixing a Three-Factor Authentication Protocol. Sensors. 2018; 18(11):3663. https://doi.org/10.3390/s18113663

Chicago/Turabian Style

Aghili, Seyed Farhad, Hamid Mala, and Pedro Peris-Lopez. 2018. "Securing Heterogeneous Wireless Sensor Networks: Breaking and Fixing a Three-Factor Authentication Protocol" Sensors 18, no. 11: 3663. https://doi.org/10.3390/s18113663

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