Next Article in Journal
Complementarity, Interoperability, and Level of Integration of Humanitarian Drones with Emerging Digital Technologies: A State-of-the-Art Systematic Literature Review of Mathematical Models
Next Article in Special Issue
A Lightweight Authentication Protocol for UAVs Based on ECC Scheme
Previous Article in Journal
Drone High-Rise Aerial Delivery with Vertical Grid Screening
Previous Article in Special Issue
Research on the Cooperative Passive Location of Moving Targets Based on Improved Particle Swarm Optimization
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

BCDAIoD: An Efficient Blockchain-Based Cross-Domain Authentication Scheme for Internet of Drones

1
College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 211100, China
2
Harbin Electric Power Bureau, STATE GRID Corporation of China, Harbin 150050, China
*
Author to whom correspondence should be addressed.
Drones 2023, 7(5), 302; https://doi.org/10.3390/drones7050302
Submission received: 3 April 2023 / Revised: 28 April 2023 / Accepted: 3 May 2023 / Published: 4 May 2023
(This article belongs to the Special Issue Multi-UAV Networks)

Abstract

:
During long-distance flight, unmanned aerial vehicles (UAVs) need to perform cross-domain authentication to prove their identity and receive information from the ground control station (GCS). However, the GCS needs to verify all drones arriving at the area it is responsible for, which leads to the GCS being unable to complete authentication in time when facing cross-domain requests from a large number of drones. Additionally, due to potential threats from attackers, drones and GCSs are likely to be deceived. To improve the efficiency and security of cross-domain authentication, we propose an efficient blockchain-based cross-domain authentication scheme for the Internet of Drones (BCDAIoD). By using a consortium chain with a multi-chain architecture, the proposed method can query and update different types of data efficiently. By mutual authentication before cross-domain authentication, drones can compose drone groups to lighten the authentication workload of domain management nodes. BCDAIoD uses the notification mechanism between domains to enable path planning for drones in advance, which can further improve the efficiency of cross-domain authentication. The performance of BCDAIoD was evaluated through experiments. The results show that the cross-domain authentication time cost and computational overhead of BCDAIoD are significantly lower those of than existing methods when the number of drones is large.

1. Introduction

The increasing demand for unmanned aerial vehicles (UAVs) and Internet of Drones (IoD) in civil and military applications has been noticed in the last few decades [1]. IoD usually consists of a number of drones, ground control stations (GCS), and a communication network for data exchange. Drones can obtain information through sensors and exchange information through the network. They can also communicate with GCS and other drones for proper navigation [2]. The available space of the air traffic network (ATN) is much larger than that of the ground traffic network (GTN). Reasonable use of the ATN can reduce the burden of the GTN. Furthermore, using ATN can also avoid the congestion of the GTN. Therefore, many companies try to use drones as air transport tools for cargo transportation, so as to promote logistics efficiency [3].
During long-distance flights, drones are likely to enter other IoD domains where they need to pass identity authentication and obtain necessary information such as flight routes to continue their tasks. In the IoD, wireless communication between drones is easy to eavesdrop on, resulting in information leakage [4,5,6,7]. Furthermore, attackers can conduct replay attacks or identity forgery to interrupt the IoD [8,9,10]. In addition, once drone transportation forms a complete industry, the number of drones may be quite large. The resource overhead of complex authentication mechanisms, such as computation and storage, is a huge challenge for identity authentication servers [11,12,13]. At the same time, it also increases the cross-domain waiting time for drones to obtain necessary information.
Centralized authentication techniques [14,15,16] are widely adopted in traditional information systems. However, in an IoD environment, if conventional centralized authentication approaches are applied, the workload of the authentication service center increases exponentially as the system scales up [17]. Therefore, traditional authentication technology is not suitable for the IoD environment. At present, there are also some studies using public key infrastructure (PKI), trusted third party (TTP), or blockchain technology to verify the identity of the drone and the authenticity of the task [18,19]. The existing methods are shown in Figure 1a. However, the existing studies rarely consider the efficiency of cross-domain authentication in the case of a large number of drones. Additionally, when the number of drones is large, the time cost of cross-domain authentication is also very high.
When facing a large number of drones, existing drone cross-domain authentication methods lead to a surge in communication and computational costs for the IoD, increase the waiting time of the drones, and further reduce the overall operational efficiency of the IoD. At the same time, the existing methods cannot guarantee the anonymity of drones when performing the task, and attackers can obtain the connection between the sender and receiver through the identity and task information of the drone, which may leak the user’s privacy. Therefore, existing methods cannot meet the cross-domain authentication requirements for large-scale drone cargo transportation scenarios. Therefore, we propose a novel cross-domain authentication scheme for the IoD based on blockchain technology.
Blockchain has the advantages of decentralization, openness, being tamper-proof, traceability, and anonymity [20]. The decentralization is consistent with the distributed network structure of the IoD. Furthermore, the openness can well satisfy the requirements for drones to join and leave the network freely [21]. The advantages of being tamper-proof and traceability ensure the reliability and non-repudiation of data in the network, and the advantage of anonymity protects the data by addressing with address instead of addressing with identity. However, there are three potential challenges to using blockchain for authentication. (1) In the IoD, there are various types of data and the scale of data is large, meaning the single-chain structure may lead to query inefficiency and throughput bottleneck. (2) In the authentication process, a large number of drones may cause a high authentication delay time and increase the waiting time of drones. (3) The authentication server needs to authenticate the UAV identity information, verify the transaction in the blockchain, and upload the task information. A large number of drones to be authenticated may cause server interruptions.
To address the above challenges, we propose an efficient cross-domain authentication scheme based on blockchain. As shown in Figure 1b, the main idea is that drones should authenticate each other before cross-domain authentication to form a mutually endorsed group. To ensure that the identities and tasks of drones in each group are real and trusted, we designed an authentication mechanism based on domain signature, encryption, and domain private chain. In this way, drones with the same out-of-domain range (Rout) compose a drone group. Considering the continuity of drone tasks in the process of cross-domain tasks, we designed a notification mechanism between domains combined with the concepts of token, permission, and authority. The main contributions of this paper are as follows.
(1) We propose an efficient blockchain-based cross-domain authentication scheme for the Internet of Drones (BCDAIoD). By using a consortium chain with a multi-chain architecture, the proposed method can query and update different types of data efficiently, which can also facilitate the domain management node to manage and control the drones. Additionally, we describe the mission model of the drones.
(2) In order to improve the efficiency of the cross-domain authentication of drones, we designed an establishment method of drone groups and a group cross-domain authentication method based on blockchain, encryption, and challenge–response game. By mutual authentication before cross-domain authentication, drones can compose drone groups to lighten the authentication workload of domain management nodes and improve the efficiency of cross-domain authentication.
(3) We propose a notification mechanism between domains that can enable the management node of the next domain to know the task information of the drones in advance. The management node of the next domain can plan space resources reasonably and plan the flight path for drones in advance, which can also ensure the continuity of the tasks of drones.
The remainder of this article is organized as follows. The literature is reviewed in Section 2. The framework of BCDAIoD, the consortium blockchain architecture, and the mission model of the drones are presented in Section 3. In Section 4, we first propose the single-drone cross-domain authentication method. Then, we propose the establishment mechanism of drone groups, the drone group cross-domain authentication method, and the notification mechanism between domains. Section 5 describes the simulation experiments and shows the experimental evaluation results of the BCDAIoD method. In Section 6, we analyze the security of BCDAIoD. Finally, Section 7 concludes this paper.

2. Related Works

