Next Article in Journal
Role of Ethical Leadership in Improving Employee Outcomes through the Work Environment, Work-Life Quality and ICT Skills: A Setting of China-Pakistan Economic Corridor
Previous Article in Journal
From Biogas to Hydrogen: A Techno-Economic Study on the Production of Turquoise Hydrogen and Solid Carbons
Previous Article in Special Issue
ACM-SH: An Efficient Access Control and Key Establishment Mechanism for Sustainable Smart Healthcare
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

SAKAP: SGX-Based Authentication Key Agreement Protocol in IoT-Enabled Cloud Computing

1
College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China
2
Department of Computer Science, University of California, Davis, CA 001313, USA
*
Author to whom correspondence should be addressed.
Sustainability 2022, 14(17), 11054; https://doi.org/10.3390/su141711054
Submission received: 26 July 2022 / Revised: 18 August 2022 / Accepted: 25 August 2022 / Published: 5 September 2022

Abstract

:
With the rapid development of the Internet, Internet of Things (IoT) technology is widely used in people’s daily lives. As the number of IoT devices increases, the amount of data to be processed also increases. The emergence of cloud computing can process the data of IoT devices in a timely manner, and it provides robust storage and computing capabilities to facilitate data resource sharing. Since wireless communication networks are unstable and open, it is easy for attackers to eavesdrop, intercept, and tamper with the messages sent. In addition, authentication protocols designed for IoT-enabled cloud computing environments still face many security challenges. Therefore, to address these security issues, we propose an Intel software-guard-extensions (SGX)-based authentication key agreement protocol in an IoT-enabled cloud computing environment. The goal is to ensure data privacy and sustainable communication between the entities. Moreover, SGX can resist several well-known attacks. Finally, we show the security using the real-or-random model, ProVerif, and informal analysis. We also compare the security and performance of the proposed protocol with existing protocols. The comparison results show that our proposed protocol reduces the communication cost by 7.07 % compared to the best one among the current protocols and ensures sufficient security.

1. Introduction

The Internet of Things (IoT) [1,2,3,4] refers to a network that connects the Internet with any entity according to a specified protocol, which exchanges information and completes the communication through information-sensing equipment to realize the intelligent identification, positioning, and monitoring of entities. With the development of IoT technology, the information-collection feature of the IoT has been applied in many scenarios, such as artificial intelligence [5,6,7,8], transportation systems [9,10,11], smart grids [12], smart cities [13], and health systems [14,15]. IoT technology has increased the efficiency of production methods and improved the quality of people’s lives.
With the increase in the number of IoT devices, the generated data have also increased gradually to handle the data generated by IoT devices more effectively, leading to the introduction cloud computing [16,17,18,19]. Cloud computing is a form of distributed computing, which provides computing power, database storage, data analysis, and other information technology resources on demand. Cloud computing provides an efficient and convenient method for information and resource sharing, and its combination with the IoT can compensate their respective drawbacks. The IoT can benefit from the powerful storage capacity and computing power of cloud computing. Similarly, combining cloud computing with IoT devices can result in providing new services in real-life scenarios to expand the ability to solve practical problems. The applications of cloud computing and IoT were mentioned in [13,20,21]. In 2020, Kang et al. [20] designed a lightweight authentication and key agreement (AKA) protocol based on the IoT-enabled cloud computing environment. Huang et al. [13] proposed an AKA protocol that combines IoT and cloud computing and implemented it in a smart city environment in 2021. Iqbal et al. [21] proposed an AKA protocol for an IoT and cloud computing architecture in 2022. The architecture of IoT-enabled cloud computing is shown in Figure 1, and the communication entities include the user, cloud server, and control server. The cloud service provider deploys cloud servers in the region where the cloud service is provided and configures a control server to manage the cloud servers and users. In addition, only legitimate users can select cloud servers using IoT devices to handle large amounts of data.
However, there are still significant security risks in IoT-enabled cloud-computing environments. For example, malicious attackers can intercept messages on public channels and then tamper with or crack the data information, resulting in the confidentiality, privacy, and integrity of user data not being able to be guaranteed. Moreover, AKA protocols designed in IoT-enabled cloud computing environments are subject to impersonation [22,23], offline password guessing [20], and replay attacks [24]. The presence of these security risks and attacks does not ensure network sustainability.
Intel software guard extensions (SGX) [25,26,27] can be introduced to improve the security of AKA protocols designed for IoT-enabled cloud computing environments. SGX is an extension of the Intel instruction set, which protects the security of programs in the running state. SGX is divided into a trusted execution environment and an untrusted execution environment. Because a malicious attacker cannot access the trusted execution environment, storing data in this environment ensures data integrity, privacy, and confidentiality. The core of SGX is an enclave of the memory, and it is an encrypted area in the memory address space, which stores the running code and program data. The application program can transmit the data to be calculated to the enclave through the SGX interface for calculation. The enclave then sends the operation results to the application program. It is not affected by malware or other instructions with the highest authority during the entire operational process [28]. Referring to the AKA protocol proposed by Liu et al. [26] in the wireless sensor network architecture and Wu et al. [27] in the Internet of Vehicles and fog computing, we introduce SGX into the IoT-enabled cloud computing environment to design the AKA protocol. Our goal is to ensure data privacy and sustainable communication between the entities. The following are the primary contributions of this paper:
(1)
We propose a lightweight AKA in the IoT-enabled cloud computing environment. In our protocol, the user, cloud server, and control server achieve mutual authentication, and the session key is successfully established for communication.
(2)
We first introduce SGX into an IoT-enabled cloud computing environment and use it on the cloud server and control server. Because SGX has limitations in both storage and computation, we only use it to store the shared key. According to the safety features of SGX, even if an attacker can access the data in memory, he/she cannot obtain the shared key in SGX. Thus, privileged insider attacks are invalid for our protocol.
(3)
We use the real-or-random (ROR) model and ProVerif tool to verify the security of the proposed protocol, and informal security analysis shows that the protocol protects against known attacks.
(4)
Finally, we compare the security and performance with current protocols, and the results show that our protocol ensures greater security under a similar efficiency.
The remainder of this paper is organized as follows. We review the research related to the IoT, cloud computing, and SGX in Section 2. In Section 3, we describe the system model and protocol in detail. Section 4 describes the process by which we used the ROR model, the ProVerif tool, and informal security analysis do assess the security of the proposed protocol. Section 5 describes the comparison between our proposed protocol and existing protocols in terms of both security and performance. The conclusion of the study is presented in Section 6.

2. Related Work

