Next Article in Journal
An Open-Resonator Sensor for Measuring the Dielectric Properties of Antarctic Ice
Previous Article in Journal
Bearing Fault Diagnosis Based on a Hybrid Classifier Ensemble Approach and the Improved Dempster-Shafer Theory
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Enhanced Lightweight IoT-based Authentication Scheme in Cloud Computing Circumstances

by
Rafael Martínez-Peláez
1,*,
Homero Toral-Cruz
2,
Jorge R. Parra-Michel
1,
Vicente García
3,
Luis J. Mena
4,
Vanessa G. Félix
4 and
Alberto Ochoa-Brust
5
1
Facultad de Tecnologías de Información, Universidad De La Salle Bajío, Av. Universidad 602, León 37150, Mexico
2
Department of Sciences and Engineering, University of Quintana Roo, Blvd Bahía S/N, Chetumal 77019, Mexico
3
Departamento de Ingeniería Eléctrica y Computación, Universidad Autónoma de Ciudad Juárez, Av. José de Jesús Macías Delgado 18100, Cd. Juárez 32310, Mexico
4
Unidad Académica de Computación, Universidad Politécnica de Sinaloa, Ctra. Libre Mazatlán Higueras Km 3, Mazatlán 82199, Mexico
5
Facultad de Ingeniería Mecánica y Eléctrica, Universidad de Colima, Av. Universidad 333, Colima 28040, Mexico
*
Author to whom correspondence should be addressed.
Sensors 2019, 19(9), 2098; https://doi.org/10.3390/s19092098
Submission received: 16 March 2019 / Revised: 15 April 2019 / Accepted: 28 April 2019 / Published: 6 May 2019
(This article belongs to the Special Issue IoT Authentication and Trusted Sensing)

Abstract

:
With the rapid deployment of the Internet of Things and cloud computing, it is necessary to enhance authentication protocols to reduce attacks and security vulnerabilities which affect the correct performance of applications. In 2019 a new lightweight IoT-based authentication scheme in cloud computing circumstances was proposed. According to the authors, their protocol is secure and resists very well-known attacks. However, when we evaluated the protocol we found some security vulnerabilities and drawbacks, making the scheme insecure. Therefore, we propose a new version considering login, mutual authentication and key agreement phases to enhance the security. Moreover, we include a sub-phase called evidence of connection attempt which provides proof about the participation of the user and the server. The new scheme achieves the security requirements and resists very well-known attacks, improving previous works. In addition, the performance evaluation demonstrates that the new scheme requires less communication-cost than previous authentication protocols during the registration and login phases.

Graphical Abstract

1. Introduction

Information technology has grown rapidly in the past few years, mainly developing new technologies focused on how to take advantage of the Internet. In this sense, innovations such as wireless access, high speed connection, APIs and electronic services have successfully entered the Internet arena. At the same time, researchers and computer professionals have developed new communication technologies, such as Wi-Fi, 4G, 5G, routing protocols, LTE, Bluetooth, RFID, among others, which offer broader ranges to users. In parallel, the cost of technology keeps decreasing, year by year, making Internet connectivity more accessible for everyone through smaller devices as tablets and smartphones.
On the other hand, as the Internet has become ubiquitous, faster, and increasingly accessible to non-technical communities, social networking and collaborative services, emerging technologies such as artificial intelligence, big data, cloud computing, wireless sensor networks and the Internet of Things (IoT) have appeared, enabling people to communicate and share interests in many more ways. As a consequence, these novel technologies are changing the world, again, creating new business opportunities, new applications to enhance safety, comfort, and efficiency reducing human efforts, and new ways to collect and analyse data.
Among these five emerging technologies, the IoT and cloud computing have become more and more relevant to academia and industry. In 1999 Ashton introduced the concept of IoT [1], which is defined as the connection of physical objects (devices/sensors) through the Internet [2]. Cloud computing, on the other hand, was introduced in 1961 by McCarthy [3], and 36 years later, Chellappa explained the concept in the scenario of current technology era [4], defined as a large-scale distributed computing paradigm which drives the economy of many companies based on virtualization, managed computing power, and storage focused on its core business [3].
The IoT applications are classified into the following categories [5,6]: (a) Internet of sensors (IoS), which is a network made up of sensors which collect and transmit a types of data; (b) Internet of energy (IoE), which is a network of smart grids to analyse and control the energy production, consumption, storage, and distribution; (c) machine to machine (M2M) communication is a network of devices/sensors connected through the Internet; and (d) Internet of Vehicles (IoV), which is a network of vehicles that can share information about the state of the road. Another classification is based on the communication models [7]: (a) machine-to-machine communication, which includes multiple devices/sensors connected to exchange data among them without a physical infrastructure; (b) machine-to-cloud communication, which includes devices/sensors that consume services from a cloud server for storing and processing data; and (c) machine-to-gateway communication, which includes devices/sensors that collaborate as a proxy to expand the range of the network.
In the case of cloud computing, we can find four types of deployment models offered by cloud providers. The first type is known as public cloud, where services and systems are available for anyone through an open communication channel. The second type is known as private cloud where services and systems are accessible for certain users/employees or organizations through a secure communication channel. The third type is known as community cloud where the cloud is shared by several organizations. The last type which includes a public and private cloud to share resources is known as hybrid cloud [4].
From these service platforms, cloud computing allows the interconnection of everything around us, including our vital signs, personal and sensitive data, that travel through an open communication channel to different sites [8,9,10]. This is possible because devices/sensors automatically collect a huge amount of data and stores them on cloud servers [11,12,13,14]. However, this also represents a significant disadvantage in terms of security, because large amounts of personal and sensitive data stored in a single database could be accessed without the approval of users [9].
On the other hand, the main advantage of the IoT, ubiquity, is also its main weakness, because it is also necessary to have a high and complex security protocol. According to El-Hajj et al. [6] and Ferrag et al. [5], IoT security requirements include authentication, authorization, integrity, confidentiality, non-repudiation, availability, and privacy to protect the data, nodes, and messages against attacks.
Therefore, to address the security requirements of both emerging technologies is important focus special attention on the authentication process, because it is the first line of defense against potential attackers. The goal of the authentication protocol is verifying the identity of an entity to determine that he/she or device/sensor is who or what it claims to be [5,6]. For this reason, the authentication process is a key component for secure Internet communication.
In this sense, a strong authentication protocol needs to achieve the following two aims: mutual authentication and session key agreement [15]. In addition, the authentication protocol must avoid the denial-of-service, forgery, parallel session, password guessing, replay, smart card loss, and stolen-verifier attacks [15]. In the threat model of any authentication protocol, an adversary or malicious user has the computational power to compute complex operations in low time and control the public communication channel to capture and store any messages. In general, security threats include more than thirty kinds of attacks [5]. However, the most popular attacks used for evaluating authentication protocols are man-in-the-middle, impersonation and forging, and replay attacks [5].
In recent years, authentication protocols have used cryptosystems as countermeasures to enhance security [5]. The main cryptosystems are hash functions, symmetric algorithms (AES), asymmetric algorithms (RSA, D-H, ECC), digital signatures, and ID-based cryptography; and its adoption mainly depends on the deployment, computational power and energy consumption of the device/sensor. Thus, cryptosystems that require more computational power must be implemented in device/sensor that needs high energy consumption. Therefore, we address to lightweight authentication protocols, which require low computational operations. In this way, the studies carried out by Wang et al. in 2015 [16] and 2018 [17] contribute to understanding the security requirements, adversary model, types of schemes, and evaluation criteria of lightweight authentication protocols.

1.1. Related Work

