Next Article in Journal
Enhancement of Low Contrast Images Based on Effective Space Combined with Pixel Learning
Previous Article in Journal
Feature Encodings and Poolings for Action and Event Recognition: A Comprehensive Survey
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Fuzzy Extractor and Elliptic Curve Based Efficient User Authentication Protocol for Wireless Sensor Networks and Internet of Things

1
Center for Mobile Banking, Institute for Development and Research in Banking Technology, Hyderabad 500057, India
2
Artificial Intelligence Lab, School of Computer and Information Sciences, University of Hyderabad, Hyderabad 500046, India
*
Author to whom correspondence should be addressed.
Information 2017, 8(4), 136; https://doi.org/10.3390/info8040136
Submission received: 21 September 2017 / Revised: 17 October 2017 / Accepted: 24 October 2017 / Published: 30 October 2017
(This article belongs to the Section Information and Communications Technology)

Abstract

:
To improve the quality of service and reduce the possibility of security attacks, a secure and efficient user authentication mechanism is required for Wireless Sensor Networks (WSNs) and the Internet of Things (IoT). Session key establishment between the sensor node and the user is also required for secure communication. In this paper, we perform the security analysis of A.K.Das’s user authentication scheme (given in 2015), Choi et al.’s scheme (given in 2016), and Park et al.’s scheme (given in 2016). The security analysis shows that their schemes are vulnerable to various attacks like user impersonation attack, sensor node impersonation attack and attacks based on legitimate users. Based on the cryptanalysis of these existing protocols, we propose a secure and efficient authenticated session key establishment protocol which ensures various security features and overcomes the drawbacks of existing protocols. The formal and informal security analysis indicates that the proposed protocol withstands the various security vulnerabilities involved in WSNs. The automated validation using AVISPA and Scyther tool ensures the absence of security attacks in our scheme. The logical verification using the Burrows-Abadi-Needham (BAN) logic confirms the correctness of the proposed protocol. Finally, the comparative analysis based on computational overhead and security features of other existing protocol indicate that the proposed user authentication system is secure and efficient. In future, we intend to implement the proposed protocol in real-world applications of WSNs and IoT.

1. Introduction

Recent advancements in the micro-electro-mechanical system enable the production of low-cost sensor nodes with small-scale sensing module, a radio frequency transceiver, a small processing module for limited computation, small-scale memory and a short-lived power unit. For instance, a sensor node can have temperature, pressure, humidity and light sensors with 7.7 MHz 8-bit ATmega 128 processor, 4 K byte RAM, 128 K byte ROM, 512 K byte EEPROM, and 2 AA battery. The sensing module may consist of few sensors with analog to digital converters (ADCs). These sensors can measure the change in physical parameters such as temperature, humidity, light, pressure. The analog signals produced by the sensor node based on the measured physical parameters can be transformed into the digital signal using ADC. Then, the digital signals can be fed into the processing element to perform the necessary calculation on raw data, and the transceiver unit communicates with its adjacent sensor nodes. Nowadays, we find sensors are on our smart phones, watches, vehicles, homes, offices, cities, and industries which connect our world more than we ever thought possible.
A WSN [1] or IoT [2] may consist of a large number of scattered sensor nodes capable of collecting data from their surroundings for specific users, communicating with the neighboring sensor nodes using wireless medium and routing the data to the gateway node having trusted high-performance computing resources. Some important aspects of WSNs are as follows:
  • The sensor nodes of WSNs sufferer with energy constraints, memory limitations, unreliable communications, higher latency in communication and unattended operation of networks.
  • The topology of WSNs can vary very often.
  • The sensor node can be deployed densely in WSNs area.
The IoT aims at overcoming the gap between the physical world and its characterization within the digital world. The term things refer to an object that has sensors attached to it, and can transmit data to the internet, where it can be processed, analyzed and used to make decisions, one such example is medical health care system.
An example of medical health care system for monitoring patient’s condition and recovery by authentic medical practitioners and doctors using wireless body area network (WBAN) is shown in Figure 1. The sensor nodes are planted in patient’s body for measuring various parameters like ECG, blood pressure, temperature, visual straight, etc. The measured parameters from different sensor nodes are transmitted to a master sensor node. The master sensor node processes the data locally and sends to the gateway node. Only the authentic medical practitioners and doctors are allowed to access the confidential and real-time data of high-profile patients from the master sensor node and the gateway respectively.
The conventional specializations of WSNs, embedded systems, control systems and automation (including smart home, smart city, industry and building automation) contribute to facilitating the IoT. The advances in IoT technology facilitate wearable devices which broadly cover health, fitness and entertainment requirements. These devices are installed with sensors which collect the sensitive data about the human beings and transmit these data to the neighboring device, base station or gateway node for further processing and analysis. If the data is security sensitive, only an authentic user should be allowed to pre-process the data to extract essential insights about the patient. With the rise of IoT where the number of sensor devices would grow multi-fold, it would be infeasible for a user to make the system secure using traditional authentication mechanism. Therefore, it is important to address this concern by devising ways in which multiple advanced factors of authentication and session key establishment would be required to gain access to any smart devices of WSNs/IoT and at the same time its usability would be at high level.
The members of a smart home, city, and office (which has an automated system for monitoring temperature, light, air conditioners, windows, doors, refrigerator, alarms, alerts, etc.) should be given access by configuring the security system. However, to enhance system’s security, it is important to have multiple hierarchies of authentication and session key establishment scheme. Authenticating users who connect to the sensor nodes of WSNs and IoT is a process of validating the identity (based on one or more factors such as user’s inherence, possession, knowledge) using sensor devices. The security of traditional user authentication protocols for WSNs is based on low entropy password which is easy to break through dictionary attacks. However, the biometric information can not be lost, forgotten, guessed easily or shared.Therefore, the biometric based user authentication scheme is more secure and reliable than traditional password based systems.
From last decades, WSNs and IoT have drawn attention in many applications including health-care, battlefield surveillance, smart home, smart banking, financial office and other secure, real-time applications where efficient user authentication and session key establishment is required. A secure and efficient user authentication scheme should provide various security features (e.g., confidentiality, integrity, freshness, etc.) and it should resist various security attacks (e.g., user impersonation, sensor impersonation, stolen smart card and energy exhausting attacks, etc.) with less computation and communication overhead of sensor node. The traditional cryptographic algorithm cannot be implemented on resource constraint sensor nodes for efficient user authentication system. Therefore, we aim to design a secure and light-weight cryptographic mechanism of user authentication and session key establishment for WSNs/IoT.
The significant contributions of our work are as follows:
  • In this paper, we first discuss various security issues involved in authenticating the users of WSNs and IoT.
  • We perform the security analysis of various existing protocols of user authentication for WSNs. Through security analysis, we show that the existing protocols are vulnerable to various attacks like user impersonation attack, sensor node impersonation attack, attacks based on legitimate users.
  • We propose a secure and efficient protocol for authenticating the users of WSNs and IoT considering mutual authentication, session key establishment, data freshness, and confidentiality.
  • Through informal security analysis, we show that our proposed protocol resists the stolen smart card, sensor node compromise, gateway node compromise, man-in-the-middle and replay attacks.
  • We execute “proof of security” using random oracle model to ensure the correctness of various security features involved in our proposed protocol.
  • Subsequently, we verify the proposed protocol on popular and robust security verification tool such as AVISPA and Scyther.
  • We use BAN logic to determine whether exchanged messages of the proposed protocol are trustworthy and secure against eavesdropping.
  • Finally, we present the comparative analysis of our proposed protocol with other existing protocols based on security and computational overhead.
The remaining portions of this paper are structured as follows: Section 2 appraises the security features and deficiencies of existing user authentication schemes. Section 3 explains the notations and cryptography procedures we used in security analysis and proposed protocol. Section 4 demonstrates the recent protocols of user authentication and their cryptanalysis. Section 5 illustrates our proposed scheme. Section 6 performs the security analysis of our proposed scheme. Section 7 shows the results of comparative study. Section 8 represents the comprehensive analysis. Section 9 concludes our research work.

2. Related Work

In 2002, Akyildiz et al. [1] explored many significant aspects of WSNs and discussed critical open research issues of WSNs. Afterwards, several user authentications and session key agreement mechanism for WSNs have been proposed. Unfortunately, many of them still suffer from various security vulnerability. In 2004, Benenson et al. [3] proposed a user authentication and access control mechanism for WSNs. Consequently, Watro et al. [4] (in 2004) developed a public-key (RSA) based user authentication scheme TinyPK using Diffie-Hellman key exchange mechanism which provides mutual authentication and withstand sensor node impersonation attack. Subsequently (in 2005), Benenson et al. [5] designed an elliptic curve cryptography based user authentication system. In 2006, Wong et al. [6] declared that Benenson et al.’s [5] scheme is resistless to denial of service and impersonation attacks. Then, Wong et al. [6] designed a secure hash function based authentication scheme to enhance the security features but it does not support mutual authenticity and session key establishment between the user and sensor node. However, in 2007, Tseng et al. [7] specified that Watro et al.’s [4] and Wong et al.’s [6] schemes exhibit replay and forgery attack. Further, Tseng et al. improved Wong et al.’s scheme and recommended password update mechanism. In 2008, Lee [8] revealed that Wong et al. [6] scheme exhibit more computational overhead on sensor node compared to gateway node and proposed an improved authentication scheme by fixing the security drawbacks of Wong et al. scheme with less computation overhead of sensor node. Later, L.C. Ko [9] indicated that Tseng et al.’s scheme does not provide mutual authentication. Then, L.C. Ko [9] proposed mutual authenticity and time-stamp based user authentication scheme in 2008. In 2009, Vaidya et al. [10] elaborated mutual authentication scheme with formal verification. In 2009, Das [11] developed a secure mechanism to provide authenticity using smart card and user’s password (two-factor) but it does not offer session key between the user and sensor node. In 2010, Khan-Alghathbar (2010) [12] identified the gateway node bypass attack, insider attack and lack of password update mechanism in Das’s [11] scheme and improved Das’s scheme by including password update and mutual authentication technique.
The proposed two-factor authentication mechanism based on user’s identity and password is generally not reliable because the user intends to choose a low-entropy password that can be easily cracked by applying simple dictionary attacks.
To improve the security feature of two-factor user authentication mechanism that are vulnerable to password guessing attacks and subject to inefficient password update procedure in WSNs, biometric-based user authentication mechanism, accompanied with user passwords and smart cards, have drawn considerable attention. In 2010, Yuan et al. [13] provided a bio-metric based scheme but it is unprotected from node capture and denial of service attack. In 2012, Yoo et al. [14] designed a scheme that provides secure session key and mutual authentication. In 2013, Xue et al. [15] designed a mutual authentication scheme based on temporal information. However, in 2014, Jiang et al. [16] revealed that Xue et al.’s scheme is susceptible to stolen smart card and privilege insider attack. In 2015, A.K. Das [17] proposed fuzzy extractor based authentication scheme which resists well known security attacks of WSNs and have more security features compared to Althobaiti et al. (2013) [18] scheme. Sharaf et al. [19] proposed (in 2016) an object authentication system in order to exploit device-specific data, known as fingerprints, to authenticate the objects associated with the IoT. In 2016, Alizadeh et al. [20] presented a comprehensive survey of authentication schemes of mobile cloud computing (MCC) to explain MCC authentication and differentiate it with that of cloud computing schemes. However, in this paper we performed the cryptanalysis of A.K.Das [17] scheme and found that it is susceptible to stolen smart card attack. Similarly, we found that Choi et al. [21] (proposed in 2016), Park et al. [22] (introduced in 2016), and Moon et al.’s [23] (proposed in 2017) schemes are also insecure against various security attacks as we have illustrated in Section 4 of this paper.

3. Notations, Assumptions and Cryptography Concepts Used

3.1. Notations

Some important notations used for design and analysis of user authentication protocol for WSNs and IoT are listed in Table 1.

3.2. Assumptions

  • Sensor node may not fix up with tamper-resistant hardware and if a node is captured by an adversary, all the prominent and confidential information stored in its memory can be accessed by the adversary. If the sensor nodes are tamper-resistant the adversary can know the information stored in the memory by measuring the power consumption of the captured sensor nodes.
  • The base station or the gateway node is the trusted entity, and it works both as an authentication as well as a key distribution center.
  • The adversary A can intercept the public communication channel, inject packets and replay the previously transmitted packets.
  • The adversary A can capture the smart card S C i of user U i and it can extract the sensitive information stored in the card through simple and differential power analysis techniques [24].
  • We assume that the WSNs and IoT consist of few users (with smart card which can be captured or stolen by the adversary A ), hundreds of sensor nodes (it can be captured by A ) and the trusted gateway node.
  • The processed data from the sensor nodes are gathered periodically at the gateway node G W N . The gathered data may not always be real-time and fresh at G W N . Therefore, the authentic user should be allowed to access the data directly from the sensor node S N j to make quick decision for secure and real-time applications of WSNs and IoT.