Turkanovic et al. [29] designed an AKA protocol based on the IoT environment in 2014 that utilized lightweight primitives and provided enhanced security. However, Farash et al. [30] found that the protocol could not ensure the anonymity of the user and sensor node and was vulnerable to session key disclosure attacks and man-in-the-middle attacks. Farash et al. [30] designed an improved protocol and declared that the protocol could guarantee secure communication. However, Amin et al. [31] found that Farash et al.’s protocol [30] was susceptible to offline password guessing, smart card theft, user impersonation, and known temporary value disclosure attacks. Similarly, Amin et al. [31] proposed an AKA protocol for anonymity-protected three-factor authentication key exchange. However, Wu et al. [32] discovered that the protocol of Amin et al. [31] was not resistant to sensor capture, session key disclosure, and user impersonation attacks and could not guarantee mutual authentication, and they proposed an AKA protocol based on multiple gateways in the IoT environment.
In 2014, Liu et al. [33] proposed an AKA protocol for sharing privileges and guaranteeing privacy in a cloud computing environment. Tsai and Lo [34] designed a privacy authentication protocol based on a cloud computing environment and used bilinear pairs in their protocol. However, He et al. [35] pointed out that their protocol was not resistant to server impersonation attacks and designed an efficient and private authentication protocol using bilinear pairs. Kumar et al. [36] designed a bidirectional AKA protocol for healthcare systems in a cloud environment using elliptic curves. Lopes and Gond [37] proposed an AKA protocol for device-to-device communication applied to an electronic health system based on cloud computing and declared that the protocol could ensure secure communication between entities. Iqbal et al. [21] proposed an AKA protocol for the IoT and cloud computing, which used elliptic curves and symmetric encryption/decryption. Zhou et al. [23] proposed a lightweight AKA protocol based on the IoT in cloud computing. However, Wang et al. [38] discovered that the protocol did not ensure forward secrecy and was vulnerable to temporary value disclosure and impersonation attacks. Martinez-Pelaez et al. [24] designed an enhanced AKA protocol in the cloud computing environment. However, Yu et al. [39] found that their protocol could not guarantee mutual authentication and user anonymity and that it suffered from session key disclosure and replay and offline password guessing attacks. Kang et al. [20] designed an improved AKA protocol for IoT-enabled cloud computing. However, Huang et al. [13] discovered that Kang et al.’s protocol [20] was subject to offline password guessing attacks and highlighted the designed redundancy in the user registration step. Wu et al. [40] designed an authentication protocol in IoT-enabled cloud computing and showed that the protocol was resistant to various attacks and provided better security.
In 2016, Costan and Devadas [25] described the architecture and operational mechanism of SGX in detail, provided a detailed description of SGX’s public information, and analyzed its security properties. Fisch et al. [41] constructed a provably secure and practical functional encryption mechanism using Intel SGX and showed that the performance of this mechanism exceeded the known encryption schemes. Sun et al. [42] proposed a dynamic network identity authentication scheme using SGX, which can continuously update the key. Conde et al. [43] designed and implemented an identity authentication module based on SGX in a Unix operating system. The module uses an enclave in SGX to process data and improve the security of the module. Song et al. [44] proposed a privacy and anonymity protection authentication scheme based on blockchain and SGX, claiming that the scheme would not reveal users’ personal information. Liu et al. [26] designed an AKA protocol that uses SGX based on a wireless sensor network architecture, dynamically updating the authentication credentials, and declared that the protocol achieves better security with less overhead.

3. Proposed Protocol: SAKAP

In this section, we describe the system model and the specific protocol procedure in detail. Table 1 lists the notations used in this protocol.

3.1. System Model

The system model has three entities: user U i , cloud server S j , and control server C S , as shown in Figure 2. Each S j and C S requires SGX to be installed before deploying the environment. A detailed description of each entity is as follows:
(1)
User ( U i ): U i refers to people who intend to use cloud computing services in the IoT-enabled cloud computing environment. Only legitimate U i can use cloud computing services through IoT devices.
(2)
Cloud server ( S j ): S j is deployed in the area to provide services to process and store the data of IoT devices. S j is a semi-trusted entity; it can misbehave, but cannot collaborate with other participants. In addition, S j has powerful storage capacity and computing power.
(3)
Control server ( C S ): C S is the control center for the cloud service provider to manage the S j in the service area. C S is a semi-trusted entity; it can misbehave, but cannot collaborate with other participants. Furthermore, C S is in charge of registration and authentication.

3.2. Concrete Protocol

The entire protocol consists of a registration phase, login phase, and a key agreement phase.

3.2.1. Registration Phase

In this section, we introduce the registration phase, which is divided into the U i registration phase and S j registration phase.
User ( U i ) registration phase: When U i wants to use the cloud computing service provided by the cloud service provider, U i needs to register with C S . Moreover, to ensure the security and performance of confidential computation, a 1024-bit key length shared key was used in SGX. Figure 3 depicts the procedure for U i registration; the processes involved are described below:
(1)
Initially, U i selects I D i , P W i , and B I O i . Next, U i computes ( σ i , τ i ) = G e n ( B I O i ) and P I D i = h ( I D i P W i σ i ) and transmits { P I D i } to C S through a secure channel.
(2)
When C S receives the { P I D i } , it chooses a random number r i and a shared key k u , to compute Q U i = h ( P I D i k u r i ) . Next, C S stores { P I D i , r i } in its database, { P I D i , k u } in SGX, and { Q U i , r i } in the smart card ( S C ) . Finally, C S transmits S C to U i via the secure channel.
(3)
Upon receiving the S C from C S , U i calculates R U = r i h ( I D i σ i ) , S U = h ( P W i r i σ i ) , T U = Q U i h ( r i σ i ) . Finally, U i deletes { Q U i , r i } from S C and stores { R U , S U , T U } in S C .
Cloud server ( S j ) registration phase: S j registers with C S before providing high-density computing services to the users. Figure 4 describes the S j registration process, and the specific steps are described below:
(1)
First, S j selects S I D j and a random number r j . Next, S j computes P S I D j = h ( S I D j r j ) and transmits { P S I D j , r j } to C S via the secure channel.
(2)
Upon receiving the { P S I D j , r j } , C S first selects a shared key k s and computes the value Q S j = h ( P S I D j k s r j ) . C S stores { P S I D j , r j } in its database and stores { P S I D j , k s } in SGX. Then, C S transmits { Q S j , k s } to S j through the secure channel.
(3)
Upon receiving { Q S j , k s } , S j computes the value R S = h ( S I D j k s ) Q S j . Finally, S j stores { P S I D j , R S } in the database and stores { k s } in SGX.

3.2.2. Login and Key Agreement Phase