In this paper, we refer to lightweight authentication schemes which require low computational operations, such as hash functions and exclusive-OR operation. The first lightweight authentication scheme was proposed by Lamport in 1981 [18]. Lamport introduced the concept of a hash chain to authenticate remote users through an open communication channel. Lamport’s scheme is feasible for practical implementation due to its low computational cost, however, the scheme requires that the server maintains a verification table making it vulnerable to steal personal data. In 1990, Hwang et al. [19] proposed a scheme without a verification table. Later, Lin et al. [20] proposed an authentication scheme based on the asymmetric ElGamal algorithm to improve the security characteristics of Li et al. in [21]. Since 1990, several authentication schemes were proposed to enhance the security of previous ones. These schemes were designed for communication between n users and a single server.
Later, Liao et al. [22] proposed an authentication scheme for a multi-server environment. Nevertheless, Liao et al.’s scheme is vulnerable to an insider attack, masquerade attack, server spoofing attack, and registration center spoofing attacks [23]. Hsiang et al. [23] proposed a new authentication scheme to resolve the security drawbacks of Liao et al.’s scheme. However, Martínez-Peláez et al. [24] demonstrated that Hsiang et al.’s scheme is insecure. Two years later, Kim et al. [25] evaluated Martínez-Peláez et al.’s scheme finding security vulnerabilities. The same year, Li et al. [26] evaluated the scheme proposed by Sood et al. [27] finding it insecure. Then, Xue et al. [28] demonstrated the security vulnerabilities of Li et al.’s scheme. Later, Amin et al. [1] proposed an authentication scheme which remedies the security drawbacks of Xue et al.’s scheme. Nonetheless, Challa et al. [29] demonstrated that Amin et al.’s scheme is vulnerable to privileged-insider and impersonation attacks.
In 2019, Zhou et al. [30] proposed a scheme based on hash function and exclusive-or operation to provide authentication on large-scale IoT and cloud computing deployment. They explained that Amin et al.’s scheme cannot resist off-line guessing attacks. They also claimed that their scheme is secure against very well-known attacks.

1.2. Contribution

In this work, we review the scheme proposed by Zhou et al. [30] and point out that the scheme has security vulnerabilities and drawbacks which make it insecure. In particular, the scheme is vulnerable to insider, replay and user impersonation attacks. Moreover, the scheme fails to provide mutual authentication and fails to protect secret keys. Therefore, the main contribution of this paper is a new version of the authentication scheme proposed by Zhou et al. which achieves the following security characteristics: mutual authentication and session key agreement. Moreover, our proposal maintains the user’s anonymity against eavesdroppers and requires login phase.
On the other hand, in the security scheme of Zhou et al., neither the server or nor the user knows if the other party is a legal member of the system. For that reason, the scheme includes a new sub-phase called evidence of connection attempt which provides elements for identifying the participants of the authentication request. This sub-phase complements the authentication phase included in [30].
The rest of this paper is organized as follows: Section 2 presents the overview of Zhou et al.’s scheme, in particular registration and authentication phases, and contains the results of the security analysis carried out to the proposal of Zhou et al. based on [5,6,15]. The new proposal is explained in Section 3. Security analysis and performance evaluation are given in Section 4. Conclusions are presented in Section 5.

2. Review and Security Analysis of Zhou’s Scheme

Firstly, we provide a brief description about the registration and authentication phases of the scheme proposed by Zhou et al. in [30]. Then, we carry out the security analysis to explain the drawbacks and vulnerabilities found in their scheme.

2.1. Registration Phase

This phase is divided in user registration and cloud server registration sub-phases.

2.1.1. User Registration Sub-Phase

In this sub-phase, the user ( U i ) is registered by the control server (CS). The communication between U i and CS is through a secure channel. The steps involved in this sub-phase are as follows:
Step 1: U i selects an identity ( I D i ) , pseudo-identity ( P I D i ) , password ( P W i ) , and nonce ( b i ) . Then, U i computes H P i = h ( P W i b i ) and sends the registration request message M 1 = { I D i , P I D i } to CS were h ( · ) is a one-way hash function, represents concatenation operation and represents an exclusive-or operation.
Step 2: Upon receiving the registration request message M 1 , CS verifies if I D i is valid or not. In case that I D i is invalid, the registration process will be closed. On the other hand, C S computes C 1 * = h ( P I D i I D C S x ) and C 2 * = h ( I D i x ) . Then, CS stores I D i in a database and sends the registration response message M 2 = { C 1 , C 2 , I D C S } to U i .
Step 3: After receiving the registration response message M 2 , U i computes C 1 = C 1 *     H P i , C 2 = C 2 *   h ( I D i H P i ) and C 3 = b i     h ( I D i P W i ) , and stores ( C 1 , C 2 , C 3 , P I D i , I D C S ) in his smart card.
At this point, the user registration sub-phase is over and U i was registered by C S .

2.1.2. Cloud Server Registration Sub-phase

In this sub-phase, the server ( S j ) is registered by the control server ( C S ) . The communication between S j and CS is through a secure communication channel. The steps involved in this sub-phase are as follows:
Step 1: S j selects an identity ( S I D j ) and pseudo-identity ( P S I D j ) . Then, S j sends the registration request message M 3 = { S I D j , P S I D j } to CS.
Step 2: Upon receiving the registration request message M 3 , CS computes B 1 = h ( P S I D j I D C S x ) and B 2 = h ( S I D j x ) . Then, C S stores S I D j and sends the registration response message M 4 = { B 1 , B 2 , I D C S } to S j .
Step 3: After S j receives the registration response message M 4 , S j stores ( B 1 , B 2 , S I D j , P S I D j , I D C S ) .
At this point, the cloud server registration sub-phase is over and S j was registered by C S .

2.2. Authentication Phase

This phase is divided in the following steps and the details are shown in Figure 1:
Step 1: This step is invoked by U i , when she/he wants to get access to the service offered by S j . U i inserts his/her smart card and keys his/her I D i and P W i . Then, the smart card generates a random number ( r U ) and new pseudo-identity ( P I D i n e w ) . After that, U i computes b i = C 3 h ( I D i P W i ) , H P i = h ( P W i b i ) , C 1 * = C 1 H P i , C 2 * = C 2 h ( I D I H P I ) , D 1 = C 1 * r U , D 2 = h ( P I D i I D C S r U ) I D i , D 3 = C 2 * h ( I D i H P i ) P I D n e w h ( r U I D i ) , and D 4 = h ( I D i P I D i P I D i n e w r U D 3 ) . Then, U i sends the authentication request message M 5 = { P I D i ,   D 1 ,   D 2 ,   D 3 , D 4 } to S j through an open communication channel.
Step 2: This step is invoked by S j . After receiving the authentication request message M 5 , S j selects a new pseudo-identity ( P S I D j n e w ) and a random number ( r S ) . Then, S j computes D 5 = B 1 r S , D 6 = h ( r S P S I D j I D C S ) S I D j , D 7 = B 2 P S I D j n e w h ( r S S I D j ) , and D 8 = h ( S I D j   P S I D j P S I D j n e w r S D 7 ) . Finally, S j sends the authentication request message M 6 = { P I D i ,   D 1 ,   D 2 ,   D 3 ,   D 4 ,   P S I D j ,   D 5 ,   D 6 ,   D 7 ,   D 8 } to C S through an open communication channel.
Step 3: This step is invoked by C S . Upon receiving the authentication request message M 6 , C S computes r U = D 1 h ( P I D i I D C S x ) , I D i = D 2 h ( r U P I D i I D C S ) , and P I D i n e w = D 3 h ( I D i x ) h ( r U I D i ) . Then, C S checks if I D i and D 4 are valid or not. If the verification process fails, C S closes the communication. On the other hand, C S computes r S = D 5 h ( P S I D j I D C S x ) , S I D j = D 6 h ( r S P S I D j I D C S ) , and P S I D j n e w = D 7 h ( S I D j x ) h ( r S S I D j ) . Next, C S checks if S I D j and D 8 are valid or not. If the verification process fails, C S closes the communication. On the other hand, C S selects a random number ( r C S ) and computes the session key S K C S = h ( r U r S r S C ) . Later, C S computes D 9 = h ( P S I D j n e w I D C S x ) h ( r S P S I D j n e w ) , D 10 = h ( P S I D j n e w r S P S I D j ) ( r U r C S ) , = h ( S K C S D 9 D 10 h ( S I D j x ) ) , D 12 = h ( P I D i n e w I D c s x ) h ( r U P I D i n e w ) , D 13 = h ( P I D i n e w r U P I D i ) ( r S r S C ) , and D 14 = h ( S K C S D 12 D 13 h ( I D i x ) ) . Finally, C S sends M 7 = { D 9 , D 10 , D 11 , D 12 , D 13 , D 14 } to S j through an open communication channel.
Step 4: This step is invoked by S j . Yet receiving the authentication response message M 7 , S j computes ( r U r C S ) = D 10 h ( P S I D j n e w r S P S I D j ) and S K S = h ( r S r U r C S ) . Then, S j checks if D 11 is correct or not. If the verification process is correct, S j computes B 1 n e w = D 9 h ( r S P S I D j n e w ) and replaces B 1 ,   P S I D j with B 1 n e w ,   P S I D j n e w . Finally, S j sends M 8 = { D 12 , D 13 , D 14 } to U i through an open communication channel.
Step 5: This step is invoked by U i . After receiving the authentication response message M 8 , U i computes ( r S r S C ) = D 13 h ( P I D i n e w r U P I D i ) and S K U = h ( r U r S r C S ) . Then, U i checks if D 14 . is correct or not. If the verification process is correct, U i computes C i n e w = D 12 h ( r U P I D i n e w ) H P i and replaces C 1 ,   P I D i with C 1 n e w ,   P I D i n e w .

