Next Article in Journal
Design and Analysis of a Lightweight Context Fusion CNN Scheme for Crowd Counting
Next Article in Special Issue
Security Risk Measurement for Information Leakage in IoT-Based Smart Homes from a Situational Awareness Perspective
Previous Article in Journal
Ground Reaction Forces and Kinematics of Ski Jump Landing Using Wearable Sensors
Previous Article in Special Issue
Enabling Efficient Communications with Resource Constrained Information Endpoints in Smart Homes
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Lightweight Three-Factor Authentication and Key Agreement Scheme in Wireless Sensor Networks for Smart Homes

Graduate School of Information, Yonsei University, Seoul 03722, Korea
*
Author to whom correspondence should be addressed.
Sensors 2019, 19(9), 2012; https://doi.org/10.3390/s19092012
Submission received: 29 March 2019 / Revised: 20 April 2019 / Accepted: 24 April 2019 / Published: 29 April 2019
(This article belongs to the Special Issue Internet of Things for Smart Homes)

Abstract

:
A wireless sensor network (WSN) is used for a smart home system’s backbone that monitors home environment and controls smart home devices to manage lighting, heating, security and surveillance. However, despite its convenience and potential benefits, there are concerns about various security threats that may infringe on privacy and threaten our home life. For protecting WSNs for smart homes from those threats, authentication and key agreement are basic security requirements. There have been a large number of proposed authentication and key agreement scheme for WSNs. In 2017, Jung et al. proposed an efficient and security enhanced anonymous authentication with key agreement scheme by employing biometrics information as the third authentication factor. They claimed that their scheme resists on various security attacks and satisfies basic security requirements. However, we have discovered that Jung et al.’s scheme possesses some security weaknesses. Their scheme cannot guarantee security of the secret key of gateway node and security of session key and protection against user tracking attack, information leakage attack, and user impersonation attack. In this paper, we describe how those security weaknesses occur and propose a lightweight three-factor authentication and key agreement scheme in WSNs for smart homes, as an improved version of Jung et al.’s scheme. We then present a detailed analysis of the security and performance of the proposed scheme and compare the analysis results with other related schemes.

1. Introduction

Wireless sensor networks (WSNs), composed of many low-cost and low-power sensor nodes, have become a popular technology for various applications including Internet of Things (IoT) applications such as health-care, smart homes, smart factoring, and smart city [1]. For example, a smart home is defined as a networking technology to integrate devices and appliances so that many smart home devices with sensors monitor home environments, capture users’ offline activities, and control lighting, windows, doors, heating, security and surveillance, and so on. In the smart home application, internal and external users need to directly access the WSN for real-time control and data acquisition will increase through direct access. According to Zion Market Research [2], the global smart home market was valued at USD 39.68 billion in 2017 and is expected to reach a value of USD 159.68 billion by 2023. The growing market for smart home provides a more comfortable and easier way of life to users while presenting new challenges for preserving privacy. Moreover, due to the inherent characteristics of WSNs, such as resource constraints and the use of wireless medium, they are likely to be exposed to various attacks. In such situations, cryptographic techniques such as encryption and message authentication should be applied to protect user privacy and WSN against various attacks. To apply cryptographic techniques, user authentication and key agreement are basically required.

1.1. Related Works

To improve security of WSNs, many user authentication and key agreement schemes have been proposed in the last decade [3,4,5,6,7,8,9,10,11,12,13,14]. In 2006, based on lightweight operations, such as XOR operations and one-way hash function, Wong et al. [3] proposed a lightweight strong-password authentication scheme for WSNs. However, Das [4] pointed out that Wong et al.’s scheme is vulnerable to same login identity attack, replay attack and stolen-verifier attack. Das then presented a two-factor authenticated key establishment scheme for WSNs as an improved version of Wong et al.’s scheme. Unfortunately, many papers [5,15,16,17,18] have revealed that Das’s scheme is vulnerable to various attacks such as privileged insider, gateway node bypass, smart card loss, and parallel session attacks.
Although many improved versions of Das’s scheme have been proposed to solve the above-mentioned security flaws, they still have some security problems. As one of the improved versions, Vaidya et al. [5] proposed a novel two-factor user authentication scheme with key agreement for WSNs, but in 2014, Kim et al. [6] pointed out that Vaidya et al.’s scheme could not withstand both user impersonation attack and gateway node bypass attack. Kim et al. then proposed a user authentication and key agreement scheme that resisted those attacks. In 2015, Chang et al. [8] found that Kim et al.’s scheme is vulnerable to impersonation, lost smart card, man-in-the-middle attacks and does not provide session key security and user privacy. Chang et al. then presented an enhanced two-factor authentication and key agreement using dynamic identities. However, recently, Park et al. [9] and Jung et al. [13] pointed out that Chang et al.’s scheme has security flaws such as off-line password guessing attack, user impersonation attack, perfect forward secrecy problem, and incorrectness of password change. Park et al. and Jung et al. then proposed improved schemes in 2016 and 2017, respectively. Park et al. proposed a three-factor user authentication and key agreement scheme using ECC (Elliptic Curve Cryptosystem) and Jung et al. proposed an efficient anonymous authentication with key agreement scheme using only lightweight operations. However, we found that Jung et al.’s scheme still has some security weaknesses [19].
On the other hand, user authentication and key agreement schemes based on the concept of IoT have been proposed. In 2014, Turkanović et al. [7] proposed an energy-efficient user authentication scheme with high security and low computational cost using the concept of the IoT. However, Farash et al. [10] found that Turkanović et al.’s scheme has security weaknesses and then proposed an improved scheme. In 2016, Amin et al. [11] claimed that Farash et al.’s scheme has some security problems such as known session-specific temporary information attack, off-line password guessing attack using a stolen-smart card, a new-smart card-issue attack, user impersonation attack, insecurity of the secret key of the gateway node, and insecurity of user anonymity. Amin et al. then proposed an anonymity-preserving three-factor authenticated key exchange scheme for IoT-based WSNs. Unfortunately, recently, Jiang et al. [12] found several security flaws in Amin et al.’s scheme, such as smart card loss attack, known session-specific temporary information attack, and tracking attack. Jiang et al. then proposed a lightweight three-factor authentication and key agreement scheme for Internet-integrated WSNs based on Rabin cryptosystem. Jiang et al.’s scheme provides various security features but this scheme is difficult to implement and deploy in practical applications because of heavyweight decryption of Rabin cryptosystem.

1.2. Research Contributions

As shown in the section on related works, most of the proposed user authentication and key agreement schemes for WSNs fail to provide adequate security protection or still suffer from various security attacks. To overcome these weaknesses, we design a lightweight authentication and key agreement scheme. Our research contributions are as follows.
  • We analyze the most recent three-factor authentication and key agreement scheme of Jung et al.’s scheme and present its security weaknesses. We show that Jung et al.’s scheme [13] does not provide strong anonymity and the secrecy of the secret key of the gateway node. We also show that Jung et al.’s scheme is vulnerable to a tracing attack, information leakage attack, session key recovery attack, and user impersonation attack.
  • We introduce a system model suitable for smart homes based on WSNs. Under this model, we propose a lightweight three-factor authentication and key agreement scheme as an improved version of Jung et al.’s scheme. The proposed scheme not only satisfies various security requirements but also uses lightweight operations, such as XOR and hash functions, which are very suitable for the resource constrained WSNs.
  • We formally prove the security of the proposed scheme using both random oracle model and BAN (Burrows-Abadi-Needham) logic. We then verify the proposed scheme on popular and robust security verification tool, AVISPA (Automated Validation of Internet Security Protocols and Applications).
  • Through informal security analysis, we show that the proposed scheme can satisfy the required security properties and withstand various attacks. We then compare it with other related schemes in terms of security features.
  • Through a performance evaluation, we compare the performance of the proposed scheme with other related schemes in terms of their computational cost and communication cost.
The remaining parts of this paper are as follows: Section 2 briefly reviews Jung et al.’s scheme; Section 3 demonstrates the security weaknesses of Jung et al.’s scheme; the details of the proposed scheme is illustrated in Section 4; Section 5 and Section 6 give the formal and informal security analysis of the proposed scheme, respectively; Section 7 shows the performance evaluation of the proposed scheme; Section 8 concludes the paper.

1.3. Preliminary

A conventional hash function may return different outputs even if there is little variation in the inputs because its output is sensitive [20]. On the other hand, since biometric information is prone to various noises during data acquisition, it is difficult to re-product actual biometric in common practice. A fuzzy extractor method has been used to solve these problems [20,21,22,23]. The fuzzy extractor can extract a uniformly-random string and a public information from the biometric template with a given error tolerance t. In other words, even if the input changes slightly, the fuzzy extractor could output the same random string with the help of the public information. The fuzzy extractor consists of the following two algorithms.
  • G E N ( B i o i ) = ( b i , p a r i ) : Given a biometric template B i o i as an input, this probabilistic algorithm outputs a secret biometric key b i and a helper string p a r i .
  • R E P ( B i o i , p a r i ) = ( b i ) : Given a noisy biometric B i o i and a helper string p a r i as inputs, this deterministic algorithm reproduces the biometric key b i .

2. Review of Jung et al.’s Scheme

In this section, we briefly review Jung et al.’s anonymous authentication with key agreement scheme in WSNs [13]. Jung et al.’s scheme consists of four phases: user registration, login, authentication, and password change. We describe the first three phases related to the security weaknesses in detail. Table 1 shows the notations used in Jung et al.’s scheme.
Before a sensor node S j is deployed, it keeps S I D j and X S j * in its storage, where X S j * = h ( S I D j | | K ) .

2.1. Registration Phase

