Next Article in Journal
Low-Cost Control and Measurement Circuit for the Implementation of Single Element Heat Dissipation Soil Water Matric Potential Sensor Based on a SnSe2 Thermosensitive Resistor
Next Article in Special Issue
Understanding Social Behaviour in a Health-Care Facility from Localization Data: A Case Study
Previous Article in Journal
Microwave Specular Measurements and Ocean Surface Wave Properties
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Secure and Lightweight Authentication Protocol for IoT-Based Smart Homes

1
School of Electronic and Electrical Engineering, Kyungpook National University, Daegu 41566, Korea
2
Electronics and Telecommunications Research Institute, Daejeon 34129, Korea
3
School of Electronics Engineering, Kyungpook National University, Daegu 41566, Korea
*
Author to whom correspondence should be addressed.
Sensors 2021, 21(4), 1488; https://doi.org/10.3390/s21041488
Submission received: 15 January 2021 / Revised: 13 February 2021 / Accepted: 13 February 2021 / Published: 21 February 2021
(This article belongs to the Collection IoT and Smart Homes)

Abstract

:
With the information and communication technologies (ICT) and Internet of Things (IoT) gradually advancing, smart homes have been able to provide home services to users. The user can enjoy a high level of comfort and improve his quality of life by using home services provided by smart devices. However, the smart home has security and privacy problems, since the user and smart devices communicate through an insecure channel. Therefore, a secure authentication protocol should be established between the user and smart devices. In 2020, Xiang and Zheng presented a situation-aware protocol for device authentication in smart grid-enabled smart home environments. However, we demonstrate that their protocol can suffer from stolen smart device, impersonation, and session key disclosure attacks and fails to provide secure mutual authentication. Therefore, we propose a secure and lightweight authentication protocol for IoT-based smart homes to resolve the security flaws of Xiang and Zheng’s protocol. We proved the security of the proposed protocol by performing informal and formal security analyses, using the real or random (ROR) model, Burrows–Abadi–Needham (BAN) logic, and the Automated Validation of Internet Security Protocols and Applications (AVISPA) tool. Moreover, we provide a comparison of performance and security properties between the proposed protocol and related existing protocols. We demonstrate that the proposed protocol ensures better security and lower computational costs than related protocols, and is suitable for practical IoT-based smart home environments.

1. Introduction

With the development of information and communication technologies (ICT) and Internet of Things (IoT), smart home automation systems are receiving a lot of attention. The smart home is a networking environment that connects smart devices (e.g., IoT and sensors) to each other. Based on these smart devices, users can utilize various home services. When the user is inside the home, the user can control all smart devices with a voice commands or applications, granting the user accesses to services such as turning the TV on/off, choosing music, switching lights on/off, and so on. When the user is outside the home, the user can monitor and control various smart devices by checking their status. Thus, users can enjoy a high level of comfort and an increased quality of life through smart home environments.
Generally, smart home environments consist of the user, smart devices, a home gateway, and a registration authority [1,2,3]. A remote user wants to use the data collected by smart devices. However, smart devices are resource limited in terms of computational power, amount of memory, and bandwidth [4]. For these reasons, smart devices communicate through the home gateway. The home gateway acts as a bridge between smart devices and remote users by providing short and long-distance wireless communication interfaces that maintain the connectivity with internal smart devices and remote users [5]. Users can remotely operate smart devices with the help of a home gateway using Internet-enabled mobile phones and tablets anytime and anywhere. Thus, the home gateway plays a crucial role by controlling the data exchange. It manages the communication between internal and external surroundings.
Unfortunately, the smart home has security and privacy problems because the sensitive data collected by smart devices are exchanged through wireless networks. If an adversary obtains the data, the adversary will abuse them for his own purposes. Thus, security and privacy are essential elements to providing secure home services. In addition, the exchanged data should meet confidentiality, integrity, and availability standards. Asymmetric and symmetric key cryptosystems are inappropriate for applying to low-capacity devices because they generate high computational costs. Thus, secure and lightweight authentication protocols are necessary to provide security and privacy in IoT-based smart homes.
In 2020, Xiang and Zheng [6] proposed a situation-aware protocol for device authentication in smart grid-enabled smart home environments. Xiang and Zheng claimed that their protocol can withstand impersonation, man-in-the-middle (MITM), and replay attacks. Xiang and Zheng also demonstrated that their protocol can provide data integrity and mutual authentication. However, herein we prove that their protocol does not prevent stolen smart device, impersonation, and session key disclosure attacks, and fails to ensure mutual authentication. They also mentioned that their protocol concentrates on the security of smart grid-enabled smart home environments. However, they proposed an authentication protocol that is only for smart home environments. Thus, we focus on general smart home environments and present a secure and lightweight authentication protocol for IoT-based smart homes that deals with the security drawbacks of Xiang and Zheng’s protocol [6]. The proposed protocol is efficient for resource-constrained smart devices because we use only one-way hash functions and XOR operations.

1.1. Contributions

This paper has the following main contributions.
  • We analyze the security vulnerabilities of Xiang and Zheng’s protocol [6]. To resolve the security drawbacks of their protocol, we propose a secure and lightweight authentication protocol for IoT-based smart homes.
  • We demonstrate that our protocol is secure against various kinds of known attacks by reporting on an informal security analysis.
  • We conducted formal analysis using the Automated Validation of Internet Security Protocols and Applications (AVISPA) tool [7,8,9], Burrows–Abadi–Needham (BAN) logic [10], and the real or random (ROR) model [11]. With the formal analysis, we proved secure mutual authentication, the session key security, and the resistance against MITM and replay attacks of our protocol.
  • We provide a comparison of performance and security properties between our protocol and related protocols. The results show that our protocol provides better security and computational costs compared to related protocols.

1.2. Adversary Model

We adopted the widely-used Dolev–Yao (DY) threat model [12,13,14] and the Canetti and Krawczyk (CK) adversary threat model [15,16] to evaluate the security of the proposed protocol. The capabilities of an adversary A can be defined as follows.
  • A can eavesdrop, intercept, inject, replay, and modify transmitted messages via a public channel and then A can perform MITM, replay, impersonation attacks, etc. [17].
  • A can steal the legal user’s mobile device or smart device and extract secret credentials stored in the memory by performing the power analysis attack [18,19,20,21].
  • A can access short-term keys, long-term keys, and session states of each party.
In addition, we developed some assumptions for our protocol. A cannot feasibly guess the identity and password of the mobile user simultaneously [22,23,24]. A cannot extract the data stored in the home gateway’s database, since the home gateway has a secure database.

1.3. Organization

The remaining parts of this paper are structured as follows. In Section 2, we briefly discuss existing proposed protocols in IoT-based smart homes. We suggest the system model of the proposed protocol in Section 3. We review Xiang and Zheng’s protocol in Section 4 and analyze security weaknesses of Xiang and Zheng’s protocol in Section 5. Section 6 proposes a secure and lightweight authentication protocol for IoT-based smart homes to improve the security drawbacks of Xiang and Zheng’s protocol. Section 7 analyzes the security of our protocol through informal and formal analyses with BAN logic, the ROR model, and the AVISPA tool. In Section 8, we present the results of performance and security property comparisons between the proposed protocol and related protocols. Finally, we present the conclusion in Section 9.

2. Related Works

In the last few years, many researchers proposed authentication protocols to provide secure communication between users and smart devices in smart home environments. Santoso and Vun [25] proposed a secure authentication protocol using elliptic curve cryptography (ECC) in IoT-based smart homes. Several authors [26,27] revealed that Santoso and Vun’s protocol [25] is vulnerable to privileged-insider and stolen smart card attacks, and fails to achieve user anonymity and untraceability. Dey and Hossian [28] presented a secure session key establishment protocol for smart home environments using public key cryptosystems. Dey and Hossian [28] proved that their protocol achieves resilience against various attacks. Unfortunately, some researchers [29,30] pointed out that Dey and Hossian’s protocol [28] has various security drawbacks, such as device compromised and known-key attacks, and is unsuccessful in ensuring anonymity and confidentiality. Shuai et al. [31] suggested an ECC-based anonymous authentication protocol for smart home environments. These protocols [25,28,31] use asymmetric key cryptosystems such as ECC for smart home security. However, in terms of costs, symmetric key cryptosystems are more efficient than asymmetric key cryptosystems for deployment on resource-constrained smart devices.
In view of the computational cost for low capacity devices, many authentication protocols have been proposed using symmetric key cryptosystems in smart home environments. Vaidya et al. [32] proposed a robust authentication protocol to provide secure remote access in home environments using symmetric key cryptosystems. Vaidya et al. [32] claimed that their protocol resists synchronization and stolen smart card attacks, and provides forward secrecy and mutual authentication. However, Kim and Kim [33] demonstrated that Vaidya et al.’s protocol [32] does not resist password guessing and smart card loss attacks, and does not provide forward secrecy. To resolve the security problems in Vaidya et al.’s protocol [32], Kim and Kim [33] proposed an improved authentication protocol. Wazid et al. [34] proposed a symmetric key-based secure remote user authentication protocol to provide future secure communications. Wazid et al. [34] proved that their protocol is secure against other possible known attacks. Lyu et al. [35] pointed out that Wazid et al.’s protocol [34] is not secure against desynchronization and compromised server attacks. Poh et al. [36] proposed a privacy-preserving authentication protocol to support data confidentiality. Unfortunately, Irshad et al. [37] pointed out that Poh et al.’s protocol [36] cannot maintain the privacy of authentication parameters. Although these protocols [32,33,34,35,36] use symmetric key cryptosystems considering the low capacity devices, symmetric key cryptosystems are still unacceptable for smart devices with limited resources in terms of computational costs.
Recently, several lightweight authentication protocols [6,38] have been proposed for smart home environments to solve these problems. Banerjee et al. [38] presented an anonymous and robust authentication protocol for IoT-based smart homes using one-way hash functions, XOR operations, and a fuzzy extractor. Banerjee et al. [38] proved that their protocol resists various attacks. However, AL-Turjman and Deebak [39] pointed out that Banerjee et al.’s protocol [38] does not provide identity protection, traceability, or session secret key agreement. Xiang and Zheng [6] presented a situation-aware protocol for device authentication in smart home environments. Xiang and Zheng [6] claimed that their protocol resists various security threats and ensures data integrity and mutual authentication. However, we prove here that Xiang and Zheng’s protocol [6] cannot ensure secure mutual authentication and is vulnerable to stolen smart device, impersonation, and session key disclosure attacks. Therefore, we propose a secure and lightweight authentication protocol for IoT-based smart homes to improve the security flaws of Xiang and Zheng’s protocol [6].