(1)
IoD management scheme
IoD has received widespread attention due to its potential application prospects. Therefore, there are studies targeting the management scheme of IoD. In order to facilitate the information acquisition of drones and users in IoD, Al-Hilo et al. [22] proposed a collaborative and management framework between UAVs and roadside units. Arafeh et al. [23] proposed a blockchain-based UAV management method that can verify the authenticity of information in IoD networks. By using blockchain and trust policies, García-Magariño et al. [24] proposed a UAV management approach which can also maintain security in IoD by corroborating information about events from different sources. However, the above UAV management framework mainly focuses on data security and neglects the management efficiency when facing a large number of drones. Additionally, the blockchain-based methods have not been able to reasonably partition the data storage on the chain, leading to low query efficiency and data isolation.
(2)
Cross-domain authentication scheme based on cryptography
During the task execution, drones need to verify their identity through cross-domain authentication. Meanwhile, in order to address potential threats, researchers have proposed some cross-domain authentication schemes based on cryptography. To protect drones against various types of possible attacks, Wazid et al. [25] proposed a remote authentication and key management scheme. Srinivas et al. [26] designed a three-factor authentication scheme which relies on elliptic-curve cryptography (ECC). Tanveer et al. [27] leveraged ECC along with symmetric encryption and hash function, and proposed a robust authentication mechanism for IoD. For the sensitive environment in which an attacker might trap data from the open network channel, Jan et al. [28] proposed a verifiably secure ECC-based authentication scheme for IoD. Additionally, Rajamanickam et al. [29] proposed an ECC-based authentication protocol for insider attack protection in IoD scenarios that can protect the IoD from several known attacks, especially insider attacks. Ever et al. [30] proposed a secure authentication framework using elliptic-curve crypto-systems to ensure data confidentiality. However, the above methods guarantee the security of IoD by performing multiple process parameter calculations on the device, registration center, and control center, which increase the computational burden.
(3)
Cross-domain authentication scheme based on blockchain
Considering the interoperability and complexity characteristics of IoD systems, many existing research studies have applied blockchain technology in the cross-domain authentication area of IoT systems. To solve the single point of failure problem, Feng et al. [31] employed blockchain and multiple signatures based on threshold sharing to build a cross-domain authentication framework. To avoid reliance on a trusted third party, Shen et al. [32] introduced a consortium blockchain to construct trust among different domains and present an efficient blockchain-assisted secure device authentication mechanism. By using a hierarchy of local and global smart contracts, Gauhar et al. [33] proposed a decentralized blockchain-based authentication mechanism which uses a proof-of-authenticity mechanism to find and retrieve device hashes stored in local blockchain. Zhang et al. [34] proposed a thoroughly cross-domain authentication scheme based on blockchain, allowing participants from different domains with different settings to complete the authentication. However, the above methods neglect the anonymity of drones when performing the task, which may leak the user’s privacy. Additionally, the methods do not take into account the communication and computational costs of IoD when facing a large number of drones.

3. Overview of BCDAIoD

3.1. The BCDAIoD Framework

To improve the efficiency of data query, BCDAIoD uses a multi-chain architecture to reasonably partition the data storage on the consortium blockchain. Additionally, domain private chains are used to ensure the anonymity of drones. The framework of the proposed BCDAIoD scheme is shown in Figure 2. The BCDAIoD framework includes four layers: an application layer, service support layer, data storage layer, and network layer.
In the network layer, a P2P network is used for communication between consortium nodes ( C N s) and UAVs. Additionally, C N s can transmit information through the P2P network, such as mission information. Each C N manages a certain domain and maintains a private chain. The UAVs can also communicate with each other through the P2P network.
In the data storage layer, the UAV device information, task information, address information of C N s, smart contracts, and user registration information are stored in the consortium blockchain ( C B C ) in a specified format. At the same time, the C N s store the details of the above information in local databases. The architecture of the consortium blockchain is described in Section 3.2. For identity authentication and UAV grouping, the C N s also maintain a private chain to store the device ID on P B C ( P i d ) and the out-of-domain range ( R o u t ) information of UAVs.
The service support layer provides support for users, C N s, and UAVs to interact with the data storage layer and the network layer. It mainly includes the consensus mechanism, smart contract, identity authentication mechanism, access control strategy, path planning algorithm, and communication protocol. The consensus mechanism can ensure that the information of each block is consistent. The smart contract can conduct trusted transactions in the form of commitment without a trusted third party. The identity authentication mechanism and access control strategy can ensure that UAVs enter the correct domains and obtain their own path information. By using the path planning algorithm, the C N s obtain the next domain IDs and calculate the paths in their domains for UAVs. The communication protocol supports the communication among users, UAVs, and C N s.
By using the functions of the application layer, users can submit registration applications to the C N s, release tasks, and query the status of tasks. The C N s can manage the information of the UAV devices, tasks, and paths, as well as perform identity authentication and path planning. The UAVs can query task information, view path information, and submit cross-domain authentication requests to perform tasks. To facilitate the introduction of subsequent methods, Table 1 lists the key symbols and their definitions.

3.2. Architecture of Consortium Blockchain

The scale of data to be processed by the C N s is very large and there are various types of data. All the data being stored in a single chain leads to low query efficiency, poor data isolation, and difficulty to expand. Therefore, we designed the multi-chain architecture of the C B C to improve the efficiency of the C N s. As shown in Figure 3, the multi-chain architecture of the C B C mainly includes the M i s s i o n chain, U s e r chain, A d d r e s s chain, D e v i c e s chain, and C o n t r a c t chain. The C N s are also responsible for the private blockchain ( P B C ) in their domain. Similar to cellular mobile communication networks, the proposed framework achieves service coverage in large-scale open areas by combining C N s. Additionally, there are cross-domain channels between the domains, so as to facilitate the formation of groups and the cross-domain authentication of UAVs with the same R o u t .
The M i s s i o n chain mainly stores task information, and the data structure can be expressed as Equation (1), where M i d is the current task ID; D i d is the drone’s ID on the C B C that can be provided to or queried by the C N s; C N i d n is the ID of the C N that is responsible for the next domain; C N i d d is the ID of the C N that manages the destination domain; C N i d c is the C N ID of the current domain; R o u t is the expected range out of the current domain; and T o u t represents the current expected time out of the domain.
M i s s i o n = M i d , D i d , C N i d n , C N i d d , C N i d c , R o u t , T o u t
The U s e r chain mainly stores the necessary information of the registered users. The stored information can be expressed as Equation (2), where U i d is the user ID for the consortium authentication, C N i d r is the C N ID of the registration place, and F u is the current user account balance. The other registration details of the user are directly stored in the local database of the registration place’s C N .
U s e r = U i d , C N i d r , F u
The A d d r e s s chain mainly stores the domain range information of the C N , which can be expressed as Equation (3), where C N i d represents the ID of a C N ; P K c n represents the public key of the C N ; and R G c n represents the domain range of the C N .
A d d r e s s = C N i d , P K c n , R G c n
The D e v i c e s chain mainly stores the necessary information of the UAV registered in the C B C , which can be expressed as Equation (4), where P K d is the public key of a UAV; M o d is the module of the UAV; and P o l is the execution strategy of the UAV. The registration details of other UAVs can be directly stored in the local databases of the registration place’s C N .
D e v i c e s = D i d , P K d , C N i d r , M o d ,   P o l
The C o n t r a c t chain mainly stores the contract information, which can be expressed as Equation (5), where C i d is the current contract ID, V is the current contract version, and C o n t is the current contract content.
C o n t r a c t = C i d , V , C o n t
The P B C chain mainly stores the necessary information for the intradomain authentication of the UAVs, which can be expressed as Equation (6), where P i d represents the temporary ID of a UAV in a domain.
P B C = P i d , R o u t , P K d

3.3. Mission Model of Drone

We designed a scenario of a drone delivery in an Internet of Drones environment, as shown in Figure 4. Each domain C N in the consortium blockchain can be regarded as a server with strong computing power and storage capacity, which is responsible for drone management and scheduling in a certain location area. The drone delivery process mainly includes three phases: registration, task release, and task execution.

3.3.1. Registration Mechanism

In the proposed framework, both drones and users need to register in the C B C . The drone registration process includes the following steps. The user registration process is similar to the drone registration process, which is not described in detail here.
Step 1. Drone d j submits a registration request   R E G = R r e q u e s t ,   m a c d j ,   i n f d j to c n i , where R r e q u e s t denotes registration request, m a c d j denotes the hardware ID of d j , and i n f d j denotes the detailed information of d j , such as drone model, maximum sailing distance, and payload.
Step 2. After receiving the registration request, c n i determines the acceptable task type of d j ( P o l d j ), such as selecting tasks with reasonable distance according to power consumption.
Step 3. Then, c n i sends the registration request R E G ' = R r e q u e s t ,   m a c d j , C N i d i , P o l d j to the other nodes in the C B C .
Step 4. After the members of the C B C reach a consensus, the C N s assign a device ID in the C B C ( D i d d j ) to the d j and update the D e v i c e s chain. Furthermore, c n i calculates the public key ( P K d j ) and private key ( S K d j ) for d j . Then, c n i sends the S K d j to d j .
Step 5. c n i sends the D i d d j and its public key P K c n i to d j . Additionally, c n i calculates E n c S K c n i D i d d j and sends it to d j . Then, c n i stores the registration time, model, and other detailed information of d j in the local database.

3.3.2. Task Release Mechanism