In the registration phase, U i sends a request message for registration to G W N then G W N issues a smart card for U i . All messages in this phase are transmitted through a secure channel.
(1)
U i chooses I D i , P W i , and a random number u and imprints his/her biometrics B i o i . U i computes H P W i = h ( P W i | | H ( B i o i ) ) and T I D i = h ( I D i | | u ) and sends a registration request T I D i , H P W i to G W N .
(2)
Upon receiving the registration request, G W N computes H I D i = h ( T I D i | | K ) H P W i , A i = h ( H P W i | | T I D i ) H I D i , B i = h ( H P W i | | H I D i ) , and C i = H I D i K . G W N then issues a smart card by storing ( A i , B i , C i , h ( · ) , H ( · ) ) in its memory and sends the smart card to U i .
(3)
Upon receiving the smart card, U i computes D i = u H ( B i o i ) and additionally stores it into the smart card.

2.2. Login Phase

In the login phase, U i sends the service request to G W N using his/her smart card, identity, password, and biometric information.
(1)
U i inserts own smart card into a terminal, enters I D i and P W i , and imprints B i o i .
(2)
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 ) , and B i * = h ( H P W i * | | H I D i * ) . The smart card then checks whether B i * matches with the received B i . If it does not hold, the smart card terminates this phase. Otherwise, the smart card confirms the legitimacy of U i and computes D I D i = T I D i H I D i * and M U i , G = h ( T I D i | | H P W i * | | H I D i * | | T 1 ) .
(3)
The smart card sends the login request D I D i , M U i , G , C i , T 1 to G W N through a public channel.

2.3. Authentication Phase

The authentication phase begins when G W N receives the login request from U i . In this phase, U i , G W N , and S j authenticate each other and establish a session key K S .
(1)
G W N checks the validity of T 1 and computes T I D i * = D I D i C i K , H I D i = C i K , H P W i * = H I D i h ( T I D i | | K ) and M U i , G * = h ( T I D i * | | H P W i * | | H I D i | | T 1 ) . G W N then checks whether M U i , G * matches with the received M U i , G . If it does not hold, it terminates this phase. Otherwise, G W N believes that U i is authentic and proceeds with the next step.
(2)
G W N chooses a random number R and computes X S j = h ( S I D j | | K ) , M j = R X S j , K S = f ( D I D i , R ) and M G , S j = h ( D I D i | | S I D j | | X S j | | K S | | T 2 ) . G W N then sends the message D I D i , M G , S j , M j , T 2 to S j through a public channel.
(3)
Upon receiving the message, S j checks the validity of T 2 and computes R * = M j X S j * , K S * = f ( D I D i , R * ) , and M G , S j * = h ( D I D i | | S I D j | | X S j * | | K S * | | T 2 ) . S j checks whether M G , S j * matches with the received M G , S j . If it does not hold, S j terminates this phase. Otherwise, S j believes the G W N is authentic.
(4)
S j computes k j = h ( X S j * | | T 3 ) and M S j , G = h ( k j | | X S j * | | K S * | | T 3 ) . S j finally sends the message M S j , G , T 3 to G W N through a public channel.
(5)
Upon receiving the message, G W N checks the validity of T 3 and computes k j = h ( X S j | | T 3 ) and M S j , G * = h ( k j | | X S j | | K S | | T 3 ) . G W N then checks whether M S j , G * matches with the received M S j , G . If it does not hold, G W N terminates this phase. Otherwise, G W N believes that S j is authentic and proceeds with the next step.
(6)
G W N computes k i = R h ( T I D i * | | K ) and M G , U i = h ( K S | | k i | | T 4 ) and sends the message k i , M G , U i , T 4 to U i through a public channel.
(7)
Upon receiving the message, U i checks the validity of T 4 and computes R * = k i H P W i H I D i * , K S * = f ( D I D i , R * ) , and M G , U i * = h ( K S * , k i , T 4 ) . U i then checks whether M G , U i * matches with the received M G , U i . If it does not hold, this phase is terminated. Otherwise, U i believes that G W N is authentic and successfully ends the authentication phase.

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

In this section, we show that Jung et al.’s scheme [13] has security weaknesses.

3.1. Tracing Attack

As the concern for privacy increases in our lives, user anonymity has become a vital security requirement in various applications including WSN applications. For example, the personalized services in smart home applications (e.g., home energy management system) provide users with better convenience, but breach of privacy has been a serious concern [24]. In general, the preservation of identity privacy in the context of an authentication protocol requires not only anonymity but also untraceability [25]. Although untraceability is not a necessary condition of anonymity, strong anonymity with untraceability is required for fully protecting user privacy. In Jung et al.’s scheme, every time U i uses the fixed values D I D i and C i to login the WSN thus anyone can trace U i according to these strings constantly. Therefore, Jung et al.’s scheme is prone to user tracing attack and fails to provide untraceability.

3.2. Insecurity of the Secret Key of the Gateway Node

In Jung et al.’s scheme, the secret key K of G W N is used to compute critical parameters of users’ smart cards and secret keys of all sensor nodes. The security of Jung et al.’s scheme thus depends on the security of the secret key K. Unfortunately, any authorized user can easily extract K using his/her identity, password, biometrics and values stored in the smart card. Assume that an authorized user U i retrieves the information A i , B i , C i , D i from his/her smart card, where A i = h ( H P W i | | T I D i ) H I D i , B i = h ( H P W i | | H I D i ) , C i = H I D i K , and D i = u H ( B i o i ) . As the smart card calculates at the login phase, U i then computes u = D i H ( B i o i ) , T I D i = h ( I D i | | u ) , and H I D i = A i h ( H P W i | | T I D i ) . Based on H I D i and C i , U i computes K , where K = C i H I D i . Since he or she now knows the secret key K , U i can impersonate G W N and launch the following attacks.

3.3. Information Leakage Attack

We described how an authorized user U j can know K in Section 3.2. After getting K , U j who acts as an adversary A can achieve secret information required for authentication and key agreement as follows:
(1)
A intercepts the user U i ’s login message D I D i , M U i , G , C i , T 1 , where D I D i = T I D i H I D i , M U i , G = h ( T I D i | | H P W i | | H I D i | | T 1 ) , and C i = H I D i K .
(2)
A computes H I D i = C i K and T I D i = D I D i H I D i .
(3)
A then computes H P W i = H I D i h ( T I D i | | K ) .
Thus, A can obtain all secret values T I D i , H I D i , and H P W i need to login the WSN and launch session key recovery attack and user impersonation attack.

3.4. Session Key Compromise

We assume that A can obtain the secret information by intercepting the U i ’s login message and also can intercept the last message of the authentication phase. After getting the secret information in Section 3.3 and k i , A can successfully launch a session key recovery attack as follows:
(1)
A intercepts the last message k i , M G , U i , T 4 sent from G W N , where k i = R h ( T I D i | | K ) and M G , U i = h ( K S | | k i | | T 4 ) .
(2)
A computes R = k i h ( T I D i | | K ) .
(3)
A discovers the session key K S between the user U i , G W N , and the sensor node S j by computing K S = f ( D I D i | | R ) .
Thus, according to the above procedure, an adversary can successfully construct the session key K S between U i , G W N , and S j .

3.5. User Impersonation Attack

Once an adversary A achieves the G W N ’s secret key K and secret information T I D i , H I D i , and H P W i as described in Section 3.2 and Section 3.3, respectively, A can also impersonate a user U i in Jung et al.’s scheme without the target user’s identity I D i , password P W i , and biometric information B i o i as follows:
(1)
A computes D I D i = T I D i H I D i , C i = H I D i K and M U i , G = h ( T I D i | | H P W i | | H I D i | | T 1 ) , where T 1 is the current time stamp used by A . Of course, since D I D i and C i are the fixed values, it is possible to use the previously intercepted one.
(2)
A sends the login message D I D i , M U i , G , C i , T 1 .
(3)
At G W N , user authentication is successfully performed and A calculates the session key K S after receiving the last message as described in Section 3.4.
It is clear from the above discussion that A can masquerade as a valid user U i to login to the WSN without I D i , P W i and B i o i . Thus, Jung et al.’s scheme is vulnerable to the user impersonation attack.

4. Proposed Scheme for Smart Homes

In this section, we propose a three-factor authentication and key agreement scheme in WSNs for smart homes in which we find the aforementioned security weaknesses found in Jung et al.’s scheme. Figure 1 illustrates a system model of WSNs for a smart home monitoring and control system. The system model includes three types of entities: a user ( U i ), a home gateway node ( H G ), and sensor nodes ( S j ). After registration and mutual authentication with the help of H G , U i can access the WSN to monitor and control smart home.
The proposed scheme consists of five phases: system setup, user registration, login, authentication, and password change. We use the additional notation for the proposed scheme listed in Table 2.

4.1. System Setup Phase

This phase is executed by home gateway ( H G ) in an off-line mode before deployment of sensor nodes in a target field.
(1)
H G generates randomly two master secrets K U and K S for all users and all sensor nodes, respectively, which are only known to H G .
(2)
H G selects a unique identity S I D j and computes X S j = h ( S I D j | | K S ) for each sensor node S j .
(3)
Finally, each sensor node is deployed in the target field after storing S I D j and X S j into its memory in a secure manner.

4.2. User Registration Phase

The user registration phase begins when a user U i sends a request message for registration to H G over a secure channel. Figure 2 illustrates the user registration phase for the proposed scheme. This phase is described below.
(1)
U i selects the desired identity I D i and password P W i and imprints his/her biometrics B i o i . U i generates a random secret number u i and computes ( b i , p a r i ) = G E N ( B i o i ) , H P W i = h ( P W i | | b i ) and T I D i = h ( I D i | | u i ) . U i then sends a registration request T I D i , H P W i to H G over a secure channel.
(2)
Upon receiving the user’s registration request, H G randomly selects a unique one-time pseudonym P I D i 1 for U i . H G computes H I D i = h ( T I D i | | K U ) , A i = h ( H P W i | | T I D i ) H I D i , B i = h ( H P W i | | H I D i ) , and C i 1 = h ( T I D i | | H I D i ) P I D i 1 . H G issues a smart card S C i for U i after saving { A i , B i , C i 1 , h ( · ) } in it. H G then sends S C i to U i over a secure channel and stores { P I D i 1 , T I D i } into its memory.
(3)
After receiving the smart card S C i , U i computes D i = u h ( I D i | | b i ) and saves D i , p a r i , G E N ( · ) , and R E P ( · ) in S C i . Finally, S C i contains { A i , B i , C i 1 , D i , p a r i , h ( · ) , G E N ( · ) , R E P ( · ) } .