3. System Model

Xiang and Zheng [6] claimed that their protocol concentrates on the security of smart grid-enabled smart home environments, but they proposed an authentication protocol that is only for smart home environments. Therefore, we focus on the architecture of general IoT-based smart home environments. The system model is shown in Figure 1.
The proposed system is composed of a mobile user ( M U ), a smart device ( S D ), a home gateway ( H G W ), and a registration authority ( R A ). R A and H G W are trusted entities in smart home environments. R A is responsible for initializing the system and registering M U and S D . M U first needs to register at R A to utilize services. S D and H G W also need to register at R A for providing home services. After receiving the registration request message from M U and S D , R A stores the information of each entity in the mobile device of M U and in the memory of S D . R A also stores all information required for the authentication of the M U and S D in H G W ’s database. Then, the M U and S D perform the mutual authentication and session key agreement with the help of the H G W . With this session key, M U and S D can utilize secure smart home services.

4. Review of Xiang and Zheng’s Protocol

This section reviews Xiang and Zheng’s protocol [6]. Xiang and Zheng proposed an authentication protocol according to the security risk level in smart home environments. Their protocol consists of smart device registration, and authentication and key agreement phases. The notation of this paper is described in Table 1.

4.1. Smart Device Registration Phase

At the registration phase, R A generates an identity I D S D and a random number r R A for S D and computes S i = h ( I D S D | | r R A ) . Then, R A sends { I D S D , S i } to S D and { I D S D , r R A } to H G W through a secure channel.

4.2. Authentication and Key Agreement Phase

After the registration, S D sends the message M S G 1 = [ H E 1 | | I D S D ] to H G W in the authentication and key agreement phase. H E 1 = S D A U T H is a message header of M S G 1 . Upon getting M S G 1 , H G W receives the current situation from the smart home system regarding whether the security risk level is low or high. According to the security risk level, the authentication phase is divided into low security risk and high security risk.

4.2.1. Low Security Risk

When H G W receives a low-security-risk level report, the authentication phase is described below.
Step 1: 
H G W computes S i * = h ( I D S D * | | r R A ) and extracts current timestamp T 1 . Then H G W calculates C 1 , L = ( I D G | | T 1 ) S i * and C 2 , L = h ( H E 2 , L | | I D G | | T 1 | | S i * ) . Finally, H G W sends M S G 2 , L = [ H E 2 , L | | C 1 , L | | C 2 , L ] to S D , where H E 2 , L = H G W L O W is the header of the message M S G 2 , L through an insecure channel.
Step 2: 
Upon receiving the message M S G 2 , L at timestamp T 1 , S D knows the current security risk level is low from the message header. S D also computes C 2 , L * = h ( H E 2 , L * | | I D G * | | T 1 * | | S i ) and checks if | T 1 T 1 * | Δ T and C 2 , L * = ? C 2 , L . If it is not equal, the authentication process will be aborted. Then, S D computes A i = h ( I D G * | | h ( I D S D | | S i ) ) and extracts the current timestamp T 2 . S D also computes C 3 , L = ( I D S D | | T 2 ) A i and C 4 , L = h ( H E 3 , L | | I D S D | | T 2 | | A i ) . Finally, S D sends M S G 3 , L = [ H E 3 , L | | C 3 , L | | C 4 , L ] to H G W , where H E 3 , L = S D L O W is the header of the message M S G 3 , L . S D computes the session key S K = h ( T 1 * | | T 2 | | S i | | A i ) for the future data communication.
Step 3: 
After receiving M S G 3 , H at timestamp T 2 , H G W computes A i * = h ( I D G | | h ( I D S D | | S i * ) ) , ( I D S D * | | T 2 * ) = C 3 , L A i * , and C 4 , L * = h ( H E 3 , L * | | I D S D * | | T 2 * | | A i * ) . Then, H G W checks if | T 2 T 2 * | Δ T and C 4 , H * = ? C 4 , H . If it is correct, H G W computes the session key S K = h ( T 1 | | T 2 * | | S i * | | A i * ) and adds I D S D to the trusted device list.

4.2.2. High Security Risk

If H G W receives a situation report detailing that the current security risk level is high, the authentication phase contains the following steps.
Step 1: 
H G W computes S i * = h ( I D S D * | | r R A ) , and generates a random number R N G . After that, H G W extracts a current timestamp T 1 , and computes C 1 , H = E S i * ( I D G | | T 1 | | R N G ) and C 2 , H = h ( H E 2 , H | | I D G | | T 1 | | R N G ) . Then, H G W sends the message M S G 2 , H = [ H E 2 , H | | C 1 , H | | C 2 , H ] to S D , where H E 2 , H = H G W H I G H is the message header of M S G 2 , H through a public channel.
Step 2: 
After getting M S G 2 , H at timestamp T 1 , S D knows the security risk level is high from the header of M S G 2 , H . S D then computes ( I D G * | | T 1 * | | R N G * ) = D S i ( C 1 , H * ) and C 2 , H = h ( H E 2 , H * | | I D G * | | T 1 * | | R N G * ) . After that, S D checks whether | T 1 T 1 * | Δ T and C 2 , H * = ? C 2 , H . If the check is failed, the authentication process will be terminated. Otherwise, S D computes A i = h ( I D G * | | h ( I D S D | | S i ) ) and generates a random number R N S D . Then, S D extracts the current timestamp T 2 , and computes C 3 , H = E A i ( I D S D | | T 2 | | R N S D ) and C 4 , H = h ( H E 3 , H | | I D S D | | T 2 | | R N S D ) . Finally, S D sends the message M S G 3 , H = [ H E 3 , H | | C 3 , H | | C 4 , H ] to H G W , where H E 3 , H = S D H I G H is the message header of M S G 3 , H , and computes the session key S K = h ( T 1 * | | T 2 | | S i | | A i | | R N S D | | R N G * ) .
Step 3: 
Upon receiving M S G 3 , H at timestamp T 2 , H G W computes A i * = h ( I D G | | h ( I D S D | | S i * ) ) , ( I D S D * | | T 2 * | | R N S D * ) = D A i * ( C 3 , H ) , and C 4 , H * = h ( H E 3 , H * | | I D S D * | | T 2 * | | R N S D * ) . Then, H G W checks whether | T 2 T 2 * | Δ T and C 4 , H * = ? C 4 , H . If it is correct, H G W computes the session key S K = h ( T 1 | | T 2 * | | S i * | | A i * | | R N S D * | | R N G ) and adds I D S D to the trusted device list.

5. Cryptanalysis of Xiang and Zheng’s Protocol

In this section, we discuss the security flaws of Xiang and Zheng’s protocol. We demonstrate that their protocol is vulnerable to various attacks and does not perform secure mutual authentication.

5.1. Stolen Smart Device Attack

We suppose that an adversary A can obtain secret credentials { I D S D , S i } of S D using the power analysis according to Section 1.2. Xiang and Zheng’s protocol sends the authentication request message M S G 1 = [ H E 1 | | I D S D ] as plaintext. A can obtain H E 1 from [ H E 1 | | I D S D ] of the previous session. Then, A can make the message M S G 1 anytime and perform various attacks with secret credentials. In conclusion, their protocol does not prevent the stolen smart device attack.

5.2. Impersonation Attack

According to Section 1.2, A can perform an impersonation attack at low and low-security-risk levels. The detailed processes are below.

5.2.1. Low Security Risk

