Next Article in Journal
Aerial Map-Based Navigation by Ground Object Pattern Matching
Previous Article in Journal
Drone Arc Routing Problems and Metaheuristic Solution Approach
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

SLAKA-IoD: A Secure and Lightweight Authentication and Key Agreement Protocol for Internet of Drones

School of Modern Posts, Xi’an University of Post and Telecommunications, Xi’an 710061, China
*
Author to whom correspondence should be addressed.
Drones 2024, 8(8), 374; https://doi.org/10.3390/drones8080374
Submission received: 3 July 2024 / Revised: 25 July 2024 / Accepted: 1 August 2024 / Published: 4 August 2024
(This article belongs to the Section Drone Communications)

Abstract

:
The existing authentication and key agreement (AKA) schemes for the internet of drones (IoD) still suffer from various security attacks and fail to ensure required security properties. Moreover, drones generally have limited memory and computation capability. Motivated by these issues, a secure and lightweight AKA protocol for IoD (SLAKA-IoD) is proposed based on physical unclonable function (PUF), “exclusive or” (XOR) operation and hash function, which are simple cryptographic operations and functions that can provide better performance. In the SLAKA-IoD protocol, a drone and the ground station (GS) perform mutual authentication and establish a secure session key between them, and any two drones can also perform mutual authentication and establish a secure session key between them. Via informal security analysis, formal security analysis using the strand space model, and security verification based on the Scyther tool, the SLAKA-IoD protocol is proven to resist various security attacks and ensure required security properties. Further comparative analysis shows that the SLAKA-IoD protocol can provide more security features, and is generally lightweight as compared with these related AKA protocols for IoD, so it is suitable for IoD.

1. Introduction

A drone or unmanned aerial vehicle (UAV) is a versatile platform for communication. It can provide flexibility in altitude, line-of-lighting, mobility, etc. Due to its advantages, drones are no longer only used in military applications, but they are also being adopted in various government and civilian applications, including traffic management, goods delivery, inventory tracking, disaster management, surveillance and monitoring, wireless communication, etc. [1,2,3,4,5]. In these applications, drones are generally integrated into the internet of things (IoT), which results in the internet of drones (IoD) [6,7].
In the IoD, drones are deployed in an open environment and communicate wirelessly with nature; they are prone to various security threats, including impersonation attack, man-in-the-middle attack, replay attack, drone physical capture attack, and so on [8,9,10,11]. One feasible security solution is to deploy authentication and key agreement (AKA) schemes for the IoD, which prevent any sensitive information sharing via an insecure wireless channel [12,13]. These schemes aim to verify the legitimate identity of communication entities and establish secure channels between communication entities. In other words, communication entities in the IoD should have the capability to mutually authenticate each other and establish a secure session key for subsequent communications.
In the last few years, many researchers have proposed various AKA schemes for IoD [14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]. However, these AKA schemes for IoD still suffer from potential security attacks and fail to ensure required security properties, such as replay attack, drone physical capture attack, desynchronization attack, anonymity and untraceability. Moreover, drones have limited memory and computation capability generally. Hence, storing secret keys and executing standard cryptography algorithms are also a challenge [6]. Motivated by these issues, we propose a secure and lightweight AKA protocol for IoD (hereafter referred to as SLAKA-IoD protocol), and analyze and measure its security and performance. Our major contributions are briefly summarized in the following:
  • We propose the SLAKA-IoD protocol based on physical unclonable function (PUF), “exclusive or” (XOR) operation and hash function, which are simple cryptographic operations and functions that can provide better performance. Moreover, the introduction of PUF can bring better security. This protocol can achieve mutual authentication and establish a secure session key between communication entities in the IoD.
  • We present an informal security analysis to show that the SLAKA-IoD protocol is secure against various security attacks and ensures required security properties. In addition, we provide a formal security analysis of the protocol using the strand space model [43,44,45], and perform a security verification of the protocol based on the Scyther tool [46,47]. Finally, a comparison of the SLAKA-IoD protocol with other related AKA protocols for IoD in terms of security features is given.
  • We perform a performance analysis of the SLAKA-IoD protocol in terms of computation, communication and storage cost. Then, a comparison of the SLAKA-IoD protocol with other related AKA protocols for IoD in terms of computation, communication and storage cost is also provided.
The rest of this paper is organized as follows. Section 2 discusses the related works of the AKA for IoD. In Section 3, the system model for IoD is introduced. Section 4 describes our proposed SLAKA-IoD protocol. Section 5 provides a security analysis of the protocol. In Section 6, a performance analysis of the protocol is also presented. Finally, we conclude the paper in Section 7.

2. Related Works

In the last few years, numerous AKA schemes have been presented to ensure security and privacy in the IoD. Chaudhry et al. [14] designed a certificate-based generic access control scheme for IoD. However, it cannot resist impersonation attack and does not provide anonymity [15]. Won et al. [16] proposed an elliptical curve cryptography (ECC)-based certificateless AKA scheme for IoD. However, this scheme fails to provide user anonymity [17]. Cheon et al. [18] presented an AKA scheme based on homomorphic encryption to provide useful services in IoD environments. Unfortunately, it suffers from insider and session key disclosure attacks.
Ever [19] proposed a secure and efficient AKA framework for mobile sinks utilized in IoD environments, which is based on bilinear pairing. However, it is pointed out that the scheme cannot resist impersonation and drone physical capture attacks, and also does not provide perfect forward secrecy [20]. To overcome these attacks, Nikooghadam et al. [20] presented an ECC-based secure and lightweight AKA scheme for IoD. However, Ali et al. [21] pointed out that the scheme still suffers from potential security attacks, including insider, replay and impersonation attacks. Moreover, the scheme does not provide secure mutual authentication between communication entities.
Likewise, Rodrigues et al. [22] presented an ECC-based authentication method for UAV communication. Dogan et al. [23] proposed an ECC-based authentication protocol to provide mutual authentication between UAV and base station devices. However, they cannot resist drone physical capture attack. Tanveer et al. [24] devised an AKA scheme for IoD, which employs hash function and authenticated encryption with associative data (AEAD). However, the scheme cannot provide an anonymity feature, which was pointed out in [14]. Tanveer et al. [25] proposed an AKA scheme based on both AEAD and ECC to enable indecipherable communication for the IoD networks. However, the proposed security scheme does not guarantee dynamic privacy preservation.
The above AKA schemes are not suitable for resource-constrained IoD because they require high computation and communication overheads. In order to meet the resource-constrained requirement of drones, many lightweight AKA schemes for IoD have been proposed. In [26], Wazid et al. introduced several security challenges along with necessary security requirements for IoD environments, and designed a user AKA scheme for IoD. However, this scheme is unable to resist impersonation attack and does not guarantee perfect backward secrecy [27].
After that, Alladi et al. [27] presented an enhanced AKA scheme, which is a two-stage AKA scheme for software-defined networking (SDN)-based UAV networks and is lightweight. However, Beebak et al. [28] pointed out that this scheme cannot resist offline password guessing, replay, man-in-the-middle (MITM), and session key disclosure attacks. In addition, the scheme does not provide data confidentiality and perfect forward secrecy.
Further, Srinivas et al. [29] proposed a temporal credential-based anonymous lightweight user AKA scheme in IoD environments, named TCALAS. However, the scheme cannot resist impersonation attacks and also does not provide user traceability [30]. To overcome the security weaknesses of this scheme, Ali et al. [30] presented an enhanced AKA scheme for IoD. Unfortunately, the scheme is still prone to MITM, replay, session key disclosure, and impersonation attacks.
However, none of the above AKA schemes are secure against drone tampering and physical attacks. Because secret information required for authentication is stored in the drone’s physical memory, an adversary can easily extract this critical information and perform various attacks. To overcome this shortcoming, PUFs have been used in the AKA schemes for IoD to resist drone physical capture attack recently. These PUFs utilize the inherent randomness that is introduced during the manufacturing process of a silicon device. This makes it very difficult to clone or reproduce them [31,32].
Alladi at al. [33] proposed a PUF-based AKA scheme, which achieves mutual authentication between UAV and the ground station (GS) and establishes a session key between them. However, the scheme suffers from replay and desynchronization attacks and does not provide PUF challenge–response pair protection. Bansal et al. [34] designed a similar scheme, so it also has the same security issues. Alladi et al. [35] proposed a lightweight mutual authentication scheme for UAV-GS authentication based on PUF, then extended this scheme to support UAV-UAV authentication. Nevertheless, this scheme still cannot resist replay and desynchronization attacks and does not provide PUF challenge–response pair protection.
Further, Pu et al. [36] presented a lightweight authentication protocol for unmanned aerial vehicles using PUF and chaotic system to protect the communication between drone and GS. However, it cannot resist drone physical capture attack because the PUF challenge–response pair of each drone is stored in the drone’s storage. Moreover, this protocol also cannot resist replay and desynchronization attacks, and does not provide PUF challenge–response pair protection. After that, they proposed another lightweight and privacy-preserving mutual AKA protocol for IoD environments [37]. This protocol also uses PUF and a chaotic system to perform mutual authentication and establish a secure session key between communication entities in the IoD. Unfortunately, the same security issues as those in the scheme in [36] still exist in the scheme. Karmakar et al. [38] designed a PUF and fuzzy extractor-based UAV-GS authentication mechanism, considering the noise reduction that occurs in PUFs. In addition, some blockchain-based UAV authentication mechanisms were proposed [39,40,41,42]. They mainly facilitate the cooperation of UAVs from different domains. Some important related works are summarized in Table 1.
Therefore, we design a new, secure and lightweight AKA protocol for IoD based on PUF, XOR operation, and hash function, aiming to resolve security and efficiency shortcomings of the existing AKA schemes for IoD.

3. System Model

3.1. Network Model

The network model considered in this paper is illustrated in Figure 1, which consists of legitimate drones and a GS.
In Figure 1, compared to the GS, drones have limited memory and computation capability, and connect to the GS over an insecure wireless channel. Without loss of generality, the following two scenarios are considered for AKA in this paper:
  • A drone wants to establish a secure communication session with the GS by performing AKA between the two entities, which is called drone-GS AKA;
  • A drone wants to establish a secure communication session with another drone by performing AKA between the two entities, which is called drone–drone AKA.
In addition, each drone is equipped with a PUF, which is regarded as an integrated circuit. It takes an input and produces an output according to its unique physical characteristics [35]. PUF can be denoted as R = P U F ( C ) , where P U F ( ) denotes PUF function, C denotes the input challenge and, R denotes the output response. For a PUF, the same challenge will lead to the same response. However, if the same challenge is provided to different PUFs, then totally different responses will be generated [36,37]. In other words, the PUF is designed to produce an output for any input, which is like a fingerprint based on the physical microstructure of the device. The ideal PUF offers the properties of uniqueness, reliability, unpredictability, and unclonability [17].

3.2. Threat Model

In the network model shown in Figure 1, the network entities exchange information through a public wireless communication channel, which is exposed to various security risks. By taking advantage of the public nature of the wireless communication channel, M A can compromise the information exchanged between the network entities, where M A denotes a malicious attacker (MA). Consequently, we present the widely accepted Dolev and Yao (DY) threat model [48] to evaluate the security of SLAKA-IoD. Under the DY threat model, M A can capture and eavesdrop on all the communicated information or messages of the network’s nodes. M A can also alter, forge, delete, and implant bogus information while communicating with the network entities.
We also apply the Canetti and Krawczyk (CK) threat model [49] on the SLAKA-IoD. The CK threat model is more powerful than the DY threat model. According to the CK threat model, through session-hijacking attacks, M A can compromise secret information and session states. Therefore, based on the CK threat model, M A may attempt ephemeral secret leakage (ESL) attacks on the SLAKA-IoD protocol. Moreover, M A can physically capture the drones of SLAKA-IoD because they may move to an unattended hostile area accidentally. As a result, by performing power analysis attacks [50] on these captured drones, M A can extract the secret parameters stored in their memory.

4. Proposed SLAKA-IoD Protocol

The proposed scheme is organized into three phases, namely the drone registration phase, the drone-GS authentication and key agreement phase, and the drone–drone authentication and key agreement phase. Usually, the drone-GS authentication and key agreement phase is mandatory, while the drone–drone authentication and key agreement phase is performed on demand. Table 2 presents the notations used in this scheme.

4.1. Drone Registration Phase

In this phase, the ground station, G S , registers each drone, D i , in an offline mode or a close-range cable mode before deployment in the IoD field. The phase is illustrated in Figure 2.
The detailed description of the drone registration phase is as follows:
  • For each drone, D i , the ground station, G S , assigns an identity, I D i , generates two challenges, C i , 1 and C i , 2 , and computes a pseudo-identity, P I D i = h ( I D i | | C i , 1 | | C i , 2 ) , where h ( ) denotes a hash function and | | denotes a concatenation operation. Then, G S sends { P I D i , I D s , C i , 1 , C i , 2 } to D i via a secure channel (i.e., an offline mode or a close-range cable mode), where I D s denotes the identity of G S .
  • Upon receiving the messages, the drone, D i , computes R i , 1 = P U F i ( C i , 1 ) and H R i , 1 = h ( C i , 1 | | R i , 1 ) , where P U F i ( ) denotes the PUF of D i . This means that ( C i , 1 , R i , 1 ) is a challenge–response pair from the PUF of D i , where C i , 1 denotes the input challenge and R i , 1 denotes the output response. Then, D i sends { H R i , 1 } to G S via a secure channel (i.e., an offline mode or a close-range cable mode). Finally, D i stores { P I D i , I D s , C i , 1 , C i , 2 } in its storage.
  • After obtaining { H R i , 1 } from D i , G S stores { I D i , P I D i ,   I D s , H R i , 1 } in its database.
    Once the drone, D i , is registered in G S , the registration interface of D i is closed.