3.3. Cryptography Concepts Used

Some basic cryptography concepts used in the security analysis of existing protocols and also in our proposed protocol are defined as follows:
Definition 1.
Secure Hash Function [25]: A function h : I n O u t , with a binary string s I n 0 , 1 of arbitrary length as input and a binary string d O u t 0 , 1 m of fixed length m as an output, is a secure hash function if the following conditions holds:
  • A ’s advantage to find the collision A d v A h ( t 1 ) = P r [ ( s , s ) R A : s s , h ( s ) = h ( s ) ] and
  • A d v A h ( t 1 ) τ , for any sufficiently small τ > 0 .
where s , s R indicates that the pair s , s is randomly chosen by A and P r represents the probability of the event s , s R A with execution time t 1 .
Definition 2.
Secure Encryption Scheme [25]: For any probabilistic, polynomial time adversary A , an encryption algorithm E n c is said to be IND-CPA (indistinguishability of encryption and chosen plaintext attack) secure if A d v E n c , A I N D C P A is negligible. Where A d v E n c , A I N D C P A ( t 2 ) = 2 P r [ A O k ; ( b 0 , b 1 A ) ; τ R 0 , 1 ; γ R O k ( b τ ) : A ( γ ) = τ ] 1 denotes the advantage function of A and τ R { 0 , 1 } denotes that the bit τ is a randomly chosen from set { 0 , 1 } . t 2 denotes the execution time.
Definition 3.
Elliptic Curve Diffie-Hellman [26]: If p > 3 be a prime number, the elliptic curve E p ( a , b ) considered over the finite field Z p is represented by the solutions ( x , y ) Z p × Z p of the equation y 2 = x 3 + a x + b , along with a point O of infinity, where 4 a 3 + 27 b 2 0 mod p. If P be a generator or a base point of a cyclic subgroup G of the elliptic curve E p ( a , b ) considered over the finite field F p , i.e., G = ( P ) , the elliptic curve Diffie-Hellman (ECDH) key exchange can be described as follows:
Initially, U i and S N j agree on a generator point P and choose their private key as r U i and r S N j respectively. Afterwards, they construct and exchange their public keys as X U i = r U i × P and Y S N j = r S N j × P . Finally, U i and S N j calculate the common secret key as r U i × ( r S N j × P ) and r S N j × ( r U i × P ) respectively. Where r U i × ( r S N j × P ) = r S N j × ( r U i × P ) and it is intractable to find r U i and r S N j for an adversary A who knows X U i and Y S N j . i.e.,
The advantage in finding r U i is defined by A d v A E C D H ( t 3 ) = P r [ ( r U i , P ) R A : X U i = r U i × P ] . Where A d v A E C D H ( t 3 ) τ , for any sufficient small τ > 0 and ( r U i , P ) R A means the pair ( r U i , P ) is randomly selected by A with execution time t 3 , such that X U i = r U i × P .
Definition 4.
Fuzzy Extractor for user authentication: Fuzzy extractor [27] is a cryptography mechanism for securely authenticating a user using bio-metric credentials. Suppose a finite set M is a metric space with a distance function d i s along with an error tolerance limit T calculated using error correction codes for any particular distance metric (hamming distance, set difference metric, edit distance metric etc.) such that:
  • d i s : M × M R = [ 0 , ) .
  • d i s ( B i , B i ) = 0 iff B i = B i ,
  • d i s ( B i , B i ) = d i s ( B i , B i ) ,
  • d i s ( B i , B i ) ( d i s ( B i , B i ) + d i s ( B i , B i ) ) , where B i , B i , B i M .
The fuzzy extractor consists of two randomized operations i.e., Generator (Gen) and Reproduction (Rep) with the following characteristics:
  • The G e n ( ) operation takes a bio-metric credential B i M of user U i as an input and produces outputs—a secret string σ i { 0 , 1 } l and a public accessory string τ i { 0 , 1 } , i.e., G e n ( B i ) = ( σ i , τ i )
  • The R e p ( ) operation takes a noisy bio-metric credential B i M of user U i and the public accessory string τ i as an input and reproduces the secret string σ i { 0 , 1 } l as an output i.e., R e p ( B i , τ i ) = σ i if and only if d i s ( B i , B i ) T .

4. Review and Cryptanalysis of Various Recent Schemes of User Authentication for WSNs

In this section, we concisely review and present the security analysis of the various recently proposed user authentication protocols of WSNs. The security analysis performed in this section illustrates that the existing protocols have various security vulnerability based on the logical proofs and the assumptions considered in the Section 3.2 of this paper. This section provides an awareness of what needs to be fixed and how the user authentication protocol should be design to withstand the miscellaneous attacks incorporated into the WSNs/IoT.

4.1. Review of A.K.Das’s Scheme

A.K.Das [17] performed the security analysis of Althobaiti et al.’s [18] scheme and proposed an improved scheme of user authentication using the fuzzy extractor in order to resist node capture attack, impersonation attack, man-in-the-middle attack. A.K.Das [17] proposed a novel approach (considering the resource constraints of sensor node) for bio-metric based user authentication using the fuzzy extractor. For evaluating the security features of A.K.Das’s Scheme, the user registration phase of Das’s scheme is described in the follwing Step DR1, Step DR2, Step DR3 and the authentication-key agreement phase is summarized in the Steps DA1, Step DA2, Step DA3 based on the notations of Table 1. We summarize the user registration, authentication and key agreement phase of A.K.Das’s scheme in Table 2 and Table 3 respectively.
Step DR1:
The user U i inputs I D U i , P W U i and B i and generates 1024 bit random number K. Subsequently, U i calculates R P W i = h ( I D U i | | K | | P W U i ) and selects a key e k i . Then, U i transmits I D U i , R P W i , e k i to G W N using secure communication channel.
Step DR2:
After receiving the message I D U i , R P W i , e k i , the gateway node G W N generates 1024 bit key X s , evaluates f i = h ( I D U i h ( X s ) ) and stores ( h ( ) ˙ , G e n ( ) ˙ , R e p ( ) ˙ , f i , T ) into S C i . Then, G W N sends S C i to U i using secure communication channel.
Step DR3:
After receiving S C i , the user U i evaluates G e n ( B i ) = ( σ i , τ i ) , f i = f i h ( I D U i | | σ i | | K ) , r i = h ( I D U i | | σ i ) K , e i = h ( I D U i | | R P W i | | σ i ) , and B E i = h ( I D U i | | σ i ) e k i . Finally, U i replaces f i with f i in S C i and stores e i , τ i , B E i , r i into S C i
Step DA1:
The registered user U i inserts his/her smart card S C i into the card reader device and provides the I D U i , secret P W U i , bio-metric information B i . Then, evaluates σ i = R e p ( B i , τ i ) , K = r i h ( I D U i | | σ i ) , R P W i = h ( I D U i | | P W U i | | K ) , e i = h ( I D U i | | R P W i | | σ i ) . If e i = e i , U i transmits I D U i , r e q to G W N via public communication channel. Otherwise, U i aborts this phase.
Step DA2:
After receiving the message I D U i , r e q , G W N verifies the message. If I D U i is valid, G W N sends a Random challenge R to U i via public communication channel. Otherwise, G W N aborts this phase.
Step DA3:
After receiving the Random challenge R, U i evaluates e k i = B E i h ( I D U i | | σ i ) . Finds the current time-stamp T 1 . Then, U i transmits E n c e k i ( R , T 1 , I D S N j ) to G W N via public communication channel.
Step DA4:
G W N evaluates R , T 1 , I D S N j using decryption operation based on key e k i . If T 1 is fresh and R is valid, G W N computes f i = h ( I D U i h ( X s ) ) , f i = h ( I D S N j | | f i ) , finds the current time-stamp T 2 and computes Y j = E n c K j [ I D U i , I D S N j , T 1 , T 2 , f i ] . Finally, G W N transmits I D U i , Y j to S N j via public communication channel. Otherwise, G W N aborts this phase immediately.
Step DA5:
S N j retrieves ( I D U i , I D S N j , T 1 , T 2 , f i ) as ( I D U i , I D S N j , T 1 , T 2 , f i ) using decryption operation on I D U i , Y j based on key K j . If T 2 is fresh and I D U i is valid, S N j finds the current time-stamp T 3 and evaluates the session key S K i j = h ( f i | | I D U i | | I D S N j | | T 1 , T 3 ) . Then, S N j sends h ( S K i j ) , T 3 to U i via public communication channel and stores S K i j in its memory. Otherwise, S N j aborts this phase immediately. Finally, S N j stores S K i j in its memory.
Step DA6:
If T 3 is fresh, the user U i computes f i = f i h ( σ i | | I D U i | | K ) , f i = h ( I D S N j | | f i ) , S K i j = h ( f i | | I D U i | | I D S N j | | T 1 | | T 3 ) . If h ( S K i j ) = h ( S K i j ) , U i establishes the session key S K i j with the sensor node S N j . Otherwise, U i aborts this phase immediately.

4.2. Cryptanalysis of A.K.Das’s Scheme

In this section, we perform the cryptanalysis of the A.K.Das’s scheme and found that A.K.Das’s scheme is also vulnerable. The vulnerabilities involve in A.K.Das’s scheme are elaborated in the following subsection:

4.2.1. Stolen Smart Card Attacks

The adversary A ascertains the value of { τ i , e i , r i , B E i , f , h ( . ) , G e n ( . ) , R e p ( . ) , T } from stolen S C i by measuring the power consumption of smart card [24]. Then, A computes: B E i r i = [ h ( I D U i σ i ) K ] [ h ( I D U i σ i ) e k i ] = K e k i .
Afterwards, the adversary A find out the value of K and e k i by implementing one of the following three mechanism:
  • Derives the value of K and e k i using the frequency analysis of stream cipher B E i , r i and B E i r i .
  • Eavesdrops R and E e k i ( R , T , I D S N j ) and implements the known plain text attack to find out the value of e k i . Thereafter, A find out the value of K = e k i ( K e k i ) .
  • Steals the bio-metric information B i of U i (where d ( B i , B i ) T ) and find out the value of σ i = R e p ( B i , τ i ) . Eavesdrops the value of I D U i from public communication channel and then evaluates the value of e k i = B E i h ( I D U i σ i ) , K = r i h ( I D U i σ i ) . It is possible, because e k i is not password P W U i protected.
Subsequently, A chooses its own identity I D A , password P W A , biometric information B A and computes:
R P W A = h ( I D A K P W A ) , G e n ( B A ) = ( σ A , τ A ) , e A = h ( I D A R P W A σ A ) , r A = h ( I D A σ A ) K and B E A = h ( I D A σ A ) e k i .
Finally, A replaces the information { τ i , e i , r i , B E i , f , h ( ) , G e n ( . ) , R e p ( . ) , T } of S C i with { τ A , e A , r A , B E A , f , h ( ) , G e n ( . ) , R e p ( . ) , T } respectively.
The login phase of the adversary A is as follows:
  • A insert S C i and inputs I D A , P W A and imprints B A .
  • A computes σ A = R e p ( B A , τ A ) , K = r A h ( I D A σ A ) , R P W A = h ( I D A P W A K ) and e A = h ( I D A R P W A σ A ) . Then, it verifies if e A = e A . It would be true i.e., both the password and bio-metric verification would be correct.
  • Afterwards, U i sends the login message I D A , r e q to G W N via a public channel. However, the adversary A intercepts the message I D A , r e q and replaces I D A , r e q with I D U i , r e q .
Authentication and key agreement phase for the adversary A is illustrated as follows:
  • Since I D U i is valid, therefore G W N generates a random challenge R and send it to A .
  • A select the login sensor node S N j and sends E e k i ( R , T 1 , I D S N j ) to G W N .
  • After receiving E e k i ( R , T 1 , I D S N j ) , G W N decrypt it using e k i and verifies the validity of T 1 and R. Subsequently, G W N computes f i = h ( I D U i h ( X s ) ) , f i = h ( I D S N j f i ) , Y j = E K j [ I D U i , I D S N j , T 1 , T 2 , f i ] and finally sends I D U i , Y i to the sensor node S N j .
  • After receiving I D U i , Y i , S N j computes S K i j = h ( f i I D U i I D S N j T 1 T 3 ) and sends h ( S K i j ) , T 3 to A
  • Then, A computes f i = f i h ( σ i | | I D U i | | K ) using I D U i , stolen bio-metric and evaluated K. It is possible because f i has no password protection.
  • Finally, A computes f i = h ( I D S N j | | f i ) and the session key S K i j = h ( f i I D U i I D S N j T 1 T 3 ) shared with S N j .

