Next Article in Journal
Porous TiO2-Based Gas Sensors for Cyber Chemical Systems to Provide Security and Medical Diagnosis
Next Article in Special Issue
Unified Compact ECC-AES Co-Processor with Group-Key Support for IoT Devices in Wireless Sensor Networks
Previous Article in Journal
3D-Printed Detector Band for Magnetic Off-Plane Flux Measurements in Laminated Machine Cores
Previous Article in Special Issue
A Lightweight Anonymous Authentication Protocol with Perfect Forward Secrecy for Wireless Sensor Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Enhanced Three-Factor User Authentication Scheme Using Elliptic Curve Cryptosystem for Wireless Sensor Networks

New Research Activities Darparment, Beijing University of Posts and Telecommunications, Haidian District, Beijing 100876, China
*
Author to whom correspondence should be addressed.
Sensors 2017, 17(12), 2946; https://doi.org/10.3390/s17122946
Submission received: 11 November 2017 / Revised: 1 December 2017 / Accepted: 4 December 2017 / Published: 19 December 2017
(This article belongs to the Special Issue Security, Trust and Privacy for Sensor Networks)

Abstract

:
As an essential part of Internet of Things (IoT), wireless sensor networks (WSNs) have touched every aspect of our lives, such as health monitoring, environmental monitoring and traffic monitoring. However, due to its openness, wireless sensor networks are vulnerable to various security threats. User authentication, as the first fundamental step to protect systems from various attacks, has attracted much attention. Numerous user authentication protocols armed with formal proof are springing up. Recently, two biometric-based schemes were proposed with confidence to be resistant to the known attacks including offline dictionary attack, impersonation attack and so on. However, after a scrutinization of these two schemes, we found them not secure enough as claimed, and then demonstrated that these schemes suffer from various attacks, such as offline dictionary attack, impersonation attack, no user anonymity, no forward secrecy, etc. Furthermore, we proposed an enhanced scheme to overcome the identified weaknesses, and proved its security via Burrows–Abadi–Needham (BAN) logic and the heuristic analysis. Finally, we compared our scheme with other related schemes, and the results showed the superiority of our scheme.

Graphical Abstract

1. Introduction

With its strong self-organization, low-cost, resource-limited and data-centered, wireless sensor networks (WSNs) have been widely deployed in harsh environments such as military, industrial, transportation and even battlefields. Different to some systems such as the distributed architectures [1,2], there are three participants in WSNs. Each participant has different computational and storage power, and only the gateway can store the long-term key. Furthermore, most sensor nodes are distributed in an unattended environment, which means the sensor node is prone to be attacked. It also should be noted that the communications between users and sensor nodes are usually in an open channel, and the adversary can eavesdrop on or modify messages in the network. Therefore, the privacy and security of WSNs are always the thorny and vital issues. To deal with these security issues, it is a common practice to establish a security mechanism to share secret key between communicating parties and encrypt the date from remote parities. In this context, the remote user authentication protocol [3,4,5,6,7] with a session key is an essential security strategy for a secure and practical communication over an untrusted but complicated network. It guarantees that the communicating parties can verify the validity of each other and negotiate a session key for encrypting the future transmitted messages. The major challenge in designing an authentication protocol in WSNs is to balance the relationship between security, privacy and computational cost.
Generally, we authenticate a remote user from three aspects: what he knows, such as password; what he owns, such as a smart card; who he is, such as biometrics. A scheme using “X” aspects to verify the remote user is called “X-factor” authentication protocol. With the development of biotechnology and the increasing demands on security, three-factor (password + smart card + biometrics) user authentication scheme gets widely applied.

1.1. Related Works

In 2009, Das [8] introduced a password-based scheme with a smart card for WSNs; it then aroused an intense discussion and greatly promoted the development of user authentication in WSNs. Many researchers [4,9,10,11] identified the security pitfalls in Das’s scheme [8] (such as being prone to offline password guessing attack, impersonation attack and insider attack), and then proposed many enhanced versions. However, none of these schemes was secure enough to resist against various attacks or achieved low computational cost.
In 2011, Fan et al. [12] criticized the weakness of previous schemes and designed a new scheme with lightweight operations. With lower computational cost, their scheme seems quite suitable for a resources-limited environment such as WSNs. In 2012, Das et al. [13] proposed a new scheme which supports the dynamical addition of new nodes and only involves some lightweight operations. It has to be admitted that Das et al.’s scheme provides many desired attributes. Unfortunately, Wang et al. [14] identified that the two schemes both are vulnerable to many attacks: Fan et al.’s scheme [12] can neither achieve user anonymity, nor avoid smart card lost attack and insider attack, etc.; Das et al.’s scheme cannot resist against insider attack, smart card lost attack, etc.
In 2013, Xue et al. [15] introduced an efficient authentication scheme with admirable features and lightweight computational cost. However, it was revealed by Wang et al. [3] that this scheme fails to achieve user anonymity. Furthermore, Li et al. [16] demonstrated its vulnerability to offline dictionary attack, insider attack, stolen-verifier attack, etc., and proposed a new scheme which is still insecure against offline dictionary attack. In the same year, Li et al. [17] identified the weakness (not resistant to dictionary attack and session key disclosure attack, etc.) in Yeh et al.’s scheme [18].
In 2014, Choi et al. [19] showed that a previous scheme [20] suffers from sensor energy exhausting attack, offline password guessing attack and the session key attack, and then proposed a new scheme. After demonstrating the security flaws in Xue et al.’s scheme [15], Jiang et al. [21] also designed an improved one. However, both the scheme of Choi et al. [19] and Jiang et al. [21] were discovered as not being secure as claimed by Wu et al. [22].
In 2015, He et al. [23] described a temporal-credential-based scheme for WSNs, yet soon was pointed out subject to impersonation attack, smart card lost attack and tracking attack. In the same year, Chang et al. [24] proposed an enhanced dynamic identity authentication, once again, it was proved not secure against offline password guessing attack, user impersonation attack, etc. by Jung et al. [25] and Park et al. [26]. To strengthen the security of the scheme, Jung et al. [25] and Park et al. [26] both added the biological characteristic as a new factor and proposed a three-factor enhanced version. Furthermore, they both proved the security of their scheme formally, so they were confident in the security of their scheme.

1.2. Motivations and Contributions

When revisiting Jung et al.’s scheme [25] and Park et al.’s scheme [26], it was regretful to find that the two schemes are still not as secure as claimed, though they both are equipped with the complete formal proof, and furthermore, add a biometric factor into the scheme to improve the security of the previous scheme. Ridiculously, the improved two schemes that are armed with a biometric factor and a formal proof, even cannot provide the same level security assurance as the previous ones. We find them vulnerable to offline password guessing attack, impersonation attack, and no user anonymity, no forward security, etc.
In fact, it is pretty common that a scheme with formal security proof was found insecure. Though the user authentication in wireless sensor networks have been developed over almost ten years since Das [8] first proposed a two-factor scheme, there is not yet a secure and practical scheme. Even more alarming is the fact that many schemes violate some basic design principles that have been proposed. Such an unsatisfactory situation prompts us to design a secure but efficient scheme for wireless sensor networks. Furthermore, the common consensus on the system architecture, adversary model and security requirements should be reached. In conclusion, our contributions are as follows:
  • We depict the system architecture, adversary model and security requirements of wireless sensor networks. Though these factors are the basis of the authentication scheme, researchers usually ignore them.
  • We demonstrate that: (1) Jung et al.’s scheme cannot resist against offline password guessing attack, impersonation attack, and fails to achieve user anonymity and forward secrecy, etc.; (2) Park et al.’s scheme suffers from offline password guessing attack, and no user anonymity. Furthermore, we explain the inherent reason for these attacks.
  • We propose an improved scheme with various desirable attributes, and prove its security via BAN logic and heuristic analysis. Then, we compare our scheme with other related schemes. The results show the great advantage of our scheme.

1.3. Organization of the Paper

The remainder of this paper is organized as follows: we describe the system architecture and adversary model in Section 2, analyze Jung et al.’s scheme and Park et al.’s scheme in Section 3 and Section 4, respectively; in Section 5, we propose an enhanced scheme; the security and performance analysis are given in Section 6 and Section 7, respectively; and the conclusions are drawn in Section 8.

2. Preliminaries

This section introduces the preliminaries in the user authentication scheme including computational problems, system architecture, adversary model and security requirements.

2.1. Computational Problems