4.2. Drone-GS Authentication and Key Agreement Phase

In this phase, D i and G S authenticate each other, and establish a session key between them. The phase is illustrated in Figure 3.
The detailed description of the drone-GS authentication and key agreement phase is as follows:
  • D i generates a random number, N i , and a timestamp, T i , respectively. Then, D i computes R i , 1 = P U F i ( C i , 1 ) and H R i , 1 = h ( C i , 1 | | R i , 1 ) , and computes R i , 2 = P U F i ( C i , 2 ) and H R i , 2 = h ( C i , 2 | | R i , 2 ) . Similarly, ( C i , 2 , R i , 2 ) is also a challenge–response pair from the PUF of D i , where C i , 2 denotes the input challenge and R i , 2 denotes the output response. Finally, D i  computes R i = H R i , 2 h ( P I D i | | I D s | | N i | | T i | | H R i , 1 ) and M i = h ( P I D i | | N i | | R i | | T i | | H R i , 1 ) , and then sends { P I D i , N i , R i , T i , M i } to G S , where denotes an XOR operation.
  • Upon receiving the messages, G S verifies the freshness of T i * T i T , where T i * and T are the message reception time and maximum transmission time delay, respectively. If T i is valid, the G S retrieves H R i , 1 based on P I D i and computes M i * = h ( P I D i | | N i | | R i | | T i | | H R i , 1 ) . Then, the G S checks whether M i * is equal to M i . If the condition is not valid, the G S terminates the current authentication. Otherwise, the G S computes H R i , 2 = R i h P I D i I D s N i T i H R i , 1 . Then, the G S generates a random number, N s , and a new challenge, C i n , for D i , respectively. Moreover, the G S computes P I D i n = h ( I D i | | C i n ) , X s = C i n h P I D i I D s N i N s H R i , 1 Y s = P I D i n h ( P I D i | | I D s | | T i | | N s   | | H R i , 1 ) S K i s = h ( P I D i | | I D s | | N i | | T i | | N s | | H R i , 1 ) S K I D i s = h ( P I D i | | I D s ) , and M s = h ( N s | | X s | | Y s | | S K i s ) , where P I D i n denotes a new pseudo-identity for D i , S K i s denotes a session key between D i and G S , and S K I D i s is the key index of S K i s . Finally, G S sends { N s , X s , Y s , M s } to D i , then stores P I D i n and H R i , 2 .
  • After obtaining the messages, D i  computes S K i s = h ( P I D i | | I D s | | N i | | T i | | N s | | H R i , 1 ) , S K I D i s = h ( P I D i | | I D s ) , and M s * = h ( N s | | X s | | Y s | | S K i s ) . Then, D i checks whether M s * is equal to M s . If the condition is not valid, D i terminates the current authentication. Otherwise, D i computes C i n = X s h ( P I D i | | I D s | | N i | | N s | | H R i , 1 ) and P I D i n = Y s h ( P I D i | | I D s | | T i | | N s | | H R i , 1 ) . Finally, D i updates P I D i = P I D i n , C i , 1 = C i , 2 , and C i , 2 = C i n .
After the drone-GS authentication and key agreement phase, D i and the G S communicate using the session key, S K i s , which can be updated through a next round of this phase.
It should be noted that the G S not only stores old values { P I D i , H R i , 1 } , but also new values { P I D i n , H R i , 2 } , with the goal of resisting desynchronization attacks. In the next round of this phase or the next drone–drone authentication and key agreement phase, when the new values { P I D i n , H R i , 2 } are used successfully, the G S updates P I D i = P I D i n and H R i , 1 = H R i , 2 .

4.3. Drone–Drone Authentication and Key Agreement Phase

In this phase, D i and D j authenticate each other with the help of G S , and establish a session key between them. The phase is illustrated in Figure 4.
The detailed description of the drone–drone authentication and key agreement phase is as follows:
  • D i generates a random number, N i , and a timestamp, T i , respectively. Then, D i computes R i , 1 = P U F i C i , 1 and H R i , 1 = h ( C i , 1 | | R i , 1 ) , and computes R i , 2 = P U F i C i , 2 and H R i , 2 = h ( C i , 2 | | R i , 2 ) . Finally, D i  computes R i = H R i , 2 h ( P I D i | | P I D j   | | I D s | | N i | | T i | | H R i , 1 ) and M i = h ( P I D i | | P I D j | | N i | | R i | | T i | | H R i , 1 ) , and then sends { P I D i , P I D j , N i , R i , T i , M i } to the G S . P I D j denotes a pseudo-identity for D j , and can be obtained from the G S or D j before the drone–drone authentication and key agreement phase.
  • Upon receiving the messages, the G S verifies the freshness of T i * T i T . If T i is valid, the G S retrieves H R i , 1 based on P I D i and computes M i * = h ( P I D i | | P I D j | | N i | | R i | | T i | | H R i , 1 ) . Then, the G S checks whether M i * is equal to M i . If the condition is not valid, the G S terminates the current authentication. Otherwise, the G S computes H R i , 2 = R i h ( P I D i | | P I D j | | I D s | | N i | | T i | | H R i , 1 ) . Then, the G S generates a random number, N s , a timestamp, T s , a master key, M K i j , between D i and D j , and a new challenge, C j n , for D j . Moreover, the G S retrieves H R j , 1 based on P I D j and computes P I D j n = h ( I D j | | C j n ) , X s , 1 = C j n h ( P I D i | | P I D j | | I D s | | N s | | H R j , 1 ) , Y s , 1 = P I D j 0 n h ( P I D i | | P I D j | | I D s | | T s | | N s | | H R j , 1 ) , K s , 1 = M K i j H R i , 1 h ( P I D i | | P I D j | | I D s   | | N i | | T s | | N s | | H R j , 1 ) and M s , 1 = h ( P I D i | | P I D j | | N i | | N s | | X s , 1 | | Y s , 1 | | K s , 1 | | T s | | H R j , 1 ) , where P I D j n denotes a new pseudo-identity for D j . Finally, the G S sends { P I D i , P I D j , N i , N s , X s , 1 , Y s , 1 , K s , 1 , T s , M s , 1 } to D j .
  • After obtaining the messages, D j verifies the freshness of T s * T s T , where T s * and T are the message reception time and maximum transmission time delay, respectively. If T s is valid, D j computes R j , 1 = P U F j ( C j , 1 ) and H R j , 1 = h ( C j , 1 | | R j , 1 ) , where P U F j ( ) denotes the PUF of D j . This means that ( C j , 1 , R j , 1 ) is a challenge–response pair from the PUF of D j , where C j , 1 denotes the input challenge and R j , 1 denotes the output response. Then, D j  computes M s , 1 * = h ( P I D i | | P I D j | | N i | | N s | | X s , 1 | | Y s , 1 | | K s , 1 | | T s | | H R j , 1 ) and checks whether M s , 1 * is equal to M s , 1 . If the condition is not valid, D j terminates the current authentication. Otherwise, D j  computes C j n = X s , 1 h ( P I D i | | P I D j | | I D s | | N s | | H R j , 1 ) , P I D j n = Y s , 1   h ( P I D i | | P I D j | | I D s | | T s | | N s | | H R j , 1 ) and M K i j H R i , 1 = K s , 1   h ( P I D i | | P I D j | | I D s   | | N i | | T s | | N s | | H R j , 1 ) . Then, D j generates a random number, N j , and computes R j , 2 = P U F j C j , 2 and H R j , 2 = h ( C j , 2 | | R j , 2 ) . Similarly, ( C j , 2 , R j , 2 ) is also a challenge–response pair from the PUF of D j , where C j , 2 denotes the input challenge and R j , 2 denotes the output response. Moreover, D j computes S K i j = h ( P I D i | | P I D j | | N i | | N j | | ( M K i j H R i , 1 H R j , 1 ) ) , S K I D i j = h ( P I D i | | P I D j ) , R j = H R j , 2 h ( P I D i | | P I D j | | I D s | | T s | | N s | | N j | | H R j , 1 ) , M j , 1 = h ( N i | | N j | | S K i j ) and M j , 2 = h ( P I D i | | P I D j | | I D s | | N i | | N s | | T s | | N j | | M j , 1 | | R j | | H R j , 1 ) , where S K i j denotes a session key between D i and D j , and S K I D i j is the key index of S K i j . Finally, D j sends { N j , M j , 1 , R j , M j , 2 } to the G S , then stores P I D j n and C j n .
  • Upon receiving the messages, the G S computes M j , 2 * = h ( P I D i | | P I D j | | I D s | | N i | | N s | | T s   | | N j | | M j , 1 | | R j | | H R j , 1 ) . Then, the G S checks whether M j , 2 * is equal to M j , 2 . If the condition is not valid, the G S terminates the current authentication. Otherwise, the G S generates a new challenge C i n for D i , and computes P I D i n = h ( I D i | | C i n ) and H R j , 2 = R j h ( P I D i | | P I D j | | I D s | | T s | | N s | | N j | | H R j , 1 ) . Then, the G S computes X s , 2 = C i n h ( P I D i | | P I D j | | I D s | | N s | | N j | | N i | | H R i , 1 ) , Y s , 2 = P I D i n h ( P I D i | | P I D j | | I D s | | N s | | N j   | | T i | | H R i , 1 ) , K s , 2 = M K i j H R j , 1 h ( P I D i | | P I D j | | I D s | | N s | | N j | | T i | | N i | | H R i , 1 ) and M s , 2 = h ( P I D i | | P I D j | | I D s | | N i | | T i | | N s | | N j | | M j , 1 | | X s , 2 | | Y s , 2 | | K s , 2 | | H R i , 1 ) . Finally, the G S sends { N s , N j , M j , 1 , X s , 2 , Y s , 2 , K s , 2 , M s , 2 } to D i , then stores P I D j n , H R j , 2 , P I D i n and H R i , 2 .
  • After obtaining the messages, D i computes M s , 2 * = h ( P I D i | | P I D j | | I D s | | N i | | T i   | | N s | | N j | | M j , 1 | | X s , 2 | | Y s , 2 | | K s , 2 | | H R i , 1 ) and checks whether M s , 2 * is equal to M s , 2 . If the condition is not valid, D i terminates the current authentication. Otherwise, D i  computes C i n = X s , 2 h ( P I D i | | P I D j | | I D s | | N s | | N j | | N i | | H R i , 1 ) , P I D i n = Y s , 2 h ( P I D i   | | P I D j | | I D s | | N s | | N j | | T i | | H R i , 1 ) and M K i j H R j , 1 = K s , 2 h ( P I D i | | P I D j | | I D s | | N s | | N j | | T i   | | N i | | H R i , 1 ) . Moreover, D i  computes S K i j = h ( P I D i | | P I D j | | N i | | N j | | ( M K i j H R j , 1   H R i , 1 ) ) , S K I D i j = h ( P I D i | | P I D j ) and M j , 1 * = h ( N i | | N j | | S K i j ) , and checks whether M j , 1 * is equal to M j , 1 . If the condition is not valid, D i terminates the current authentication. Otherwise, D i updates P I D i = P I D i n , C i , 1 = C i , 2 and C i , 2 = C i n .
After the drone–drone authentication and key agreement phase, D i and D j communicate using the session key, S K i j , which can be updated through a next round of this phase.
It should be noted that the G S not only stores old values { P I D i , H R i , 1 } , but also new values { P I D i n , H R i , 2 } , with the goal of resisting desynchronization attacks. In the next round of this phase or the next drone-GS authentication and key agreement phase, when the new values { P I D i n , H R i , 2 } are used successfully, the G S updates P I D i = P I D i n and H R i , 1 = H R i , 2 .
Similarly, the G S not only stores old values { P I D j , H R j , 1 } , but also new values { P I D j n , H R j , 2 } , with the goal of resisting desynchronization attacks. In the next round of this phase or the next drone-GS authentication and key agreement phase, when the new values { P I D j n , H R j , 2 } are used successfully, the G S updates P I D j = P I D j n and H R j , 1 = H R j , 2 .
In addition, D j not only stores old values { P I D j , C j , 1 , C j , 2 } , but also new values { P I D j n , C j n } , with the goal of resisting desynchronization attacks. In the next round of this phase or the next drone-GS authentication and key agreement phase, when the new values { P I D j n , C j n } are used successfully, D j updates P I D j = P I D j n , C j , 1 = C j , 2 and C j , 2 = C j n .

5. Security Analysis

In this section, we first perform informal security analysis of SLAKA-IoD. Then, we provide a formal security analysis of SLAKS-IoD based on the strand space model. Third, we also provide security verification through the Scyther tool (v1.1.3) to prove the security of SLAKA-IoD. Finally, we compare the security features of SLAKA-IoD with other related schemes.

5.1. Informal Security Analysis