4.3. Login Phase

The login phase is executed when U i wants to gain access to the WSN using his/her S C i , I D i , P W i , and B i o i . Figure 3 illustrates the login and authentication phases for the proposed scheme. This phase contains the following steps.
(1)
U i inserts own S C i , inputs his/her I D i and P W i , and imprints his/her biometrics B i o i into a terminal (i.e., a smart card reader or a smartphone embedded with S C i ).
(2)
S C i computes b i = R E P ( B i o i , β i ) , u i = D i h ( I D i | | b i ) , T I D i = h ( I D i | | u i ) , H I D i * = A i h ( H P W i * | | T I D i ) , and B i * = h ( H P W i * | | H I D i * ) . S C i checks whether B i * matches with the stored B i . If it matches S C i ensures that U i has provided correct I D i , P W i , and B i o i . S C i then selects a random number r i and computes P I D i 1 = C i 1 h ( T I D i | | H I D i * ) , R i = h ( T I D i | | P I D i 1 | | r i ) , M i = r i h ( T I D i | | H I D i * | | T 1 ) and M U i , G = h ( T I D i | | H I D i * | | P I D i 1 | | R i | | T 1 ) .
(3)
Finally, U i sends a login request P I D i 1 , M i , M U i , G , T 1 to H G over a public channel.

4.4. Authentication Phase

The authentication phase begins when H G receives the login request from U i . For achieving mutual authentication and session key agreement, this phase executes in several steps as followings.
(1)
H G checks the validity of the timestamp | T 1 T 1 | < Δ T and searches T I D i using P I D i 1 . H G computes H I D i * = h ( T I D i | | K U ) , r i * = M i h ( T I D i | | H I D i * | | T 1 ) , R i * = h ( T I D i | | P I D i 1 | | r i * ) , and M U i , G * = h ( T I D i | | H I D i * | | P I D i 1 | | R i * | | T 1 ) . Then, H G compares M U i , G * with the received value M U i , G . If this condition is not satisfied, H G terminates this phase. Otherwise, H G believes that U i is a legitimate user. H G then chooses an appropriate sensor node S j for the user’s needs and computes X S j = h ( S I D j | | K S ) , M G = R i * h ( X S j | | T 2 ) , and M G , S j = h ( P I D i 1 | | S I D j | | X S j | | R i * | | T 2 ) . H G sends the message P I D i 1 , M G , M G , S j , T 2 to S j over a public channel.
(2)
Upon receiving the message from H G , S j checks the validity of the timestamp | T 2 T 2 | < Δ T and compute R i * = M G h ( X S j | | T 2 ) and M G , S j = h ( P I D i 1 | | S I D j | | X S j | | R i * | | T 2 ) . S j then compares M G , S j * with the received value M G , S j . If this condition is not satisfied, S j terminates this phase since H G fails to prove to be a legitimate home gateway. Otherwise, S j believes that H G is authentic. S j then selects a random number r j and computes R j = h ( S I D j | | r j ) , M j = r j h ( X S j | | T 3 ) , S K i j = h ( R i * | | R j ) , and M S j , M = h ( P I D i 1 | | S I D j | | X S j | | R j | | S K i j | | T 3 ) . S j sends the message M j , M S j , G , T 3 to H G over a public channel.
(3)
Upon receiving the message from S j , H G checks the validity of the timestamp | T 3 T 3 | < Δ T and computes r j * = M j h ( X S j | | T 3 ) , R j * = h ( S I D j | | r j * ) , S K i j * = h ( R i * | | R j * ) , and M S j , G * = h ( P I D i 1 | | S I D j | | X S j | | R j * | | S K i j * | | T 3 ) . H G compares M S j , G * with the received value M S j , G . If this condition is not satisfied, H G terminates this phase. Otherwise, H G believes that S j is a legitimate sensor node. H G then randomly selects another unique one-time pseudonym P I D i 2 for U i ’s next login session and computes C i 2 = h ( T I D i | | H I D i * ) P I D i 2 , p i 2 = C i 2 h ( H I D i * | | T 4 ) , M G = R j * h ( P I D i 1 | | H I D i * ) , and M G , U i = h ( P I D i 1 | | H I D i * | | C i 2 | | R j * | | S K i j * | | T 4 ) . Finally, H G sends the message p i 2 , M G , M G , U i , T 4 to U i over a public channel and updates P I D i 1 stored in its memory to P I D i 2 for U i .
(4)
Upon receiving the message from H G , U i checks the validity of the timestamp | T 4 T 4 | < Δ T and computes R j * = M G h ( P I D i 1 | | H I D i * ) , S K i j * = h ( R i | | R j * ) , C i 2 = p i 2 h ( H I D i * | | T 4 ) , and M G , U i * = h ( P I D i 1 | | H I D i * | | C i 2 | | R j * | | S K i j * | | T 4 ) . U i then compares M G , U i * with the received value M G , U i . If this condition is not verified, U i terminates this phase since H G fails to prove to be a legitimate home gateway. Otherwise, U i believes that H G is authentic and updates C i 1 in S C i to C i 2 for the next session.

4.5. Password Change Phase

The password change phase begins when U i wants to change the original password P W i to a new password P W i n e w . Figure 4 illustrates this phase for the proposed scheme. This phase contains the following steps.
(1)
U i inserts own S C i , inputs his/her I D i , P W i , and a new password P W i n e w and imprints his/her biometrics B i o i into a terminal.
(2)
S C i computes b i = R E P ( B i o i , p a r i ) , u i = D i H ( B i o i ) , T I D i = h ( I D i | | u i ) , H P W i * = h ( P W i | | b i ) , H I D i * = A i h ( H P W i * | | T I D i ) , and B i * = h ( H P W i * | | H I D i * ) . S C i then compares B i * with the stored B i . If this condition is not satisfied, S C i terminates this phase. Otherwise, S C i performs the next step.
(3)
S C i computes H P W i n e w = h ( P W i n e w | | H ( B i o i ) ) , A i n e w = h ( H P W i n e w | | T I D i ) H I D i * , and B i n e w = h ( H P W i n e w | | H I D i * ) . S C i replaces the stored values A i and B i with the newly computed values A i n e w and B i n e w , respectively. Finally, S C i contains { A i n e w , B i n e w , C i , D i , h ( · ) , H ( · ) } , where is the index of the next login.

5. Formal Security Analysis of the Proposed Scheme

In this section, we formally analyze the security of the proposed scheme in three ways. First of all, in Section 5.1, we conduct a formal security proof in the random oracle model since the proposed scheme heavily depends on the security of a one-way hash function. Through the rigorous formal poof using the random oracle, we show that the proposed scheme is probabilistically secure against an adversary both to protect the long-term secret information of the user and home gateway and to protect the session key shared between the user and sensor node. In Section 5.2, we then perform the logical verification using BAN logic [26] to confirm the correctness that the authenticated participants share the session key securely in the proposed scheme. In Section 5.3, we automatically validate the proposed scheme using AVISPA tool [27,28] to ensure that the proposed scheme is secure against active and passive attacks (i.e., replay and man-in-the-middle attacks) defined in the simulation tool.

5.1. Security Proof Using Random Oracle Model

Through a formal proof using the random oracle model, we show that the proposed scheme is secure against an adversary. We follow the formal security proof of the proposed scheme similar to that in [13,22] and consider the method of contradiction proof. Based on the random oracle model, the following Theorems 1 and 2 show that the proposed scheme can resist various security attacks. For this purpose, we assume that there exists the following random oracle as illustrated in Definition 1.
Definition 1.
Reveal: Given a hash value y=h(x), this random oracle unconditionally outputs the input x.
Theorem 1.
Under the assumption that a one-way hash function h(·) behaves like an oracle, the proposed scheme is probably secure against an adversary A for deriving the identity I D i , the password P W i , the biometric key b i of a legal user U i and the secret key K U of the H G , even if the user U i ’s smart card S C i is lost/stolen.
Proof of Theorem 1.
For the proof, we assume that an adversary A is able to derive the identity I D i , the password P W i , and the biometric key b i of a legal user U i , and the secret key K U of the H G . We also assume that the adversary A has the lost/stolen smart card S C i of the user U i and A can extract all the sensitive information stored in the S C i using the power analysis attack [29,30,31]. For this, A  uses the R e v e a l oracle to run an experimental algorithm E X P 1 H A S H , A 3 F A K A shown in Algorithm 1 for the proposed three-factor authentication and key agreement ( 3 F A K A ). We define the success probability for E X P 1 H A S H , A 3 F A K A as S u c c 1 H A S H , A 3 F A K A = | P r [ E X P 1 H A S H , A 3 F A K A = 1 ] 1 | , where P r [ E ] is the probability of an event E. The advantage function for this experiment becomes A d v 1 H A S H , A 3 F A K A ( t 1 , q R ) = m a x A { S u c c 1 H A S H , A 3 F A K A } in which the maximum is taken over all A with execution time t 1 and the number of queries q R made to the R e v e a l oracle. According to the attack experiment described in Algorithm 1, if the adversary A has the ability to invert the one-way hash function h ( · ) , then A can directly obtain U i ’s I D i , P W i , and b i and H G ’s K U , and win the game. However, it is computationally infeasible problem to invert h ( · ) , i.e., A d v 1 H A S H , A 3 F A K A ( t 1 ) < ϵ , for any sufficiently small ϵ > 0 . Then, we have A d v 1 H A S H , A 3 F A K A ( t 1 , q R ) ϵ , since A d v 1 H A S H , A 3 F A K A ( t 1 , q R ) ϵ depends on A d v 1 H A S H , A 3 F A K A ( t 1 ) . Therefore, the proposed scheme is provably secure against the adversary A for deriving I D i , P W i , b i , and K U , even if the smart card S C i is lost/stolen by A .  □
Algorithm 1  E X P 1 H A S H , A 3 F A K A
  1:
Extract the information { A i , B i , C i 1 , D i } from S C i using the power analysis attack [29,30,31].
  2:
