# Enhanced Authentication Protocol for the Internet of Things Environment

Authors: Chien-Ming Chen; Xuanang Li; Shuangshuang Liu; Mu-En Wu; Saru Kumari
Journal: Security and Communication Networks
 (2022)

---

## Abstract

The Internet of Things (IoT) is among the most promising technologies of the future, and its development has garnered attention worldwide. However, the rise of the IoT has been accompanied by a proportionate increase in security concerns regarding communication between IoT entities. Recently, Alzahrani et al. proposed an identity-based authentication and key agreement protocol for an IoT environment, wherein a physically unclonable function was employed. They claimed that their protocol can resist various types of attacks; however, after thorough analysis, we determined it to be ineffective against privileged internal attacks, physical IoT device capture attacks, stolen-verifier attacks, and known temporary information exposure attacks. To resolve these security weaknesses, we propose a new authentication and key agreement protocol. In addition, we demonstrate that the proposed protocol is provably secure in real-or-random (ROR) model and Burrows–Abadi–Needham (BAN) logic, resisting known attacks while incurring low communication and computation costs.


---

## Body

## 1. Introduction

The Internet of Things (IoT) [1–3] has become a popular topic since its conception at the end of the 20th century. The technology has developed from the simple application of a single sensor to a specific scene to the vast IoT that is currently a ubiquitous part of our lives [4]. The IoT has found application in many scenarios (shown in Figure 1), such as education [5], smart homes [6, 7], healthcare [8, 9], and VANETs [10, 11]. In schools, teachers can use IoT devices to assist them with teaching to more actively engage students in the process of learning, and the IoT makes it easier for schools to troubleshoot students’ problems more effectively. Ultimately, students’ development would improve in all respects. The traffic police could use IoT devices such as intelligent cameras to detect vehicle movements, violations, vehicle-related crime, and security, which would enable them to manage the traffic more efficiently with safety in mind. In terms of medical treatment, doctors could use intelligent detection equipment to monitor patients’ conditions in real time such that patients feel more at ease during treatment. Therefore, IoT has become ubiquitous in our daily lives, with people becoming increasingly dependent on IoT devices.Figure 1
IoT environment.The IoT has made our lives more convenient. However, the IoT not only brings us convenience but also has significant hidden threats. For example, Amazon’s Ring home surveillance camera has a security loophole, which has been hacked. A large number of videos and photos of users have been posted online by hackers. Another example is malware named Silex, which is able to attack thousands of IoT devices, paralyzing these devices in a large area and causing considerable human, material, and financial losses. Therefore, the security of IoT must be improved to prevent further danger to human life. Researchers have developed various solutions to solve the aforementioned security problems. The primary solution involves encrypting all messages/data transmitted through public channels. This would ensure that the data pertaining to each entity are not leaked during the communication phase. Therefore, a secure and efficient authentication and key agreement (AKA) protocol is required.In 2021, Alzahrani and Mahmood [12] demonstrated that Chikouche et al.’s AKA protocol [13] is insecure against device anonymity attacks and known temporary information exposure attacks and then designed a provable privacy-preserving AKA protocol for IoT. Their protocol utilized a physical unclonable function (PUF) to encrypt transmitted data. The authors claimed that the use of PUF can ensure resistance to physical capture attacks on IoT devices. Besides, the authors claimed that their protocol can resist various types of attacks and provide perfect forward security.However, in this study, we further demonstrate that Alzahrani and Mahmood’s AKA protocol [12] is still vulnerable to physical IoT device capture attacks, privileged insider attacks, known temporary information disclosure attacks, and stolen-verifier attacks. To address the security loopholes in Alzahrani and Mahmood’s protocol [12], we further propose a new AKA protocol. In our design, we used an asymmetric encryption system to encrypt the identity of the device, considering that symmetric encryption is more efficient than asymmetric encryption. In addition, we added a login phase for IoT devices. It verifies the legality of an IoT device before it communicates with servers. The proposed protocol is then validated by a formal proof with the real-or-random (ROR) model and Burrows–Abadi–Needham (BAN) logic. We also analyze that the proposed protocol provides robustness against various kinds of potential attacks. Finally, we present a performance analysis and compare it with other related protocols. Experimental results show that the proposed protocol has low computational and communication overhead.The remainder of this paper is organized as follows. Section2 reviews related work. In Section 3, we briefly review the protocol of Alzahrani et al. [12]. Section 4 presents our demonstration that Alzahrani et al.’s protocol [12] is vulnerable to several attacks. The proposed protocol is described in Section 5. Sections 6 and 7 provide security and performance analyses and suitable comparisons. Finally, Section 8 concludes the paper.


## 2. Related Work

In 2015, Sun et al. [14] proposed an AKA protocol using hash functions. However, this protocol [14] did not provide secure identity verification. In 2018, Gope and Sikdar [15] proposed a lightweight privacy-preserving two-party AKA protocol, but this protocol is not vulnerable to desynchronization attacks and does not provide perfect forward security. Various AKA protocols that were designed to improve the level of security [16–18] are based on elliptic curve cryptography (ECC). Kalra and Sood [19] proposed an ECC-based AKA protocol for the IoT. They claimed that this protocol provided perfect forward security. However, Chang et al. found that it was unable to provide basic authentication and session key agreement mechanisms. Consequently, in an attempt to address the security loopholes in the protocol of Kalra et al., Chang et al. improved the protocol such that it offered a higher level of security. In addition, Kumari et al. [20] found that Kalra et al.’s protocol is not resistant to device anonymity attacks, interest password-guessing attacks, and privileged insider attacks. Recently, Chikouche et al. [13] proposed another AKA protocol for IoT.


## 3. Review of Alzahrani et al.’s Protocol

In this section, we review the protocol proposed by Alzahrani and Mahmood [12] for the IoT environment. The protocol consists of two phases: a registration phase and a mutual authentication phase. The symbols used in the paper are listed in Table 1.Table 1
Notations used in the proposed protocol.
NotationsDescriptionsD, SIoT device, serverDiith IoT deviceIDiIdentity ofDiRIDiDi′s pseudo identityPWiDi′s passwordKsPrivate key ofSKSDShared key betweenS and DCi,RiResponse pair ofDiPUFPhysically unclonable functionNi,NsNonce generated byDi and S⇒Private communication channel⟶Public communication channelAThe adversary⊕∥Bitwise XOR operation, concatenation operatorSKSession key


### 3.1. Registration Phase

Assuming that an IoT deviceDi with the identity IDi desires to register on a server, the following steps are performed:(1)
First,Di selects an identity IDi for itself; subsequently, it sends a registration request REGreq to S, and outputs its identity IDi to S through a secure channel. Thus, S can identify whether the Di communicating with it during the authentication phase has been registered earlier.(2)
AfterS receives the registration request and the identity of Di, it first generates a valid period of time ETime and then calculates(1)CK=hIDiKsETime,Oi=hIDiKs.Thereafter,S generates the PUF to request the information Ci and TIDi, and generates a series of S pseudo-identities SIDii=1,2,3,…. Subsequently, S sends the calculated CK, Qi, Ci, and TIDi to Di.(3)
AfterDi receives the message CK,Qi,Ci,TIDi, it first uses the PUF to calculate the Ci transmitted from S to obtain Ri, and then stores its own identity IDi and pseudo-identities TIDi, Oi, and CK in its own memory, while transmitting Ri to S.(4)
Finally,S stores Di′s identities IDi, Ci, Ri, and RTime in its own memory. Consequently, the entire registration phase of Di is completed.


### 3.2. Mutual Authentication Phase

(1)
Di must perform normal authentication and communication with S. First, S generates a random number Ni and then calculates(2)c=IDi⊕Ni,P1=hOi⊕Ni⊕CK.Thereafter,Di transmits the calculated c,P1, and the pseudo-identity of Di to S through the public channel.(2)
AfterS receives the transmission information from Di, it first extracts the information IDi,Ci,Ri,ETime from its own memory and subsequently calculates the random number(3)Ni=c⊕IDi,Oi=hIDiKs.Then, it calculates(4)CK=hIDiKsETime.Subsequently, it is verified whether the received value ofP1 is equal to the value of hOi⊕Ni⊕CK. If equal, the authentication is successful, and subsequently, S generates its own random number Ns and the pseudo-identity TIDinew of the new Di. Thereafter, S calculates(5)V=Ni⊕NsTIDinewCi,P2=hOiCKNiNs.And finally,S generates the session key with Di.(6)SK=hIDiNiNsCiRi.Then, the data stored inS is updated, and the pseudo-identity of Di is TIDinew. Finally, S transmits P2,V to Di through the public channel.(3)
Di first calculates the values of Ns, Ci, and TIDinew according to the transmitted V and the random number Ni generated by itself. Then, Di calculates(7)P2′=hOiCKNiNs.Thereafter, it is verified whetherP2′ is equal to the transmitted P2 value; if equal, it implies that the S, that is, sending the information is legal. Subsequently, Di uses the physical IoT unclonable function to calculate the value of Ri, and Di finally obtains the session key to communicate with S as follows:(8)SK=hIDiNiNsCiRi.


## 3.1. Registration Phase