2.3. Security Vulnerabilities

In this subsection, we explain the weaknesses found in the scheme proposed by Zhou et al. in [30]. The security analysis was conducted based on [5,6,15]. From these works, we performed the security analysis. In this part, we assume the following capabilities of the attacker [31,32]:
  • The attacker is a legal member of the system which means that he/she was registered by CS and he/she has all the security parameters.
  • The attacker can control the public communication channel giving him/her the possibility to intercept, insert, store, delete, or modify any message.
  • The attacker has high computational power connected to the public communication channel.

2.3.1. Insider Attack

This attack happens when a malicious user has enough knowledge to attack sensitive data or the whole system. In this scenario, the attacker knows C 2 * = h ( I D i x ) , computed by C S during the user registration phase. According with Zhou et al., C S uses the same secret key ( x ) to register users and servers, so he/she can find x from C 2 * , searching exhaustively all possible random number y until h ( I D i y ) = C 2 * = h ( I D i x ) to know the secret key of C S . This attack is possible because the attacker knows I D i and C 2 * .

2.3.2. Man-in-the-Middle Attack

This attack happens when an attacker has control over the public communication channel providing him/her the possibility to listen the conversation between two entities. Under this scenario, the attacker can intercept the authentication request message M 5 = { P I D i ,   D 1 ,   D 2 ,   D 3 , D 4 } sent from U i to S j . Under this situation, the attacker can achieve the following active attacks.
Replay Attack
The attacker can transmit the last authentication request message M 5 sent to S j , at any given time and from any given place, to impersonate a legitimate U i . The description of the attack is as follows:
Step 1: The attacker has, at-least, one authentication request message M 5 sent by U i to S j , and the attacker knows I D C S and x .
Step 2: The attacker sends an authentication request message M 5 r e p l a y to S j . The message contains the same information transmitted in previous communication.
Step 3: The attacker uses I D C S , x and P I D i to compute
C 1 * = h ( P I D i I D C S x ) ,
r U = D 1 h ( P I D i I D C S x ) ,
I D i = D 2 h ( r U P I D i I D C S ) , and
P I D i n e w = D 3 h ( I D i x ) h ( r U I D i ) .
Step 4: After C S verifies the authenticity of I D i and D 4 , C S computes and sends
D 12 = h ( P I D i n e w I D c s x ) h ( r U P I D i n e w ) ,
D 13 = h ( P I D i n e w r U P I D i ) ( r S r S C ) , and
D 14 = h ( S K C S D 12 D 13 h ( I D i x ) ) .
Step 5: Upon receiving the authentication response message M 8 , the attacker computes
( r S r S C ) = D 13 h ( P I D i n e w r U P I D i ) and
S K U = h ( r U r S r C S ) .
As a consequence, the attacker can launch the replay attack successfully.
User Impersonation Attack
The attacker can compute a valid authentication request message which contains the correct parameters to be authenticated by C S . The description of the attack is presented below:
Step 1: The attacker knows I D C S , x and P I D . Thus, he/she computes
C 1 * = h ( P I D i I D C S x ) .
Step 2: The attacker recovers r U from D 1 computing
r U = D 1 h ( P I D i I D C S x ) .
Step 3: The attacker has enough information to recover sensitive data as follows
I D i = D 2 h ( r U P I D i I D C S ) and
P I D i n e w = D 3 h ( I D i x ) h ( r U I D i ) .
Step 4: From this point, the attacker computes a fake authentication request message as follows:
D 1 f a k e = C 1 * r U f a k e ,
D 2 f a k e = h ( P I D i n e w I D C S r U f a k e ) I D i ,
D 3 f a k e = C 2 * P I D i f a k e h ( r U f a k e I D i ) , and
D 4 f a k e = h ( I D i P I D i n e w P I D i f a k e r U f a k e D 3 f a k e ) .
Step 5: The attacker sends the fake authentication request message M 5 f a k e = { P I D i n e w ,   D 1 f a k e , D 2 f a k e ,   D 3 f a k e , D 4 f a k e } to S j . After S j finalizes the process, S j sends the authentication request message M 6 = { P I D i n e w ,   D 1 f a k e , D 2 f a k e ,   D 3 f a k e , D 4 f a k e , P S I D j , D 5 , D 6 , D 7 , D 8 } to C S . Upon receiving the authentication request message M 6 , C S carries out the verification process of D 4 f a k e computing h ( I D i P I D i n e w P I D i f a k e r U f a k e D 3 f a k e ) and verifying D 4 f a k e   ? = h ( I D i P I D i n e w P I D i f a k e r U f a k e D 3 f a k e ) . It is obvious that, D 4 f a k e will pass the verification process because it contains the original I D i and last P I D i n e w .

2.4. Security Drawbacks

In this subsection, we expose the absence of security requirements in the scheme of Zhou et al. [30]. The security analysis was conducted based on [5,6,15]. From these references, we initialized the security analysis.

2.4.1. Fails to Provide Mutual Authentication

The scheme proposed by Zhou et al. does not provide mutual authentication. The C S verifies the identity of U i and S j during the third step of the authentication phase; however, neither the user nor server verifies the identity of each other. Moreover, the authentication request messages M 5 and M 6 do not contain information which establishes a relationship between U i and S j , as evidence to the attempt of connection.

2.4.2. Fails to Protect Secret Key

In the scheme proposed by Zhou et al., the C S uses the same secret key ( x ) to register users and servers. Moreover, the secret key is hidden by means of C 1 * = h ( P I D i I D C S x ) and C 2 * = h ( I D i x ) ; however an attacker can recover it for three reasons.
The first reason is related with the fact that C S uses the same secret key to register each user and each server, increasing the possibility of finding the correct value of x . The second reason is related with the fact that an attacker knows I D C S and P I D i ; this means that, each user knows two of three security parameters, decreasing the entropy to find x , in polynomial time. Finally, the low execution time of the hash function makes possible to find the secret key in polynomial time, in specific, using C 2 * = h ( I D i x ) because the attacker knows I D i .

3. Proposed Scheme