Call the R e v e a l oracle. Let ( H P W i , H I D i ) R e v e a l ( B i )
  3:
Compute a = A i H I D i
  4:
Call the R e v e a l oracle. Let ( H P W i , T I D i ) R e v e a l ( a )
  5:
if ( H P W i = H P W i ) then
  6:
  Compute P I D i 1 = C i 1 h ( T I D i | | H I D i )
  7:
  Intercept the login request message P I D i 1 , M i , M U i , G , T 1
  8:
  Call the R e v e a l oracle. Let ( T I D i * , H I D i * , P I D i 1 * , R i * , T 1 * ) R e v e a l ( M U i , G )
  9:
  if ( P I D i 1 * = P I D i 1 ) and ( T I D i * = T I D i ) and ( H I D i * = H I D i ) and ( T 1 * = T 1 ) then
 10:
    Call the R e v e a l oracle. Let ( T I D i * * , K U * * ) R e v e a l ( H I D i )
 11:
    Call the R e v e a l oracle. Let ( P W i * * , b i * * ) R e v e a l ( H P W i )
 12:
    Call the R e v e a l oracle. Let ( I D i * * , u i * * ) R e v e a l ( T I D i )
 13:
    Compute D i = u i * * h ( I D i * * | | b i * * )
 14:
    if ( D i = D i ) then
 15:
      Accept I D i * * , P W i * * , and b i * * as the correct identity I D i , password P W i , biometric key b i of
 16:
      the user U i , and K U * * as the correct secret key K U of H G .
 17:
      return 1
 18:
    else
 19:
      return 0
 20:
    end if
 21:
  else
 22:
    return 0
 23:
  end if
 24:
else
 25:
  return 0
 26:
end if
Theorem 2.
Under the assumption that a one-way hash function h(·) behaves like an oracle, the proposed scheme is probably secure against an adversary A for deriving the session key S K i j shared between a legal user U i and a sensor node S j .
Proof of Theorem 2.
The proof of this theorem is similar to that in Theorem 1. We assume that an adversary A is able to derive the session key S K i j shared between a legal user U i and a sensor node S j . For this, A uses the R e v e a l oracle to run an experimental algorithm E X P 2 H A S H , A 3 F A K A shown in Algorithm 2 for the proposed three-factor authentication and key agreement ( 3 F A K A ). We define the success probability for E X P 2 H A S H , A 3 F A K A as S u c c 2 H A S H , A 3 F A K A = | P r [ E X P 2 H A S H , A 3 F A K A = 1 ] 1 | . The advantage function for this experiment becomes A d v 2 H A S H , A 3 F A K A ( t 2 , q R ) = m a x A { S u c c 2 H A S H , A 3 F A K A } in which the maximum is taken over all A with execution time t 2 and the number of queries q R made to the R e v e a l oracle. According to the attack experiment described in Algorithm 2, if the adversary A has the ability to invert the one-way hash function h ( · ) , then A can easily derive S K i j and win the game. However, it is computationally infeasible problem to invert h ( · ) , i.e., A d v 2 H A S H , A 3 F A K A ( t 2 ) < ϵ , for any sufficiently small ϵ > 0 . Then, we have A d v 2 H A S H , A 3 F A K A ( t 2 , q R ) ϵ , since A d v 2 H A S H , A 3 F A K A ( t 2 , q R ) ϵ is also dependent on A d v 2 H A S H , A 3 F A K A ( t 2 ) . Therefore, the proposed scheme is provably secure against the adversary A for deriving S K i j .  □
Algorithm 2  E X P 2 H A S H , A 3 F A K A
  1:
Intercept the login request message P I D i 1 , M i , M U i , G , T 1 during the login phase.
  2:
Call the R e v e a l oracle. Let ( T I D i , H I D i , P I D i 1 , R i , T 1 ) R e v e a l ( M U i , G )
  3:
if ( P I D i 1 = P I D i 1 ) and ( T 1 = T 1 ) then
  4:
  Compute r i = M i h ( T I D i | | H I D i | | T 1 )
  5:
  Compute R i = h ( T I D i | | P I D i 1 | | r i )
  6:
  if ( R i = R i ) then
  7:
    Intercept the message M j , M S j , G , T 3 during the authentication phase.
  8:
    Call the R e v e a l oracle. Let ( P I D i 1 * , S I D j * , X S j * , R j * , S K i j * , T 3 * ) R e v e a l ( M S j , G )
  9:
    if ( P I D i 1 * = P I D i 1 ) and ( T 3 * = T 3 ) then
 10:
      Compute S K i j = h ( R i | | R j * )
 11:
      if ( S K i j = S K i j * ) then
 12:
        Accept S K i j * as the correct session key shared between U i and S j .
 13:
        return 1
 14:
      else
 15:
        return 0
 16:
      end if
 17:
    else
 18:
      return 0
 19:
    end if
 20:
  else
 21:
    return 0
 22:
  end if
 23:
else
 24:
  return 0
 25:
end if

5.2. Security Verification using BAN Logic

In this section, we use BAN logic to verify the legitimacy of the session key shared between participants who communicate in the proposed scheme. Table 3 and Table 4 illustrate notations and rules used in BAN logic, respectively.
To ensure the security of the proposed scheme under BAN logic, the proposed scheme needs to satisfy the following goals.
  • Goal 1: U i | S j | ( U i S K i j S j )
  • Goal 2: U i | ( U i S K i j S j )
  • Goal 3: S j | U i | ( U i S K i j S j )
  • Goal 4: S j | ( U i S K i j S j )
We first transfer all transmitted messages into idealized form as follows.
  • M 1 : U i H G : ( P I D i , R i , K U , T 1 ) H I D i
  • M 2 : H G S j : ( P I D i , S I D j , R i , K S , T 2 ) X S j
  • M 3 : S j H G : ( P I D i , S I D j , R j , K S , T 3 ) X S j
  • M 4 : H G U i : ( P I D i , P I D i + 1 , R j , K U , T 4 ) H I D i
We secondly define some assumptions as initiative premises as follows.
  • P 1 : H G | # ( T 1 )
  • P 2 : S j | # ( T 2 )
  • P 3 : H G | # ( T 3 )
  • P 4 : U i | # ( T 4 )
  • P 5 : U i | ( U i H I D i H G )
  • P 6 : H G | ( U i H I D i H G )
  • P 7 : S j | ( S j X S j H G )
  • P 8 : H G | ( S j X S j H G )
  • P 9 : U i | S j | ( U i S K i j S j )
  • P 10 : S j | U i | ( U i S K i j S j )
We then prove the proposed scheme achieves the security goals based on the idealized form of the messages, assumptions, and BAN logic rules.
  • According to M 1 , we get
    V 1 : H G ( P I D i , R i , K U , T 1 ) H I D i
  • According to P 6 and Rule 1, we get
    V 2 : H G | U i | ( P I D i , R i , K U , T 1 ) H I D i
  • According to P 1 and Rule 3, we get
    V 3 : H G | # ( P I D i , R i , K U , T 1 ) H I D i
  • According to V 2 , V 3 , and Rule 2, we get
    V 4 : H G | U i | ( P I D i , R i , K U , T 1 ) H I D i
  • According to M 2 , we get
    V 5 : S j ( P I D i , S I D j , R i , K S , T 2 ) X S j
  • According to P 7 and Rule 1, we get
    V 6 : S j | H G | ( P I D i , S I D j , R i , K S , T 2 ) X S j
  • According to P 2 and Rule 3, we get
    V 7 : S j | # ( P I D i , S I D j , R i , K S , T 2 ) X S j
  • According to V 6 , V 7 , and Rule 2, we get
    V 8 : S j | H G | ( P I D i , S I D j , R i , K S , T 2 ) X S j
  • According to M 3 , we get
    V 9 : H G ( P I D i , S I D j , R j , K S , T 3 ) X S j
  • According to P 8 and Rule 1, we get
    V 10 : H G | | ( P I D i , S I D j , R j , K S , T 3 ) X S j
  • According to P 3 and Rule 3, we get
    V 11 : H G | # ( P I D i , S I D j , R j , K S , T 3 ) X S j
  • According to V 10 , V 11 , and Rule 2, we get
    V 12 : H G | S j | ( P I D i , S I D j , R j , K S , T 3 ) X S j
  • According to M 4 , we get
    V 13 : U i ( P I D i , P I D i + 1 , R j , K U , T 4 ) H I D i
  • According to P 5 and Rule 1, we get
    V 14 : U i | H G | ( P I D i , P I D i + 1 , R j , K U , T 4 ) H I D i
  • According to P 4 and Rule 3, we get
    V 15 : U i | # ( P I D i , P I D i + 1 , R j , K U , T 4 ) H I D i
  • According to V 14 , V 15 , and Rule 2, we get
    V 16 : U i | H G | ( P I D i , P I D i + 1 , R j , K U , T 4 ) H I D i
  • As S K i j = h ( R i | | R j ) and combining V 12 , V 16 , we get
    V 17 : U i | S j | ( U i S K i j S j ) (Goal 1)
  • S K i j = h ( R i | | R j ) and combining V 4 , V 8 , we get
    V 18 : S j | U i | ( U i S K i j S j ) (Goal 3)
  • According to P 9 , V 17 and Rule 4, we get
    V 19 : U i | ( U i S K i j S j ) (Goal 2)
  • According to P 10 , V 18 and Rule 4, we get
    V 20 : S j | ( U i S K i j S j )
Therefore, the above logic proves that the proposed scheme achieves Goals 1–4 successfully. In other words, the proposed scheme achieves mutual authentication and the session key S K i j is securely shared between parties.

5.3. Security Verification Using AVISPA

We simulate the proposed scheme using the AVISPA software, a widely accepted tool for automatically validating the security features of the protocols. We describe the implementation of the proposed scheme using HLPSL (High-Level Protocols Specification Language) and then present the simulation results.

5.3.1. HLPSL Specification of the Proposed Scheme