During this phase, U i , S j , and C S achieve mutual authentication and successfully establish an S K for future communication. Figure 5 depicts the full login and key agreement procedure; the exact steps are outlined below:
(1)
First, U i inputs I D i , P W i , and B I O i . Subsequently, U i computes σ i = R e p ( B I O i , τ i ) , P I D i = h ( I D i P W i σ i ) , r i = R U h ( I D i σ i ) , S U * = h ( P W i r i σ i ) and checks S U * = ? S U . If it is equal, U i logs in successfully. Otherwise, the device rejects the login of U i . Next, U i computes Q U i = T U h ( r i σ i ) , generates a random number N i , and chooses an S I D j , which is the private cloud server S j ’s identity. Then, U i computes W 1 = N i h ( r i Q U i ) , W 2 = S I D j h ( N i Q U i ) , and V 1 = h ( P I D i S I D j Q U i N i ) . Finally, U i retrieves the current timestamp T 1 and sends the message M 1 = { P I D i , W 1 , W 2 , V 1 , T 1 } to S j through the public channel.
(2)
Upon receiving M 1 , S j checks the freshness of T 1 . Then, S j sends { S I D j , R S } to the security interface of SGX and invokes the interface. The interface finds the k s and uses it to calculate Q S j = R S h ( S I D j k s ) . Then, SGX sends { Q S j } to S j through the interface. Next, S j selects a random number N j and computes W 3 = h ( S I D j Q S j ) N j , V 2 = h ( P S I D j V 1 N j Q S j ) . Finally, S j retrieves the current timestamp T 2 and transmits the message M 2 = { P I D i , P S I D j , W 1 , W 2 , W 3 , V 1 , V 2 , T 2 } to C S via the public channel.
(3)
When C S receives the M 2 , it first verifies the freshness of T 2 . Then, C S retrieves { r i } in the database using P I D i and sends { P I D i , r i } to the security interface of SGX. Then, SGX invokes the interface and uses P I D i to match k u , then it computes Q U i = h ( P I D i k u r i ) . Then, SGX sends { Q U i } to C S through the interface. Next, C S computes N i = W 1 h ( r i Q U i ) , S I D j = W 2 h ( N i Q U i ) , and V 1 * = h ( P I D i S I D j Q U i N i ) . Then, C S checks whether V 1 * = ? V 1 . If it holds, C S retrieves { r j } in the database using P S I D j and sends { P S I D j , r j } to the security interface of SGX. Then, SGX invokes the interface and uses P S I D j to match k s , then it computes Q S j = h ( P S I D j k s r j ) . Then, SGX sends { Q S j } to C S through the interface. Next, C S computes N j = W 3 h ( S I D j Q S j ) , V 2 * = h ( P S I D j V 1 * N j Q S j ) and checks the correctness of V 2 * = ? V 2 . If it holds, C S authenticates the S j . Otherwise, C S rejects the session. Further, C S selects a random number N c s and calculates W 4 = ( N i N c s ) h ( Q S j N j ) , W 5 = ( N j N c s ) h ( Q U i N i ) , S K = h ( N i N j N c s ) , V 3 = h ( N j Q S j S K ) , and V 4 = h ( N i Q U i S K ) . Finally, C S generates the current timestamp T 3 and transmits the message M 3 = { W 4 , W 5 , V 3 , V 4 , T 3 } to S j through the public channel.
(4)
Upon receiving the M 3 , S j first checks the freshness of T 3 . Then, S j computes ( N i N c s ) = W 4 h ( Q S j N j ) , S K = h ( N i N j N c s ) , and V 3 * = h ( N j Q S j S K ) . Then, S j checks V 3 * = ? V 3 . If V 3 * = V 3 , S j retrieves the current timestamp T 4 and sends the message M 4 = { W 5 , V 4 , T 4 } to U i .
(5)
When U i receives the M 4 , it first verifies the freshness of T 4 . Then, U i calculates ( N j N c s ) = W 5 h ( Q U i N i ) , S K = h ( N i N j N c s ) and V 4 * = h ( N i Q U i S K ) . Finally, U i checks V 4 * = ? V 4 . If it holds, U i authenticates the S j , and the entire authentication process is achieved.

4. Security Analysis

4.1. Formal Security Analysis

In this section, we utilize the ROR model [45,46] to formally demonstrate the security of the proposed protocol. By playing different games, we can calculate the probability of an attacker ( A ) breaking the protocol ( P ) under various conditions.
Attacker model: We assumed that A has the following capabilities based on the well-known Dolev–Yao (DY) [47] and Canetti–Krawczyk (CK) [48] models:
(1)
A has the ability to eavesdrop, intercept, tamper with, and replay messages sent between entities over a public channel.
(2)
A can be a malicious insider in the C S or S j and has access to the database’s information.
(3)
A can steal the user’s S C and use power analysis [49] to extract information from the S C .
(4)
A can affect the protocol’s security by obtaining random numbers.

4.1.1. Security Model

The proposed protocol contains three entities, U i , S j , and C S . Here, we used Π U i x , Π S j y , and Π C S z to represent the x-th user instance, y-th cloud server instance, and z-th control server instance, respectively. Suppose A has the following query capabilities:
(1)
E x e c u t e ( Z ) : A executing this query can intercept the messages M i transmitted over the public channel between U i , S j , and C S , where Z = { Π U i x , Π S j y , Π C S z } .
(2)
S e n d ( Z , M i ) : When A executes the query, A sends an M i to Z , then receives a response from the Z .
(3)
H a s h ( s t r i n g ) : Through executing this query, A can obtain the hash value of the s t r i n g after the input s t r i n g .
(4)
C o r r u p t ( Z ) : A can obtain some private values by executing this query, such as the long-term private key, temporary value, and parameters in the S C .
(5)
T e s t ( Z ) : When A performs this operation, he/she flips the coin c. If c = 0 , A can obtain a random value with the same length as S K . Otherwise, if c = 1 , A can obtain the correct S K .
Based on the attacker model and Section 4.1.1, the security of the proposed protocol is demonstrated using the theorem and proof below.
Theorem 1.
Within polynomial time complexity, the advantage that A can break P is A d v A P ( ξ ) q s e n d / 2 l 1 + 3 q h a s h 2 / 2 l + 2 m a x { C · q s e n d s , q s e n d / 2 l } . Here, q s e n d and q h a s h denote the number of hashes and queries executed, respectively. l represents the bit length of the biometric, and C and s are constants.
Proof. 
Seven rounds of games are played in the ROR model to verify the above theorem, denoted as G M 0 G M 6 . Here, S u c c A G M i ( ξ ) refers to the event in which A can win in G M i . The process of A simulating the queries is described in detail in Table 2. The steps of the proof are as follows.
G M 0 : G M 0 does not initiate query operations. Here, the game starts by flipping the coin c. Thus, the probability of G M 0 is
A d v A P ( ξ ) = | 2 P r [ S u c c A G M 0 ( ξ ) ] 1 | .
G M 1 : G M 1 adds the E x e c u t e ( Z ) operation. At this point, A intercepts messages { M 1 , M 2 , M 3 , M 4 } transmitted over the public channel. Because the random numbers N i , N j , and N c s are not available, A using the T e s t ( Z ) query cannot calculate S K . Therefore, the probability of G M 1 does not change and is
P r [ S u c c A G M 1 ( ξ ) ] = P r [ S u c c A G M 0 ( ξ ) ] .
G M 2 : G M 2 adds the S e n d ( Z ) operation. G M 2 refers to Zipf’s law [50], and its probability is
| P r [ S u c c A G M 2 ( ξ ) ] P r [ S u c c A G M 1 ( ξ ) ] | q s e n d / 2 l .
G M 3 : G M 3 introduces the H a s h ( Z ) operation while decreasing the S e n d ( Z ) operation. Given the birthday paradox, it can be deduced that the probability of G M 3 is
| P r [ S u c c A G M 3 ( ξ ) ] P r [ S u c c A G M 2 ( ξ ) ] | q h a s h 2 / 2 l + 1 .
G M 4 : In G M 4 , we assumed that A uses Π U i x , Π S j y , or Π C S z to obtain a random number from the entities. Although A can obtain a random number N i chosen by U i , the values of N j and N c s are unknown, and thus, A cannot calculate S K . Similarly, assume that A has access to N j or N c s , and S K is also not computed. Therefore, the probability of G M 4 is
| P r [ S u c c A G M 4 ( ξ ) ] P r [ S u c c A G M 3 ( ξ ) ] | q h a s h 2 / 2 l + 1 .
G M 5 : In G M 5 , suppose that A can obtain { R U , S U , T U } in S C by executing a C o r r u p t ( Z ) query. Subsequently, A utilizes these parameters to perform an offline password guessing attack to determine the user’s correct password. However, A cannot obtain r i and σ i , and thus, A cannot guess P W i . The probability that A guesses the biometric of l bits is 1 / 2 l . Based on Zipf’s law [50], the probability of A guessing the correct P W i when q s e n d 10 6 is greater than 1/2. Therefore, the probability of G M 5 is
| P r [ S u c c A G M 5 ( ξ ) ] P r [ S u c c A G M 4 ( ξ ) ] | m a x { C · q s e n d s , q s e n d / 2 l }
G M 6 : G M 6 is designed to demonstrate that the proposed protocol can withstand impersonation attacks. Assuming that A can successfully obtain S K by using the h ( N i N j N c s ) query, the game terminates. Therefore, the probability of G M 6 is
| P r [ S u c c A G M 6 ( ξ ) ] P r [ S u c c A G M 5 ( ξ ) ] | q h a s h 2 / 2 l + 1 .
Both the success and failure probabilities for G M 6 are equal to 1/2. Consequently, the probability that A calculates S K is
P r [ S u c c A G M 6 ( ξ ) ] = 1 / 2 .
Given the probabilities of G M 0 to G M 6 , we obtain
1 / 2 A d v A P ( ξ ) = | P r [ S u c c A G M 0 ( ξ ) ] 1 / 2 | = | P r [ S u c c A G M 0 ( ξ ) ] P r [ S u c c A G M 6 ( ξ ) ] | = | P r [ S u c c A G M 1 ( ξ ) ] P r [ S u c c A G M 6 ( ξ ) ] | i = 0 5 | P r [ S u c c A G M i + 1 ( ξ ) ] P r [ S u c c A G M i ( ξ ) ] | = q s e n d / 2 l + 3 q h a s h 2 / 2 l + 1 + m a x { C · q s e n d s , q s e n d / 2 l }
Finally, we obtained the following:
A d v A P ( ξ ) q s e n d / 2 l 1 + 3 q h a s h 2 / 2 l + 2 m a x { C · q s e n d s , q s e n d / 2 l } .