4.3. Review of Choi et al.’s Scheme

Choi et al. [21] performed the security analysis of Yoon and Kim’s [28] protocol and proposed an improved protocol (considering the resource constraints of sensor node of WSNs) of user authentication using the fuzzy extractor and biometric information. The Choi et al.’s protocol solves the problems of biometric recognition inaccuracy, user verification difficulty, lack of anonymity, perfect forward secrecy, session key revelation by the GWN, DoS attack, and a revocation problem. In this scheme, the gateway node G W N originates master keys, x and y, and allocates h ( I D S N j | | y ) to the sensor node S N j . The registration phase of this scheme is summarized in Step CR1, Step CR2 and Step CR3. The authentication, and session key establishment phase is summarized in Table 4.
Step CR1:
The user U i inputs his/her identity I D U i , biometric information B i and computes: ( σ i , τ i ) = G e n ( B i ) , A i = h ( σ i ) . Then, U i transmits I D U i , A i to G W N via secure communication channel.
Step CR1:
After receiving the message I D U i , A i , the gateway node G W N generates 1024 bit secret key x and computes M U i = h ( I D U i | | x ) A i , N U i = h ( I D U i x ) A i , V U i = h ( I D U i | | A i ) . Then, G W N stores I D U i , M U i , N U i , V U i , h ( . ) into smart card S C i . Finally, G W N sends the smart card S C i to the user U i
Step CR2:
After receiving the smart card S C i , the user U i stores τ i into S C i .

4.4. Cryptanalysis of Choi et al.’s Scheme

In this section, we perform the cryptanalysis of the Choi et al.’s scheme and found that Choi et al.’s scheme is also vulnerable. The vulnerabilities involve in this scheme are elaborated in the following subsection:

4.4.1. Attack Based on Legitimate User

In this scheme, a legitimate user U L can be an adversary U A , because U L can find out the hashed master key h ( x | | y ) and then it can derive the secret information of user U i as follows:
  • U A inputs I D U A , imprints B A , computes σ A = R e p ( B A , τ A ) , A A = h ( σ A ) , V A = h ( I D A | | A A ) and finally verifies V A = V A ,
  • If verification succeeds, U A generate random number r A , and computes X A = r A × P , D A = M A A A , h ( x | | y ) = N A A A
  • A intercepts the message M 1 = A I D i , X i , C i , T i , W i of U i and find out: I D U i = A I D i h ( h ( x | | y ) | | T i ) .
  • Therefore, we find that Choi et al. scheme does not provide user anonymity i.e., an adversary A can compute user U i ’s identification I D U i . However, Choi et al. claimed that their protocol provides user anonymity.
  • Furthermore A intercepts the cipher text C i = E k i ( I D U i | | X i ) and derives the plain-text ( I D U i | | X i ) , therefore Choi et al. scheme is vulnerable to known plain-text attack.

4.4.2. User Impersonation Attack

An adversary A with an stolen smart card S C i can impersonate a legitimate user U i as follows:
  • A extracts I D U i , M U i , N U i , V U i , h ( . ) , τ i from the smart card S C i of the user U i and computes A i = N i h ( x | | y ) , V i = h ( I D U i | | A i ) and verify the computed V i with the stored V i .
  • A generates a random number r A , calculates X A = r A × P , D A = M i A i . Find out the current timestamps T A , computes k A = h ( D i | | T A ) , C A = E k A ( I D U i | | X A ) , A I D A = I D U i h ( h ( x | | y ) | | T A ) , W A = h ( h ( x | | y ) | | A I D A | | X A | | C A , T A ) .
  • A sends the message M 1 A = A I D A , X A , C A , T A , W A to G W N . Subsequently, A establishes the session key s k = h ( A I D A | | r A × r s × P ) with S N j using Steps 2–4 of authentication and session key establishment phase of Choi et al. protocol.

4.5. Review of Park et al.’s Scheme

Park et al. [22] performed the security analysis of Chang et al.’s [29] scheme. Then, Park et al. proposed an improved scheme of user authentication using the fuzzy extractor and biometric information in order to provide forward secrecy, accurate password update phase and resist off-line password guessing attacks. In this scheme the gateway node G W N originates master keys, x and y, and allocates a key h ( I D S N j | | y ) to the sensor node S N j . Afterwards, the scheme follows the registration, login and authentication phase as shown in Table 5 and Table 6.

4.6. Cryptanalysis of Park et al.’s Scheme

In this section, we perform the cryptanalysis of the Park et al.’s scheme and found that Park et al.’s scheme is also vulnerable and it has the following security vulnerabilities:

4.6.1. Sensor Node Impersonation Attack

According to Park et al., to impersonate a sensor node S N j , an adversary A need to have the key k G W N = h ( h ( I D S N j | | y ) | | T G W N ) . Although, an adversary A can impersonate the sensor node S N j without having k G W N with the help of following steps:
  • The adversary A intercepts the message M 1 = A I D U i , X U i , C U i , T U i , W U i , M and M 2 = A I D G W N , C G W N , T G W N , W G W N .
  • Then, A generates a random number r A , finds current times-stamp T A and computes: K A U = r A × X U i , Y A = r A × P , s k = h ( A I D U i | | K A U | | T A ) , R M = Query response and V A = h ( A I D U i | | X U i | | Y A | | R M | | T A ) .
  • Afterwards, A sends M 3 = R M , Y A , V A , T A to U i .
  • After receiving M 3 , U i computes: V A = h ( A I D U i | | X U i | | Y A | | R M | | T A ) . If V A = V A , A computes K U A = r U i × Y A , s k = h ( A I D U i | | K U A | | T A ) .
Therefore, the adversary A succeeds in impersonating the sensor node S N j and establishing the session key s k with the user U i .

4.6.2. User Impersonation Attack

In Park et al.’s scheme, a legitimate user U k can be an adversary U A to impersonate the user U i because U k can find out the hashed master key h ( x | | y ) and then it can derive the secret information of user U i as follows:
  • First, the adversary A extract the information V U k , N U k , C U k , h ( . ) , P U k from the smart card.
  • Then, A imprints its biometric information B k and computes σ k = R e p ( B k , P U k ) and A U k = h ( σ k ) , M U k = N U k A A .
  • Afterwards, A generates random number r A , selects an identity I D U i and computes: X A = X U k = r U k × P , A I D U i = I D U i h ( M A | | T A ) and W A = W U k = h ( M A | | I D U i | | X A | | T A ) . Finally, A sends M 1 = A I D U i , X A , C U k , T U k , W U k to G W N .
  • After receiving M 1 , if ( T T U k ) Δ T , G W N computes A U i | | u p U k = D e c x ( C U k ) , M U k = h ( x | | y | | A U k ) , I D U i = A I D U i h ( M U k | | T U k ) , W U i = h ( M U k | | I D U i | | X U k | | T U k ) .
  • If ( W U i = W U i ) , the G W N finds the current time stamp T G W N and computes: k G W N = h ( h ( I D S N j | | y ) | | T G W N ) , C G W N = E n c k G W N ( A I D U k | | X U k ) , W G W N = h ( h ( I D S N j | | y ) | | A I D U i | | C G W N | | T G W N ) .
  • Finally, G W N sends M 2 = A I D U k , W G W N , C G W N , T G W N to S N j .
  • After receiving M 2 , if ( T T G W N ) Δ T and W G W N = h ( h ( I D S N j | | y ) | | A I D U k | | C G W N | | T G W N ) , S N j computes: k G W N = h ( h ( I D S N j | | y ) | | T G W N ) and ( A I D U k | | X U k ) = D e c G W N ( C G W N ) .
  • If ( A I D U k = A I D U k ) , S N j generates a random number r S N j and computes: K S U = r S N j × X U k , Y U i = r S N j × P , s k = h ( A I D U i | | K S U | | T S N j ) , R M = Query Response, V S N j = h ( A I D U k | | X U k | | Y U i | | R M | | T S W N j ) .
  • Then, S N j sends M 3 = R M , Y U i , V S N j , T S N j to the adversary A .
  • After receiving M 3 , if ( T T S N j ) Δ T , the adversary A computes: V S N j = h ( A I D U k | | X U k | | Y U i | | R M | | T S N j ) . If ( V S N j = V S N j ) , S N j computes K U S = r U k × Y U i and establishes the session key s k = h ( A I D U k | | K U S | | T S N j ) with sensor node S N j . Therefore, Park et al.’s scheme is vulnerable to user impersonation attack. Similar attack is possible in Moon et al.’s scheme [23] also, since the value of C U i in Moon et al.’s scheme can be evaluated using x , y and N U i .

5. Proposed Protocol

In our proposed protocol, we consider that the WSNs and IoT consist of few users (with the smart card which can be captured or stolen by the adversary A ), hundreds of sensor nodes (these nodes can be captured by A ) and trusted gateway node. Considering these entities, we design the protocol which consists of four critical components (i) Set-up before the deployment of WSNs/IoT (ii) Registration of U i by the G W N (iii) U i ’s authentication and session key establishment phase (iv) U i ’s credentials update phase.

5.1. Set-Up before the Deployment of WSNs/IoT

In this phase, we select a high-performance and trusted computing node as a gateway G W N . The G W N assigns a unique identity I D S N j to each sensor node S N j and loads a unique secret key K G S N j = h ( I D S N j | | K G W N ) into the memory of S N j .

5.2. Registration of U i by the G W N Using Secure Communication Channel

In this phase, a legitimate user U i sends the hashed secret credential to G W N using a secure communication channel and the G W N provides a smart card (consisting of some secret parameter which is known only to the G W N ) S C i to U i . The steps associated with the proposed user registration phase are described in following Steps R1, R2, R3 and summarized in Table 7 (using Steps 1–3).
Step R1:
A legitimate user U i selects her identity I D U i , password P W U i and inputs his/her biometric information B i into the generator function G e n ( ) which generates a secret information σ i and a public reproduction parameter τ i . Then, U i calculates P B i = h ( P W U i | | σ i ) using secure hash function h ( ) and sends I D U i , P B i to the gateway node G W N .
Step R2:
G W N generates a secret key x, selects a generator point P of G with order q and computes:
K U i = h ( I D U i | | x ) × P (where “×” is the scalar multiplication operator of elliptic curve),
A U i = P B i h ( I D U i x ) , B U i = h ( I D U i | | P B i | | h ( I D U i x ) ) , W U i = h ( I D U i | | P B i ) K U i Finally, the gateway node G W N stores the value of P , A U i , B U i , W U i into the smart card S C i and sends S C i to the user U i .
Step R3:
After receiving the S C i from G W N , the user U i stores function h ( ) , G e n ( ) , R e p ( ) and the values of T , τ i into S C i .

5.3. User Authentication and Session Key Establishment Phase

In this module, we use the reproduction procedure R e p ( . ) of fuzzy extractor for authentication the user U i with its noisy biometric credential B i and we use Elliptic curve Diffie-Hellman procedure for sharing the common session key S K between user U i and sensor node S N j . The detail descriptions of this phase are illustrated in following Steps A1–A4 and summarized in Table 8 (using Steps 1–4).
Step A1:
U i inputs I D U i , P W U i , imprints her noisy biometric information B i and computes σ i = R e p ( B i , τ i ) using reproduction function of fuzzy extractor as described in Definition 4. Then, U i calculates P B i = h ( P W U i | | σ i ) , h ( I D U i x ) = A U i P B i , B U i = h ( I D U i | | P B i | | h ( I D U i x ) ) .
If the equivalent condition B U i = B U i does not fulfill; abort the protocol. Otherwise, U i evaluates K U i = W U i h ( I D U i | | P B i ) , generates a random number r U i Z q . and find out her current time stamp T U i . Then, the user U i calculates X U i = r U i × P , X U i = r U i × K U i (where “×” is the scalar multiplication operator of elliptic curve) and encrypts the message ( I D S N j | | T U i ) considering X U i as a symmetric key to find: α = E n c X U i [ I D S N j | | T U i ] . Finally, U i Construct a message M 1 = I D U i , X U i , α and sends M 1 to the gateway node G W N .
Step A2:
After receiving the message M 1 , the gateway node G W N compute X U i = h ( I D U i | | x ) × X U i and decrypts the cipher text α considering X U i as a symmetric key to find: [ I D S N j | | T U i ] = D e c X U i [ α ] . And if the condition T T U i Δ T does not fulfill; the G W N aborts the protocol. Otherwise, the gateway node G W N generates a random number r S N j Z q and calculates Y S N j = r S N j × P , the session key s k = r S N j × X U i (where “×” is the scalar multiplication operator of elliptic curve). Then, the gateway node G W N finds its current time-stamp T G W N and calculates: β = E n c X U i [ I D S N j | | Y S N j | | T G W N ] , γ = E n c K G S N j [ I D U i | | s k | | β | | T G W N ] . Finally, G W N construct the message M 2 = γ and sends M 2 to the sensor node S N j .
Step A3:
After receiving the message M 2 , S N j decrypts the cipher text β using symmetric key K G S N j to find out: [ I D U i | | s k | | β | | T G W N ] = D e c K G S N j [ γ ] . If the condition ( T T G W N ) Δ T fulfills, S N j stores the session key s k and finally transmits β to U i
Step A4:
After receiving the message M 3 , the user U i decrypts the message β considering X U i as a symmetric key and find out: [ I D S N j | | Y S N j | | T G W N ] = D X U i [ β ] . Once the condition ( T T G W N ) 2 Δ T fulfills, the user U i establishes the session key s k = r U i × Y S N j with S N j . Where r U i × Y S N j = r S N j × X U i based on E C D H problem.