Assuming that an IoT deviceDi with the identity IDi desires to register on a server, the following steps are performed:(1)
First,Di selects an identity IDi for itself; subsequently, it sends a registration request REGreq to S, and outputs its identity IDi to S through a secure channel. Thus, S can identify whether the Di communicating with it during the authentication phase has been registered earlier.(2)
AfterS receives the registration request and the identity of Di, it first generates a valid period of time ETime and then calculates(1)CK=hIDiKsETime,Oi=hIDiKs.Thereafter,S generates the PUF to request the information Ci and TIDi, and generates a series of S pseudo-identities SIDii=1,2,3,…. Subsequently, S sends the calculated CK, Qi, Ci, and TIDi to Di.(3)
AfterDi receives the message CK,Qi,Ci,TIDi, it first uses the PUF to calculate the Ci transmitted from S to obtain Ri, and then stores its own identity IDi and pseudo-identities TIDi, Oi, and CK in its own memory, while transmitting Ri to S.(4)
Finally,S stores Di′s identities IDi, Ci, Ri, and RTime in its own memory. Consequently, the entire registration phase of Di is completed.


## 3.2. Mutual Authentication Phase

(1)
Di must perform normal authentication and communication with S. First, S generates a random number Ni and then calculates(2)c=IDi⊕Ni,P1=hOi⊕Ni⊕CK.Thereafter,Di transmits the calculated c,P1, and the pseudo-identity of Di to S through the public channel.(2)
AfterS receives the transmission information from Di, it first extracts the information IDi,Ci,Ri,ETime from its own memory and subsequently calculates the random number(3)Ni=c⊕IDi,Oi=hIDiKs.Then, it calculates(4)CK=hIDiKsETime.Subsequently, it is verified whether the received value ofP1 is equal to the value of hOi⊕Ni⊕CK. If equal, the authentication is successful, and subsequently, S generates its own random number Ns and the pseudo-identity TIDinew of the new Di. Thereafter, S calculates(5)V=Ni⊕NsTIDinewCi,P2=hOiCKNiNs.And finally,S generates the session key with Di.(6)SK=hIDiNiNsCiRi.Then, the data stored inS is updated, and the pseudo-identity of Di is TIDinew. Finally, S transmits P2,V to Di through the public channel.(3)
Di first calculates the values of Ns, Ci, and TIDinew according to the transmitted V and the random number Ni generated by itself. Then, Di calculates(7)P2′=hOiCKNiNs.Thereafter, it is verified whetherP2′ is equal to the transmitted P2 value; if equal, it implies that the S, that is, sending the information is legal. Subsequently, Di uses the physical IoT unclonable function to calculate the value of Ri, and Di finally obtains the session key to communicate with S as follows:(8)SK=hIDiNiNsCiRi.


## 4. Cryptanalysis of Alzahrani et al.’s Protocol

In this section, we first describe the attack model used in this study and then explain the vulnerability thereof against physical IoT device capture attacks, stolen verification attacks, privileged internal attacks, and known temporary information exposure attacks.


### 4.1. Threat Model

Dolev–Yao (DY) model was proposed by Dolev and Yao in 1983 [21]. DY model is based on the hierarchical idea of security protocol. It first considers whether there are defects in the behavior logic of the security protocol itself, and then considers whether there are problems in the implementation method. The reason we select DY model is to offer the maximum capabilities to an adversary who is allowed to breach the security of the proposed protocol.In the DY model, the capabilities of an adversaryA are as follows:(1)
A can intercept, tamper with, and delete the information transmitted from D to S through the public channel(2)
IfD is captured by A, A can obtain the information stored in the memory of D and use the information to perform illegal operations(3)
A can use power analysis to obtain the information stored in the smart card(4)
A can extract the registration information of D stored in S as a privileged insider, that is, the information sent by D to S during the registration phase can be obtained by A(5)
During the authentication phase ofD and S, D and S generate temporary information to encrypt certain parameters, and A can obtain the random number generated by D or S


### 4.2. Physical IoT Device Capture Attack

In our daily life and work, IoT devices are usually everywhere. People can easily obtain IoT devices. It means that an adversaryA can also easily capture IoT devices. After this, A can capture the data in IoT devices through data analysis to attack [22].In Alzahrani et al.’s protocol, during the registration and mutual authentication phases ofDi and S, Di can easily be physically captured by a certain A. Subsequently, A is easily stored in the information in Di. Thereafter, it performs certain calculations considering the information obtained from the memory of Di, and finally obtains the session key for the communication between Di and S. The specific steps of this attack are as follows:(1)
After capturingDi, A obtains the information IDi,TIDi,Oi,CK stored in the memory and subsequently obtains the information c sent by Di to S through the public channel in the authentication phase. It then calculates(9)Ni=IDi⊕c.(2)
A obtains the value of V through the public channel. Thereafter,(10)NsTIDInewCi=Ni⊕V.Is calculated to obtain the random numbersNs and Ci generated by S.(3)
With the value ofCi obtained in the previous step, A uses the PUF to obtain the value of Ri.(4)
Finally,A obtains the session key(11)SK=hIDiNiNsCiRi.Used for communication betweenS and Di according to the parameters Ni,Ns,Ci,Ri,IDi. Therefore, A can successfully perform a physical IoT capture attack.


### 4.3. Privileged Insider Attack

The whole process of the protocol includes various participants, and the staff are also part of the participants. However, it cannot ensure the credibility of the staff. In case theA sneaks into the staff, the secret data contacted by the staff will not be saved [23]. In Alzahrani et al.’s protocol, during the registration phase, Di sends a registration request and its own identity information to S through a secure channel. In general, the registration information of Di is confidential and is not made available to others. However, should a certain A exist among the S administrators, the registration information would be readily accessible. Consequently, A could perform certain calculations based on the registration information and the information obtained through the public channel to finally obtain the session key between Di and S. The specific process is as follows:(1)
As a privileged insider ofS, A obtains the registration information IDi of Di.(2)
Thereafter,Di obtains the information Ci and V transmitted by S and Di, respectively, through the common channel during the authentication phase. Then, the parameters Ci and IDi, which were obtained in this manner, are used to calculate Ni. Thereafter,(12)NsTIDInewCi=Ni⊕V.is calculated using the calculatedNi and V values to obtain the parameters Ns and Ci.(3)
A PUF is used in the protocol and the method whereby this function is calculated is fixed. Provided thatA obtains the value of Ci, the value of Ri can be obtained with the aforementioned method.(4)
Consequently, according to the aforementioned parameters,A can easily obtain the session key between S and Di(13)SK=hIDiNiNsCiRi.Equipped with this information,A can access the private content of the communication between S and Di based on the session key between the two parties. Therefore, we can conclude that the protocol of Alzahrani and Mahmood [12] does not offer resistance against privileged insider attacks.


### 4.4. Known Temporary Information Disclosure Attack

Temporary data will be generated during the operation of various devices, and these temporary data will be temporarily stored in the memory.A can easily obtain the temporarily stored data and further attack [24].In general, whenS and Di perform mutual authentication, Di transmits a certain amount of its own private information to S. Then, Di is verified on the basis of this private information, which is stored in S and which cannot be accessed by other people. Therefore, Di generates random numbers to encrypt the private information and then transmit the encrypted parameters to S. However, under certain circumstances, this temporary information may also be obtained by A, who could consequently use it to crack the session key based on the obtained temporary random number information. Here, we demonstrate that the protocol of Alzahrani et al. is not robust against temporary information disclosure attacks at all times. The attack could take place via the following steps.(1)
A obtains the random number Ni generated by Di during the authentication phase with S through certain illegal channels and then obtains the parameter V transmitted by S to Di through the public channel.(2)
A can calculate(14)NsTIDInewCi=Ni⊕V.Considering the obtained parameter informationNi and V, A can easily obtain the random number Ns generated by S and the parameter Ci used by the PUF. Thus, Ri can be calculated according to parameter Ci.(3)
Regarding the session keySK for the communication between Di and S, according to certain parameters obtained by A earlier, information about the keys of both parties can be easily obtained. Therefore, the protocol of Alzahrani et al. cannot resist known temporary information disclosure attacks.


### 4.5. Stolen-Verifier Attack

The verifier stored in the server will also be leaked. When the server is unattended, theA can analyze and obtain the verifier stored in it, so as to further attack [25]. During the registration and authentication phases, S stores certain information in its own memory for subsequent calculations. A stolen verification attack implies that A accesses the information in the memory and then performs calculations to finally obtain the session key between the two parties. The specific attack process is as follows:(1)
In the registration phase,S stores the identity of Di, that is, IDi and Ci used by the PUF, the result Ri, and the validity period ETime in its own memory. However, A can gain access to the parameters in S′s memory through certain means.(2)
Subsequently,A uses the acquired identity information IDi of Di to calculate the parameter Ni, and the parameter V is used to derive the parameters Ns and Ci.(3)
S and Di communicate using the session key SK. As A has obtained the parameters required to calculate the session key, it can thus access the session key of both parties. Therefore, we can conclude that the protocol of Alzahrani et al. does not provide resistance against stolen verification attacks.


## 4.1. Threat Model