4.2. Informal Security Analysis

4.2.1. Replay Attacks

In our protocol, each message transmitted on a public channel contains timestamp T i . Only within a valid timestamp can the receiver pass the check and continue with the subsequent computation. Here, take message M 1 = { P I D i , W 1 , W 2 , V 1 , T 1 } as an example. Suppose A repeatedly sends M 1 to S j . After receiving M 1 , S j checks the validity of its timestamp by computing | T 1 T c | Δ T . Because T 1 in M 1 exceeds a limited time, S j terminates this session process. Therefore, the replay attacks were invalid for our proposed protocol.

4.2.2. Privileged Insider Attacks

Case 1: Suppose A can steal data { P I D i , r i } and { P S I D j , r j } from C S and attempt to compute N i and N j using messages intercepted on the public channel, where N i = W 1 h ( r i Q U i ) and N j = W 3 h ( S I D j Q S j ) . However, A cannot obtain the values Q U i , Q S j , and S I D j , and thus, N i and N j cannot be calculated. N c s is a number randomly chosen by the C S and is different in each session such that A does not obtain N c s . Thus, A does not obtain session key S K , where S K = h ( N i N j N c s ) .
Case 2: Assume that A has access to the data { P I D i , R S } in S j and attempts to calculate the value N j , where N j = W 3 h ( S I D j Q S j ) . However, A cannot obtain the values Q S j or S I D j ; thus, A cannot compute N j . Similarly, ( N i N c s ) cannot be computed by ( N i N c s ) = W 5 h ( Q S j N j ) . Therefore, A cannot successfully calculate the S K .
An analysis of the above two cases leads to the conclusion that privileged insider attacks are not valid for our proposed protocol.

4.2.3. Man-in-the-Middle Attacks

We assumed that A can intercept the message M 2 = { P I D i , P S I D j , W 1 , W 2 , W 3 , V 1 , V 2 ,
T 2 } sent from S j to C S and attempt to modify the authentication values V 1 and V 2 , where V 1 = h ( P I D i S I D j Q U i N i ) and V 2 = h ( P S I D j V 1 N j Q S j ) . However, A cannot obtain the values S I D j , Q U i , Q S j , N i , and N j ; A cannot calculate V 1 and V 2 . Therefore, after the C S receives the message sent by A , it is not allowed to pass this authentication. Similarly, A eavesdrops the message M 4 = { W 5 , V 4 , T 4 } sent from S j to U i and attempts to change the authentication value V 3 , where V 3 = h ( N j Q S j S K ) . Because A cannot obtain the value N j and cannot compute the S K , it cannot calculate the correct authentication value V 3 . It can be observed that the request sent by A cannot be authenticated by U i . Consequently, our protocol is immune to man-in-the-middle attacks.

4.2.4. User Impersonation Attacks

Suppose that A can intercept message M 1 = { P I D i , W 1 , W 2 , V 1 , T 1 } . If A imitates a legitimate U i to communicate with the C S , A must construct the correct authentication value V 1 , where V 1 = h ( P I D i S I D j Q U i N i ) . However, A cannot obtain S I D j , Q U i , and N i ; therefore, the correct authentication value V 1 cannot be calculated. Therefore, the message delivered by A cannot pass C S authentication. The proposed protocol can withstand user impersonation attacks.

4.2.5. Cloud Sever Impersonation Attacks

Assume that A wants to impersonate a legitimate S j to establish communication with the C S . A must intercept the message M 1 = { P I D i , W 1 , W 2 , V 1 , T 1 } on the public channel and construct the correct authentication value V 2 , where V 2 = h ( P S I D j V 1 N j Q S j ) . However, A cannot obtain the values N j and Q S j and cannot calculate the valid parameter V 1 ; thus, A cannot compute the correct V 2 . Thus, the request sent by A cannot be authenticated by C S . Our protocol can resist cloud server impersonation attacks.

4.2.6. Anonymity and Untraceability

In our protocol, the real identities of U i and S j are hidden using random numbers and a hash function. Only pseudo-identities P I D i or P S I D j are used in the authentication process to ensure the anonymity of U i and S j . In addition, attackers cannot trace U i or S j through an intercepted message because both entities use pseudo-identities when communicating with C S . Furthermore, the random number in the message was different for each session, ensuring that each entity was untraceable. Thus, the proposed protocol guarantees anonymity and untraceability.

4.3. ProVerif