5.4. User’s Credential Update Phase

If a legitimate user gets authenticated using her identity I D U i , password P W U i , biometric information B i and the smart card S C i , she can update her password and biometric information using the mechanism described in Table 9.

6. Security Analysis:

To estimate the security strength of our proposed protocol, we perform the informal and formal analysis of security features.

6.1. Informal Analysis

Our proposed protocol can withstand various known security attacks as illustrated in the following propositions.
Proposition 1.
The proposed protocol is secure against Stolen Smart Card Attack.
Proof. 
An adversary A who have stolen the smart card S C i can extract the intimate data such as A U i , B U i , W U i , h ( . ) , R e p ( . ) , G e n ( . ) , τ i from the S C i using side channel attacks such as differential and simple power analysis. However, in our protocol the most important private information such as σ U i , x and K U i are stored in well-protected form. If A succeed to find out A U i , it can not find out P B i or h ( I D U i x ) using frequency analysis attack. The private information σ U i also can not be extracted by A because it is hashed after concatenated with P W U i . ☐
Proposition 2.
The proposed protocol is secure against node compromise attack.
Proof. 
According to our presumption, the sensor node S N j is not fixed with tamper resistant hardware, therefore an adversary A can capture the sensor node S N j and find out the value of the key K G S N j and session key s k . However, A can not use the same session key at next session because we made the session key unique using the random number r U i and r S N j . If A captures the key K G S N j from S N j , it can establish a session key with any user who wants to access data from S N j but it can not establish a session key with any other user associated with non-compromised sensor node because the key K G S N j is uniquely given to S N j . ☐
Proposition 3.
The proposed protocol is secure against Man-in-the-middle attack.
Proof. 
Suppose an adversary A eavesdrops the message M 1 during user authentication and session key establishment phase, generates a random number r A and the current time-stamp T A . However, A can not evaluate the value of X U i without knowing the bio-metric information and smart card credentials of U i in order to decrypt and modify the value of α . Likewise, it is computationally infeasible for an adversary A to modify the value of γ and β without knowing the key K G S N j and X U i respectively.Therefore, our scheme is secure against the Man-in-the-middle attack. ☐
Proposition 4.
The proposed protocol is secure against replay attack.
Proof. 
Suppose an adversary A intercepts the message M 1 = I D U i , X U i , α = E n c X U i [ I D S N j | | T U i ] from the public communication channel established between Step 1 and Step 2 of user authentication and session key establishment phase of our proposed protocol. Sometime later, A resends M 1 to the gateway node G W N . At the gateway node G W N , the message M 1 will be declared as replayed because the time-stamp T U i will not be fresh and the condition T T U i Δ T will not be satisfied. Similarly, if the adversary A intercepts and replays the messages M 2 and M 3 from the public communication channels of user authentication and session key establishment phase, they will be declared (after time-stamp verification) as replayed messages by the sensor node S N j and the user U i respectively. Therefore, our scheme is secure against the replay attack. ☐
Proposition 5.
The proposed protocol is resilience against gateway node capture attack.
Proof. 
In the registration phase of our proposed protocol, the user U i transmits only the value of P B U i = h ( P W U i | | σ U i ) , instead of sending the original biometric information B i , to the gateway node G W N . Where, σ i is generated using Fuzzy extractor and the function h ( . ) is a secure one-way hash function. Therefore, for an adversary A , it is not possible to find out the value of user’s password P W U i and biometric information B i from the captured Gateway node G W N . Then, A can not impersonate the user U i based on the authentication phase of our proposed protocol. Hence, our proposed protocol is resilience against gateway node capture attack. ☐

6.2. Formal Security Analysis

In this section, we first use random oracle model to perform the formal security analysis of our proposed protocol. Then, we use Scyther tool [30] to verify all the security claims specified in different roles. Afterwards, we automatically validate the safety of our protocol using AVISPA [31] (version v1.1) tool based on Dolev-Yao intruder model with OFMC and CL-AtSe back-ends. We do logical verification using BAN logic to ensure that our protocol works correctly and achieve the specified security feature.

6.2.1. Formal Security Verification Using Random Oracle Model

The random oracle model (ROM) is a robust tool proposed by Bellare and Rogaway in [32] to make it possible to execute meticulous “proofs of security” for particular fundamental cryptographic protocols.
A random oracle is a theoretical black box that responds to every individual query with an accurate random response chosen uniformly from its output domain. If a query is occurring several times, it responds the same way every time that query is performed.
Based on random oracle model, the following Theorem 1 shows that our protocol can resist various security attacks.
With the help of random oracle model we prove that for an adversary A it is not possible to obtain the value of legitimate user’s identity I D U i , password P W U i , biometric information B i , and the session key s k . Considering the method of contradiction, we assume that there exist some random oracles as illustrated in following Definitions 5–7.
Definition 5.
Reveal1: Given a hash value y = h ( s ) , this oracle unconditionally outputs the string s.
Definition 6.
Reveal2: Given an encrypted value E n c k [ s ] , this oracle unconditionally outputs the string s without knowing the key k.
Definition 7.
Reveal3: Given P E p ( a , b ) and the public parameter X = r × P E p ( a , b ) , this oracle outputs the private key r.
Theorem 1.
If the hash function h ( ) , encryption mechanism E n c , and elliptic curve Diffie-Hellman problem E C D H follows the random oracle Reveal1, Reveal2 and Reveal3 respectively; our scheme resist the adversary A for deriving the values of user U i ’s secret parameters P W U i , σ i , K U i and X U i .
Proof of Theorem 1.
If we assume that, there exist the oracle Reveal1, Reveal2, Reveal3 which can derive string s from the hash digest d = h ( s ) , string s from the cipher-text E n c k [ s ] and private key r from the public parameter X = r × P respectively. Then, the adversary A can design an procedure E X P A h E n c E C D H as shown in Algorithm 1 such that probability of success of E X P A h E n c E C D H is S u c c e s s A h E n c E C D H = | P r [ E X P A h E n c E C D H = 1 ] 1 | . The advantage function for E X P A h E n c E C D H can be represented as:
A d v A h E n c E C D H ( ( t 1 + t 2 + t 3 ) , ( q R 1 + q R 2 + q R 3 ) ) = [ A d v A h ( t 1 ) · A d v E n c , A I N D C P A ( t 2 ) · A d v A E C D H ( t 3 ) ]
.
According to Algorithm 1, there exist oracle Reveal1, Reveal2, Reveal3 capable of finding the preimage of h ( ) , the plain-text s from the cipher-text E n c k [ s ] and private key r from the public parameter X = r × P . Therefore, the adversary A can get the values of P W U i , σ i , K U i , X U i . However, according to Definitions 1–3 (defined in Section 3) we have
A d v A h ( t 1 ) = P r [ ( s , s ) R A : s s , h ( s ) = h ( s ) ] ,
A d v E n c , A I N D C P A ( t 2 ) = 2 P r [ A O k ; ( b 0 , b 1 A ) ; τ R 0 , 1 ; γ R O k ( b τ ) : A ( γ ) = τ ] 1 ,
A d v A E C D H ( t 3 ) = P r [ ( r U i , P ) R A : X U i = r U i × P ]
Where   A d v A E C D H ( t 1 ) τ , A d v E n c , A I N D C P A ( t 2 ) τ , A d v A E C D H ( t 3 ) τ .
Therefore ,   A d v A h E n c E C D H ( ( t 1 + t 2 + t 3 ) , ( q R 1 + q R 2 + q R 3 ) ) τ .
which indicates that A d v A h E n c E C D H ( ( t 1 + t 2 + t 3 ) , ( q R 1 + q R 2 + q R 3 ) ) is negligible for any probabilistic polynomial time adversary A . Now, we find that the secure hash function h ( ) , encryption mechanism E n c k [ s ] and elliptic curve Diffie-Hellman problem E C D H defined in Section 3 contradicts the oracle Reveal1, Reveal2 and Reveal3 respectively considered in Algorithm 1. This indicates that our scheme resist the adversary A for deriving the values of the secret parameters P W U i , σ i , K U i , and X U i . Hence, the theorem is proved. ☐
Where q R 1 , q R 2 , q R 3 represents the total number of queries made to the Reveal1, Reveal2, Reveal3 oracle respectively.
Algorithm 1: E X P A h E n c E C D H
Information 08 00136 i001

6.2.2. Verification Using Scyther tool

The Scyther tool algorithm provides some novel features, including:
  • Guaranteed termination, after which the result is either unbounded correctness, falsification, or bounded correctness.
  • Efficient generation of a finite representation of an infinite set of traces concerning patterns, also known as a complete characterization.
  • State-of-the-art performance, which has made new types of protocol analysis feasible, such as multi-protocol analysis.
The proposed protocol is specified in Security Protocol Description Language(SPDL). The protocol specification defines sequence of roles of U i , G W N and S N j . Every role encompasses sequences of events (i.e., send, receive, declarations and claim events). The protocol specification and the roles of U i , G W N and S N j are represented in Table 10, Table 11, Table 12 and Table 13 respectively. The verification result obtained using Scyther tool is shown in Figure 2. The result indicates that no attacks found on each of the claims specified in our protocol.

6.3. Verification Using AVISPA Tool

In this section, we first explain the setup procedure and some basic features of AVISPA tool which we use for the formal security analysis of our protocol. Afterwards, we describe the implementation of our protocol using High- Level Protocol Specification Language (HLPSL). Finally, we discuss about the results obtained.

6.3.1. Experimental Setup and the Size of the Entities Involved in WSNs/IoT for the Simulation of Proposed Protocol Using AVISPA Tool

In order to simulate the proposed protocol on AVISPA v1.1, we use a Security Protocol ANimator (SPAN) Version 1.6 on a computer system having ubuntu 16.04 LTS operating system (64 bit), Intel (R) core (TM) i7-6500U CPU @ 2.50 GHz x4 processor, and 8 GB RAM. We extract the archive avispa-package-1.1_Linux-i686.tgz, set up the environment variable AVISPA_PACKAGE and keep the script of the avispa protocol in the execution path. We implement our protocol considering minimal number of entities involved in WSNs/IoT (i.e, one user U i , one sensor node S N j and one gateway node G W N ) using Dolev-Yao model [33] with a bounded number of sessions, specified goal, On-the-Fly Model-Checker(OFMC) and Constraint-Logic based Attack Searcher (CL-AtSe) backend.

6.3.2. Basic Features of AVISPA Tool

AVISPA is a broadly accepted and robust software tool for automatically validating (using push-button mechanism) the security features of the protocols used in Internet of Things. The architecture of AVISPA tool is shown in following Figure 3.
AVISPA involves HLPSL to specify the protocol in a file with.hlpsl extension. It performs a static analysis to verify the executability of the protocol. A HLPSL2IF translator is used to translate the HLPSL specification into an Intermediate Formate (IF) specification, which is tool-independent language and compatible for automated deduction. The IF specifications are provided as an input to one of the four back-ends. The back-ends are as follows:
  • On-the-fly model-checker (OFMC)
  • Constraint-logic based attack searcher (CL-AtSe)
  • SAT-based model-checker (SATMC)
  • Tree automata based on automatic approximation for the analysis of security protocols (TA4SP).

6.4. Implementation of the Proposed Protocol Using HLPSL