A can perform the impersonation attack with the following steps.
Step 1: 
With the obtained secret credentials { I D S D , S i } from S D and H E 1 from the previous session, A can send the message M S G 1 = [ H E 1 | | I D S D ] .
Step 2: 
Upon getting M S G 1 , H G W computes S i * = h ( I D S D * | | r R A ) and extracts the current timestamp T 1 . After that, H G W computes C 1 , L = ( I D G | | T 1 ) S i * and C 2 , L = h ( H E 2 , L | | I D G | | T 1 | | S i * ) , and sends the message M S G 2 , L = [ H E 2 , L | | C 1 , L | | C 2 , L ] .
Step 3: 
After receiving M S G 2 , L , A computes ( I D G * | | T 1 * ) = C 1 , L S i and C 2 , L * = h ( H E 2 , L * | | I D G * | | T 1 * | | S i ) . Then, A verifies the validity of T 1 * and C 2 , L * . If it is equal, A computes A i = h ( I D G * | | h ( I D S D | | S i ) ) and generates the current timestamp T 2 . After that, A computes C 3 , L = ( I D S D | | T 2 ) A i and C 4 , L = h ( H E 3 , L | | I D S D | | T 2 | | A i ) . Finally, A sends the message M S G 3 , L = [ H E 3 , L | | C 3 , L | | C 4 , L ] to H G W and computes the session key S K = h ( T 1 * | | T 2 | | S i | | A i ) .
Step 4: 
Upon getting M S G 3 , L , H G W computes A i * = h ( I D G | | h ( I D S D | | S i * ) ) , ( I D S D * | | T 2 * ) = C 3 , L A i * , and C 4 , L * = h ( H E 3 , L * | | I D S D * | | T 2 * | | A i * ) . After that, H G W checks the validity of T 2 * and C 4 , L * . If it is equal, H G W computes S K = h ( T 1 | | T 2 * | | S i * | | A i * ) .
Thus, A can impersonate S D successfully, and Xiang and Zheng’s protocol cannot prevent the impersonation attack at the low-security-risk level.

5.2.2. High Security Risk

With the obtained secret credentials { I D S D , S i } , A can disguise as S D , and the detailed steps are below.
Step 1: 
A can send M S G 1 = [ H E 1 | | I D S D ] to H G W using obtained secret credentials { I D S D , S i } and H E 1 .
Step 2: 
Upon getting M S G 1 , H G W calculates S i * = h ( I D S D * | | r R A ) and generates a random number R N G . After that, H G W extracts the current timestamp T 1 , and computes C 1 , H = E S i * ( I D G | | T 1 | | R N G ) and C 2 , H = h ( H E 2 , H | | I D G | | T 1 | | R N G ) . Then, H G W sends M S G 2 , H = [ H E 2 , H | | C 1 , H | | C 2 , H ] .
Step 3: 
After receiving M S G 2 , H , A computes ( I D G * | | T 1 * | | R N G ) = D S i ( C 1 , H * ) and C 2 , H * = h ( H E 2 , H * | | I D G * | | T 1 * | | R N G * ) . Then, A verifies the validity of T 1 * and C 2 , H * . If all checks pass, A computes A i * = h ( I D G * | | h ( I D S D | | S i ) ) , generates a random number R N S D , and extracts the current timestamp T 2 . After that, A computes C 3 , H = E A i ( I D S D | | T 2 | | R N S D ) , C 4 , H = h ( H E 3 , H | | I D S D | | T 2 | | R N S D ) , and S K = h ( T 1 * | | T 2 | | S i | | A i | | R N S D | | R N G * ) . Finally, A sends M S G 3 , H = [ H E 3 , H | | C 3 , H | | C 4 , H ] to H G W .
Step 4: 
Upon getting M S G 3 , H , H G W computes A i * = h ( I D G | | h ( I D S D | | S i * ) ) , ( I D S D * | | T 2 * | | R N S D * ) = D A i * ( C 3 , H ) , and C 4 , H * = h ( H E 3 , H * | | I D S D * | | T 2 * | | R N S D * ) . Then, H G W checks the validity of T 2 * and C 4 , H * . If it is equal, H G W computes S K = h ( T 1 | | T 2 * | | S i * | | A i * | | R N S D * | | R N G ) .
In conclusion, Xiang and Zheng’s protocol cannot prevent the impersonation attack at the low-security-risk level because A can impersonate S D successfully.

5.3. Session Key Disclosure Attack

As mentioned in Section 1.2, A can extract secret credentials { I D S D , S i } . In addition, according to Section 5.2, A can obtain the session key between S D and H G W at the both low-security-risk and high-security-risk levels. With the obtained session key, A can communicate with H G W and misinform H G W for A ’s own purpose. Therefore, Xiang and Zheng’s protocol is vulnerable to the session key disclosure attack.

5.4. Mutual Authentication

Xiang and Zheng claimed that their protocol supports the mutual authentication between S D and H G W because S i and A i cannot be obtained from the eavesdropped messages. However, in accordance with Section 5.2, A can generate an authentication request message M S G 1 = [ H E 1 | | I D S D ] and calculate session key S K = h ( T 1 | | T 2 | | S i | | A i ) and S K = h ( T 1 | | T 2 | | S i | | A i | | R N S D | | R N G ) at low security and low security phases, respectively. Thus, Xiang and Zheng’s protocol does not satisfy secure mutual authentication between S D and H G W .

6. Proposed Protocol

In this section, we present a secure and lightweight authentication protocol for IoT-based smart homes to improve the security drawbacks of Xiang and Zheng’s protocol [6]. The proposed protocol consists of four phases: initialization, registration, authentication and key agreement, and password update.

6.1. Initialization Phase

Before S D and H G W are deployed in the smart home, R A generates a master key K R A . H G W has a unique identity I D G , and S D has a unique identity I D S D and secret key K S D .

6.2. Registration Phase

The detailed registration phases for the smart device and user are below.

6.2.1. Smart Device Registration Phase

To provide home services to M U , S D must register at R A . We indicate the registration phase of S D and R A in Figure 2, and detailed steps are described below.
Step 1: 
S D generates a random number r S D and computes P I D S D = h ( I D S D | | r S D ) . Then, S D sends { P I D S D , r S D } to R A through a secure channel.
Step 2: 
Upon getting the message, R A generates r R A and computes K G S D = h ( P I D S D | | K R A | | r R A ) . Then, R A stores { P I D S D , K G S D , r S D } in H G W ’s database and sends { K G S D } to S D over a secure channel. After that, R A makes P I D S D public.
Step 3: 
After receiving the message, S D computes B 1 = r S D h ( I D S D | | K S D ) and B 2 = K G S D h ( r S D | | K S D ) . Then, S D stores { B 1 , B 2 , P I D S D } in the memory.

6.2.2. Mobile User Registration Phase

M U must register at R A to use the data transmitted from S D . Figure 3 shows the registration phase of M U and R A . This phase is described as follows.
Step 1: 
M U selects identity and password { I D M U , P W M U } and generates a random number r M U . Then, M U computes P I D M U = h ( I D M U | | r M U ) and sends { P I D M U } to R A through a secure channel.
Step 2: 
Upon receiving the message, R A computes K M U G = h ( P I D M U | | K R A | | r R A ) and R I D M U = h ( P I D M U | | K M U G ) . Then, R A stores { P I D M U , R I D M U , K M U G } in H G W ’s database and sends { K M U G , R I D M U } to M U via a secure channel.
Step 3: 
After receiving the message, M U computes H P W M U = h ( P W M U | | r M U ) , A 1 = r M U h ( I D M U | | P W M U ) , A 2 = h ( I D M U | | P W M U | | r M U | | H P W M U ) , A 3 = R I D M U h ( r M U | | H P W M U ) , and A 4 = K M U G h ( R I D M U | | H P W M U ) . Then, M U stores { A 1 , A 2 , A 3 , A 4 , P I D M U } in the mobile device.

6.3. Authentication and Key Agreement Phase