In this section, we present our new version of a lightweight IoT-based authentication scheme in cloud computing circumstances. The scheme includes mutual authentication and key agreement to provide strong security for accessing any server of the cloud. The scheme consists of the following phases:
Registration is the process through C S creates the security parameters of each member of the system. This phase is mandatory for users and servers. The communication among participants is through a secure channel avoiding eavesdropper.
Login is the process through U i gets access to security parameters stored in his/her S C U . U i needs to insert his/her S C U , and inputs I D i and P W i . Then, S C U computes and verifies the legitimacy of U i . If the verification process is correct, U i sends the authentication request message to S j through an open communication channel.
Authentication is the processes by C S carries out the validation process of U i and S j . Moreover, C S verifies that both entities want to establish a secure communication.
Key agreement is the process by C S computes the session key for U i and S j . The session key is unique.
Mutual authentication is the process through U i and S j verifies the legitimacy of each other. In this case, U i sends a challenge to S j . If the response is correct, U i knows that S j is a member of the system.
Table 1 summarizes the notations used throughout our proposal.

3.1. Registration Phase

This phase includes user registration and server registration.

3.1.1. User Registration Sub-Phase

This sub-phase is initialized by U i when wants to be part of the system. The details of each step are shown in Figure 2.
Step 1: U i inserts his/her S C i into a device and keys his/her I D i and P W i . Then, S C i generates a random nonce ( n U ) , obtains the current timestamp value ( T U ) and computes:
P I D i = h ( T U n U )
U i C S : M 1 = { I D i , P I D i }
Equation (1) is used to compute the pseudo-identity of each user.
Step 2: After receiving the registration request message M 1 , C S verifies the validity of I D i . If I D i is valid, C S computes:
C 1 = h ( I D i P I D i )
C 2 = h ( P I D i h ( I D C S x ) h ( I D C S y ) ) h ( I D C S x ) h ( I D C S y )
C 3 = h ( I D i P I D i h ( I D C S x ) h ( I D C S y ) ) P I D i h ( x y )
S T O R E S   C 1   i n   a   d a t a b a s e
C S U i :   M 2 = { C 2 ,   C 3 }
C S registers U i by Equation (2). Equations (3) and (4) are security parameters for future authentication purpose.
Step 3: Upon receiving the registration response message M 2 , S C i computes:
C 4 = h ( I D i P W i h ( n U ) )
S T O R E S   P I D i , C 2 , C 3 , C 4 , h ( n U )   i n   S C i
S C i computes the local user authentication parameter using Equation (5) and stores all the security parameters received from C S . The user registration sub-phase is over.

3.1.2. Cloud Server Registration

This sub-phase is initialized by each S j in order to be part of the system. The details of each step are shown in Figure 3.
Step 1: S j generates a random nonce n S , obtains the current timestamp value T S and computes:
P S I D j = h ( T S n S )
S j C S : M 3 = { S I D j , P S I D j }
Equation (6) is used to compute the pseudo-identity of each server.
Step 2: After receiving the registration request message M 3 , C S verifies the validity of S I D j . If S I D j is correct, C S computes:
B 1 = h ( S I D j P S I D j )
B 2 = h ( P S I D j h ( I D C S z ) h ( I D C S y ) ) h ( I D C S z ) h ( I D C S y )
B 3 = h ( S I D j P S I D j h ( I D C S z ) h ( I D C S y ) ) P S I D j h ( z y )
S T O R E S   B 1   i n   a   d a t a b a s e
C S S j : M 4 = { B 2 , B 3 }
C S registers S j by Equation (7). Equations (8) and (9) are security parameters for future authentication purpose.
Step 3: After receiving the registration response message M 4 , S j stores B 2 and B 3 .

3.2. Login Phase

Once U i was registered, U i can connect to any server of the cloud by initiating the login phase. The details are shown in Figure 4.
Step 1: In order to start the authentication phase, U i must first complete the login phase. Firstly, U i inserts S C i and keys his/her I D i * and P W i * .
Step 2: Then, S C i computes and checks:
C 4 * = h ( I D i * P W i * h ( n U ) )   ? = C 4
Equation (10) is used to verify the legitimacy of U i by S C i for getting access to security parameters provided by S j .
Step 3: If the verification process is correct, S C i generates a random nonce n U n e w , obtains the current timestamp value T U n e w and computes:
D 1 = C 2 I D i
D 2 = C 3 h ( T U n e w I D i ) h ( n u n e w )
U i S j : M 5 = { T U n e w , D 1 , P I D i , D 2 }
Equations (11) and (12) contain U i ´s information which will be used by C S to verify its legitimacy. Finally, U i sends the user authentication request message M 5 to S j through an open communication channel.
Step 4: After receiving the user authentication request message M 5 , S j generates a random nonce n S n e w , obtains the current timestamp value T S n e w and computes:
D 3 = B 2 S I D j
D 4 = B 3 h ( T S n e w S I D j ) h ( n S n e w )
D 5 = h ( P I D i T U n e w S I D j P S I D j T S n e w )
S j C S : M 6 = { T U n e w , D 1 , P I D i , D 2 , T S n e w , D 3 , P S I D j , D 4 , D 5 }
Equations (13) and (14) contain S j ´s information which will be used by C S to verify its legitimacy. Equation (15) contains information about U i and S j as evidence of its connection attempt. Finally, S j sends the authentication request message M 6 to C S through an open communication channel.

3.3. Authentication Phase

This phase is divided in three sub-phases. The details of user authentication, server authentication and evidence of connection attempt are shown in Figure 5.

3.3.1. User Authentication

Step 1: Upon receiving the authentication request message M 6 , C S checks the freshness of the message by means of T U n e w . If the verification process is positive, C S computes:
C 2 * = h ( P I D i * h ( I D C S x ) h ( I D C S y ) ) * h ( I D C S x ) h ( I D C S y )
where P I D i * is the pseudo-identity of U i contained in message M 2 . C S computed C 2 * using P I D i * and Equation (3).
Step 2: C S verifies the legitimacy of U i by means of C 1 as follows:
D 1 = C 2 * I D i D 1 = h ( P I D i * h ( I D C S x ) h ( I D C S y ) ) * h ( I D C S x ) h ( I D C S y ) I D i I D i * = h ( P I D i * h ( I D C S x ) h ( I D C S y ) ) * h ( I D C S x ) h ( I D C S y ) D 1
C 1 * = h ( I D i * P I D i )   ? = C 1
Equation (16) is used to recover I D i * from D 1 . Equation (17) is used to verify the legitimacy of U i using I D i * and C 1 . If the verification process is correct, C S continues with the next step; otherwise, C S finalizes the process.
Step 3: After verifying the legitimacy of U i , C S recovers h ( n U n e w ) as follows:
h ( n U n e w ) * = h ( I D i * P I D i * h ( I D C S x ) h ( I D C S y ) ) * P I D i * h ( x y ) h ( T U n e w I D i * ) * D 2
Equation (18) is used to recover h ( n U n e w ) * from D 2 .
Step 4: C S computes C 1 n e w with T U n e w and h ( n U n e w ) * using Equation (19). Then, C S updates C 1 in the database:
C 1 n e w = h ( I D i h ( T U n e w C 1 h ( n U n e w ) ) )

3.3.2. Server Authentication