ProVerif is a simulation tool proposed by Blanchet [51] for the automatic verification of encryption protocols. ProVerif can handle basic encryption operations based on the DY model [47], such as hashing, XOR, and fuzzy extraction. In this study, to demonstrate the security of our protocol, we simulated the entire registration and authentication procedure for U i , S j , and C S using the ProVerif tool.
Figure 6 illustrates the ProVerif code symbols and operational definitions. Figure 7 shows the query operations and events. There are six events involved in the protocol, namely IoTDeviceStarted(), IoTDeviceAuthed(), ControlServerAcIoTDevice(), ControlServerAcCouldServer(), CouldServerAcControlServer(), and IoTDeviceAcControlServer(), which represent that U i begins the authentication process, U i completes the authentication, C S completes the authentication of the U i , C S completes the authentication of the S j , S j completes the authentication of the C S , and U i completes the authentication of the C S .
Figure 8 shows the U i execution process, S j execution process, and C S verification process. Here, we take the process of U i as an example to explain. “out(sch,(PIDi))” is the statement that U i initiates registration to C S , and “in(sch,xQUi:bitstring,xri:bitstring))” represents that U i receives messages from the C S during the registration phase, which means that the registration phase is over. “out(ch,(PIDi,W1,W2,V1,T1))” means U i sends a authentication request to the C S . “in(ch,(xW5:bitstring,xV4:bitstring,xT4:bitstring))” represents that U i receives messages from the C S . Finally, in Figure 9, we can observe that A cannot calculate S K between U i , S j , and C S , which means that the proposed protocol is secure.

5. Security and Performance Comparisons

In this section, the security and performance of our proposed protocol are compared with that of existing protocols [13,23,24,40].

5.1. Security Comparisons

In this section, the security of our proposed protocol is compared with that of current protocols. √ indicates that the protocol can withstand an attack, whereas × indicates that the protocol cannot. The primary attacks include: S1, mutual authentication; S2, session key disclosure attacks; S3, forward secrecy; S4, user anonymity; S5, temporary value disclosure attacks; S6, impersonation attacks; S7, replay attacks; S8, offline password guessing attacks. Table 3 shows that Zhou et al.’s protocol [23] does not guarantee forward secrecy and is not resistant to temporary value disclosure attacks and impersonation attacks, and Martinez-Pelaez et al.’s protocol [24] does not guarantee mutual authentication and anonymity and is not resistant to session key disclosure attacks, impersonation attacks, and replay attacks. The protocols of Huang et al. [13] and Wu et al. [40] have the same security as our proposed protocol, which can resist known attacks.

5.2. Performance Comparisons

The performance comparison includes both the computational and communication costs. In comparing the computational cost, the cost of ⊕ and ‖ is too small to be negligible, and the hash function and fuzzy extractor both execute at the same time [52]; thus, we used the time to execute a hash function to represent the execution time of the fuzzy extractor. Wang et al. [53] showed that the runtime of the system using SGX increases by only 20 us, which shows that the computational volume of SGX is relatively low. Therefore, we ignored the computational cost of SGX in the computational cost comparison. In addition, we conducted simulation experiments to estimate the computational cost of the protocols. Here, we used an MI 8 to simulate U i , a Lenovo desktop computer to simulate S j , and a Lenovo laptop to simulate C S . The phone used a packaged algorithmic time application, and the computer development software was IntelliJ idea version 2020.3. The equipment configuration and operation runtime are listed in Table 4, in which the execution time is obtained by running 10 times and averaging. Here, we compared only the protocol’s login and key agreement phases. As can be observed from Table 5 and Figure 10, since Martinez-Pelaez et al. [24] used symmetric key encryption/decryption in their protocol, the computational cost of their protocol was the highest among all protocols. In addition, the computational cost of our protocol was slightly higher than that of Huang et al.’s protocol [13], but our protocol had a lower computational cost compared to Zhou et al. [23] and Wu et al. [40].
In comparing the communication costs, we assumed that the length of identity | I D | , timestamp | T | , one-way hash function | H | , random number | Z p * | , and symmetric key encryption/decryption | E | were 160, 32, 256, 128, and 256 bits, respectively. In our proposed protocol, the messages transmitted on the public channel included M 1 = { P I D i , W 1 , W 2 , V 1 , T 1 } , M 2 = { P I D i , P S I D j , W 1 , W 2 , W 3 , V 1 , V 2 , T 2 } , M 3 = { W 4 , W 5 , V 3 , V 4 , T 3 } , and M 4 = { W 5 , V 4 , T 4 } . Thus, it can be calculated that the communication cost of our protocol is 8 | Z p * | + 4 | T | + 3 | I D | + 6 | H | = 3168 bits; the communication costs of Huang et al.’s protocol [13] is 6 | Z p * | + 3 | T | + 3 | I D | + 8 | H | = 3392 bits; Zhou et al.’s protocol [23] is 15 | Z p * | + 3 | I D | + 6 | H | = 3936 bits; Martinez-Pelaez et al.’s protocol [24] is 14 | Z p * | + 3 | T | + 3 | I D | + 6 | E | + | H | = 4160 bits; Wu et al.’s protocol [40] is 15 | Z p * | + 3 | I D | + 7 | H | = 4192 bits. Table 6 shows that the communication cost of our protocol was lower than that of the protocols of Huang et al. [13], Zhou et al. [23], Martinez-Pelaez et al. [24], and Wu et al. [40]. Figure 11 shows visually the communication costs per protocol.
According to the above comparison results, it can be conclude that there are some vulnerabilities to attacks in the protocols of Zhou et al. [23] and Martinez-Pelaez et al. [24], while other protocols have the same security as our proposed protocol, which can resist known attacks. Although the computational cost of our proposed protocol was slightly higher than that of Huang et al. [13] by 0.026 ms, the communication cost was lower than that of Huang et al. [13] by 224 bits ( 7.07 % ) .

6. Conclusions

In this paper, we first described the necessity of combining the IoT with cloud computing. Simultaneously, we reviewed some AKA protocols designed in the IoT-enabled cloud computing environments and found that there are still some security problems. To address those problems, we proposed an SGX-based lightweight AKA protocol for IoT-enabled cloud computing. Our goal was to ensure data privacy and sustainable communication between the entities. In addition, the security of the proposed protocol was examined using the ROR model, the ProVerif tool, and informal security analysis. According to the comparison of the results of the security and performance, our proposed protocol can ensure sufficient security and reduce the communication cost by 7.07 % compared with the best one among the current protocols. The limitation is that the computational cost is slightly higher, but it is acceptable in practical application. Therefore, we will continue to enhance the security and performance of protocols in the IoT-enabled cloud computing environments in future work.

Author Contributions

Conceptualization, T.-Y.W.; methodology, T.-Y.W. and L.W.; software, X.G.; formal analysis, Y.-C.C.; investigation, S.-C.C.; writing—original draft preparation, T.-Y.W., L.W., X.G., Y.-C.C. and S.-C.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

This study did not involve humans.

Data Availability Statement

The data are included in the article.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
IoTInternet of Things
SGXSoftware guard extensions
RORReal-or-random
AKAAuthentication and key agreement