Given two large primes p and q, let F p be a finite field, E / F p be an elliptic curve over F p , and G be a q-order subgroup of E / F p . Then, for α , β Z p and a point P in G , we can define the discrete logarithm problem over the elliptic curve as follows:
  • Elliptic curve discrete logarithm problem: given (P, α P ), it is impossible to compute α within polynomial time.
  • Elliptic curve computational Diffie–Hellman problem: given ( α P , β P ), it is impossible to compute α β P within polynomial time.

2.2. System Architecture

Wireless sensor networks (as shown in Figure 1) attract worldwide attention with the prevalence of Internet of Things (IoT). Generally, people may be more familiar with distributed systems, which involve two participants: a set of users and a single server, while there are three participants in the user authentication of WSNs: a number of sensor nodes, a gateway node and a set of users. In a wireless sensor network, there are tens to thousands of sensor nodes that are deployed in a particular area. They work together to collect the data from physical world and have limited computing and storage power. Furthermore, they are usually left in an unattended environment, so the adversary can easily capture them to acquire secret parameters. The gateway node acts like a registration center. In WSNs, an authentication protocol usually consists of four basic phases: registration, login, verification, and password update. Sometimes, the dynamic node addition phase is suggested for meeting the demand on increasing new sensor nodes. In the registration phase, users and sensor nodes submit their personal information to the gateway, then the gateway will issue users a smart card with some sensitive parameters physically (face to face or via the mail), and distribute a shared secret key to sensor nodes. When a user wants to access a sensor node, he/she can initialize an access request to the gateway in the login phase. After checking the legitimacy of the user, the gateway informs the corresponding sensor node about the request. Then, the user and the sensor node verify the legitimacy of each other via (or not) the gateway and negotiate a session key in the verification phase. The user can change the password in the password update phase. In addition, the new sensor nodes can join the network in the dynamic node addition phase.

2.3. Adversary Models

When considering cryptanalysis of the user authentication schemes in WSNs, the adversary A is also supposed to have the following capacities:
  • A can fully control the open communication channel, i.e., A can modify, intercept, delete, and resend the eavesdropped on messages over an open channel [9,27].
  • A can enumerate all the items in D p w D i d in polynomial time, where D p w and D i d denote the password space and the identity space, respectively [28,29].
  • When evaluating forward secrecy, A can get the long-term secret key [28,30].
  • A can acquire the password of a legitimate user by a malicious card reader, or get the parameters in the smart card, but cannot achieve both [28,30].
  • A can get the data in sensor nodes for they are usually left unattended [3,31].
  • A can get the past session keys [30].
  • A can get the user’s biometrics [29,32].
The capacity of acquiring biometrics is the most controversial. Many researchers view it as a quite strong factor that cannot be broken. However, this is impractical. For example, the adversary can at least get the biometrics via a malicious terminal. Moreover, unlike the password that may change with the different applications, the biometrics is unique to every particular person. Thus, the adversary can collect one’s biometrics via any biometric-based terminal. This indicates that the adversary can acquire the password and biometrics both, or the smart card and the biometrics both. Furthermore, this hypothesis has been accepted in many schemes, such as [29,32,33].
It should be noted that: a secure three-factor authentication scheme should guarantee that the breaking of any two of the three factors will not affect the other one, and the system is still secure.

2.4. Security Requirements

Understanding the security requirements of the user authentication is a fundamental step to analyze or design a protocol. Thus, we summarize the security requirements of user authentication in the wireless sensor network:
S1 
Mutual authentication. It is an essential requirement in all authentication schemes. It requires the participants to authenticate each other [34,35].
S2 
User anonymity. It is a privacy protection requirement for individual users, not directly related to system security. Many systems have such a requirement including distributed system [36]. While the privacy protection in wireless sensor networks is more severe, since the information among sensor nodes (usually unreliable) is transmitted in a way of broadcasting. Protecting user anonymity is to stop A from computing the user’s identity or linking the transcript to a same user. Note that such a requirement is not applied to the gateway, but to sensor nodes for they are untrusted.
S3 
Key agreement. It is also an essential requirement in most authentication schemes. The session key is used to encrypt the further communications to achieve confidentiality.
S4 
Forward secrecy. It is for the final collapse of the whole system, and it requires that the previous communications will be secure, even the system collapses (usually refers to the adversary that owns the long-term key of the system).
S5 
User friendly. It is an additional requirement to improve the user experience with the development of the network. A user friendly scheme usually includes: let the user U i select the password freely, and change it locally [30]; when U i finds the smart card insecure, let he/she revoke it and re-register to the system with original identity.
S6 
No stolen-verifier attack. It is a requirement related to the security of the whole system (so as the following attacks), which requires that the verifier table does not expose any sensitive information for A to impersonate the participants or learn/control the session key.
S7 
No insider attack. It requires that the participants cannot get any sensitive information, which may provoke an attack.
S8 
No dictionary attack. It requires that A cannot conduct a brute force attack.
S9 
No replay attack. It stops A from conducting an attack via replaying the history message, which requires that the participants can check the freshness and validity of the received message.
S10 
No parallel session attack. This requirement is a bit similar to the replay attack, but it considers a condition where A conducts an attack via initiating multi-session simultaneously.
S11 
No de-synchronization attack. The synchronization attack in wireless sensor networks is more destructive than that in traditional networks, since a gateway may connect even hundreds of sensor nodes. It requires that the parameters among corresponding participants are consistent.
S12 
No impersonation attack. It is a very important requirement in authentication, which requires that the outside adversary (inside adversary has been considered in insider attack) will not be able to impersonate any participants. A scheme resistant to impersonation attack requires that the participants verify whether the corresponding communication party is a counterfeit one. Note that: the occasion where A performs a user impersonation attack using the password from a dictionary attack is not included—such an attack belongs to dictionary attack.
S13 
No known key attack. It is an attack related to the session key, which requires A , who knows that the current session key cannot compute the keys in others.

3. Cryptanalysis of Jung et al.’s Scheme

In 2017, Jung et al. [25] demonstrated several attacks against Chang et al.’s [24] two-factor user authentication scheme in WSNs. To improve the security and practicability of the scheme, they devised an enhanced one over Chang et al.’s scheme [24] by “employing biometrics information with the biohashing technique". They proved their scheme secure to various attacks such as offline dictionary attack using the Burrows-Abadi-Needham (BAN) logic. However, as we will show in this section, Jung et al.’s scheme still suffers from offline dictionary attack, impersonation attack, etc., which is even less secure than the previous one. For convenience of illustration, some notations are listed in Table 1.

3.1. A Brief Review of Jung et al.’s Scheme

In this section, we review Jung et al.’s scheme [25] briefly, their scheme consists of four phases: registration, login, verification and password change. The password change phase was omitted, since it has little relevance to this work.

3.1.1. Registration Phase

In Jung et al.’s paper, there is only a user registration phase as follows:
  • U i G W : { T I D i , H P W i } , where T I D i = h ( I D i | | u ) , H P W i = h ( P W i | | H ( B I O i ) ) and u is a random number chosen by the user U i .
  • G W U i : a smart card containing { A i , E i , C i , h ( · ) , H ( · ) } , where H I D i = h ( T I D i | | x ) H P W i , A i = h ( H P W i | | T I D i ) H I D i , E i = h ( H P W i | | H I D i ) , C i = H I D i x .
  • U i stores D i in the smart card, where D i = u H ( B I O i ) .
However, according to the paper, the sensor node S j preserves a private key X s j . So we deduce that the sensor node registration phase was missed. For the integrity, we add it as below:
  • S j G W : { S I D j } .
  • G W S j : X s j = h ( S I D j | | x ) .
  • S j stores X s j as a secret key.