Step 1: Upon finalizing the user authentication process, C S checks the freshness of the message by means of T S n e w .
Step 2: If the verification process is positive, C S verifies the legitimacy of S j as follows:
D 3 = B 2 S I D j B 2 = h ( P S I D j * h ( I D C S z ) h ( I D C S y ) ) * h ( I D C S z ) h ( I D C S y ) S I D j S I D j * = h ( P S I D j * h ( I D C S z ) h ( I D C S y ) ) * h ( I D C S z ) h ( I D C S y ) D 3
B 1 * = h ( S I D j * P S I D j * )   ? = B 1
Equation (20) is used to recover S I D j * from D 3 , using P S I D j * . Then, C S computes Equation (21) to obtain B 1 * and compares it with B 1 . If the verification process is correct, C S continues with the process, otherwise, C S finalizes the process.
Step 3: After verifying the legitimacy of S j , C S recover h ( n S n e w ) as follows:
h ( n S n e w ) * = h ( S I D j * P S I D j * h ( I D C S z ) h ( I D C S y ) ) * P S I D j * h ( z y ) h ( T S n e w S I D j * ) D 4
Finally, Equation (22) is used to recover h ( n S n e w ) * from D 4 .

3.3.3. Evidence of Connection Attempt

Step 1: C S corroborates that U i wants to establish a connection with S j as follows:
D 5 * = h ( P I D i * T U n e w S I D j * P S I D j * T S n e w ) *   ? = D 5
in this case, C S has evidence of the connection attempt between U i and S j . It is important to note that, Equation (23) requires the fresh timestamp from U i and S j . Moreover, D 5 contains P I D i , S I D j and P S I D j which demonstrate the interest of the two entities for establishing a secure communication.

3.4. Key Agreement Phase

This phase is divided in three sub-phases. The details of each phase are shown in Figure 6.

3.4.1. Session Key Creation

In this sub-phase, C S computes the session key between U i and S j as follows:
Step 1: C S generates a random nonce n C S n e w and computes the session key S K U S as follows:
S K U S = h ( h ( n U n e w ) h ( n S n e w ) h ( n C S n e w T C S n e w ) )
Equation (24) is used to compute the session key. The session key contains security parameters generated by U i , S j and C S which represents the relationship among all the participants.
Step 2: C S computes the verification parameters for S j and U i as follows:
D 6 = B 2 h ( T S n e w S I D j ) T C S n e w
D 7 = h ( n C S n e w T C S n e w ) h ( S I D j T C S n e w ) h ( n U n e w )
D 8 = C 2 h ( T U n e w I D i ) T C S n e w
D 9 = h ( n C S n e w T C S n e w ) h ( I D i T C S n e w ) h ( n S n e w )
where D 6 and D 7 are for S j , while D 8 and D 9 are for U i . Equations (25) to (28) contain information generated by C S for computing the session key.
Step 3: C S computes the challenge-response message for S j and U i as follows:
D 10 = E S K ( h ( n C S n e w ) h ( S I D j P S I D j B 2 ) )
D 11 = E S K ( h ( n C S n e w ) h ( I D i P I D i C 2 ) )
C S S j : M 7 = { D 6 , D 7 , D 10 , D 8 , D 9 , D 11 }
C S computed the challenge-response message for each entity using the session key; this means that, a legitimate participant can recover the security parameters to construct the session key. Finally, C S sends the authentication response message M 7 to S j through an open communication channel.

3.4.2. Server Session Key

Step 1: After receiving M 7 , S j computes and verifies the freshness of M 7 :
T C S n e w * = B 2 h ( T S n e w S I D j ) D 6
Equation (31) is used to extract T C S n e w * from D 6 .
Step 2: If M 7 is fresh, S j computes:
h ( n C S n e w T C S n e w ) * h ( n U n e w ) * = h ( S I D j T C S n e w ) D 7
S K U S * = h ( h ( n U n e w ) * h ( n S n e w ) h ( n C S n e w T C S n e w ) * )
h ( n C S n e w ) * = h ( n C S n e w ) h ( S I D j P S I D j B 2 ) = D S K * ( D 10 )
S j U i : M 8 = { D 8 , D 9 , D 11 }
at this point, S j knows the session key ( S K U S * ) and the value h ( n C S n e w ) * . Finally, S j sends M 8 to U i through an open communication channel.

3.4.3. User Session Key

Step 1: Upon receiving the user authentication response message M 8 , U i computes and verifies the freshness of M 8 :
T C S n e w * = C 2 h ( T U n e w I D i ) D 8
Step 2: If M 8 is fresh, U i computes:
h ( n C S n e w T C S n e w ) * h ( n S n e w ) * = h ( I D i T C S n e w ) D 9
S K U S * = h ( h ( n U n e w ) h ( n S n e w ) * h ( n C S n e w T C S n e w ) * )
D S K * ( D 11 ) = h ( n C S n e w ) h ( I D i P I D i C 2 ) = h ( n C S n e w ) *
U i knows the session key and the value h ( n C S n e w ) * .

3.5. Mutual Authentication

Step 1: U i sends the challenge message M 9 to S j . M 9 contains h ( n C S n e w ) as proof of his/her legitimacy and requests the response:
U i S j : M 9 = { E S K ( h ( n C S n e w ) s e r v e r V a l u e ( c h a l l e n g e ) ) }
Step 2: Upon receiving the challenge message M 9 , S j computes
h ( n C S n e w ) * s e r v e r V a l u e ( c h a l l e n g e ) = D S K ( M 9 )
h ( n C S n e w ) * ? = h ( n C S n e w )
S j U i : M 10 = { E S K ( s e r v e r V a l u e ( h ( n C S n e w T C S n e w ) h ( n U n e w ) ) ) }
S j knows that U i is the user who requested the user authentication by means of Equations (37) and (38). Then, S j sends the response to U i .
Step 3: Upon receiving the message M 10 , U i computes and verifies the legitimacy of S j as follows:
h ( n C S n e w T C S n e w ) * h ( n U n e w ) = s e r v e r V a l u e ( h ( n C S n e w T C S n e w ) h ( n U n e w ) ) = D S K ( M 10 )
h ( n C S n e w T C S n e w ) * ? = h ( n C S n e w T C S n e w )
finally, U i recovers the response from M 10 using Equation (39) and verifies the legitimacy of S j by means of Equation (40).
Step 4: U i replaces P I D i , h ( n U ) , and C 4 = h ( I D i P W i h ( n U ) ) with P I D i n e w = ( h ( T U n e w h ( I D i P I D i ) n U n e w ) ) , h ( n U n e w ) , and C 4 n e w = h ( I D i P W i h ( n U n e w ) ) , respectively.

3.6. Password Change Phase

When U i wants to change or to update his/her password, he/she needs to key his/her I D i and P W i . Then, S C i computes Equation (10) to verify his/her legitimacy. If the verification process is correct, U i keys P W i n e w and S C i computes Equation (40):
C 4 n e w = h ( I D i P W i n e w h ( n u ) )
U P D A T E S   C 4

4. Security Analysis and Performance Evaluation

In this section, we carry out the security analysis and performance evaluation comparison of our proposal. The security analysis includes an informal cryptanalysis, security of session key and countermeasures to improve security. The performance evaluation includes computational- and communication-cost comparison with Zhou et al.’s, Amin et al.’s and Xue et al.’s schemes.

4.1. Informal Cryptanalysis

In this sub-section, we analyse the security of our proposal using informal security analysis.

4.1.1. User Anonymity

In our scheme, U i sends P I D i = h ( T U n U ) to S j instead of I D i in clear text. Moreover, P I D i is updated after finalizing the user authentication sub-phase with T U n e w and n U n e w , keeping the identity of each user anonym. In consequence, when the user sends the authentication request message to S j , the P I D i will be different. Furthermore, an attacker cannot recover I D i from P I D i , D 1 , or D 2 without security parameters. Therefore, the scheme provides user anonymity.

4.1.2. Off-line User Identity and Password Guessing Attack

In the case that a malicious user obtains S C i , he/she can recover P I D i , C 2 , C 3 , C 4 , h ( n U ) [33,34]. However, he/she cannot obtain sensitive data from C 2 because nobody knows x, y, z, and IDCS. From C 3 the attacker can extract P I D i which it is stored in S C i . In this case, he/she is not capable to extract sensitive data from S C i .