The HLPSL specification of the protocol consist of some important section as follow:
  • Basic Role: Basic role explains the activity of the entities (e.g., User U i , Gateway G W N and Sensor node S N j ) involve in the protocol.
    • Each role may have some parameter like U i , G W N , S N j of type agent and Kui1, Kgsnj of type symmetric_key.
    • The parameter RCV and SND denotes the agent’s communication channels for receiving and sending the information.
    • The parameter (dy) represents the Dolev-Yao intruder model for the channel.
    • The function H, Gen, Rep, EccMul, Enc, Dec and XOR corresponding to the hash function, fuzzy extractor’s generator, fuzzy extractor’s reproduction, elliptic curve scalar multiplication, encryption, decryption and logical XOR operations respectively.
    • The term hash_func represents all the functions which are not easily invertible because the random non-invertible arithmetic operators are not supportable in HLPSL.
    • The term “played_by U i ” denotes that the role User is played by U i .
    The HLPSL specification of roles of U i , G W N and S N j are shown in Table 14, Table 15 and Table 16 respectively.
  • Transitions: The transitions are declared in steps. It consist of trigger which fires when an event occurs. For any States in a transition if a message received on channel RCV, then transition fires and allocates a new value to the State.
  • Composed Roles: It makes one or more basic roles to execute together and represent the sessions involve in the protocol. The operator ∧ represents the parallel execution of the roles.
    The HLPSL specification of proposed protocol’s session is shown in Table 17.
  • Environment: It consist of global constant and session composition, where the adversary may execute some role as a authorized user.
    The HLPSL specification of proposed protocol’s environment is shown in Table 18.
  • Security Goal: This module specifies the security Goal of the protocol. Some important predicates used in this module are as follows:
    • secret({PWi,Bi,SIGi’}, sub1, Ui): It indicates that the information {PWi,Bi,SIGi’} is secretly shared to U i and it can be recognize with a constant identity s u b 1 in goal section.
    • witness(Ui, GWN, gateway_user_gu, Tui,Alpha’): It represents the weak authenticity of U i by G W N and U i is the witness for the data {Tui’, Alpha’}. The identity of this goal is represented as g a t e w a y _ u s e r _ g u in goal section.
    • request(Ui,SNj, user_sensor_us, Skey’): It represents the strong authenticity of U i by S N j on Skey with an identity user_sensor_us.
    • Symbols: Concatenation (.) is used for message composition (e.g., SND (IDi.PBi’)) and Commas (,) is used in case of multiple arguments of events or functions (e.g., secret(PWi,Bi,SIGi’, sub1, Ui)).
The HLPSL specification of proposed protocol’s goal is shown in Table 19.

6.5. Description of the Output Format Generated by AVISPA Tool

The output generated by AVISPA tool describes the final result obtained under various conditions after the security analysis of the protocol. The output produced by the AVISPA tool consist of following sections and subsections:
  • Summary: This section specifies the security reliability of the protocol regarding safe, unsafe or inconclusive.
  • Details: In this portion, the output specifies the environment and the context under which the protocol is claimed to be safe, unsafe or inconclusive.
  • Protocol: It indicates the name of the protocol given as an input for security verification.
  • Goal: This section represents the specified security goal of the protocol.
  • Backend: This section represents one of the four back-ends used for the analysis of the protocol.
The verification result of AVISPA [31] tool is shown in Table 20 which represents that the proposed protocol is safe from various attacks (like man-in-the-middle attack, replay attack etc.) using Dolev-Yao model [33] with bounded number of sessions, specified goal, On-the-Fly Model-Checker(OFMC) and Constraint-Logic based Attack Searcher (CL-AtSe) backend.

6.5.1. Logical Verification Using BAN Logic

In this subsection, we use BAN logic [34] to verify the freshness of time-stamp to avoid replay attack and we validate the message origin to achieve authenticity. The notation we use for logical verification is shown in Table 21.
Rule 1
Message meaning rule: P B A N | P B A N K Q B A N , P B A N { S } k P B A N | Q B A N | S . That is, if P B A N believes that she shared the key K with Q B A N , and P B A N sees the message { S } encrypted with key K, P B A N believes that Q B A N once said S.
Rule 2
Nonce verification rule: P B A N | # ( S ) , P B A N | Q B A N | S P B A N | Q B A N S . That is, if P B A N believes S is fresh and Q B A N once said S, P B A N believes Q B A N believes S.
Rule 3
Jurisdiction rule: P B A N | Q B A N S , P B A N | Q B A N S P B A N | S . That is, if P B A N believes that Q B A N had jurisdiction right to S and believes Q B A N believes S, P B A N believes S.
In order to achieve the better security features, the proposed protocol should achieve the security Goals as defined in Table 22.
Message 1
U i G W N : I D U i , X U i , I D S N j | | T U i X U i
Message 2
G W N S N j : I D U i | | s k | | I D S N j | | Y S N j | | T G W N X U i | | T G W N K G S N j ,
Message 3
S N j U i : I D S N j | | Y S N j | | T G W N X U i
Hypotheses: Some important assumptions (as shown in Table 23) about the initial state are made to analyze the proposed scheme:
Now, based on the hypothesis as described in Table 23 and the rules of the BAN logic, we validate that the proposed protocol can accomplish the intended goals and the clear explanations are as follows:
  • Derivation of user U i ’s trusts on the truth of secret information K U i .
    • U i | G W N K U i , U i | G W N | K U i U i | K U i
    That is, if U i believes that G W N has jurisdiction over K U i then U i trusts G W N on the truth of K U i . Therefore, we achieve Goal 1.
  • Derivation of sensor node S N j ’s trusts on the truth of secret information K G S N j .
    • S N j | G W N K G S N i , S N j | G W N | K G S N j S N j | K G S N j
    That is, if sensor node S N j believes that the gateway node G W N has jurisdiction over K G S N j then S N j trusts G W N on the truth of K G S N j . Therefore, we achieve Goal 2.
  • Verification of freshness of user’s time-stamp T U i on the gateway node G W N (using message-meaning and nonce verification rule):
    • G W N | U i X U i G W N , G W N T U i X U i G W N | U i | T U i (Based on message-meaning rule)
    That is, if G W N believes the secret X U i is shared with U i and sees < T U i > X U i , then G W N believes U i once said T U i
    • G W N | # ( T U i ) , G W N | U i | T U i G W N | U i | T U i (Based on nonce verification rule)
    That is, if G W N believes that the time-stamp T U i is fresh and U i once said T U i , then G W N believes U i believes T U i . Therefore, we achieve Goal 3.
  • Verification of freshness of gateway node’s time-stamp T G W N on the sensor node S N j (using message-meaning and nonce verification rule):
    • S N j | G W N K G S N j S N j , S N j T G W N K G S N j S N j | G W N | T G W N (Based on message-meaning rule)
    That is, if S N j believes the secret K G S N j is shared with G W N and sees < T G W N > K G S N j , then S N j believes G W N once said T G W N .
    • S N j | # ( T G W N ) , S N j | G W N | T G W N S N j | G W N | T G W N (Based on nonce-verification rule)
    That is, if S N j believes that the time-stamp T G W N is fresh and G W N once said T G W N , then S N j believes G W N believes T G W N . Therefore, we achieve Goal 4.
  • Verification of freshness of gateway node’s time-stamp T G W N on user U i (using message-meaning and nonce verification rule):
    • U i | G W N X U i G W N , U i T G W N X U i U i | G W N | T G W N (Based on message-meaning rule)
    That is, if U i believes the secret X U i is shared with G W N and sees < T G W N > X U i , then U i believes G W N once said T G W N .
    • U i | # ( T G W N ) , U i | G W N | T G W N U i | G W N | T G W N (Based on nonce-verification rule)
    That is, if U i believes that the time-stamp T G W N is fresh and G W N once said T G W N , then U i believes G W N believes T G W N . Therefore, we achieve Goal 5.
  • Verification of sensor node’s identity I D S N j on the gateway node G W N :
    • G W N | U i X U i G W N , G W N I D S N j X U i G W N | U i | I D S N j (Based on message-meaning rule)
    That is, if G W N believes the secret X U i is shared with U i and sees < I D S N j > X U i , then G W N believes U i once said I D S N j . Therefore, we achieve Goal 6.
  • Verification of user’s identity I D U i on the sensor node S N j :
    • S N j | G W N K G S N j S N j , S N j I D U i K G S N j S N j | G W N | I D U i (Based on message-meaning rule)
    That is, if S N j believes the secret K G S N j is shared with G W N and sees < I D S N j > X U i , then G W N believes U i once said I D U i . Therefore, we achieve Goal 7.
  • Verification of the public key Y S N j by user U i :
    • U i | G W N X U i U i , U i < Y S N j > X U i U i | G W N | Y S N j (Based on message-meaning rule)
    That is, if U i believes the secret X U i is shared with G W N and sees < Y S N j > X U i , then U i believes G W N once said Y S N j . Therefore, we achieve Goal 8.

7. Comparative Study Based on Security Features and Computational Overhead

7.1. Relative Security Analysis

Our comparative analysis of security features is based the popular features which need to be considered and the resistant against well-known attacks. Table 24 shows that our scheme overcomes the major attacks and provides more security.

7.2. Relative Performance Based on Computational Cost

The execution time as considered in [35,36], for the different cryptographic operation (performed by user U i and the gateway node G W N with a computer system having windows 7 operating system, Intel (R) core (TM) 2 Quad CPU Q8300, @2.50 Hz processor, and 2 GB RAM) are listed in following Table 25. We assumed the time for executing a fuzzy extractor is the same as that for executing a hash function because the fuzzy extractor [27] can be constructed from universal hash functions or error-correcting codes requiring only lightweight operations.
The computational time and energy consumed by the various cryptographic operations (performed by MicaZ sensor node S N j with 8-bit ATmega128L Atmel processor, 4 K bytes ROM, 128 K bytes ROM, 512 K bytes EEPROM, 2 AA battery with TinyOS [37] and nesC [38] programming language) are listed in following Table 26. The comparison of user authentication protocols based on computational cost is shown in Table 27. In the proposed protocol, the registration phase has computation costs T h 0.50 millisecond and 4 T h + T e ( ( 4 × 0.50 + 50.3 ) = 52.30 ) millisecond associated with U i and G W N respectively; the authenticated session key establishment phase has computational costs 3 T h 1.50 millisecond, 3 T h + T e ( ( 1.50 + 50.3 ) = 51.80 ) millisecond and T S E 5.05 millisecond associated with U i , G W N and S N j respectively. Similarly the computational cost for Das et al. [17], Choi et al. [21], Park et al. [22] and Moon et al.’s [23] schemes are evaluated, represented and compared in Table 27. This comparison indicates that the execution time for the sensor node is very less (because we shifted the overload of performance of elliptic curve point multiplication from sensor node to the gateway node with improved security features) in the proposed protocol. The energy consumption of the cryptographic operations on the sensor node is evaluated based on the following equation:
E n e r g y = V o l t a g e × C u r r e n t × T i m e s
where current = 8 Milliampere and Voltage = 3.0 Volts for the micaZ sensor node with AA batteries. Therefore, the energy consumption for Das et al. [17], Choi et al. [21], Park et al. [22] and Moon et al.’s [23] schemes are ( ( 8 × 3.0 × ( 2 T S h + T S E ) ) = 295.44 ) , ( ( 8 × 3.0 × ( 6 T S h + T S E + 2 T S e ) ) = 18 , 403.92 ) , ( ( 8 × 3.0 × ( 4 T S h + 2 T S e ) ) = 18 , 108.48 ) and ( ( 8 × 3.0 × ( 4 T S h + T S E ) ) = 18 , 229.68 ) respectively. For the proposed protocol the energy consumption is ( ( 8 × 3.0 × T S E ) = 5.05 ) . The comparison of user authentication protocols based on energy consumption is shown in Table 28 which illustrate that the proposed protocol consumes less energy compared to other existing protocols. For the comparative analysis of communicational overhead, we assume that I D U i , message request r e q , message response R / R M , encrypted message E n c k [ s ] , time-stamp T U i / T G W N / T S N j , hash function h ( . ) and the point on elliptic curve take 160 , 32 , 32 , 128 , 32 , 160 and 160 bits respectively. In our proposed protocol, during the authentication and session key establishment phase, the message I D U i , X U i , α requires ( 160 + 160 + 128 = 448 ) bits, whereas the messages ( β ) and α require ( 128 + 128 = 265 ) bits. As a result, the total communication overhead of our proposed protocol becomes 713 bits based on 3 communicated messages. For A.K.Das’s [17] protocol, in the login phase, the message ( I D U i , r e q ) requires ( 160 + 32 ) = 192 bits, whereas in the authentication and key agreement phase, the messages R , E n c e k i ( R , T 1 , I D S N j ) , ( I D U i , Y j ) and ( h ( S K i j ) , T 3 ) require 32 , 128 , 288 , and 352 bits, respectively. As a result, the total communication overhead of A.K.Das’s scheme becomes 832 bits. Similarly the communicational overhead for Choi et al. [21], Park et al. [22] and Moon et al.’s [23] schemes are evaluated, represented and compared in Table 29. The comparative analysis of Table 29 illustrates that the proposed protocol has less communication overhead (which saves communication energy and bandwidth) compared to other existing protocols.