We now briefly discuss the simulation process of the proposed scheme for the roles of the participants, U i , H G , and S j , the session, the goal, and the environment. Table 5, Table 6 and Table 7 present the roles of U i , H G , and S j in HLPSL language, respectively. Table 8 presents the session, environment, and goal roles in the HLPSL language. In the implementation, the following seven secrecy goals and two authentication properties were verified.
  • Goal 1: The secrecy_of subs1 represents that I D i , P W i are kept secret to ( U i ) only.
  • Goal 2: The secrecy_of subs2 represents that T I D i , H I D i are kept secret to ( U i , H G ) only.
  • Goal 3: The secrecy_of subs3 represents that R i , R j are kept secret to ( U i , H G , S j ) only.
  • Goal 4: The secrecy_of subs4 represents the negotiated session key S K i j is only known to ( U i , H G , S j ).
  • Goal 5: The secrecy_of subs5 represents that the secret key K U of H G is permanently kept secret, known to only ( H G ).
  • Goal 6: The secrecy_of subs6 represents that the secret key K S of H G is permanently kept secret, known to only ( H G ).
  • Goal 7: The secrecy_of subs7 represents that the shared secret X S j is only known to ( H G , S j ).
  • Authentication Property 1: The authentication_on user_gateway_rri represents that U i generates R i . If H G securely receives R i through a message, it authenticates U i .
  • Authentication Property 2: The authentication_on gateway_sensor_rrj represents that S j generates R j . If H G securely receives R j through a message, it authenticates S j .

5.3.2. Simulation Results

We execute the HLPSL specifications using SPAN (Security Protocol ANimator for AVISPA) [32]. Figure 5a,b show the simulation results based on OFMC (On-the-Fly-Model-Checker) and CL-AtSe (Constraint-Logic-based Attack Searcher) models, respectively. From these results, we find that the proposed scheme is SAFE under OFMC and CL-AtSe against active and passive attacks. Therefore, we demonstrate that the proposed scheme is secure.

6. Implication of Security Analysis

We further describe the implication of our security analysis with regard to security properties of the proposed scheme. Saying, we show how the proposed scheme satisfies the security requirements for user authentication and session key agreement and resists various kinds of known attacks. We then compare the security of the proposed scheme with other related schemes.

6.1. Security Properties

6.1.1. Mutual Authentication

In steps (1) and (4) of Section 4.4, U i and H G authenticate each other by verifying the correctness of M U i , G and M G , U i . An adversary cannot generate legal M U i , G = h ( T I D i | | H I D i * | | P I D i 1 | R i | | T 1 ) and M G , U i = h ( P I D i 1 | | H I D i * | | C i 2 | | R j * | | S K i j * | | T 4 ) without knowing H I D i . Even if the adversary obtains S C i of U i and stored values, the adversary cannot derive the correct H I D i without having the corresponding U i ’s I D i , P W i , and B i o i . As a result, the proposed scheme can achieve mutual authentication between U i and H G .
In steps (2) and (3) of Section 4.4, H G and S j authenticate each other by verifying the correctness of M G , S j and M S j , G . An adversary cannot generate legal M G , S j = h ( P I D i 1 | | S I D j | | X S j | | R i * | | T 2 ) and M S j , G = h ( P I D i 1 | | S I D j | | X S j | | R j | | S K i j | | T 3 ) without knowing their shared secret information X S j . As a result, the proposed scheme can achieve mutual authentication between H G and S j .

6.1.2. Session Key Agreement

In the login and authentication phases, the session key S K i j = h ( R i | | R j ) = h ( h ( T I D i | | P I D i | | r i ) | | h ( S I D j | | r j ) ) is established between U i and S j for protecting future communication. In the proposed scheme, the secrecy of S K i j is dependent on the secrecy of the random values r i and r j . These values are carefully protected by the secret keys shared between U i and H G and between H G and S j , respectively. Even if an adversary obtains S K i j for the -th session, he/she cannot compute any of the past and future session keys by using this disclosed S K i j because S K i j is protected by h ( · ) and the random values r i and r j including one-time psuedonym P I D i are different in each session. As a result, the proposed scheme achieves both session key agreement and known key security.

6.1.3. User Anonymity with Untraceability

As we mentioned in Section 3.1, for fully protecting user privacy, strong anonymity with untraceability is required. In the proposed scheme, the U i ’s actual identity I D i is not transmitted during all phases, including the registration phase. Therefore, even if an adversary eavesdrops on all communication messages, it is not possible to obtain I D i directly from the messages. In addition, even if the adversary gets T I D i , it cannot retrieve I D i from T I D i because I D i is masked with u i and u i is protected by B i o i only known to U i . Similarly, even if the adversary gets H I D i , it cannot retrieve I D i from H I D i without knowing a secret key, K U , which is only known to H G .
Furthermore, M i and M U i , G in the login request message are computed with random values r i and T 1 and U i uses an one-time pseudonym P I D i every session. In other words, all values in the login request message are different in sessions. Therefore, any adversary cannot trace the different sessions of the same user from exchanged messages via public channels and the proposed scheme achieves the feature of strong anonymity with untraceability.

6.1.4. Resisting Stolen Smart Card Attack

In the proposed scheme, U i ’s smart card S C i contains { A i , B i , C i , D i , p a r i , h ( · ) , G E N ( · ) , R E P ( · ) } where A i = h ( H P W i | | T I D i ) H I D i , B i = h ( H P W i | | H I D i ) , C i = h ( T I D i | | H I D i ) P I D i and D i = u i h ( I D i | | b i ) . Even if S C i is stolen by an adversary and all contained values in it are retrieved by the adversary through side-channel attacks such as power analysis attack [29,30,31], the adversary cannot guess H P W i , T I D i , and H I D i including I D i , P W i , and B i o i by using A i , B i , C i , and D i and also cannot guess P I D i from C without knowing b i , u i , and K U because it is impossible to know these key values. Without knowing U i ’s real identity I D i , password P W i , and biometric B i o i , the adversary cannot impersonate as the user. As a result, the proposed scheme can resist the stolen smart card attack.

6.1.5. Resisting Offline Guessing Attack

An adversary may attempt to guess U i ’s identity I D i , password P W i and biometric key b i by extracting the values stored in the smart card S C i . However, the adversary cannot derive b i using only p a r i without knowing the U i ’s biometric B i o i . The adversary also cannot derive I D i and b i from T I D i and D i , respectively, without knowing the random value u i . Therefore, the adversary cannot guess the correct I D i , P W i , and b i without knowing B i o i and u i due to the collision-resistant property of the one-way hash function h ( · ) . As a result, the proposed scheme can resist the offline guessing attack.

6.1.6. Resisting Privileged Insider Attack

In practice, users tend to use same password to register across different systems. If a privileged insider obtain the user’s password, he/she can use it to access other systems by impersonating as this user. In the proposed scheme, U i submits the hashed password H P W i instead of the plaintext of real password P W i during the registration phase. H P W i is also masked by U i ’s secret biometric key b i . Therefore, an insider cannot obtain U i ’s real password and the proposed scheme can resist the privileged insider attack.

6.1.7. Resisting Stolen-Verifier Attack

To succeed in the stolen-verifier attack, an adversary should obtain the verification information (e.g., the plaintexts of passwords, hashed passwords, biometric key data, or hashed biometric key data) stored in the server. However, in the proposed scheme, the server maintains only { P I D i 1 , T I D i } which is both password-independent and biometric-key-independent information. Therefore, the proposed scheme can resist the stolen-verifier attack.

6.1.8. Resisting Known Session-Specific Temporary Information Attack

In the proposed scheme, both randomly selected values r i and r j , from U i and S j , respectively, are always masked by the secret values H I D i and X S j . Even if an adversary knows r i and r j , he/she cannot compute S K i j = h ( R i | | R j ) = h ( h ( T I D i | | P I D i | | r i ) | | h ( S I D j | | r j ) ) without knowing U i ’s temporary identity T I D i and one-time pseudonym P I D i and S j ’s identity S I D j . Moreover, as we described, the adversary has no way to compute T I D i and S I D j . As a result, in the proposed scheme, a leakage of the session-specific temporary information r i and r j does not affect the security of the established session key.

6.1.9. Resisting User Impersonation Attack

To impersonate a user U i , an adversary should obtain the values in S C i and intercepts the messages exchanged in the previous sessions. In the proposed scheme, even if the adversary succeeded the above things, the adversary cannot produce a legal login request P I D i 1 , M i , M U i , G , T 1 without knowing all the authentication factors, i.e., S C i , P W i , and B i o i including I D i and u i . As we mentioned above, it is impossible for an adversary to obtain I D i , P W i , u i , and b i . Therefore, the proposed scheme can resist the user impersonation attack.

6.1.10. Resisting Sensor Node Impersonation and Node Capture Attacks

To impersonate a sensor node S j , an adversary should intercept the messages exchanged in the previous sessions. However, in the proposed scheme, the adversary cannot produce a legal message M j , M S j , G , T 3 without knowing X S j = h ( S I D j | | K S ) because the adversary does not know the H G ’s secret key K S even if he/she obtains S I D j .
Even if the adversary captures a sensor node S j and obtains X S j stored in S j , the adversary’s further attacks using the compromised sensor node only affect communications related to that node. Since each sensor node has a different key X S m = h ( S I D m | | K S ) , the adversary cannot derive other non-compromised sensor nodes’ keys without knowing K S and thus the further attacks will not affect other communications. As a result, the proposed scheme can resist both sensor node impersonation attack and node capture attack.

6.2. Comparison of Security Features

We compare the security features of the proposed scheme with other related three-factor authentication and key agreement schemes [9,11,12,13]. Table 9 shows the comparison results. From Table 9, we can see that first three related schemes do not guarantee all security features, in especial, untraceability required for strong anonymity. The proposed scheme and Jiang et al.’s scheme achieves more ideal security features and resist most of attacks. However, Jiang et al.’s scheme is expensive to implement and deploy in practical applications due to the low performance of Rabin cryptosystem. As shown in Section 7, Jiang et al.’s scheme is five times slower than the proposed scheme in total running time.

7. Performance Analysis of the Proposed Scheme