When a user submits a delivery task request, the C N in charge of the current domain selects a suitable drone to perform the task. The process includes the following steps.
Step 1. When a user submits a delivery task request to the c n i , c n i queries the available drone from the local database, selects an appropriate drone d k according to the acceptable task type, and plans a delivery path for d k . Additionally, c n i calculates R o u t and T o u t .
Step 2. At the same time, c n i queries the A d d r e s s chain to find the ID of the destination domain ( C N i d d ) and the next domain (   C N i d n ) that d k will pass through.
Step 3. Then, c n i sends a mission request m i s s i o n = D i d , C N i d n ,   C N i d d ,   C N i d c , R o u t , T o u t to the other C N s in the C B C and calculates the ID on the P B C ( P i d d k ) for d k . Then, c n i uses S K c n i to generate E n c S K c n i P i d d k .
Step 4. After the members of the C B C reach a consensus, the C N s assign the mission ID ( M i d ) and update the M i s s i o n chain with m i s s i o n ' = M i d ,   D i d ,   C N i d n ,   C N i d d , C N i d c , R o u t , T o u t .
Step 5. Then, c n i updates the P B C , and sends the necessary information to the drone d k . The information is shown in Table 2. Then, d k starts the task. Correspondingly, d k updates its own P B C during the execution of the task.
Step 6. Finally, the c n i stores the detailed information in the local database and removes the drone d k from the available drones of the local database.
Furthermore, we make the following assumptions:
(1) We consider that each C N has the public keys of the other C N s, and the private key of each C N is not leaked; (2) The private key of the drone carrying out the task is not leaked; (3) Attackers cannot deduce the private key from the public key, or it takes too much time.

3.3.3. Task Execution Method

After the task starts, the drone d k flies to the destination according to the planned path. If d k needs to pass through other domains, the method described in Section 4 is used for cross-domain authentication. After successful cross-domain authentication, d k enters the next domain and receives the necessary information from the C N , in a similar method to Step 5 in the task release phase. In this way, d k flies to the destination domain.
When d k reaches the destination domain and completes the task, the C N in charge of the destination domain ( c n d ) publishes a task completion confirmation, m i s s i o n F = M i d ,   D i d ,   0 ,   C N i d d , C N i d d , 0 , 0 , in the M i s s i o n chain to prove that the task has been completed.
Finally, the c n d is responsible for recycling the drone d k . By querying the D i d of d k and other information in the D e v i c e s chain, c n d stores the necessary information of d k in the local database and updates the available device database.

4. Cross-Domain Authentication of Drones

Drones may fly to other domains during the execution of tasks. Therefore, we designed a UAV cross-domain authentication method combining public key infrastructure and blockchain technology. In this section, we first propose a single-drone cross-domain authentication method. Then, considering that the cross-domain authentication of a large number of UAVs may cause a long waiting time for UAVs, we propose an establishment mechanism of UAV groups and a drone group cross-domain authentication method. Additionally, we propose a notification mechanism between domains to let the C N s prepare for UAV cross-domain and path planning in advance.

4.1. Single-Drone Cross-Domain Authentication Method

The single-drone cross-domain authentication method is shown in Figure 5. This method uses public key infrastructure and a challenge–response mechanism to ensure the authenticity of the UAV’s identity, and ensures the authenticity of the UAV’s task by querying the M i s s i o n chain of the C B C . At the same time, a session key can also be generated during this process.
When drone d j wants to fly to the next domain ( D o m a i n n ), d j firstly send its cross-domain request ( C R M d j ) to the C N in charge of D o m a i n n ( c n n ). The C R M d j can be expressed as Equation (7), where C r e q u e s t represents the cross-domain request and E n c S K c n i D i d d j represents the D i d of d j encrypted with the private key of the current domain C N .
C R M d j = C r e q u e s t , E n c S K c n i D i d d j
After receiving the C R M d j from d j , c n n uses the P K c n i to decrypt the E n c S K c n i D i d d j to obtain the D i d d j . Then, c n n checks whether there is the incomplete M i s s i o n chain transaction t r a n s *   of the corresponding D i d d j . The t r a n s * can be generated through the notification mechanism (detailed in Section 4.4). Then, c n n searches the D e v i c e s chain to obtain the public key ( P K d j ) of d j according to the D i d d j . If t r a n s d j * exists, c n n sends a random number x with P K d j encryption to d j as a challenge a c k . Then, d j decrypts a c k with S K d j to obtain x , and sends back x + 1 and a random number y with P K c n n encryption as a response, r s p j = E n c P K c n n x + 1 | |   y . Then, c n n checks r s p j to determine whether d j has the declared identity and obtains y. If d j passes the verification, c n n sends back a response, r s p c n = E n c P K d j y + 1 , as a confirmation message. Then, the session key between d j and c n n can be generated by k s = H ( x   | |   y ) .
In this way, c n n can determine the identity and task information of d j . Then, c n n sends the T o k e n to d j . The T o k e n of d j can be expressed as Equation (8), where, P i d d j ' represents the device ID of d j in the D o m a i n n , T s t a m p represents the time stamp of the T o k e n , P d j represents the permission that d j has for obtaining the necessary information, and h a s h P i d d j ' T s t a m p P d j represents the hash value of the combination of P i d d j ' , T s t a m p , and P d j .
T o k e n = h a s h P i d d j ' T s t a m p P d j , P i d d j ' , T s t a m p , P d j
Finally, d j obtains its P i d d j ' and uses the T o k e n to obtain the flight path and other necessary information from the C N of the next domain. At the same time, c n n updates the M i s s i o n chain by using the method proposed in Section 4.4.
In the UAV cargo transportation scenario, there are many UAVs flying to the same next domain. Therefore, we propose a method of drone group cross-domain authentication to improve the efficiency of UAV cross-domain authentication. The idea of this method is that UAVs compose a group through mutual authentication before the cross-domain authentication. In this way, the proposed method can lighten the authentication workload of the C N and improve the speed of the UAV cross-domain authentication. The method is mainly divided into two stages: (1) the formation of a UAV group (in Section 4.2), and (2) the cross-domain authentication of a UAV group (in Section 4.3).

4.2. Establishment Mechanism of UAV Groups

The establishment mechanism of UAV groups mainly includes two parts: (1) the method of building a new drone group and (2) the method of joining a drone group. In the process of building or joining a drone group, drones need to use verification strategies to verify each other. The verification strategy is shown in Figure 6.
When drone d j and drone d n start the verification, d j firstly sends its verification information M d j to d n . M d j can be expressed as Equation (9), where, T a u t represents the two-way authentication request, E n c S K c n i P i d d j represents the P i d of d j encrypted with the private key of the current domain C N , and P B H d j   represents the P B C block height of the block that includes the task information of d j .
M d j = T a u t , E n c S K c n i P i d d j , P B H d j
After receiving the verification information from d j , d n uses the P K c n i to decrypt the E n c S K c n i P i d d j to obtain the P i d d j . Then, d n searches the local P B C according to P B H d j and queries whether the corresponding information is there. If P B H d j is bigger than the block height of the local P B C , it updates the P B C from the C N . After that, d n obtains the public key ( P K d j ) of d j from the P B C . Then, a random number x is encrypted by P K d j as a challenge a c k , and d n sends its M d n and a c k to d j .
After receiving the M d n and a c k , d j decrypts the E n c S K c n i P i d d n to obtain the P i d d n . Additionally, d j searches the local P B C according to P B H d j and queries whether the corresponding information is there. If P B H d j is bigger than the block height of the local P B C , it updates the P B C from the C N . Then, d j obtains the public key ( P K d n ) of d n from the P B C . Additionally, d j decrypts the a c k with S K d j to obtain x , and sends back x   + 1 and a random number y with P K d n encryption as a response, r s p j = E n c P K d n ( x + 1 | | y ) . According to the notification mechanism between domains described in Section 4.4, local P B C s saved by drones store task information for a period of time in the future, and the P B C s can be updated by drones after mutual authentication. Therefore, in theory, drones do not need or rarely need to update blocks through the C N , and they only need to update blocks through the C N at most once during a two-way authentication period.
Next, d n decrypts r s p j with S K d n and checks whether x + 1 is received within a certain period of time to determine whether d j has the declared identity. Then, d n obtains y and sends back a response, r s p n = E n c P K d j y + 1 , to d j . After receiving the r s p n , d j decrypts the r s p n with S K d j and checks the response. After successful identity authentication, the session key between d j and d n can be generated by k s = H ( x   | |   y ) . Then, d j and d n can communicate with each other and update their P B C s.
By using the proposed verification strategy, drones can confirm each other’s identity, generate session keys, and update the P B C s. In the process of moving, drones try to join a group or build a new one, as shown in Figure 7.
(1)
Method of building a new drone group
During flight in the current domain, a drone d j broadcasts to inquire whether there is a drone group with the same R o u t . If there is no drone group, d j tries to build a new group and continues to broadcast to inquire whether there are drones with the same R o u t . If d j finds other drones with the same R o u t , the drones and d j send each other verification information, verify each other (as shown in Figure 6), and then reach consensus to build a group. Usually, the number of initial group members is small (about 2–4 drones). In order to stabilize the drone group, the initial members need to authenticate each other and build communication links with a session key.
Each drone group selects a group leader d l by voting. For cross-domain authentication, d l generates a member list, G L i s t , of the drone group. The G L i s t can be expressed as Equation (10), where P i d d i represents the P i d of d i . Then, the drones compose a drone group successfully.
G L i s t = { P i d d i   |     d i   in   the   group }
(2)
Method of joining a drone group
If d j finds a group after broadcasting, it sends verification information M d j to the group leader ( d l ) to join the group. Then, d l randomly chooses one drone to verify the d j together. After that, d l determines whether d j can join the group according to the authentication result. If d j passes the verification, d l adds the P i d and public key of d j to the G L i s t d l maintained by itself, and send its G L i s t d l to d j . Then, d j saves the G L i s t d l and broadcasts its own G L i s t d j as a confirmation of joining the group. Additionally, the other drones in the group update their G L i s t .
At the same time, in order to prevent the loss of drones, the drones in the group send inquiry and response signals regularly. Additionally, drones with forged identities cannot build or join a group because they cannot send the correct response.