4.1.3. Privileged Insider Attack

In our scheme, security parameters are personalized using data from each user or cloud server, making more complex the possibility to know secret keys of C S . If a malicious user tries to extract x and y from C 2 or C 3 , he/she needs to recover h ( I D C S x ) or h ( I D C S y ) from Equations (3) or (4):
C 2 = h ( P I D i h ( I D C S x ) h ( I D C S y ) ) h ( I D C S x ) h ( I D C S y )
C 3 = h ( I D i P I D i h ( I D C S x ) h ( I D C S y ) ) P I D i h ( x y )
but the attacker only know P I D i . Moreover, C S does not include its I D C S in any messages or shares it in clear text. Thus, the scheme resists this attack.

4.1.4. Impersonation Attack

In the case that an attacker obtains P I D i , C 2 , C 3 , C 4 , h ( n U ) from S C i [33,34] and M 5 = { T U n e w , D 1 , P I D i , D 2 } the attacker cannot create a valid authentication request message by any type of combination of the security parameters. In this case, the malicious user computes D 1 f a k e = C 2 I D i f a k e using I D i f a k e but he/she cannot compute a valid P I D i and C 3 which are required to compute a valid D 2 . In consequence, the attacker cannot impersonate a legal user.

4.1.5. Replay Attack

In this attack, the malicious user needs to know previous authentication request message M 5 = { T U n e w , D 1 , P I D i , D 2 } . However, our scheme uses random nonce ( n U ) and timestamp ( T U ) to avoid replay attack. The control server verifies the freshness of the timestamp every time.

4.2. Security of Session Key

A key purpose of an authentication scheme is the establishment of a session key, so the session key should be protected against known-key security and forward secrecy [22].

4.2.1. Known-key Security

In our scheme, C S computes new session key every time the authentication is correct. This means that, C S uses the new random nonce ( n U n e w ) , ( n S n e w ) and ( n C S n e w ) , and its current timestamp ( T C S n e w ) to compute a fresh session key, avoiding the compromise of previous session keys. If the attacker knows M 7 = { D 6 , D 7 , D 10 , D 8 , D 9 , D 11 } , he/she cannot compute a valid session key ( S K U S ) without random nonce and C S s timestamp. Even though the attacker knows past session key ( S K U S o l d ) , he/she cannot compute the new session key by means of any type of combination.

4.2.2. Forward Secrecy

In our scheme, C S computes the session key without the use of secret keys ( x , y , z ) , avoiding compromise its security in case that an attacker knows the secret keys. Let us suppose that, an attacker knows ( x , y , z ) , he/she cannot compute the correct session key because it does not contain the secret keys. Thus, the attacker cannot create a valid session key.

4.3. Countermeasures

4.3.1. Local Protection against Malicious Users

In our scheme, S C i verifies the legitimacy of U i by means of Equation (10). This mean that U i must be authenticated by S C i before it computes the user authentication request message [22].

4.3.2. Mutual Authentication

In our scheme, U i and S j verify that each other is a legitimate user in the system and want to establish a secure communication through Equations (37) to (40). In this case, U i sends a challenge to S j for carrying out the mutual authentication process. The response message contains ( n C S n e w T C S n e w ) which represents the fresh of the communication. Moreover, U i knows the same value, thus avoiding a man-in-the-middle attack.

4.3.3. Evidence of Connection Attempt

In our scheme, S j computes D 5 , using Equation (15), which contains information from U i and S j , making unique the value of D 5 . Then, C S verifies the connection attempt between U i and S j by means of Equation (23). Moreover, C S computes the session key using information of U i , S j and C S .

4.4. Security Comparison

This sub-section presents the security comparison of the proposed scheme with Zhou et al.’s scheme, Amin et al.’s scheme and Xue et al.’s schemes in terms of security properties. Table 2 lists comparative results.
According to Table 2, it is clear that previous works are vulnerable to different attacks and fails to provide mutual authentication between the server and the user. Moreover, previous works do not provide evidence of connection attempts. In consequence, our protocol resists very well-known attacks, provides evidences of connection attempts, mutual authentication and user anonymity.

4.5. Computational-cost Comparison

This sub-section presents the performance evaluation of the proposed scheme with Zhou et al.’s scheme, Amin et al.’s scheme and Xue et al.’s scheme in terms of execution-time. The evaluation of each scheme was based on the following considerations:
  • Th represents a hash function.
  • TS represents an encryption/decryption operation using AES algorithm.
  • The execution time for Th is case 1: 0.00517 ms [30] and case 2: 0.0000328 ms [32].
  • The execution time for TS is case1: 0.02148 ms [30] and case2: 0.0214385 ms [32].
Table 3 summarizes the operations carried out by U i ,   S j and C S during the registration, login and authentication phases. The execution time required by U i ,   S j and C S during each phase is shown in Table 4.
From Table 3, it is easy to see that our scheme requires more computational operations than previous works. However, it is necessary to compute the execution-time in a real scenario. For that reason, we used the execution-time described in [30] and [32] to compare the performance of each scheme. The execution-time results are shown in Table 4, and it is clear that the execution time depends on: (a) the characteristics of each device, (b) the cryptography libraries and (c) the computational load. In our scheme, C S is the participant which computes more computational operations because we assume that has more resources than U i and S j . Moreover, U i computes more computational operations than S j because we assume that U i will request few connections per day; however, S j will receive many request for connection, considering a high volume of users it is necessary that S j computes few computational operations. According with the results summarized in Table 4, the scheme with les computational operations was proposed by Amin et al. [1].
In fact, the execution time of each device must be considered as show in Table 4. The computational operations evaluated using case 2 gives better results than case 1. Under this situation, our scheme requires 40% less time which represents an acceptable performance, less than 0.1862 ms [30].
Figure 7 shows the computational-cost comparison by participant and scheme. In this case, we used the execution-time of the case 1. The main difference between our scheme and previous works is the inclusion of symmetric operations during the authentication phase. The symmetric operations are used to provide mutual authentication between U i and S j , increasing the security of the proposed scheme.

4.6. Communication-Cost Comparison

In this sub-section, we compare the communication-cost of our scheme with Zhou et al.’s scheme, Amin et al.’s scheme and Xue et al.’s scheme in terms of message length. For conventional comparison, we assume two bit length cases:
  • Case 1: any identity, password, pseudo-identity, timestamp, random nonce, and hash output are 128 bits.
  • Case 2: any identity, password, pseudo-identity, timestamp, random nonce, and hash output are 256 bits.
  • The block length of the symmetric encryption is 128 bits.
Table 5 summarizes the message length by each entity during the scheme.
From Table 5, we see very clearly that our scheme requires the same message length as Zhou et al.’s scheme, 4352 bits or 8704 bits. However, our scheme provides mutual authentication and evidence of connection attempt, which requires more information to share among participants. If we pay attention phase by phase, our scheme requires less message length during the registration phase than Zhou et al.’s scheme, making our proposal more efficient. In fact, our proposal requires less message length in the login phase than previous works, making it more efficient. After achieving the performance evaluation of the proposed scheme, it is possible to confirm that the proposal has good performance.

5. Conclusions

In this paper, we demonstrated that Zhou et al.’s scheme is not secure against insider, replay and user impersonation attacks. Moreover, we found security drawbacks which make the scheme proposed by Zhou et al. insecure for IoT in cloud computing circumstances. As a consequence, we propose a new scheme to remedy the security vulnerabilities and drawbacks of Zhou et al.’s scheme.
The new scheme achieves mutual authentication and key agreement, providing secure access to cloud servers. Moreover, the proposal keeps the user identity anonymous against eavesdroppers, provides security for the session key and includes a challenge-response method. In addition, the new scheme includes a sub-phase called evidence connection attempt which proves to the control server any connection attempt between a user and a server.
Furthermore, our performance evaluation demonstrates that our scheme does not require high computational power or several messages to achieve security requirements. On the contrary, the proposed scheme requires less communication-cost than Zhou et al.’s, Amin et al.’s and Xue et al.’s schemes in the registration and login phases, and the computational-cost is acceptable considering the security characteristics included in the scheme. Thus, the scheme meets the security requirements for a secure IoT-based authentication scheme in cloud computing circumstance, enhancing security of previous works.