3.1.2. Login Phase and Verification Phase

  • U i G W : { D I D i , M U i , G , C i , T 1 } . U i inputs the I D i and P W i , and his biometrics B I O i ; then, the smart card computes:
    • H P W i = h ( P W i | | H ( B I O i ) ) , u = D i H ( B I O i ) , T I D i = h ( I D i | | u ) , H I D i = A i h ( H P W i | | T I D i ) , E i = h ( H P W i | | H I D i ) .
    Finally, the card checks E i ?= E i . If it is equal, the card computes D I D i = T I D i H I D i and M U i , G = h ( T I D i | | H P W i | | H I D i | | T 1 ) , and sends { D I D i , M U i , G , C i , T 1 } to G W . Otherwise, it ends the session.
  • G W S j : { D I D i , M G , S j , M j , T 2 } . G W first checks the freshness of T 1 , then computes:
    • T I D i = D I D i C i x , H I D i = C i x H P W i = H I D i h ( T I D i | | x ) , M U i , G = h ( T I D i | | H P W i | | H I D i | | T 1 ) ,
    and further tests M U i , G ?= M U i , G . If the condition is not satisfied, G W rejects the request. Otherwise, it computes X s j = h ( S I D j | | x ) , M j = R X s j , S K = f ( D I D i , R ) and M G , S j = h ( D I D i | | S I D j | | X s j | | S K | | T 2 ) , and sends { D I D i , M G , S j , M j , T 2 } to S j .
  • S j G W : { M S j , G , T 3 } . S j first checks T 2 , and computes:
    • R = M j X s j , S K = f ( D I D i , R ) , M G , S j = h ( D I D i | | S I D j | | X s j | | S K | | T 2 ) .
    If M G , S j = M G , S j , S j further computes k j = h ( X s j | | T 3 ) , M S j , G = h ( k j | | X s j | | S K | | T 3 ) , and sends { M S j , G , T 3 } to the G W . Otherwise, it exits the session.
  • G W U i : { k i , M G , U i , T 4 } . G W first checks T 3 , and computes:
    • k j = h ( X s j | | T 3 ) , M S j , G = h ( k j | | X s j | | S K | | T 3 ) .
    If M S j , G = M S j , G , G W further computes k i = R h ( T I D i | | x ) , M G , U i = h ( S K | | k i | | | | T 4 ) , and sends { k i , M G , U i , T 4 } to the G W . Otherwise, it exits the session.
  • U i first checks T 4 , and computes R = k i H P W i H I D i , S K = f ( D I D i , R ) and M G , U i = h ( S K | | k i | | T 4 ) . If M G , U i = M G , U i , U i believes the legitimacy of G W and the authentication phase ends successfully. Otherwise, the authentication fails.

3.2. Security Flaws in Jung et al.’s Scheme

Jung et al. [25] criticized that Chang et al.’s scheme [24] fails to resist against offline password guessing attack and the session key attack. Thus, they add a new factor to enhance the security of the previous two-factor scheme, and formed a three-factor one. Despite armed with the biometrics factor and provable security proof, their scheme suffers from the same (even more serious) security issues.

3.2.1. Offline Dictionary Attack

Offline dictionary attack is exactly what most schemes suffer from and also the major security requirement of a user authentication protocol. Jung et al. [25] showed that Chang et al.’s scheme [24] cannot resist against this attack once the adversary breaches the victim’s smart card and eavesdrops on the message from the open channel. Unfortunately, as we show below, the same attack also works for Jung et al.’s own scheme. In addition, Jung et al.’s scheme is vulnerable to other kinds of offline dictionary attacks with less attack cost.
According to the adversary capabilities mentioned in Section 2.3, it is natural to suppose that the adversary A somehow possessed U i ’s smart card and then revealed the message { A i , E i , C i , D i } in it; acquired U i ’s biometric B I O i by a malicious terminal or other ways; and intercepted transcripts { D I D i , M U i , G , C i , T 1 } via the public channel. Then, A can obtain U i ’s password P W i as follows:
  • Guesses the value of P W i to be P W i and I D i to be I D i from the dictionary space D p w and D i d , respectively. In fact, according to Wang et al. [28], once an adversary picks the victim’s ( U i ) smart card, it is easy to learn the corresponding identity I D i of the user U i .
  • Computes H P W i = h ( P W i | | H ( B I O i ) ) .
  • Computes u = D i H ( B I O i ) , where D i is from the smart card.
  • Computes T I D i = h ( I D i | | u ) .
  • Computes H I D i = A i h ( H P W i | | T I D i ) , where A i is from the card.
  • Computes M U i , G = h ( T I D i | | H P W i | | H I D i | | T 1 ) , where T 1 is from the public channel.
  • Verifies the correctness of P W i and I D i by checking if the computed M U i , G is equal to the intercepted M U i , G .
  • Repeats Steps 1–7 of this procedure until the correct value of P W i and I D i is found.
The time complexity of the above attack is O ( | D p w | | D i d | ( 5 T H ) ) . T H is the running time for hash computation. | D p w | denotes the number of passwords in D p w . | D p w | and | D i d | are very limited, generally | D i d | < | D p w | < 10 6 [30,37], so the above attack is quite efficient.
Besides the above kind of offline dictionary attack, Jung et al.’s scheme still suffers from another kind of offline dictionary attack where the adversary A obtained the victim’s smart card and the biometrics B I O i . Then, A can conduct another offline dictionary attack as follows (Steps 1–5 are the same with the above attack, so they are omitted):
  • Step 6. Computes E i = h ( H P W i | | H I D i ) , where A i is from the card.
  • Step 7. Verifies the correctness of P W i and I D i by checking if E i ?= E i .
  • Step 8. Repeats Steps 1–7 of this procedure until the correct value of P W i and I D i is found.
The time complexity of the attack is the same as the former attack. Actually, these two attack strategies are not new, and many researchers [32,36,38,39,40] have captured these two attack scenarios to break numerous schemes. However, these kinds of adversaries are still rampant.
Remark 1.
As we mentioned before, a true three-factor authentication scheme should ensure that even if any two of the three factors are compromised, the other factor cannot be breached and the entire system is still secure. Obviously, this protocol is intrinsically not a three-factor protocol. It indicates that the biometric factor is not a master key to settle the problem in user authentication. On the contrary, a scheme armed with biometrics factor may even cannot provide the same security level as a two-factor authentication. The way to add more factors into the authentication protocol is not the essential way to design a more secure protocol.
In the scheme of Jung et al. [25], the obstacles to compute the verification value M U i , G for an adversary A is the P W i and the I D i , so A can guess the value of the P W i and the I D i , then verify the guessed value by comparing the computed M U i , G with the intercepted M U i , G . This is exactly the essential reason for the former kind of offline dictionary attack. Similarly, E i is also the fuse of the latter kind of attack. However, the function of the two parameters is quite different: the M U i , G is the key of the G W to authenticate U i , while the E i contributes to changing the password locally and detecting incorrect input timely. Therefore, the M U i , G is indispensable to an authentication protocol, and the E i conduces to improve the usability of a scheme. Furthermore, the “public-key principle” is necessary to resist the former attack [41]; and a way of “honeywords” + “fuzzy-verifiers” is suggested by Wang et al. [30] to deal with the latter attack.

3.2.2. Impersonation Attack

Suppose an adversary A was also a legal user U a , then he could get the secret key x as follows:
  • Computes u = D a H ( B I O a ) , where D a is from the smart card.
  • Computes T I D a = h ( I D a | | u ) .
  • Computes H P W a = h ( P W a | | H ( B I O i ) ) .
  • Computes H I D a = A a h ( H P W a | | T I D a ) , where A a is from the card.
  • Computes x = C a H I D a , where C a is from the card.
Obviously, the time complexity of the above attack is O ( 5 T H + 3 T R ) , where T R is the running time for exclusive-or operation. With the secret x, A has the same capacity as the G W , thus A can impersonate as the G W or the S j ; this indicates that the security of the whole system collapsed.
Actually, not only can an insider legal user carry out such an attack, but also an adversary who has gotten the P W and I D of any users by “offline dictionary attack” can also perform such an attack. The C i ( C i = H I D i x ) is the fundamental reason for such an attack. To a legitimate user who knows the H I D i , the secret key x is actually exposed. Therefore, the only “XOR” operation on x is a risky behavior which is far from enough to protect such an significant parameter.

3.2.3. User Anonymity

User anonymity is of great significance to privacy protection. It requires that the adversary can neither confirm who transmits the messages nor recognize whether the messages come from the same user. In wireless sensor networks, numerous sensor nodes are deployed in an unattended environment. In addition, the information is transmitted in a way of broadcasting. Therefore, user anonymity in WSNs is an essential requirement. However, in Jung et al.’s scheme [25], user-specific parameters D I D i and C i are transmitted via an open channel. Thus, following D I D i or C i , the adversary A identifies the transmitted messages with the D I D i and C i from a large amount of messages in the open channel, and links them to the user U i . Then, for the purpose of marketing or even other terrible attempts, the A can learn the user U i ’s habits, such as the time to initiate an access request, the kinds of sensor nodes to visit. Therefore, Jung et al’s scheme fails to achieve user anonymity.

3.2.4. Forward Secrecy