4.3. Drone Group Cross-Domain Authentication Method

The drone group cross-domain authentication method proposed in this paper is shown in Figure 8. When a drone group is ready for cross-domain authentication, the group leader of the group ( d l ) sends a group cross-domain request ( G C M d l ) to the C N of the next domain ( c n n ). The G C M d l sent by d l can be expressed as Equation (11), where G C r e q u e s t represents the group cross-domain request,   E n c S K c n i D i d d l represents the D i d of d l encrypted with the private key of the current domain C N ( c n i ), and G L i s t d l is the group member list of d l .
G C M d l = G C r e q u e s t ,   E n c S K c n i D i d d l , G L i s t d l
After receiving the G C M d l from d l , c n n verifies the group leader through the single-drone cross-domain authentication method proposed in Section 4.1. Then, c n n obtains the G L i s t d l . If d l passes validation, c n n sends d l a T o k e n . After receiving the T o k e n , d l sends a group cross-domain signal to the drone group. Then, the other drones in the group send group cross-domain requests to c n n . The group cross-domain request sent by d j ( G C M d j ) can be expressed as Equation (12), where E n c P K c n n P i d d j , x j represents the device ID on the PBC and a random number x j encrypted with the public key of c n n . Additionally, E n c P K c n n P i d d j , x j is generated by d j after d j joins or builds a group.
G C M d j = G C r e q u e s t , E n c P K c n n P i d d j , x j , E n c S K c n i D i d d j
After receiving the G C M d j , c n n decrypts the E n c S K c n i D i d d j to obtain the D i d of d j . Additionally, c n n checks whether the incomplete M i s s i o n chain transaction t r a n s *   of the corresponding D i d d j is there. Then, c n n searches the D e v i c e s chain to obtain the public key of d j . Additionally, c n n decrypts the E n c P K c n n P i d d j , x j to obtain the P i d and x j of d j . If P i d d j is in the G L i s t d l , c n n generates the T o k e n   for d j according to the equivalence between P i d and D i d . Next, c n n sends a response, r s p c n j = E n c P K d j y j , to d j . After decrypting r s p c n j and obtaining y j , d j can generate a session key by k s j = H ( x j   | |   y j ) .
In this way, c n n verifies the drones and distributes the T o k e n s to the drones in the group. Finally, the drones in the group obtain their P i d s and use their T o k e n s to obtain the flight path and other necessary information from c n n . At the same time, c n n updates the M i s s i o n chain by using the method proposed in Section 4.4.

4.4. Notification Mechanism between Domains