References

  1. Goudos, S.K.; Dallas, P.I.; Chatziefthymiou, S.; Kyriazakos, S. A survey of IoT key enabling and future technologies: 5G, mobile IoT, sematic web and applications. Wirel. Pers. Commun. 2017, 97, 1645–1675. [Google Scholar] [CrossRef]
  2. Xue, X.; Wu, X.; Jiang, C.; Mao, G.; Zhu, H. Integrating sensor ontologies with global and local alignment extractions. Wirel. Commun. Mob. Comput. 2021, 2021, 6625184. [Google Scholar] [CrossRef]
  3. Huang, X.; Xiong, H.; Chen, J.; Yang, M. Efficient revocable storage attribute-based encryption with arithmetic span programs in cloud-assisted internet of things. IEEE Trans. Cloud Comput. 2021. [Google Scholar] [CrossRef]
  4. Shen, S.; Yang, Y.; Liu, X. Toward data privacy preservation with ciphertext update and key rotation for IoT. Concurr. Comput. Pract. Exp. 2021, e6729. [Google Scholar] [CrossRef]
  5. Meng, Z.; Pan, J.S.; Tseng, K.K. PaDE: An enhanced Differential Evolution algorithm with novel control parameter adaptation schemes for numerical optimization. Knowl. Based Syst. 2019, 168, 80–99. [Google Scholar] [CrossRef]
  6. Xue, X.; Zhang, J. Matching large-scale biomedical ontologies with central concept based partitioning algorithm and adaptive compact evolutionary algorithm. Appl. Soft Comput. 2021, 106, 107343. [Google Scholar] [CrossRef]
  7. Liu, G.; Zhu, Y.; Xu, S.; Chen, Y.C.; Tang, H. PSO-based power-driven X-routing algorithm in semiconductor design for predictive intelligence of IoT applications. Appl. Soft Comput. 2022, 114, 108114. [Google Scholar] [CrossRef]
  8. He, Z.; Yu, C. Clustering stability-based evolutionary k-means. Soft Comput. 2019, 23, 305–321. [Google Scholar] [CrossRef]
  9. Chaudhry, S.A. Combating identity de-synchronization: An improved lightweight symmetric key based authentication scheme for IoV. J. Netw. Intell. 2021, 6, 656–667. [Google Scholar]
  10. Xiong, H.; Chen, J.; Mei, Q.; Zhao, Y. Conditional privacy-preserving authentication protocol with dynamic membership updating for VANETs. IEEE Trans. Dependable Secur. Comput. 2020, 19, 2089–2104. [Google Scholar] [CrossRef]
  11. Wu, T.; Guo, X.; Chen, Y.; Kumari, S.; Chen, C. Amassing the security: An enhanced authentication protocol for drone communications over 5G networks. Drones 2021, 6, 10. [Google Scholar] [CrossRef]
  12. Luo, Y.; Zheng, W.M.; Chen, Y.C. An anonymous authentication and key exchange protocol in smart grid. J. Netw. Intell. 2021, 6, 206–215. [Google Scholar]
  13. Huang, H.; Lu, S.; Wu, Z.; Wei, Q. An efficient authentication and key agreement protocol for IoT-enabled devices in distributed cloud computing architecture. EURASIP J. Wirel. Commun. Netw. 2021, 2021, 150. [Google Scholar] [CrossRef]
  14. Wu, T.Y.; Wang, T.; Lee, Y.Q.; Zheng, W.; Kumari, S.; Kumar, S. Improved authenticated key agreement scheme for fog-driven IoT healthcare system. Secur. Commun. Netw. 2021, 2021, 6658041. [Google Scholar] [CrossRef]
  15. Yang, Y.; Zheng, X.; Guo, W.; Liu, X.; Chang, V. Privacy-preserving fusion of IoT and big data for e-health. Future Gener. Comput. Syst. 2018, 86, 1437–1455. [Google Scholar] [CrossRef]
  16. Mushtaq, M.F.; Akram, U.; Khan, I.; Khan, S.N.; Shahzad, A.; Ullah, A. Cloud computing environment and security challenges: A review. Int. J. Adv. Comput. Sci. Appl. 2017, 8, 183–195. [Google Scholar]
  17. Wu, T.Y.; Meng, Q.; Kumari, S.; Zhang, P. Rotating behind Security: A Lightweight Authentication Protocol Based on IoT-Enabled Cloud Computing Environments. Sensors 2022, 22, 3858. [Google Scholar] [CrossRef]
  18. Chen, X.; Zhang, J.; Lin, B.; Chen, Z.; Wolter, K.; Min, G. Energy-efficient offloading for DNN-based smart IoT systems in cloud-edge environments. IEEE Trans. Parallel Distrib. Syst. 2021, 33, 683–697. [Google Scholar] [CrossRef]
  19. Zhang, J.; Li, M.; Chen, Z.; Lin, B. Computation offloading for object-oriented applications in a UAV-based edge-cloud environment. J. Supercomput. 2022, 78, 10829–10853. [Google Scholar] [CrossRef]
  20. Kang, B.; Han, Y.; Qian, K.; Du, J. Analysis and improvement on an authentication protocol for IoT-enabled devices in distributed cloud computing environment. Math. Probl. Eng. 2020, 2020, 1970798. [Google Scholar] [CrossRef]
  21. Iqbal, U.; Tandon, A.; Gupta, S.; Yadav, A.R.; Neware, R.; Gelana, F.W. A Novel Secure Authentication Protocol for IoT and Cloud Servers. Wirel. Commun. Mob. Comput. 2022, 2022, 7707543. [Google Scholar] [CrossRef]
  22. Amin, R.; Kumar, N.; Biswas, G.; 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]
  23. 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]
  24. 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. [Google Scholar] [CrossRef]
  25. Costan, V.; Devadas, S. Intel SGX Explained. Cryptology ePrint Archive, 2016. Available online: https://ia.cr/2016/086 (accessed on 21 February 2017).
  26. Liu, X.; Guo, Z.; Ma, J.; Song, Y. A secure authentication scheme for wireless sensor networks based on DAC and Intel SGX. IEEE Internet Things J. 2021, 9, 3533–3547. [Google Scholar] [CrossRef]
  27. Wu, T.Y.; Guo, X.; Chen, Y.C.; Kumari, S.; Chen, C.M. SGXAP: SGX-Based Authentication Protocol in IoV-Enabled Fog Computing. Symmetry 2022, 14, 1393. [Google Scholar] [CrossRef]
  28. Jain, P.; Desai, S.J.; Shih, M.W.; Kim, T.; Kim, S.M.; Lee, J.H.; Choi, C.; Shin, Y.; Kang, B.B.; Han, D. OpenSGX: An Open Platform for SGX Research. In Proceedings of the NDSS, San Diego, CA, USA, 21–24 February2016; Volume 16, pp. 21–24. [Google Scholar]
  29. Turkanović, M.; Brumen, B.; Hölbl, M. A novel user authentication and key agreement scheme for heterogeneous ad hoc wireless sensor networks, based on the Internet of Things notion. Ad Hoc Netw. 2014, 20, 96–112. [Google Scholar] [CrossRef]
  30. Farash, M.S.; Turkanović, M.; Kumari, S.; Hölbl, M. An efficient user authentication and key agreement scheme for heterogeneous wireless sensor network tailored for the Internet of Things environment. Ad Hoc Netw. 2016, 36, 152–176. [Google Scholar]
  31. Amin, R.; Islam, S.H.; Biswas, G.; Khan, M.K.; Leng, L.; Kumar, N. Design of an anonymity-preserving three-factor authenticated key exchange protocol for wireless sensor networks. Comput. Netw. 2016, 101, 42–62. [Google Scholar]
  32. Wu, F.; Xu, L.; Kumari, S.; Li, X.; Shen, J.; Choo, K.K.R.; 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]
  33. Liu, H.; Ning, H.; Xiong, Q.; Yang, L.T. Shared authority based privacy-preserving authentication protocol in cloud computing. IEEE Trans. Parallel Distrib. Syst. 2014, 26, 241–251. [Google Scholar] [CrossRef]
  34. Tsai, J.L.; Lo, N.W. A privacy-aware authentication scheme for distributed mobile cloud computing services. IEEE Syst. J. 2015, 9, 805–815. [Google Scholar] [CrossRef]
  35. He, D.; Kumar, N.; Khan, M.K.; Wang, L.; Shen, J. Efficient privacy-aware authentication scheme for mobile cloud computing services. IEEE Syst. J. 2016, 12, 1621–1631. [Google Scholar] [CrossRef]
  36. Kumar, V.; Jangirala, S.; Ahmad, M. An efficient mutual authentication framework for healthcare system in cloud computing. J. Med Syst. 2018, 42, 142. [Google Scholar] [CrossRef] [PubMed]
  37. G Lopes, A.P.; Gondim, P.R. Mutual authentication protocol for D2D communications in a cloud-based e-health system. Sensors 2020, 20, 2072. [Google Scholar] [CrossRef]
  38. Wang, F.; Xu, G.; Xu, G.; Wang, Y.; Peng, J. A robust IoT-based three-factor authentication scheme for cloud computing resistant to session key exposure. Wirel. Commun. Mob. Comput. 2020, 2020, 3805058. [Google Scholar] [CrossRef]
  39. Yu, S.; Park, K.; Park, Y. A secure lightweight three-factor authentication scheme for IoT in cloud computing environment. Sensors 2019, 19, 3598. [Google Scholar] [CrossRef]
  40. Wu, H.L.; Chang, C.C.; Zheng, Y.Z.; Chen, L.S.; Chen, C.C. A Secure IoT-Based Authentication System in Cloud Computing Environment. Sensors 2020, 20, 5604. [Google Scholar] [CrossRef]
  41. Fisch, B.; Vinayagamurthy, D.; Boneh, D.; Gorbunov, S. Iron: Functional encryption using Intel SGX. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Dallas, TX, USA, 30 October–3 November 2017; pp. 765–782. [Google Scholar] [CrossRef]
  42. Sun, H.; Xiao, S. DNA-X: Dynamic network authentication using SGX. In Proceedings of the 2nd International Conference on Cryptography, Security and Privacy, Guiyang, China, 16–19 March 2018; pp. 110–115. [Google Scholar] [CrossRef]
  43. Condé, R.C.; Maziero, C.A.; Will, N.C. Using Intel SGX to protect authentication credentials in an untrusted operating system. In Proceedings of the 2018 IEEE Symposium on Computers and Communications (ISCC), Natal, Brazil, 25–28 June 2018; pp. 158–163. [Google Scholar] [CrossRef]
  44. Song, T.; Wang, W.; Lang, F.; Ouyang, W.; Wang, Q.; Lin, J. P2A: Privacy Preserving Anonymous Authentication Based on Blockchain and SGX. In Proceedings of the International Conference on Information Security and Cryptology, Guangzhou, China, 11–14 December 2020; Springer: Berlin/Heidelberg, Germany, 2020; Volume 12612, pp. 257–276. [Google Scholar]
  45. Abdalla, M.; Fouque, P.A.; Pointcheval, D. Password-based authenticated key exchange in the three-party setting. In Proceedings of the International Workshop on Public Key Cryptography, Les Diablerets, Switzerland, 23–26 January 2005; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3386, pp. 65–84. [Google Scholar]
  46. Wu, T.Y.; Meng, Q.; Yang, L.; Guo, X.; Kumari, S. A provably secure lightweight authentication protocol in mobile edge computing environments. J. Supercomput. 2022, 78, 13893–13914. [Google Scholar] [CrossRef]
  47. Dolev, D.; Yao, A. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–208. [Google Scholar] [CrossRef]
  48. Canetti, R.; Krawczyk, H. Analysis of key-exchange protocols and their use for building secure channels. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Innsbruck, Austria, 6–10 May 2001; Springer: Berlin/Heidelberg, Germany, 2001; Volume 2045, pp. 453–474. [Google Scholar]
  49. Messerges, T.S.; Dabbish, E.A.; Sloan, R.H. Examining smart-card security under the threat of power analysis attacks. IEEE Trans. Comput. 2002, 51, 541–552. [Google Scholar] [CrossRef]
  50. 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]
  51. Blanchet, B. An efficient cryptographic protocol verifier based on prolog rules. In Proceedings of the CSFW; Citeseer: Princeton, NJ, USA, 2001; Volume 1, pp. 82–96. [Google Scholar]
  52. Wu, T.Y.; Lee, Z.; Yang, L.; Luo, J.N.; Tso, R. Provably secure authentication key exchange scheme using fog nodes in vehicular ad hoc networks. J. Supercomput. 2021, 77, 6992–7020. [Google Scholar] [CrossRef]
  53. Wang, J.; Hao, S.; Li, Y.; Fan, C.; Wang, J.; Han, L.; Hong, Z.; Hu, H. Challenges towards protecting vnf with sgx. In Proceedings of the 2018 ACM International Workshop on Security in Software Defined Networks & Network Function Virtualization, Tempe, AZ, USA, 21 March 2018; pp. 39–42. [Google Scholar] [CrossRef]