To utilize secure home services, M U and S D establish a session key with the help of H G W . We indicate the detailed steps below, and a summarized version of this phase is in Figure 4.
Step 1: 
M U inputs identity and password { I D M U , P W M U } and computes r M U = A 1 h ( I D M U | | P W M U ) , H P W M U = h ( P W M U | | r M U ) , and A 2 * = h ( I D M U | | P W M U | | r M U | | H P W M U ) . Then, M U checks if A 2 * = ? A 2 . If this condition is satisfied, M U generates a random nonce R N M U and computes R I D M U = A 3 h ( r M U | | H P W M U ) , K M U G = A 4 h ( R I D M U | | H P W M U ) , M 1 = h ( P I D M U | | R I D M U | | K M U G ) ( R N M U | | P I D S D ) , C 1 = h ( I D M U | | R N M U ) h ( K M U G | | R N M U ) , and V M U = h ( P I D M U | | R I D M U | | R N M U | | P I D S D | | K M U G ) . After that, M U sends { P I D M U , M 1 , C 1 , V M U } to H G W through a public channel.
Step 2: 
Upon getting the message, H G W retrieves R I D M U and K M U G corresponding to P I D M U , and computes ( R N M U * | | P I D S D * ) = M 1 h ( P I D M U | | R I D M U | | K M U G ) and V M U * = h ( P I D M U | | R I D M U | | R N M U * | | P I D S D * | | K M U G ) . H G W checks if V M U * = ? V M U . If it is equal, H G W retrieves K G S D and r S D corresponding to P I D S D . Then, H G W generates a random nonce R N G and computes M 2 = h ( R N M U | | R N G ) , M 3 = h ( P I D S D | | K G S D | | r S D ) M 2 , h ( I D M U | | R N M U ) = C 1 h ( K M U G | | R N M U ) , C 2 = ( h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) ) h ( K G S D | | r S D ) , and V M U G = h ( P I D M U | | M 2 | | K G S D ) . Finally, H G W sends { P I D M U , M 3 , C 2 , V M U G } to S D .
Step 3: 
After receiving the message, S D computes r S D = B 1 h ( I D S D | | K S D ) , K G S D = B 2 h ( r S D | | K S D ) , M 2 * = M 3 h ( P I D S D | | K G S D | | r S D ) , and V M U G * = h ( P I D M U | | M 2 * | | K G S D ) . S D checks if V M U G * = ? V M U G . If this condition is valid, S D generates a random nonce R N S D . Then, S D computes ( h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) ) = C 2 h ( K G S D | | r S D ) , S K = h ( h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) ) , M 4 = h ( P I D S D | | K G S D | | r S D ) h ( I D S D | | R N S D ) , and V S D = h ( P I D M U | | P I D S D | | M 2 * | | h ( I D S D | | R N S D ) | | K G S D ) . Finally, S D sends { M 4 , V S D } to H G W .
Step 4: 
Upon receiving the message, H G W computes h ( I D S D | | R N S D ) = M 4 h ( P I D S D | | K G S D | | r S D ) and V S D * = h ( P I D M U | | P I D S D | | M 2 | | h ( I D S D | | R N S D ) | | K G S D ) . H G W checks if V S D * = ? V S D . Then, H G W computes S K = h ( h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) | | I D S D | | R N S D ) ) , P I D M U n e w = h ( P I D M U | | R N M U ) , and R I D M U n e w = h ( P I D M U n e w | | K M U G ) , and computes M 5 = h ( R I D M U | | R N M U ) ( h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) | | P I D M U n e w ) and V G S D = h ( P I D M U | | R N M U | | h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) | | P I D M U n e w | | K M U G ) .
H G W stores { P I D M U , R I D M U } with { P I D M U n e w , R I D M U n e w } in H G W ’s database. Finally, H G W sends { M 5 , V G S D } to M U .
Step 5: 
After receiving the message, M U computes P I D M U n e w = h ( P I D M U | | R N M U ) , ( h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) | | P I D M U n e w ) = M 5 h ( R I D M U | | R N M U ) and V G S D * = h ( P I D M U | | R N M U | | h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) | | P I D M U n e w | | K M U G ) . M U checks if V G S D * = ? V G S D . After that, M U computes S K = h ( h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) ) . Then, M U updates R I D M U n e w = h ( P I D M U n e w | | K M U G ) , A 3 n e w = R I D M U n e w h ( r M U | | H P W M U ) , and A 4 n e w = K M U G h ( R I D M U n e w | | H P W M U ) . Then, M U replaces { A 3 , A 4 , P I D M U } to { A 3 n e w , A 4 n e w , P I D M U n e w } in the mobile device. M U computes M 6 = h ( S K | | P I D M U n e w ) and sends M 6 to H G W .
Step 6: 
After receiving the message from M U , H G W computes M 6 * = h ( S K | | P I D M U n e w ) and checks if M 6 * = ? M 6 . If it is correct, H G W deletes { P I D M U , R I D M U } in the database.

6.4. Password Update Phase

M U can update the password individually. In Figure 5, we represent the password update phase and the detailed steps are below.
Step 1: 
M U inputs identity and old password { I D M U , P W M U o l d } to the mobile device over a secure channel.
Step 2: 
Mobile device computes r M U = A 1 h ( I D M U | | P W M U o l d ) , H P W M U = h ( P W M U o l d | | r M U ) , and A 2 * = h ( I D M U | | P W M U o l d | | r M U | | H P W M U ) . Then, the mobile device checks whether A 2 * = ? A 2 . If this condition is met, the mobile device sends the authentication message to M U .
Step 3: 
Upon receiving the authentication message, M U inputs the new password P W M U n e w to the mobile device.
Step 4: 
After getting the new password, the mobile device computes R I D M U = A 3 h ( r M U | | H P W M U ) , K M U G = A 4 h ( R I D M U | | H P W M U ) , H P W M U * * = h ( P W M U n e w | | r M U ) , A 1 * * = r M U h ( I D M U | | P W M U n e w ) , A 2 * * = h ( I D M U | | P W M U n e w | | r M U | | H P W M U * * ) , A 3 * * = R I D M U h ( r M U | | H P W M U * * ) , and A 4 * * = K M U G h ( R I D M U | | H P W M U * * ) . Finally, the mobile device replaces { A 1 , A 2 , A 3 , A 4 , P I D M U } with { A 1 * * , A 2 * * , A 3 * * , A 4 * * , P I D M U } .

7. Security Analysis

This section shows informal and formal security analyses of our protocol using BAN logic, the ROR model, and the AVISPA tool. Through theses analyses, we demonstrate that the proposed protocol prevents various kinds of known attacks.

7.1. Informal Security Analysis

We performed informal analysis to describe how our protocol withstands various attacks and supports perfect forward secrecy and mutual authentication.

7.1.1. Mobile User Impersonation Attack

According to Section 1.2, an adversary A can have the lost/stolen mobile device of a legal user M U , and extract secret credentials { A 1 , A 2 , A 3 , A 4 , P I D M U } using the power analysis [18,19]. With these values, A can try to impersonate M U by intercepting transmitted messages through an insecure channel. However, A cannot send a valid authentication request message { M 1 , C 1 , V M U } because A cannot calculate { H P W M U , R I D M U , K M U G } without the knowledge of the M U ’s real identity I D M U , password P W M U , and a random nonce R N M U . Hence, the proposed protocol resists the mobile user impersonation attack.

7.1.2. Home Gateway Impersonation Attack

Suppose that an adversary A intercepts messages { P I D M U , M 3 , C 2 , V M U G } and { M 5 , V G S D } over an insecure channel. A can try to calculate the other valid messages { P I D M U , M 3 , C 2 , V M U G } and { M 5 , V G S D } . However, A cannot compute messages, because A has no knowledge of the M U ’s real identity I D M U and a random nonce R N M U . In addition, A does not know H G W ’s real identity I D G , a random nonce R N G , and the shared secret key K G S D . Thus, the proposed protocol withstands the home gateway impersonation attack.

7.1.3. Smart Device Impersonation Attack

An adversary A can try to impersonate S D using the exchanged message { M 4 , V S D } . According to Section 1.2, A can extract stored values in the lost/stolen smart device. However, A cannot compute the message because A does not know the S D ’s unique identity I D S D , secret key K S D , and a random nonce R N S D . Therefore, our protocol prevents the smart device impersonation attack.

7.1.4. Session Key Disclosure Attack

In accordance with Section 1.2, an adversary A can extract secret credentials { A 1 , A 2 , A 3 , A 4 , P I D M U } and { B 1 , B 2 , P I D S D } of M U and S D , respectively. To calculate the session key, A should know real identities and random nonces of M U , H G W , and S D . However, A cannot obtain { I D M U , I D G , I D S D } and { R N M U , R N G , R N S D } from transmitted messages because these are encrypted with secret keys { K M U G , K G S D , K S D } . Thus, the proposed protocol withstands the session key disclosure attack.

7.1.5. Replay and MITM Attack

We assume that an adversary A intercepts and resends the previous authentication request message { P I D M U , M 1 , C 1 , V M U } to H G W for the purpose of disguising M U . H G W detects R N M U is not fresh by checking the validity of V M U . In addition, even if A tries to modify the authentication request message, A cannot modify { M 1 , C 1 , V M U } without the knowledge of the M U ’s real identity I D M U , password P W M U , a random nonce R N M U , and shared secret key K M U G . In conclusion, our protocol prevents replay and MITM attacks.

7.1.6. Offline Guessing Attack

After extracting the information from the M U ’s mobile device, A can obtain A 1 = r M U h ( I D M U | | P W M U ) , A 2 = h ( I D M U | | P W M U | | r M U | | H P W M U ) , A 3 = R I D M U h ( r M U | | H P W M U ) , and A 4 = K M U G h ( R I D M U | | H P W M U ) . All of these values are encrypted with I D M U and P W M U . If A wants to compromise the security of our protocol, A needs to guess both I D M U and P W M U . However, it is a computationally infeasible problem to A according to Section 1.2. As a result, our protocol resists the offline guessing attack.

7.1.7. Stolen Smart Device Attack

Assume that an adversary A obtains S D and extracts secret credentials { B 1 , B 2 , P I D S D } stored in the memory through the power analysis attack [20,21]. Although A obtains these values, A cannot get sensitive information of S D because all information stored in the memory is masked with S D ’s unique identity I D S D and secret key K S D . Thus, the proposed protocol withstands the stolen smart device attack.

7.1.8. Privileged-Insider Attack

In this attack, a privileged-insider adversary A is able to get P I D M U during the M U ’s registration phase. Then, A can extract secret credentials { A 1 , A 2 , A 3 , A 4 , P I D M U } stored in the mobile device. However, since A does not know the M U ’s real identity I D M U , password P W M U , and a random number r M U , A cannot calculate the session key S K = h ( h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) ) . Hence, our protocol prevents the privileged-insider attack.

7.1.9. Known Session-Secret Temporary Information Attack

An adversary A can obtain session specific random nonces { R N M U , R N G , R N S D } to conduct the known session-secret temporary information attack under the CK-adversary model. Even if A knows these secrets, A cannot calculate the session key S K = h ( h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) ) , because S K consists of M U , H G W , and S D ’s identities. Thus, our protocol withstands the known session-secret temporary information attack.

7.1.10. Desynchronization Attack