This section evaluates the security of SLAKA-IoD based on informal security analysis. We prove that SLAKA-IoD can resist various potential security attacks and provide mutual authentication, session key agreement, anonymity and untraceability.
(1)
Impersonation Attack
In the drone-GS authentication and key agreement phase of SLAKA-IoD, if M A wants to impersonate D i , then it needs to construct { P I D i , N i , R i , T i , M i } . However, it is impossible to calculate R i and M i because M A does not know H R i , 1 . Similarly, if M A wants to impersonate the G S , then it needs to construct { N s , X s , Y s , M s } , but it cannot calculate X s , Y s and M s because M A does not know H R i , 1 .
In the drone–drone authentication and key agreement phase of SLAKA-IoD, if M A wants to impersonate D i , then it needs to construct { P I D i ,   P I D j , N i , R i , T i , M i } , but it cannot calculate R i and M i because M A does not know H R i , 1 . If M A wants to impersonate D j , then it needs to construct { N j , M j , 1 , R j , M j , 2 } , but it cannot calculate R j , M j , 1 and M j , 2 because M A does not know H R j , 1 . Similarly, if M A wants to impersonate G S , then it needs to construct { P I D i ,   P I D j , N i , N s , X s , 1 , Y s , 1 , K s , 1 , T s , M s , 1 } or { N s , N j ,   M j , 1 ,   X s , 2 , Y s , 2 , K s , 2 , M s , 2 } , but it cannot calculate X s , 1 , Y s , 1 , K s , 1 , M s , 1 , X s , 2 , Y s , 2 , K s , 2 and M s , 2 because M A does not know H R i , 1 and H R j , 1 .
Consequently, SLAKA-IoD can resist impersonation attacks.
(2)
Replay Attack
In the drone-GS authentication and key agreement phase of SLAKA-IoD, { P I D i , N i , R i , T i , M i } is protected with H R i , 1 and includes T i , where H R i , 1 is unknown to M A and T i is the current timestamp of D i . Hence, { P I D i , N i , R i , T i , M i } cannot be replayed. { N s , X s , Y s , M s } is protected with S K i s and includes N i , where S K i s is extended from H R i , 1 and N i is the random number of D i . Thus, { N s , X s , Y s , M s } cannot be replayed.
In the drone–drone authentication and key agreement phase of SLAKA-IoD, { P I D i , P I D j , N i , R i , T i , M i } is protected with H R i , 1 and includes T i . Similarly, { P I D i , P I D j , N i , N s , X s , 1 , Y s , 1 , K s , 1 , T s , M s , 1 } is protected with H R j , 1 and includes T s , where H R j , 1 is unknown to M A and T s is the current timestamp of the   G S . Hence, { P I D i , P I D j , N i , R i , T i , M i } and { P I D i , P I D j , N i , N s , X s , 1 , Y s , 1 , K s , 1 , T s , M s , 1 } cannot be replayed. { N j , M j , 1 , R j , M j , 2 } is protected with H R j , 1 and includes N s , where N s is the random number of the G S . Similarly, { N s , N j , M j , 1 , X s , 2 , Y s , 2 , K s , 2 , M s , 2 } is protected with H R i , 1 and includes N i . Hence, { N j , M j , 1 , R j , M j , 2 } and { N s , N j , M j , 1 , X s , 2 , Y s , 2 , K s , 2 , M s , 2 } cannot be replayed.
Therefore, SLAKA-IoD can resist replay attacks.
(3)
Denial of Service (DoS) Attack
If M A wants to perform DoS attacks on the SLAKA-IoD protocol, then it must be able to replay some messages of the protocol, or forge some legitimate messages of the protocol. As just described, { P I D i , N i , R i , T i , M i } , { N s , X s , Y s , M s } , { P I D i ,   P I D j , N i , R i , T i , M i } , { P I D i ,   P I D j , N i , N s , X s , 1 , Y s , 1 , K s , 1 , T s , M s , 1 } , { N j , M j , 1 , R j , M j , 2 } and { N s , N j ,   M j , 1 ,   X s , 2 , Y s , 2 ,   K s , 2 , M s , 2 } cannot be replayed. In addition, these messages are protected with H R i , 1 or H R j , 1 , which are unknown to M A . As a result, M A cannot forge them. Hence, SLAKA-IoD can resist DoS attacks.
(4)
MITM Attack
If M A wants to perform MITM attacks on the SLAKA-IoD protocol, then it must intercept and tamper with the messages in the protocol. According to the above description, { P I D i , N i , R i , T i , M i } , { N s , X s , Y s , M s } , { P I D i ,   P I D j , N i , R i , T i , M i } , { P I D i ,   P I D j , N i , N s , X s , 1 ,   Y s , 1 , K s , 1 , T s , M s , 1 } , { N j , M j , 1 , R j , M j , 2 } and { N s , N j ,   M j , 1 ,   X s , 2 , Y s , 2 , K s , 2 , M s , 2 } are protected with H R i , 1 or H R j , 1 , which are unknown to M A . As a result, M A can intercept these messages, but it cannot tamper with them. Hence, SLAKA-IoD can prevent MITM attacks.
(5)
Drone Physical Capture Attack
Assume that M A has physically captured D i or D j . Then, by performing power analysis attacks on them, M A can obtain the stored information of D i or D j , including I D s , P I D i , P I D j , C i , 1 , C i , 2 , C j , 1 , C j , 2 , P I D j n and C j n . Although M A can obtain this information, it cannot try to probe or alter the integrated circuits of captured drones to retrieve the output responses of their PUFs, because this attempt will irreversibly modify the slight physical variations in the integrated circuits and in turn destroy these PUFs. That is to say, M A cannot obtain R i , 1 , R i , 2 , R j , 1 and R j , 2 based on C i , 1 , C i , 2 , C j , 1 , C j , 2 and C j n , respectively, resulting in M A not being able to obtain H R i , 1 , H R i , 2 , H R j , 1 and H R j , 2 to compute any session key in SLAKA-IoD. Thus, SLAKA-IoD can prevent drone physical capture attacks.
(6)
Desynchronization Attack
For the drone-GS authentication and key agreement phase of SLAKA-IoD, D i stores old values { P I D i , C i , 1 , C i , 2 } before receiving the second message of the phase, and updates P I D i = P I D i n , C i , 1 = C i , 2 and C i , 2 = C i n after receiving the second message of the phase. In addition, G S not only stores old values { P I D i , H R i , 1 } , but also new values { P I D i n , H R i , 2 } . Thus, whether or not M A blocks the second message of the phase to perform desynchronization attacks, there is always a set of pseudo-identity and key material values used for this phase between D i and G S .
For the drone–drone authentication and key agreement phase of SLAKA-IoD, D i stores old values { P I D i , C i , 1 , C i , 2 } before receiving the fourth message of the phase, and updates P I D i = P I D i n , C i , 1 = C i , 2 and C i , 2 = C i n after receiving the fourth message of the phase. In addition, G S not only stores old values, { P I D i , H R i , 1 } and { P I D j , H R j , 1 } , but also new values, { P I D i n , H R i , 2 } and { P I D j n , H R j , 2 } . D j not only stores old values, { P I D j , C j , 1 , C j , 2 } , but also new values, { P I D j n , C j n } , which will be used to update P I D j = P I D j n , C j , 1 = C j , 2 and C j , 2 = C j n . Thus, whether or not M A blocks the third or fourth message of the phase to perform desynchronization attacks, there is always a set of pseudo-identity and key material values used for this phase among D i , D j and the G S .
Hence, SLAKA-IoD can prevent desynchronization attacks.
(7)
Session Key Disclosure Attack
In the drone-GS authentication and key agreement phase of SLAKA-IoD, S K i s = h ( P I D i | | I D s | | N i | | T i | | N s | | H R i , 1 ) . However, M A cannot compute the session key, S K i s , because it does not know I D s and H R i , 1 .
In the drone–drone authentication and key agreement phase of SLAKA-IoD, S K i j = h ( P I D i | | P I D j | | N i | | N j | | ( M K i j H R i , 1 H R j , 1 ) ) . However, M A cannot compute the session key, S K i j , because it does not know M K i j , H R i , 1 and H R j , 1 .
Thus, SLAKA-IoD is resilient to session key disclosure attacks.
(8)
ESL Attack
Based on the CK threat model, M A can compromise the session state and secret credentials apart from all the activities permitted under the DY threat model. In the drone-GS authentication and key agreement phase of SLAKA-IoD, even if M A can obtain the long-term secret { I D s } , it cannot compute the session key, S K i s , because it does not know H R i , 1 , which is computed by running the PUF of D i .
In the drone–drone authentication and key agreement phase of SLAKA-IoD, even if M A can obtain the short-term secret { M K i j } , it cannot compute the session key, S K i j , because it does not know H R i , 1 and H R j , 1 , which are computed by running PUFs of D i and D j , respectively.
Consequently, SLAKA-IoD is resilient to ESL attacks.
(9)
Anonymity and Untraceability
For the drone-GS authentication and key agreement phase of SLAKA-IoD, P I D i is used instead of I D i , and P I D i is different in each round of the phase. In addition, P I D i n is secret, which prevents M A from associating P I D i and P I D i n .
For the drone–drone authentication and key agreement phase of SLAKA-IoD, P I D i and P I D j are used instead of I D i and I D j , respectively, and P I D i are P I D j are different in each round of the phase, respectively. In addition, P I D i n and P I D j n are secret, which prevents M A from associating P I D i with P I D i n , and associating P I D j with P I D j n .
Note that M A can obtain both P I D j and P I D j n by physically capturing D j for the drone–drone authentication and key agreement phase of SLAKA-IoD. However, it is no longer meaningful for M A to track its physically captured D j . Therefore, SLAKA-IoD provides anonymity and untraceability.
(10)
Mutual Authentication
In the drone-GS authentication and key agreement phase of SLAKA-IoD, after receiving { P I D i , N i , R i , T i , M i } , the G S computes M i * = h ( P I D i | | N i | | R i | | T i | | H R i , 1 ) and checks whether M i * is equal to M i . If the condition is valid, G S successfully authenticates D i because only D i and G S know H R i , 1 . Similarly, upon receiving { N s , X s , Y s , M s } , D i computes S K i s = h ( P I D i | | I D s | | N i | | T i | | N s | | H R i , 1 ) and M s * = h ( N s | | X s | | Y s | | S K i s ) , and then checks whether M s * is equal to M s . If the condition is valid, D i successfully authenticates the G S because only D i and G S know H R i , 1 .
In the drone–drone authentication and key agreement phase of SLAKA-IoD, after receiving { P I D i , P I D j , N i , R i , T i , M i } , the G S computes M i * = h ( P I D i | | P I D j | | N i | | R i | | T i | | H R i , 1 ) and checks whether M i * is equal to M i . If the condition is valid, G S successfully authenticates D i because only D i and G S know H R i , 1 . Similarly, upon receiving { P I D i , P I D j , N i , N s , X s , 1 , Y s , 1 , K s , 1 , T s , M s , 1 } , D j  computes M s , 1 * = h ( P I D i | | P I D j | | N i | | N s | | X s , 1 | | Y s , 1   | | K s , 1 | | T s | | H R j , 1 ) and checks whether M s , 1 * is equal to M s , 1 . If the condition is valid, D j successfully authenticates both D i and G S . This is because only D j and G S know H R j , 1 , and P I D i is included in h ( P I D i | | P I D j | | N i | | N s | | X s , 1 | | Y s , 1 | | K s , 1 | | T s | | H R j , 1 ) . After obtaining { N j , M j , 1 , R j , M j , 2 } , the G S computes M j , 2 * = h ( P I D i | | P I D j | | I D s | | N i | | N s | | T s | | N j | | M j , 1 | | R j   | | H R j , 1 ) and checks whether M j , 2 * is equal to M j , 2 . If the condition is valid, the G S successfully authenticates D j because only D j and the G S know H R j , 1 . Further, upon receiving { N s , N j , M j , 1 , X s , 2 , Y s , 2 , K s , 2 , M s , 2 } , D i  computes M s , 2 * = h ( P I D i | | P I D j | | I D s | | N i | | T i | | N s | | N j | | M j , 1   | | X s , 2 | | Y s , 2 | | K s , 2 | | H R i , 1 ) and checks whether M s , 2 * is equal to M s , 2 , computes S K i j = h ( P I D i | | P I D j | | N i | | N j | | ( M K i j H R i , 1 H R j , 1 ) ) , M j , 1 * = h ( N i | | N j | | S K i j ) and checks whether M j , 1 * is equal to M j , 1 . If these conditions are valid, D i successfully authenticates both D j and the G S . This is because only D i and the G S know H R i , 1 , and only D i and D j can compute S K i j .
Hence, SLAKA-IoD provides mutual authentication.
(11)
Forward and Backward Secrecy
For the drone-GS authentication and key agreement phase of SLAKA-IoD, even if M A can obtain the current session key, S K i s , it cannot compromise the session key of any past session or any future session. This is because H R i , 1 is different in each round of the phase and cannot be obtained by M A , where H R i , 1 is used to compute S K i s = h ( P I D i | | I D s | | N i | | T i | | N s | | H R i , 1 ) .
For the drone–drone authentication and key agreement phase of SLAKA-IoD, even if M A can obtain the current session key, S K i j , it cannot compromise the session key of any past session or any future session. This is because M K i j , H R i , 1 and H R j , 1 are different in each round of the phase and cannot be obtained by M A , where M K i j , H R i , 1 and H R j , 1 are used to compute S K i j = h ( P I D i | | P I D j | | N i | | N j | | ( M K i j H R i , 1 H R j , 1 ) ) .
Hence, SLAKA-IoD provides forward and backward secrecy.
(12)
PUF Challenge–Response Pair Protection
In the above SLAKA-IoD, H R i , 1 and H R i , 2 instead of R i , 1 and R i , 2 are securely transmitted to the G S and are stored in the G S . Similarly, H R j , 1 and H R j , 2 instead of R j , 1 and R j , 2 are securely transmitted to the G S and are stored in the G S . As a result, it is difficult for M A to obtain R i , 1 , R i , 2 , R j , 1 and R j , 2 . Even if M A can obtain H R i , 1 and H R i , 2 , it cannot guess R i , 1 and R i , 2 in reverse based on them, as they are generated by hashing R i , 1 and R i , 2 , respectively. Similarly, even if M A can obtain H R j , 1 and H R j , 2 , it cannot guess R j , 1 and R j , 2 in reverse based on them, as they are generated by hashing R j , 1 and R j , 2 , respectively.
Additionally, C i , 1 and C i , 2 are stored in D i instead of the G S . Similarly, C j , 1 and C j , 2 are stored in D j instead of G S . Therefore, in order to obtain the PUF challenge–response pairs of D i , it is also necessary for M A to capture D i to obtain C i , 1 and C i , 2 . Similarly, in order to obtain the PUF challenge–response pairs of D j , it is also necessary for M A to capture D j to obtain C j , 1 and C j , 2 .
Hence, SLAKA-IoD provides PUF challenge–response pair protection.