Figure 1. IoT-enabled cloud computing architecture.
Figure 1. IoT-enabled cloud computing architecture.
Sustainability 14 11054 g001
Figure 2. IoT-enabled cloud computing system model.
Figure 2. IoT-enabled cloud computing system model.
Sustainability 14 11054 g002
Figure 3. U i ’s registration phase.
Figure 3. U i ’s registration phase.
Sustainability 14 11054 g003
Figure 4. S j ’s registration phase.
Figure 4. S j ’s registration phase.
Sustainability 14 11054 g004
Figure 5. Login and key agreement phase.
Figure 5. Login and key agreement phase.
Sustainability 14 11054 g005
Figure 6. Definitions.
Figure 6. Definitions.
Sustainability 14 11054 g006
Figure 7. The queries and events.
Figure 7. The queries and events.
Sustainability 14 11054 g007
Figure 8. Execution process of U i , S j , and C S .
Figure 8. Execution process of U i , S j , and C S .
Sustainability 14 11054 g008
Figure 9. Verification result.
Figure 9. Verification result.
Sustainability 14 11054 g009
Figure 10. Computational cost comparison [13,23,24,40].
Figure 10. Computational cost comparison [13,23,24,40].
Sustainability 14 11054 g010
Figure 11. Communication cost comparison [13,23,24,40].
Figure 11. Communication cost comparison [13,23,24,40].
Sustainability 14 11054 g011
Table 1. Notations.
Table 1. Notations.
NotationsDescription
U i i-th user
I D i Identity of U i
P I D i , P S I D j Pseudo-identity of U i and S j
P W i , B I O i Password and biometric of U i
S j j-th cloud server
S I D j Identity of S j
C S The control server
k u Shared key between U i and C S
k s Shared key between S j and C S
S K Session key
T i Timestamp
G e n ( . ) / R e p ( . ) Fuzzy generator/reproduction function
h ( . ) Secure hash function
Table 2. Simulation of the S e n d ,   E x e c u t e ,   H a s h ,   C o r r u p t , and T e s t queries.
Table 2. Simulation of the S e n d ,   E x e c u t e ,   H a s h ,   C o r r u p t , and T e s t queries.
QueryDescription
S e n d ( Z , M i ) For a query S e n d ( Π U i x , start), suppose Π U i x selects N i , S I D j , and T 1 , and compute W 1 = N i h ( r i Q U i ) , W 2 = S I D j h ( N i Q U i ) , V 1 = h ( P I D i S I D j Q U i N i ) in a normal state. Then, the query returns the output M 1 = { P I D i , W 1 , W 2 , V 1 , T 1 } .
On a query S e n d ( Π S j y , ( P I D i , W 1 , W 2 , V 1 , T 1 ) ) , suppose Π S j y is in a normal state and performs the following operations: computes Q S j , and selects N j , T 2 ; then, computes W 3 , V 2 . The query is answered by M 2 = { P I D i , P S I D j , W 1 , W 2 , W 3 , V 1 , V 2 , T 2 } .
On a query S e n d ( Π C S z , ( P I D i , P S I D j , W 1 , W 2 , W 3 , V 1 , V 2 , T 2 ) ) , upon receiving the send query message ( P I D i , P S I D j , W 1 , W 2 , W 3 , V 1 , V 2 , T 2 ), Π C S z computes Q U i , N i , S I D j and checks V 1 . If it is equal, then it computes Q S j , N j and checks V 2 . If it is equal, it generates N c s , T 3 and computes W 4 , W 5 , S K , V 3 , V 4 . Then, Π C S z returns the output M 3 = { W 4 , W 5 , V 3 , V 4 , T 3 } .
For a query S e n d ( Π S j y , ( W 4 , W 5 , V 3 , V 4 , T 3 ) ) , suppose Π S j y computes ( N i N c s ) , S K and checks V 3 in a normal state. If V 3 holds, it selects T 4 . Then, the query returns the output M 4 = { W 5 , V 4 , T 4 } .
For a query S e n d ( Π U i x , W 5 , V 4 , T 4 ), upon receiving the send query message ( W 5 , V 4 , T 4 ), Π U i x computes ( N j N c s ) , S K and checks V 4 . If V 4 is incorrect, the query process is terminated. Finally, Π U i x accepts and terminates.
E x e c u t e ( Z ) We proceed with the send query for the E x e c u t e ( Z ) query as follows. ( P I D i , W 1 , W 2 , V 1 , T 1 ) S e n d ( Π U i x , start), ( P I D i , P S I D j , W 1 , W 2 , W 3 , V 1 , V 2 , T 2 )⟵ S e n d ( Π S j y , ( P I D i , W 1 , W 2 , V 1 , T 1 ) ) , ( W 4 , W 5 , V 3 , V 4 , T 3 ) S e n d ( Π C S z , ( P I D i , P S I D j , W 1 , W 2 , W 3 , V 1 , V 2 , T 2 ) ) , ( W 4 , W 5 , V 3 , V 4 , T 3 ) S e n d ( Π S j y , ( W 4 , W 5 , V 3 , V 4 , T 3 ) ) . The query is answered with transcripts ( P I D i , W 1 , W 2 , V 1 , T 1 ) ,( P I D i , P S I D j , W 1 , W 2 , W 3 , V 1 , V 2 , T 2 ), ( W 4 , W 5 , V 3 , V 4 , T 3 ) , and ( W 5 , V 4 , T 4 ).
H a s h ( s t r i n g ) For a H a s h ( s t r i n g ) query, if the query is executed and a record ( s t r i n g , s ) appears in the query, s = h a s h ( s t r i n g ) is returned. Otherwise, an element s is selected, and ( s t r i n g , s ) is added to the list and returns s.
C o r r u p t ( Z ) For a C o r r u p t ( Π U i x ) , if the ( Π U i x ) is accepted, executing the query returns the parameters { R U , S U , T U } in S C .
T e s t ( Z ) The coin c is flipped; if c = 0 , return a random value with the same length as S K ; otherwise, return the correct S K .
Table 3. Comparisons of security.
Table 3. Comparisons of security.
Attack MethodsHuang et al. [13]Zhou et al. [23]Martinez-Pelaez et al. [24]Wu et al. [40]Ours
S1× [39]
S2× [39]
S3× [38]
S4× [39]
S5× [38]
S6× [38]× [39]
S7× [39]
Table 4. The configuration of the equipment and operation times.
Table 4. The configuration of the equipment and operation times.
MI 8Lenovo Desktop ComputerLenovo Laptop
Operating SystemAndroid systemWindows 10Windows 10
CPUQualcomm Snapdragon
845
Intel(R) Core(TM)
i5-9500 CPU @ 3.00 GHz
Intel(R) Core(TM)
i7-6700HQ CPU @ 2.60 GHz
Running memory6 GB16 GB8 GB
Symmetric key encryption/decryption0.2554 ms0.1385 ms0.1874 ms
Hash function0.0045 ms0.0026 ms0.0035 ms
Table 5. Computational cost comparison.
Table 5. Computational cost comparison.
Protocols U i (ms) S j (ms) CS (ms)Total (ms)
Huang et al. [13] 8 T h ≈ 0.036 4 T h ≈ 0.010 10 T h ≈ 0.0350.081
Zhou et al. [23] 10 T h ≈ 0.045 7 T h ≈ 0.018 19 T h ≈ 0.0670.130
Martinez-Pelaez et al. [24] 3 T s + 7 T h ≈ 0.798 3 T s + 6 T h ≈ 0.431 2 T s + 26 T h ≈ 0.4661.695
Wu et al. [40] 12 T h ≈ 0.054 8 T h ≈ 0.021 19 T h ≈ 0.0670.142
Ours T f + 10 T h ≈ 0.049 6 T h ≈ 0.016 12 T h ≈ 0.0420.107
Here, T s denotes the symmetric key encryption/decryption operation’s execution time, T f denotes the fuzzy extraction function’s execution time, and T h denotes the hash operation’s execution time.
Table 6. Communication cost comparison.
Table 6. Communication cost comparison.
ProtocolsRoundsCommunication Cost
Huang et al. [13]43392 bits ( + 7.07 % )
Zhou et al. [23]43936 bits ( + 24.24 % )
Martinez-Pelaez et al. [24]64160 bits ( + 31.31 % )
Wu et al. [40]54192 bits ( + 32.32 % )
Ours43168 bits
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Wu, T.-Y.; Wang, L.; Guo, X.; Chen, Y.-C.; Chu, S.-C. SAKAP: SGX-Based Authentication Key Agreement Protocol in IoT-Enabled Cloud Computing. Sustainability 2022, 14, 11054. https://doi.org/10.3390/su141711054

AMA Style

Wu T-Y, Wang L, Guo X, Chen Y-C, Chu S-C. SAKAP: SGX-Based Authentication Key Agreement Protocol in IoT-Enabled Cloud Computing. Sustainability. 2022; 14(17):11054. https://doi.org/10.3390/su141711054

Chicago/Turabian Style

Wu, Tsu-Yang, Liyang Wang, Xinglan Guo, Yeh-Cheng Chen, and Shu-Chuan Chu. 2022. "SAKAP: SGX-Based Authentication Key Agreement Protocol in IoT-Enabled Cloud Computing" Sustainability 14, no. 17: 11054. https://doi.org/10.3390/su141711054

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