8. Comprehensive Analysis and Lessons Learnt

The security analysis of existing user authentication protocols of the literature demonstrates that the protocols are vulnerable to various attacks like user impersonation attack, sensor node impersonation attack and attacks based on legitimate users. The performance analysis illustrates that the existing protocols are inefficient considering the computational cost. Whereas, the comparative security and performance analysis indicate that our proposed protocol is secure against stolen smart card attack, user impersonation attack, sensor node impersonation attack, sensor node capture attack, replay attack, man-in-the-middle attack. The proposed authentication protocol provides various security features such as mutual authentication, three-factor authentication, secure password and biometric information update, confidentiality, integrity, freshness. The proposed protocol is efficient concerning the computational cost of the resource-constrained sensor nodes, and it saves communication energy, bandwidth. As a result, the protocol is appropriate for applications of resource-constrained ubiquitous computing devices. Therefore, the proposed protocol can be used in various real-world applications consisting of resource constraint sensor devices of WSNs and IoT where bio-metric based secure user authentication and efficient session key establishment is required. The proposed protocol can be used for the implementation of bio-metric based secure authentic banking and financial transactions using the smart card, automated teller machines (ATM), point-of-sale (POS) machines.

9. Conclusions and Future Work

In this paper, we have discussed the security issues involved with the sensor nodes of WSNs and performed the security analysis of various existing protocols of user authentication for WSNs. We have proposed an efficient user authentication, session key establishment protocol for WSNs and IoT using the smart card, fuzzy extractor, ECDH techniques. We have presented security proof using random oracle model and BAN logic to ensure the correctness of various security features involved in the proposed protocol. Afterwards, we have performed the security analysis and verification using well-known and robust tools such as AVISPA and Scyther. Through the precise security analysis using mathematical functions and simulation tools, we have demonstrated that the proposed protocol fulfills the desirable security requirements and withstands the security drawbacks found in existing protocols of user authentication for WSNs. Finally, we have presented the comparative analysis of our protocol with other existing protocols based on security features and computational overhead which justify that our proposed protocol is secure, efficient and suitable for WSNs/IoT. In future, we would like to propose hyper-elliptic curve cryptography based authenticated key exchange protocol suitable for WSNs and IoT.

Acknowledgments

This work was supported by IDRBT.

Author Contributions

The authors worked jointly in the security analysis and development of the proposed protocol.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Akyildiz, I.F.; Su, W.; Sankarasubramaniam, Y.; Cayirci, E. Wireless sensor networks: A Survey. Comput. Netw. 2002, 38, 393–422. [Google Scholar] [CrossRef]
  2. Ashton, K. That ‘Internet of Things’ Thing. In the real world, things matter more than ideas. RFID J. 2009. Available online: http://www.rfidjournal.com/articles/view?4986 (accessed on 27 October 2017).
  3. Benenson, Z.; Gartner, F.; Kesdogan, D. User authentication in sensor networks. In Proceedings of the Workshop Sensor Networks, Lecture Notes Informatics Proceedings Informatik, Ulm, Germany, 2004; pp. 385–389. [Google Scholar]
  4. Watro, R.; Kong, D.; Cuti, S.F.; Gardiner, C.; Lynn, C.; Kruus, P. TinyPK: Securing Sensor Networks with Public Key Technology. In ACM Workshop on Security of Ad Hoc and Sensor Networks; ACM Press: Washington, DC, USA, 2004; pp. 59–64. [Google Scholar]
  5. Benenson, Z.; Gedicke, N.; Raivio, O. Realizing robust user authentication in sensor networks. In Proceedings of the Workshop on Real-World Wireless Sensor Network (REALWSN’05), Stockholm, Sweden, 20–21 June 2005. [Google Scholar]
  6. Wong, K.H.; Zheng, Y.; Cao, J.; Wang, S. A dynamic user authentication scheme for wireless sensor networks. In Proceedings of the 2006 IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing, Taichung, Taiwan, 5–7 June 2006; pp. 1–9. [Google Scholar]
  7. Tseng, H.R.; Jan, R.H.; Yang, W. An improved dynamic user authentication scheme for wireless sensor networks. In Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM’07), Washington, DC, USA, 26–30 November 2007; pp. 9869–9890. [Google Scholar]
  8. Lee, T.H. Simple Dynamic User Authentication Protocols for Wireless Sensor Networks. In Proceedings of the Second International Conference on Sensor Technologies and Applications, Cap Esterel, France, 25–31 August 2008; pp. 657–660. [Google Scholar]
  9. Ko, L.C. A Novel Dynamic User Authentication Scheme for Wireless Sensor Networks. In Proceedings of the IEEE International Symposium on Wireless Communication Systems (ISWCS ’08), Reykjavik, Iceland, 21–24 October 2008; pp. T608–T612. [Google Scholar]
  10. Vaidya, B.; Silva, J.S.; Rodrigues, J.J. Robust Dynamic User Authentication Scheme for Wireless Sensor Networks. In Proceedings of the 5th ACM Symposium on QoS and Security for Wireless and Mobile Networks (Q2SWinet 2009), Tenerife, Spain, 26–30 October 2009; pp. 88–91. [Google Scholar]
  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. Yuan, J.; Jiang, C.; Jiang, Z. A biometric-based user authentication for wireless sensor networks. Wuhan Univ. J. Nat. Sci. 2010, 15, 272–276. [Google Scholar] [CrossRef]
  14. Yoo, S.G.; Park, K.Y.; Kim, J. A Security-performance-balanced User Authentication Scheme for Wireless Sensor Networks. Int. J. Distrib. Sens. Netw. 2012, 8, 1–11. [Google Scholar] [CrossRef]
  15. 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]
  16. 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. 2014. [Google Scholar] [CrossRef]
  17. Das, A.K. A secure and effective biometric-based user authentication scheme for wireless sensor networks using smart card and fuzzy extractor. Int. J. Commun. Syst. 2015. [Google Scholar] [CrossRef]
  18. Althobaiti, O.; Al-Rodhaan, M.; Al-Dhelaan, A. An efficient biometric authentication protocol for wireless sensor networks. Int. J. Distrib. Sens. Netw. 2013, 8, 1–13. [Google Scholar] [CrossRef]
  19. Sharaf-Dabbagh, Y.; Saad, W. On the Authentication of Devices in the Internet of Things. In Proceedings of the 17th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM), Coimbra, Portugal, 21–24 June 2016. [Google Scholar]
  20. Alizadeh, M.; Abolfazli, S.; Zamani, M.; Baharun, S.; Sakurai, K. Authentication in mobile cloud computing: A survey. J. Netw. Comput. Appl. 2016, 61, 59–80. [Google Scholar] [CrossRef]
  21. Choi, Y.; Lee, Y.; Won, D. Security improvement on biometric based authentication scheme for wireless sensor networks using fuzzy extraction. Int. J. Distrib. Sens. Netw. 2016, 12, 1–16. [Google Scholar] [CrossRef]
  22. Park, Y.; Park, Y. Three-factor user authentication and key agreement using elliptic curve cryptosystem in wireless sensor networks. Sensors 2016, 16, 2123. [Google Scholar] [CrossRef] [PubMed]
  23. Moon, J.; Lee, D.; Lee, Y.; Won, D. Improving Biometric-Based Authentication Schemes with Smart Card Revocation/Reissue for Wireless Sensor Networks. Sensors 2017, 17, 940. [Google Scholar] [CrossRef] [PubMed]
  24. Kocher, P.; Jaffe, J.; Jun, B. Differential power analysis. In Advances in Cryptology-CRYPTO 99, LNCS, Santa Barbara, California, USA, 15–19 August 1999; Springer: Berlin, Germany, 1999; Volume 1666, pp. 388–397. [Google Scholar]
  25. Stinson, D.R. Some observations on the theory of cryptographic hash functions. Des. Codes Cryptogr. 2006, 38, 259–277. [Google Scholar] [CrossRef]
  26. Miller, V.S. Use of elliptic curves in cryptography. In Advances in Cryptology-CRYPTO 85; Lecture Notes in Computer Sciences; Springer-Verlag New York, Inc.: New York, NY, USA, 1986; pp. 417–426. [Google Scholar]
  27. Dodis, Y.; Reyzin, L.; Smith, A. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data. In Advances in Cryptology (Eurocrypt 04), Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004; Springer: Berlin, Germany, 2004; pp. 523–540. [Google Scholar]
  28. Yoon, E.J.; Kim, C. Advanced biometric-based user authentication scheme for wireless sensor networks. Sens. Lett. 2013, 11, 1836–1843. [Google Scholar] [CrossRef]
  29. Chang, I.P.; Lee, T.F.; Lin, T.H.; Liu, C.M. Enhanced two-factor authentication and key agreement using dynamic identities in wireless sensor networks. Sensors 2015, 15, 29841–29854. [Google Scholar] [CrossRef] [PubMed]
  30. Cremers, C. Scyther-Semantics and Verification of Security Protocols. Ph.D. Thesis, Eindhoven University of Technology, Eindhoven, The Netherlands, 2006. [Google Scholar]
  31. AVISPA Tool. Available online: http://www.avispa-project.org/ (accessed on 11 July 2017).
  32. Bellare, M.; Rogaway, P. Random oracles are practical: A paradigm for designing efficient protocols. In Proceedings of the First Annual Conference Computer and Communications Security, Fairfax, VA, USA, 3–5 November 1993; pp. 62–73. [Google Scholar]
  33. Dolev, D.; Yao, A. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–208. [Google Scholar] [CrossRef]
  34. Burrows, M.; Abadi, M.; Needham, R.M. A logic of authentication. Proc. R. Soc. Lond. 1989, 426, 233–271. [Google Scholar] [CrossRef]
  35. Mohit, P.; Amin, R.; Karati, A.; Biswas, G.; Khan, M.K. A standard mutual authentication protocol for cloud computing based health care system. J. Med. Syst. 2017, 41, 50. [Google Scholar] [CrossRef] [PubMed]
  36. Chiou, S.Y.; Ying, Z.; Liu, J. Improvement of a privacy authentication scheme based on cloud for medical environment. J. Med. Syst. 2016, 40, 1–15. [Google Scholar] [CrossRef] [PubMed]
  37. TinyOS: An Open-Source OS for the Networked Sensor Regime. Available online: http://www.tinyos.net/ (accessed on 13 July 2017).
  38. Gay, D.; Levis, P.; Von Behren, R.; Welsh, M.; Brewer, E.; Culler, D. The nesc language: A holistic approach to networked embedded systems. ACM SIGPLAN Not. 2003, 38, 1–11. [Google Scholar] [CrossRef]
  39. Lee, J.; Kapitanova, K.; Son, S. The price of security in wireless sensor networks. Comput. Netw. 2010, 54, 2967–2978. [Google Scholar] [CrossRef]
  40. Eastlake, D., 3rd; Jones, P. US Secure Hash Algorithm 1 (SHA 1). Available online: https://www.rfc-editor.org/rfc/rfc3174.txt (accessed on 25 October 2017).
  41. Liu, Z.; Wenger, E.; Johann, G. MoTE-ECC: Energy-scalable elliptic curve cryptography for wireless sensor networks. In Applied Cryptography and Network Security—ACNS 2014, LNCS, Proceedings of the 12th International Conference, ACNS 2014, Lausanne, Switzerland, 10–13 June 2014; Springer: Cham, Switzerland, 2014; Volume 8479, pp. 361–379. [Google Scholar]