A desynchronization attack is when an adversary A can modify and block the transmitted messages to make M U , H G W , and S D unable to authenticate in the future. Assume that A tries to modify the messages for desynchronizing the next session. However, as mentioned in Section 7.1.5, A cannot modify the exchanged messages because A has no knowledge about M U ’s secret credentials. In addition, we assume that A blocks the transmitted messages to disturb the synchronization. H G W calculates P I D M U n e w , generates a verification message { M 5 , V G S D } using P I D M U n e w , and sends it to M U . H G W stores the P I D M U n e w with P I D M U , and M U checks V G S D . If the V G S D is correct, M U updates P I D M U n e w . M U sends the message M 6 to H G W to describe that authentication is complete. Then, H G W checks the validation of M 6 . If M 6 is validated, H G W deletes the old P I D M U and R I D M U . Otherwise, H G W stores them. Through these things, M U and H G W always have synchronized values. Consequently, a desynchronization attack is impossible in our protocol.

7.1.11. Perfect Forward Secrecy

We assume that an adversary A knows long-term secret keys { K R A , K M U G , K G S D , K S D } . A can try to calculate the session key S K = h ( h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) ) . However, A cannot affect on the confidentiality of past communications because S K is composed of the random nonces { R N M U , R N G , R N S D } which is generated for each session. Thus, the proposed protocol provides the perfect forward secrecy.

7.1.12. Mutual Authentication

At the authentication and key agreement phase, M U , H G W , and S D check the message validity. M U checks the validity of V G S D * , H G W verifies V M U * = ? V M U and V S D * = ? V S D , and S D checks whether V M U G * = ? V M U G . If the values are correct, each entity authenticates each other. Therefore, our protocol achieves the mutual authentication.

7.1.13. Anonymity and Untraceability

An adversary A can obtain exchanged messages in the authentication and key agreement phase. However, A cannot obtain real identities of M U , H G W , and S D because these are dependent on { r M U , R N G , r S D } . In addition, M U and H G W update P I D M U to P I D M U n e w = h ( P I D M U | | R N M U ) for every session. It makes all messages are dynamic at every session. Consequently, the proposed protocol provides anonymity and untraceability.

7.2. BAN Logic

We performed the formal security analysis with BAN logic to evaluate the secure mutual authentication of the proposed protocol [10,40]. We present the notation of BAN logic in Table 2.

7.2.1. Rules

We describe the rules of BAN logic in the following.
  • Message meaning rule ( M M R ):
    W | W s k e y N , W { S } s k e y W | N | S
  • Nonce verification rule ( N V R ):
    W | # ( S ) , W | N | S W | N | S
  • Jurisdiction rule ( J R ):
    W | N | S , W | N | S W | S
  • Freshness rule ( F R ):
    W | # ( S ) W | # ( S , T )
  • Belief rule ( B R ):
    W | ( S , T ) W | S

7.2.2. Goals

The following are the main goals to demonstrate that our protocol satisfies the secure mutual authentication.
Goal 1: 
M U | ( M U S K S D ) .
Goal 2: 
M U | S D | ( M U S K S D ) .
Goal 3: 
S D | ( M U S K S D ) .
Goal 4: 
S D | M U | ( M U S K S D ) .

7.2.3. Assumptions

We assume the following to initiate states of the proposed protocol.
A 1 :
H G W | ( M U S K H G W )
A 2 :
H G W | # ( R N M U )
A 3 :
S D | ( H G W K G S D S D )
A 4 :
S D | # ( R N G )
A 5 :
H G W | ( H G W K G S D S D )
A 6 :
H G W | # ( R N S D )
A 7 :
M U | ( M U K M U G H G W )
A 8 :
M U | # ( R N G )
A 9 :
M U | H G W | M U h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) S D
A 10 :
S D | H G W | ( M U h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) S D )
A 11 :
M U | S D | ( M U S K S D )
A 12 :
S D | M U | ( M U S K S D )

7.2.4. Idealized Forms

We present ideal forms of our protocol as below.
M 1 :
M U H G W : ( P I D M U , R I D M U , R N M U ) K M U G
M 2 :
H G W S D : ( P I D M U , h ( I D M U | | R N M U ) , h ( I D G | | R N G ) , P I D S D , r S D ) K G S D
M 3 :
S D H G W : ( P I D M U , P I D S D , h ( I D M U | | R N M U ) , h ( I D S D | | R N S D ) ) K G S D
M 4 :
H G W M U : ( R I D M U , h ( I D M U | | R N M U ) , h ( I D G | | R N G ) , h ( I D S D | | R N S D ) ) K M U G

7.2.5. Proof

We conducted the BAN logic test, and detailed steps are described as follows.
Step 1: 
From M 1 , we can obtain S 1 .
S 1 : H G W ( P I D M U , R I D M U , R N M U ) K M U G
Step 2: 
Using S 1 and A 1 with M M R , we can get S 2 .
S 2 : H G W | M U | ( P I D M U , R I D M U , R N M U ) K M U G
Step 3: 
S 3 can obtained using S 2 and A 2 with F R .
S 3 : H G W | # ( P I D M U , R I D M U , R N M U ) K M U G
Step 4: 
Using S 2 and S 3 with N V R , we can get S 4 .
S 4 : H G W | M U | ( P I D M U , R I D M U , R N M U ) K M U G
Step 5: 
We can obtain S 5 from M 2 .
S 5 : S D ( P I D M U , h ( I D M U | | R N M U ) , h ( I D G | | R N G ) , P I D S D , r S D )
Step 6: 
S 6 can obtained using S 5 and A 3 with M M R .
S 6 : S D | H G W | ( P I D M U , h ( I D M U | | R N M U ) , h ( I D G | | R N G ) , P I D S D , r S D ) K G S D
Step 7: 
Utilizing S 6 and A 4 with F R , we can get S 7 .
S 7 : S D | # ( P I D M U , h ( I D M U | | R N M U ) , h ( I D G | | R N G ) , P I D S D , r S D ) K G S D
Step 8: 
For obtaining S 8 , we can use S 6 and S 7 with N V R .
S 8 : S D | H G W | ( P I D M U , h ( I D M U | | R N M U ) , h ( I D G | | R N G ) , P I D S D , r S D ) K G S D
Step 9: 
From M 3 , we can obtain S 9 .
S 9 : H G W ( P I D M U , P I D S D , h ( I D M U | | R N M U ) , h ( I D S D | | R N S D ) ) K G S D
Step 10: 
For getting S 10 , we can utilize S 9 and A 5 with M M R .
S 10 : H G W | S D | ( P I D M U , P I D S D , h ( I D M U | | R N M U ) , h ( I D S D | | R N S D ) ) K G S D
Step 11: 
For obtaining S 11 , we can use A 6 and S 10 with F R .
S 11 : H G W | # ( P I D M U , P I D S D , h ( I D M U | | R N M U ) , h ( I D S D | | R N S D ) ) K G S D
Step 12: 
Using S 10 and S 11 with N V R , we can get S 12 .
S 12 : H G W | S D | ( P I D M U , P I D S D , h ( I D M U | | R N M U ) , h ( I D S D | | R N S D ) ) K G S D
Step 13: 
We can get S 13 from M 4 .
S 13 : M U ( R I D M U , h ( I D M U | | R N M U ) , h ( I D G | | R N G ) , h ( I D S D | | R N S D ) ) K M U G
Step 14: 
S 14 can obtained using S 13 and A 7 with M M R .
M U | H G W | ( R I D M U , h ( I D M U | | R N M U ) , h ( I D G | | R N G ) , h ( I D S D | | R N S D ) ) K M U G
Step 15: 
S 15 can obtained using S 14 and A 8 with F R .
S 15 : M U | # ( R I D M U , h ( I D M U | | R N M U ) , h ( I D G | | R N G ) , h ( I D S D | | R N S D ) ) K M U G
Step 16: 
Using S 14 and S 15 with N V R , we can get S 16 .
S 16 : M U | H G W | ( R I D M U , h ( I D M U | | R N M U ) , h ( I D G | | R N G ) , h ( I D S D | | R N S D ) ) K M U G
Step 17: 
Since the session key is S K = h ( h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) ) , we can obtain S 17 from S 12 , S 16 , and A 9 .
S 17 : M U | S D | ( M U S K S D ) ( Goal 2 )
Step 18: 
From S 4 , S 8 , and A 10 , we can get S 18 .
S 18 : S D | M U | ( M U S K S D ) ( Goal 4 )
Step 19: 
S 19 can obtained from S 17 and A 11 .
S 19 : M U | ( M U S K S D ) ( Goal 1 )
Step 20: 
S 20 can obtained using S 18 and A 12 .
S 20 : S D | ( M U S K S D ) ( Goal 3 )
Therefore, M U , H G W , and S D can perform the secure mutual authentication in our protocol.

7.3. ROR Model