5.2. Formal Security Analysis Based on the Strand Space Model

Because the strand space model [43,44] is a well-studied formal analysis method for security protocols, we use the strand space model to analyze the security of our proposed SLAKA-IoD protocol as follows.
Definition 1. 
An infiltrated strand space,  Σ , P , is a space for the drone-GS authentication and key agreement phase of SLAKA-IoD if it is the union of three kinds of strands: (1) Initiator strands, s I n i t [ D i ,   G S ,   P I D i ,   I D s ,   N i ,   N s ,   T i ,   C i n ,   P I D i n ,   H R i , 2 ] with trace: < + P I D i , N i , R i , T i , M i , { N s , X s , Y s , M s } > . The principal associated with this strand is D i (2) Responder strands, r R e s p [ D i ,   G S ,   P I D i ,   I D s ,   N i ,   N s ,   T i ,   C i n ,   P I D i n ,   H R i , 2 ] with trace:  < P I D i , N i , R i , T i , M i , + { N s , X s , Y s , M s } > . The principal associated with this strand is G S . (3) Penetrator strands, p P [43,44].
Theorem 1. 
Suppose (1) Σ is a space for the drone-GS authentication and key agreement phase of SLAKA-IoD, and C is a bundle containing an initiator strand, s I n i t [ D i ,   G S ,   P I D i ,   I D s ,   N i ,   N s ,   T i ,   C i n ,   P I D i n ,   H R i , 2 ] ; (2) H R i , 1 K p ; (3) N i and N s are uniquely originating in Σ . Then, C contains a unique responder strand, r R e s p [ D i ,   G S ,   P I D i ,   I D s ,   N i ,   N s ,   T i ,   C i n ,   P I D i n ,   H R i , 2 ] .
Proof of Theorem 1. 
According to assumption (2), H R i , 1 K p . Since S K i s = h ( P I D i | | I D s | | N i | | T i | | N s | | H R i , 1 ) , S K i s K p . By assumption (3), N s is uniquely originating in Σ by assumption (3), so M s = h ( N s | | X s | | Y s | | S K i s ) t e r m ( < s , 2 > ) must uniquely originate on a responder strand r R e s p [ D i , G S , P I D i , I D s , N i , N s , T i , C i n , P I D i n , ( H R i , 2 ) ] . By assumptions (2) and (3), H R i , 1 K p and N i is uniquely originating in Σ , so ( M i ) = h ( P I D i | | N i | | ( R i ) | | T i | | H R i , 1 ) t e r m ( < r , 1 > ) must uniquely originate on s according to assumption (1), where ( R i ) = ( H R i , 2 ) h ( P I D i | | I D s | | N i | | T i | | H R i , 1 ) . According to s and Definition 1, ( H R i , 2 ) = H R i , 2 and ( R i ) = R i . Hence, r R e s p [ D i , G S , P I D i , I D s , N i , N s , T i , C i n , P I D i n , H R i , 2 ] . □
According to Theorem 1, D i successfully authenticates G S , and can establish an injection agreement [43,44] with them.
Theorem 2. 
Suppose: (1) Σ is a space for the drone-GS authentication and key agreement phase of SLAKA-IoD, and C is a bundle containing a responder strand r R e s p [ D i ,   G S ,   P I D i ,   I D s ,   N i ,   N s ,   T i ,   C i n ,   P I D i n ,   H R i , 2 ] ; (2) H R i , 1 K p ; (3) N i is uniquely originating in Σ , and T i is a fresh timestamp to prevent replay. Then, C contains a unique initiator strand s I n i t [ D i ,   G S ,   P I D i ,   I D s ,   N i ,   N s ,   T i ,   C i n ,   P I D i n ,   H R i , 2 ] .
Proof of Theorem 2. 
According to assumptions (2) and (3), H R i , 1 K p and N i is uniquely originating in Σ , so M i = h ( P I D i | | N i | | R i | | T i | | H R i , 1 ) t e r m ( < r , 1 > ) must uniquely originate on an initiator strand s I n i t [ D i , G S , P I D i , I D s , N i , ( N s ) , T i , ( C i n ) , ( P I D i n ) , H R i , 2 ] . Since H R i , 1 K p , ( M s ) = h ( ( N s ) | | ( X s ) | | ( Y s ) | | ( S K i s ) ) t e r m ( < s , 2 > ) must originate on a responder strand r R e s p [ D i , G S , P I D i , I D s , N i , ( N s ) , T i , ( C i n ) , ( P I D i n ) , H R i , 2 ] according to assumption (1), where ( X s ) = ( C i n ) h ( P I D i | | I D s | | N i | | ( N s ) | | H R i , 1 ) , ( Y s ) = ( P I D i n )   h ( P I D i | | I D s | | T i | | ( N s ) | | H R i , 1 ) and ( S K i s ) = h ( P I D i | | I D s | | N i | | T i | | ( N s ) | | H R i , 1 ) . As a result, t e r m < r , 1 > = t e r m < r , 1 > = { P I D i , N i , R i , T i , M i } , i.e., { P I D i , N i , R i , T i , M i } is replayed, which contradicts with assumption (3). Hence, r = r , so ( N s ) = N s , ( C i n ) = C i n and ( P I D i n ) = P I D i n . That is to say, s I n i t [ D i , G S , P I D i , I D s , N i , N s , T i , C i n , P I D i n , H R i , 2 ] . □
According to Theorem 2, G S successfully authenticates D i , and can establish an injection agreement [43,44] with them.
From Theorems 1 and 2, mutual authentication between D i and G S is established. Additionally, injection agreement between D i and G S is established, so replay and MitM attacks between D i and G S are overcome according to the definition of the injection agreement [43,44].
Definition 2. 
An infiltrated strand space Σ , P is a space for the drone–drone authentication and key agreement phase of SLAKA-IoD if it is the union of four kinds of strands: (1) Initiator strands s I n i t D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j , N s ,   T i ,   M K i j , C i n ,   P I D i n ,   H R i , 2 with trace: < + P I D i , P I D j , N i , R i , T i , M i , N s , N j ,   M j , 1 ,   X s , 2 , Y s , 2 , K s , 2 , M s , 2 > . The principal associated with this strand is D i ; (2) Responder strands r R e s p D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j ,   N s ,   T s ,   M K i j , C j n ,   P I D j n , H R j , 2 with trace: < P I D i ,   P I D j , N i , N s , X s , 1 , Y s , 1 , K s , 1 , T s , M s , 1 , + N j , M j , 1 , R j , M j , 2 > . The principal associated with this strand is D j ; (3) Server strands t S e r v D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j , N s ,   T i , T s ,   M K i j , C i n , C j n ,   P I D i n ,   P I D j n , H R i , 2 , H R j , 2 with trace: < P I D i , P I D j , N i , R i , T i , M i , + P I D i ,   P I D j , N i , N s , X s , 1 , Y s , 1 , K s , 1 , T s , M s , 1 ,   N j , M j , 1 , R j , M j , 2 , + N s , N j ,   M j , 1 ,   X s , 2 , Y s , 2 , K s , 2 , M s , 2 > . The principal associated with this strand is G S ; (4) Penetrator strands p P [43,44].
Theorem 3. 
Suppose: (1)  Σ is a space for the drone–drone authentication and key agreement phase of SLAKA-IoD, and C is a bundle containing an initiator strand s I n i t D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j , N s ,   T i ,   M K i j , C i n ,   P I D i n , H R i , 2 ; (2) H R i , 1 ,   H R j , 1 K p ; (3) N i , N j and N s are uniquely originating in Σ . Then, C contains a unique responder strand r R e s p D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j , N s ,   ( T s ) ,   M K i j , ( C j n ) ,   ( P I D j n ) , ( H R j , 2 ) and a unique server strand t S e r v [ D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j , N s ,   T i , ( T s ) ,   M K i j , C i n , ( C j n ) ,   P I D i n ,   ( P I D j n ) ,   H R i , 2 , ( H R j , 2 ) ] .
Proof of Theorem 3. 
According to assumptions (2) and (3), H R i , 1 K p and N s is uniquely originating in Σ . Since M s , 2 = h ( P I D i | | P I D j | | I D s | | N i | | T i | | N s | | N j | | M j , 1 | | X s , 2 | | Y s , 2 | | K s , 2 | | H R i , 1 ) , M s , 2 t e r m ( < s , 2 > ) must uniquely originate on a server strand t S e r v [ D i , D j , G S , P I D i , P I D j , I D s , N i , N j , N s , T i , ( T s ) , M K i j , C i n , ( C j n ) , P I D i n , ( P I D j n ) , ( H R i , 2 ) , ( H R j , 2 ) ] . By assumption (3), N i is uniquely originating in Σ . Since H R i , 1 K p , ( M i ) = h ( P I D i | | P I D j | | N i | | ( R i ) | | T i | | H R i , 1 ) t e r m ( < t , 1 > ) must uniquely originate on s according to assumption (1), where ( R i ) = ( H R i , 2 ) h ( P I D i | | P I D j | | I D s | | N i | | T i | | H R i , 1 ) . According to s and Definition 2, ( H R i , 2 ) = H R i , 2 and ( R i ) = R i . Hence, t S e r v [ D i , D j , G S , P I D i , P I D j , I D s , N i , N j , N s , T i , ( T s ) , M K i j , C i n , ( C j n ) , P I D i n , ( P I D j n ) , H R i , 2 , ( H R j , 2 ) ] . By assumptions (2) and (3), H R j , 1 K p and N j is uniquely originating in Σ , so ( M j , 2 ) = h ( P I D i | | P I D j | | I D s | | N i | | N s | | ( T s ) | | N j | | M j , 1 | | ( R j ) | | H R j , 1 ) t e r m ( < t , 3 > ) must uniquely originate on a responder strand r R e s p D i , D j , G S , P I D i , P I D j , I D s , N i , N j , N s , ( T s ) , M K i j , ( C j n ) , ( P I D j n ) , ( H R j , 2 ) , where ( R j ) = ( H R j , 2 ) h ( P I D i | | P I D j | | I D s | | ( T s ) | | N s | | N j | | H R j , 1 ) . Since H R j , 1 K p and N s is uniquely originating in Σ , ( M s , 1 ) = h ( P I D i | | P I D j | | N i | | N s | | ( X s , 1 ) | | ( Y s , 1 ) | | ( K s , 1 ) | | ( T s ) | | H R j , 1 ) t e r m ( < r , 1 > ) must uniquely originate on t , where ( X s , 1 ) = ( C j n ) h ( P I D i | | P I D j | | I D s | | N s | | H R j , 1 ) , ( Y s , 1 ) = ( P I D j n ) h ( P I D i | | P I D j | | I D s | | ( T s ) | | N s | | H R j , 1 ) and ( K s , 1 ) = M K i j H R i , 1 h ( P I D i | | P I D j | | I D s | | N i | | ( T s ) | | N s | | H R j , 1 ) . According to Definition 2, ( C j n ) = ( C j n ) and P I D j n = ( P I D j n ) . Hence, r R e s p D i , D j , G S , P I D i , P I D j , I D s , N i , N j , N s , ( T s ) , M K i j , ( C j n ) , ( P I D j n ) , ( H R j , 2 ) . □
According to Theorem 3, D i successfully authenticates G S and D j , and can establish an injection agreement [43,44] with each of them. Note that ( T s ) , ( C j n ) , ( P I D j n ) and ( H R j , 2 ) are not known to D i because they are only used between G S and D j .
Theorem 4. 
Suppose: (1)  Σ is a space for the drone–drone authentication and key agreement phase of SLAKA-IoD, and C is a bundle containing a responder strand r R e s p D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j , N s ,   T s ,   M K i j , C j n ,   P I D j n , H R j , 2 ; (2) H R i , 1 ,   H R j , 1 K p ; (3) N i and N s are uniquely originating in Σ , and T s is a fresh timestamp to prevent replay. Then, C contains a unique initiator strand s I n i t D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j ,   N s ,   ( T i ) ,   M K i j , ( C i n ) ,   ( P I D i n ) ,   ( H R i , 2 ) and a unique server strand t S e r v [ D i ,   D j , G S ,   P I D i ,   P I D j ,   I D s ,   N i ,   N j , N s ,   ( T i ) , T s ,   M K i j , ( C i n ) , C j n ,   ( P I D i n ) ,   P I D j n ,   ( H R i , 2 ) , H R j , 2 ] .
Proof of Theorem 4. 
According to assumptions (2) and (3), H R j , 1 K p and N s is uniquely originating in Σ . Since M s , 1 = h ( P I D i | | P I D j | | N i | | N s | | X s , 1 | | Y s , 1 | | K s , 1 | | T s | | H R j , 1 ) , M s , 1 t e r m < r , 1 > must uniquely originate on a server strand t S e r v [ D i , D j , G S , P I D i , P I D j , I D s , N i , ( N j ) , N s , ( T i ) , T s , M K i j , ( C i n ) , C j n , ( P I D i n ) , P I D j n ,   ( H R i , 2 ) , ( H R j , 2 ) ] . Since H R j , 1 K p , ( M j , 2 ) = h ( P I D i | | P I D j | | I D s | | N i | | N s | | T s | | ( N j ) | | ( M j , 1 ) | | ( R j ) | | H R j , 1 ) t e r m ( < t , 3 > ) must originate on a responder strand r R e s p D i , D j , G S , P I D i , P I D j , I D s , N i , ( N j ) , N s , T s , M K i j , C j n , P I D j n , ( H R j , 2 ) , where ( S K i j ) = h ( P I D i | | P I D j | | N i | | ( N j ) | | ( M K i j H R i , 1 H R j , 1 ) ) , ( R j ) = ( H R j , 2 ) h ( P I D i | | P I D j | | I D s | | T s | | N s | | ( N j ) | | H R j , 1 ) and ( M j , 1 ) = h ( N i | | ( N j ) | | ( S K i j ) ) . As a result, t e r m < r , 1 > = t e r m < r , 1 > = P I D i , P I D j , N i , N s , X s , 1 , Y s , 1 , K s , 1 , T s , M s , 1 , i.e., P I D i , P I D j , N i , N s , X s , 1 , Y s , 1 , K s , 1 , T s , M s , 1 is replayed, which contradicts with assumption (3). Hence, r = r , so ( N j ) = N j and ( H R j , 2 ) = H R j , 2 . That is to say, t S e r v [ D i , D j , G S , P I D i , P I D j , I D s , N i , N j , N s , ( T i ) , T s , M K i j , ( C i n ) , C j n , ( P I D i n ) , P I D j n , ( H R i , 2 ) , H R j , 2 ] . By assumptions (2) and (3), H R i , 1 K p and N i is uniquely originating in Σ , so M i = h ( P I D i | | P I D j | | N i | ( R i | | ( T i ) | | H R i , 1 ) t e r m < t , 1 > must uniquely originate on an initiator strand s I n i t D i , D j , G S , P I D i , P I D j , I D s , N i , ( N j ) , ( N s ) , ( T i ) , ( M K i j ) , ( C i n ) , ( P I D i n ) , ( H R i , 2 ) , where ( R i ) = ( H R i , 2 ) h ( P I D i | | P I D j | | I D s | | N i | | ( T i ) | | H R i , 1 ) . Since H R i , 1 K p , ( M s , 2 ) = h ( P I D i | | P I D j | | I D s | | N i | | ( T i ) | | ( N s ) | | ( N j ) | | ( M j , 1 ) | | ( X s , 2 ) | | ( Y s , 2 ) | | ( K s , 2 ) | | H R i , 1 ) t e r m ( < s , 2 > ) must originate on a server strand t S e r v [ D i , D j , G S , P I D i , P I D j , I D s , N i , ( N j ) , ( N s ) , ( T i ) , ( T s ) , ( M K i j ) , ( C i n ) , ( C j n ) , ( P I D i n ) , ( P I D j n ) , ( H R i , 2 ) , ( H R j , 2 ) ] , where ( X s , 2 ) = ( C i n ) h ( P I D i | | P I D j | | I D s | | ( N s ) | | ( N j ) | | N i | | H R i , 1 ) , ( Y s , 2 ) = ( P I D i n ) h ( P I D i | | P I D j | | I D s | | ( N s ) | | ( N j ) | | ( T i ) | | H R i , 1 ) , ( K s , 2 ) = ( M K i j ) H R j , 1 h ( P I D i | | P I D j | | I D s | | ( N s ) | | ( N j ) | | ( T i ) | | N i | | H R i , 1 ) , ( S K i j ) = h ( P I D i | | P I D j | | N i | | ( N j ) | | ( ( M K i j ) H R j , 1 H R i , 1 ) ) and ( M j , 1 ) = h ( N i | | ( N j ) | | ( S K i j ) ) . As a result, t e r m < t , 1 > = t e r m < t , 1 > = P I D i , P I D j , N i , ( R i ) , ( T i ) , M i , i.e., { P I D i , P I D j , N i , ( R i ) , ( T i ) , ( M i ) } is replayed, which contradicts with assumption (3). Hence, t = t , so ( N j ) = N j , ( N s ) = N s , ( M K i j ) = M K i j , ( C i n ) = ( C i n ) and ( P I D i n ) = ( P I D i n ) . That is to say, s I n i t D i , D j , G S , P I D i , P I D j , I D s , N i , N j , N s , ( T i ) , M K i j , ( C i n ) , ( P I D i n ) , ( H R i , 2 ) . □
According to Theorem 4, D j successfully authenticates G S and D i , and can establish an injection agreement [43,44] with each of them. Note that ( T i ) , ( C i n ) , ( P I D i n ) and ( H R i , 2 ) are not known to D j because they are only used between G S and D i .
Theorem 5. 
Suppose: (1)  Σ is a space for the drone–drone authentication and key agreement phase of SLAKA-IoD, and C is a bundle containing a server strand, t S e r v [ D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j , N s ,   T i , T s ,   M K i j , C i n , C j n ,   P I D i n ,   P I D j n , H R i , 2 , H R j , 2 ] ; (2) H R i , 1 ,   H R j , 1 K p ; (3) N i , N j and N s are uniquely originating in Σ , and T i is a fresh timestamp to prevent replay. Then, C contains a unique initiator strand s I n i t D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j , N s ,   T i ,   M K i j , C i n ,   P I D i n , H R i , 2 and a responder strand r R e s p D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j , N s ,   T s ,   M K i j , C j n ,   P I D j n , H R j , 2 .
Proof of Theorem 5. 
By assumptions (2) and (3), H R i , 1 K p and N i is uniquely originating in Σ , so M i = h ( P I D i | | P I D j | | N i | | R i | | T i | | H R i , 1 ) t e r m < t , 1 > must uniquely originate on an initiator strand s I n i t D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   ( N j ) , ( N s ) ,   T i ,   ( M K i j ) ,   ( C i n ) ,   ( P I D i n ) , H R i , 2 . Since H R i , 1 K p , ( M s , 2 ) = h ( P I D i | | P I D j | | I D s | | N i | | T i | | ( N s ) | | ( N j ) | | ( M j , 1 ) | | ( X s , 2 ) | | ( Y s , 2 ) | | ( K s , 2 ) | | H R i , 1 ) t e r m ( < s , 2 > ) must originate on a server strand t S e r v [ D i ,   D j , G S ,   P I D i ,   P I D j ,   I D s ,   N i ,   ( N j ) , ( N s ) ,   T i , ( T s ) ,   ( M K i j ) , ( C i n ) , ( C j n ) ,   ( P I D i n ) ,   ( P I D j n ) , H R i , 2 , ( H R j , 2 ) ] , where ( X s , 2 ) = ( C i n ) h ( P I D i | | P I D j | | I D s | | ( N s ) | | ( N j ) | | N i | | H R i , 1 ) , ( Y s , 2 ) = ( P I D i n ) h ( P I D i | | P I D j | | I D s | | ( N s ) | | ( N j ) | | T i | | H R i , 1 ) , ( K s , 2 ) = ( M K i j ) H R j , 1 h ( P I D i | | P I D j | | I D s | | ( N s ) | | ( N j ) | | T i | | N i | | H R i , 1 ) , ( S K i j ) = h ( P I D i | | P I D j | | N i | | ( N j ) | | ( ( M K i j ) H R j , 1 H R i , 1 ) ) and ( M j , 1 ) = h ( N i | | ( N j ) | | ( S K i j ) ) . As a result, t e r m < t , 1 > = t e r m < t , 1 > = P I D i , P I D j , N i , R i , T i , M i , i.e., P I D i , P I D j , N i , R i , T i , M i is replayed, which contradicts with assumption (3). Hence, t = t , so ( N j ) = N j , ( N s ) = N s , ( M K i j ) = M K i j , ( C i n ) = C i n and ( P I D i n ) = P I D i n . That is to say, s I n i t D i ,   D j , G S ,   P I D i ,   P I D j , I D s ,   N i ,   N j , N s ,   T i ,   M K i j , C i n ,   P I D i n ,   H R i , 2 . By assumptions (2) and (3), H R j , 1 K p and N j is uniquely originating in Σ , so M j , 2 = h ( P I D i | | P I D j | | I D s | | N i | | N s | | T s | | N j | | M j , 1 | | R j | | H R j , 1 )   t e r m ( < t , 3 > ) must uniquely originate on a responder strand r R e s p D i , D j , G S , P I D i , P I D j , I D s , N i , N j , N s , T s , M K i j , ( C j n ) , ( P I D j n ) , H R j , 2 . Since H R j , 1 K p and N s is uniquely originating in Σ , ( M s , 1 ) = h ( P I D i | | P I D j | | N i | | N s | | ( X s , 1 ) | | ( Y s , 1 ) | | K s , 1 | | T s | | H R j , 1 ) t e r m ( < r , 1 > ) must uniquely originate on t , where ( X s , 1 ) = ( C j n ) h ( P I D i | | P I D j | | I D s | | N s | | H R j , 1 ) and ( Y s , 1 ) = ( P I D j n )   h ( P I D i | | P I D j | | I D s | | T s | | N s | | H R j , 1 ) . According to Definition 2, ( C j n ) = C j n and ( P I D j n ) = P I D j n . Hence, r R e s p D i , D j , G S , P I D i , P I D j , I D s , N i , N j , N s , T s , M K i j , C j n , P I D j n , H R j , 2 . □
According to Theorem 5, G S successfully authenticates D i and D j , and can establish an injection agreement [43,44] with each of them.
From Theorems 3–5, mutual authentication among D i , D j and G S is established. Additionally, injection agreement among D i , D j and G S is established. Hence, according to the definition of the injection agreement [43,44], replay and MitM attacks among D i , D j and G S are overcome.

5.3. Security Verification Based on the Scyther Tool

The Scyther tool [46,47] is a security protocol formal analysis tool. It can provide explicit termination for infinite state aggregation protocols and unlimited sessions. In addition, it can support multi-protocol parallel analysis. The Scyther tool uses the security protocol description language (SPDL) to describe and analyze security protocols. It provides a set of claims to test various security goals, such as authentication and secrecy. In the Scyther tool, two secret claims are applied to state confidentiality, including Secret (i.e., secret) and SKR (i.e., session key reveal). The Scyther tool provides different degrees of authentication strength. In the Scyther tool, several forms of authentication claims including Alive (i.e., aliveness), Weakagree (i.e., weak agreement), Niagree (i.e., non-injection agreement), and Nisynch (i.e., non-injection synchronization) are used to detect replay, MitM attacks, reflection, etc. The detailed description of formal definitions for all Scyther claims can be found in [47].
We model our proposed SLAKA-IoD protocol in SPDL, and then specify the security properties of the SLAKA-IoD protocol according to a series of claims of the Scyther tool. The security verification result of the drone-GS authentication and key agreement phase of SLAKA-IoD is shown in Figure 5.
From Figure 5, the drone-GS authentication and key agreement phase of SLAKA-IoD successfully make certain all Scyther claims. Additionally, there are no attacks found in the testing of the Scyther tool. According to Figure 5, H R i , 1 , H R i , 2 , C i n , P I D i n and S K i s are secret. Moreover, weak agreement, aliveness, non-injection agreement and non-injection synchronization between D i and G S are established. As a result, replay and MitM attacks between D i and G S are overcome [47].
The security verification result of the drone–drone authentication and key agreement phase of SLAKA-IoD is shown in Figure 6.
From Figure 6, the drone–drone authentication and key agreement phase of SLAKA-IoD successfully makes certain all Scyther claims. Additionally, there are no attacks found in the testing of the Scyther tool. According to Figure 6, H R i , 1 , H R i , 2 , C i n , P I D i n , H R j , 1 , H R j , 2 , C j n , P I D j n and S K i j are secret. Moreover, weak agreement, aliveness, non-injection agreement and non-injection synchronization among D i , D j and G S are established. As a result, replay and MitM attacks among D i , D j and G S are overcome [47].
According to the above security verification result of the SLAKA-IoD protocol using the Scyther tool, the SLAKA-IoD protocol is secure.

5.4. Security Comparison

In Table 3 and Table 4, we compare the security features of the SLAKA-IoD protocol with other related AKA protocols for IoD [22,33,34,35,36,37].
From Table 3, the drone-GS authentication and key agreement phase in [33] cannot resist replay, DoS, and desynchronization attacks and does not provide PUF challenge–response pair protection. The drone-GS authentication and key agreement phase in [34] has the same security features as the drone-GS authentication and key agreement phase in [33]. The drone-GS authentication and key agreement phase in [35] cannot resist replay and desynchronization attacks and does not provide PUF challenge-response pair protection. The drone-GS authentication and key agreement phase in [36] cannot resist replay, DoS and ESL attacks, and does not provide anonymity, untraceability and PUF challenge–response pair protection. The drone-GS authentication and key agreement phase in [37] cannot resist replay, drone physical capture, desynchronization and ESL attacks and does not provide PUF challenge–response pair protection. In contrast, the drone-GS authentication and key agreement phase of SLAKA-IoD supports all of the security features in Table 3.
From Table 4, the drone–drone authentication and key agreement phase in [22] cannot resist drone physical capture and ESL attacks and does not provide PUF challenge–response pair protection. The drone–drone authentication and key agreement phase in [35] cannot resist replay, DoS, desynchronization and ESL attacks, and does not provide PUF challenge–response pair protection. The drone–drone authentication and key agreement phase in [37] cannot resist replay, drone physical capture, desynchronization and ESL attacks, and does not provide PUF challenge–response pair protection. In contrast, the drone–drone authentication and key agreement phase of SLAKA-IoD supports all of the security features in Table 4.
Hence, the SLAKA-IoD protocol offers more security features as compared with these related AKA protocols for IoD [22,33,34,35,36,37].

6. Performance Analysis

This section presents a detailed performance analysis of the SLAKA-IoD protocol in terms of computation, communication, and storage cost. Meanwhile, we compare the SLAKA-IoD protocol with other related AKA protocols for IoD in these respects.

6.1. Computation Cost

Based on the existing experimental results reported from [15], we consider T e c m (time to execute ECC point multiplication) ≈ 2.92 ms, T h (time to execute hash function) ≈ 0.311 ms, and T s e d (time required for symmetric encryption/decryption ≈ 0.425 ms for the drone. We also consider T e c m (time to execute ECC point multiplication) ≈ 0.605 ms, T h (time to execute hash function) ≈ 0.029 ms, and T s e d (time required for symmetric encryption/decryption ≈ 0.036 ms for the GS. According to [22,33,34,35,36,37], key extension function, message authentication code function, Duffing map function and Henon map function require the same amount of computation as the hash function. In addition, the time required for XOR, message cascading, PUF, or random number generation is relatively small and can be ignored.
During the drone-GS authentication and key agreement phase, the computation cost at the GS side in our proposed SLAKA-IoD is 8 T h ≈ 0.232 ms, while the AKA schemes of [33,34,35], refs. [36,37] require 8 T h ≈ 0.232 ms, 7 T h ≈ 0.203 ms, 5 T h ≈ 0.145 ms, 4 T h ≈ 0.116 ms, and 11 T h ≈ 0.319 ms. The computation cost at drone side in our proposed SLAKA-IoD is 9 T h ≈ 2.799 ms, while the schemes of [33,34,35,36,37] require 8 T h ≈ 2.488 ms, 7 T h ≈ 2.177 ms, 5 T h ≈ 1.555 ms, 4 T h ≈ 1.244 ms, and 11 T h ≈ 3.421 ms. In Table 5, we compare the computation cost of SLAKA-IoD with other related AKA schemes [33,34,35,36,37] during the drone-GS authentication and key agreement phase.
From Table 5, the computation cost of SLAKA-IoD is slightly higher than that of the AKA schemes in [33,34,35,36], and slightly lower than that of the AKA scheme in [37] during the drone-GS authentication and key agreement phase. However, SLAKA-IoD can resist more security attacks and provide more security properties as compared to other related AKA schemes [33,34,35,36,37] during this phase.
During the drone–drone authentication and key agreement phase, the computation cost at GS side in our proposed SLAKA-IoD is 14 T h ≈ 0.406 ms, while the AKA schemes of [22,35], and [37] require 2 T e c m + 9 T h ≈ 1.471 ms, 3 T s e d + 11 T h ≈ 0.427 ms, and 21 T h ≈ 0.609 ms. The computation cost at the drone D i side in our proposed SLAKA-IoD is 11 T h ≈ 3.421 ms, while the schemes of [22,35], and [37] require 3 T e c m + 5 T h ≈ 10.315 ms, 2 T s e d   + 5 T h ≈ 2.405 ms, and 15 T h ≈ 4.665 ms. The computation cost at the drone D j side in our proposed SLAKA-IoD is 11 T h ≈ 3.421 ms, while the schemes of [22,35], and [37] require 3 T e c m + 4 T h ≈ 10.004 ms, T s e d + 6 T h ≈ 2.291 ms, and 11 T h ≈ 3.421 ms. In Table 6, we compare the computation cost of SLAKA-IoD with other related AKA schemes [22,35,37] during the drone–drone authentication and key agreement phase.
From Table 6, the computation cost of SLAKA-IoD is slightly higher than that of the AKA scheme in [35], slightly lower than that of the AKA scheme in [37], and significantly lower than that of the AKA scheme in [22] during the drone–drone authentication and key agreement phase. However, SLAKA-IoD can resist more security attacks and provide more security properties as compared to other related AKA schemes [22,35,37] during this phase.
For SLAKA-IoD, if the number of drones in an IoD is n , then the computation cost of the drone-GS authentication and key agreement phase is 3.031 n ms. Theoretically, the computation cost of the drone–drone authentication and key agreement phase will reach ( 7.248 × n ! ) / ( n 2 ! × 2 ) ms. However, in reality, this phase is performed on demand, so it will not lead to a sudden increase in computation cost. Hence, the SLAKA-IoD protocol is suitable for IoD in terms of computation cost.

6.2. Communication Cost

To evaluate communication cost and storage cost, we consider that the sizes of the request flag, timestamp, identity, master key, random number, hash value, message authentication code, Duffing map value, Henon map value, PUF challenge, PUF response and ECC point are 16 bits, 32 bits, 160 bits, 128 bits, 128 bits, 160 bits, 160 bits, 256 bits, 256 bits, 32 bits, 320 bits, 320 bits, respectively [22,33,34,35,36,37].
During the drone-GS authentication and key agreement phase, the communication cost in our proposed SLAKA-IoD is {160 + 128 + 160 + 32 + 160} + {128 + 160 + 160 + 160} = 640 + 608 = 1248 bits, while the AKA schemes of [32,33,34,35,36] require {128 + 160} + {32 + 256 + 128 + 160} + {128 + 320 + 128 + 160} = 288 + 576 + 736 = 1600 bits, {128 + 160} + {32 + 256 + 128 + 160} + {128 + 320 + 128 + 160} = 288 + 576 + 736 = 1600 bits, {160 + 128 + 160} + {256 + 160} + {320+128+160} = 448 + 416 + 608 = 1472 bits, {128 + 160} + {32 + 256 + 160} + {256 + 160} = 288 + 448 + 416 =1152 bits, and {256 + 160} + {256 + 160} + {256 + 256 + 160} = 416 + 416 + 672 =1506 bits. In Table 7, we compare the communication cost of SLAKA-IoD with other related AKA schemes [33,34,35,36,37] during the drone-GS authentication and key agreement phase.
From Table 7, the communication cost of SLAKA-IoD is slightly higher than that of the AKA scheme in [36], and significantly lower than that of the AKA schemes in [33,34,35,37] during the drone-GS authentication and key agreement phase. However, SLAKA-IoD can resist more security attacks and provide more security properties as compared to other related AKA schemes [33,34,35,36,37] during this phase. Moreover, the number of messages in SLAKA-IoD is less than the number of messages in the AKA schemes of [33,34,35,36,37] during the drone-GS authentication and key agreement phase.
During the drone–drone authentication and key agreement phase, the communication cost in our proposed SLAKA-IoD is {160 + 160 + 128 + 160 + 32 + 160} + {160 + 160 + 128 + 128 + 160 + 160 + 160 + 32 + 160} + {128 + 160 + 160 + 160} + {128 + 128 + 160 + 160 + 160 + 160 + 160} = 800 + 1248 + 608 + 1056 = 3712 bits, while the AKA schemes of [22,34], and [36] require {160 + 320 + 160 + 32 + 160} + {32 + 160 + 160 + 160 + 320} + {320 + 32 + 160} + {320 + 32 + 160} = 832 + 832 + 512 + 512 = 2688 bits, {16 + 160} + {16 + 160} + {256} + {256} + {1472} + {1472} = 800 + 1248 + 608 + 1056 + 1472 + 1472 = 3808 bits, and {256 + 256 + 160} + {256 + 160} + {256 + 256 + 160} + {256 + 256 + 256 + 160} + {256 + 256 + 160} + {256 + 160} = 672 + 416 + 672 + 928 + 672 + 416 = 3776 bits. In Table 8, we compare the communication cost of SLAKA-IoD with that of other related AKA schemes [22,35,37] during the drone–drone authentication and key agreement phase.
From Table 8, the communication cost of SLAKA-IoD is slightly higher than that of the AKA scheme in [22], and significantly lower than that of the AKA schemes in [35,37] during the drone–drone authentication and key agreement phase. However, SLAKA-IoD can resist more security attacks and provide more security properties as compared to other related AKA schemes [22,35,37] during this phase. Moreover, the number of messages in SLAKA-IoD is less than the number of messages in the AKA schemes of [35,37] during the drone–drone authentication and key agreement phase.
For SLAKA-IoD, if the number of drones in an IoD is n , then the communication cost of the drone-GS authentication and key agreement phase is 1248 n bits. Theoretically, the communication cost of the drone–drone authentication and key agreement phase will reach ( 3712 × n ! ) / ( n 2 ! × 2 ) bits. However, in reality, this phase is performed on demand, so it will not lead to a sudden increase in communication cost. Hence, the SLAKA-IoD protocol is suitable for IoD in terms of communication cost.

6.3. Storage Cost

During the drone-GS authentication and key agreement phase, the storage cost at GS side in our proposed SLAKA-IoD is 160 + 160 + 160 + 160 + 160 + 160 = 960 bits, while the AKA schemes of [33,34,35,36,37] require 160 + 160 + 32 + 320 = 672 bits, 160 + 160 + 32 + 320 = 672 bits, 160 + 160 + 32 + 320 = 672 bits, 160 + 160 + 32 + 320 = 672 bits, and 160 + 160 + 160 + 32 + 320 = 832 bits. The storage cost at drone side in our proposed SLAKA-IoD is 160 + 160 + 32 + 32 = 384 bits, while the schemes of [33,34,35,36,37] require 160 + 160 = 320 bits, 160 + 160 = 320 bits, 160 + 160+32 = 352 bits, 160 = 160 bits, and 160 + 160 + 32 + 320 = 672 bits. In Table 9, we compare the storage cost of SLAKA-IoD with other related AKA schemes [33,34,35,36,37] during the drone-GS authentication and key agreement phase.
From Table 9, the storage cost of SLAKA-IoD is higher than that of the AKA schemes in [33,34,35,36], and lower than that of the AKA scheme in [37] during the drone-GS authentication and key agreement phase. However, SLAKA-IoD can resist more security attacks and provide more security properties as compared to other related AKA schemes [33,34,35,36,37] during this phase.
During the drone–drone authentication and key agreement phase, the storage cost at GS side in our proposed SLAKA-IoD is 160 + [160 + 160 + 160] × 2 + [160 + 160] × 2 = 1760 bits, while the AKA schemes of [22,35], and [37] require 128 + 128 = 256 bits, 160 + [160 + 32 + 320] × 2 = 1184 bits, and 160 + [160 + 160 + 32 + 320] × 2 = 1504 bits. The storage cost at the drone D i side in our proposed SLAKA-IoD is 160 + 160 + 32 + 32 = 384 bits, while the schemes of [22,35], and [37] require 160 + 128 + 320 + 320 = 928 bits, 160 + 160 + 32 = 352 bits, and 160 + 160 + 160 + 32 + 320 = 832 bits. The storage cost at the drone D j side in our proposed SLAKA-IoD is 160 + 160 + 32 + 32 + 160 + 160 = 704 bits, while the schemes of [22,35] and [37] require 160 + 128 + 320 + 320 = 928 bits, 160 + 160 + 32 = 352 bits, and 160 + 160 + 160 + 32 + 320 = 832 bits. In Table 10, we compare the storage cost of SLAKA-IoD with other related AKA schemes [22,35,37] during the drone–drone authentication and key agreement phase.
From Table 10, the storage cost of SLAKA-IoD is higher than that of the AKA scheme in [22,35], and lower than that of the AKA scheme in [37] during the drone–drone authentication and key agreement phase. However, SLAKA-IoD can resist more security attacks and provide more security properties as compared to other related AKA schemes [22,35,37] during this phase.
In summary, the storage of the SLAKA-IoD protocol is higher than that of the AKA schemes in [22,33,34,35,36]. This is mainly because the SLAKA-IoD protocol increases some necessary storage to prevent desynchronization attacks. Moreover, the increase in storage mainly occurs on the GS, which is usually a device with better performance. For SLAKA-IoD, if the number of drones in an IoD is n , then the minimum storage cost of the SLAKA-IoD is ( 384 n + 160 + 800 n ) bits and the maximum storage cost of the SLAKA-IoD is ( 704 n + 160 + 800 n ) bits. This is because the information stored on the drone and GS is shared by both the drone-GS authentication and key agreement phase and the drone–drone authentication and key agreement phase. Thus, it will not lead to a sudden increase in storage cost. Therefore, the SLAKA-IoD protocol is still suitable for IoD in terms of storage cost.

7. Conclusions

In this paper, we propose a secure and lightweight AKA protocol for IoD (i.e., SLAKA-IoD protocol) based on PUF, XOR operation and hash function. This SLAKA-IoD protocol can achieve mutual authentication and establish a secure session key between communication entities in the IoD. The SLAKA-IoD protocol includes the drone registration phase, the drone-GS authentication and key agreement phase, and the drone–drone authentication and key agreement phase. During the drone-GS authentication and key agreement phase, the drone and GS mutually authenticate each other, and establish a secure session key between them. During the drone–drone authentication and key agreement phase, any two drones can mutually authenticate each other, and establish a secure session key between them.
Then, we perform an informal security analysis of the SLAKA-IoD protocol, a formal security analysis of the protocol using the strand space model, and security verification of the protocol based on the Scyther tool. As a result, the SLAKA-IoD protocol is secure against various security attacks and ensures required security properties. In addition, we give a comparison of the SLAKA-IoD protocol with other related AKA protocols for IoD in terms of security features. The comparison result shows that the SLAKA-IoD protocol can provide more security features as compared with these related AKA protocols for IoD.
Finally, we present a performance analysis of the SLAKA-IoD protocol in terms of computation, communication, and storage cost, and then provide a comparison of the SLAKA-IoD protocol with other related AKA protocols for IoD in terms of them. The comparison result shows that the SLAKA-IoD protocol is generally lightweight as compared with these related AKA protocols for IoD, so it is suitable for IoD.
In the SLAKA-IoD protocol, the ideal PUF is applied. However, the noise in PUFs remains an issue. Therefore, we will further design new, secure, and lightweight AKA protocols for IoD, which consider non-ideal PUFs.

Author Contributions

Methodology, Y.X.; formal analysis, Y.T. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China (Nos. 61741216 and 61402367) and New Star Team Project of Xi’an University of Posts and Telecommunications.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Chamola, V.; Hassija, V.; Gupta, V.; Guizani, M. A Comprehensive Review of the COVID-19 Pandemic and the Role of IoT, Drones, AI, Blockchain and 5G in Managing its Impact. IEEE Access 2020, 8, 90225–90265. [Google Scholar] [CrossRef]
  2. Liu, X.; Li, Z.; Zhao, N.; Meng, W.; Gui, G.; Chen, Y.; Adachi, F. Transceiver Design and Multi-hop D2D for UAV IoT Coverage in Disasters. IEEE Internet Things J. 2018, 6, 1803–1815. [Google Scholar] [CrossRef]
  3. Zhao, N.; Lu, W.; Sheng, M.; Chen, Y.; Tang, J.; Yu, F.R.; Wong, K.K. UAV-Assisted Emergency Networks in Disasters. IEEE Wirel. Commun. 2019, 26, 45–51. [Google Scholar] [CrossRef]
  4. Alladi, T.; Chamola, V.; Sahu, N.; Guizani, M. Applications of Blockchain in Unmanned Aerial Vehicles: A Review. Veh. Commun. 2020, 23, 463–476. [Google Scholar] [CrossRef]
  5. Shakhatreh, H.; Sawalmeh, A.; Fuqaha, A.A.; Guizani, M. Unmanned Aerial Vehicles (UAVs): A Survey on Civil Applications and Key Research Challenges. IEEE Access 2019, 7, 48572–48634. [Google Scholar] [CrossRef]
  6. Gharibi, M.; Boutaba, R.; Waslander, S.L. Internet of Drones. IEEE Access 2016, 4, 1148–1162. [Google Scholar] [CrossRef]
  7. Hall, R.J. An Internet of Drones. IEEE Internet Comput. 2016, 20, 68–73. [Google Scholar] [CrossRef]
  8. Nassi, B.; Bitton, R.; Masuoka, R.; Shabtai, A.; Elovici, Y. SoK: Security and Privacy in the Age of Commercial Drones. In Proceedings of the 2021 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 24–27 May 2021; pp. 1434–1451. [Google Scholar]
  9. Lin, C.; He, D.; Kumar, N.; Choo, K.K.R.; Vinel, A.; Huang, X. Security and Privacy for the Internet of Drones: Challenges and Solutions. IEEE Commun. Mag. 2018, 56, 64–69. [Google Scholar] [CrossRef]
  10. Yahuza, M.; Idris, M.Y.I.; Ahmedy, I.B.; Wahab, A.W.A.; Nandy, T.; Noor, N.M.; Bala, A. Internet of Drones Security and Privacy Issues: Taxonomy and Open Challenges. IEEE Access 2021, 9, 57243–57270. [Google Scholar] [CrossRef]
  11. Eddine-Berini, A.D.; Ferrag, M.A.; Farou, B.; Seridi, H. Authentication Schemes for Internet of Drones: Taxonomy, Threat Models, and Future Directions. In Proceedings of the 2023 3rd International Conference on Computing and Information Technology (ICCIT), University of Tabuk, Tabuk, Saudi Arabia, 13–14 September 2023; pp. 7–14. [Google Scholar]
  12. Michailidis, E.T.; Vouyioukas, D. A Review on Software-Based and Hardware-Based Authentication Mechanisms for the Internet of Drones. Drones 2022, 6, 41. [Google Scholar] [CrossRef]
  13. Huang, Y.; Mu, J.; Wang, Y.; Zhao, R. A Review of Authentication Methods in Internet of Drones. In Proceedings of the 2023 International Conference on Networking and Network Applications (NaNA), Qingdao, China, 18–21 August 2023; pp. 7–12. [Google Scholar]
  14. Chaudhry, S.A.; Yahya, K.; Karuppiah, M.; Kharel, R.; Bashir, A.K.; Bin Zikria, Y. GCACS-IoD: A Certificate Based Generic Access Control Scheme for Internet of Drones. Comput. Netw. 2021, 191, 107999. [Google Scholar] [CrossRef]
  15. Tanveer, M.; Alkhayyat, A.; Naushad, A.; Khan, A.U.; Kumar, N.; Alharbi, A.G. RUAM-IoD: A Robust User Authentication Mechanism for the Internet of Drones. IEEE Access 2022, 10, 19836–19851. [Google Scholar] [CrossRef]
  16. Won, J.; Seo, S.H.; Bertino, E. Certificateless Cryptographic Protocols for Efficient Drone-Based Smart City Applications. IEEE Access 2017, 5, 3721–3749. [Google Scholar] [CrossRef]
  17. Yu, S.; Das, A.K.; Park, Y.; Lorenz, P. SLAP-IoD: Secure and Lightweight Authentication Protocol Using Physical Unclonable Functions for Internet of Drones in Smart City Environments. IEEE Trans. Veh. Technol. 2022, 71, 10374–10388. [Google Scholar] [CrossRef]
  18. Cheon, J.H.; Han, K.; Hong, S.M.; Kim, H.J.; Kim, J.; Kim, S.; Seo, H.; Shim, H.; Song, Y. Toward a Secure Drone System: Flying with Real-Time Homomorphic Authenticated Encryption. IEEE Access 2018, 6, 24325–24339. [Google Scholar] [CrossRef]
  19. Kirsal-Ever, Y. A Secure Authentication Scheme Framework for Mobile-sinks Used in the Internet of Drones Applications. Comput. Commun. 2020, 155, 143–149. [Google Scholar] [CrossRef]
  20. Nikooghadam, M.; Amintoosi, H.; Islam, S.K.H.; Moghadam, M.F. A Provably Secure and Lightweight Authentication Scheme for Internet of Drones for Smart City Surveillance. J. Syst. Archit. 2021, 115, 101955. [Google Scholar] [CrossRef]
  21. Ali, Z.; Alzahrani, B.A.; Barnawi, A.; Al-Barakati, A.; Vijayakumar, P.; Chaudhry, S.A. TC-PSLAP: Temporal Credential-Based Provably Secure and Lightweight Authentication Protocol for IoT-Enabled Drone Environments. Secur. Commun. Netw. 2021, 2021, 9919460. [Google Scholar] [CrossRef]
  22. Rodrigues, M.; Amaro, J.; Osório, F.S.; Branco, K.R.L.J.C. Authentication Methods for UAV Communication. In Proceedings of the 2019 IEEE Symposium on Computers and Communications (ISCC), Barcelona, Spain, 29 June–3 July 2019; pp. 1210–1215. [Google Scholar]
  23. Dogan, H. Protecting UAV-Networks: A Secure Lightweight Authentication and Key Agreement Scheme. In Proceedings of the 2023 7th International Conference on Cryptography, Security and Privacy (CSP), Qindiao, China, 21–22 April 2023; pp. 13–21. [Google Scholar]
  24. Tanveer, M.; Zahid, A.H.; Ahmad, M.; Baz, A.; Alhakami, H. LAKE-IoD: Lightweight Authenticated Key Exchange Protocol for the Internet of Drone Environment. IEEE Access 2020, 8, 155645–155659. [Google Scholar] [CrossRef]
  25. Tanveer, M.; Khan, A.U.; Kumar, N.; Hassan, M.M. RAMP-IoD: A Robust Authenticated Key Management Protocol for the Internet of Drones. IEEE Internet Things J. 2022, 9, 1339–1353. [Google Scholar] [CrossRef]
  26. Wazid, M.; Das, A.K.; Kumar, N.; Vasilakos, A.V.; Rodrigues, J.J.P.C. Design and Analysis of Secure Lightweight Remote User Authentication and Key Agreement Scheme in Internet of Drones Deployment. IEEE Internet Things J. 2019, 6, 3572–3584. [Google Scholar] [CrossRef]
  27. Alladi, T.; Chamola, V.; Naren; Kumar, N. PARTH: A Two-stage Lightweight Mutual Authentication Protocol for UAV Surveillance Networks. Comput. Commun. 2020, 160, 81–90. [Google Scholar] [CrossRef]
  28. Deebak, B.D.; Al-Turjman, F. A Smart Lightweight Privacy Preservation Scheme for IoT-based UAV Communication Systems. Comput. Commun. 2020, 162, 102–117. [Google Scholar] [CrossRef]
  29. Srinivas, J.; Das, A.K.; Kumar, N.; Rodrigues, J.J.P.C. TCALAS: Temporal Credential-Based Anonymous Lightweight Authentication Scheme for Internet of Drones Environment. IEEE Trans. Veh. Technol. 2019, 68, 6903–6916. [Google Scholar] [CrossRef]
  30. Ali, Z.; Chaudhry, S.A.; Ramzan, M.S.; Al-Turjman, F. Securing Smart City Surveillance: A Lightweight Authentication Mechanism for Unmanned Vehicles. IEEE Access 2020, 8, 43711–43724. [Google Scholar] [CrossRef]
  31. Lee, J.W.; Daihyun, L.; Gassend, B.; Suh, G.E.; Dijk, M.V.; Devadas, S. A Technique to Build a Secret Key in Integrated Circuits for Identification and Authentication Applications. In Proceedings of the 2004 Symposium on VLSI Circuits, Digest of Technical Papers (IEEE Cat. No.04CH37525), Honolulu, HI, USA, 17–19 June 2004; pp. 176–179. [Google Scholar]
  32. Gassend, B.; Clarke, D.; Dijk, M.V.; Devadas, S. Silicon Physical Random Functions. In Proceedings of the 9th ACM Conference on Computer and Communications Security, Washington, DC, USA, 18–22 November 2002; pp. 148–160. [Google Scholar]
  33. Alladi, T.; Venkatesh, V.; Chamola, V.; Chaturvedi, N. Drone-MAP: A Novel Authentication Scheme for Drone-Assisted 5G Networks. In Proceedings of the IEEE INFOCOM 2021—IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Vancouver, BC, Canada, 10–13 May 2021; pp. 1–6. [Google Scholar]
  34. Bansal, G.; Sikdar, B. A Secure and Efficient Mutual Authentication Protocol Framework for Unmanned Aerial Vehicles. In Proceedings of the 2021 IEEE Globecom Workshops (GC Wkshps), Madrid, Spain, 7–11 December 2021; pp. 1–6. [Google Scholar]
  35. Alladi, T.; Naren; Bansal, G.; Chamola, V.; Guizani, M. SecAuthUAV: A Novel Authentication Scheme for UAV-Ground Station and UAV-UAV Communication. IEEE Trans. Veh. Technol. 2020, 69, 15068–15077. [Google Scholar] [CrossRef]
  36. Pu, C.; Li, Y. Lightweight Authentication Protocol for Unmanned Aerial Vehicles Using Physical Unclonable Function and Chaotic System. In Proceedings of the 2020 IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN), Orlando, FL, USA, 13–15 July 2020; pp. 1–6. [Google Scholar]
  37. Pu, C.; Wall, A.; Choo, K.K.R.; Ahmed, I.; Lim, S. A Lightweight and Privacy-Preserving Mutual Authentication and Key Agreement Protocol for Internet of Drones Environment. IEEE Internet Things J. 2022, 9, 9918–9933. [Google Scholar] [CrossRef]
  38. Karmakar, R.; Kaddoum, G.; Akhrif, O. A PUF and Fuzzy Extractor-Based UAV-Ground Station and UAV-UAV Authentication Mechanism with Intelligent Adaptation of Secure Sessions. IEEE Trans. Mob. Comput. 2024, 23, 3858–3875. [Google Scholar] [CrossRef]
  39. Hafeez, S.; Shawky, M.A.; Al-Quraan, M.; Mohjazi, L.; Imran, M.A.; Sun, Y. BETA-UAV: Blockchain-based Efficient and Trusted Authentication for UAV Communication. In Proceedings of the 2022 IEEE 22nd International Conference on Communication Technology (ICCT), Nanjing, China, 11–14 November 2022; pp. 613–617. [Google Scholar]
  40. Ajakwe, S.O.; Saviour, I.I.; Kim, J.H.; Kim, D.S.; Lee, J.M. BANDA: A Novel Blockchain-Assisted Network for Drone Authentication. In Proceedings of the 2023 Fourteenth International Conference on Ubiquitous and Future Networks (ICUFN), Paris, France, 4–7 July 2023; pp. 120–125. [Google Scholar]
  41. Karmakar, R.; Kaddoum, G.; Akhrif, O. A Blockchain-Based Distributed and Intelligent Clustering-Enabled Authentication Protocol for UAV Swarms. IEEE Trans. Mob. Comput. 2023, 33, 6178–6195. [Google Scholar] [CrossRef]
  42. Pan, H.; Cao, P.; Wang, W.; Liu, Y.; Yin, Z. Blockchain-assisted Cross-Domain Authentication and Access Control for Low-altitude UAV. In Proceedings of the 2023 IEEE/CIC International Conference on Communications in China (ICCC), Chengdu, China, 8–11 December 2023; pp. 1–6. [Google Scholar]
  43. Fabrega, F.J.T.; Herzog, J.C.; Guttman, J.D. Mixed Strand Spaces. In Proceedings of the 12th IEEE Computer Security Foundations Workshop, Mordano, Italy, 30 June 1999; pp. 72–82. [Google Scholar]
  44. Fábrega, F.J.T.; Herzog, J.C.; Guttman, J.D. Strand Spaces: Proving Security Protocols Correct. J. Comput. Secur. 1999, 7, 191–230. [Google Scholar] [CrossRef]
  45. Herzog, J.C. The Diffie-Hellman Key-agreement Scheme in the Strand Space Model. In Proceedings of the 16th IEEE Computer Security Foundations Workshop, 2003 Proceedings, Pacific Grove, CA, USA, 30 June–2 July 2003; pp. 234–247. [Google Scholar]
  46. The Scyther Tool. Available online: http://www.cs.ox.ac.uk/people/cas.cremers/scyther (accessed on 3 July 2024).
  47. Cremers, C.J.F. Scyther—Semantics and Verification of Security Protocols. Ph.D. Dissertation, Institute for Programming Research Algorithmics, Eindhoven University of Technology, Eindhoven, The Netherlands, 2006. [Google Scholar]
  48. Dolev, D.; Yao, A. On the Security of Public Key Protocols. IEEE Trans. Inf. Theory 1983, 29, 198–208. [Google Scholar] [CrossRef]
  49. Canetti, R.; Krawczyk, H. Universally Composable Notions of Key Exchange and Secure Channels. In Proceedings of the Advances in Cryptology (EUROCRYPT 2002), Berlin, Heidelberg, 28 April–2 May 2002; pp. 337–351. [Google Scholar]
  50. Kocher, P.; Jaffe, J.; Jun, B. Differential Power Analysis. In Proceedings of the Advances in Cryptography (CRYPT099), Santa Barbara, CA, USA, 15–19 August 1999; pp. 388–397. [Google Scholar]
Figure 1. Network model.
Figure 1. Network model.
Drones 08 00374 g001
Figure 2. Drone registration phase.
Figure 2. Drone registration phase.
Drones 08 00374 g002
Figure 3. Drone-GS authentication and key agreement phase.
Figure 3. Drone-GS authentication and key agreement phase.
Drones 08 00374 g003
Figure 4. Drone–drone authentication and key agreement phase.
Figure 4. Drone–drone authentication and key agreement phase.
Drones 08 00374 g004
Figure 5. The security verification result of the drone-GS authentication and key agreement phase of SLAKA-IoD.
Figure 5. The security verification result of the drone-GS authentication and key agreement phase of SLAKA-IoD.
Drones 08 00374 g005
Figure 6. The security verification result of the drone–drone authentication and key agreement phase of SLAKA-IoD.
Figure 6. The security verification result of the drone–drone authentication and key agreement phase of SLAKA-IoD.
Drones 08 00374 g006
Table 1. The summary of the related AKA schemes for IoD.
Table 1. The summary of the related AKA schemes for IoD.
SchemeYearCryptographic TechniquesAdvantagesLimitations
Won et al. [16]2017Utilize ECCProvides a certificateless AKA schemeDoes not provide user anonymity [17]
Cheon et al. [18]2018Utilize homomorphic encryptionProvides useful services in IoD environmentsDoes not resist session key disclosure and insider attacks
Rodrigues et al. [22]2019Utilize ECCProvides mutual authentication for UAV communicationDoes not resist drone physical capture and ESL attacks
Wazid et al. [26]2019Utilize one-way hash function and fuzzy extractorProvides three-factor securityDoes not resist impersonation attack and does not guarantee perfect backward secrecy [27]
Srinivas et al. [29]2019Utilize one-way hash function and fuzzy extractorProvides three-factor securityDoes not resist impersonation attacks and does not provide user traceability [30]
Ever [19]2020Utilize ECC, bilinear pairing and one-way hash functionProvides a secure and efficient AKA framework for mobile-sinks utilized in IoD environmentsDoes not resist drone physical capture and impersonation attacks, and does not provide perfect forward secrecy [20]
Tanveer et al. [24]2020Utilize one-way hash function and AEADProvides UAV-GS mutual authenticationDoes not provide an anonymity feature [14]
Alladi et al. [27]2020Utilize PUFProvides a mutual authentication mechanism for 5G-aided UAV networksDoes not prevent MITM, replay, offline password guessing, and session key disclosure attacks, and does not ensure data confidentiality or perfect forward secrecy [28]
Ali et al. [30]2020Utilize one-way hash function, symmetric encryption and fuzzy extractorProvides a mutual authentication protocol for IoD-based city environmentsDoes not prevent MITM, replay, session key disclosure, and impersonation attacks
Alladi et al. [35]2020Utilize one-way hash function, PUF and symmetric encryptionProvides UAV-GS authentication and UAV-UAV authenticationDoes not resist replay and desynchronization attacks
Pu et al. [36]2020Utilize one-way hash function, PUF and chaotic systemProtects the communication between drone and GSDoes not resist drone physical capture, replay, and desynchronization attacks
Chaudhry et al. [14]2021Utilize certificateProvides generic access control scheme for IoDDoes not resist impersonation attack and does not provide anonymity [15]
Nikooghadam et al. [20]2021Utilize ECC and one-way hash functionProvides user anonymity and untraceabilityDoes not resist replay, insider, and impersonation attacks, and does not ensure mutual authentication [21]
Alladi at al. [33]2021Utilize PUF and one-way hash functionProvides lightweight mutual authentication between UAV and GSDoes not resist replay and desynchronization attacks
Bansal et al. [34]2021Utilize PUF and one-way hash functionProvides lightweight mutual authentication between UAV and GSDoes not resist replay and desynchronization attacks
Tanveer et al. [25]2022Utilize ECC and AEADProvides indecipherable communication in IoD networksDoes not guarantee dynamic privacy preservation
Pu et al. [37]2022Utilize one-way hash function, PUF and chaotic systemProvides UAV-GS authentication and UAV-UAV authenticationDoes not resist drone physical capture, replay and desynchronization attacks
Dogan et al. [23]2023Utilize ECCProvides mutual authentication between UAV and base station devicesDoes not resist drone physical capture attack
Karmakar et al. [38]2024Utilize one-way hash function, PUF and fuzzy extractorConsiders the noise reduction that occurs in PUFsDoes not provide PUF challenge–response pair protection
Table 2. The notations used in this scheme.
Table 2. The notations used in this scheme.
NotationDescription
D i ,   D j ,   G S i t h drone, j t h drone, and ground station
I D i ,   I D j ,   I D s Identities of D i ,   D j , and   G S , respectively
P I D i ,   P I D j Pseudo-identities of D i   and   D j , respectively
N i ,   N j ,   N s Random numbers of D i ,   D j   and   G S , respectively
T i ,   T s Timestamps of D i   and   G S , respectively
T i * ,   T s * Message reception time of   T i   and   T s , respectively
( C i , 1 , R i , 1 ) ,   ( C i , 2 , R i , 2 ) Two PUF challenge–response pairs of D i
( C j , 1 , R j , 1 ) ,   ( C j , 2 , R j , 2 ) Two PUF challenge–response pairs of D j
C i n ,   C j n New PUF challenges of D i   and   D j , respectively
P I D i n ,   P I D j n New pseudo-identities of D i   and   D j , respectively
P U F i ( ) , P U F j ( ) PUFs of D i   and   D j , respectively
M K i j Master key between D i   and   D j
S K i s Session key between D i   and   G S
S K i j Session key between D i   and   D j
S K I D i s ,   S K I D i j Key indexes of S K i s   and   S K i j , respectively
T Maximum transmission time delay
h ( ) Hash function
| | ,   Concatenation operation and XOR operation
Table 3. Comparison of the security features of the drone-GS authentication and key agreement phase.
Table 3. Comparison of the security features of the drone-GS authentication and key agreement phase.
Features[33][34][35][36][37]SLAKA-IoD
S F 1
S F 2
S F 3
S F 4
S F 5
S F 6
S F 7
S F 8
S F 9
S F 10
S F 11
S F 12
S F 1 : “Resistance of impersonation attack”; S F 2 : “Resistance of replay attack”; S F 3 : “Resistance of DoS attack”; S F 4 : “Resistance of MITM attack”; S F 5 : “Resistance of drone physical capture attack”; S F 6 : “Resistance of desynchronization attack”; S F 7 : “Resistance of session key disclosure attack”; S F 8 : “Resistance of ESL attack”; S F 9 : “Provision of anonymity and untraceability”; S F 10 : “Provision of mutual authentication”; S F 11 : “Provision of forward and backward secrecy”; S F 12 : “Provision of PUF challenge-response pair protection”; ✓: “Support the security feature”; ✗: “Does not support the security feature”.
Table 4. Comparison of the security features of the drone–drone authentication and key agreement phase.
Table 4. Comparison of the security features of the drone–drone authentication and key agreement phase.
Features[22][35][37]SLAKA-IoD
S F 1
S F 2
S F 3
S F 4
S F 5
S F 6
S F 7
S F 8
S F 9
S F 10
S F 11
S F 12
Table 5. Comparison of the computation cost of the drone-GS authentication and key agreement phase.
Table 5. Comparison of the computation cost of the drone-GS authentication and key agreement phase.
SchemesDrone( D i )GSTotal Cost
[33]2.488 ms0.232 ms2.720 ms
[34]2.177 ms0.203 ms2.380 ms
[35]1.555 ms0.145 ms1.700 ms
[36]1.244 ms0.116 ms1.360 ms
[37]3.421 ms0.319 ms3.740 ms
SLAKA-IoD2.799 ms0.232 ms3.031 ms
Table 6. Comparison of the computation cost of the drone–drone authentication and key agreement phase.
Table 6. Comparison of the computation cost of the drone–drone authentication and key agreement phase.
SchemesDrone ( D i )GSDrone ( D j )Total Cost
[22]10.315 ms1.471 ms10.004 ms21.790 ms
[35]2.405 ms0.427 ms2.291 ms5.123 ms
[37]4.665 ms0.609 ms3.421 ms8.695 ms
SLAKA-IoD3.421 ms0.406 ms3.421 ms7.248 ms
Table 7. Comparison of the communication cost of the drone-GS authentication and key agreement phase.
Table 7. Comparison of the communication cost of the drone-GS authentication and key agreement phase.
SchemesNo. of MessagesCommunication Cost
[33]31600 bits
[34]31600 bits
[35]31472 bits
[36]31152 bits
[37]31506 bits
SLAKA-IoD21248 bits
Table 8. Comparison of the communication cost of the drone–drone authentication and key agreement phase.
Table 8. Comparison of the communication cost of the drone–drone authentication and key agreement phase.
SchemesNo. of MessagesCommunication Cost
[22]42688 bits
[35]63808 bits
[37]63776 bits
SLAKA-IoD43712 bits
Table 9. Comparison of the storage cost of the drone-GS authentication and key agreement phase.
Table 9. Comparison of the storage cost of the drone-GS authentication and key agreement phase.
SchemesDrone ( D i )GSTotal Cost
[33]320 bits672 bits992 bits
[34]320 bits672 bits992 bits
[35]352 bits672 bits1024 bits
[36]160 bits672 bits832 bits
[37]672 bits832 bits1504 bits
SLAKA-IoD384 bits960 bits1344 bits
Table 10. Comparison of the storage cost of the drone–drone authentication and key agreement phase.
Table 10. Comparison of the storage cost of the drone–drone authentication and key agreement phase.
SchemesDrone ( D i )GSDrone ( D j )Total Cost
[22]928 bits256 bits928 bits2112 bits
[35]352 bits1184 bits352 bits1888 bits
[37]832 bits1504 bits832 bits3168 bits
SLAKA-IoD384 bits1760 bits704 bits2848 bits
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Xiao, Y.; Tao, Y. SLAKA-IoD: A Secure and Lightweight Authentication and Key Agreement Protocol for Internet of Drones. Drones 2024, 8, 374. https://doi.org/10.3390/drones8080374

AMA Style

Xiao Y, Tao Y. SLAKA-IoD: A Secure and Lightweight Authentication and Key Agreement Protocol for Internet of Drones. Drones. 2024; 8(8):374. https://doi.org/10.3390/drones8080374

Chicago/Turabian Style

Xiao, Yuelei, and Yu Tao. 2024. "SLAKA-IoD: A Secure and Lightweight Authentication and Key Agreement Protocol for Internet of Drones" Drones 8, no. 8: 374. https://doi.org/10.3390/drones8080374

APA Style

Xiao, Y., & Tao, Y. (2024). SLAKA-IoD: A Secure and Lightweight Authentication and Key Agreement Protocol for Internet of Drones. Drones, 8(8), 374. https://doi.org/10.3390/drones8080374

Article Metrics

Back to TopTop