Figure 1. Wireless body area network (WBAN).
Figure 1. Wireless body area network (WBAN).
Information 08 00136 g001
Figure 2. Security verification result obtained using Scyther tool.
Figure 2. Security verification result obtained using Scyther tool.
Information 08 00136 g002
Figure 3. AVISPA Architecture.
Figure 3. AVISPA Architecture.
Information 08 00136 g003
Table 1. Notations used.
Table 1. Notations used.
NotationsExplanation
p , q Two large prime numbers
F p A finite field of characteristic p
EElliptic curve over F p
GGroup of points on E
PGenerator point on E with order q
U i ith User of WSNs/IoT
I D U i The identity of U i
S N j nth sensor node
P W U i Password of U i
I D S N j The identity of S N j
S C i U i ’s Smart card
G W N The gateway node
xRandom number
h ( . ) Secure hash function
G e n ( . ) Fuzzy generator function
R e p ( . ) Fuzzy reproduction function
Z + Set of positive integers
B i Bio-metric information of U i
T The error tolerance limit
Δ T Maximum transmission delay
T , T , T Current time at G W N , S N j and U i
E n c k [ s ] Symmetric encryption of message s using key k
D e c k [ E k [ s ] ] Symmetric decryption of E k [ s ] using key k
| | Concatenation operator
Bitwise XOR operator
×Point multiplication operator of E
A Adversary
Table 2. User registration phase of A.K.Das’s scheme.
Table 2. User registration phase of A.K.Das’s scheme.
Step 1: For User ( U i ) Step 2: For Gateway ( G W N )
The user U i inputs I D U i , P W U i and B i and generates 1024 bit random number K. Subsequently, U i calculates R P W i = h ( I D U i | | K | | P W U i ) and selects a key e k i .
Then, V i a S e c u r e C h a n n e l U i   transmits   I D U i , R P W i , e k i   to   G W N
After receiving the message I D U i , R P W i , e k i , the gateway node G W N generates 1024 bit key X s , evaluates f i = h ( I D U i h ( X s ) ) , and stores ( h ( ) ˙ , G e n ( ) ˙ , R e p ( ) ˙ , f i , T ) into S C i
V i a S e c u r e C h a n n e l    Finally ,   G W N   sends   S C i   to   U i   
Then, G W N stores e k i related to I D U i
Step 3: For User ( U i )
U i evaluates G e n ( B i ) = ( σ i , τ i ) , f i = f i h ( I D U i | | σ i | | K ) , r i = h ( I D U i | | σ i ) K , e i = h ( I D U i | | R P W i | | σ i ) , and B E i = h ( I D U i | | σ i ) e k i . Then, U i replaces f i with f i in S C i . Finally, U i stores e i , τ i , B E i , r i into S C i .
Table 3. Login, authentication and key sharing phase of A.K.Das’s scheme.
Table 3. Login, authentication and key sharing phase of A.K.Das’s scheme.
Step 1: For User ( U i ) Step 2: For Gateway ( G W N )
Information 08 00136 i002
Step 3: For User ( U i ) Step 4: For Gateway ( G W N )
Information 08 00136 i003
Step 5: For Sensor Node ( SN j ) Step 6: For User ( U i )
Information 08 00136 i004
Table 4. Authentication and session key establishment phase of Choi et al. protocol.
Table 4. Authentication and session key establishment phase of Choi et al. protocol.
Step 1: For User ( U i ) Step 2: For Gateway ( G W N )
Information 08 00136 i005
Step 3: For Sensor Node ( SN j ) Step 4: For User ( U i )
Information 08 00136 i006
Table 5. User registration phase of Park et al.’s protocol.
Table 5. User registration phase of Park et al.’s protocol.
Step 1: For User ( U i ) Step 2: For Gateway ( G W N )
U i selects the identity I D U i , imprints bio-metric information B i and computes: ( σ U i , τ U i ) = G e n ( B i ) , A U i = h ( σ U i )
V i a S e c u r e C h a n n e l U i   transmits   I D U i , A U i   to   G W N
G W N computes 1024 bit secret key x and Computes:
M U i = h ( x | | y | | A i ) ,
N U i = M U i A U i , V U i = h ( I D U i | | A i ) ,
C U i = E n c x ( A U i | | u p U i )
Store V U i , C U i , N U i , h ( . ) into smart card S C i .
G W N   sends   smart   card   C i   to   U i
Step 3: For User U i
U i Inputs τ U i into the smart card S C i
Table 6. U i ’s authentication and session key sharing phase of Park et al. protocol.
Table 6. U i ’s authentication and session key sharing phase of Park et al. protocol.
Step 1: For User ( U i ) Step 2: For Gateway ( G W N )
Information 08 00136 i007
Step 3: For Sensor Node ( SN j ) Step 4: For User ( U i )
Information 08 00136 i008
Table 7. User registration phase of proposed protocol.
Table 7. User registration phase of proposed protocol.
Step 1: For User ( U i ) Step 2: For Gateway ( G W N )
U i inputs I D U i , P W U i and B i
Computes:
G e n ( B i ) = ( σ U i , τ U i ) , P B U i = h ( P W U i | | σ U i )
V i a S e c u r e C h a n n e l U i   transmits   I D U i , P B i   to   G W N
G W N computes 1024 bit secret key x and Computes:
K U i = h ( I D U i | | x ) × P ,
A U i = P B i h ( I D U i x ) ,
BUi = h(IDUi || PBi ||h(IDUix)),
WUi = h(IDUi || PBi) ⊕ KUi
G W N stores the value of P , A U i , B U i , W U i into S C i .
G W N   transmits   S C i   to   U i
Step 3: For User ( U i )
U i stores T , h ( ) , G e n ( ) , R e p ( ) and the value of τ i into S C i .
Table 8. User authentication and session key establishment phase of the proposed protocol.
Table 8. User authentication and session key establishment phase of the proposed protocol.
Step 1: For User ( U i ) Step 2: For Gateway ( G W N )
Information 08 00136 i009
Step 3: For Sensor Node ( SN j ) Step 4: For User ( U i )
Information 08 00136 i010
Table 9. User’s credential update phase of proposed protocol.
Table 9. User’s credential update phase of proposed protocol.
Information 08 00136 i011
Table 10. Specification of the proposed protocol in SPDL.
Table 10. Specification of the proposed protocol in SPDL.
hashfunction h; /*Secure hash function */
const XOR: Function; /*XOR operation */
const Concat: Function; /*Concatenation Function */
const EccMul: Function; /*Scalar Point Multiplication Operation of ECC */
const Gen: Function; /*Generator function of Fuzzy Extractor*/
const Rep: Function; /*Reproduction function of Fuzzy Extractor*/
const Enc: Function; /*Encryption Function*/
const Dec: Function; /*Decryption Function*/
 
/*IDui, PWui, Bi represents the identity, password and bio-metric information of the user Ui respectively.Kgsnj denotes the secret key shared between sensor and gateway node. Tui, Tgwn denotes the current time-stamp of user, gateway respectively. Rui and Rsnj represents the random number generated at user Ui and sensor node SNj respectively. */
 
protocol Protocol(Ui, GWN, SNj)
{ macro SIGi = Gen(Bi); /*macro defines abbreviations for particular term */
macro PBi = h(Concat (PWui, SIGi));
 
macro SIGi’ = Rep(Bi’, TAUi);
macro PBi’ = h(Concat(PWui, SIGi’));
 
macro Kui = EccMul(h(Concat(IDui,x)),P);
macro Aui = XOR(PBi, h(XOR(IDui,x)));
macro Bui = h(Concat(IDui,PBi,h(XOR(IDui,x))));
macro Wui = XOR(h(Concat(IDui,PBi)), Kui);
 
macro Xui = EccMul(Rui, P);
macro Xui’= EccMul(Rui, Kui);
 
macro Ysnj = EccMul(Rsnj,P);
macro sk = EccMul(Rui, Ysnj);
 
macro Alpha = Enc(Xui’, Concat(IDsnj,Tui));
macro Alpha’ = Dec(Xui’, Enc(Xui’, Concat(IDsnj,Tui)));
 
macro Beta = Enc(Xui’, Concat(IDsnj,Ysnj,Tgwn));
macro Beta’ = Dec(Enc(Xui’, Concat(IDsnj,Ysnj,Tgwn)));
 
macro Gamma = Enc(Kgsnj, Concat(IDui,sk,Beta,Tgwn));
macro Gamma’ = Dec(Enc(Kgsnj, Concat(IDui,sk,Beta,Tgwn)));
Table 11. Specification of the user’s role in SPDL.
Table 11. Specification of the user’s role in SPDL.
role Ui
{
var Tsnj,Tgwn: Nonce;
fresh Tui: Nonce; /*Time-stamp Tui is freshly generated */
const IDui, PWui, Bi, Bi’, PBi, IDsnj, Rui, Rsnj, Kgsnj, Xui, Xui’, x,
Tui,Tgwn,P,TAUi: Ticket;
send_1(Ui, GWN, IDui, PBi); /*Ui sends IDui, PBi to GWN */
recv_2(GWN, Ui,P,Aui,Bui,Wui); /*Ui received P,Aui,Bui,Wui from GWN */
send_3(Ui, GWN, Xui, Alpha);
recv_5(SNj, Ui, Beta);
match(Beta’, Beta); /*Test the equality of Beta’ and Beta */
claim_Ui1(Ui,Secret,Bi); /*Bi should be secret for Ui */
claim_Ui2(Ui,Secret,PWui);
claim_Ui3(Ui,Secret,x);
claim_Ui4(Ui,Secret,Xui’);
claim_Ui5(Ui,Secret,Tui);
claim_Ui6(Ui,SKR,sk); /*Session key sk should be secret */
claim_Ui7(Ui,Niagree); /*Non-injective agreement */
claim_Ui78(Ui,Nisynch); /*Non-injective synchronization */
}
Table 12. Specification of the gateway node’s role in SPDL.
Table 12. Specification of the gateway node’s role in SPDL.
role GWN
{
fresh Tgwn: Nonce;
var Tui: Nonce;
const IDui, PWui, IDsnj, Bi, P, x, Rui, Tui, Bi, PWui: Ticket;
recv_1(Ui, GWN, IDui, IPBi);
send_2(GWN, Ui, P,Aui, Bui, Wui);
recv_3(Ui, GWN, IDui, IDsnj, Xui, TSui, Alpha);
match (Alpha, Alpha’);
send_4(GWN, SNj, Beta, Gamma, Xui, TGgwn, TUgwn);
claim_GWN1(GWN,Secret,Tgwn);
claim_GWN2(GWN,Secret,x);
claim_GWN3(GWN,Secret,k(GWN,SNj));
claim_GWN4(GWN,Secret,Kui);
claim_GWN5(GWN,Secret,Xui’);
}
Table 13. Specification of the sensor’s role in SPDL.
Table 13. Specification of the sensor’s role in SPDL.
role SNj
{
var Tgwn: Nonce;
fresh Tsnj: Nonce;
const IDui, IDsnj, x,Rui, Tui, P, Bi, PWui, Rsnj: Ticket;
recv_4(GWN, SNj, Beta, Gamma, Xui, TGgwn, TUgwn);
match(Beta, Beta’);
send_5(SNj, Ui, Delta, Gamma, Ysnj, Tsnj, TUgwn);
claim_SNj1(SNj,Secret,Tgwn);
claim_SNj2(SNj, Secret, Rsnj);
claim_SNj3(SNj, Secret, Tsnj);
claim_SNj4(SNj,Secret,k(GWN,SNj));
claim_SNj5(SNj,SKR,h(EccMul(Rsnj,Xui)));
} }
Table 14. Specification of U i ’s role in HLPSL.
Table 14. Specification of U i ’s role in HLPSL.
role user(Ui, GWN, SNj: agent,
Xui1, Kgsnj: symmetric_key,
H,Gen, Rep, EccMul, Enc, Dec, XOR: hash_func,
SND, RCV: channel(dy))
played_by Ui def=
local
State: nat,
IDui, IDsnj, PWui, Bi, Bi1, SIGi, SIGi1, TAUi, PBi, PBi1, P, Kui1, Rui, Aui, Bui, Wui, Alpha, Beta, Gamma, Ysnj, Ysnj1, Tui, Tgwn, Xui, X, Beta1, Kui, Rsnj, Gamma1, Skey, Skey1: text
const sub1, sub2, sub3, sub4, sub5, sub6, sub7, sub8,
gateway_sensor_gs, gateway_user_gu, user_sensor_us: protocol_id
init
State: = 0
transition
0. State = 0 ∧ RCV (start) =
State’: = 2 ∧ SIGi’: = Gen(Bi)
    ∧ PBi’: = H(PWui.SIGi’)
    ∧ secret(PWui,Bi,SIGi’, sub1, Ui)
    ∧ SND (IDui.PBi’)
2. State = 2 ∧ RCV (P.Aui’.Bui’.Wui’) =
State’: = 5 ∧ Rui’: = new()
    ∧ Tui’: = new()
    ∧ secret(Rui’, sub2, Ui)
    ∧ SIGi1’: = Rep(Bi1.TAUi)
    ∧ PBi1’: = H(PWui.SIGi1’)
    ∧ Kui1’: = XOR(Wui, H(IDui.PBi1’))
    ∧ Xui’: = EccMul(Rui’.P)
    ∧ Xui1’: = EccMul(Rui’.Kui1’)
    ∧ secret(Xui1’, sub3, Ui, GWN)
    ∧ Alpha’: = Enc(IDsnj.Tui)
    ∧ SND(IDui.Xui’.Alpha’)
    ∧ witness(Ui, GWN, gateway_user_gu, Tui,Alpha’)
6. State = 5 ∧ RCV(Beta1’) =
State’: = 6 ∧ Ysnj1’: = Dec(Beta1’)
    ∧ Skey’: = EccMul(Rui’.Ysnj1’)
    ∧ request(Ui,SNj, user_sensor_us, Skey’)