Dolev–Yao (DY) model was proposed by Dolev and Yao in 1983 [21]. DY model is based on the hierarchical idea of security protocol. It first considers whether there are defects in the behavior logic of the security protocol itself, and then considers whether there are problems in the implementation method. The reason we select DY model is to offer the maximum capabilities to an adversary who is allowed to breach the security of the proposed protocol.In the DY model, the capabilities of an adversaryA are as follows:(1)
A can intercept, tamper with, and delete the information transmitted from D to S through the public channel(2)
IfD is captured by A, A can obtain the information stored in the memory of D and use the information to perform illegal operations(3)
A can use power analysis to obtain the information stored in the smart card(4)
A can extract the registration information of D stored in S as a privileged insider, that is, the information sent by D to S during the registration phase can be obtained by A(5)
During the authentication phase ofD and S, D and S generate temporary information to encrypt certain parameters, and A can obtain the random number generated by D or S


## 4.2. Physical IoT Device Capture Attack

In our daily life and work, IoT devices are usually everywhere. People can easily obtain IoT devices. It means that an adversaryA can also easily capture IoT devices. After this, A can capture the data in IoT devices through data analysis to attack [22].In Alzahrani et al.’s protocol, during the registration and mutual authentication phases ofDi and S, Di can easily be physically captured by a certain A. Subsequently, A is easily stored in the information in Di. Thereafter, it performs certain calculations considering the information obtained from the memory of Di, and finally obtains the session key for the communication between Di and S. The specific steps of this attack are as follows:(1)
After capturingDi, A obtains the information IDi,TIDi,Oi,CK stored in the memory and subsequently obtains the information c sent by Di to S through the public channel in the authentication phase. It then calculates(9)Ni=IDi⊕c.(2)
A obtains the value of V through the public channel. Thereafter,(10)NsTIDInewCi=Ni⊕V.Is calculated to obtain the random numbersNs and Ci generated by S.(3)
With the value ofCi obtained in the previous step, A uses the PUF to obtain the value of Ri.(4)
Finally,A obtains the session key(11)SK=hIDiNiNsCiRi.Used for communication betweenS and Di according to the parameters Ni,Ns,Ci,Ri,IDi. Therefore, A can successfully perform a physical IoT capture attack.


## 4.3. Privileged Insider Attack

The whole process of the protocol includes various participants, and the staff are also part of the participants. However, it cannot ensure the credibility of the staff. In case theA sneaks into the staff, the secret data contacted by the staff will not be saved [23]. In Alzahrani et al.’s protocol, during the registration phase, Di sends a registration request and its own identity information to S through a secure channel. In general, the registration information of Di is confidential and is not made available to others. However, should a certain A exist among the S administrators, the registration information would be readily accessible. Consequently, A could perform certain calculations based on the registration information and the information obtained through the public channel to finally obtain the session key between Di and S. The specific process is as follows:(1)
As a privileged insider ofS, A obtains the registration information IDi of Di.(2)
Thereafter,Di obtains the information Ci and V transmitted by S and Di, respectively, through the common channel during the authentication phase. Then, the parameters Ci and IDi, which were obtained in this manner, are used to calculate Ni. Thereafter,(12)NsTIDInewCi=Ni⊕V.is calculated using the calculatedNi and V values to obtain the parameters Ns and Ci.(3)
A PUF is used in the protocol and the method whereby this function is calculated is fixed. Provided thatA obtains the value of Ci, the value of Ri can be obtained with the aforementioned method.(4)
Consequently, according to the aforementioned parameters,A can easily obtain the session key between S and Di(13)SK=hIDiNiNsCiRi.Equipped with this information,A can access the private content of the communication between S and Di based on the session key between the two parties. Therefore, we can conclude that the protocol of Alzahrani and Mahmood [12] does not offer resistance against privileged insider attacks.


## 4.4. Known Temporary Information Disclosure Attack

Temporary data will be generated during the operation of various devices, and these temporary data will be temporarily stored in the memory.A can easily obtain the temporarily stored data and further attack [24].In general, whenS and Di perform mutual authentication, Di transmits a certain amount of its own private information to S. Then, Di is verified on the basis of this private information, which is stored in S and which cannot be accessed by other people. Therefore, Di generates random numbers to encrypt the private information and then transmit the encrypted parameters to S. However, under certain circumstances, this temporary information may also be obtained by A, who could consequently use it to crack the session key based on the obtained temporary random number information. Here, we demonstrate that the protocol of Alzahrani et al. is not robust against temporary information disclosure attacks at all times. The attack could take place via the following steps.(1)
A obtains the random number Ni generated by Di during the authentication phase with S through certain illegal channels and then obtains the parameter V transmitted by S to Di through the public channel.(2)
A can calculate(14)NsTIDInewCi=Ni⊕V.Considering the obtained parameter informationNi and V, A can easily obtain the random number Ns generated by S and the parameter Ci used by the PUF. Thus, Ri can be calculated according to parameter Ci.(3)
Regarding the session keySK for the communication between Di and S, according to certain parameters obtained by A earlier, information about the keys of both parties can be easily obtained. Therefore, the protocol of Alzahrani et al. cannot resist known temporary information disclosure attacks.


## 4.5. Stolen-Verifier Attack

The verifier stored in the server will also be leaked. When the server is unattended, theA can analyze and obtain the verifier stored in it, so as to further attack [25]. During the registration and authentication phases, S stores certain information in its own memory for subsequent calculations. A stolen verification attack implies that A accesses the information in the memory and then performs calculations to finally obtain the session key between the two parties. The specific attack process is as follows:(1)
In the registration phase,S stores the identity of Di, that is, IDi and Ci used by the PUF, the result Ri, and the validity period ETime in its own memory. However, A can gain access to the parameters in S′s memory through certain means.(2)
Subsequently,A uses the acquired identity information IDi of Di to calculate the parameter Ni, and the parameter V is used to derive the parameters Ns and Ci.(3)
S and Di communicate using the session key SK. As A has obtained the parameters required to calculate the session key, it can thus access the session key of both parties. Therefore, we can conclude that the protocol of Alzahrani et al. does not provide resistance against stolen verification attacks.


## 5. Proposed Protocol

This section proposes a new AKA protocol for the IoT environment. The protocol contains three phases, the predeployment phase, the IoT device registration phase, and the login and authentication phase. The proposed protocol considers two roles, IoT devices, and a server. In the predeployment phase, an IoT device and the server negotiate a shared key for later use. The IoT device registration phase enables IoT devices to register to the server. Devices and the server further authenticate each other and generate a session key.


### 5.1. Predeployment Phase

BeforeDi and S are authenticated, a shared key K is first assigned to Di and S, such that Di can encrypt its own identity in the later registration phase. The shared key between the two is only known to Di and S and is inaccessible to other devices and personnel.


### 5.2. IoT Device Registration Phase

Figure2 illustrates the IoT device registration phase. The detailed steps are as follows:(1)
First,Di selects an identity IDi and password PWi and then uses a symmetric encryption algorithm to encrypt the identity IDi of D to obtain the pseudo-identity of the IoT device.(15)RIDi=EnckIDi.Thereafter, the IoT device transmits the registration requestRq and pseudo-identity RIDi to S through a secure channel.(2)
AfterS receives the registration information, it first generates a validity period ETime and subsequently decrypts the pseudo-identity to obtain the device identity.(16)IDi=DeskRIDi.Furthermore,S encrypts the identity of Di and the private key of S to obtain(17)A=hIDiKsETime,B=hIDiKs.Consequently,S generates Ci for Di and also generates a series of pseudo-identities SIDii=1,2,3… for its use. Finally, S sends the calculated A, SIDi, B, and Ci to Di through a secure channel.(3)
Di encrypts the received Ci using a PUF to obtain(18)Ri=PUFCi.Subsequently, it encrypts its own identity and password to obtainV, which was used by Di during the login phase. Finally, the parameters IDi,SIDi,A,B,V are stored in its own memory, and Ri is sent to S.(4)
S stores RIDi,Ci,Ri,ETime in its own memory.Figure 2
Device registration phase.


### 5.3. Login and Authentication Phase

Figure3 shows the login phase of Di and the authentication phase with S. The specific details of the process are as follows.(1)
Di enters its own IDi and password PWi and generates a temporary random number Ni. Then, Di uses a symmetric encryption algorithm to encrypt its own identity to obtain a pseudo-identity as follows:(19)RIDi=EnckIDi,V1=hIDiBPWi.The verificationV1 is passed, and Di stores it in its own memory to check whether it is equal to V, which already resides in the memory, to prove the legality of Di. If the values are equal, the login is successful and then the following is calculated.(20)c=Ni⊕RIDi,U=hB⊕Ni⊕A⊕T1.Finally,Di sends c,SIDi,U,T1 to S through the public channel.(2)
After receiving the information,S first verifies the freshness of the timestamp T1, and if T2−T1≤T′, then the authentication phase continues. The RIDi is determined through SIDi, and S uses a symmetric decryption algorithm to decrypt the RIDi stored in the memory to obtain the real identity of Di as follows:(21)IDi=DeskRIDi.Following which certain additional parameters are calculated as follows:(22)Ni=RIDi⊕c,B=hIDiKs,A=hIDiKsETime,U′=hB⊕Ni⊕A⊕T1.Subsequently, it is verified whetherU′ is equal to the transmitted U; if equal, it implies that a legitimate Di is communicating with it. Then, S generates a random number Ns and calculates the following:(23)G=Ni⊕NsCi,W=hBANiNs.Finally, the session key to communicate withDi is generated as(24)SK=hIDiNsNiCiRi,whereuponS sends G,W,T2 to Di through the public channel.(3)
Di first checks the freshness of the timestamp T2 generated by S and then obtains Ns and Ci through the parameters G and Ni as(25)W′=hBANiNs.Di compares the calculated W′ with the received W and proves that if they are equal, S is legitimate. Finally, Di calculates the session key(26)SK=hIDiNsNiCiRi.For the communication betweenS and Di according to Ri, calculated by the PUF.Figure 3
Login and authentication phase.The aforementioned steps represent the entire process according to whichDi registers with S and performs the key exchange.