When a drone enters a new domain, the C N of the domain needs to publish a transaction to the M i s s i o n chain for uploading and updating the task information of the drone. After reaching a consensus, a C N packages a certain number of transactions and generates a new block on the M i s s i o n chain. The C N s of the other domains query the M i s s i o n chain at regular intervals and collect the task information of drones flying to their own domains. In this way, the C N s can plan the path for the drones in advance according to the R o u t , the destination, and other information of the task. The specific method is as follows.
In the domain D o m a i n i , the C N of D o m a i n i ( c n i ) uses Algorithm 1 to find the transactions of the next domain ( C N i d n ), which is D o m a i n i , at regular intervals. Firstly, the algorithm obtains the latest block height of the M i s s i o n chain. Then, it searches blocks that have not been queried to obtain the transactions that include the latest drone task information. By comparing the C N i d n in the transaction ( t r a n s . C N i d n ) and the C N i d of c n i ( c n i . C N i d ), the algorithm determines whether the next domain in the transaction is the current domain, and then saves the task information. Then, c n i obtains the list of transactions ( L i s t t r a n s ) and the latest block height ( N H b c ).
Algorithm 1. Task information query algorithm.
Input: Mission, LH bc   // Mission chain and the block height of the last query.
Output: L i s t t r a n s , N H b c  // List of transactions and the latest block height.
1. Initialize variable N H b c   // Initialize the latest block height.
2. Initialize variable L i s t t r a n s  // Initialize the list of transactions.
3. N H b c = getHeight( M i s s i o n ) // Obtain the latest block height of the M i s s i o n chain.
4. for b l o c k in range( L H b c , N H b c ) // Search blocks that have not been queried.
5.   t r a n s = read( b l o c k )    // Read the transactions on the blocks.
6.  if( t r a n s . C N i d n = = c n i . C N i d )   // Determine whether the next domain in the t r a n s is the current domain.
7.    L i s t t r a n s .add( t r a n s )      // Save the task information.
8.  else continue
9.  end if
10. end for
11. return L i s t t r a n s , N H b c
When it has obtained the L i s t t r a n s and the relevant task information, c n i calls on Algorithm 2 to preprocess the tasks. For each transaction in the L i s t t r a n s , the algorithm receives M i d , D i d , C N i d d , R o u t , and T o u t from the transaction. Then, it calls on the path planning algorithm to plan a flight path for the drone and obtain the C N ID of the next domain ( C N i d n ' ), the range out of the current domain ( R o u t ' ), and the current expected time cost out of the domain ( T C * ). For drone cross-domain authentication, the algorithm reads the A d d r e s s chain and obtains the public key ( P K c n n ) of C N i d n ' . Then, it reads the D e v i c e s chain and obtain the P K d of the drone. Additionally, it generates the device ID in this domain ( P i d ) and the permission ( P ) for the drone. Then, the algorithm submits the transaction ( P i d , R o u t ' , P K d ) to the P B C . In this way, the PBC of the drone currently flying to the next domain has the information about the drones performing tasks in that domain for a period of time in the future. Additionally, it generates an incomplete M i s s i o n chain transaction, t r a n s * = M i d ,   D i d ,   C N i d n ' ,   C N i d d ,   C N i d c ' ,   R o u t ' ,   T C * , and the T C * in t r a n s * is updated when the drone arrives. At the same time, c n i packages the P B C transactions and generates a new block on the P B C at certain intervals, or the number of transactions meets the requirement.
Algorithm 2. Task preprocessing algorithm.
Input: L i s t t r a n s
Output: t r a n s * , P i d ,  P ,  P K c n n
1. Initialize variable R o u t ' , T C *   // Initialization range and expected time cost out of the current domain.
2. Initialize variable C N i d n ' // Initialization variable C N i d of the next domain.
3. Initialize variable C N i d c ' = c n i . C N i d   // Initialization variable C N i d of the current domain.
4. for each transaction in L i s t t r a n s
5. Get M i d , D i d , C N i d d , R o u t , T o u t from the transaction.
6. Use path planning algorism to plan flight path for the drone and get C N i d n ' , R o u t c ' , and T C * .
7. Read A d d r e s s chain and get the P K c n n of C N i d n ' .
8. Read D e v i c e s chain and get the P K d of the drone.
9. Create P i d and P   // Generate device ID in this domain and the permission for the drone.
10. submit( P i d , R o u t ' , P K d ) -> P B C   // Submit the P B C transaction to the P B C .
11. t r a n s * = M i d , D i d , C N i d n ' , C N i d d , C N i d c ' , R o u t ' , T C *   // Generate the M i s s i o n chain transaction.
12. end for
13. c n i packages P B C transactions and generates a new block on the P B C at certain intervals or the number of transactions meets the requirement.
14. return t r a n s * , P i d ,  P ,  P K c n n .
When a drone d j has passed the cross-domain authentication and entered the domain D o m a i n i , c n i uses Algorithm 3 to publish a transaction for updating the task information of d j . Above all, c n i obtains the task start time ( T S T d j ) of d j in the domain. Then, c n i calculates the expected time out of the domain by T o u t d j ' = T S T d j + T C * . After that, the M i s s i o n chain transaction including the task information of d j is published, which can be expressed as t r a n s = M i d ,   D i d d j ,   C N i d n ' ,   C N i d d ,   C N i d c ' ,   R o u t d j ' ,   T o u t d j ' . We consider that all the C N s in the C B C are trusted. Therefore, this paper uses the Raft consensus mechanism to package the transactions and generate new blocks. In addition, the P i d d j ' , P d j , and P K c n n generated in Algorithm 2 are sent to the d j during the cross-domain authentication process.
Algorithm 3. Task information update algorithm.
Input: Mission information
Output: True or False
1. Initialise variable isUploaded = FALSE // Initialization variable, upload success or not.
2.  Get task start time ( T S T d j ) of d j in the domain.
3.  Compute T o u t d j ' = T S T d j + T C *   // Calculate the expected time out of the domain.
4.   t r a n s = M i d ,   D i d d j ,   C N i d n ' ,   C N i d d ,   C N i d c ' ,   R o u t d j ' ,   T o u t d j '   // Generate transaction including task information of d j .
5.  Publish the t r a n s to the M i s s i o n chain.
6.  isUploaded = TRUE    // Upload successfully.
7. return isUploaded.

5. Performance Evaluation

5.1. Experimental Settings

We analyzed the performance of the proposed scheme by conducting simulation experiments. The performance of the method proposed in this paper was measured in terms of computational overhead, communication overhead, and cross-domain authentication time cost. The configuration of the PC for the experiments is: CPU: Intel Core i7-8550, RAM: 8 GB, OS: Ubuntu 18.04, 64-bit. Hyperledger Fabric is an open source project from the Linux Foundation. We used Hyperledger Fabric v1.4 to build the blockchain, and the consensus on the consortium blockchain was reached through the Raft algorithm. Additionally, we used the JPBC v2.0 bilinear pair cryptography library from Italy GAS Lab to generate the public and private keys, and to encrypt and decrypt messages and ciphertext, respectively. The applied elliptic curve is a Type A elliptic curve with an order length of 160 bits ( y 2 =   x 3 +   x ). Raspberry Pi, as an embedded single-board computer (SBC) from Uk Raspberry Pi Foundation that is easy to use for coding and other implementations, is widely used in the existing studies. To further evaluate the feasibility of the proposed scheme, we used Raspberry Pi 4B SBCs to simulate the drones. The configuration of the Raspberry Pi 4B is: CPU: Quad-core Cortex-A72, RAM: 8 GB, OS: Ubuntu 18.04, 64-bit. We also compared the proposed method with existing methods [25,26,27] that use a ground station as a trusted third party for identity authentication, as well as existing methods [31,32,33] for identity authentication through ground stations and blockchain architectures.

5.2. Computational Overhead

5.2.1. Materials and Methods

To evaluate the computational overhead of the proposed framework, we analyzed the computational operations required by each entity in different phases of tasks. Simple operations, such as integer addition and concatenation operation, were not taken into consideration because of their low computational expense. Specific notations are listed as follows. CN: A consortium node in charge of a domain; d j : A drone in a drone group or a single drone; d l : The group leader of a drone group or a single drone; RG: Registration mechanism; TR: Task-release mechanism; SC: Single-drone cross-domain authentication method; TA: Two-way authentication strategy; NG: Method of building a new group; JG: Method of joining a drone group; DGC: The drone group cross-domain authentication method; NMD: Notification mechanism between domains; DAT: Operation of determining the acceptable task type of a drone; BC: One reading or writing operation on blockchain; GKP: Operation of generating a public–private key pair for d j ; CAS: One asymmetric encrypt/decrypt operation; LD: One reading or writing operation on local database; PP: One path planning operation; HO: One hash operation; N: The number of drones to compose a group or in a group; and GL: Operation of generating, updating, or distributing a group member list.
Table 3 shows the computational overhead that each entity needs to undertake in different task model phases. For example, in the process of DGC, the total computational cost that a C N needs to undertake is 4CAS + BC + HO + (N − 1) × (3CAS + HO). Specifically, it denotes the total overhead of performing four asymmetric encrypt/decrypt operations, one blockchain operation, one hash operation, and N – 1 times (3CAS + HO). The function 3CAS + HO represents the computational overhead required by the C N for the cross-domain authentication of an ordinary drone in the drone group. Additionally, the computational overhead that the C N needs to undertake for the cross-domain authentication of the group leader ( d l ) is 4CAS + BC + HO, which is the same as the cost of the C N in the process of SC. In addition, the computational overhead of d j in the process of DGC is CAS + HO, which is reduced by two asymmetric encrypt/decrypt operations compared to that of d j in the process of SC. In the process of NG, although the computational cost of d j is (N − 1) × TA, the overall computational overhead of the drone group is N N 1 2 TA because only one TA is required between two drones.
To evaluate the efficiency of the proposed cross-domain authentication scheme, we firstly evaluated the computational time cost of the single-drone cross-domain (SC) authentication and the drone group cross-domain (DGC) authentication. Additionally, we evaluated the computational time consumption of the CN side and the UAV side in different situations. Secondly, we compared the computational time cost of our method with that of existing methods [25,26,27,31,32,33]. To further illustrate the advantages of our method, we also evaluated the variation in the computational time overhead with the number of drones, and compared it with that of existing methods [25,31].

5.2.2. Results and Discussion

In the cases of SC and DGC, the computational time of the main operations is shown in Table 4. The time cost in the table is the average time cost of executing the corresponding operation 100 times on the corresponding platform.
The computational time consumption of the CN side and the UAV side in different situations is shown in Figure 9. In the SC case, the time consumption of the CN side is {2 × 3.61 + 2 × 2.43 + 0.17 + 0.03} = 12.28 ms, and the time consumption of the UAV side is {2 × 9.31 + 7.24 + 0.32} = 26.18 ms. In the case of DGC, the computational time cost needs to consider the scale of the drones. The time consumption of the UAV group leader is {2 × 9.31 + 7.24 + 0.32} = 26.18 ms, and the time cost of an ordinary UAV in the group is {9.31 + 0.32} = 9.63 ms. The minimum average time consumption of the CN side is the time consumption when dealing with ordinary UAVs, i.e., {2 × 3.61 + 2.43 + 0.17 + 0.03} = 9.85 ms. The maximum average time consumption on the CN side is when there are only two drones, that is, {(12.28 + 9.85)/2} = 11.07 ms. Therefore, the average computational time consumption interval of the CN side is (9.85 ms, 11.07 ms).
The computational time cost of the proposed method and existing methods are shown in Figure 10. In the SC case, the computational time cost of our method is {12.28 + 26.18} = 38.46 ms. The figure also shows the maximum average computational time cost in the case of DGC, which is the average computational time cost required for each drone to cross domains when two drones perform DGC. The time cost is calculated by {(26.18 + 9.63 + 9.85 + 12.28)/2} = 28.97 ms. The existing methods for authenticating identity through a ground station as a trusted third party, as reported by Wazid et al. [25], Srinivas et al. [26], and Tanveer et al. [27], require 42.36 ms, 39.32 ms, and 38.12 ms, respectively. The existing methods for identity authentication through ground stations and blockchain architectures, as reported by Feng et al. [31], Shen et al. [32], and Gauhar et al. [33], require 32.93 ms, 36.87 ms, and 34.52 ms, respectively. Although the computational time cost of SC is not significantly different from that of existing methods [25,26,27,31,32,33], that of DGC is lower than that of other methods. Therefore, it can be considered that the DGC method can reduce the computational time cost of UAV cross-domain authentication. Figure 11 shows the computational time cost of cross-domain authentication when the number of drones increases. The computational time cost of DGC can be expressed as {26.18 + 12.28 + (N − 1)(9.63 + 9.85)} = 19.48N + 18.98 ms. As shown in Figure 11, the time cost of each method increases linearly as the number of drones increases. Compared with the existing methods [25,31], the DGC method proposed in this paper has significant advantages when the number of drones is large.

5.3. Communication Overhead

5.3.1. Materials and Methods

To evaluate the communication overhead of the proposed framework, we analyzed the number of communicated messages (bits) transmitted in different task model phases and compared it with existing advanced authentication schemes. In the SC case, the communicated messages are: C R M : C r e q u e s t ,   E n c S K c n i D i d d j , a c k : E n c P K d j x , r s p j : E n c P K c n n x + 1 | |   y , and r s p c n : E n c P K d j y + 1 . The length of the C R M , a c k , r s p j , and r s p c n is {64 + 4026} = 4090 bits, 1094 bits, 1094 bits, and 1094 bits, respectively. Thus, the total communication cost of the SC is 7372 bits. In the two-way authentication (TA) case, the communicated messages are: M d j : T a u t , E n c S K c n i P i d d j , P B H d j , M d n : T a u t , E n c S K c n i P i d d n , P B H d n , a c k : E n c P K d j x , r s p j : { E n c P K d n ( x + 1 | | y   ) } , and r s p n : E n c P K d j y + 1 . The length of the M d j , M d n , a c k , r s p j , and r s p n is {32 + 2350 + 128} = 2510 bits, 2510 bits, 1094 bits, 1094 bits, and 1094 bits, respectively. Thus, the total communication cost of the SC is 8302 bits. The communicated messages in the DGC case can be divided into two parts: (a) the communicated messages in the group leader authentication process, and (b) the communicated messages in an ordinary group member authentication process. The communicated messages in the group leader authentication process are: G C M d l : G C r e q u e s t ,   E n c S K c n i D i d d l ,   G L i s t d l , a c k : E n c P K d l x , r s p j : E n c P K c n n x + 1 | |   y , and r s p c n : E n c P K d l y + 1 . The length of the G C M d l , a c k , r s p j , and r s p c n is {64 + 4026 + N × 64} = 4090 + 64N bits, 1094 bits, 1094 bits, and 1094 bits, respectively. Thus, the total communication cost of (a) is 7372 + 64N bits, where N is the number of members in the drone group. The communicated messages in an ordinary group member authentication process are: G C M d j :   G C r e q u e s t ,   E n c P K c n n P i d d j , x j , E n c S K c n i D i d d j , and r s p c n j = E n c P K d j y j . The length of the G C M d j and r s p c n j is {32 + 2570 + 4026} = 6628 bits and 1094 bits, respectively. Thus, the total communication cost of (b) is 7722 bits. For a drone group with N members, the total communication cost is {a) + (N − 1)b)} = {7372 + 64N + 7722N−7722} = 7786N-350 bits. The average cost per drone is 7786 350 / N   bits.