end role
Table 15. Specification of G W N ’s role in HLPSL.
Table 15. Specification of G W N ’s role in HLPSL.
role gateway(Ui, GWN, SNj: agent,
Xui1, Kgsnj: symmetric_key,
H,Gen, Rep, EccMul, Enc, Dec, XOR: hash_func,
SND, RCV: channel(dy))
played_by GWN def=
local
State: nat,
IDui, IDsnj, PWui, Bi, Bi1, SIGi, SIGi1, TAUi, PBi, PBi1, P, Kui1, Rui, Aui, Bui, Wui, Alpha, Beta, Gamma, Ysnj, Tui, Tgwn, Xui, X, Beta1, Kui, Rsnj, Gamma1, Skey, Skey1: text
const sub1, sub2, sub3, sub4, sub5, sub6, sub7, sub8,
gateway_sensor_gs, gateway_user_gu, user_sensor_us: protocol_id
init
State: = 1
transition
1. State = 1 ∧RCV (IDui.PBi’) =
State’: = 3 ∧ X’: = new()
    ∧ Kui’: = EccMul(H(IDui.X’).P)
    ∧ Aui’: = XOR(PBi’.H(XOR(IDui.X’)))
    ∧ Bui’: = H(IDui.PBi’.XOR(IDui.X’))
    ∧ secret(X’,sub4, GWN)
    ∧ Wui’: = XOR(H(IDui.PBi).Kui’)
    ∧ secret(Kui’, sub5, GWN,Ui)
    ∧ SND(P.Aui’.Bui’.Wui’)
3. State = 3 ∧ RCV(IDui.Xui’.Alpha’) =
State’: = 4 ∧ Tgwn’: =new()
    ∧request(GWN, Ui, gateway_user_gu, Alpha’)
    ∧ IDsnj’: = Dec(Alpha’)
    ∧ Rsnj’: = new()
    ∧ Ysnj’: = EccMul(Rsnj’.P)
    ∧ Beta’: = Enc(IDsnj’.Ysnj’.Tgwn)
    ∧secret(Kgsnj, sub6, GWN,SNj)
    ∧Gamma’: = Enc(IDui.Skey’.Beta’.Tgwn’)
    ∧ SND(Gamma’)
    ∧ witness(GWN, Ui, gateway_user_gu, Tgwn’)
end role
Table 16. Specification of S N j ’s role in HLPSL.
Table 16. Specification of S N j ’s role in HLPSL.
role sensor(Ui, GWN, SNj: agent,
Xui1, Kgsnj: symmetric_key,
H,Gen, Rep, EccMul, Enc, Dec, XOR: hash_func,
SND, RCV: channel(dy))
played_by SNj def=
local
State: nat,
IDui, IDsnj, PWui, Bi, Bi1, SIGi, SIGi1, TAUi, PBi, PBi1, P, Kui1, Rui, Aui, Bui, Wui, Alpha, Beta, Gamma, Ysnj, Tui, Tgwn, Xui, X, Beta1, Kui, Rsnj, Gamma1, Skey, Skey1: text
const sub1, sub2, sub3, sub4, sub5, sub6, sub7, sub8,
gateway_sensor_gs, gateway_user_gu, user_sensor_us: protocol_id
init
State: = 4
transition
4. State = 4 ∧RCV (Gamma’) =
State’: = 5∧ Skey1’: = Dec(Gamma’.Kgsnj)
    ∧ secret(Skey1’, sub7, SNj)
    ∧ Beta1’: = Dec(Gamma’)
    ∧ secret(Skey1’, sub8, SNj)
    ∧ SND(Beta1’)
end role
Table 17. Specification of proposed protocol’s session in HLPSL.
Table 17. Specification of proposed protocol’s session in HLPSL.
role session(Ui,GWN,SNj:agent,
Xui1, Kgsnj:symmetric_key,
H,Gen, Rep, EccMul, Enc, Dec, XOR: hash_func)
def=
local GWNUi,RUi,GWNSNj,RSNj,GWNGWN,RGWN:channel(dy)
composition
    user(Ui, GWN, SNj, Xui1,Kgsnj,H,Gen, Rep, EccMul, Enc, Dec,XOR,GWNUi, RUi)
    ∧ sensor(Ui, GWN, SNj,Xui1, Kgsnj, H,Gen, Rep, EccMul, Enc, Dec, XOR,GWNSNj, RSNj)
    ∧ gateway(Ui, GWN, SNj, Xui1, Kgsnj,H,Gen, Rep, EccMul, Enc, Dec, XOR, GWNGWN,RGWN)
end role
Table 18. Specification of proposed protocol’s environment in HLPSL.
Table 18. Specification of proposed protocol’s environment in HLPSL.
role environment()
def=
const ui, gwn, snj: agent,
xui1,kgsnj,kig: symmetric_key,
h,gen, rep, eccMul, enc, dec, xOR: hash_func,
sub1, sub2, sub3, sub4, sub5, sub6, sub7, sub8,
gateway_sensor_gs, gateway_user_gu, user_sensor_us: protocol_id
intruder_knowledge = ui,gwn,snj,kig
composition
session(ui,snj,gwn,xui1,kig,h,gen, rep, eccMul, enc, dec, xOR)
    ∧ session(ui,snj,gwn,kgsnj,kig,h,gen, rep, eccMul, enc, dec, xOR)
    ∧ session(ui,snj,gwn,kig,kgsnj,h,gen, rep, eccMul, enc, dec, xOR)
end role
Table 19. Specification of proposed protocol’s goal in HLPSL.
Table 19. Specification of proposed protocol’s goal in HLPSL.
goal
secrecy_of sub1, sub2, sub3, sub4, sub5, sub6, sub7, sub8
authentication_on gateway_sensor_gs, gateway_user_gu, user_sensor_us
end goal
environment()
Table 20. Security verification result obtained using AVISPA tool.
Table 20. Security verification result obtained using AVISPA tool.
Using OFMC BACKENDUsing CL-AtSe BACKEND
Information 08 00136 i012
Table 21. Notations used in verification using BAN logic.
Table 21. Notations used in verification using BAN logic.
NotationsDescription
P B A N , Q B A N Principals like U i , G W N , and S N j
SStatements like T U i , T G W N , α , β etc.
KSecret key or secret informations like K G S N j , X U i e t c .
P B A N | S P B A N believes S, or P B A N believes S is true.
P B A N S P B A N has received a information containing S and it can read or repeat S
P B A N | S P B A N once said S. P B A N sent a data containing S and it could be a fresh or old data.
P B A N S P B A N has jurisdiction over S. That is P B A N ’s beliefs about S should be trusted
# ( S ) The information S is fresh and it has not been sent before.
P B A N S Q B A N S is a secret data and it is only known to P B A N or Q B A N and perhaps to the trusted principals
< S > S 1 S 1 is a secret and its presence gives the identity of whoever generates < S > S 1
Table 22. Goals: The goals made to analyze the proposed scheme.
Table 22. Goals: The goals made to analyze the proposed scheme.
Goal 1
U i | K U i
Goal 2
S N j | K G S N j
Goal 3
G W N | U i | T U i
Goal 4
S N j | G W N | T G W N
Goal 5
U i | G W N | T G W N
Goal 6
G W N | U i | I D S N j
Goal 7
S N j | G W N | I D U i
Goal 8
U i | G W N | Y S N j
Table 23. Hypotheses: The assumptions made to analyze the proposed scheme.
Table 23. Hypotheses: The assumptions made to analyze the proposed scheme.
H 1:
U i | # T U i
H 2:
G W N | # T G W N
H 3:
S N j | # T S N j
H 4:
U i | G W N K U i
H 5:
U i | G W N | K U i
H 6:
S N j | G W N K G S N i ,
H 7:
S N j | G W N | K G S N j
H 8:
G W N | U i X U i G W N ,
H 9:
G W N T U i X U i
H 10:
G W N | # ( T U i )
H 11:
S N j | G W N K G S N j S N j ,
H 12:
S N j T G W N K G S N j
H 13:
S N j | # ( T G W N )
H 14:
U i | G W N X U i G W N ,
H 15:
U i T G W N X U i
H 16:
U i | # ( T G W N )
H 17:
G W N | U i X U i G W N ,
H 18:
G W N I D S N j X U i
H 19:
S N j | G W N K G S N j S N j ,
H 20:
S N j I D U i K G S N j
H 21:
U i | G W N X U i U i
H 22:
U i < Y S N j > X U i
Table 24. Comparison of protocols based on security features.
Table 24. Comparison of protocols based on security features.
Security FeatureA.K.Das [17]Choi et al. [21]Park et al. [22]Moon et al. [23]Proposed Protocol
Resist stolen smart card attackNoNoNoNoYes
Resists Replay attackYesYesNoYesYes
Resists Man-in-the-middle attackNoNoNoYesYes
Resists user impersonation attackNoNoNoYesYes
Resists sensor impersonation attackNoNoNoYesYes
Resists insider attackYesYesYesYesYes
Offers mutual authenticationYesYesYesYesYes
Offers biometric data updatingYesYesYesYesYes
Offers secure password updatingNoNoNoYesYes
Offers formal security analysisYesYesYesYesYes
Table 25. Execution time on computer system for cryptographic operation.
Table 25. Execution time on computer system for cryptographic operation.
NotationOperationTime Taken (in Millisecond )
T h One-way cryptographic hash function0.5
T e Elliptic curve point multiplication50.3
T f Fuzzy extractor used in biometric verification0.5
T E Symmetric key encryption/decryption8.7
Table 26. Execution time and energy consumption on MicaZ sensor node for cryptographic operations.
Table 26. Execution time and energy consumption on MicaZ sensor node for cryptographic operations.
FunctionTime (in millisecond )Energy (in μ Joule )
Symmetric Encryption and Decryption (AES-128) [39] T S E 5.05121.2
Hashing (SHA-1) [40] T S h 3.6387.12
Elliptic curve Fixed Point Multiplication (MoTE ECC-160) [41] T S e 3708880
Table 27. Comparison of protocols based on computational cost.
Table 27. Comparison of protocols based on computational cost.
SchemeRegistration Phase Time (in millisecond )Authentication and Session Key Establishment Phase Time (in millisecond )
U i G W N U i G W N SN j
A.K.Das [17] 4 T h + T f 2 T h 6 T h + T f 3 T h + 2 T E 2 T S h + T S E
2.50 1.00 + T E 12.20 18.90 12.31
Choi et al. [21] T h + T f 3 T h 10 T h + T f 10 T h + 2 T E 6 T S h + T S E
+ T E + 2 T e + 2 T S e
1.00 1.50 114.80 22.40 766.83
Park et al. [22] T h + T f 5 T h 10 T h + T f 11 T h 4 T S h + 2 T S e
1.00 2.50 + 2 T e 106.10 6.50 754.52
Moon et al. [23] T h + T f 3 T h + T e 6 T h + T f 6 T h + T E + T e 4 T S h + T S E
+ 3 T e + 2 T S e
1.00 51.80 53.80 62 759.57
Proposed Protocol T h 4 T h + T e 3 T h 3 T h + T e T S E
0.50 52.30 1.50 51.80 5.05
Table 28. Comparison of protocols based on energy consumption on sensor node S N j .
Table 28. Comparison of protocols based on energy consumption on sensor node S N j .
A.K.Das [17]Choi [21]Park [22]Moon [23]Proposed Protocol
Energy (in μ J o u l e )295.4418,403.9218,108.4818,229.68121.2
Table 29. Comparison of protocols based on communication overhead.
Table 29. Comparison of protocols based on communication overhead.
A.K.Das [17]Choi [21]Park [22]Moon [23]Proposed Protocol
Communication Overhead (in b i t s )832150416961920713
Number of Messages Communicated53333

Share and Cite

MDPI and ACS Style

Maurya, A.K.; Sastry, V.N. Fuzzy Extractor and Elliptic Curve Based Efficient User Authentication Protocol for Wireless Sensor Networks and Internet of Things. Information 2017, 8, 136. https://doi.org/10.3390/info8040136

AMA Style

Maurya AK, Sastry VN. Fuzzy Extractor and Elliptic Curve Based Efficient User Authentication Protocol for Wireless Sensor Networks and Internet of Things. Information. 2017; 8(4):136. https://doi.org/10.3390/info8040136

Chicago/Turabian Style

Maurya, Anup Kumar, and V. N. Sastry. 2017. "Fuzzy Extractor and Elliptic Curve Based Efficient User Authentication Protocol for Wireless Sensor Networks and Internet of Things" Information 8, no. 4: 136. https://doi.org/10.3390/info8040136

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