Forward secrecy requires that even if the long-term secret key was exposed, the adversary still cannot compute the previous session key. In other words, when the long-term key is compromised, the protocol cannot promise the security of further communications, but it can guarantee the security of the previous communication. Forward secrecy is the last umbrella of system security, but Jung et al.’s scheme fails to achieve it.
Supposing that an adversary A got the secret key x and intercepted the parameters D I D i and M j in the channel, A could perform an attack to get the previous session key as follows:
  • Computes X s j = h ( S I D j | | x ) .
  • Computes R = M j X s j , where M j is from the open channel.
  • Computes S K = f ( D I D i , R ) , where D I D i is from the open channel.
Remark 2.
In this scheme, the session key consists of a fixed parameter D I D i and a random number R from G W . As D I D i is exposed to an open channel, the only challenge in computing the session key is the value of R. On one hand, the sensor node S j has to know R to form the session key. This means that the S j is capable of computing R. On the other hand, S j ’s special or only secret parameter is X s j , where X s j = h ( S I D j | | x ) . Thus, once acquiring X s j and the transmitted message in an open channel, anyone can compute the session key. Therefore, when an adversary learns the long-term key x, he/she has the same capability as the S j . Of course, he/she can compute the correct session key. In fact, it is a more secure way to set up the session key with the security mechanism of challenge-response for the two sides of communication. Anyway, all this corroborates that a protocol without any exponentiation operations conducted on the server side cannot achieve forward secrecy [41].

4. Cryptanalysis of Park et al.’s Scheme

Similar to Jung et al., Park et al. [26] also criticized Chang et al.’s scheme [24], and improved this two-factor scheme into a three-factor one. They claimed their new scheme overcomes the weaknesses in [24], and proved the security of the scheme via BAN logic. Unfortunately, we once again found this scheme also insecure: no resistance to two kinds of offline dictionary attacks and no user anonymity.

4.1. A Brief Review of Park et al.’s Scheme

This section describes Park et al.’s scheme [26] briefly.

4.1.1. Registration Phase

Note that the senor node registration phase is the same with Jung et al.’s [25], so it is omitted here.
  • U i G W : { I D i , H P W i } , where ( R i , P i ) = G e n ( B I O i ) , H P W i = h ( P W i | | R i ) .
  • G W U i : a smart card containing { A i , B i , C i , T I D i , h ( · ) } , where H I D i = h ( I D i | | x ) , X s i = h ( H I D i | | x ) , A i = h ( H P W i | | X s i ) H I D i , B i = h ( H P W i | | X s i ) , C i = X s i h ( I D i | | H P W i . Furthermore, G W stores ( T I D i , T I D i ) in database, and T I D i is a random number, T I D i is initialized to NULL.
  • U i inputs P i into the smart card. Note that, in Park et al.’s scheme [26], this step is not mentioned. But, according to the scheme, this step is necessary. We speculate it is missed.

4.1.2. Login Phase and Verification Phase

  • U i G W : { D I D i , X i , M U i , G , T i , T I D i } . U i inputs the I D i and P W i , and the biometrics B I O i , and then the smart card computes:
    • R i = R e p ( B I O i , P i ) , H P W i = h ( P W i | | R i ) , X s i = C i h ( I D i | | H P W i ) , B i = h ( H P W i X s i ) .
    If B i == B i , the card selects a random number α Z p , and computes X i = α P , k i = h ( X s i | | T i ) , D I D i = h ( H P W i | | X s i ) k i and M U i , G = h ( A i | | X s i | | X i | | T i ) , and sends { D I D i , X i , M U i , G , T i , T I D i } to G W . Otherwise, it ends the session.
  • G W S j : { D I D i , M G , S j , X i , T G } . G W first checks T i , then gets H I D i and computes:
    • X s i = h ( H I D i | | x ) , k i = h ( X s i | | T i ) .
    If M U i , G h ( h ( D I D i k i H I D i ) | | X s i | | X i | | T i ) , G W rejects the request. Otherwise, it computes X s j = h ( S I D j | | x ) , M G , S j = h ( D I D i | | S I D j | | X s j | | X i | | T G ) , and sends { D I D i , M G , S j , X i , T G } to S j .
  • S j G W : { M S j , G , Y j , T j } . S j first checks T G , and if M G , S j h ( D I D i | | S I D j | | X s j | | X i | | T G ) , rejects it. Otherwise, S j chooses b Z p and computes:
    • Y j = β P , k j = h ( X s j | | T j ) , Z i = M G , S j k j S K j = h ( D I D i | | k j | | β X i ) , M S j , G = h ( Z i | | X s j | | X i | | Y j | | T j ) ,
    and sends { M S j , G , Y j , T j } to the G W .
  • G W U i : { e i , M G , U i , Y j , T G } . G W first checks T j , and computes k j = h ( X s j | | T ) j ) , Z i = M G , S j k j , if M S j , G == h ( Z i | | X s j | | X i | | X j | | T j ) , G W further computes:
    • e i = k j h ( k i ) , M G , U i = h ( D I D i | | M U i , G | | k j | | X s i | | X i | | Y j | | T G ) , T I D i n e w = h ( H I D i | | T i ) ,
    and updates ( T I D i , T I D i ) as ( T I D i n e w , T I D i ) , then sends { e i , M G , U i , Y i , T G } to the G W . Otherwise, it exits the session.
  • U i checks T G , and computes k j = e i h ( k i ) , if M G , U i == h ( D I D i | | M U i , G | | k j ÷ | | X s i | | X i | | Y j | | T G ) , computes S K = h ( D I D i | | k j | | α Y j ) , and updates T I D i as h ( H I D i | | T i ) . Otherwise, it exits the session.

4.2. Security Flaws in Park et al.’s Scheme

Compared with Jung et al. [25], Park et al. [26] deployed an elliptic curve cryptosystem trying to achieve user anonymity and resist against offline dictionary attack. Though Wang et al. [3,41] pointed out that a public key algorithm is necessary to achieve user anonymity and offline dictionary attack, it does not mean that, once the public key algorithm is added, the system will be secure. Deploying the public key algorithm requires some skills, and we will propose a sound scheme as an example to explain such skills in Section 5. In this section, we proved that Park et al.’s scheme suffers from many attacks, including offline dictionary attack and no user anonymity.

4.2.1. Offline Dictionary Attack

Suppose the adversary A got the message { A i , B i , C i , P i , T I D i } in the card; and also acquired U i ’s biometrics B I O i in addition to intercepted transcripts { D I D i , X i , M U i , G , T i , T I D i } . Then, A conducts an offline dictionary attack as follows:
  • Guesses P W i to be P W i and I D i to be I D i .
  • Computes R i = R e p ( B I O i , P i ) , where P i is from the smart card.
  • Computes H P W i = h ( P W i | | R i ) .
  • Computes X s i = C i h ( I D i | | H P W i ) .
  • Computes M U i , G = h ( A i | | X s i | | X i | | T i ) , where A i is from the card, X i and T i are from the channel.
  • Verifies the correctness of P W i and I D i by checking whether M U i , G == M U i , G .
  • Repeats Step 1–7 of this procedure until the correct value of P W i and I D i is found.
The time complexity of the above attack is O ( | D p w | | D i d | ( 3 T H + T R E ) ) . T R E is the running time of fuzzy extraction computation. Thus, the above attack is quite efficient.
Similar to the analysis in Section 3.2.1, the adversary can also select B i as the verification to test the guessed value of P W i and I D i .

4.2.2. User Anonymity

Park et al. [26] attempted to update some parameters to provide user anonymity. However, such a method is not as desirable as they expected. On one hand, the gateway has to update the database in every session, which is efficient; on the other hand, if the adversary A acquires the verifier table { T I D i , T I D i , H I D i ) } , and intercepts { D I D i , X i , M U i , G , T i , T I D i } , then A can find the T I D i from the verifier table and get the corresponding H I D i . Now, A can compute the T I D i n e w in the next session as h ( H I D i | | T i ) . Thus, A can link the login request to the same user who has ever used T I D i via computing T I D i n e w in every session. Thus, Park et al.’s scheme cannot achieve user anonymity.

5. Proposed Scheme

