1. Introduction
Unmanned aerial vehicles (UAVs), also referred to as drones, have been primarily used for military purposes such as observing the enemy. Recently, they have used in civilian such as delivery services and entertainment [
1,
2]. Due to the increase in the use of drones, the threats caused by the drones might also arise. Indeed, there are several security and safety issues raised by drones in the real world. In 2015, a drone crashed on the grounds of the White House [
3]. That drone, DJI Phantom FC40, was too small and flying too low to be detected by radar. Although this incident was the result of an unintentional and inadvertent mistake, this happening demonstrates that drones can be used for military operations (e.g., delivering explosives and spying on people and buildings).
To mitigate security risks caused by such (unknown) drones, we need to verify the identities of flying drones in real-time and prevent the flights of unauthorized drones. Recently, the concept of the Internet of Drones (IoD) was introduced as a network architecture to coordinate the access of drones in the airspace. In the IoD environment, each drone is always connected to a
ground station associated with a fly zone using the Internet connection based on a cellular network such as LTE and 5G network.
Figure 1 shows the communication channels between drones and ground stations in the IoD environment. Whenever a drone enters a new fly zone (Fly Zone
j in
Figure 1), the ground station in the fly zone checks whether the drone is authorized to fly in that zone using a security protocol. We assume that a 5G network connection is provided for the communication between the drone and the ground station. Based on the 5G network, a secure communication channel can be established between them. However, such a secure communication channel alone is not sufficient to detect flights of unauthorized drones that are capable of using the 5G network. To detect them, we need to additionally check whether a detected drone in a fly zone is authorized or not. That is, an authentication protocol for drones is required. Unlike typical IoT protocols, the protocol in IoD is required to satisfy several requirements, such as real-time authentication and scalability. In IoD, numerous drones would be operated simultaneously. Therefore, the authentication protocol for IoD should be scalable to be able to cope with the increasing number of drones. However, in several existing IoT protocols (e.g., [
4,
5,
6]), a trusted third party is required while performing the authentication process. In this paper, we aim to design a highly scalable protocol to process a massive number of drones concurrently without relying on a single server. Moreover, the ground station should authenticate drones as fast as possible by using a short message and reducing the number of communications for real-time authentication. Therefore, we aim to develop a lightweight authentication protocol using a MAC (message authentication code) scheme with the new concept of the flight session key.
Many security protocols (e.g., [
7,
8,
9]) have been developed for authentication. Among them, digital certificate-based authentication mechanisms are more preferably used to authenticate devices and hosts on public communication channels such as the Internet. Notably, many Internet of Things (IoT) standards such as OCF (Open Connectivity Foundation) [
10] and IoTivity [
11] adopt a certificate-based scheme to authenticate IoT devices and establish secure sessions between them without user intervention. In theory, certificate-based authentication seems a neat solution for unmanned aerial vehicles (i.e., drones). However, to deploy such an existing certificate-based framework in the IoD environment, we need to address a challenging issue – certificate-based schemes are too expensive in resource-constrained drones with respect to communication overhead, power consumption, and memory footprint. First, it takes much time to exchange certificates between devices [
12]. Therefore, we should avoid doing the certificate exchange process as many as possible. Second, asymmetric cryptography used in certificate-based schemes is significantly slower and requires more power consumption than symmetric cryptography [
13]. Therefore, it seems better to use symmetric cryptography instead of using asymmetric cryptography. Third, since the size of a digital certificate is quite large, it could be a burden for resource-constrained drones. Currently, X.509 v3 [
14] is most popularly used as the de facto standard of digital certificates, and its size is about 1 KB–1.5 KB on average [
15]. However, because the X.509 v3 certificate was initially designed for computers and servers with sufficient resources, thus it is desirable to develop a lightweight certificate format that is viable for IoD.
In this paper, we propose an authentication framework named SENTINEL (Secure and Efficient autheNTIcation for uNmanned aErial vehicLes) for IoD to provide mutual authentication between drones and ground stations. To avoid the computational and traffic overheads caused by certificate exchanges and asymmetric cryptography operations, we introduce the idea about the flight session key between a drone and a ground station created by the key agreement protocol between them once the drone takes off. The flight session key is used as a MAC (message authentication code) key for efficiently authenticating drones in subsequent sessions whenever authentication is needed. To provide a secure key agreement protocol, we build public key infrastructure (PKI) using a lightweight certificate format that is more suitable for the IoD environment than the conventional X.509 certificate format.
Our main contributions are summarized as follows:
We propose SENTINEL (
Secure and
Efficient authe
NTIcation for u
Nmanned a
Erial vehic
Les) to provide mutual authentication between drones and ground stations. SENTINEL initially generates a
flight session key for a drone having a flight plan and registers the flight session key and its flight plan into a centralized database that can be accessed by all ground stations. The registered flight session key is used to authenticate the drone by ground stations as the MAC key while it is flying (see
Section 4 and
Section 5).
We designed a lightweight certificate format that is suitable for IoD environments. Compared to the conventional X.509 v3 certificate, the proposed certificate is designed to contain only minimal information required to build public key infrastructure in IoD environments. To further reduce the size of certificates, we adopt a binary format in the proposed certificate, instead of a human-readable text format adopted in X.509 v3 certificates. Our results show that the size of the proposed certificate was about 3.7 times smaller than the size of a typical X.509 v3 certificate (see
Section 6).
We implement a prototype of SENTINEL to show its feasibility and efficiency. Our results demonstrate that the execution time of the authentication protocol in SENTINEL is 3.1 times faster than the “TLS for IoT” protocol on average (see
Section 7). We also formally verify the security of SENTINEL using ProVeif, which is a formal verification tool (see
Section 8).
The rest of this paper is organized as follows. In
Section 2, we give an overview of the related work. In
Section 3, we provide background knowledge such as terminology, notations, and present the threat model considered in this paper. In
Section 4, we describe the overview of SENTINEL. In
Section 5, we present the protocols for key generation and authentication. In
Section 6, we present the digital certificate structure used in SENTINEL. In
Section 7, we present the experimental results to show the efficiency of SENTINEL. In
Section 8, we formally verify the proposed framework using a verification tool called ProVerif. Finally, in
Section 9, we discuss conclusions.
4. Overview of SENTINEL
In this section, we describe an overview of SENTINEL whose objective is to verify the authenticity of drones for detecting unauthorized drones in each fly zone.
Figure 2 shows how SENTINEL works with the four entities—drone, ground station, certificate authority (CA), and operator (described in
Section 3.1)—to achieve the objective of SENTINEL eventually. First of all, the operator obtains a certificate for the drone he/she owns from the CA (step ‘a. Register’ and ‘b. Certificate’) and installs the certificate on the drone (step ‘c. Install Certificate’). The ground station also obtains its certificate from the CA (step ‘a. Register’ and ‘b. Certificate’). After these steps, the drone, its operator, and the ground station are all registered to SENTINEL. That is, the drone and the ground station can be identified using the certificates issued by the CA.
Each drone must initially obtain approval of its flight plan about which fly zones it will fly in from SENTINEL before its flight. This approval procedure is carried out based on the two-party mutual authentication and key agreement protocol between the drone and the ground station (For more details of the mutual authentication and key agreement protocol provided by SENTINEL, please refer to
Section 5.1). As shown in step 1 in
Figure 2, the drone and the ground station performs the mutual authentication and key agreement protocol. During this process, the drone also requests an approval of its flight plan to the ground station. Then the ground station decides whether or not to approve the flight plan requested from the drone. Consequently, a
flight session key for the drone is uniquely generated through the key agreement protocol between the drone and the ground station. As shown in step 2 in
Figure 2, the approved flight plan, along with the associated drone’s identity and the flight session key, is stored in the flight information database (‘Flight Info. DB’ in
Figure 2), which is shared by all the ground stations in SENTINEL. By referring to this flight information database, a ground station decides on whether or not to allow the flight of each drone entering its fly zone. That is, when the drone moves from “fly zone i” to “fly zone j”, a ground station located in “fly zone j” can identify and authenticate the drone by accessing the flight information database.
Whenever the drone enters a new fly zone during its flight, it performs an authentication protocol with the ground station associated with the new fly zone by using the flight session key (see
Section 5.2). For the authentication protocol, the drone first sends a message, including the drone’s identity and authenticated code value computed with the flight session key to the ground station. After receiving the message, the ground station retrieves the drone’s flight information (the flight session key and flight plan approved for the drone) with the drone’s identity from the flight information database. The ground station then verifies the authenticity of the received authenticated code value with the flight session key and decides to allow the drone to fly in the current fly zone by checking whether that fly zone is contained in the approved flight plan.