5.3.2. Results and Discussion

Figure 12 shows the communication overhead required at different stages of tasks. The average minimum overhead for the DGC case is in the situation when two drones compose a group (7611 bits). To evaluate the cross-domain communication overhead, we compared our method with the existing novel methods, as shown in Figure 13. Among them, the methods proposed by Wazid et al. [25], Srinivas et al. [26], and Tanveer et al. [27], authenticating identity through a ground station as a trusted third party, require 6642 bits, 5938 bits, and 5522 bits, respectively. The above methods [25,26,27] mainly guarantee the credibility of the identity by performing multiple process parameter calculations on the device, registration center, and control center. Therefore, the communication overhead of the above methods is relatively lower than that of our method, but it increases the computational burden. The methods for identity authentication through ground stations and blockchain architectures proposed by Feng et al. [31], Shen et al. [32], and Gauhar et al. [33] require 7168 bits, 9280 bits, and 7680 bits, respectively. We noticed that the communication cost of DGC is higher than that of SC, and the maximum communication overhead difference between DGC and SC is 7786 − 7372 = 414 bits. Additionally, Figure 10 shows that the computational time cost of SC is 38.46 ms, and the maximum average computational time cost of DGC is 28.97 ms. SC is 9.49 ms slower than DGC, and the difference increases as the number of drones increases. Therefore, it can be concluded that when the communication rate is higher than 414/9.49 = 43.6 b/ms = 43.6 kbps, DGC outperforms SC. As far as we know, a communication rate of 43.6 kbps is easily achievable. Therefore, while ensuring the overall efficiency of cross-domain authentication, it is feasible to consider increasing a portion of communication overhead to ensure security.
The total communication time cost mainly includes transmission delay and propagation delay. The transmission delay can be expressed as S i z e d a t a / T r , where S i z e d a t a represents the size of the transmission data, and T r represents the transmission rate of the channel. According to different transmission frequencies and communication bandwidths, T r varies from tens of Kb to tens of Mb per second. Figure 14 shows how the transmission delay in the communicated messages changes with the transmission rate from 200 Kbps to 10 Mbps. We selected the minimum communication cost (Tanveer et al. [27]) and the maximum communication cost (Shen et al. [32]) among the comparison methods to compare them with our method. When the transmission rate is 5 Mps, the transmission time taken by SC, DGC_max, Tanveer et al. [27], and Shen et al. [32] is 1.43 ms, 1.51 ms, 1.07 ms, and 1.8 ms, respectively. The propagation delay can be expressed as D i s / V e l w a v e , where D i s is the distance between the two sides of the communication and V e l w a v e is the propagation speed of the wave in the vacuum (about 3 × 10 5 km / s ). Generally, the range of the domain is around 1 km. Therefore, propagation delay can be ignored.

5.4. Cross-Domain Authentication Time Cost

The total cross-domain time includes the computational time and communication time. Based on the experimental results in Section 5.2 and 5.3, we further evaluated the total cross-domain time taken by the method proposed in this paper by comparing it with the existing novel methods [25,26,27,31,32,33].
The experimental results are shown in Figure 15. The communication time cost of each scheme is that recorded when the transmission rate is 5 Mps. The total cross-domain time taken by the DGC proposed in this paper can be expressed as {19.48N + 18.98 + 1.55N − 0.07} = 21.03N + 18.91 ms, where N is the number of members in the drone group. In the case of cross-domain authentication for one drone, the SC method, Wazid et al. [25], Srinivas et al. [26], Tanveer et al. [27], Feng et al. [31], Shen et al. [32], and Gauhar et al. [33] require 39.89 ms, 43.69 ms, 40.51 ms, 39.19 ms, 34.37 ms, 38.67 ms, and 36.06 ms, respectively. The communication time cost of DGC in the figure (30.49 ms) is the average value for two drones. It can be seen that DGC has a better cross-domain authentication performance compared with the other methods [25,26,27,31,32,33]. Figure 16 shows the cross-domain authentication time cost when the number of drones increases. It can be seen that the DGC method proposed in this article has significant advantages when the number of drones is large.

6. Security Analysis

We used the widely used Dolev and Yao (DY) threat model [35] to evaluate the security of the proposed method. In the DY threat model, a malicious attacker (MA) can inject, delete, eavesdrop, forge, or modify the exchanged messages over a public channel [36]. In this way, an MA can perform various security attacks on drones or CNs. The possible attacks and descriptions are as follows:
(1)
Replay attack: An MA replays authentication messages to deceive the C N .
(2)
Forgery attack: An MA generates an illegal or false ID to deceive the C N .
(3)
Impersonation attack: An MA obtains authentication messages by impersonating terminals or eavesdropping on a channel, and impersonates a legitimate device to deceive the C N .
(4)
Man-in-the-middle attack: An MA captures authentication messages and spoofs both parties of the communication.
(5)
Database tampering: An MA attempts to tamper with the identity information in the database to pass the authentication.
Additionally, we made two assumptions: (a) The private keys of the C N s and drones are not revealed; and (b) An MA cannot deduce the private key from the public key, or it takes a lot of time. Considering the potential threats, we analyzed and compared the proposed scheme with the existing cross-domain authentication methods in terms of mutual authentication, cross-domain authentication, decentralization, anonymity, task path untraceability, path planning in advance, resilience to replay attacks, resilience to forgery attacks, resilience to impersonation attacks, resilience to man-in-the-middle attacks, and resilience to database tampering. The security analysis and comparison results are shown in Table 5.
All the methods can well support mutual authentication and cross-domain authentication functions. At the same time, due to the use of blockchain technology and temporary intradomain ID methods, our method also has good decentralization and anonymity. Drones have different temporary IDs in different domains, and their device IDs on the C B C and all mission information can only be queried by the consortium nodes. Therefore, an MA cannot obtain the complete flight path of the drone, namely, task path untraceability. The notification mechanism between domains designed in this paper allows C N s to plan their paths in advance, which can improve their perception of the overall network situation. For possible attacks, we make the following analysis:
(1)
Resilience to replay attacks: During the process of cross-domain authentication, the C N s and drones use PKI and a challenge–response mechanism to perform identity authentication and generate a session key. An MA cannot obtain useful information through this attack.
(2)
Resilience to forgery attacks: The C N s need to query the D e v i c e s chain and the M i s s i o n chain transaction to confirm identity, and an MA cannot forge identity on the consortium chain.
(3)
Resilience to impersonation attacks: Unregistered drones cannot obtain a legal D i d , public key, and private key. In the process of the challenge–response game, an MA cannot decrypt the ciphertext to complete the verification. Therefore, it is difficult to implement an impersonation attack.
(4)
Resilience to man-in-the-middle attacks: The communication data are encrypted by a public key or session key, which solves the problem of private data leakage. Even if the data are captured, the MA cannot decrypt the ciphertext to obtain the message.
(4)
Resilience to database tampering: The important data are stored on the consortium blockchain. Only when the MA holds more than 51% of the nodes can it change the data in the blockchain, which is impracticable.

7. Conclusions