We analyze the performance of the proposed scheme and compare it with other related schemes in terms of computational cost and communication cost.

7.1. Computational Cost Analysis

For computational cost analysis, we compare the computation cost of the proposed scheme with the four related schemes [9,11,12,13]. We only focus on comparing the login and authentication phases because the registration and password change phases are not performed frequently. Since the time for executing of a bitwise XOR operation is negligible, we do not consider XOR operations for computational cost analysis. To facilitate analysis, we use the following notations.
  • T H : time for executing a one-way hash function
  • T B : time for executing a biohash function
  • T F : time for executing a fuzzy extractor
  • T P : time for executing an ECC point multiplication
  • T M : time for a modular exponentiation
Wang et al. [33] implemented several operations on three kinds of common PCs and measured their execution time by using C/C++ library MIRACL. According to the experimental results in Wang et al.’s research [33], we assume that the executing time for the cryptographic one-way hash function T H (SHA-1), ECC point multiplication T P (ECC sect163r1 [34]), and modular exponentiation T M ( | n | = 512 ) on common PCs (Intel T5870 2.00 GHz, Intel, Santa Clara, CA, US) are 2.58 µs, 1.226 ms, and 2.573 ms, respectively. Moreover, the execution time for the fuzzy extractor operation T F is almost the same as the ECC point multiplication T P [35] and it is also assumed that T B = T F T P according to [36]. We consider possible real sensor devices with 8-bit ATmega128L micorocontroller (i.e., MICAz of Crossbow Technology). According to the experimental results on those sensor nodes [37,38], we assume that the executing time for the cryptographic one-way hash function T H (SHA-1) and ECC point multiplication T P (ECC sect163r1 [34]) are 3.6 ms and 114 ms, respectively.
In Table 10, we summarize the computational cost and running time of the proposed scheme and of the related schemes for user, gateway node, and sensor node. The total running time of the proposed scheme for the login and authentication phases is T F + 28 T H + 6 T H 22 . 9 ms. It shows that the proposed scheme is almost 10 times more efficient than and Park et al. scheme [9]. The proposed scheme also has a higher security level than both Amin et al.’s scheme [11] and Jung et al.’s scheme [13] as shown in Table 9 and it is as efficient as them. Although Jiang et al.’s scheme [12] has similar security level with the proposed scheme, the proposed scheme is slightly efficient and easily implemented than Jiang’s et al.’s scheme since the proposed scheme uses only lightweight operations such as XOR and hash functions not complex public-key cryptographic operations. Therefore, the proposed scheme can achieve all security features in Table 9 without deteriorating efficiency in terms of the computational cost.

7.2. Communication Cost Analysis

We also analyze the communication cost of the proposed scheme for login and authentication phases and compare it with that of the related schemes [9,11,12,13]. For communication cost analysis, we evaluate the communication cost in terms of the size of message in bits and the number of values in a message. We assume that the lengths of the identity, password, random number, and output of the hash function are each 128 bits. We also assume that the lengths of modulo n for rabin cryptosystem used in [12] and prime p for ECC used in [9] are each 1024 bits.
The communication cost of user, gateway node, and sensor node of the proposed scheme and related schemes are summarized in Table 11. The total communication cost of the proposed scheme is 1920 bits. From comparison in Table 11, the proposed scheme require lower communication cost than the above related schemes expect Jung et al.’s scheme. Although the proposed scheme is slightly less efficient than Jung et al.’s scheme in terms of communication cost, the difference (512 bits) is not significant since the proposed scheme has a higher security level as shown in Table 9.

8. Conclusions

In this paper, we have identified the security weaknesses in the recent three-factor authentication and key agreement scheme. Then, we have introduced the system model for smart homes based on WSNs. Based on this model, we have proposed a secure and lightweight three-factor authentication and key agreement scheme using the smart card, password, and biometrics. We have presented security proof using random oracle model and BAN logic. Afterwards, we have performed the security verification using AVISPA. Through formal and informal security analysis, we have demonstrated the proposed scheme fulfills the desirable security requirements and resists against various attacks. We have also evaluated the performance of the proposed scheme with regard to the computational and communication overheads. Finally, we have presented the comparative analysis of the proposed scheme with other related schemes, which justify that the proposed scheme has advantages in terms of efficiency and security.
In the future work, we expect to evaluate the performance of the proposed scheme by implementing and conducting experiments on actual devices (e.g., smart phones and sensor motes) for smart homes based on WSNs. Based on the experimental results, it will be possible to further examine the effectiveness of the proposed scheme.

Author Contributions

S.S. discovered the proclaimed weaknesses and proposed the improved scheme. T.K. directed this research and worked on the overall improvement.

Funding

This work was supported as part of Military Crypto Research Center(UD170109ED) funded by Defense Acquisition Program Administration(DAPA) and Agency for Defense Development(ADD).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Shih, C.S.; Chou, J.J.; Lin, K.J. WuKong: Secure Run-Time Environment and Data-Driven IoT Applications for Smart Cities and Smart Buildings. J. Internet Serv. Inf. Secur. 2018, 8, 1–17. [Google Scholar]
  2. Zion Market Research. Available online: https://www.zionmarketresearch.com/news/smart-home-market (accessed on 2 February 2019).
  3. Wong, K.H.M.; Zheng, Y.; Cao, J.; Wang, S. A dynamic user authentication scheme for wireless sensor networks. In Proceedings of the IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC’06), Taichung, Taiwan, 5–7 June 2006; Volume 1. [Google Scholar]
  4. Das, M.L. Two-factor user authentication in wireless sensor networks. IEEE Trans. Wirel. Commun. 2009, 8, 1086–1090. [Google Scholar] [CrossRef]
  5. Vaidya, B.; Makrakis, D.; Mouftah, H. Two-factor mutual authentication with key agreement in wireless sensor networks. Secur. Commun. Netw. 2012, 9, 171–183. [Google Scholar] [CrossRef]
  6. Kim, J.; Lee, D.; Jeon, W.; Lee, Y.; Won, D. Security analysis and improvements of two-factor mutual authentication with key agreement in wireless sensor networks. Sensors 2014, 14, 6443–6462. [Google Scholar] [CrossRef] [PubMed]
  7. Turkanović, M.; Brumen, B.; Hölbl, M. A novel user authentication and key agreement scheme for heterogeneous ad hoc wireless sensor networks, based on the Internet of Things notion. Ad Hoc Netw. 2014, 20, 96–112. [Google Scholar] [CrossRef]
  8. 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]
  9. 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]
  10. Farash, M.S.; Turkanović, M.; Kumari, S.; Hölbl, M. An efficient user authentication and key agreement scheme for heterogeneous wireless sensor network tailored for the Internet of Things environment. Ad Hoc Netw. 2016, 36, 152–176. [Google Scholar] [CrossRef]
  11. Amin, R.; Islam, S.H.; Biswas, G.; Khan, M.K.; Leng, L.; Kumar, N. Design of an anonymity-preserving three-factor authenticated key exchange protocol for wireless sensor networks. Comput. Netw. 2016, 101, 42–62. [Google Scholar] [CrossRef]
  12. 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]
  13. Jung, J.; Moon, J.; Lee, D.; Won, D. Efficient and Security Enhanced Anonymous Authentication with Key Agreement Scheme in Wireless Sensor Networks. Sensors 2017, 17, 644. [Google Scholar] [CrossRef] [PubMed]
  14. Shin, S.; Kwon, T. Two-Factor Authenticated Key Agreement Supporting Unlinkability in 5G-Integrated Wireless Sensor Networks. IEEE Access 2018, 6, 11229–11241. [Google Scholar] [CrossRef]
  15. 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]
  16. Chen, T.H.; Shih, W.K. A Robust Mutual Authentication Protocol for Wireless Sensor Networks. ETRI J. 2010, 32, 704–712. [Google Scholar] [CrossRef]
  17. Huang, H.F.; Chang, Y.F.; Liu, C.H. Enhancement of Two-Factor User Authentication in Wireless Sensor Networks. In Proceedings of the 6th International Conference on Intelligent Information Hiding and Multimedia Signal Processing (IIH-MSP’10), Darmstadt, Germany, 15–17 October 2010; pp. 27–30. [Google Scholar]
  18. He, D.; Gao, Y.; Chan, S.; Chen, C.; Bu, J. An Enhanced Two-factor User Authentication Scheme in Wireless Sensor Networks. Ad Hoc Sens. Wirel. Netw. 2010, 10, 361–371. [Google Scholar]
  19. Shin, S.; Kwon, T. Cryptanalysis of the Anonymous Authentication with Key Agreement Scheme in Wireless Sensor Networks. In Research Briefs on Information & Communication Technology Evolution (ReBICTE); ISYOU: Seoul, Korea, 2018; Volume 4. [Google Scholar]
  20. Das, A.K.; Goswami, A. A robust anonymous biometric-based remote user authentication scheme using smart cards. J.King Saud Univ. Comput. Inf. Sci. 2015, 27, 193–210. [Google Scholar] [CrossRef]
  21. Burnett, A.; Byrne, F.; Dowling, T.; Duffy, A. A Biometric Identity Based Signature Scheme. Int. J. Netw. Secur. 2007, 5, 317–326. [Google Scholar]
  22. Das, A.K. A secure and robust temporal credential-based three-factor user authentication scheme for wireless sensor networks. Peer-to-Peer Netw. Appl. 2016, 9, 223–244. [Google Scholar] [CrossRef]
  23. Adavoudi-Jolfaei, A.; Ashouri-Talouki, M.; Aghili, S.F. Lightweight and anonymous three-factor authentication and access control scheme for real-time applications in wireless sensor networks. Peer-to-Peer Netw. Appl. 2017, 12, 43–59. [Google Scholar] [CrossRef]
  24. Rahman, M.S.; Nakamura, T.; Base, A.; Takasaki, H.; Kiyomoto, S. PPM: Privacy Policy Manager for Home Energy Management System. J. Wirel. Mob. Netw. Ubiquitous Comput. Dependable Appl. 2018, 9, 42–56. [Google Scholar]
  25. Jiang, Q.; Ma, J.; Wei, F.; Tian, Y.; Shen, J.; Yang, Y. An untraceable temporal-credential-based two-factor authentication scheme using ECC for wireless sensor networks. J. Netw. Comput. Appl. 2016, 76, 37–48. [Google Scholar] [CrossRef]
  26. Burrows, M.; Abadi, M.; Needham, R. A Logic of Authentication. ACM Trans. Comput. Syst. 1990, 8, 18–36. [Google Scholar] [CrossRef]
  27. AVISPA (Automated Validation of Internet Security Protocols and Applications). Available online: http://www.avispa-project.org/ (accessed on 15 April 2019).
  28. Armando, A.; Basin, D.; Boichut, Y.; Chevalier, Y.; Compagna, L.; Cuellar, J.; Drielsma, P.H.; Heám, P.C.; Kouchnarenko, O.; Mantovani, J.; et al. The AVISPA Tool for the Automated Validation of Internet Security Protocols and Applications. In Computer Aided Verification; Etessami, K., Rajamani, S.K., Eds.; Springer: Berlin/Heidelberg, Germany, 2005; pp. 281–285. [Google Scholar]
  29. Kocher, P.; Jaffe, J.; Jun, B. Differential Power Analysis. In Advances in Cryptology, Proceedings of the CRYPTO’ 99; Springer: Berlin/Heidelberg, Germany, 1999; pp. 388–397. [Google Scholar]
  30. Messerges, T.S.; Dabbish, E.A.; Sloan, R.H. Examining smart-card security under the threat of power analysis attacks. IEEE Trans. Comput. 2002, 51, 541–552. [Google Scholar] [CrossRef]
  31. Mahanta, H.J.; Azad, A.K.; Khan, A.K. Power analysis attack: A vulnerability to smart card security. In Proceedings of the 2015 International Conference on Signal Processing and Communication Engineering Systems, Guntur, India, 2–3 January 2015; pp. 506–510. [Google Scholar]
  32. SPAN a Security Protocol ANimator for AVISPA. Available online: http://people.irisa.fr/Thomas.Genet/span/ (accessed on 2 February 2019).
  33. Wang, D.; He, D.; Wang, P.; Chu, C. Anonymous Two-Factor Authentication in Distributed Systems: Certain Goals are Beyond Attainment. IEEE Trans. Dependable Secur. Comput. 2015, 12, 428–442. [Google Scholar] [CrossRef]
  34. Certicom Research. Standards for Efficient Cryptography, SEC 2: Recommended Elliptic Curve Domain Parameters. Available online: http://www.secg.org/download/aid-784/sec2-v2.pdf (accessed on 5 March 2019).
  35. Wazid, M.; Das, A.K.; Kummari, S.; Li, X.; Wu, F. Design of an efficient and provably secure anonymity preserving three-factor user authentication and key agreement scheme for TMIS. Secur. Commun. Netw. 2016, 9, 1983–2001. [Google Scholar] [CrossRef]
  36. He, D.; Kumar, N.; Lee, J.; Sherratt, R.S. Enhanced Three-factor Security Protocol for Consumer USB Mass Storage Devices. IEEE Trans. Consum. Electron. 2014, 60, 30–37. [Google Scholar]
  37. Sankar, R.; Le, X.; Lee, S.; Wang, D. Protection of data confidentiality and patient privacy in medical sensor networks. In Implantable Sensor Systems for Medical Applications; Inmann, A., Hodgins, D., Eds.; Woodhead Publishing Series in Biomaterials; Woodhead Publishing: Sawston/Cambridge, UK, 2013; pp. 279–298. [Google Scholar]
  38. Seo, S.C.; Han, D.G.; Kim, H.C.; Hong, S. TinyECCK: Efficient Elliptic Curve Cryptography Implementation over GF(2M) on 8-Bit Micaz Mote. IEICE Trans. Inf. Syst. 2008, E91-D, 1338–1347. [Google Scholar] [CrossRef]