In this section, we proposed a new enhanced scheme (as shown in Figure 2) which not only provides some desirable attributes but also can resist against the known attacks. Furthermore, we improve the scheme from the following aspects:
  • based on Wang et al. [3,41], we apply a public key algorithm for resisting against offline dictionary attack via the verification from the open channel. In such an attack, as we analyzed above, the key solution is about the way to construct the verification parameter between the user and the gateway node. Once the verification parameter consists of a “challenge” that is deployed a public key algorithm, a trap door will be built. Therefore only the one who owns the corresponding secret key can compute the correct “challenge” (i.e., X in our scheme). In Park et al.’s scheme, though a public key algorithm is deployed, it is not used to construct a “challenge” for authentication. More specifically, all the parameters in the verification M U i , G (= h ( A i | | X S i | | X i | | T i ) ) can be computed with the static or open knowledge in the user side and the open channel, so A can compute all parameters ( A i , X S i , X i , T i ) with guessed password and then use M U i , G to verify the guessed value. While, in our new scheme, a “challenge” X is built. Besides the static or open knowledge on the user side, A has to know the dynamic α or the long-term key to compute X, and thus fails to conduct such an attack;
  • as introduced in Section 3.2.1, we use “honeywords” + “fuzzy-verifiers” to resist against offline dictionary attack via verification from the smart card [30,42];
  • we do not protect user anonymity via updating parameters as Park et al., but deploy a dynamic identity technique via a public key algorithm [3].
The details of our scheme is described as follows:

5.1. Registration Phase

The registration phase to the sensor node is similar to Jung et. al. [25] and Park et. al. [26], so it is omitted. When a new user wants to be a legitimate user of the system, then he/she may submit his/her personal information on the gateway to initiate a user registration phase as follows:
  • U i G W : { I D i , H P W i } , where ( R i , P i ) = G e n ( B I O i ) , H P W i = h ( P W i | | R i ) .
  • G W U i : a smart card containing { A i , B i , n 0 , Y , P } , where X s i = h ( I D i | | x | | r i ) ( r i is a random number), A i = X s i H P W i P i , B i = h ( h ( H P W i ) h ( I D i ) h ( P i ) ) mod n 0 , Y = x P . Furthermore, G W stores ( I D i , r i , H o n e y _ L i s t ) in database, and H o n e y _ L i s t is supposed to count the number of failing in user login phase and it is initialized to NULL. Once its value is bigger than the predetermined threshold, the corresponding smart card will be discarded till the user re-registers.
  • U i inputs P i into the smart card.

5.2. Login Phase and Verification Phase