Author Contributions

Conceptualization, R.M.P. and H.T.C.; methodology, R.M.P., J.R.P.M., V.G. and L.J.M.; formal analysis, R.M.P.; writing—original draft preparation, V.G.F.; writing—review and editing, A.O.B. All authors provided critical feedback and collaborated in the research.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Amin, R.; Kumar, N.; Biswas, G.P.; Iqbal, R.; Chang, V. A light weight authentication protocol for IoT-enabled devices in distributed cloud computing environment. Future Gener. Comput. Syst. 2018, 78, 1005–1019. [Google Scholar] [CrossRef]
  2. Noura, M.; Atiquzzman, M.; Gaedke, M. Interoperability in internet of things: Taxonomies and open challenges. Mob. Netw. Appl. 2018. [Google Scholar] [CrossRef]
  3. Foster, I.; Zhao, Y.; Raicu, I.; Lu, S. Cloud computing and grid computing 360-degree compared. In Proceedings of the Workshop on Grid Computing Environments (GCE), Austin, TX, USA, 12–16 November 2008. [Google Scholar] [CrossRef]
  4. Sova, P. Cloud computing in brief. IOSR J. Comput. Eng. 2016, 18, 101–103. [Google Scholar]
  5. Ferrag, M.A.; Maglaras, L.A.; Janicke, H.; Jiang, J.; Shu, L. Authentication protocols for internet of things: A comprehensive survey. Secur. Commun. Netw. 2017. [Google Scholar] [CrossRef]
  6. El-Hajj, M.; Fadlallah, A.; Chamoun, M.; Serhrouchni, A. A survey of internet of things (IoT) Authentication schemes. Sensors 2019, 19, 1141. [Google Scholar] [CrossRef]
  7. Yu, W.; Liang, F.; He, X.; Grant Hatcher, W.; Lu, C.; Lin, J.; Yang, X. A survey on the edge computing for the internet of things. IEEE Access 2017, 6, 6900–6919. [Google Scholar] [CrossRef]
  8. Fernández Maimó, L.; Huertas Celdrán, A.; Perales Gómez, A.L.; García Clemente, F.J.; Weimer, J.; Lee, I. Intelligent and dynamic ransomware spread detection and mitigation in integrated clinical environments. Sensors 2019, 19, 1114. [Google Scholar] [CrossRef]
  9. Baker, S.B.; Xiang, W.; Atkinson, I. Internet of things for smart healthcare: Technologies, challenges, and opportunities. IEEE Access 2017, 5, 26521–26544. [Google Scholar] [CrossRef]
  10. Jang, Q.; Ma, J.; Yang, C.; Ma, X.; Shen, J.; Chaudhry, S.A. Efficient end-to-end authentication protocol for wearable health monitoring systems. Comput. Electr. Eng. 2017, 63, 182–195. [Google Scholar] [CrossRef]
  11. Zanella, A.; Bui, N.; Castellani, A.; Vangelista, L.; Zorzi, M. Internet of things for smart cities. IEEE Internet Things J. 2014, 1, 22–32. [Google Scholar] [CrossRef]
  12. Perera, C.; Harold Liu, C.; Jayawardena, S.; Chen, M. A survey on internet of things from industrial market perspective. IEEE Access 2015, 2, 1660–1679. [Google Scholar] [CrossRef]
  13. El-Sayed, H.; Sankar, S.; Prasad, M.; Puthal, D.; Gupta, A.; Mohanty, M.; Lin, C.T. Edge of things: The big picture on the integration of edge, IoT and the cloud in a distributed computing environment. IEEE Access 2017, 6, 1706–1717. [Google Scholar] [CrossRef]
  14. Jiang, Q.; Qian, Y.; Ma, J.; Ma, X.; Cheng, Q.; Wei, F. User centric three-factor authentication protocol for cloud-assited wearable devices. Int. J. Commun. Syst. 2009, 9, e3900. [Google Scholar] [CrossRef]
  15. Madhusudhan, R.; Mittal, R.C. Dynamic id-based remote user password authentication schemes using smart cards: A review. J. Netw. Comput. Appl. 2012, 35, 1235–1248. [Google Scholar] [CrossRef]
  16. Wang, D.; He, D.; Wang, P.; Chu, C.-H. Anonymous two-factor authentication in distributed systems: Certain goals are beyond attainment. IEEE Trans. Dependable Secur. Comput. 2015, 12, 428–442. [Google Scholar] [CrossRef]
  17. Wang, D.; Wang, P. Two birds with one stone: Two-factor authentication with security beyond conventional bound. IEEE Trans. Dependable Secur. Comput. 2018, 15, 708–722. [Google Scholar] [CrossRef]
  18. Lamport, L. Password authentication with insecure communication. Commun. ACM 1981, 24, 770–772. [Google Scholar] [CrossRef] [Green Version]
  19. Hwang, T.; Chen, Y.; Laih, C.S. Non-interactive password authentication without password tables. In Proceedings of the 1990 IEEE Region 10 Conference on Computer and Communication Systems, Hong Kong, China, 24–27 September 1990. [Google Scholar]
  20. Lin, L.C.; Hwang, M.S.; Li, L.H. A new remote user authentication scheme for multi-server architecture. Future Gener. Comput. Syst. 2003, 19, 13–22. [Google Scholar] [CrossRef]
  21. Li, L.; Lin, L.; Hwang, M.S. A remote password authentication scheme for multi-server architecture using neural networks. IEEE Trans. Neural Netw. 2001, 12, 1498–1504. [Google Scholar] [PubMed]
  22. Liao, Y.P.; Wang, S.S. A secure dynamic ID based remote user authentication scheme for multi-server environment. Comput. Stand. Interfaces 2009, 31, 24–29. [Google Scholar] [CrossRef]
  23. Hsiang, C.; Shih, W.K. Improvement of the secure dynamic ID based remote user authentication scheme for multi-server environment. Comput. Stand. Interfaces 2009, 31, 1118–1123. [Google Scholar] [CrossRef]
  24. Martínez-Peláez, R.; Rico-Novella, F.; Satizábal, C.; Pomykala, J. Efficient and secure dynamic ID-based remote user authentication scheme with session key agreement for multi-server environment. Int. J. Netw. Secur. Its Appl. 2010, 2, 106–116. [Google Scholar] [CrossRef]
  25. Kim, M.; Park, N.; Won, D. Security Improvement on a Dynamic ID-Based Remote User Authentication Scheme with Session Key Agreement for Multi-server Environment. In Computer Applications for Security, Control and System Engineering; Springer: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
  26. Li, X.; Xiong, Y.P.; Ma, J.; Wang, W.D. An efficient and security dynamic identity based authentication protocol for multi-server architecture using smartcards. J. Netw. Comput. Appl. 2012, 35, 763–769. [Google Scholar] [CrossRef]
  27. Sood, S.K.; Sarje, A.K.; Singh, K. A secure dynamic identity based authentication protocol for multiserver architecture. J. Netw. Comput. Appl. 2011, 34, 609–618. [Google Scholar] [CrossRef]
  28. Xue, K.; Hong, P.; Ma, C. A lightweight dynamic pseudonym identity based authentication and key agreement protocol without verification tables for multi-server architecture. J. Comput. Syst. Sci. 2014, 80, 195–206. [Google Scholar] [CrossRef] [Green Version]
  29. Challa, S.; Das, A.K.; Gope, P.; Kumar, N.; Wu, F.; Vasilakos, A.V. Design and analysis of authenticated key agreement scheme in cloud-assisted cyber-physical systems. Future Gener. Comput. Syst. 2018. [Google Scholar] [CrossRef]
  30. Zhou, L.; Li, X.; Yeh, K.H.; Su, C.; Chiu, W. Lightweight IoT-based authentication scheme in cloud computing circumstance. Future Gener. Comput. Syst. 2019, 91, 244–251. [Google Scholar] [CrossRef]
  31. Amin, R.; Biswas, G.P. A secure light weight scheme for user authentication and key agreement in multi-gateway based wireless sensor networks. Ad Hoc Netw. 2016, 36, 58–80. [Google Scholar] [CrossRef]
  32. Wu, F.; Xu, L.; Kumari, S.; Li, X.; Shen, J.; Raymond-Choo, K.K.; Wazid, M.; Das, A.K. An efficient authentication and key agreement scheme for multi-gateway wireless sensor networks in IoT deployment. J. Netw. Comput. Appl. 2017, 89, 72–85. [Google Scholar] [CrossRef]
  33. Kocher, P.; Jaffe, J.; Jun, B. Differential power analysis. In Advances in Cryptology; Wienner, M., Ed.; Springer: Berlin, Germany, 1999; pp. 388–397. [Google Scholar]
  34. Messerger, 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]