## 5.1. Predeployment Phase

BeforeDi and S are authenticated, a shared key K is first assigned to Di and S, such that Di can encrypt its own identity in the later registration phase. The shared key between the two is only known to Di and S and is inaccessible to other devices and personnel.


## 5.2. IoT Device Registration Phase

Figure2 illustrates the IoT device registration phase. The detailed steps are as follows:(1)
First,Di selects an identity IDi and password PWi and then uses a symmetric encryption algorithm to encrypt the identity IDi of D to obtain the pseudo-identity of the IoT device.(15)RIDi=EnckIDi.Thereafter, the IoT device transmits the registration requestRq and pseudo-identity RIDi to S through a secure channel.(2)
AfterS receives the registration information, it first generates a validity period ETime and subsequently decrypts the pseudo-identity to obtain the device identity.(16)IDi=DeskRIDi.Furthermore,S encrypts the identity of Di and the private key of S to obtain(17)A=hIDiKsETime,B=hIDiKs.Consequently,S generates Ci for Di and also generates a series of pseudo-identities SIDii=1,2,3… for its use. Finally, S sends the calculated A, SIDi, B, and Ci to Di through a secure channel.(3)
Di encrypts the received Ci using a PUF to obtain(18)Ri=PUFCi.Subsequently, it encrypts its own identity and password to obtainV, which was used by Di during the login phase. Finally, the parameters IDi,SIDi,A,B,V are stored in its own memory, and Ri is sent to S.(4)
S stores RIDi,Ci,Ri,ETime in its own memory.Figure 2
Device registration phase.


## 5.3. Login and Authentication Phase

Figure3 shows the login phase of Di and the authentication phase with S. The specific details of the process are as follows.(1)
Di enters its own IDi and password PWi and generates a temporary random number Ni. Then, Di uses a symmetric encryption algorithm to encrypt its own identity to obtain a pseudo-identity as follows:(19)RIDi=EnckIDi,V1=hIDiBPWi.The verificationV1 is passed, and Di stores it in its own memory to check whether it is equal to V, which already resides in the memory, to prove the legality of Di. If the values are equal, the login is successful and then the following is calculated.(20)c=Ni⊕RIDi,U=hB⊕Ni⊕A⊕T1.Finally,Di sends c,SIDi,U,T1 to S through the public channel.(2)
After receiving the information,S first verifies the freshness of the timestamp T1, and if T2−T1≤T′, then the authentication phase continues. The RIDi is determined through SIDi, and S uses a symmetric decryption algorithm to decrypt the RIDi stored in the memory to obtain the real identity of Di as follows:(21)IDi=DeskRIDi.Following which certain additional parameters are calculated as follows:(22)Ni=RIDi⊕c,B=hIDiKs,A=hIDiKsETime,U′=hB⊕Ni⊕A⊕T1.Subsequently, it is verified whetherU′ is equal to the transmitted U; if equal, it implies that a legitimate Di is communicating with it. Then, S generates a random number Ns and calculates the following:(23)G=Ni⊕NsCi,W=hBANiNs.Finally, the session key to communicate withDi is generated as(24)SK=hIDiNsNiCiRi,whereuponS sends G,W,T2 to Di through the public channel.(3)
Di first checks the freshness of the timestamp T2 generated by S and then obtains Ns and Ci through the parameters G and Ni as(25)W′=hBANiNs.Di compares the calculated W′ with the received W and proves that if they are equal, S is legitimate. Finally, Di calculates the session key(26)SK=hIDiNsNiCiRi.For the communication betweenS and Di according to Ri, calculated by the PUF.Figure 3
Login and authentication phase.The aforementioned steps represent the entire process according to whichDi registers with S and performs the key exchange.


## 6. Security Analysis

In this section, we present the analyses we conducted to prove that the proposed protocol is sufficiently secure.


### 6.1. BAN Logic Analysis

Burrows–Abadi–Needham logic has been used in several studies to prove whether a protocol can be executed securely. This section uses BAN logic to prove the security and reliability of our proposed protocol. This proof verifies that our protocol can successfully establish and share a session key between the server and IoT device.D represents an IoT device in the following proof, and S represents the server. The specific proof rules and process are as follows:


#### 6.1.1. BAN Logic Rules

Message-meaning rule (R1)D∣≡D↔KS,D⊲MK/D≡S∼MNonce-verification rule (R2)D|≡♯M,D≡S∼M/D≡S≡MJurisdiction rule (R3)D≡S⇒M,D≡S≡M/D|≡MFreshness rule (R4)D|≡♯M/D|≡♯M,NBelief rule (R5)D|≡M,D|≡N/D|≡M,NSession key rule (R6)D|≡♯M,D≡S≡M/D|≡D↔KS


#### 6.1.2. Goals

G1D|≡D↔SKSG2S|≡D↔SKSG3D|≡S|≡D↔SKSG4S|≡D|≡D↔SKS


#### 6.1.3. Idealizing Communication

M1D⟶S: c,SIDi,u,T1M2S⟶D: G,W,T2


#### 6.1.4. Initial State Assumptions

A1D|≡D⇌KsSA2S|≡D⇌RIDiSA3D|≡♯Ni,CiA4S|≡♯IDi,NsA5S|≡Ns,Ci,DiA6S|≡D|⇒IDi,NiA7D|≡IDi,NiA8D≡S⇒Ns,Ci


#### 6.1.5. Detailed Steps

By considering the message M1 and using the seeing rule, we getS1:S⊲IDiRIDi,NiRIDi,uUsing S1, we get the following:S2:S⊲IDiRIDiUnder the assumption of A2, using S2, R1 can be used to obtain:S3:S|≡D|∼IDiWith conclusion R2, using A4 and S3, the following can be obtained:S4:S|≡D|≡IDiUsing A6, R3, and conclusion S4, the following can be obtained:S5:S|≡IDiAccording to conclusion S1, the following can be obtained:S6:S⊲NiRIDiUsing A2, R1, and conclusion S6, the following can be obtained:S7:S|≡D|∼NiUsing A4, R2, and conclusion S7, the following can be obtained:S8S|≡D|≡NiUsing A6, R2, and conclusion S3, the following can be obtained:S9:S|≡NiBecauseSK=hIDiNsNiCiRi, using A5, S5 and S9, we obtain :S10:S|≡D↔SKS(G2)Using A4 and R4, we can obtain:S11:S|≡D|≡D↔SKS (G4)In addition, considering the message M2, we obtain:S12:D⊲Ns,CiKs,T2Using S12, we get the following:S13:D⊲Ns,CiKsBy using A1, S13, and R1, we obtain:S14:D≡S∼Ns,CiWith conclusion S14, using A3 and applying R2, we obtain:S15:D|≡S|≡Ns,CiApplying A8, S15 and R3 we obtain:S16:D|≡Ns,CiBecauseSK=hIDiNsNiCiRi, using A7 and S16, we obtain:S17:D|≡D↔SKS(G1)With conclusion S17, using A3 and R4, we can obtain:S18:U|≡S|≡U↔SKS (G3)


### 6.2. ROR Security Analysis

The real-or-random (ROR) [26] model is a function that randomly maps all possible inputs and outputs. ROR model is a popular security proof method, which can be used for evaluating the security of protocols. [27]. To prove that our proposed protocol offers the necessary security, we use the ROR model [26] to analyze the protocol.


#### 6.2.1. ROR Model

The protocol involves two entities,Di and S. The symbols HDx and HSy are used to represent xthDi and ythS, respectively, while Z is used to encapsulate the two entities, Z=HDx,HSy. Furthermore, in the analysis process, A is required to submit multiple queries, which are as follows:ExecuteZ: by performing this operation, A can obtain the information transmitted by Di and S through the public channel during the login authentication phase.SendZ,M: with the help of this query condition, A can initiate requests to Di and S, which implies that A can send certain false messages to both Di and S.CorruptZ: this operation can help A obtain the message IDi,A,B,V in Di′s memory.RevealZ: A can obtain the shared key K of Di and S in the mutual authentication phase.TestZ: A verifies the correctness of the session key SK established by the two entities in the protocol by tossing a coin C.Theorem: assuming thatA desires to obtain the session key SK=hIDiNiNsCiRi in the authentication phase of S and Di, the advantage A has to successfully obtain the session key within the polynomial time t, AdvAPUF≤2maxE′⋅qsx′,qs/2b+qh/H+2AdvAk.Here,b represents the password length of Di during the login phase, E′ and x′ represent two constants, qh represents the number of hash functions in the protocol, H represents the range of Hash functions, and qs represents the number of Send functions.


#### 6.2.2. Security Proof