During long-distance flights for cargo transportation, drones need to apply cross-domain authentication mechanisms to enter the next domain. However, due to public wireless communication channels, drones are vulnerable to various security attacks in the process of cross-domain authentication. When facing a large number of cross-domain requests from drones, a CN requires significant computational and time overhead, which may lead to long waiting times for the cross-domain authentication of drones. To address this problem, we proposed BCDAIoD, an efficient blockchain-based cross-domain authentication scheme for the Internet of Drones. The BCDAIoD method includes a single-drone cross-domain authentication method, an establishment mechanism of drone groups, a drone group cross-domain authentication method, and a notification mechanism between domains. By taking advantage of blockchain, PKI, and the challenge–response game, BCDAIoD can ensure the authenticity and integrity of data, and can effectively prevent various attacks on drones and CNs. Furthermore, BCDAIoD uses the CBC and notification mechanism between domains to enable CNs to plan paths for drones in advance, which can further improve the efficiency of drone cross-domain authentication and task execution. The main contribution of this article is that BCDAIoD can improve the efficiency and security of the cross-domain authentication of drones. Experiment results show that the cross-domain authentication time cost and computational overhead of BCDAIoD are significantly lower than those of the existing state-of-the-art methods when facing a large number of drones.
Nevertheless, there are still limitations when applying BCDAIoD. First, blockchain brings additional communication and storage costs to the drone network. For example, drones in the IoD communicate with each other and update their local blockchains. Second, a small number of drones flying to the same destination or drones being far apart from each other may lead to drone group establishment failure. Hence, to address the above limitations, we seek to further simplify storage data in the block and design block pruning algorithms for the PBC to reduce communication and storage costs in future extensions of this work. At the same time, we will also attempt to design an optimization algorithm that dynamically adjusts between single-drone and drone group cross-domain methods based on the current state of IoD.

Author Contributions

Conceptualization, G.Q. and Y.Z.; methodology, G.Q. and T.Y.; software, T.Y. and G.Q.; investigation, G.Q. and Y.Q.; validation, G.Q., Y.Z. and T.Y.; result analysis, T.Y., Y.Q.; writing—original draft preparation, G.Q.; writing—review and editing, Y.Z. and G.Q.; supervision, Y.Z.; funding acquisition, Y.Z. 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 (General Program) under Grant No. 61572253.

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Hassan, M.A.; Javed, A.R.; Hassan, T.; Band, S.S.; Sitharthan, R.; Rizwan, M. Reinforcing communication on the internet of aerial vehicles. IEEE Trans. Green Commun. Netw. 2022, 6, 1288–1297. [Google Scholar] [CrossRef]
  2. Salah, K.; Rehman, M.H.U.; Nizamuddin, N.; Al-Fuqaha, A. Blockchain for AI: Review and open research challenges. IEEE Access 2019, 7, 10127–10149. [Google Scholar] [CrossRef]
  3. Farah, M.F.; Mrad, M.; Ramadan, Z.; Hamdane, H. Handle with Care: Adoption of Drone Delivery Services. In Proceedings of the Advances in National Brand and Private Label Marketing: Seventh International Conference, Barcelona, Spain, 17–20 June 2020; pp. 22–29. [Google Scholar]
  4. Makhdoom, I.; Zhou, I.; Abolhasan, M.; Lipman, J.; Ni, W. PrivySharing: A blockchain-based framework for privacy-preserving and secure data sharing in smart cities. Comput. Secur. 2020, 88, 101653. [Google Scholar] [CrossRef]
  5. Li, X.; Wang, Y.; Vijayakumar, P.; He, D.; Kumar, N.; Ma, J. Blockchain-based mutual-healing group key distribution scheme in unmanned aerial vehicles ad-hoc network. IEEE Trans. Veh. Technol. 2019, 68, 11309–11322. [Google Scholar] [CrossRef]
  6. Qiu, J.; Grace, D.; Ding, G.; Yao, J.; Wu, Q. Blockchain-Based Secure Spectrum Trading for Unmanned-Aerial-Vehicle-Assisted Cellular Networks: An Operator’s Perspective. IEEE Internet Things J. 2020, 7, 451–466. [Google Scholar] [CrossRef]
  7. Bera, B.; Chattaraj, D.; Das, A.K. Designing secure blockchain-based access control scheme in IoT-enabled Internet of Drones deployment. Comput. Commun. 2020, 153, 229–249. [Google Scholar] [CrossRef]
  8. Yapıcı, Y.; Rupasinghe, N.; Güvenç, I.; Dai, H.; Bhuyan, A. Physical layer security for NOMA transmission in mmWave drone networks. IEEE Trans. Veh. Technol. 2021, 70, 3568–3582. [Google Scholar] [CrossRef]
  9. Asheralieva, A.; Niyato, D. Distributed dynamic resource management and pricing in the IoT systems with blockchain-as-a-service and UAV-enabled mobile edge computing. IEEE Internet Things J. 2020, 7, 1974–1993. [Google Scholar] [CrossRef]
  10. Li, T.; Liu, W.; Wang, T.; Ming, Z.; Li, X.; Ma, M. Trust data collections via vehicles joint with unmanned aerial vehicles in the smart Internet of Things. Trans. Emerg. Telecommun. Technol. 2022, 33, e3956. [Google Scholar] [CrossRef]
  11. Nakamura, S.; Enokido, T.; Takizawa, M. Information flow control based on the CapBAC (capability-based access control) model in the IoT. Int. J. Mob. Comput. Multimed. Commun. 2019, 10, 13–25. [Google Scholar] [CrossRef]
  12. Ali, G.; Ahmad, N.; Cao, Y.; Ali, Q.E.; Azim, F.; Cruickshank, H. BCON: Blockchain based access CONtrol across multiple conflict of interest domains. J. Netw. Comput. Appl. 2019, 147, 102440. [Google Scholar] [CrossRef]
  13. Wang, Y.; Wang, H.; Wei, X.; Zhao, K.; Fan, J.; Chen, J.; Jia, R. Service Function Chain Scheduling in Heterogeneous Multi-UAV Edge Computing. Drones 2023, 7, 132. [Google Scholar] [CrossRef]
  14. Jha, S.; Sural, S.; Atluri, V.; Vaidya, J. Specification and verification of separation of duty constraints in attribute-based access control. IEEE Trans. Inf. Forensics Secur. 2017, 13, 897–911. [Google Scholar] [CrossRef]
  15. Sandhu, R.S.; Coyne, E.J.; Feinstein, H.L.; Youman, C.E. Role-based access control models. Computer 1996, 29, 38–47. [Google Scholar] [CrossRef]
  16. Xu, S.; Ning, J.; Li, Y.; Zhang, Y.; Xu, G.; Huang, X.; Deng, R.H. Match in my way: Fine-grained bilateral access control for secure cloud-fog computing. IEEE Trans. Dependable Secur. Comput. 2022, 19, 1064–1077. [Google Scholar] [CrossRef]
  17. Wang, K.; Zhang, X.; Qiao, X.; Li, X.; Cheng, W.; Cong, Y.; Liu, K. Adjustable Fully Adaptive Cross-Entropy Algorithms for Task Assignment of Multi-UAVs. Drones 2023, 7, 204. [Google Scholar] [CrossRef]
  18. Abdel-Malek, M.A.; Akkaya, K.; Bhuyan, A.; Ibrahim, A.S. A proxy Signature-Based swarm drone authentication with leader selection in 5G networks. IEEE Access 2022, 10, 57485–57498. [Google Scholar] [CrossRef]
  19. Fysarakis, K.; Soultatos, O.; Manifavas, C.; Papaefstathiou, I.; Askoxylakis, I. XSACd-Cross-domain resource sharing & access control for smart environment. Future Gener. Comput. Syst. 2018, 80, 572–582. [Google Scholar]
  20. Nakamoto, S. Bitcoin: A peer-to-peer electronic cash system. In Decentralized Business Review; Scholastica: Seoul, Korea, 2008; p. 21260. [Google Scholar]
  21. Mehta, P.; Gupta, R.; Tanwar, S. Blockchain envisioned drone networks: Challenges, solutions, and comparisons. Comput. Commun. 2020, 151, 518–538. [Google Scholar] [CrossRef]
  22. Al-Hilo, A.; Samir, M.; Assi, C.; Sharafeddine, S.; Ebrahimi, D. Cooperative content delivery in UAV-RSU assisted vehicular networks. In Proceedings of the 2nd ACM MobiCom Workshop on Drone Assisted Wireless Communications for 5G and Beyond, London, UK, 21–25 September 2020; pp. 73–78. [Google Scholar]
  23. Arafeh, M.; El Barachi, M.; Mourad, A.; Belqasmi, F. A blockchain based architecture for the detection of fake sensing in mobile crowdsensing. In Proceedings of the 2019 4th International Conference on Smart and Sustainable Technologies (SpliTech), Split, Croatia, 18–21 June 2019; pp. 1–6. [Google Scholar]
  24. García-Magariño, I.; Lacuesta, R.; Rajarajan, M.; Lloret, J. Security in networks of unmanned aerial vehicles for surveillance with an agent-based approach inspired by the principles of blockchain. Ad Hoc Netw. 2019, 86, 72–82. [Google Scholar] [CrossRef]
  25. Wazid, M.; Das, A.K.; Kumar, N.; Alazab, M. Designing authenticated key management scheme in 6G-enabled network in a box deployed for industrial applications. IEEE Trans. Ind. Inform. 2020, 17, 7174–7184. [Google Scholar] [CrossRef]
  26. Srinivas, J.; Das, A.K.; Wazid, M.; Vasilakos, A.V. Designing secure user authentication protocol for big data collection in IoT-based intelligent transportation system. IEEE Internet Things J. 2020, 8, 7727–7744. [Google Scholar] [CrossRef]
  27. Tanveer, M.; Alkhayyat, A.; Naushad, A.; 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]
  28. Jan, S.U.; Abbasi, I.A.; Algarni, F.; Khan, A.S. A verifiably secure ECC based authentication scheme for securing IoD using FANET. IEEE Access 2022, 10, 95321–95343. [Google Scholar] [CrossRef]
  29. Rajamanickam, S.; Vollala, S.; Ramasubramanian, N. EAPIOD: ECC based authentication protocol for insider attack protection in IoD scenario. Secur. Priv. 2022, 5, e248. [Google Scholar] [CrossRef]
  30. Ever, Y.K. A secure authentication scheme framework for mobile-sinks used in the internet of drones applications. Comput. Commun. 2020, 155, 143–149. [Google Scholar] [CrossRef]
  31. Feng, C.; Liu, B.; Guo, Z.; Yu, K.; Qin, Z.; Choo, K.K.R. Blockchain-based cross-domain authentication for intelligent 5G-enabled internet of drones. IEEE Internet Things J. 2021, 9, 6224–6238. [Google Scholar] [CrossRef]
  32. Shen, M.; Liu, H.; Zhu, L.; Xu, K.; Yu, H.; Du, X.; Guizani, M. Blockchain-assisted secure device authentication for cross-domain industrial IoT. IEEE J. Sel. Areas Commun. 2020, 38, 942–954. [Google Scholar] [CrossRef]
  33. Ali, G.; Ahmad, N.; Cao, Y.; Khan, S.; Cruickshank, H.; Qazi, E.A.; Ali, A. xDBAuth: Blockchain based cross domain authentication and authorization framework for Internet of Things. IEEE Access 2020, 8, 58800–58816. [Google Scholar] [CrossRef]
  34. Zhang, H.; Chen, X.; Lan, X.; Jin, H.; Cao, Q. BTCAS: A blockchain-based thoroughly cross-domain authentication scheme. J. Inf. Secur. Appl. 2020, 55, 102538. [Google Scholar] [CrossRef]
  35. Dolev, D.; Yao, A. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–208. [Google Scholar] [CrossRef]
  36. 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]