Figure 1. An example of smart home monitoring and control system based on WSNs.
Figure 1. An example of smart home monitoring and control system based on WSNs.
Sensors 19 02012 g001
Figure 2. User registration phase for the proposed scheme.
Figure 2. User registration phase for the proposed scheme.
Sensors 19 02012 g002
Figure 3. Login and authentication phases for the proposed scheme.
Figure 3. Login and authentication phases for the proposed scheme.
Sensors 19 02012 g003
Figure 4. Password change phase for the proposed scheme.
Figure 4. Password change phase for the proposed scheme.
Sensors 19 02012 g004
Figure 5. Simulation results of the proposed scheme using AVISPA tool: (a) OFMC model, (b) CL-AtSe model.
Figure 5. Simulation results of the proposed scheme using AVISPA tool: (a) OFMC model, (b) CL-AtSe model.
Sensors 19 02012 g005
Table 1. Notations for Jung et al.’s scheme.
Table 1. Notations for Jung et al.’s scheme.
NotationDescriptionNotationDescription
U i Remote useruRandom number of U i
S j Sensor nodeRRandom number
G W N Gateway nodeKSecret key generated by the G W N
I D i , P W i Identity and password of U i K S Session key
B i o i Biometric information of U i f ( v , k ) Pseudo-random function of variable v with key k
T I D i Temporary identity of U i ’s next login h ( · ) , H ( · ) One-way hash function and biohash function
S I D j Identity of S j T , Δ T Timestamp and the transmission delay time
Table 2. Notations used for the proposed scheme.
Table 2. Notations used for the proposed scheme.
NotationDescriptionNotationDescription
H G Home Gateway S C i Smart card for U i
T I D i Temporary identity of U i S K Session key
P I D i l One-time pseudonym of U i for the l-th login G E N ( · ) Fuzzy generator function
K U Secret key generated by the H G for users R E P ( · ) Fuzzy reproduction function
K S Secret key generated by the H G for sensor nodes
Table 3. Notations in BAN logic.
Table 3. Notations in BAN logic.
NotationDescriptionNotationDescription
P | X P believes X # ( X ) X is fresh
P X P sees X P K Q K is the shared key between P and Q
P | X P said X X Y X combined with the formula Y
P X P has jurisdiction over X ( X ) K X hashed under the key K
Table 4. Rules in BAN logic.
Table 4. Rules in BAN logic.
RuleDescription
P | P K Q , P X K P | Q | X [Rule 1: Message-meaning rule] if P believes that the K is shared with Q and P sees X combined with K, then P believes Q said X
P | # ( X ) , P | Q | X P | Q | X [Rule 2: Nonce-verification rule] if P believes that X is fresh and P believes Q said X, then P believes that Q believes X
P | # ( X ) P | # ( X , Y ) [Rule 3: Freshness-conjuncation rule] if P believes that X is fresh, then P believes that ( X , Y ) is fresh
P | Q | X , P | Q | X P | X [Rule 4: Jurisdiction rule] if P believes that X has jurisdiction over X and P believes that Q believes X, then P also believes X
Table 5. Role specification of U i in HLPSL.
Table 5. Role specification of U i in HLPSL.
1: role user(Ui, HG, Sj: agent, SKey1: symmetric_key, SKey2: symmetric_key,
               H, GEN, REP: hash_func, Snd, Rcv: channel(dy))
2: played_by Ui
3: def=
4:    local State: nat, IDi, PWi, Bioi, BBi, Pari, TIDi, HPWi, HIDi, PID1i, Si, Ai, Bi, Ci, C1i, C2i, Di, RRi, RRj, Ri,
               T1, T4: text, Mi, Muig, SKij, P2i, Mg, Mgui: message,
5:    Inc: hash_func
6:    const user_gateway, gateway_user, sensor_user, subs1, subs2, subs3, subs4, subs5, subs6, subs7: protocol_id
7:    init State :=0
8:    transition
9:       1. State = 0 ∧ Rcv(start) =|>
10:       State’ := 1 ∧ IDi’ := new() ∧ PWi’ := new() ∧ Si’ := new() ∧ BBi’ := GEN(Bioi) ∧ Pari’ := GEN(Bioi)
         ∧ HPWi’ := H(PWi’.BBi’) ∧ TIDi’ := H(IDi’.Si’) ∧ Snd(TIDi’.HPWi’_SKey1) ∧ secret(IDi,PWi, subs1, Ui)
11:       2. State = 1 ∧ Rcv({Ai’.Bi’.C1i’}_SKey1) =|>
12:       State’ := 2 ∧ Ri’ := new() ∧ T1’ := new() ∧ BBi’ := GEN(Bioi) ∧ Di’ := xor(ui,H(IDi.BBi’)) ∧ TIDi’ := H(IDi.ui)
         ∧ HPWi’ := h(PWi.BBi’) ∧ Ai’ := xor(HIDi, H(HPWi’.TIDi’)) ∧ Bi’ := H(HPWi’.HIDi)
         ∧ PID1i’ := xor(C1i’, H(TIDi’.HIDi)) ∧ RRi’ := H(TIDi’.PID1i’.Ri’) ∧ Mi’ := xor(Ri’, H(TIDi’.HIDi.T1’))
         ∧ Muig’ := H(TIDi’.HIDi.PID1i’.RRi’.T1’)
         ∧ Snd(PID1i’.Mi’.Muig’.T1’) ∧ secret({TIDi,HIDi}, subs2, {Ui, HG}) ∧ witness(Ui, HG, user_gateway, RRi’)
13:       3. State = 2 ∧ Rcv(P2i’.Mg’.Mgui’.T4’) =|>
14:       State’ := 3 ∧ RRj’ := xor(Mg’, H(PID1i.HIDi)) ∧ SKij’ := H(RRi.RRj’)
         ∧ secret({RRi,RRj}, subs3, {Ui, HG, Sj}) ∧ secret({SKij}, subs4, {Ui, HG, Sj})
15: end role
Table 6. Role specification of H G in HLPSL.
Table 6. Role specification of H G in HLPSL.
1: role gateway(Ui, HG, Sj: agent, SKey1: symmetric_key, SKey2: symmetric_key,
               H, GEN, REP: hash_func, Snd, Rcv: channel(dy))