Proof: in the proof process, we defined four gamesGMii=0,1,2,3 to prove the security of the protocol, of which SUCCGMii=0,1,2,3 represents the probability of winning the game. The specific description of the process is as follows.GM0: in the initial game, A must compete with legal D and S. At the beginning of the game, A does not perform any query operations; therefore, AdvAPUF=2PrSuccAGM0−1.GM1: in the second game, A executes the Execute query operation to obtain the messages c,U,T1 and G,W,T2 transmitted by S and D through the public channel, and A needs to perform Reveal and Test operations to verify whether the session key contains long-term keys and randomness, which can be easily determined. Therefore, messages transmitted via the public channel must be monitored continuously to ensure that A cannot obtain this information. Thus, we can conclude PrSuccAGM1=PrSuccAGM0.GM2: in this game, we simulate an attack. During the attack, A continues to submit Send queries. In addition, A also obtains the information exchanged between S and Di during the authentication phase. However, to obtain the session key of both parties, A must know the identity of Di and the random number of S. However, it is impossible for A to obtain the identity of Di because A only has access to the identity after symmetric encryption. Moreover, because of the existence of PUFs, obtaining Ci and Ri is also a challenging proposition. Therefore, we can prove that GM2 and GM1 are different, and furthermore, we can also derive the following relationship based on the birthday paradox principle:(27)PrSuccAGM2−PrSuccAGM1≤qh2H+AdvAk.GM3: in the last game, A uses Send and Corrupt to query the information IDi,A,B,V stored in the memory of Di. A attempts to obtain the random numbers Ns and Ni used in the session key, but to obtain Ni, it must obtain the key K that encrypts the identity of Di. After A performs these operations, we obtain the following relationship:(28)PrSuccAGM3−PrSuccAGM2≤maxE′⋅qsx′,qs2b.It is well known that when we toss a coin with a uniform texture, the probability of getting a heads or tails is1/2; thus, the probability of A guessing the correct session key is(29)PrSuccAGM3=12.Based on the aforementioned drawn conclusions, we can derive the relationship:(30)12AdvAPUF=PrSuccAGM0−12=PrSuccAGM1−PrSuccAGM3≤PrSuccAGM3−PrSuccAGM2+PrSuccAGM2−PrSuccAGM1=maxE′⋅qsx′,qs/2b+qhH+2AdvAk.Subsequently, we can obtain(31)AdvAPUF≤2maxE′⋅qsx′,qs/2b+qhH+2AdvAk.


### 6.3. Security Analysis

In this section, we evaluate the proposed protocol to prove its ability to withstand a privileged insider attack, known temporary information disclosure attack, stolen verification attack, physical IoT device capture attack, and a perfect forward security and IoT device simulation attack.


#### 6.3.1. Ability to Withstand Privileged Insider Attack

IfA was to succeed in obtaining the registration information RIDi that was sent by Di to S during the registration phase, the value of Ni could be calculated based on the pseudo-identity of Di, while the parameter c could be intercepted on the public channel. Furthermore, the parameters Ns and Ci can be derived from Ni and V; however, the real identity of Di is only available after being encrypted by a symmetric encryption algorithm, which A is unable to decrypt. Therefore, even if A was to obtain the registration information sent by Di to S during the registration phase, it would not succeed in obtaining the session key for communication between Di and S. Therefore, the proposed protocol offers protection against privileged insider attacks.


#### 6.3.2. Ability to Withstand Known Temporary Information Disclosure Attack

We assume thatA obtains the temporary information Ni generated by Di during the login authentication phase. Consequently, A can also easily obtain the pseudo-identity of Di, that is RIDi, based on the information on the public channel. However, the session key of Di and S is based on the real identity of Di and is composed of IDi, such that A cannot obtain the key K, which would be necessary to decrypt the real identity. Therefore, despite A having obtained Ni, it would not be able to access the value of the session key. In addition, we assume that A obtains the temporary information Ns generated by S in the authentication phase, which is used by Di to verify the legality of S by encrypting A. As A does not know the values of the parameters A and B, obtaining temporary information from S would not allow A to crack the session key. In summary, our proposed protocol can effectively resist known temporary information exposure attacks.


#### 6.3.3. Ability to Withstand Stolen Verification Attack

We assume thatA obtains certain parameters RIDi,Ci,Ri,ETime stored in the memory of S, which A can use to calculate the value of Ri. The session key of Di and S is set by Di. The real identity IDi is composed of random numbers Ni, Ns, Ci, and Ri generated by Di and S, during the authentication phase and thus cannot be obtained. Therefore, even if the information in the S memory was to be obtained, it would not be possible to successfully launch the attack. Thus, our proposed protocol provides resistance against stolen verification attacks.


#### 6.3.4. Physical IoT Device Capture Attack

Assuming thatDi is physically captured by A, the latter can obtain the information IDi,B,A,V stored in the memory of Di, according to the power analysis. However, A cannot obtain the information generated by Di and S during the login authentication phase. Furthermore, the random numbers Ni and Ns, and the key-value pairs Ci and Ri used by the PUF are also not available. Therefore, A cannot carry out the attack despite capturing Di and obtaining the information in the memory. Thus, our protocol can resist physical IoT device capture attacks.


#### 6.3.5. Perfect Forward Security

Consider thatA obtains the shared key K of Di and S in the predeployment phase; however, the key K is only used to encrypt the identity IDi of Di. Although the value of the shared key K is known, the identity of Di, that is IDi, cannot be obtained by A. Therefore, A cannot crack the session key SK of Di and S, and thus the K obtained in this manner is of no value. In summary, the proposed protocol has perfect forward security.


#### 6.3.6. IoT Device Simulation Attack

Assume thatA captures an IoT device and attempts to tamper with certain information in the memory, thereby establishing a session key with S. First, A must log in after obtaining Di. However, during the login phase, the login password of Di must be known, which is not stored in the memory of Di. Therefore, A cannot log in successfully and thus cannot simulate the operation of networked devices. Therefore, our proposed protocol can effectively resist IoT device simulation attacks.


## 6.1. BAN Logic Analysis

Burrows–Abadi–Needham logic has been used in several studies to prove whether a protocol can be executed securely. This section uses BAN logic to prove the security and reliability of our proposed protocol. This proof verifies that our protocol can successfully establish and share a session key between the server and IoT device.D represents an IoT device in the following proof, and S represents the server. The specific proof rules and process are as follows:


### 6.1.1. BAN Logic Rules

Message-meaning rule (R1)D∣≡D↔KS,D⊲MK/D≡S∼MNonce-verification rule (R2)D|≡♯M,D≡S∼M/D≡S≡MJurisdiction rule (R3)D≡S⇒M,D≡S≡M/D|≡MFreshness rule (R4)D|≡♯M/D|≡♯M,NBelief rule (R5)D|≡M,D|≡N/D|≡M,NSession key rule (R6)D|≡♯M,D≡S≡M/D|≡D↔KS


### 6.1.2. Goals

G1D|≡D↔SKSG2S|≡D↔SKSG3D|≡S|≡D↔SKSG4S|≡D|≡D↔SKS


### 6.1.3. Idealizing Communication

M1D⟶S: c,SIDi,u,T1M2S⟶D: G,W,T2


### 6.1.4. Initial State Assumptions

A1D|≡D⇌KsSA2S|≡D⇌RIDiSA3D|≡♯Ni,CiA4S|≡♯IDi,NsA5S|≡Ns,Ci,DiA6S|≡D|⇒IDi,NiA7D|≡IDi,NiA8D≡S⇒Ns,Ci


### 6.1.5. Detailed Steps

By considering the message M1 and using the seeing rule, we getS1:S⊲IDiRIDi,NiRIDi,uUsing S1, we get the following:S2:S⊲IDiRIDiUnder the assumption of A2, using S2, R1 can be used to obtain:S3:S|≡D|∼IDiWith conclusion R2, using A4 and S3, the following can be obtained:S4:S|≡D|≡IDiUsing A6, R3, and conclusion S4, the following can be obtained:S5:S|≡IDiAccording to conclusion S1, the following can be obtained:S6:S⊲NiRIDiUsing A2, R1, and conclusion S6, the following can be obtained:S7:S|≡D|∼NiUsing A4, R2, and conclusion S7, the following can be obtained:S8S|≡D|≡NiUsing A6, R2, and conclusion S3, the following can be obtained:S9:S|≡NiBecauseSK=hIDiNsNiCiRi, using A5, S5 and S9, we obtain :S10:S|≡D↔SKS(G2)Using A4 and R4, we can obtain:S11:S|≡D|≡D↔SKS (G4)In addition, considering the message M2, we obtain:S12:D⊲Ns,CiKs,T2Using S12, we get the following:S13:D⊲Ns,CiKsBy using A1, S13, and R1, we obtain:S14:D≡S∼Ns,CiWith conclusion S14, using A3 and applying R2, we obtain:S15:D|≡S|≡Ns,CiApplying A8, S15 and R3 we obtain:S16:D|≡Ns,CiBecauseSK=hIDiNsNiCiRi, using A7 and S16, we obtain:S17:D|≡D↔SKS(G1)With conclusion S17, using A3 and R4, we can obtain:S18:U|≡S|≡U↔SKS (G3)


## 6.1.1. BAN Logic Rules

Message-meaning rule (R1)D∣≡D↔KS,D⊲MK/D≡S∼MNonce-verification rule (R2)D|≡♯M,D≡S∼M/D≡S≡MJurisdiction rule (R3)D≡S⇒M,D≡S≡M/D|≡MFreshness rule (R4)D|≡♯M/D|≡♯M,NBelief rule (R5)D|≡M,D|≡N/D|≡M,NSession key rule (R6)D|≡♯M,D≡S≡M/D|≡D↔KS