Figure 1. Comparison of existing methods and this paper. (a) Ideas of existing methods. (b) The idea of the method proposed in this paper.
Figure 1. Comparison of existing methods and this paper. (a) Ideas of existing methods. (b) The idea of the method proposed in this paper.
Drones 07 00302 g001
Figure 2. The BCDAIoD framework.
Figure 2. The BCDAIoD framework.
Drones 07 00302 g002
Figure 3. The multi-chain architecture of CBC.
Figure 3. The multi-chain architecture of CBC.
Drones 07 00302 g003
Figure 4. Scenario of drone delivery.
Figure 4. Scenario of drone delivery.
Drones 07 00302 g004
Figure 5. The single-drone cross-domain authentication method.
Figure 5. The single-drone cross-domain authentication method.
Drones 07 00302 g005
Figure 6. Two-way authentication strategy between drones.
Figure 6. Two-way authentication strategy between drones.
Drones 07 00302 g006
Figure 7. The establishment method of UAV groups.
Figure 7. The establishment method of UAV groups.
Drones 07 00302 g007
Figure 8. Drone group cross-domain authentication strategy.
Figure 8. Drone group cross-domain authentication strategy.
Drones 07 00302 g008
Figure 9. The computational time cost of SC and DGC.
Figure 9. The computational time cost of SC and DGC.
Drones 07 00302 g009
Figure 10. The comparison of computational time cost of different methods [25,26,27,31,32,33].
Figure 10. The comparison of computational time cost of different methods [25,26,27,31,32,33].
Drones 07 00302 g010
Figure 11. The computational time cost with increasing number of drones [25,31].
Figure 11. The computational time cost with increasing number of drones [25,31].
Drones 07 00302 g011
Figure 12. The communication cost in different task model phases.
Figure 12. The communication cost in different task model phases.
Drones 07 00302 g012
Figure 13. The comparison of communication cost of different methods [25,26,27,31,32,33].
Figure 13. The comparison of communication cost of different methods [25,26,27,31,32,33].
Drones 07 00302 g013
Figure 14. The transmission delay with increasing transmission rate [27,32].
Figure 14. The transmission delay with increasing transmission rate [27,32].
Drones 07 00302 g014
Figure 15. The comparison of cross-domain authentication time cost of different methods [25,26,27,31,32,33].
Figure 15. The comparison of cross-domain authentication time cost of different methods [25,26,27,31,32,33].
Drones 07 00302 g015
Figure 16. The cross-domain authentication time cost with increasing number of drones [25,26,27,31,32,33].
Figure 16. The cross-domain authentication time cost with increasing number of drones [25,26,27,31,32,33].
Drones 07 00302 g016
Table 1. The symbol definitions.
Table 1. The symbol definitions.
SymbolDefinitionSymbolDefinition
C B C Consortium blockchain P B C Private blockchain
C N Consortium node C N i d ID of consortium node
P i d i Device ID of i on P B C D i d i Device ID of i on C B C
M i d Task ID G L i s t Group member list
R o u t Out-of-domain range T o u t Expected time out of domain
d i Drone marked with i P K i Public key of i
S K i Private key of i E n c * Elliptic curve encryption
P B H i Block number of the PBC block that includes the task information of i k s Session key
T o k e n Cross-domain token H * Hash function
T s t a m p Time   stamp   of   the   T o k e n M d j ID verification information
a c k Challenge r s p i Response of i
Table 2. The symbol definitions.
Table 2. The symbol definitions.
SymbolDefinition
Flight pathThe flight path in the current domain.
P i d d k Device ID of d k on the P B C .
S K d k Private key of d k .
P K c n i Public key of c n i for intradomain authentication between drones.
P K c n n Public key of c n n (the C N of the next domain) for cross-domain authentication.
E n c S K c n i D i d d k   The identification for cross-domain authentication.
E n c S K c n i P i d d k The identification for intradomain authentication.
P B C The private blockchain of the current domain.
P B H d k The block number of the P B C block that includes the task information of d k .
Table 3. The computational overhead in different phases of tasks.
Table 3. The computational overhead in different phases of tasks.
RGTRSCTANGJGDGCNMD
CNDAT + GKP + BC + CAS + LDPP + 3BC + CAS4CAS + BC + HO---4CAS + BC + HO + (N−1) × (3CAS + BC + HO)4BC + PP
d j --3CAS + HO4CAS + BC + HO(N − 1) × TA2TA + GLCAS + HO
d l ---4CAS + BC + HO(N − 1) × TA + GLTA + GL3CAS + HO
Note: “-” means no relevant operation.
Table 4. The computational time of the main operations.
Table 4. The computational time of the main operations.
NotationDescriptionCNUAV
T E E ECC encrypt operation2.43 ms7.24 ms
T E D ECC decrypt operation3.61 ms9.31 ms
T H O Hash function0.03 ms0.32 ms
T B C Blockchain query0.17 ms0.63 ms
Table 5. Security analysis and comparison results.
Table 5. Security analysis and comparison results.
Features[25][26][27][31][32][33]Ours
Mutual authenticationYesYesYesYesYesYesYes
Cross-domain authenticationYesYesYesYesYesYesYes
DecentralizationNoNoNoYesYesYesYes
AnonymityYesYesYesYesNoNoYes
Task path untraceabilityNoNoNoNoNoNoYes
Path planning in advanceNoNoNoNoNoNoYes
Resilient to replay attackYesYesYesYesYesYesYes
Resilient to forgery attackYesYesYesYesYesYesYes
Resilient to impersonation attackYesYesYesYesNoYesYes
Resilient to man-in-the-middle attackYesYesYesYesYesNoYes
Resilient to database tamperingNoNoNoYesYesYesYes
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

Qiao, G.; Zhuang, Y.; Ye, T.; Qiao, Y. BCDAIoD: An Efficient Blockchain-Based Cross-Domain Authentication Scheme for Internet of Drones. Drones 2023, 7, 302. https://doi.org/10.3390/drones7050302

AMA Style

Qiao G, Zhuang Y, Ye T, Qiao Y. BCDAIoD: An Efficient Blockchain-Based Cross-Domain Authentication Scheme for Internet of Drones. Drones. 2023; 7(5):302. https://doi.org/10.3390/drones7050302

Chicago/Turabian Style

Qiao, Gongzhe, Yi Zhuang, Tong Ye, and Yuan Qiao. 2023. "BCDAIoD: An Efficient Blockchain-Based Cross-Domain Authentication Scheme for Internet of Drones" Drones 7, no. 5: 302. https://doi.org/10.3390/drones7050302

Article Metrics

Back to TopTop