Figure 1. Authentication phase of Zhou et al.’s scheme.
Figure 1. Authentication phase of Zhou et al.’s scheme.
Sensors 19 02098 g001
Figure 2. User registration sub-phase.
Figure 2. User registration sub-phase.
Sensors 19 02098 g002
Figure 3. Server registration sub-phase.
Figure 3. Server registration sub-phase.
Sensors 19 02098 g003
Figure 4. Login phase.
Figure 4. Login phase.
Sensors 19 02098 g004
Figure 5. User authentication, server authentication and evidence of connection attempt sub-phases.
Figure 5. User authentication, server authentication and evidence of connection attempt sub-phases.
Sensors 19 02098 g005
Figure 6. Key agreement and mutual authentication phases.
Figure 6. Key agreement and mutual authentication phases.
Sensors 19 02098 g006
Figure 7. Computational-cost comparison by participant.
Figure 7. Computational-cost comparison by participant.
Sensors 19 02098 g007
Table 1. Notations of the proposed scheme.
Table 1. Notations of the proposed scheme.
SymbolDescription
U i User
S j Cloud server
C S Control server
S C i Smart card of U i
I D i ,   S I D j ,   I D C S Identity of U i , S j , C S , respectively
P I D i ,   P S I D j Pseudo-identity of U i , S j , respectively
P W i Password of U i
x ,   y ,   z Secret keys of C S . Secret keys are long integers
n U ,   n S ,   n C S Random nonce of U i , S j , C S , respectively
T U ,   T S ,   T C S Timestamp of U i , S j , C S , respectively
S K U S Session key between U i and S j
E S K ( · ) / D S K ( · ) Symmetric encryption/decryption using S K U S
h ( · ) Collision free one-way hash function
Exclusive-OR operation
Concatenation operation
Secure communication channel
Open communication channel
Table 2. Security comparison.
Table 2. Security comparison.
Security PropertyXue et al.Amin et al.Zhou et al.Our Scheme
Provide evidence of connection attempt failsfailsfailssuccess
Provide mutual authenticationfailsfailsfailssuccess
Provide user anonymityfails success
Resist impersonation attackfailsfailsfailssuccess
Resist off-line user identity/password attackfails success
Resist privileged-insider attackfailsfails success
Resist replay attack failssuccess
Table 3. Performance comparison.
Table 3. Performance comparison.
Phase Xue et al.Amin et al.Zhou et al.Our Scheme
Registration U i 3 T h 3 T h 3 T h 2 T h
S j 0 T h 0 T h 0 T h 1 T h
C S 4 T h 4 T h 4 T h 12 T h
Login U i 6 T h 6 T h 6 T h 3 T h
S j 3 T h 1 T h 3 T h 3 T h
C S 0 T h 0 T h 0 T h 0 T h
Authentication U i 3 T h 3 T h 4 T h 4 T h + 3 T s
S j 3 T h 3 T h 4 T h 2 T h + 3 T s
C S 14 T h 10 T h 19 T h 21 T h + 2 T s
Total 36 T h 30 T h 43 T h 48 T h + 8 T s
Table 4. Execution-time by participant.
Table 4. Execution-time by participant.
Xue et al.Amin et al.Zhou et al.Our
OpCase 1Case 2OpCase 1Case 2OpCase 1Case 2OpCase 1Case 2
R U i 3Th0.015510.00009843Th0.015510.00009843TH0.015510.00009842Th0.010340.0000656
S j 0Th000Th000TH001Th0.005170.0000328
C S 4Th0.020680.00013124Th0.020680.00013124TH0.020680.000131212Th0.062040.0003936
L U i 6Th0.031020.00019686Th0.031020.00019686Th0.031020.00019683Th0.015510.0000984
S j 3Th0.015510.00009841Th0.005170.00003283Th0.015510.00009843Th0.015510.0000984
C S 0Th000Th000Th000Th00
A U i 3Th0.015510.00009843Th0.015510.00009844Th0.020680.00013124Th + 3Ts0.085120.0644467
S j 3Th0.015510.00009843Th0.015510.00009844Th0.020680.00013122Th + 3Ts0.074780.0643811
C S 14Th0.072380.000459210Th0.05170.00032819Th0.098230.000623221Th + 2Ts0.151530.0435658
Total36Th0.186120.001180830Th0.15510.00098443Th0.222310.001410448Th + 8Ts0.4200000.173082
*R = Registration phase, L = Login phase, A = Authentication phase, Op = Number of operations.
Table 5. Communication cost comparison.
Table 5. Communication cost comparison.
Xue et al.Amin et al.Zhou et al.Our Scheme
LengthCase 1Case 2LengthCase 1Case 2LengthCase 1Case 2LengthCase 1Case 2
R U i 3384768225651222565122256512
S j 2256512225651222565122256512
C S 225651233847686768153645121024
ST 8961792 8961792 12802560 10242048
L U i 67681536564012805640128045121024
S j 11140828169115223041012802560911522304
C S 000000000000
ST 21764352 17923584 19203840 16643328
A U i 0000000002256512
S j 22565122256512338476856401280
C S 45121024451210246768153667681536
ST 7681536 7681536 11522304 16643328
T3038407680273456691234435287043443528704
*R = Registration phase, L = Login phase, A = Authentication phase, ST = Subtotal, T = Total.

Share and Cite

MDPI and ACS Style

Martínez-Peláez, R.; Toral-Cruz, H.; Parra-Michel, J.R.; García, V.; Mena, L.J.; Félix, V.G.; Ochoa-Brust, A. An Enhanced Lightweight IoT-based Authentication Scheme in Cloud Computing Circumstances. Sensors 2019, 19, 2098. https://doi.org/10.3390/s19092098

AMA Style

Martínez-Peláez R, Toral-Cruz H, Parra-Michel JR, García V, Mena LJ, Félix VG, Ochoa-Brust A. An Enhanced Lightweight IoT-based Authentication Scheme in Cloud Computing Circumstances. Sensors. 2019; 19(9):2098. https://doi.org/10.3390/s19092098

Chicago/Turabian Style

Martínez-Peláez, Rafael, Homero Toral-Cruz, Jorge R. Parra-Michel, Vicente García, Luis J. Mena, Vanessa G. Félix, and Alberto Ochoa-Brust. 2019. "An Enhanced Lightweight IoT-based Authentication Scheme in Cloud Computing Circumstances" Sensors 19, no. 9: 2098. https://doi.org/10.3390/s19092098

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