## 6.1.2. Goals

G1D|≡D↔SKSG2S|≡D↔SKSG3D|≡S|≡D↔SKSG4S|≡D|≡D↔SKS


## 6.1.3. Idealizing Communication

M1D⟶S: c,SIDi,u,T1M2S⟶D: G,W,T2


## 6.1.4. Initial State Assumptions

A1D|≡D⇌KsSA2S|≡D⇌RIDiSA3D|≡♯Ni,CiA4S|≡♯IDi,NsA5S|≡Ns,Ci,DiA6S|≡D|⇒IDi,NiA7D|≡IDi,NiA8D≡S⇒Ns,Ci


## 6.1.5. Detailed Steps

By considering the message M1 and using the seeing rule, we getS1:S⊲IDiRIDi,NiRIDi,uUsing S1, we get the following:S2:S⊲IDiRIDiUnder the assumption of A2, using S2, R1 can be used to obtain:S3:S|≡D|∼IDiWith conclusion R2, using A4 and S3, the following can be obtained:S4:S|≡D|≡IDiUsing A6, R3, and conclusion S4, the following can be obtained:S5:S|≡IDiAccording to conclusion S1, the following can be obtained:S6:S⊲NiRIDiUsing A2, R1, and conclusion S6, the following can be obtained:S7:S|≡D|∼NiUsing A4, R2, and conclusion S7, the following can be obtained:S8S|≡D|≡NiUsing A6, R2, and conclusion S3, the following can be obtained:S9:S|≡NiBecauseSK=hIDiNsNiCiRi, using A5, S5 and S9, we obtain :S10:S|≡D↔SKS(G2)Using A4 and R4, we can obtain:S11:S|≡D|≡D↔SKS (G4)In addition, considering the message M2, we obtain:S12:D⊲Ns,CiKs,T2Using S12, we get the following:S13:D⊲Ns,CiKsBy using A1, S13, and R1, we obtain:S14:D≡S∼Ns,CiWith conclusion S14, using A3 and applying R2, we obtain:S15:D|≡S|≡Ns,CiApplying A8, S15 and R3 we obtain:S16:D|≡Ns,CiBecauseSK=hIDiNsNiCiRi, using A7 and S16, we obtain:S17:D|≡D↔SKS(G1)With conclusion S17, using A3 and R4, we can obtain:S18:U|≡S|≡U↔SKS (G3)


## 6.2. ROR Security Analysis

The real-or-random (ROR) [26] model is a function that randomly maps all possible inputs and outputs. ROR model is a popular security proof method, which can be used for evaluating the security of protocols. [27]. To prove that our proposed protocol offers the necessary security, we use the ROR model [26] to analyze the protocol.


### 6.2.1. ROR Model

The protocol involves two entities,Di and S. The symbols HDx and HSy are used to represent xthDi and ythS, respectively, while Z is used to encapsulate the two entities, Z=HDx,HSy. Furthermore, in the analysis process, A is required to submit multiple queries, which are as follows:ExecuteZ: by performing this operation, A can obtain the information transmitted by Di and S through the public channel during the login authentication phase.SendZ,M: with the help of this query condition, A can initiate requests to Di and S, which implies that A can send certain false messages to both Di and S.CorruptZ: this operation can help A obtain the message IDi,A,B,V in Di′s memory.RevealZ: A can obtain the shared key K of Di and S in the mutual authentication phase.TestZ: A verifies the correctness of the session key SK established by the two entities in the protocol by tossing a coin C.Theorem: assuming thatA desires to obtain the session key SK=hIDiNiNsCiRi in the authentication phase of S and Di, the advantage A has to successfully obtain the session key within the polynomial time t, AdvAPUF≤2maxE′⋅qsx′,qs/2b+qh/H+2AdvAk.Here,b represents the password length of Di during the login phase, E′ and x′ represent two constants, qh represents the number of hash functions in the protocol, H represents the range of Hash functions, and qs represents the number of Send functions.


### 6.2.2. Security Proof

Proof: in the proof process, we defined four gamesGMii=0,1,2,3 to prove the security of the protocol, of which SUCCGMii=0,1,2,3 represents the probability of winning the game. The specific description of the process is as follows.GM0: in the initial game, A must compete with legal D and S. At the beginning of the game, A does not perform any query operations; therefore, AdvAPUF=2PrSuccAGM0−1.GM1: in the second game, A executes the Execute query operation to obtain the messages c,U,T1 and G,W,T2 transmitted by S and D through the public channel, and A needs to perform Reveal and Test operations to verify whether the session key contains long-term keys and randomness, which can be easily determined. Therefore, messages transmitted via the public channel must be monitored continuously to ensure that A cannot obtain this information. Thus, we can conclude PrSuccAGM1=PrSuccAGM0.GM2: in this game, we simulate an attack. During the attack, A continues to submit Send queries. In addition, A also obtains the information exchanged between S and Di during the authentication phase. However, to obtain the session key of both parties, A must know the identity of Di and the random number of S. However, it is impossible for A to obtain the identity of Di because A only has access to the identity after symmetric encryption. Moreover, because of the existence of PUFs, obtaining Ci and Ri is also a challenging proposition. Therefore, we can prove that GM2 and GM1 are different, and furthermore, we can also derive the following relationship based on the birthday paradox principle:(27)PrSuccAGM2−PrSuccAGM1≤qh2H+AdvAk.GM3: in the last game, A uses Send and Corrupt to query the information IDi,A,B,V stored in the memory of Di. A attempts to obtain the random numbers Ns and Ni used in the session key, but to obtain Ni, it must obtain the key K that encrypts the identity of Di. After A performs these operations, we obtain the following relationship:(28)PrSuccAGM3−PrSuccAGM2≤maxE′⋅qsx′,qs2b.It is well known that when we toss a coin with a uniform texture, the probability of getting a heads or tails is1/2; thus, the probability of A guessing the correct session key is(29)PrSuccAGM3=12.Based on the aforementioned drawn conclusions, we can derive the relationship:(30)12AdvAPUF=PrSuccAGM0−12=PrSuccAGM1−PrSuccAGM3≤PrSuccAGM3−PrSuccAGM2+PrSuccAGM2−PrSuccAGM1=maxE′⋅qsx′,qs/2b+qhH+2AdvAk.Subsequently, we can obtain(31)AdvAPUF≤2maxE′⋅qsx′,qs/2b+qhH+2AdvAk.


## 6.2.1. ROR Model

The protocol involves two entities,Di and S. The symbols HDx and HSy are used to represent xthDi and ythS, respectively, while Z is used to encapsulate the two entities, Z=HDx,HSy. Furthermore, in the analysis process, A is required to submit multiple queries, which are as follows:ExecuteZ: by performing this operation, A can obtain the information transmitted by Di and S through the public channel during the login authentication phase.SendZ,M: with the help of this query condition, A can initiate requests to Di and S, which implies that A can send certain false messages to both Di and S.CorruptZ: this operation can help A obtain the message IDi,A,B,V in Di′s memory.RevealZ: A can obtain the shared key K of Di and S in the mutual authentication phase.TestZ: A verifies the correctness of the session key SK established by the two entities in the protocol by tossing a coin C.Theorem: assuming thatA desires to obtain the session key SK=hIDiNiNsCiRi in the authentication phase of S and Di, the advantage A has to successfully obtain the session key within the polynomial time t, AdvAPUF≤2maxE′⋅qsx′,qs/2b+qh/H+2AdvAk.Here,b represents the password length of Di during the login phase, E′ and x′ represent two constants, qh represents the number of hash functions in the protocol, H represents the range of Hash functions, and qs represents the number of Send functions.


## 6.2.2. Security Proof

Proof: in the proof process, we defined four gamesGMii=0,1,2,3 to prove the security of the protocol, of which SUCCGMii=0,1,2,3 represents the probability of winning the game. The specific description of the process is as follows.GM0: in the initial game, A must compete with legal D and S. At the beginning of the game, A does not perform any query operations; therefore, AdvAPUF=2PrSuccAGM0−1.GM1: in the second game, A executes the Execute query operation to obtain the messages c,U,T1 and G,W,T2 transmitted by S and D through the public channel, and A needs to perform Reveal and Test operations to verify whether the session key contains long-term keys and randomness, which can be easily determined. Therefore, messages transmitted via the public channel must be monitored continuously to ensure that A cannot obtain this information. Thus, we can conclude PrSuccAGM1=PrSuccAGM0.GM2: in this game, we simulate an attack. During the attack, A continues to submit Send queries. In addition, A also obtains the information exchanged between S and Di during the authentication phase. However, to obtain the session key of both parties, A must know the identity of Di and the random number of S. However, it is impossible for A to obtain the identity of Di because A only has access to the identity after symmetric encryption. Moreover, because of the existence of PUFs, obtaining Ci and Ri is also a challenging proposition. Therefore, we can prove that GM2 and GM1 are different, and furthermore, we can also derive the following relationship based on the birthday paradox principle:(27)PrSuccAGM2−PrSuccAGM1≤qh2H+AdvAk.GM3: in the last game, A uses Send and Corrupt to query the information IDi,A,B,V stored in the memory of Di. A attempts to obtain the random numbers Ns and Ni used in the session key, but to obtain Ni, it must obtain the key K that encrypts the identity of Di. After A performs these operations, we obtain the following relationship:(28)PrSuccAGM3−PrSuccAGM2≤maxE′⋅qsx′,qs2b.It is well known that when we toss a coin with a uniform texture, the probability of getting a heads or tails is1/2; thus, the probability of A guessing the correct session key is(29)PrSuccAGM3=12.Based on the aforementioned drawn conclusions, we can derive the relationship:(30)12AdvAPUF=PrSuccAGM0−12=PrSuccAGM1−PrSuccAGM3≤PrSuccAGM3−PrSuccAGM2+PrSuccAGM2−PrSuccAGM1=maxE′⋅qsx′,qs/2b+qhH+2AdvAk.Subsequently, we can obtain(31)AdvAPUF≤2maxE′⋅qsx′,qs/2b+qhH+2AdvAk.