The session key security of the proposed protocol is demonstrated using the ROR model [11]. We interpret the ROR model before proving the session key security of the proposed protocol. In the authentication and key agreement phase of the proposed protocol, we have three participants P t , which are mobile user P M U t 1 , home gateway P H G W t 2 , and smart device P S D t 3 . These are instances t 1 , t 2 , and t 3 for M U , H G W , and S D , respectively. A can eavesdrop, intercept, or modify transmitted messages through an insecure channel. In addition, A can simulate active and passive attacks by executing various queries defined in the ROR model, such as E x e c u t e , C o r r u p t M D , R e v e a l , S e n d , and T e s t queries. Detailed instructions of the queries are below.
  • E x e c u t e ( P M U t 1 , P H G W t 2 , P S D t 3 ) : A performs this query to obtain transmitted messages over a public channel between M U , H G W , and S D .
  • C o r r u p t M D ( P M U t 1 ) : This query represents that A can extract sensitive information stored in the mobile device of M U .
  • R e v e a l ( P t ) : This query is that A reveals the current session key S K between P M U t 1 and P S D t 3 . If an adversary A cannot reveal the session key S K between P M U t 1 and P S D t 3 using the R e v e a l ( P t ) query, then S K is secure.
  • S e n d ( P t , M ) : With this query, A can send the message M to P t and receive a response message.
  • T e s t ( P t ) : Before the start of the game, a fair coin f c is tossed and the result becomes only known to A . A uses this result to make a decision of the T e s t query. If A runs the T e s t query and the session key S K is fresh, P t returns S K for f c = 1 or a random number for f c = 0. Otherwise, it returns a null ().
After A performs the T e s t query on P t , A must distinguish the result value. A uses the output of the T e s t query for checking the consistency of the random bit f c . A wins the game when the guessed bit f c is equal to f c . Moreover, all participants have access to a collision-resistant cryptographic one-way hash function h ( · ) . We model h ( · ) as a random oracle, H a s h .

7.3.1. Security Proof

We prove the session key security of the proposed protocol using Zipf’s law [41].
Theorem 1.
A can break the session key security of the proposed protocol. We denote the advantage of A running in polynomial time as A d v A . Then, we obtain the following.
A d v A q h 2 | H a s h | + 2 { C · q s e n d s }
Here, q h is the number of H a s h queries, | H a s h | is the range space of the hash function h ( · ) , and q s e n d is the number of S e n d queries. In addition, C and s denote Zipf’s parameters [41].
Proof. 
The proof of Theorem 1 is similar as presented in [42,43]. We prove the session key security through a sequence of four games, G M i , where i [ 0 , 3 ] . S u c c A , i indicates the event that A wins G M i by guessing the random bit f c correctly. We denote the advantage of A winning the game G M i as P r [ S u c c A , G M i ] . In the following, we describe each game.
  • G M 0 : This game allows A to execute the real attack against the proposed protocol. A chooses a random bit f c at the beginning of G M 0 . Then, we obtain the following in accordance with this game.
    A d v A = | 2 P r [ S u c c A , G M 0 ] 1 |
  • G M 1 : In this game, A runs the E x e c u t e ( P M U t 1 , P H G W t 2 , P S D t 3 ) query and eavesdrops transmitted messages { P I D M U , M 1 , C 1 , V M U } , { P I D M U , M 3 , C 2 , V M U G } , { M 4 , V S D } , and { M 5 , V G S D } . Then, A executes R e v e a l and T e s t queries to validate whether the derived session key is real or not. In our protocol, the session key is constructed as S K = h ( h ( I D M U | | R N M U ) | | h ( I D G | | R N G ) | | h ( I D S D | | R N S D ) ) . To derive the session key, A needs to know the identities and random nonces of M U , H G W , and S D . Consequently, there are no instances in which A increases G M 1 ’s winning probability. Therefore, G M 0 and G M 1 turn out to be indistinguishable, and we can obtain the following.
    P r [ S u c c A , G M 1 ] = P r [ S u c c A , G M 0 ]
  • G M 2 : To obtain the session key, A performs H a s h and S e n d queries in this game. A can perform an active attack by modifying exchanged messages. However, all exchanged messages are constructed with secret credentials and random nonces, and protected using one-way hash function h ( · ) . In addition, A is difficult to derive secret credentials and random nonces because it is a computationally infeasible problem according to the property of h ( · ) . Hence, we can get the following result through the use of birthday paradox [44].
    | P r [ S u c c A , G M 2 ] P r [ S u c c A , G M 1 ] | q h 2 2 | H a s h |
  • G M 3 : In the final game G M 3 , A can try to get the session key with the C o r r u p t M D query. By the C o r r u p t M D query, A can extract sensitive values { A 1 , A 2 , A 3 , A 4 } stored in the mobile device of M U . Sensitive values are expressed as A 1 = r M U h ( I D M U | | P W M U ) , A 2 = h ( I D M U | | P W M U | | r M U | | H P W M U ) , A 3 = R I D M U h ( P I D M U | | H P W M U ) , and A 4 = K M U G h ( R I D M U | | H P W M U ) . Since A has no knowledge of I D M U and P W M U , A cannot derive secret values r M U and K M U G from the extracted values. Besides, it is a computationally infeasible task for A to guess I D M U and P W M U simultaneously. In conclusion, G M 2 and G M 3 are indistinguishable. By utilizing Zipf’s law, the following result can be obtained.
    | P r [ S u c c A , G M 3 ] P r [ S u c c A , G M 2 ] | C · q s e n d s
    As all games have been run, A must guess the bit for winning the game. Therefore, we can obtain the following result.
    P r [ S u c c A , G M 3 ] = 1 2
    From Equations (1) and (2), we obtain the result as follows.
    1 2 A d v A = | P r [ S u c c A , G M 0 1 2 ] | = | P r [ S u c c A , G M 1 1 2 ] | .
    With Equations (5) and (6), we derive the below equation.
    1 2 A d v A = | P r [ S u c c A , G M 1 ] P r [ S u c c A , G M 3 ] | .
    By using the triangular inequality, we can have the following result with Equations (4), (5), and (7).
    1 2 A d v A = | P r [ S u c c A , G M 1 ] P r [ S u c c A , G M 3 ] | | P r [ S u c c A , G M 1 ] P r [ S u c c A , G M 2 ] | + | P r [ S u c c A , G M 2 ] P r [ S u c c A , G M 3 ] | q h 2 2 | H a s h | + C · q s e n d s
    Finally, by multiplying both sides of Equation (8) by two, we can obtain the required result.
    A d v A q h 2 | H a s h | + 2 { C · q s e n d s }
Therefore, we prove Theorem 1. □

7.4. AVISPA Tool

We utilized the AVISPA tool [7,8,9] to verify the security of our protocol against MITM and replay attacks. The AVISPA tool uses a role based language, High-Level Protocols Specification Language (HLPSL), to specify actions of each protocol participant [45]. For the security analysis, the HLPSL is entered and translated into the Intermediate Format (IF) in the AVISPA tool. If the IF becomes the input of the back-end, the back-end outputs the security analysis result as the Output Format (OF). The back-end of the AVISPA tool consists of four components, including SAT-based Model-Checker (SATMC), Tree-Automata-based Protocol Analyzer (TA4SP), On-the-Fly-Model-Checker (OFMC), and CL-based Attack Searcher (CL-AtSe). If the OF is SAFE for the back-end, the proposed protocol prevents MITM and replay attacks. We use OFMC and CL-AtSe for the proposed protocol, since SATMC and TA4SP do not support XOR operations.

7.4.1. Specifications of the Proposed Protocol

We set up the session, environment, and security goals using the HLPSL language. Details of these are shown in Figure 6. In s e s s i o n and e n v i r o n m e n t , we specify instances of each role and construct the whole protocol session. In addition, we state the security goals of the proposed protocol. s e c r e c y is used to check secret values are explicitly undisclosed and a u t h e n t i c a t i o n is used to verify the validity of secret values between entities. Through s e c r e c y and a u t h e n t i c a t i o n , we can confirm that the proposed protocol is resistant to MITM and replay attacks.
As shown in Figure 7, if the registration process is started at state 0, M U generates identity I D M U and password P W M U , and calculates P I D M U at state 1. Then, M U sends the registration request message { P I D M U } to R A . After receiving secret values { K M U G , R I D M U } from R A , M U updates the state from 1 to 2. Then, M U stores secret values encrypted with the I D M U and P W M U in the mobile device. Then, M U transmits the authentication request message { P I D M U , M 1 , C 1 , V M U } to H G W . Upon receiving the message { M 5 , V G S D } in state 2, M U updates the state from 2 to 3 and checks V G S D * = ? V G S D . If the condition is met, M U authenticates H G W successfully. Then, M U computes M 6 and sends it to H G W . The roles of H G W , S D , and R A are similar to the roles of M U .

7.4.2. Result of AVISPA

We use OFMC and CL-AtSe for XOR operations to show the security analysis result. The OFMC estimates that the proposed protocol withstands the MITM attack, and CL-AtSe assesses our protocol is resistant to the replay attack. Figure 8 shows the OF of OFMC and CL-AtSe back-ends for the proposed protocol. The output shows that the proposed protocol is SAFE in OFMC and CL-AtSe back-ends. Thus, our protocol successfully satisfies the specified security goals. In other words, our protocol withstands MITM and replay attacks.

8. Performance and Security Analyses

This section shows the comparison results of the proposed protocol with similar protocols [6,31,34,38], including computational and communication costs, and security properties.

8.1. Computational Costs

The computational costs are analyzed for our protocol and related existing protocols [6,31,34,38]. For comparison, we refer to the work [46]. T m , T R , T h , and T s denote the execution times of an ECC point multiplication (≈7.3529 ms), fuzzy extractor function (≈7.3529 ms), a hash function (≈0.0004 ms), and symmetric key encryption/decryption (≈0.1303 ms), respectively. Table 3 contains the result of the computational costs comparison. Although the proposed protocol has a slightly higher computational cost than the low-security-risk path of Xiang and Zheng’s protocol [6], our protocol provides more robust security. Moreover, the proposed protocol has a lower computational cost compared with the other related protocols, except for the low-security-risk path of Xiang and Zheng’s protocol [6].