2: played_by HG
3: def=
4:    local State: nat, Ku, Ks, TIDi, HPWi, PID1i, PID2i, HIDi, Ai, Bi, C1i, C2i, SIDj, Xsj, RRi, RRj, Ri, Rj,
               T1, T2, T3, T4: text, Mi, Muig, Mg, Mg2, Mgsj, Mgui, Mj, Msjg, SKij, P2i: message,
5:    Inc: hash_fun
6:    const user_gateway, gateway_user, sensor_user, subs1, subs2, subs3, subs4, subs5, subs6, subs7: protocol_id
7:    init State :=0
8:   transition
9:       1. State = 0 ∧ Rcv({TIDi’.HPWi’}_SKey1) =|>
10:       State’ := 1 ∧ PID1i’ := new() ∧ HIDi’ := H(TIDi’.Ku) ∧ Ai’ := xor(HIDi’, H(HPWi’.TIDi’))
         ∧ Bi’ := H(HPWi’.HIDi’) ∧ C1i’ := xor(PID1i’, H(TIDi’.HIDi’)) ∧ Snd({Ai’.Bi’.C1i’}_SKey1)
         ∧ SIDj’ := new() ∧ Xsj’ := H(SIDj’.Ks)
         ∧ Snd({SIDj’.Xsj’}_SKey2) ∧ secret(Ku, subs5, HG) ∧ secret(Ks, subs6, HG) ∧ secret(Xsj, subs7, HG, Sj)
11:       2. State = 1 ∧ Rcv(PID1i’.Mi’.Muig’.T1’) =|>
12:       State’ := 2 ∧ HIDi’ := H(TIDi.Ku) ∧ Ri’ := xor(Mi’, H(TIDi.HIDi’.T1’)) ∧ RRi’ := H(TIDi.PID1i.Ri’)
         ∧ T2’ := new() ∧ Xsj’ := H(SIDj.Ks) ∧ Mg2’ := xor(RRi’, H(Xsj’.T2’)) ∧ Mgsj’ := H(PID1i’.SIDj.Xsj’.RRi’.T2’)
         ∧ Snd(PID1i’.Mg2’.Mgsj’.T2’)
13:       3. State = 2 ∧ Rcv(Mj’.Msjg’.T3’) =|>
14:       State’ := 3 ∧ Rj’ := xor(Mj’, H(Xsj.T3’)) ∧ RRj’ := H(SIDj.Rj’) ∧ SKij’ := H(RRi.RRj’) ∧ PID2i’ := new()
         ∧ T4’ := new() ∧ C2i’ := xor(PID2i’, H(TIDi.HIDi)) ∧ P2i’ := xor(C2i’, H(HIDi.T4’))
         ∧ Mg’ := xor(RRj’, H(PID1i.HIDi)) ∧ Mgui’ := H(PID1i.HIDi.C2i’.RRj’.SKij’.T4’)
         ∧ Snd(P2i’.Mg’.Mgui’.T4’)
15: end role
Table 7. Role specification of S j in HLPSL.
Table 7. Role specification of S j in HLPSL.
1: role sensor(Ui, HG, Sj: agent, SKey1: symmetric_key, SKey2: symmetric_key,
               H, GEN, REP: hash_func, Snd, Rcv: channel(dy))
2: played_by Sj
3: def=
4:    local State: nat, PID1i, SIDj, Xsj, RRi, RRj, Rj, T2, T3: text, Mg2, Mgsj, Mgui, Mj, Msjg, SKij: message,
5:    Inc: hash_func
6:    const user_gateway, gateway_sensor, sensor_user, subs1, subs2, subs3, subs4, subs5, subs6, subs7: protocol_id
7:    init State :=0
8:    transition
9:       1. State = 0 ∧ Rcv({SIDj’.Xsj’}_SKey2) =|>
10:       State’ := 1 ∧ T3’ := new()
11:       2. State = 1 ∧ Rcv(PID1i’.Mg2’.Mgsj’.T2’) =|>
12:       State’ := 2 ∧ RRi’ := xor(Mg2’, H(Xsj.T2’)) ∧ Rj’ := new() ∧ T3’ := new() ∧ RRj’ := H(SIDj.Rj’)
         ∧ Mj’ := xor(Rj’, H(Xsj.T3’)) ∧ SKij’ := H(RRi’.RRj’) ∧ Msjg’ := H(PID1i’.SIDj.Xsj.Rj’.SKij’.T3’)
         ∧ Snd(Mj’.Msjg’.T3’) ∧ witness(Sj, HG, gateway_sensor, RRj’)
13: end role
Table 8. Specification of the session, environment, and goal in HLPSL.
Table 8. Specification of the session, environment, and goal in HLPSL.
1: role session(Ui, HG, Sj:agent, SKey1: symmetric_key, SKey2: symmetric_key,
               H, GEN, REP: hash_func)
2: def=
3:    local SI, SJ, RI, RJ, PI, PJ: channel(dy)
4:    composition
5:       user(Ui, HG, Sj, SKey1, SKey2, H, GEN, REP, SI, RI)
6:       ∧ gateway(Ui, HG, Sj, SKey1, SKey2, H, GEN, REP, SJ, RJ)
7:       ∧ sensor(Ui, HG, Sj, SKey1, SKey2, H, GEN, REP, PI, PJ)
8: end role
1: role environment()
2: def=
3:    const ui, hg, sj: agent, skey1 : symmetric_key, skey2 : symmetric_key, h, gen, rep: hash_func,
4:          idi, bioi, sidj, pwi, ai, bi, ci, t1, t2, t3, t4, rri, rrj, skij, mi, mj, mg, mg2, muig, mgui, mgsj, msjg: text,
5:          user_gateway_rri, gateway_sensor_rrj, sensor_user,
6:          subs1, subs2, subs3, subs4, subs5, subs6, subs7: protocol_id
7:    intruder_knowledge = ui, hg, sj, h, gen, rep, mi, muig, mg2, mgsj, mj, msjg, mg, mgui
8:    composition
9:       session(hg, ui, sj, skey1, skey2, h, gen, rep)
10:       ∧ session(ui, hg, sj, skey1, skey2, h, gen, rep)
11:       ∧ session(sj, ui, hg, skey1, skey2, h, gen, rep)
12: end role
1: goal
2:    secrecy_of subs1 secrecy_of subs2 secrecy_of subs3 secrecy_of subs4
3:    secrecy_of subs5 secrecy_of subs6 secrecy_of subs7
4:    authentication_on user_gateway_rri authentication_on gateway_sensor_rrj 5: end goal
environment()
Table 9. Security feature comparison of the proposed scheme with other related three-factor authentication and key agreement schemes.
Table 9. Security feature comparison of the proposed scheme with other related three-factor authentication and key agreement schemes.
Security FeatureAmin et al. [11]Park et al. [9]Jung et al. [13]Jiang et al. [12]Proposed Scheme
Mutual authenticationOOOOO
Session key securityOOXOO
User anonymityOOOOO
UntraceabilityXXXOO
Resistance to
Stolen smart card attackXOXOO
Offline guessing attackOOOOO
Privileged insider attackOOOOO
Stolen-verifier attackOXOOO
Known session-specificXOOOO
temporary information attack
User impersonation attackOOXOO
Sensor nodeOOOOO
impersonation attack
O: The scheme can provide the security feature or resist the attack; X: The scheme cannot provide the security feature or resist the attack.
Table 10. Comparison of computation costs for the login and authentication phases of the proposed scheme and other related schemes.
Table 10. Comparison of computation costs for the login and authentication phases of the proposed scheme and other related schemes.
EntityAmin et al. [11]Park et al. [9]Jung et al. [13]Jiang et al. [12]Proposed Scheme
User T B + 12 T H T F + 2 T P + 10 T H T B + 8 T H T B + T M + 8 T H T F + 13 T H
Gateway node 15 T H 11 T H 9 T H T M + 12 T H 15 T H
Sensor node 5 T H 2 T P + 4 T H 4 T H 5 T H 6 T H
Total cost T B + 27 T H + 5 T H T F + 2 T P + 2 T P T B + 17 T H + 4 T H T B + 2 T M T F + 28 T H + 6 T H
+ 21 T H + 4 T H + 20 T H + 5 T H
Total running time 19 . 3 ms 246 . 1 ms 15 . 7 ms 24 . 4 ms 22 . 9 ms
Table 11. Comparison of communication costs for the login and authentication phases of the proposed scheme and other related schemes: the size of message in bits (the number of values in a message).
Table 11. Comparison of communication costs for the login and authentication phases of the proposed scheme and other related schemes: the size of message in bits (the number of values in a message).
CommunicationAmin et al. [11]Park et al. [9]Jung et al. [13]Jiang et al. [12]Proposed Scheme
User→Gateway node768 bits (6)1536 bits (5)512 bits (4)1408 bits (4)512 bits (4)
Gateway node→Sensor node640 bits (5)1408 bits (4)512 bits (4)640 bits (5)512 bits (4)
Sensor node→Gateway node384 bits (3)1280 bits (3)256 bits (2)384 bits (3)384 bits (3)
Gateway node→User384 bits (3)1408 bits (4)384 bits (3)256 bits (2)512 bits (4)
Total2176 bits5632 bits1664 bits2688 bits1920 bits

Share and Cite

MDPI and ACS Style

Shin, S.; Kwon, T. A Lightweight Three-Factor Authentication and Key Agreement Scheme in Wireless Sensor Networks for Smart Homes. Sensors 2019, 19, 2012. https://doi.org/10.3390/s19092012

AMA Style

Shin S, Kwon T. A Lightweight Three-Factor Authentication and Key Agreement Scheme in Wireless Sensor Networks for Smart Homes. Sensors. 2019; 19(9):2012. https://doi.org/10.3390/s19092012

Chicago/Turabian Style

Shin, Sooyeon, and Taekyoung Kwon. 2019. "A Lightweight Three-Factor Authentication and Key Agreement Scheme in Wireless Sensor Networks for Smart Homes" Sensors 19, no. 9: 2012. https://doi.org/10.3390/s19092012

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