## 6.3. Security Analysis

In this section, we evaluate the proposed protocol to prove its ability to withstand a privileged insider attack, known temporary information disclosure attack, stolen verification attack, physical IoT device capture attack, and a perfect forward security and IoT device simulation attack.


### 6.3.1. Ability to Withstand Privileged Insider Attack

IfA was to succeed in obtaining the registration information RIDi that was sent by Di to S during the registration phase, the value of Ni could be calculated based on the pseudo-identity of Di, while the parameter c could be intercepted on the public channel. Furthermore, the parameters Ns and Ci can be derived from Ni and V; however, the real identity of Di is only available after being encrypted by a symmetric encryption algorithm, which A is unable to decrypt. Therefore, even if A was to obtain the registration information sent by Di to S during the registration phase, it would not succeed in obtaining the session key for communication between Di and S. Therefore, the proposed protocol offers protection against privileged insider attacks.


### 6.3.2. Ability to Withstand Known Temporary Information Disclosure Attack

We assume thatA obtains the temporary information Ni generated by Di during the login authentication phase. Consequently, A can also easily obtain the pseudo-identity of Di, that is RIDi, based on the information on the public channel. However, the session key of Di and S is based on the real identity of Di and is composed of IDi, such that A cannot obtain the key K, which would be necessary to decrypt the real identity. Therefore, despite A having obtained Ni, it would not be able to access the value of the session key. In addition, we assume that A obtains the temporary information Ns generated by S in the authentication phase, which is used by Di to verify the legality of S by encrypting A. As A does not know the values of the parameters A and B, obtaining temporary information from S would not allow A to crack the session key. In summary, our proposed protocol can effectively resist known temporary information exposure attacks.


### 6.3.3. Ability to Withstand Stolen Verification Attack

We assume thatA obtains certain parameters RIDi,Ci,Ri,ETime stored in the memory of S, which A can use to calculate the value of Ri. The session key of Di and S is set by Di. The real identity IDi is composed of random numbers Ni, Ns, Ci, and Ri generated by Di and S, during the authentication phase and thus cannot be obtained. Therefore, even if the information in the S memory was to be obtained, it would not be possible to successfully launch the attack. Thus, our proposed protocol provides resistance against stolen verification attacks.


### 6.3.4. Physical IoT Device Capture Attack

Assuming thatDi is physically captured by A, the latter can obtain the information IDi,B,A,V stored in the memory of Di, according to the power analysis. However, A cannot obtain the information generated by Di and S during the login authentication phase. Furthermore, the random numbers Ni and Ns, and the key-value pairs Ci and Ri used by the PUF are also not available. Therefore, A cannot carry out the attack despite capturing Di and obtaining the information in the memory. Thus, our protocol can resist physical IoT device capture attacks.


### 6.3.5. Perfect Forward Security

Consider thatA obtains the shared key K of Di and S in the predeployment phase; however, the key K is only used to encrypt the identity IDi of Di. Although the value of the shared key K is known, the identity of Di, that is IDi, cannot be obtained by A. Therefore, A cannot crack the session key SK of Di and S, and thus the K obtained in this manner is of no value. In summary, the proposed protocol has perfect forward security.


### 6.3.6. IoT Device Simulation Attack

Assume thatA captures an IoT device and attempts to tamper with certain information in the memory, thereby establishing a session key with S. First, A must log in after obtaining Di. However, during the login phase, the login password of Di must be known, which is not stored in the memory of Di. Therefore, A cannot log in successfully and thus cannot simulate the operation of networked devices. Therefore, our proposed protocol can effectively resist IoT device simulation attacks.


## 6.3.1. Ability to Withstand Privileged Insider Attack

IfA was to succeed in obtaining the registration information RIDi that was sent by Di to S during the registration phase, the value of Ni could be calculated based on the pseudo-identity of Di, while the parameter c could be intercepted on the public channel. Furthermore, the parameters Ns and Ci can be derived from Ni and V; however, the real identity of Di is only available after being encrypted by a symmetric encryption algorithm, which A is unable to decrypt. Therefore, even if A was to obtain the registration information sent by Di to S during the registration phase, it would not succeed in obtaining the session key for communication between Di and S. Therefore, the proposed protocol offers protection against privileged insider attacks.


## 6.3.2. Ability to Withstand Known Temporary Information Disclosure Attack

We assume thatA obtains the temporary information Ni generated by Di during the login authentication phase. Consequently, A can also easily obtain the pseudo-identity of Di, that is RIDi, based on the information on the public channel. However, the session key of Di and S is based on the real identity of Di and is composed of IDi, such that A cannot obtain the key K, which would be necessary to decrypt the real identity. Therefore, despite A having obtained Ni, it would not be able to access the value of the session key. In addition, we assume that A obtains the temporary information Ns generated by S in the authentication phase, which is used by Di to verify the legality of S by encrypting A. As A does not know the values of the parameters A and B, obtaining temporary information from S would not allow A to crack the session key. In summary, our proposed protocol can effectively resist known temporary information exposure attacks.


## 6.3.3. Ability to Withstand Stolen Verification Attack

We assume thatA obtains certain parameters RIDi,Ci,Ri,ETime stored in the memory of S, which A can use to calculate the value of Ri. The session key of Di and S is set by Di. The real identity IDi is composed of random numbers Ni, Ns, Ci, and Ri generated by Di and S, during the authentication phase and thus cannot be obtained. Therefore, even if the information in the S memory was to be obtained, it would not be possible to successfully launch the attack. Thus, our proposed protocol provides resistance against stolen verification attacks.


## 6.3.4. Physical IoT Device Capture Attack

Assuming thatDi is physically captured by A, the latter can obtain the information IDi,B,A,V stored in the memory of Di, according to the power analysis. However, A cannot obtain the information generated by Di and S during the login authentication phase. Furthermore, the random numbers Ni and Ns, and the key-value pairs Ci and Ri used by the PUF are also not available. Therefore, A cannot carry out the attack despite capturing Di and obtaining the information in the memory. Thus, our protocol can resist physical IoT device capture attacks.


## 6.3.5. Perfect Forward Security

Consider thatA obtains the shared key K of Di and S in the predeployment phase; however, the key K is only used to encrypt the identity IDi of Di. Although the value of the shared key K is known, the identity of Di, that is IDi, cannot be obtained by A. Therefore, A cannot crack the session key SK of Di and S, and thus the K obtained in this manner is of no value. In summary, the proposed protocol has perfect forward security.


## 6.3.6. IoT Device Simulation Attack

Assume thatA captures an IoT device and attempts to tamper with certain information in the memory, thereby establishing a session key with S. First, A must log in after obtaining Di. However, during the login phase, the login password of Di must be known, which is not stored in the memory of Di. Therefore, A cannot log in successfully and thus cannot simulate the operation of networked devices. Therefore, our proposed protocol can effectively resist IoT device simulation attacks.


## 7. Security and Performance Comparisons

In this section, we present a comparison of the proposed protocol with existing protocols [12, 13, 20, 28–30] in related fields. We compared the performance of the protocol considering its running time and communication cost. In addition, protocols were compared in terms of security. Comprehensive performance and security analyses prove that the proposed protocol has significant advantages in both respects. The specific evaluation and comparison process is as follows.We drew on the experimental environment of a published protocol [12]. As physical IoT devices and servers are involved in the protocol, artificial devices can be used to implement the encryption operation of the IoT devices in the authentication phase. Moreover, a desktop system can be used to implement the encryption operation on the server. In the case of the specific implementation process, only the running time of the hash function is considered in the protocol authentication phase, whereas the connection operation and the XOR operation are ignored for the moment. According to the previous experimental results [12], the single hash operation time for using artificial equipment for the realization of Di is 1.063 ms, whereas that for realizing the encryption operation on S is 0.0027 ms. Furthermore, the communication cost was determined by only considering the cost incurred during the login authentication phase. We specify the identity of Di, XOR operation, timestamp, symmetric encryption, symmetric decryption, connection operation, and memory occupied using the hash function in the transmission process as 160, 160, 160, 128, 128, 160, 160, and 256 bits, respectively. Th represents the time consumed by a single hash operation, and Tp represents the time consumed by a single dot multiplication operation.


### 7.1. Security Comparisons