8.2. Communication Costs

The communication cost of our protocol is compared to those costs of other related protocols [6,31,34,38]. Referring to the paper [31], we define that an ECC point, symmetric key encryption/decryption, hash function, random number, identity, and timestamp are 320, 256, 160, 160, 128, and 32 bits. We estimate the message header as Internet Protocol version 4 (IPv4) packet header, 4 bits. In the authentication and key agreement phase of the proposed protocol, exchanged messages { P I D M U , M 1 , C 1 , V M U } , { P I D M U , M 3 , C 2 , V M U G } , { M 4 , V S D } , { M 5 , V G S D } , and M 6 need 640, 640, 320, 20, and 160 bits, respectively. Consequently, our protocol has 2080 bits as the total communication cost. In Table 4, we show the results of the communication costs comparison. Although our protocol has a higher communication cost than some of the existing protocols [6,31,38], it provides more efficient computational costs and security.

8.3. Security Properties

In Table 5, we present security properties of the proposed protocol and those of models by Shuai et al. [31], Wazid et al. [34], Banerjee et al. [38], and Xiang and Zheng [6]. In contrast with the other protocols [6,31,34,38], our protocol prevents more attacks. Thus, the proposed protocol meets more security requirements compared to related protocols.

9. Conclusions

We proved that Xiang and Zheng’s protocol does not perform secure mutual authentication. We also discovered that their protocol is vulnerable to impersonation, stolen smart device, and session key disclosure attacks. To deal with the security threats to Xiang and Zheng’s protocol, we proposed a secure and lightweight authentication protocol for IoT-based smart homes. We demonstrated that the proposed protocol is secure against various attacks, including impersonation, replay, MITM, and session key disclosure attacks. We performed the BAN logic test to show that our protocol ensures secure mutual authentication. Furthermore, we demonstrated that the proposed protocol provides session key security and resists replay and MITM attacks by utilizing the ROR model and the AVISPA tool. We compared our protocol with associated existing protocols in terms of security properties, and computational and communication costs. In conclusion, our protocol provides better security and low computational costs. When we consider all perspectives of security and costs, our protocol is suitable for practical IoT-based smart home environments. In the future, we will develop a better protocol and implement it in an actual environment.

Author Contributions

Conceptualization, J.O.; formal analysis, J.L., S.S. and M.K.; investigation, S.Y.; methodology, J.O.; software, S.Y. and J.L.; supervision, Y.P.; validation, S.S., M.K. and Y.P.; writing—original draft, J.O.; writing—review and editing, S.Y., J.L., S.S., and Y.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported in part by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education under grant 2020R1I1A3058605, and in part by the BK21 FOUR project funded by the Ministry of Education, Korea under grant 4199990113966.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Shin, S.; Kwon, T. A lightweight three-factor authentication and key agreement scheme in wireless sensor networks for smart homes. Sensors 2019, 19, 2012. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  2. Naoui, S.; Elhdhili, M.E.; Saidane, L.A. Lightweight and secure password based smart home authentication protocol: LSP-SHAP. J. Netw. Syst. Manag. 2019, 27, 1020–1042. [Google Scholar] [CrossRef]
  3. Baruah, B.; Dhal, S. A two-factor authentication scheme against FDM attack in IFTTT based smart home system. Comput. Secur. 2018, 77, 21–35. [Google Scholar] [CrossRef]
  4. Kumar, P.; Gurtov, A.; Iinatti, J.; Ylianttila, M.; Sain, M. Lightweight and secure session-key establishment scheme in smart home environments. IEEE Sens. J. 2015, 16, 254–264. [Google Scholar] [CrossRef] [Green Version]
  5. Kumar, P.; Braeken, A.; Gurtov, A.; Iinatti, J.; Ha, P.H. Anonymous secure framework in connected smart home environments. IEEE Trans. Inf. Forensics Secur. 2017, 12, 968–979. [Google Scholar] [CrossRef] [Green Version]
  6. Xiang, A.; Zheng, J. A situation-aware scheme for efficient device authentication in smart grid-enabled home area networks. Electronics 2020, 9, 989. [Google Scholar] [CrossRef]
  7. AVISPA. Automated Validation of Internet Security Protocols and Applications. Available online: http://www.avispa-project.org/ (accessed on 10 November 2020).
  8. SPAN: A Security Protocol Animator for AVISPA. Available online: http://www.avispa-project.org/ (accessed on 10 November 2020).
  9. Mandal, S.; Bera, B.; Sutrala, A.K.; Das, A.K.; Choo, K.R.; Park, Y. Certificateless-signcryption-based three-factor user access control scheme for IoT environment. IEEE Internet Things J. 2020, 7, 3184–3197. [Google Scholar] [CrossRef]
  10. Burrows, M.; Abadi, M.; Needham, R.M. A logic of authentication. ACM Trans. Comput. Syst. 1990, 8, 18–36. [Google Scholar] [CrossRef]
  11. Abdalla, M.; Fouque, P.A.; Pointcheval, D. Password based authenticated key exchange in the three-party setting. In Public Key Cryptgraphy; Springer: Les Diablerets, Switzerland, 2005; pp. 65–84. [Google Scholar]
  12. Dolev, D.; Yao, A. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–208. [Google Scholar] [CrossRef]
  13. Lee, J.; Yu, S.; Kim, M.; Park, Y.; Das, A.K. On the design of secure and efficient three-factor authentication protocol using honey list for wireless sensor networks. IEEE Access 2020, 8, 107046–107062. [Google Scholar] [CrossRef]
  14. Yu, S.; Lee, J.; Lee, K.; Park, K.; Park, Y. Secure authentication protocol for wireless sensor networks in vehicular communications. Sensors 2018, 18, 3191. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  15. Canetti, R.; Krawczyk, H. Universally composable notions of key exchange and secure channels. In International Conference on the Theory and Applications of Cryptographic Thechniques (EUROCRYPT’02); Springer: Amsterdam, The Netherlands, 2002; pp. 337–351. [Google Scholar]
  16. Wazid, M.; Bagga, P.; Das, A.K.; Shetty, S.; Rodrigues, J.J.P.C.; Park, Y. AKM-IoV: Authenticated key management protocol in fog computing-based internet of vehicles deployment. IEEE Internet Things J. 2019, 6, 8804–8817. [Google Scholar] [CrossRef]
  17. Yu, S.; Lee, J.; Park, Y.; Park, Y.; Lee, S.; Chung, B. A secure and efficient three-factor authentication protocol in global mobility networks. Appl. Sci. 2020, 10, 3565. [Google Scholar] [CrossRef]
  18. Roy, S.; Chatterjee, S.; Das, A.K.; Chattopadhyay, S.; Kumar, N.; Vasilakos, A.V. On the design of provably secure lightweight remote user authentication scheme for mobile cloud computing services. IEEE Access 2017, 5, 25808–25825. [Google Scholar] [CrossRef]
  19. Park, K.; Park, Y.; Park, Y.; Das, A.K. 2PAKEP: Provably secure and efficient two-party authenticated key exchange protocol for mobile environment. IEEE Access 2018, 6, 30225–30241. [Google Scholar] [CrossRef]
  20. Chaudhry, S.A.; Alhakami, H.; Baz, A.; Al-Turjman, F. Securing demand response management: A certificate-based access control in smart grid edge computing infrastructure. IEEE Access 2020, 8, 101235–101243. [Google Scholar] [CrossRef]
  21. Park, K.; Noh, S.; Lee, H.; Das, A.K.; Kim, M.; Park, Y.; Wazid, M. LAKS-NVT: Provably secure and lightweight authentication and key agreement scheme without verification table in medical internet of things. IEEE Access 2020, 8, 119387–119404. [Google Scholar] [CrossRef]
  22. Ul Haq, I.; Wang, J.; Zhu, Y. Secure two-factor lightweight authentication protocol using self-certified public key cryptography for multi-server 5G networks. J. Netw. Comput. Appl. 2020, 161, 102660. [Google Scholar] [CrossRef]
  23. Amin, R.; Islam, S.H.; Biswas, G.P.; Khan, M.K.; Kumar, N. A robust and anonymous patient monitoring system using wireless medical sensor networks. Future Gener. Comput. Syst. 2018, 80, 483–495. [Google Scholar] [CrossRef]
  24. Chandrakar, P.; Om, H. A secure and robust anonymous three-factor remote user authentication scheme for multi-server environment using ECC. Comput. Commun. 2017, 110, 26–34. [Google Scholar] [CrossRef]
  25. Santoso, F.K.; Vun, N.C.H. Securing IoT for smart home system. In Proceedings of the 2015 International Symposium on Consumer Electronics (ISCE), Madrid, Spain, 24–26 June 2015; pp. 1–2. [Google Scholar]
  26. Fakroon, M.; Alshahrani, M.; Gebali, F.; Traore, I. Secure remote anonymous user authentication scheme for smart home environment. Internet Things 2020, 9, 100158. [Google Scholar] [CrossRef]
  27. Banerjee, S.; Odelu, V.; Das, A.K.; Chattopadhyay, S.; Rodrigues, J.J.P.C.; Park, Y. Physically secure lightweight anonymous user authentication protocol for internet of things using physically unclonable functions. IEEE Access 2019, 7, 85627–85644. [Google Scholar] [CrossRef]
  28. Dey, S.; Hossian, A. Session-key establishment and authentication in a smart home network using public key cryptography. IEEE Sens. Lett. 2019, 3, 7500204. [Google Scholar] [CrossRef]
  29. Gaba, G.S.; Kumar, G.; Monga, H.; Kim, T.; Kumar, P. Robust and lightweight mutual authentication scheme in distributed smart environments. IEEE Access 2020, 8, 69722–69733. [Google Scholar] [CrossRef]
  30. Kumar, P.; Chouhan, L. A privacy and session key based authentication scheme for medical IoT networks. Comput. Commun. 2021, 166, 154–164. [Google Scholar] [CrossRef]
  31. Shuai, M.; Yu, N.; Wang, H.; Xiong, L. Anonymous authentication scheme for smart home environment with provable security. Comput. Secur. 2019, 86, 132–146. [Google Scholar] [CrossRef]
  32. Vaidya, B.; Park, J.H.; Yeo, S.S.; Rodrigues, J.J. Robust one-time password authentication scheme using smart card for home network environment. Comput. Commun. 2011, 34, 326–336. [Google Scholar] [CrossRef]
  33. Kim, H.J.; Kim, H.S. AUTH HOTP-HOTP based authentication scheme over home network environment. In International Conference on Computational Science and Its Applications; Springer: Berlin/Heidelberg, Germany, 2011; pp. 622–637. [Google Scholar]
  34. Wazid, M.; Das, A.K.; Odelu, V.; Kumar, N.; Susilo, W. Secure remote user authenticated key establishment protocol for smart home environment. IEEE Trans. Dependable Secur. Comput. 2017, 17, 391–406. [Google Scholar] [CrossRef]
  35. Lyu, Q.; Zheng, N.; Liu, H.; Gao, C.; Chen, S.; Liu, J. Remotely access “my” smart home in private: An anti-tracking authentication and key agreement scheme. IEEE Access 2019, 7, 41835–41851. [Google Scholar] [CrossRef]
  36. Poh, G.S.; Gope, P.; Ning, J. Privhome: Privacy-preserving authenticated communication in smart home environment. IEEE Trans. Dependable Secur. Comput. 2019. [Google Scholar] [CrossRef]
  37. Irshad, A.; Usman, M.; Chaudry, S.A.; Bashir, A.K.; Jolfaei, A.; Srivastava, G. Fuzzy-in-the-loop-driven low-cost and secure biometric user access to server. IEEE Trans. Reliab. 2020. [Google Scholar] [CrossRef]
  38. Banerjee, S.; Odelu, V.; Das, A.K.; Chattopadhyay, S.; Park, Y. An efficient, anonymous and robust authentication scheme for smart home environments. Sensors 2020, 20, 1215. [Google Scholar] [CrossRef] [Green Version]
  39. AL-Turjman, F.; Deebak, D.B. Seamless authentication: For IoT-big data technologies in smart industrial application systems. IEEE Trans. Ind. Inf. 2020. [Google Scholar] [CrossRef]
  40. Lee, J.; Yu, S.; Park, K.; Park, Y.; Park, Y. Secure three-factor authentication protocol for multi-gateway IoT environments. Sensors 2019, 19, 2358. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  41. 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]
  42. Park, K.; Park, Y.; Das, A.K.; Yu, S.; Lee, J.; Park, Y. A dynamic privacy-preserving key management protocol for V2G in social internet of things. IEEE Access 2019, 7, 76812–76832. [Google Scholar] [CrossRef]
  43. Yu, S.; Lee, J.; Park, K.; Das, A.K.; Park, Y. IoV-SMAP: Secure and efficient message authentication protocol for IoV in smart city environment. IEEE Access 2020, 8, 167875–167886. [Google Scholar] [CrossRef]
  44. Boyko, V.; MacKenzie, P.; Patel, S. Provably secure password-authenticated key exchange using Diffie-Hellman. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Bruges, Belgium, 14–18 May 2000; pp. 156–171. [Google Scholar]
  45. Vigano, L. Automated security protocol analysis with the AVISPA tool. Electron. Notes Theor. Comput. Sci. 2006, 155, 61–86. [Google Scholar] [CrossRef] [Green Version]
  46. Mo, J.; Chen, H. A lightweight secure user authentication and key agreement protocol for wireless sensor networks. Secur. Commun. Netw. 2019, 2019, 2136506. [Google Scholar] [CrossRef]