After being legitimated, the user U i can login to the system with the password, identity and biometrics, and get authenticated via exchanging information with the corresponding communication parties. Finally, after finishing the authentication successfully, the user and the sensor node will build a session key to protect the security of the subsequent communications.
  • U i G W : { D I D i , X i , M U i , G , T i } . U i inputs his/her identity I D i , password P W i , and biometrics B I O i ; then, the smart card computes:
    • R i = R e p ( B I O i , P i ) , H P W i = h ( P W i | | R i ) , B i = h ( h ( H P W i ) h ( I D i ) h ( P i ) ) m o d n 0 .
    If B i == B i , the card accepts the user, and selects a random number α Z p , computes:
    • X i = α P , X = α Y , X s i = A i H P W i P i , k i = h ( X s i | | T i ) , D I D i = I D i h ( X i | | X ) , M U i , G = h ( X s i | | X i | | X | | k i | | T i ) ,
    and then sends { D I D i , X i , M U i , G , T i } as a login request to G W . Otherwise, it ends the session.
  • G W S j : { X i , M , M G , S j , T G } . G W first checks the freshness of T i , computes:
    • X = x X i , I D i = D I D i h ( X i | | X ) ,
    and then finds r i and H o n y _ L i s t via I D i . If H o n y _ L i s t the preset value (for example 10), the G W thinks this smart card has been suspended and rejects the request. Otherwise, G W computes X s i = h ( I D i | | x | | r i ) , k i = h ( X s i | | T i ) . If M U i , G h ( X s i | | X i | | X | | k i | | T i ) , G W rejects the request and sets H o n y _ L i s t = H o n y _ L i s t + 1 . Once H o n y _ L i s t is bigger than the preset value, the corresponding smart card is suspended. Otherwise, it computes:
    • X s j = h ( S I D j | | x ) , M = h ( X s j ) h ( k i ) , M G , S j = h ( h ( k i ) | | X s j | | X i | | S I D j | | T G ) ,
    and sends { X i , M , M G , S j , T G } to S j to conveys U i ’s request.
  • S j G W : { Y j , M S j , G , T j } . S j first checks the valid of T G , and computes h ( k i ) = M h ( X s j ) . If M G , S j h ( h ( k i ) | | X s j | | X i | | S I D j | | T G ) , S j does not believe G W and rejects the session. Otherwise, S j chooses β Z p and computes:
    • Y j = β P , k j = h ( X s j | | T j ) , S K j = h ( X i | | Y j | | β X i ) , M S j , G = h ( k j | | h ( k i ) | | Y j | | X s j | | X i | | T j ) ,
    and sends { Y j , M S j , G , T j } to G W .
  • G W U i : { Y j , M G , U i , T G } . G W first checks T j . Then, it computes k j = h ( X s j | | T j ) , and if M S j , G == h ( k j | | h ( k i ) | | Y j | | X s j | | X i | | T j ) , G W further computes M G , U i = h ( ( X s i | | k i | | X i | | Y j | | X | | T G ) , and then sends { Y j , M G , U i , T G } to U i to transmit S j ’s responds. Otherwise, it exits the session.
  • U i first checks T G , and if M G , U i == h ( ( X s i | | k i | | X i | | Y j | | X | | T G ) , U i authenticates the G W , and computes S K i = h ( X i | | Y j | | α Y j ) to finish the authentication successfully. Otherwise, the authentication fails.

5.3. Password Change Phase

Once the user wants to change password for security consideration, he/she can achieve it through the following steps:
  • U i inputs I D i , P W i and new password P W i n e w .
  • The card computes:
    • R i = R e p ( B I O i , P i ) , H P W i = h ( P W i | | R i ) , B i = h ( h ( H P W i ) h ( I D i ) h ( P i ) ) m o d n 0 .
    If B i B i , the card does not permit U i to change the password. Otherwise, it further computes:
    • H P W i n e w = h ( P W i n e w | | R i ) , B i n e w = h ( h ( H P W i n e w ) h ( I D i ) h ( P i ) ) m o d n 0 , A i n e w = A i H P W i H P W i n e w ,
    and finally replaces A i , B i with A i n e w , B i n e w .

5.4. Revocation Phase

Revocation phase, as the emergency response strategy, is of great significance to the security of the system. It provides an efficient way to protect the account from being abused. When the user finds his/her smart card breached, he/she can revoke the smart card as follows:
  • U i firstly get authenticated by the card as the way to the step 1 in Section 5.2.
  • U i G W : { D I D i , X i , M U i , G , T i , r e v o k e _ r e q u e s t } . As described in Section 5.2, the smart card computes D I D i , X i , M U i , G and sends { D I D i , X i , M U i , G , T i , r e v o k e _ r e q u e s t } to the gateway.
  • After receiving the revocation request from U i , G W first verifies U i . If G W authenticates U i successfully, it sets H o n e y _ L i s t to a big number, which is bigger than the preset value. Then, the smart card will be revoked, and nobody can login to the system with the card unless U i re-register. Otherwise, G W rejects the request.

5.5. Re-Register Phase

If a user U i with correct password and identity is still rejected by S j , then can re-register as follows:
  • U i G W : { I D i , H W R i , P i , r e - r e g i s t e r } .
  • Firstly, G W looks for I D i from U s e r - l i s t , checks whether H o n e y _ L i s t the preset value. If so, G W believes the card is suspended, then performs the corresponding steps in Section 5.1.

6. Security Analysis

To prove the security of our scheme, we analyze it from two aspects: a formal way using the Burrows–Abadi–Needham (BAN) logic [43]; a informal/heuristic way. Through the formal way, we prove our scheme achieves four basic security goals. These goals ensure that the user and the sensor node are mutual trust, and they both compute the session key successfully; furthermore, the session keys computed by them are equal. Through the informal/heuristic way, we prove that our scheme not only satisfies many desired attributes such as user anonymity and forward security, but also is resistant to various attacks such as offline dictionary attack, impersonation attack, and de-synchronized attack.

6.1. Formal Analysis Based on BAN Logic

The BAN logic [43] is a simple and efficient way to analyze the design logic and security of a protocol. It has a set of particular notions (shown in Table 2) to depict the logic of the protocol. We will prove the security of our scheme according to its notions and processes.
In BAN logic, the goals of our authentication scheme are defined as:
  • Goal 1: U i S j ( U i S K S j ) .
  • Goal 2: U i ( U i S K S j ) .
  • Goal 3: S j U i ( U i S K S j ) .
  • Goal 4: S j ( U i S K S j ) .
According to the proof steps in BAN logic, we re-describe our scheme into an idealized form:
  • M 1 : U i G W : X i , k i , T i , D I D i , U i X G W U i X s i G W .
  • M 2 : G W S j : X i , h ( k i ) , S I D j , T G S j X s j G W .
  • M 3 : S j G W : X j , k j , h ( k i ) , T j S j X s j G W .
  • M 4 : G W U i : X j , k i , X , T G U i X s i G W .
Then, some assumptions are defined as follows:
  • H 1 : U i ( T G ) .
  • H 2 : S j ( T G ) .
  • H 3 : G W ( T i ) .
  • H 4 : G W ( T j ) .
  • H 5 : G W S j X s j G W .
  • H 6 : S j S j X s j G W .
  • H 7 : G W U i X s i G W .
  • H 8 : U i G W X s i R C .
  • H 9 : U i S j U i S K S j .
  • H 10 : S j U i U i S K S j .
Based on the definition above, we perform the BAN logic proof as follows:
From M 1 , it is easy to get S 1 : G W X i , k i , T i , D I D i , U i X G W X s i .
Then, according to H 7 , S 1 , R U L E ( 1 ) , we get S 2 : G W U i X i , k i , T i , D I D i , U i X G W .
According to H 3 and R U L E ( 4 ) , we get S 3 : G W X i , k i , T i , D I D i , U i X G W .
In addition, according to S 2 , S 3 and R U L E ( 2 ) , S 4 : G W U i X i , k i , T i , D I D i , U i X G W
From M 2 , it is easy to get S 5 : S j X i , h ( k i ) , S I D j , T G X s j .
Then, according to H 7 , S 1 , R U L E ( 1 ) , we get S 6 : S j G W X i , h ( k i ) , S I D j , T G .
According to H 3 and R U L E ( 4 ) , we get S 7 : S j X i , h ( k i ) , S I D j , T G .
In addition, according to S 2 , S 3 and R U L E ( 2 ) , we get S 8 : S j G W X i , h ( k i ) , S I D j , T G .
From M 3 , it is easy to get S 9 : G W X j , k j , h ( k i ) , T j X s j .
Then, according to H 7 , S 1 , R U L E ( 1 ) , we get S 10 : G W S j X j , k j , h ( k i ) , T j .
According to H 3 and R U L E ( 4 ) , we get S 11 : G W X j , k j , h ( k i ) , T j .
In addition, according to S 2 , S 3 and R U L E ( 2 ) , we get S 12 : G W S j X j , k j , h ( k i ) , T j .
From M 4 , it is easy to get S 13 : U i X j , k i , X , T G X s i .
Then, according to H 7 , S 1 , R U L E ( 1 ) , we get S 14 : U i G W X j , k i , X , T G .
According to H 3 and R U L E ( 4 ) , we get S 15 : U i X j , k i , X , T G .
In addition, according to S 2 , S 3 and R U L E ( 2 ) , we get S 16 : U i G W X j , k i , X , T G .
As S K = h ( X i | | X j | | α X j ) , and combining S 12 , S 16 , we get: S 17 : U i S j U i S K S j (Goal 1).
Similarly, as S K = h ( X i | | X j | | β X i ) , with S 4 , S 8 , we get: S 18 : S j U i U i S K S j (Goal 3).
Finally, according to H 2 , S 17 and R U L E ( 3 ) , we get: S 19 : U i ( U i S K S j ) (Goal 2).
In addition, according to H 10 , S 18 and R U L E ( 3 ) , we get: S 20 : S j ( U i S K S j ) (Goal 4).
Therefore, we prove our scheme achieves Goals 1–4 successfully. In other words, our scheme promises that U i and S j have been authenticated mutually, and they further compute and share the same session key S K .

6.2. Informal Analysis

The heuristic way plays an important role in testing the security of the user authentication protocol. It makes up for the defects of formal proofs in some security requirements. For example, the formal proofs cannot capture user anonymity and user friendly problems. Therefore, in this section, we apply the heuristic method to prove the security of our scheme.

6.2.1. Mutual Authentication

In step 2 and step 5 of Section 5.2, the gateway node and the user authenticate each other via their shared secret parameter X s i and X. On the user side, only with the correct password, biometrics, and the corresponding smart card can U i compute X s i , so the gateway can authenticate U i via this parameter. On the gateway node, after receiving X i , only the one with the long-term key x, can compute X, so the user authenticate G W via X.
In step 3 and step 4 of Section 5.2, the gateway node and the sensor node authenticate each other via X s j . If an adversary wants to compute X s j , then he/she has to guess the long-term key x, and the probability of such an event can be ignored.
Therefore, the user and the sensor node have authenticated the gateway, and the gateway has also authenticated them. Furthermore, from the authentication relationship among the three parties, equivalently, the user and the sensor node get authenticated with each other. All in all, our scheme achieves mutual authentication well.

6.2.2. User Anonymity

In our scheme, I D i is concealed in D I D i , which is changed with X in every session. To get I D i , A has to compute X, which means that A without α or x has to solve the elliptic curve discrete logarithm problem. As we introduced in Section 2.1, such a problem cannot be solved in polynomial time. Thus, in our scheme, the user identity is not only well protected, but also untraceable.
Furthermore, note that an obvious difference in user anonymity between the wireless sensor network and the distributed network is about whether the user identity can be known by other participants. In a distributed network, there are only two participants: the user and the server. In such a condition, the user identity can be known by the server to build a session key. While in the wireless sensor network, there are three participants: the user, the gateway node and the sensor node. The gateway node acts as a register center and is protected well, so it can know the user identity. While the sensor node is usually deployed in an unattended environment, it is of high possibility to be controlled by the adversary. Thus, the user identity should not be exposed to it. In addition, our scheme achieves such a goal: the user identity is not transmitted to the sensor node.

6.2.3. Forward Secrecy

The session key S K = h ( X i | | Y j | | β X i ) = h ( X i | | Y j | | α Y j ) . The key parameter is β X i or α Y j . If an adversary A intercepts the message in an open channel, acquires the secret key x, then A knows X i and X j . Thus, A needs to compute β X i or α Y j . However, computing β X i or α Y j for A is equivalent to solving the Elliptic curve discrete logarithm problem, and it is bound to fail. Therefore, A cannot compute S K , and our scheme achieves forward secrecy.

6.2.4. Offline Dictionary Attack

A sound three-factor user authentication scheme should ensure that even if A gets any two of the three factors, he/she cannot break the system. In our scheme, if A gets the password and biometrics, he/she still cannot compute X s i to construct a valid login request; if A gets the password and the smart card, he/she can neither compute X s i nor guess the biometrics, thus also fails to perform an attack; if A gets the smart card and biometrics, then A may conduct an offline dictionary attack by using M u i , G or B i as the verification parameter to check the correctness of the guessed value.
If A uses B i , then he/she may make the offline dictionary attack as follows: guesses I D i and P W i to be I D i and P W i , respectively, computes R i = R e p ( B I O i , P i ) , H P W i = h ( P W i | | R i ) , then verifies I D i and P W i by checking B i ?= h ( h ( H P W i ) h ( I D i ) h ( P i ) ) mod n 0 . However, even A gets a pair of { I D i , P W i } such that B i == h ( h ( H P W i ) h ( I D i ) h ( P i ) ) mod n 0 , he/she may not find the correct I D i and P W i , for there are | D p w | | D i d | \ n 0 2 32 candidates of { I D i , P W i } pair (where n 0 = 2 8 and | D p w | = | D i d | = 2 6 ) [30]. Thus, A then has to test the { I D i , P W i } via sending the login request to the gateway node, and once the number of login failures exceeds the preset value, the smart card will be suspended and the attack fails.
If A uses M u i , G , then he/she can compute H P W i as above, and further compute X s i = A i H P W i P i , k i = h ( X s i | | T i ) , D I D i = I D i h ( X i | | X ) . However, A cannot compute X, as we explained in Section 6.2.2, and thus fails to finish such an attack.
In conclusion, our scheme is resistant to dictionary attack.

6.2.5. Privileged Insider Attack

In our scheme, the user submits { I D i , H P W i , P i } to the gateway node. The password is well protected by a long-term number R i , so G W cannot learn any useful information from it. Therefore, our scheme is secure against privileged insider attack.

6.2.6. Verifier-Stolen Attack

The verifier table stored in G W does not expose sensitive messages; even if an adversary acquires the table, he/she cannot make any attack. Thus, our scheme is resistant to verifier-stolen attack.

6.2.7. Replay Attack

The timestamp is used to prevent replay attack. On the one hand, if A replays the history message directly, the corresponding communication party will find it via checking the freshness of the timestamp. On the other hand, if A tries to forge the message in the open channel, such as { D I D i , X i , M U i , G , T i } , then he/she has to know X s i . However, to compute X s i , it is asked that A has to know x or U i ’s password, biometrics and smart card, which is impossible. Similarly, A also cannot replay or construct other message flows.

7. Performance Analysis

To better evaluate our scheme, we make a comparison among the related schemes for wireless sensor networks [25,26,29,44]. From Table 3, it is obvious that our scheme is more competitive than other schemes: our scheme achieves all the security requirements while others [25,26,29,44] all have some attributes that fail to satisfy more or less; the computation of our scheme is similar or slightly high to that of other schemes. Furthermore, achieving all the security requirements is more significant to an authentication scheme, and it is not advisable to sacrifice security for efficiency.

8. Conclusions

In this paper, we first introduced the system architecture of wireless sensor networks. Based on this, we summarized the adversary model and security requirements in such a special environment. Secondly, we identified the security flaws in two recent three-factor authentication schemes, and analyzed the inherent reasons for those flaws. Thirdly, we proposed an enhanced scheme resistant to various attack and with many desirable attributes. Then, we proved the security of our scheme via BAN logic and the heuristic analysis. Furthermore, the comparison with other related schemes showed the great advantage of our scheme. Finally, with the development of technology, Internet of Things and Internet of Vehicles will become more and more integrated into our daily life, and the ensuing security problems will become more and more prominent. Therefore, in the future, we will focus on identifying the security requirements and designing a secure but practical protocol in the authentication of these new application scenarios.
References

Acknowledgments

The authors thank the anonymous reviewers and the Editor for the constructive comments and generous feedback. This research is supported by the BUPT (Beijing University of Posts and Telecommunications) Excellent Ph.D. Students Foundation; the National Natural Science Foundation of China under Grant No.61401038 and No.61702045; the National High Technology Research and Development Program Foundation of China under Grant No. 2015AA017202; the Guangdong Provincial Science and Technology Department Frontier and Key Technology Innovation Project Foundation under Grant No. 2016B010110002; and the State Grid Corporation of China Key Technology Innovation Project Foundation under Grant No. SGRIXTKJ[2017]265.

Author Contributions

Chenyu Wang analyzed the two recent schemes and proposed the enhanced scheme, and then gave the proof of it; Guoai Xu and Jing Sun improved the expressions of the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Pecori, R.; Veltri, L. 3AKEP: Triple-authenticated key exchange protocol for peer-to-peer VoIP applications. Comput. Commun. 2016, 85, 28–40. [Google Scholar]
  2. Pecori, R. A comparison analysis of trust-adaptive approaches to deliver signed public keys in P2P systems. In Proceedings of the 7th International Conference on New Technologies, Mobility and Security (NTMS), Paris, France, 27–29 July 2015. [Google Scholar]
  3. Wang, D.; Wang, P. On the anonymity of two-factor authentication schemes for wireless sensor networks: Attacks, principle and solutions. Comput. Netw. 2014, 73, 41–57. [Google Scholar]
  4. Khan, M.K.; Alghathbar, K. Cryptanalysis and security improvements of “two-factor user authentication in wireless sensor networks”. Sensors 2010, 10, 2450–2459. [Google Scholar] [PubMed]
  5. Kumar, P.; Choudhury, J.A.; Sain, M.; Lee, S.G.; Lee, H.J. RUASN: A robust user authentication framework for wireless sensor networks. Sensors 2011, 11, 5020–5046. [Google Scholar] [CrossRef] [PubMed]
  6. Ling, C.; Lee, C.; Yang, C.; Hwang, M. A secure and efficient one-time password authentication scheme for WSN. Int. J. Netw. Secur. 2017, 19, 177–181. [Google Scholar]
  7. Chen, C.T.; Lee, C.C. A two-factor authentication scheme with anonymity for multi-server environments. Secur. Commun. Netw. 2013, 8, 1608–1625. [Google Scholar]
  8. Das, M.L. Two-factor user authentication in wireless sensor networks. IEEE Trans. Wirel. Commun. 2009, 8, 1086–1090. [Google Scholar]
  9. Lee, C.; Li, C.; Chen, S. Two attacks on a two-factor user authentication in wireless sensor networks. Parallel Process. Lett. 2011, 21, 21–26. [Google Scholar] [CrossRef]
  10. Kumar, P.; Gurtov, A.; Ylianttila, M.; Lee, S.; Lee, H. A strong authentication scheme with user privacy for wireless sensor networks. ETRI J. 2013, 35, 889–899. [Google Scholar] [CrossRef]
  11. Sun, D.; Li, J.; Feng, Z.; Cao, Z.; Xu, G. On the security and improvement of a two-factor user authentication scheme in wireless sensor networks. Pers. Ubiquitous Comput. 2013, 17, 895–905. [Google Scholar] [CrossRef]
  12. Fan, R.; He, D.P.X.P.L. An efficient and dos-resistant user authentication scheme for two-tiered wireless sensor networks. J. Zhejiang Univ. Sci. C 2011, 12, 550–560. [Google Scholar] [CrossRef]
  13. Das, A.K.; Sharma, P.; Chatterjee, S.; Sing, J.K. A dynamic password-based user authentication scheme for hierarchical wireless sensor networks. J. Netw. Comput. Appl. 2012, 35, 1646–1656. [Google Scholar] [CrossRef]
  14. Wang, D.; Wang, P. Understanding security failures of two-factor authentication schemes for real-time applications in hierarchical wireless sensor networks. Ad Hoc Netw. 2014, 20, 1–15. [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. Li, C.T.; Weng, C.Y.; Lee, C.C. An advanced temporal credential-based security scheme with mutual authentication and key agreement for wireless sensor networks. Sensors 2013, 13, 9589–9603. [Google Scholar] [CrossRef] [PubMed]
  17. Li, C.T.; Lee, C.C.; Lee, C.W. An improved tTwo-factor user authentication protocol for wireless sensor networks using elliptic curve cryptography. Sens. Lett. 2013, 11, 958–965. [Google Scholar] [CrossRef]
  18. Hsiu-Lien, Y.; Chen, T.H.; Liu, P.C.; Tai-Hoo, K.; Wei, H.W. A secured authentication protocol for wireless sensor networks using elliptic curves cryptography. Sensors 2011, 11, 4767–4779. [Google Scholar]
  19. Choi, Y.; Lee, D.; Kim, J.; Nam, J.; Won, D. Security enhanced user authentication protocol for wireless sensor networks using elliptic curves cryptography. Sensors 2014, 14, 10081–10106. [Google Scholar] [CrossRef] [PubMed]
  20. Shi, W.; Gong, P. A new user authentication protocol for wireless sensor networks using elliptic curves cryptography. Int. J. Distrib. Sens. Netw. 2013, 2013, 51–59. [Google Scholar] [CrossRef]
  21. Jiang, Q.; Ma, J.; Lu, X.; Tian, Y. An efficient two-factor user authentication scheme with unlinkability for wireless sensor networks. Peer-to-Peer Netw. Appl. 2015, 8, 1070–1081. [Google Scholar] [CrossRef]
  22. Wu, F.; Xu, L.; Kumari, S.; Li, X. A new and secure authentication scheme for wireless sensor networks with formal proof. Peer-to-Peer Netw. Appl. 2017, 10, 16–30. [Google Scholar] [CrossRef]
  23. He, D.; Kumar, N.; Chilamkurti, N. A secure temporal-credential-based mutual authentication and key agreement scheme with pseudo identity for wireless sensor networks. Inf. Sci. Int. J. 2015, 321, 263–277. [Google Scholar] [CrossRef]
  24. Chang, I.; Lee, T.; Lin, T.; Liu, C. Enhanced two-factor authentication and key agreement using dynamic identities in wireless sensor networks. Sensors 2015, 15, 29841–29854. [Google Scholar] [CrossRef] [PubMed]
  25. Jung, J.; Moon, J.; Lee, D.; Won, D. Efficient and security enhanced anonymous authentication with key agreement scheme in wireless sensor networks. Sensors 2017, 17. [Google Scholar] [CrossRef] [PubMed]
  26. 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]
  27. Huang, X.; Xiang, Y.; Bertino, E.; Zhou, J.; Xu, L. Robust multi-factor authentication for fragile communications. IEEE Trans. Depend. Secur. Comput. 2013, 11, 568–581. [Google Scholar] [CrossRef]
  28. Wang, D.; He, D.; Wang, P.; Chu, C. Anonymous two-factor authentication in distributed systems: Certain goals are beyond attainment. IEEE Trans. Depend. Secur. Comput. 2015, 12, 428–442. [Google Scholar] [CrossRef]
  29. Jiang, Q.; Zeadally, S.; Ma, J.; He, D. Lightweight three-factor authentication and key agreement protocol for internet-integrated wireless sensor networks. IEEE Access 2017, 5, 3376–3392. [Google Scholar] [CrossRef]
  30. Wang, D.; Wang, P. Two birds with one stone: Two-factor authentication with security beyond conventional bound. IEEE Trans. Depend. Secur. Comput. 2016. [Google Scholar] [CrossRef]
  31. Kumari, S.; Li, X.; Wu, F.; Das, A.K.; Choo, K.K.R.; Shen, J. Design of a provably secure biometrics-based multi-cloud-server authentication scheme. Futur. Gener. Comput. Syst. 2017, 68, 320–330. [Google Scholar] [CrossRef]
  32. He, D.; Wang, D. Robust biometrics-based authentication scheme for multiserver environment. IEEE Syst. J. 2015, 9, 816–823. [Google Scholar] [CrossRef]
  33. Jiang, Q.; Chen, Z.; Li, B.; Shen, J.; Yang, L.; Ma, J. Security analysis and improvement of bio-hashing based three-factor authentication scheme for telecare medical information systems. J. Ambient Intell. Humaniz. Comput. 2017. [Google Scholar] [CrossRef]
  34. Lee, C.C.; Chen, C.T.; Wu, P.H.; Chen, T.Y. Three-factor control protocol based on elliptic curve cryptosystem for universal serial bus mass storage devices. IET Comput. Digit. Tech. 2013, 7, 48–56. [Google Scholar] [CrossRef]
  35. He, D.; Zeadally, S.; Kummar, N.; Wu, W. Efficient and anonymous mobile user authentication protocol using self-certified public key cryptography for multi-server architectures. IEEE Trans. Inf. Forensics Secur. 2016, 11, 2052–2064. [Google Scholar] [CrossRef]
  36. Wang, C.; Wang, D.; Xu, G.; Guo, Y. A lightweight password-based authentication protocol using smart card. Int. J. Commun. Syst. 2017. [Google Scholar] [CrossRef]
  37. Wang, D.; Cheng, H.; Wang, P.; Huang, X.; Jian, G. Zipf’s law in passwords. IEEE Trans. Inf. Forensics Secur. 2017, 12, 2776–2791. [Google Scholar] [CrossRef]
  38. Kumari, S.; Khan, M.K.; Li, X.; Wu, F. Design of a user anonymous password authentication scheme without smart card. Int. J. Commun. Syst. 2016, 29, 441–458. [Google Scholar] [CrossRef]
  39. Li, X.; Qiu, W.; Zheng, D.; Chen, K.; Li, J. Anonymity enhancement on robust and efficient password-authenticated key agreement using smart cards. IEEE Trans. Ind. Electron. 2010, 57, 793–800. [Google Scholar]
  40. Li, X.; Xiong, Y.; Ma, J.; Wang, W. An enhanced and security dynamic identity based authentication protocol for multi-server architecture using smart cards. J. Netw. Comput. Appl. 2012, 35, 763–769. [Google Scholar] [CrossRef]
  41. Ma1, C.; Wang, D.; Zhao, S. Security flaws in two improved remote user authentication schemes using smart cards. Int. J. Commun. Syst. 2012, 27, 2215–2227. [Google Scholar]
  42. Wang, C.; Xu, G. Cryptanalysis of three password-based remote user authentication schemes with non-tamper-resistant smart card. Secur. Commun. Netw. 2017. [Google Scholar] [CrossRef]
  43. Burrows, M.; Abadi, M.; Needham, R. A logic of authentication. IEEE Trans. Comput. 1990, 8, 18–36. [Google Scholar] [CrossRef]
  44. Amin, R.; Islam, S.H.; Biswas, G.P.; Khan, M.K.; Leng, L.; Kumar, N. Design of an anonymity-preserving three-factor authenticated key exchange protocol for wireless sensor networks. Comput. Netw. 2016, 101, 42–62. [Google Scholar] [CrossRef]
Figure 1. WSNs system architecture.
Figure 1. WSNs system architecture.
Sensors 17 02946 g001
Figure 2. Proposed scheme.
Figure 2. Proposed scheme.
Sensors 17 02946 g002
Table 1. Notations and abbreviations.
Table 1. Notations and abbreviations.
SymbolDescription
U i i th user
G W the gateway node
S j j th sensor node
A malicious attacker
ID i identity of user U i
P W i password of user U i
B I O i biometrics of user U i
P j the shared secret key between G W and S j
x , y the secret key of remote server G W
the bitwise exclusive OR (XOR) operation
the string concatenation operation
H ( B I O i ) collision free one-way hash function to the biometrics
h ( · ) collision free one-way hash function
G e n ( B I O i ) one part of fuzzy extraction function, output a biometric key R i and a helper string P i
R e p ( B I O i , P i ) one part of fuzzy extraction function, output the biometric key R i in G e n ( B I O i )
a insecure channel
a secure channel
Table 2. Notations in BAN logic.
Table 2. Notations in BAN logic.
P X P believes X, i.e., the principal P believes the statement X is true.
P X P sees X, i.e., the principal P receives a message that contains X.
P X P has jurisdiction over X, i.e., the principal P can generate or compute X.
P X P said X, i.e., the principal P has sent a message containing X.
( X ) X is fresh, i.e., X is sent in a message only at the current run of the protocol, it is usually a timestamp or a random number.
P K Q K is the shared key for P and Q.
P Y Q Y is the secret known only to P and Q or some principals trusted by them.
X Y X combined with Y, and Y is usually a secret.
{ X } K X encrypted with K.
P P K Q , P { X } K P Q X or P P Y Q , P X Y P Q X R U L E ( 1 ) : the message-meaning rule.
This rule will be used in the proving process.
P ( X ) , P Q X P Q X R U L E ( 2 ) : the nonce-verification rule.
This rule will be used in the proving process.
P Q X , P Q X P X R U L E ( 3 ) : the jurisdiction rule.
This rule will be used in the proving process.
P ( X ) P ( X , Y ) R U L E ( 4 ) : the freshness-conjuncatenation rule.
This rule will be used in the proving process.
Table 3. Performance comparison among relevant schemes in wireless sensor networks.
Table 3. Performance comparison among relevant schemes in wireless sensor networks.
Computation Overhead Communication Cost The Proposed Evaluation Criteria
Login (ms)Auth. (ms) LoginAuth. S1S2S3S4S5S6S7S8S9S10S11S12S13
Amin et al. [44] 8 T H 0.055 25 T H 0.017 768 bits1536 bits ×××
Jiang et al. [29] T M + 6 T H 1.2 T M + 19 T H 1.2 1408 bits1280 bits ×××
Jung et al. [25] 5 T H 0.0035 14 T H 0.097 512 bits1024 bits ×××××
Park et al. [26] T E + 6 T H 0.51 3 T E + 18 T H 1.5 1536 bits4096bits ××××
Our scheme 2 T E + 8 T H 1.0 4 T E + 18 T H 2.0 1408 bits3968 bits
T M is the time of modular exponentiation operation, T E is the time of scalar multiplication on elliptic curve, T H is the time of hash computation, T M T E T H (according to Wang et al. [28], T M 1.169 ms, T E 0.508 ms, T H 0.693 μ s) and the lightweight operation such as “XOR” and “ | | ” can be ignored. Let n 0 be 32-bit long; Let I D i , P W i , h ( ) , output of symmetric encryption, timestamp, random numbers be 128-bit long; Let p, g, y be 1024-bit long. √ means the property is satisfied; × means the property is not satisfied.

Share and Cite

MDPI and ACS Style

Wang, C.; Xu, G.; Sun, J. An Enhanced Three-Factor User Authentication Scheme Using Elliptic Curve Cryptosystem for Wireless Sensor Networks. Sensors 2017, 17, 2946. https://doi.org/10.3390/s17122946

AMA Style

Wang C, Xu G, Sun J. An Enhanced Three-Factor User Authentication Scheme Using Elliptic Curve Cryptosystem for Wireless Sensor Networks. Sensors. 2017; 17(12):2946. https://doi.org/10.3390/s17122946

Chicago/Turabian Style

Wang, Chenyu, Guoai Xu, and Jing Sun. 2017. "An Enhanced Three-Factor User Authentication Scheme Using Elliptic Curve Cryptosystem for Wireless Sensor Networks" Sensors 17, no. 12: 2946. https://doi.org/10.3390/s17122946

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