Security analysis: although the time and communication performance of the proposed protocol was not analyzed, we performed a security analysis of the protocol. We compared the proposed protocol with related protocols and proved that our protocol offers the required security by evaluating whether the protocols can resist certain attacks during the login authentication phase. The main attacks included in the comparison were: A1—privileged insider attack, A2—IoT device capture attack, A3—stolen verification attack, A4—IoT device simulation attack, A5—perfect forward security, and A6—desynchronization attack. The results in Table2 confirm that our protocol can resist various attacks and has significant advantages over other protocols in terms of security. In the table, “Yes” implies that the protocol can resist the attack, whereas “No” indicates that it cannot.Table 2
Comparisons of security.
ProtocolsA1A2A3A4A5A6Alzahrani and Mahmood [12]NoNoNoNoYesYesKumari et al. [20]YesYesYesYesYesNoChikouche et al. [13]YesYesYesYesYesNoChaudhry et al. [28]YesYesYesYesYesNoMelki et al. [29]YesYesYesYesNoNoPanda et al. [30]YesYesYesYesYesNoOursYesYesYesYesYesYes


### 7.2. Performance Comparisons

Time consumption cost analysis: time consumption cost represents the time consumed by the encryption operations used in the authentication phase ofDi and S. We compared the proposed protocol with existing protocols [12, 13, 20, 28–30] in related fields. In the login and authentication phase of the proposed protocol, Di uses four hash functions; thus, the time consumed by the IoT device is 4×1.063=4.252ms, while S uses five hash functions, resulting in a time consumption of 5×0.0027=0.0135ms by S on the desktop system. Thus, the total time consumed by our proposed protocol is 4.252+0.0135=4.2655ms. Furthermore, the time consumed by each entity of other related protocols and the total time consumed are shown in Figure 4. In addition, Table 3 shows the time consumed by each protocol more intuitively.Figure 4
Running time.Table 3
Computational cost of the proposed protocol.
ProtocolsDiSTotal computationOurs4Th≈ 4.252 ms5TH≈ 0.0135 ms4.2655 msAlzahrani and Mahmood [12]3Th≈ 3.189 ms5TH≈ 0.0135 ms3.2025 msKumari et al. [20]3Th + 6 Tp≈ 9.861 ms4Th + 6 Tp≈ 0.0354 ms9.8964 msChikouche et al. [13]5Th + 5 Tp≈ 10.874 ms4Th + 5 Tp≈ 0.0313 ms10.9053 msChaudhry et al. [28]7Th + 2 Tp + 2 Tb≈ 12.107 ms6Th + 2 Tp + 2 Tb≈ 0.0298 ms12.1368 msMelki et al. [29]5Th≈ 5.314 ms5Th≈ 0.0135 ms5.3275 msPanda and Chattopadhyay [30]4Th + 5 Tp≈ 9.812 ms5Th + 5 Tp≈ 0.034 ms9.8460 msCommunication cost analysis: communication cost refers to the information transmitted betweenDi and S during the login authentication phase. First, Di transmits the information c,V,T1 to S, and S sends the information G,W,T2 to D after authenticating it as legitimate D. As c=RIDi⊕Ni and u=hB⊕Ni⊕A⊕T1, the communication cost consumed by D in the authentication phase is 160+256+160=576 bits. In addition, G=Ni⊕Ns⊕Ci and W=hBANiNs, and thus the communication cost consumed by S in the authentication phase is 160+256=416 bits. Considering these results, we can conclude that the overall communication cost incurred by the proposed protocol during the login authentication phase is 992 bits. Figure 5 shows the communication costs incurred by various entities of other related protocols [12, 13, 20, 28–30]. Furthermore, Table 4 presents a more intuitive comparison of the communication costs incurred by our proposed protocol and other protocols.Figure 5
Communication cost.Table 4
Comparison of communication overhead.
ProtocolsDiSAccumulated communication costTotal no. of messagesOurs576 bits416 bits992 bits2Alzahrani and Mahmood [12]576 bits416 bits992 bits2Kumari et al. [20]992 bits480 bits1312 bits3Chikouche et al. [13]832 bits576 bits1408 bits3Chaudhry et al. [28]416 bits768 bits1184 bits3Melki et al. [29]1344 bits416 bits1760 bits3Panda and Chattopadhyay [30]928 bits576 bits1504 bits3Based on the aforementioned analysis of the protocol, it is evident that the proposed protocol is superior to other related protocols in terms of time and security performance.


## 7.1. Security Comparisons

Security analysis: although the time and communication performance of the proposed protocol was not analyzed, we performed a security analysis of the protocol. We compared the proposed protocol with related protocols and proved that our protocol offers the required security by evaluating whether the protocols can resist certain attacks during the login authentication phase. The main attacks included in the comparison were: A1—privileged insider attack, A2—IoT device capture attack, A3—stolen verification attack, A4—IoT device simulation attack, A5—perfect forward security, and A6—desynchronization attack. The results in Table2 confirm that our protocol can resist various attacks and has significant advantages over other protocols in terms of security. In the table, “Yes” implies that the protocol can resist the attack, whereas “No” indicates that it cannot.Table 2
Comparisons of security.
ProtocolsA1A2A3A4A5A6Alzahrani and Mahmood [12]NoNoNoNoYesYesKumari et al. [20]YesYesYesYesYesNoChikouche et al. [13]YesYesYesYesYesNoChaudhry et al. [28]YesYesYesYesYesNoMelki et al. [29]YesYesYesYesNoNoPanda et al. [30]YesYesYesYesYesNoOursYesYesYesYesYesYes


## 7.2. Performance Comparisons

Time consumption cost analysis: time consumption cost represents the time consumed by the encryption operations used in the authentication phase ofDi and S. We compared the proposed protocol with existing protocols [12, 13, 20, 28–30] in related fields. In the login and authentication phase of the proposed protocol, Di uses four hash functions; thus, the time consumed by the IoT device is 4×1.063=4.252ms, while S uses five hash functions, resulting in a time consumption of 5×0.0027=0.0135ms by S on the desktop system. Thus, the total time consumed by our proposed protocol is 4.252+0.0135=4.2655ms. Furthermore, the time consumed by each entity of other related protocols and the total time consumed are shown in Figure 4. In addition, Table 3 shows the time consumed by each protocol more intuitively.Figure 4
Running time.Table 3
Computational cost of the proposed protocol.
ProtocolsDiSTotal computationOurs4Th≈ 4.252 ms5TH≈ 0.0135 ms4.2655 msAlzahrani and Mahmood [12]3Th≈ 3.189 ms5TH≈ 0.0135 ms3.2025 msKumari et al. [20]3Th + 6 Tp≈ 9.861 ms4Th + 6 Tp≈ 0.0354 ms9.8964 msChikouche et al. [13]5Th + 5 Tp≈ 10.874 ms4Th + 5 Tp≈ 0.0313 ms10.9053 msChaudhry et al. [28]7Th + 2 Tp + 2 Tb≈ 12.107 ms6Th + 2 Tp + 2 Tb≈ 0.0298 ms12.1368 msMelki et al. [29]5Th≈ 5.314 ms5Th≈ 0.0135 ms5.3275 msPanda and Chattopadhyay [30]4Th + 5 Tp≈ 9.812 ms5Th + 5 Tp≈ 0.034 ms9.8460 msCommunication cost analysis: communication cost refers to the information transmitted betweenDi and S during the login authentication phase. First, Di transmits the information c,V,T1 to S, and S sends the information G,W,T2 to D after authenticating it as legitimate D. As c=RIDi⊕Ni and u=hB⊕Ni⊕A⊕T1, the communication cost consumed by D in the authentication phase is 160+256+160=576 bits. In addition, G=Ni⊕Ns⊕Ci and W=hBANiNs, and thus the communication cost consumed by S in the authentication phase is 160+256=416 bits. Considering these results, we can conclude that the overall communication cost incurred by the proposed protocol during the login authentication phase is 992 bits. Figure 5 shows the communication costs incurred by various entities of other related protocols [12, 13, 20, 28–30]. Furthermore, Table 4 presents a more intuitive comparison of the communication costs incurred by our proposed protocol and other protocols.Figure 5
Communication cost.Table 4
Comparison of communication overhead.
ProtocolsDiSAccumulated communication costTotal no. of messagesOurs576 bits416 bits992 bits2Alzahrani and Mahmood [12]576 bits416 bits992 bits2Kumari et al. [20]992 bits480 bits1312 bits3Chikouche et al. [13]832 bits576 bits1408 bits3Chaudhry et al. [28]416 bits768 bits1184 bits3Melki et al. [29]1344 bits416 bits1760 bits3Panda and Chattopadhyay [30]928 bits576 bits1504 bits3Based on the aforementioned analysis of the protocol, it is evident that the proposed protocol is superior to other related protocols in terms of time and security performance.


## 8. Conclusion

The development of IoT has increasingly focused attention on security issues related to IoT communication. Alzahrani et al. proposed an identity-based authentication and key exchange protocol to address the key exchange network problem experienced by IoT devices and servers. However, we identified many security vulnerabilities in their protocol, and the IoT device login phase was absent. Therefore, we designed a two-factor encryption protocol using the symmetric key method based on an identity password. Using the ROR model, we proved that our proposed protocol could resist various attacks. In addition, we observed that our protocol is significantly advantageous in terms of time and communication cost through comparison with other related protocols. Therefore, future developments in the IoT industry are anticipated to benefit from our protocol, which is expected to provide more efficient security for smart devices. Owing to the possibility of improving the communication efficiency of this protocol, we will enhance this protocol in future work to help provide more efficient communication efficiency.



---

*Source: 8543894-2022-03-11.xml*