Figure 1. System model for IoT-based smart homes.
Figure 1. System model for IoT-based smart homes.
Sensors 21 01488 g001
Figure 2. Smart device registration phase of the proposed protocol.
Figure 2. Smart device registration phase of the proposed protocol.
Sensors 21 01488 g002
Figure 3. Mobile user registration phase of the proposed protocol.
Figure 3. Mobile user registration phase of the proposed protocol.
Sensors 21 01488 g003
Figure 4. Authentication and key agreement phase of the proposed protocol.
Figure 4. Authentication and key agreement phase of the proposed protocol.
Sensors 21 01488 g004
Figure 5. Password update phase of the proposed protocol.
Figure 5. Password update phase of the proposed protocol.
Sensors 21 01488 g005
Figure 6. Roles of session, environment, and security goals.
Figure 6. Roles of session, environment, and security goals.
Sensors 21 01488 g006
Figure 7. Roles of M U .
Figure 7. Roles of M U .
Sensors 21 01488 g007
Figure 8. Results of analysis using OFMC and CL-AtSe.
Figure 8. Results of analysis using OFMC and CL-AtSe.
Sensors 21 01488 g008
Table 1. Notation.
Table 1. Notation.
NotationDescription
M U Mobile user
H G W Home gateway
S D Smart device
R A Registration authority
I D M U Identity of M U
I D G Identity of H G W
I D S D Identity of S D
P I D M U Pseudo identity of M U
P I D S D Pseudo identity of S D
P W M U Password of M U
K R A Master key of R A
K S D Secret key of S D
K M U G Shared secret key between M U and H G W
K G S D Shared secret key between H G W and S D
r M U , r R A , r S D , R N M U , R N G , R N S D Random number
S K Session key between M U and S D
h ( · ) One-way hash function
E K ( · ) / D K ( · ) Symmetric encryption/decryption using key K
XOR operation
| | Concatenation operation
TTimestamp
Δ T Maximum transmission delay
H E i , L / H E i , H Message header at the low/low security risk
Table 2. BAN logic notation.
Table 2. BAN logic notation.
NotationDescription
s k e y Secret key
W | S Wbelieves statement S
# S Statement S is fresh
W S Wreceives statement S
W | S W once said S
W S Wcontrols statement S
< S > T Statement S is combined with secret statement T
{ S } s k e y Statement S is masked by s k e y
W s k e y N W and N share s k e y to communicate with each other
W s k e y N s k e y is known only to W, N, and trusted principals of W and N
Table 3. Computational costs comparison.
Table 3. Computational costs comparison.
ProtocolTotalComputational Costs
Shuai et al. [31] 3 T m + 16 T h 22.0651 ms
Wazid et al. [34] 25 T h + 1 T R + 4 T s 7.8841 ms
Banerjee et al. [38] 26 T h + 1 T R 7.3633 ms
Xiang and Zheng [6]Low-security risk: 11 T h 0.0044 ms
High-security risk: 11 T h + 4 T s 0.5256 ms
Ours 42 T h 0.0168 ms
Table 4. Communication costs comparison.
Table 4. Communication costs comparison.
ProtocolCommunication CostsNumber of Messages
Shuai et al. [31](960 + 320 + 320 + 320) = 1920 bits4
Wazid et al. [34](480 + 960 + 512 + 1408) = 3360 bits4
Banerjee et al. [38](448 + 320 + 320 + 320) = 1408 bits4
Xiang and Zheng [6]Low-security risk: (132 + 324 + 324) = 780 bits3
High-security risk: (132 + 676 + 676) = 1484 bits3
Ours(640 + 640 + 320 + 320 + 160) = 2080 bits5
Table 5. Security properties.
Table 5. Security properties.
Security Properties [31] [34] [38] [6]Ours
Impersonation attack×
Session key disclosure attack×
Replay attack
MITM attack
Off-line guessing attack×
Stolen smart device attack---×
Privileged-insider attack×
Known session-secret temporary information attack--×
Desynchronization attack×-×
Perfect forward secrecy××-×
Mutual authentication×
Anonymity×××
Untraceability××
∘: Secure. ×: Insecure. -: Not considered.
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Oh, J.; Yu, S.; Lee, J.; Son, S.; Kim, M.; Park, Y. A Secure and Lightweight Authentication Protocol for IoT-Based Smart Homes. Sensors 2021, 21, 1488. https://doi.org/10.3390/s21041488

AMA Style

Oh J, Yu S, Lee J, Son S, Kim M, Park Y. A Secure and Lightweight Authentication Protocol for IoT-Based Smart Homes. Sensors. 2021; 21(4):1488. https://doi.org/10.3390/s21041488

Chicago/Turabian Style

Oh, JiHyeon, SungJin Yu, JoonYoung Lee, SeungHwan Son, MyeongHyun Kim, and YoungHo Park. 2021. "A Secure and Lightweight Authentication Protocol for IoT-Based Smart Homes" Sensors 21, no. 4: 1488. https://doi.org/10.3390/s21041488

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