Next Article in Journal
Comprehensive Task Optimization Architecture for Urban UAV-Based Intelligent Transportation System
Previous Article in Journal
Generating 3D Models for UAV-Based Detection of Riparian PET Plastic Bottle Waste: Integrating Local Social Media and InstantMesh
Previous Article in Special Issue
Multi-Node Joint Jamming Scheme for Secure UAV-Aided NOMA-CDRT Systems: Performance Analysis and Optimization
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Low-Complexity Security Scheme for Drone Communication Based on PUF and LDPC

by
Jiacheng Zhang
1,†,
Peng Gu
1,†,
Zhen Wang
2,
Jun Zou
1 and
Guangzu Liu
1,*
1
School of Electronic Engineering and Optical Engineering, Nanjing University of Science and Technology, Nanjing 210094, China
2
Xi’an Institute of Space Radio Technology, China Academy of Space Technology, Xi’an 710000, China
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work and should be considered co-first authors.
Drones 2024, 8(9), 472; https://doi.org/10.3390/drones8090472
Submission received: 24 July 2024 / Revised: 6 September 2024 / Accepted: 7 September 2024 / Published: 9 September 2024
(This article belongs to the Special Issue Physical-Layer Security in Drone Communications)

Abstract

:
Due to the limited payload and power of drones, the computational overhead, storage overhead and communication overhead that can be used for secure communication are restricted, making it difficult to apply some complex but fairly secure authentication protocols on drones. In this paper, we propose a low-complexity protocol for storing identity information in a resource-unconstrained device that does not require the UAV to store the information, thereby enhancing the UAV’s resistance to capture. The protocol in this paper mainly consists of quasi-cyclic low-density parity-check (QC-LDPC) codes, physical unclonable functions (PUFs) based on random-access memory (RAM), “XOR” operations, and hash computation. The protocol in this paper is an authentication architecture in which the drone is guided by the ground station to read its identity information, and the drone does not store any identity information in advance. The protocol is divided into two phases: 1. fuzzy authentication of fingerprint PUF and 2. uniqueness authentication accomplished while guiding the recovery of identity PUF. Recovering identity PUF in this paper, QC-LDPC is used as the error control module, and the optimization of bit-flip decoding significantly reduces the probability of decoding failure. After the comparative security analysis and comparative overhead analysis of this paper’s protocol, it can be concluded that this paper’s protocol can withstand common attacks (including attacks attempting to pass authentication, attacks attempting to interfere with authentication, and physical capture attacks), and the storage and communication overhead is small in the case of large time overhead.

1. Introduction

Ad hoc network drones are increasingly used in various fields, for example, to locate people, drop supplies, and relay communications after natural disasters, but also to monitor some high-risk environments, crop growth, and traffic conditions. However, generic ad hoc network protocols allow devices with the same interface to connect freely. Therefore, some unethical manufacturers have illegally obtained program source code through invasive attacks, creating illegal devices that can join real drone networks. These counterfeit devices can easily access the private local area network (LAN) of drone groups, posing a significant threat to the information security of some sensitive data. Due to limited drone resources, it is difficult to apply complex security protocols in networked drones.
The physical unclonable function (PUF) is an emerging hardware security primitive that utilizes intrinsic device variations introduced by uncontrollable manufacturing processes as a unique digital identifier; it is used for the authentication and identification of Internet of Things (IoT) devices [1]. As PUFs do not support open-access protocols, the existing attacks against PUFs mainly rely on invasive or semi-invasive techniques [2]. Physical access to the target device is expensive; so, in some common drone groups, a lightweight PUF-based authentication protocol is used, such as that in [3,4,5,6,7]. Extracting the PUF as a device fingerprint using the MCU’s on-chip SRAM is an efficient and cost-effective method for manufacturers.
However, SRAM flips some of its bits every time it is powered up; so, it needs to use error coding to generate a stable PUF. Error correction code (ECC) modules used in NADN flash are based on Hamming or BCH codes [8,9,10,11], as flash chips are subject to a small number of bursty errors. However, with the increase in chip integration, its stability gradually decreases, and more powerful error correction codes with higher performance are needed, for example, by using multiple coding cascades. However, RAM-based PUFs are more than 10% unstable, and the cascading code scheme is a huge cost for resource-constrained drones. With the development of 4 G/5 G communication in the past decade, the research on LDPC codes has significantly matured, and they are also applied in error control for flash chips or solid-state drives, such as in [12,13,14]. Compared to BCH codes, low-density parity check (LDPC) codes have better performance and faster, simpler encoding/decoding methods, and can be adapted to different code lengths.
Table A1 lists the abbreviations used in this paper, and the contributions of this study mainly include the following:
(1)
A secure communication scheme using on-chip RAM as PUF is proposed to extract the PUF and authorize it to the drone under the guidance of the ground station, which greatly enhances the drone’s ability to resist physical capture.
(2)
A scheme to recover the original PUF using QC-LDPC with lower storage requirements is proposed, and the structural requirements of the coding matrix and special decoding algorithm are given to improve the security of the authentication process.
(3)
The challenge of offering half of the authentication parties and utilizing the response as a medium for negotiating the secret key is proposed, which greatly enhances the ability of the PUF to resist machine learning.

2. Related Works

In recent years, researchers have proposed several lightweight authentication schemes for the IoT to ensure the security and privacy of IoT. In [15], Wazid et al. introduced several security challenges along with necessary security requirements for IoD environments and designed a user authentication scheme for IoD. Ali et al. [16] presented an enhanced authentication scheme for IoD. However, none of the above authentication schemes are secure against physical capture 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.
Asymmetric encryption solves the above problem very well; for example, Won et al. [17] proposed an elliptical curve cryptography (ECC)-based certificate authentication scheme for IoD. Nikooghadam et al. [18] presented an ECC-based secure and lightweight authentication scheme for IoD. Rodrigues et al. [19] presented an ECC-based authentication method for UAV communication. Dogan et al. [20] proposed an ECC-based authentication protocol to provide mutual authentication between UAV and base station devices. Tanveer et al. [21] devised an authentication scheme for IoD which employs a hash function and authenticated encryption with associative data (AEAD). All of the above schemes use elliptic curve encryption, but this requires a high computational and communication overhead margin for resource-constrained edge devices such as drones.
To meet the resource-constrained requirements of drones, the use of PUFs in authentication schemes for IoD has become a popular research direction. Alladi et al. [22] proposed a PUF-based authentication scheme. Bansal et al. [23] designed a similar scheme. Alladi et al. [24] proposed a lightweight mutual authentication scheme based on PUF, which includes drone–GS authentication and drone–drone authentication. None of the papers mentioned above protect challenge–response pairs. Pu et al. [25] proposed a lightweight authentication protocol for UAVs using PUFs and chaotic systems to protect the communication between drones and the GS. However, each drone’s PUF challenge-response pair is stored in its memory.
Almost all of these PUF-based papers assume that the PUF is stable, i.e., inputting the same challenge always produces the same response; otherwise, the hashing operation on the response becomes meaningless. Any PUF needs to be recovered before it is used, and the information used to recover the PUF is necessarily recorded in non-volatile memory, which can give away information about the PUF to attackers. Table 1 summarizes some of the important related works.

3. Security Architecture

3.1. System Model

Secure communication requires the generation of session keys, and mutual authentication between both parties is needed before the generation of the keys. However, authentication protocols typically require both parties to store some information for authentication, which means that each drone in the fleet needs to store the identity information of the entire fleet. The number of drones directly affects the storage cost. The existing key generation algorithms, such as RSA, ECC, etc., are considered to be quite secure, and they pose a great challenge to the computing power and storage of drones when there are a large number of drones involved in P2P communication. Generally speaking, in the entire networked drone system, drones are the most vulnerable to attacks, especially when they are executing missions in the field and are susceptible to physical capture. If the program stored in the non-volatile read-only memory of drones is compromised, the identity information (local and fleet information) and simple key generation algorithms stored in ROM for authentication will be cracked, posing a great threat to the entire network of drones. This study proposes using the ground station as the authentication core to guide drones to read their ID for authentication. Other than a one-time key, the drones store minimal information.

3.1.1. Network Model

The group of drones assumed in this study is shown in Figure 1. The registration of the drones and the access of the GS to the database are both considered to be carried out over secure channels. We assume that the base station and the database are resource-unconstrained, so communication between the database and the GS uses a recognized high level of security with authentication and encryption systems by default. The database is considered secure, and when the administrator assigns a task to the drone fleet, the GS can only access the information of the drone specified by the administrator. The drone does not store any information, while the database does store all the data. With such an architecture, the attacker’s attack shifts to high-performance devices, which significantly increases the difficulty of the attack.
The drones in the fleet establish a local area network using ad hoc protocol and do not have interfaces to open networks such as the Internet. The LAN is constructed through various types of frames for neighbor listening and link perception. Apart from network topology-related information being disseminated through flood broadcasting, specific data information is communicated in a P2P manner with the use of P2P secret keys. For example, Drone A needs to send a message to Drone B. If A uses a P2P secret key between A and B, then neither the other drone nor the GS can receive the message. The ad hoc protocol still retains the feature that allows arbitrary joining, permitting newly authorized drones to join the mission midway through. However, the drone communication channel is considered to be an open channel that can be freely monitored and potentially attacked. In addition, this LAN uses a distributed network with P2P communication, and gateway drones are introduced to become a clustered networking system when the number is high to reduce the storage overhead of P2P secret keys.
The communication distances of the drones and the GS are all limited and subject to link instability, leading to packet loss. Therefore, all the drones are within the communication range of the GS when drones take off. The drones need to transmit status information back to the GS at regular intervals so that the GS can recall the drones that work abnormally in time. For the drones that broadcast the recall, the remaining drones update the communication secret key set.

3.1.2. Authentication Model

Based on the above networking model, an authentication model is proposed. All the legal drones are registered in the database with a set of data consisting of a static key k e y i , a communication address I P , a fingerprint PUF P f p , an ID, and extraction information of identity PUF P I D . The registration scheme is shown in Table 2. Before the drones execute tasks, the GS and the drones authenticate each other, and authentication only occurs once at takeoff. The authentication scheme is shown in Table 3.
The fingerprint PUF consists of a 64-byte contiguous sequence in RAM, while the ID PUF is a 32-byte sequence of discontinuous RAM segments. The PUF based on RAM belongs to weak PUFs. Therefore, this study uses random position, random direction, and random length as challenges for the PUF. The read position and read direction are provided by the GS (vector a in Table 3), while the read length for each position is provided by the drone (vector b in Table 3). The drone strings the read sequence into a 32-byte fingerprint f p ^ and sends it to the GS, which computes the challenge given by the drone based on the database and uses the hash value of that challenge as the secret key h ( b ) for the next stage. Considering that the fingerprint PUF is limited, a static secret key k e y i is reserved in the drone since static secret keys are easily readable. Therefore, during the first stage of authentication, GS tags the drone information associated with the key to prevent counterfeit drones.
In Table 3, it should be noted that in the second step, GS generates four 1-byte signed numbers with a maximum representation range of −128 to 127, with the sign sgn ( a ) representing the direction of the read and a i representing the read position (offset from the start address). However, the fingerprint PUF has 64 bytes (512 bits), so it is necessary to divide the PUF into cells of 4 bits each. The advantage of this is not only that GS only needs to perform a hexadecimal convolution of the fingerprint when matching the fingerprint, which saves 3/4 of the time compared to a unit convolution, but also that the drone can send it directly in hexadecimal, eliminating the process of converting binary strings to hexadecimal arrays. To make the GS more efficiently matched, this paper requires that the random length be no shorter than 8 cells (32 bits). In the fifth step, the method of adding perturbations δ to GS is discussed in detail in Section 3.4.2. In the sixth step, the reason why [ I D δ , C δ ] = E C C ( I D ^ , C ^ δ ) is discussed in detail in Section 3.4.1. It is important to note in particular that the identity PUF is used for the second stage of authentication, where the power-up current is the challenge and the I D ^ is the response (the ID used for enrollment in Table 2 is one of its responses).
The network access permission for a drone is determined by second-stage authentication, while first-stage authentication ensures that the extraction information during second-stage authentication is difficult to steal, and if stolen, it can ensure that the network formation of the other drones remains secure. If an authorized situation occurs during authentication, the GS should not send the broadcast key to the drone, and the ground station needs to report to the database to permanently blacklist all its information. If the drone wants to continue using the network, it needs to re-register with completely new authentication information in the database. After successful authentication, the ground station informs the drone of the current broadcast key using the generated temporary key. The latest communication key seed set is then broadcasted across the entire network using the broadcast key, which is related to the ground station and all the authorized drones of the current mission. After flood broadcasting, the newly authorized drone can access the network normally. For the recalled drone with abnormal work, if it does not return within the specified time, the GS regards it as lost and informs the database to block its registration information.

3.1.3. Communication Model

Based on the above authentication results, the following communication scheme is proposed. All the frames used for data transmission and network formation are encrypted. If it is a P2P transmission, the corresponding key is used; if it is a broadcast frame, a broadcast-exclusive key, k e y b c , is used. The GS regularly updates the group broadcast key through flood broadcasting. After successful authentication, a one-time key, k e y t e m p , is generated based on the authentication information, and the GS uses this key to inform the newly authorized drone of the current broadcast key. Once the drone receives the current broadcast key, both parties abandon k e y t e m p .
Considering the impact of the number of drones on storage, a 4-byte session key seed is used for P2P communication. In addition, during clustered networking, the drones only need to store the internal communication keys of the gateway. The gateway drones need to store the additional session key seeds of the other gateway drones. Based on the current authorized number of drones n , the GS generates a collection of 4-byte random numbers (including the communication with the GS) to form a key seed set s = { I P n e w , I P 1 , s 1 , , I P n , s n } and broadcasts it to the entire network using the broadcast key. All the authorized drones add keys for communication with the newly authorized drones based on their own IPi. The newly authorized drones record the broadcast key in RAM. Therefore, each drone has a key collection s i = { k e y b c , s t o G S , I P j , s t o I P j } , 1 j n , j i , recorded in RAM. Note that the neighboring secret key seed broadcast by the BS is only 32 bits; therefore, it is only used for the first P2P communication and has a single lifetime.
The lifetime of the secret key of a P2P session is related to the link state, e.g., two parties with a robust link means that the distance is close and the communication is more frequent, and the secret key lifetime is appropriately reduced to increase security. If the link is stable, both P2P parties pass the current secret key as a random seed into the same random number generator (e.g., to compute the hash value of the old secret key); if the link is unstable, the secret key lifetime can be calculated via the parties informing each other of the packet loss rate, and the negotiation accompanied by the link state information in the network topology frame not only reduces the overhead of secret key negotiation but also avoids the risk of secret key exposure. From a global perspective, the key seed set used for P2P communication is an adjacency matrix with the originating drone in the vertical coordinate and the receiving drone in the horizontal coordinate, as seen in Formula (1), where s ^ I P n is the key set removes the broadcast key k e y b c . The keys vary to different degrees based on the number of sessions between the drones (it could be a 256-bit secret key or a 32-bit initial seed), as seen in Formula (2). For example, coordinates ( 1 , 3 ) represent a iterations of the communication key between Drone D 1 and Drone D 2 , and since the secret key is symmetric, the secret key for coordinate ( 2 , 2 ) is also iterated a times. In fact, a P2P secret key is a dynamic secret key that undergoes constant iteration with the number of communications.
S = s ^ I P 1 s ^ I P 2 s ^ I P n = s G S 1 s I P 2 s I P n s G S 2 s I P 1 s I P n s G S n s I P 1 s I P 2
S ^ = s G S 1 ( d ) s I P 2 ( a ) s I P n ( b ) s I P n e w ( 1 ) s G S 2 ( e ) s I P 1 ( a ) s I P n ( c ) s I P n e w ( 1 ) s G S n ( f ) s I P 1 ( b ) s I P 2 ( c ) s I P n e w ( 1 ) s G S n e w ( 1 ) s I P 1 ( 1 ) s I P 2 ( 1 ) s I P n ( 1 )

3.1.4. Implementation

This study uses two STM32F407-DISCOVERY (STMicroelectronics, China, www.st.com/en/evaluation-tools/stm32f4discovery.html (accessed on 1 May 2024)) boards (operating at a frequency of 168 MHz, with 128 KB of RAM) to simulate drones, with a Raspberry Pi 3 (RP3) simulating the ground station. An Arduino MEGA board and relays are used for automated power control, which can work with the RP3 for automated ID extraction. The RP3 development environment runs on Python 3.10 under Linux, with a text-based database. The development boards utilize the Keil MDK 5.24 integrated development environment, which includes online simulation functionality for easy monitoring of resource usage, memory allocation, and processing speed, particularly when calculating the extraction position of the PUF.

3.2. ID Extraction

In Table 2, it is important to note that the distribution of stack memory in different types of microcontrollers varies, and there is no unique extraction position or method. Typically, after the . b s s segment and the . d a t a segment, the heap space is incrementally allocated from the lowest address, while the stack space is decremented from the highest address. For example, in the Arduino MEGA, the stack is located on both sides of memory; so, extraction requires identifying the midpoint between the maximum heap space and maximum stack space, which may necessitate re-registration when updating the main program of the device. However, for the STM32F407 used in this study, by examining the memory mapping file (.map) generated during the compilation of the Keil project, it is found that RAM1 has a total size of 0x1c000 (112 KB) and RAM2 has a total size of 0x4000 (16 KB). RAM1 has a base address of 0x20,000,000, with a heap space of size 0x200 (512 B) at an offset of 0xd8 from the base address, and a stack space of size 0x400 (1024 B) at an offset of 0x2d8. Therefore, we choose 128 bytes from the end of RAM1 (from 0x2001c000 to 0x2001bf80) to be used to extract the fingerprint PUF and identity PUF.
In the above RAM segment, 64 bytes near the end of the RAM are used to extract the identity PUF, the remaining 64 bytes are used as the identity PUF, and the start position of the identity PUF is recorded in the drone. The RAM fragment used for the identity PUF is subjected to 100 power-ups to test the stability of each bit. It is found that the number of unstable bits exceeds α = 20 % . These 100 sets of data are labeled stable bits and unstable bits based on the threshold τ = 90 % (see Table 2, Step 3), where threshold τ , if set too high, results in a very stable segment but requires a large amount of storage for the unstable bit set S u s , while setting the threshold too low exceeds the error correction performance of the LPDC codes. A segment containing 256 stable bits is extracted using a sliding window with a step size of 1 byte, and the window offset, the read length (approximately 32 B × ( 1 + α ) 38 B under the current threshold), and the unstable position set S u s (typically 256 b i t s × α τ 46 b i t s need to be recorded) are recorded. The above information is written into the microcontroller program, and after re-powering the device 100 times, it is observed that there is n ε { 0 , 1 , 2 } bit flips with each power cycle. In short, in a 38-byte contiguous segment containing 256 bits of identity PUF, the remaining bits are recorded in the unstable set, and the bits of the identity PUF that are still subject to change are recorded in the predicted unstable set.
Furthermore, if the response that the identity PUF receives each time is powered up is denoted by I D ^ , then the difference between I D ^ and the registered I D can be denoted by ε = I D I D ^ , where ε is a 256-bit sequence containing n ε “1”s. The extraction results in the context of this study are shown in Table 4, indicating that both the Hamming weight and Hamming distance for the ID and RAM are close to the theoretical values in a statistical sense.

3.3. QC-LDPC Encoding

LDPC codes are a type of high-performance LBC. Their encoding method is similar to that of LBCs where in the codeword w = m · G   m is the message vector and G is a generating matrix. G consists of an identity matrix I and a parity-check matrix P . LDPC codes have rules such that each parity-check bit supervises ρ message bits, and each message bit is supervised by γ parity-check bits. Additionally, in relation to the size of the matrix, both ρ and γ are typically small [26]. The principles of error correction for LDPC codes can be detailed in the paper on its origins [26].
LDPC codes have many construction methods; the performance of LDPC matrices constructed randomly is generally better than algebraic construction, but the matrices constructed randomly pose a challenge to the storage of drones. QC-LDPC is an algebraic construction method, and the nearly cyclic property greatly reduces the storage requirements [27,28,29,30].
QC-LDPC is characterized by its parity-check matrix composed of zero and circulant permutation matrices. The check matrix can be expressed as follows:
P T = E c 00 E c 01 E c 0 , n 1 E c 10 E c 11 E c 1 , n 1 E c m 1 , 0 E c m 1 , 1 E c m 1 , n 1
where E c i j 0 i m 1 , 0 j n 1 represents a b × b circulant permutation matrix obtained by shifting the identity matrix to the right c i j { 0 , 1 , , b 1 , 1 } times. If c i j = 1 , it represents E as a zero matrix. The calculation method of c i j is not unique, and this study adopts
c i j = ( i + 1 ) k   mod   b , a i j = 1 , k { 0 , 1 , , ρ 1 } 1 , a i j = 0
where a i j is an element of the base matrix. By replacing the element E c i j with c i j in matrix P T , the shift parameter matrix C can be obtained:
C = c 00 c 01 c 0 , n 1 c 10 c 11 c 1 , n 1 c m 1 , 0 c m 1 , 1 c m 1 , n 1
By replacing the element “−1” with “0” in matrix C and replacing the other elements with “1”, the base matrix A can be obtained, where a i j { 0 , 1 } .
A = a 00 a 01 a 0 , n 1 a 10 a 11 a 1 , n 1 a m 1 , 0 a m 1 , 1 a m 1 , n 1
It can be seen that for the codeword w = m G = m m · P , the key is to multiply with the message part m . If represented by row vectors p i , P T = p 0 , p 1 , , p n k 1 T , it is w i = m p i = m 0 p i 0 + m 1 p i 1 + + m k p i k = p i k = 1 m k , p i k { 0 , 1 } . Therefore, during encoding, it is only necessary to record the positions of “1” in each column of the matrix P T , p i = { p i 1 s t , p i 2 nd , , p i ρ th } , 0 i n k 1 to obtain a new matrix P L T of size ( n k ) × ρ composed of indices
P L T = p 0 p 1 p n k 1 = p 0 1 s t p 0 2 n d p 0 ρ t h p 1 1 s t p 1 2 n d p 1 ρ t h p n k 1 1 s t p n k 1 2 n d p n k 1 ρ t h
During program execution, it is only necessary to calculate the symbol bits supervised by a certain parity bit and to perform the XOR operation, w i = n { 1 , 2 , , ρ } m l i n .
If the base matrix A also has the characteristics of cyclic shifts, then all the matrix information can be embedded in the program. For encoding, each time a parity bit is computed, a computation is required. Considering that the program running memory space on embedded chips is generally more limited than program storage space, this method of trading computation time for RAM space is acceptable. The basis matrix A , for example,
A = 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1
has a grith of six. The cyclic parameter matrix is
C = 0 1 2 0 2 4 0 3 6 0 4 8 0 5 10 0 6 12 0 7 14 0 8 16 .
Utilizing submatrices E 32 for expansion, a matrix of size 8 × 8, with a girth of eight and a size of 256, is obtained.
The shape of matrix P T used in this study can be seen in Figure 2, and the Generation of LDPC parity matrix P L T is shown in Table 5. The row index is calculated in a similar way to the column index formula.

3.4. Error Correction Schemes

Firstly, concerning the parity matrix H = h i , j k × n , define the symbol set N i = { j , 1 j n , h i , j = 1 } for the i-th parity equation. It is worth pointing out that in Table 5, the column index result p r A N i represents the set of symbols for the j-th symbol (including information bits and parity bits) involved in the set of parity equations K j = { i , 1 i k , h i , j = 1 } , i.e., the row index.

3.4.1. Cyclic Matrix Selection

The response generated by identity PUF can be represented as I D ^ = I D ε (see Section 3.2), while the registered ID after scrambling by the GS can be represented as I D δ = I D δ . Therefore, the response can be represented as I D ^ = I D δ δ ε . When the GS uses I D δ to derive random noises n and m , the disturbance is passed on to the parity information of I D δ , causing the parity information obtained by the microcontroller to actually be C ^ δ = C δ δ ε . Therefore, for the microcontroller, the error positions in I D δ are symmetric with the error positions in C δ .
Therefore, the coding matrix used in this authentication scheme requires as few symbol bits on the main diagonal as possible. The reason for this is as follows: by examining Figure 2, it can be seen that the matrix is diagonal-like, as shown in Figure 3. If we represent the base matrix A as I 32 and divide the parity bits and correction subunits into eight similar parts, when an error occurs in M j , errors will occur symmetrically in C j as well. According to decoding theory, if errors occur in M j , the related syndrome S K j will also change. In the current matrix, where j K j , this means that if an error occurs in M j , both the coding error and the symmetric error will affect the same S K j This undoubtedly greatly increases the decoding difficulty. The encoding matrix used in this study is the unit of circular right Shift 2 in Figure 2, and the column index algorithm in Table 5 needs to shift the corresponding loop right by 64 bits.

3.4.2. GS Perturbation Selection

In the proposed scheme of this paper, the response of the identity PUF of the drone changes by several bits, and the GS adds perturbations on top of it. This is performed to maximize the number of error-correcting bits in the ECC, which not only allows each response of the identity PUF to be controlled by the GS but also greatly increases the difficulty of an intrusive attack (described in detail in Section 4.3). As can be seen in the previous section, the power-up perturbation ε and the GS perturbation δ are symmetric in the information part and the parity-check part, so the location of the GS to add the perturbation needs to be constrained by the following. The symbol bit position of δ is as different as possible from the symbol bits supervised by the syndromes affected by the unstable bits. That is the symbol bit of δ , δ j { N i , s i K j , m j S p u s } . We take the base matrix A as an example; as shown in Figure 4, if S p u s = { m 5 } , then δ j { m 1 } . Based on the above, if the parity matrix P T is considered as the adjacency matrix of the check bits and information bits, the disturbance δ j needs to be outside the two-hop range of all the unstable bits in S p u s . Depending on the matrix performance and the length of the codeword, this study selects n δ = 2 according to P ε , where n δ is the number of symbol bits in sequence δ .

3.4.3. Decoding Algorithm Selection

The decoding algorithm of LDPC codes is divided into the bit-flipping (BF) algorithm and the belief propagation (BP) algorithm [31,32,33]. BP decoding algorithms require channel information; for example, in an AWGN channel, one can calculate the probability of each bit being in error using the statistical information of the noise and performance decoding using maximum likelihood (ML) probability. However, in a BSC channel, knowledge of the statistical transition probabilities of each bit is required, but as the ML information is binary, there is less useful information available for BP. Even though the flipping probabilities of unstable bits can be measured in the previous section, and considering the need to store additional information in the drone, which is not conducive to PUF security (as it implicitly reveals potential error-prone locations), this study adopts the BF algorithm [34], as shown in Algorithm 1. Although its performance is not as good as the BP algorithm, its simplicity and lack of floating-point operations make it very suitable for resource-limited drone devices. However, the BF algorithm always flips the information bits by the parity bit first, until the flip functions are all equal; subsequently, it corrects the parity bit and then re-corrects the information bits. When the flip functions converge to unity, they likely enter a dead loop or indeed solve a legal codeword, but not the target codeword.
Algorithm 1. BF decoding.
1:Initialize with the maximum number of iterations Imax.
2:Initialize the hard judgment sequence z ( 1 ) = { z 1 ( 1 ) , z 2 ( 1 ) , , z n ( 1 ) } .
3:For  k = 0 ;   k < I max ;   k + +  do
4:  Initialize with the all-zero flag f l a g = 1
5:  For  i = 0 ;   i < 256 ;   i + +  do
6:    Calculate the symbol position of row  i of the matrix H
7: Calculate   the   syndromes   s i ( k ) = z ( k ) H T ( : , i )
8:    If  s i ( k ) = 1  then  f l a g = 0  end
9:  End for
10:  If  f l a g = 1  then break end
11:  Initialize with the maximum value E max = 0 ;
12:  For  j = 0 ;   j < 256 ;   j + +  do
13:    Calculate the flip function E j ( k ) = j M j ( 2 s i ( k ) 1 )
14:    If  E j ( k ) > E max then  E max = E j ( k )  end
15:  End for
16:  For each  E j E ( k )  do
17:    If  E j = E max  then  z j ( k + 1 ) ! = z j ( k )
18:    Else  z j ( k + 1 ) = z j ( k )  End
19:  End for
20:End for
21:Output  z ( k )

3.4.4. BF Algorithm Optimization

For the above situation, directional improvement is achieved by combining the characteristics of the protocol in this study: symmetrical error position of the information bit and the parity bit, but asymmetrical position of the information bit and its parity bit. Improvement is quite simple, according to the characteristics of the BF algorithm; the information bit and the parity bit in a symmetric position are flipped at the same time. Using the Monte Carlo method to simulate the above process, the main flow is shown in Figure 5 (the decoding process is not affected by where the perturbation comes from); the number of bits for each perturbation is simulated for 50,000 frames, and the decoding results are shown in Figure 6. In the context of this study, the power-up perturbation and GS perturbation are generally 3~4 bits, and its bit error rate (BER) is 6.87 < 10 5 ; the average number of iterations is 2.5.
Note that symmetric BF (SYM−BF) is robust to symmetric errors, but if an asymmetric error occurs, there is a high probability that the maximum number of iterations is exceeded and the decoding fails. This feature can invalidate some attack methods that do not follow the protocol. For example, using the last stolen check information to decode the next power-up ID will decode the I D δ if and only if the two perturbations are identical. For intrusive attacks on replicated RAM, it is required that the replication error be no more than a few bits.

4. Security Analysis

4.1. Informal Security Analysis

In our model, considering the limited resources of drones, the drones are considered vulnerable to attacks, while the ground stations and databases are marked as difficult-to-attack objects (using widely recognized high-security-level authentication and encryption systems). Therefore, we only need to consider the security between the ground stations and drones, as well as that among the drones. According to the communication scheme of this study, the dynamic key between drones is distributed by the GS after authorization and the dynamic secret key is iterated by calculating the hash value, and only needs to synchronize the link state (packet loss rate) with each other during the negotiation process and are fully encrypted throughout. Therefore, the security of drone communication is determined based on the security at the time of takeoff authorization. The information that can be known in an open channel is shown in Table 3. A comparison of security with other protocols is shown in Table 6.
(1)
Resistance of replay attack: All messages transmitted in the channel have timestamps added that cannot be tampered with.
(2)
Resistance of man-in-the-middle (MITM) attack: All the information of the whole group network is encrypted. Except for the group network information, which is broadcasted, all the information is encrypted using the P2P secret key assigned by the GS, and the keys are dynamic and do not need to be negotiated in the channel so that no third party can eavesdrop. Thus, an intermediary is not be able to interfere with the authentication process.
(3)
Mutual authentication: The GS judges the legality of the drone based on whether or not the drone correctly decodes the I D δ . The drone judges the legality of the GS based on comparing the I D δ with the power-up response I D ^ , and since the number of erroneous bits added by the GS is not large, the I D ^ should have a similarity to the I D δ higher than 98.8% (see Figure 6 for the ECC performance of this paper).
(4)
Resistance of impersonation attack: The protocol in this paper is based on PUFs and requires the GS to bootstrap the extraction of PUFs. Therefore, an attacker cannot obtain PUF information and cannot impersonate a drone. In addition, this paper assumes that the security of the GS is authenticated by the database and supervised by the administrator, so the GS cannot be spoofed by default.
(5)
Resistance of DoS attack: An attacker who wants to block the authentication process needs to obtain the static key of the drone (obtaining the key requires capturing the drone). However, the static secret key is unique for each drone, so it is not reasonable to use the static secret key to attack the drone. The protocol in this paper is semi-automated and requires an administrator to assign drones. The GS does not initiate authentication on a missing drone; then, the static key obtained by the attacker is invalid.
(6)
Resistance of physical capture attack: Because all encryption information at the drone end is provided by the ground station during authorization and the ROM only stores the static key, if the static key is obtained by reverse engineering the assembly instructions stored in the program memory, using this key in a conventional attack can only obtain half of the challenge from the ground station and the drone’s response. Since the fingerprint PUF is not available, the challenge given by the drone is not available, nor is the information about the identity PUF. In addition, once the captured drone loses power, all authentication information is lost.
(7)
Provision of forward and backward secrecy: The proposed protocol authentication process includes a challenge of fingerprint PUF, fingerprint, extracted information of identity PUF, ID with noise, and parity with noise. For an attacker who does not have access to PUF information, all these information bits are independent of each other and it is not possible to compute the forward or backward information based on any one of them.

4.2. Formal Security Analysis

To prove the security of this paper, the formal analysis uses the stochastic prediction model which classifies the attacker’s attacks into seven types. The proof is as follows. The symbol P i in this model represents the No.i session of participant P , where P includes drones and GS.
Definition 1.
Suppose here exists an attacker A who has access to all messages and public parameters in the channel. The attacker can attempt the following to compromise protocol security:
(1)
S e n d ( P i , p 1 , m 1 ) . This operation represents attacker A posing as legitimate device P , sending message p 1 to another device and receiving message m 1 .
(2)
E x e c u t e ( D i , G i , m ) . This operation represents attacker A intercepting message m between the drone and the GS.
(3)
R e v e a l ( A ) . This operation initiates a DoS attack on behalf of attacker A , blocking the communication between the drone and the GS.
(4)
C o r r u p t ( D i , K ) . This operation represents attacker A destroying the drone and accessing confidential information in memory.
(5)
H a s h ( M ) . This operation represents a hash query on message M by attacker A . The hash list L h in P i is queried to see if message M is contained.
(6)
Q u e r y ( C R P ) . This operation represents querying the CRP generated by the PUF during the authentication process, and if the query is successful, the ( C i , R i ) is stored into the list L C .
(7)
T e s t ( P i ) . This operation represents that attacker A sends a test query to device P to measure the semantic security of the session key.
Theorem 1.
In the protocol proposed in this paper, an attacker cannot utilize multiple operations to pass the authentication (drone impersonation attack).
Proof of Theorem 1.
The first stage in Table 3 protects the CRP through a static secret key k e y i . The second stage employs the secret key h ( b ) established in the first stage, and the information about the ECC is encrypted with random noise n , m , k . Therefore, a simple eavesdropping channel cannot obtain any confidential information. Therefore, no confidential information can be obtained by using only S e n d ( ) and E x e c u t e ( ) operations. If the attacker obtains a static secret key k e y i by using operation C o r r u p t ( ) , the attacker can obtain the challenge a given by the GS and the response f p ^ of the drone. Since the attacker does not have access to the fingerprint PUF, the attacker cannot compute the challenge b given by the drone. If the attacker uses the C o r r u p t ( ) operation after obtaining the secret key and models the fingerprint PUF to obtain the second stage secret key h ( b ) the attacker can obtain the extracted information of the identity PUF, but still cannot decrypt I D ^ n and n m . Since the protocol in this paper is based on unstable PUFs and the challenge of identity PUFs comes from the power supply, the C o r r u p t ( ) operation or power down changes the current response I D ^ i and m is difficult to compute. In summary, since the attacker cannot know either the power-up response I D ^ of the identity PUF or the parity information C δ given by the GS, a fake drone is not possible.
In conclusion, it is not possible to fake the drone since the attacker cannot know the power-on response of the identity PUF or the parity information provided by the base station. Without passing the authentication, it is not possible to obtain the GS’s broadcast secret key and the P2P secret key set. Therefore, the main research focus of this paper is proven to be finished. □
Theorem 2.
The proposed protocol is resistant to attacks that prevent authentication.
Proof of Theorem 2.
According to Theorem 1, it is known that an attacker can obtain key k e y i and key h ( b ) by operation C o r r u p t ( ) . These keys are only valid for a compromised drone, but the administrator will not assign a corrupted drone to a mission. It is contradictory for an attacker to disassemble a drone to perform a tamper attack and replay the attack on it. It is also impossible for an attack on the GS, as it is proposed in Section 3.1.1 that the GS authenticates based on the drone specified by the administrator. In short, it is meaningless for an attacker to attempt to attack the authentication process, e.g., replay attacks, tampering attacks, DoS attacks, and so on. □
Theorem 3.
An attacker cannot break the protocol of this paper even if they invoke operations  R e v e a l ( ) , H a s h ( ) , and  T e s t ( ) .
Proof of Theorem 3.
Operation R e v e a l ( ) is analyzed in Theorem 2. A total of five hash operations are used in this paper: h ( b ) , h ( T 4 , b ) , h ( T 5 , b ) , h ( C δ ) , and h ( k ) . The case where parameter b is cracked is analyzed in Theorems 1 and 2; operation H a s h ( ) does not work for the protocol of this paper as the sequences C δ , k are not available. In addition, the secret keys used in this paper are all 32 bytes, so the probability of success of operation T e s t ( ) is extremely small. □

4.3. Intrusive Attack

As can be seen from the introductory section, attacks on RAM-based PUFs mainly rely on intrusive or semi-intrusive techniques. Intrusive attacks are mainly used to break crypto-chips through physical disassembly (e.g., lasers, microscopy, etching, etc.), while RAM-based PUFs can also be viewed as a type of crypto-chip. Since this paper’s protocol requires an administrator to assign a drone, these attacks that are destructive to the chip are not effective for this paper’s protocol.
However, side-channel analysis is an efficient semi-intrusive attack that does not require destroying the chip to obtain the leaked secret key information, such as through power consumption or electromagnetic radiation analysis. Therefore, the purpose of this study is to increase the cost of intrusive attacks as much as possible. Since the fingerprint PUF information needs to be obtained before it is possible to obtain the location of the identity PUF, the attacker needs to read the whole read chip RAM. In this study, the GS introduces additional noise to the response of the identity PUF to make the ECC error correction performance reach a critical value. The addition of noise is based on the predicted unstable set, which is essentially the response characteristics of the PUF so that each accidental bit-flip when copying the entire RAM exponentially increases the probability of ECC decoding failure, which leads to authentication failure.

5. Cost Analysis

5.1. Computation Overhead

In this paper’s protocol, the computational overheads involved in the drone include five 256-bit hash computations T H , two 256-bit random noise generations T R , six 256-bit “XOR” operations T S K , one 256-bit decoding T E C C , and two 256-bit PUF responses T P . The purpose of this study is to ensure security while minimizing the cost of drones. According to the microcontroller with a main frequency of 168 MHz, as used in this study, by placing breakpoints around the called functions using online simulation tools, the average time difference is calculated. Based on the ECC time consumption for different numbers of iterations, a single iteration takes 30 msec. Considering the maximum possible number of errors, as shown in Figure 6, the average iteration is 2.25 times, which amounts to 65 msec. As calculating each parity bit requires indexing the symbol bit each time, the decoding time cost is relatively high. However, this saves RAM space of 256 × 32 bytes, which is acceptable. The other operation time overheads are shown in Table 7. In this paper, it is assumed that the GS resources are not constrained; therefore, only the drone overheads are given. Since matrix storage consumes a lot of resources and authentication is performed only when the drone takes off, this paper adopts a time-for-space scheme. In addition, the decoding is implemented in this paper in a way that follows the theoretical steps, but if a parallelized decoding scheme is used on a high-performance platform, the time overhead significantly reduces.

5.2. Storage Overhead

The static storage overhead on the drone side consists mainly of a 32-byte static secret key, and the dynamic storage consists mainly of the secret key of the n-1 drones and GS, as well as the broadcast secret key; the registration information in the database is related to the extraction threshold, which is required to be approximately in the range of {4 + 32 + 64 + 4 + 1 + 39 + 32 + 22} = 198 bytes (according to the registration information { I P , k e y i , P f p , s t a r t , l e n , S u s , I D , S p u s } ) for each drone according to the threshold in this study.

5.3. Communication Overhead

The communication overhead mainly occurs in the GS authentication phase. According to the communication steps in Table 3 the authentication overhead can be calculated as
{4 + 4} + {32 + 4} + {4 + 1 + 39 + 4} + {32 + 32 + 4 + 32} + {32 + 32 + 4 + 32} + {32 + 4} = 328 bytes.
The keys in the communication phase are distributed by the GS and do not need to be negotiated. The secret key set for broadcasting new authentication is related to the number of drones, and in 0 only the GS-drone authentication overhead is compared.
Zero shows the comparison of drone overheads, taking into account the different simulation platforms. The time overhead is used instead of the formula, where T M A P is the time to compute the authentication code. The storage overhead is only analyzed for the drone. For the communication overhead, it should be noted that protocols [22,23] use 32-bit sequences and protocols [24,35] only count the overhead of drone–GS authentication, while they still need about 4000 bits of communication overhead.
The overhead comparison of this paper’s protocol with other protocols is summarized in Table 8.

6. Conclusions

In this paper, the protocol is proposed for the PUF extraction scheme, the ECC-based authentication scheme, and the drone communication scheme, respectively. In addition, this paper provides a detailed analysis of the coding matrix of the ECC module based on the protocol characteristics and offers the requirements of the matrix structure. Also, the decoding scheme is improved according to the matrix structure, which makes the probability of legal drone authentication failure of this paper’s protocol lower than 6.87 × 10 5 and the probability of illegal drone authentication success lower than 3.62 × 10 7 .
The proposed protocol is then analyzed both non-formally and formally using random predicates, proving that the protocol of this paper can withstand various attacks. Comparative analysis with other protocols shows that the protocol of this paper is equally as secure as other protocols. Finally, the overhead of this paper protocol is calculated and compared with other protocols, and it is found that this paper protocol is higher in time overhead as matrix operations are computationally intensive operations; storage overhead is only 32 bytes; communication overhead is higher in drone–GS authentication as it needs to send the extracted information of the PUF but the protocol of this paper does not require a drone–drone authentication; overhead is zero.
In conclusion, the protocol in this paper meets the expectation of ensuring security while minimizing the information required to be stored by the drone.

7. Discussion

The present protocol still has some flaws. The protocols in this paper need to be monitored by administrators, and drones are not completely free to join or leave the network. In addition, the protocol in this paper assumes that GS and database resources are unrestricted and can withstand various attacks by default, so the drone information is all stored in the database. The limitations of the above conditions may impose some restrictions on the application of the protocol in this paper. In addition, the performance of the coding matrix used in this paper is poor and the probability of legitimate drone authentication failure is relatively high.

Author Contributions

Conceptualization, J.Z. (Jun Zou); methodology, J.Z. (Jiacheng Zhang); software, P.G.; validation, G.L., Z.W. and J.Z. (Jun Zou); formal analysis, J.Z. (Jiacheng Zhang); investigation, P.G.; writing—original draft preparation, P.G.; writing—review and editing, J.Z. (Jiacheng Zhang); supervision, G.L., J.Z. (Jun Zou). All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data are contained within the article.

Acknowledgments

We thank the other two authors for their theoretical guidance and the university for providing the laboratory equipment and working environment.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

Table A1. Definition of abbreviations.
Table A1. Definition of abbreviations.
AbbreviationDefinition
LANLocal Area Network
PUFPhysical Unclonable Function
IoTInternet of Things
IoDInternet of Drones
SRAMStatic Random-Access Memory
ROMRead-Only Memory
BCHBose, Ray-Chaudhuri, Hocquenghem
MCUMicro Control Unit
ECC (in related works)Elliptical Curve Cryptography
ECC (others)Error Correction Code
QC-LDPCQuasi-Cyclic Low-Density Parity Check
UAVUnmanned Aerial Vehicle
LBCLinear Block Code
BSCBinary Symmetric Channel
AWGNAdditive White Gaussian Noise
OLSROptimized Link State Routing
GSGround Station
P2PPeer-to-Peer

References

  1. Ali, R.; Ma, H.; Hou, Z.; Zhang, D.; Deng, E.; Wang, Y. A Reconfigurable Arbiter MPUF With High Resistance Against Machine Learning Attack. IEEE Trans. Magn. 2021, 57, 3402007. [Google Scholar] [CrossRef]
  2. Talukder, B.M.S.B.; Ferdaus, F.; Rahman, M.T. Memory-Based PUFs are Vulnerable as Well: A Non-Invasive Attack Against SRAM PUFs. IEEE Trans. Inf. Forensics Secur. 2021, 16, 4035–4049. [Google Scholar] [CrossRef]
  3. Rai, V.K.; Tripathy, S.; Mathew, J. LPA: A Lightweight PUF-based Authentication Protocol for IoT System. In Proceedings of the 2023 IEEE 22nd International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom), Exeter, UK, 1–3 November 2023; pp. 1712–1717. [Google Scholar]
  4. Modarres, A.M.A.; Sarbishaei, G. Systematic Cryptanalysis of PUF-Based Authentication Protocols for IoT, A Case Study. IEEE Netw. Lett. 2023, 5, 304–308. [Google Scholar] [CrossRef]
  5. Oun, A.; Niamat, M. PUF-Based Authentication for the Security of IoT Devices. In Proceedings of the 2023 IEEE International Conference on Electro Information Technology (eIT), Romeoville, IL, USA, 18–20 May 2023; pp. 67–70. [Google Scholar]
  6. Yoon, S.; Kim, B.; Kang, Y.; Choi, D. PUF-based Authentication Scheme for IoT Devices. In Proceedings of the 2020 International Conference on Information and Communication Technology Convergence (ICTC), Jeju, Republic of Korea, 21–23 October 2020; pp. 1792–1794. [Google Scholar]
  7. Mall, P.; Amin, R.; Das, A.K.; Leung, M.T.; Choo, K.-K.R. PUF-Based Authentication and Key Agreement Protocols for IoT, WSNs, and Smart Grids: A Comprehensive Survey. IEEE Internet Things J. 2022, 9, 8205–8228. [Google Scholar] [CrossRef]
  8. Lin, Y.-M.; Yang, C.-H.; Hsu, C.-H.; Chang, H.-C.; Lee, C.-Y. A MPCN-Based Parallel Architecture in BCH Decoders for nand Flash Memory Devices. IEEE Trans. Circuits Syst. II Express Briefs 2011, 58, 682–686. [Google Scholar] [CrossRef]
  9. Subbiah, A.K.; Ogunfunmi, T. Area-effcient re-encoding scheme for NAND Flash Memory with multimode BCH Error correction. In Proceedings of the 2018 IEEE International Symposium on Circuits and Systems (ISCAS), Florence, Italy, 27–30 May 2018; pp. 1–5. [Google Scholar]
  10. Zhang, M.; Wu, F.; Xie, C.; Zhou, Y.; Zou, K. A novel optimization algorithm for Chien search of BCH Codes in NAND flash memory devices. In Proceedings of the 2015 IEEE International Conference on Networking, Architecture and Storage (NAS), Boston, MA, USA, 6–7 August 2015; pp. 106–111. [Google Scholar]
  11. Lee, K.; Lim, S.; Kim, J. Low-cost, low-power and high-throughput BCH decoder for NAND Flash Memory. In Proceedings of the 2012 IEEE International Symposium on Circuits and Systems (ISCAS), Seoul, Republic of Korea, 20–23 May 2012; pp. 413–415. [Google Scholar]
  12. Jiang, X.-B.; Tan, X.-Q.; Huang, W.-P. Novel ECC structure and evaluation method for NAND flash memory. In Proceedings of the 2015 28th IEEE International System-on-Chip Conference (SOCC), Beijing, China, 8–11 September 2015; pp. 100–104. [Google Scholar]
  13. Suzuki, T.; Deguchi, Y.; Nakamura, T.; Mizoguchi, K.; Takeuchi, K. Error elimination ECC by horizontal error detection and vertical-LDPC ECC to increase data-retention time by 230% and acceptable bit-error rate by 90% for 3D-NAND flash SSDs. In Proceedings of the 2018 IEEE International Reliability Physics Symposium (IRPS), Burlingame, CA, USA, 11–15 March 2018; pp. P-MY.7-1–P-MY.7-4. [Google Scholar]
  14. Nakamura, T.; Deguchi, Y.; Takeuchi, K. Adaptive Artificial Neural Network-Coupled LDPC ECC as Universal Solution for 3-D and 2-D, Charge-Trap and Floating-Gate NAND Flash Memories. IEEE J. Solid-State Circuits 2019, 54, 745–754. [Google Scholar] [CrossRef]
  15. 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]
  16. 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]
  17. 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]
  18. 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]
  19. 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]
  20. 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]
  21. 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]
  22. 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]
  23. 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]
  24. 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]
  25. 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]
  26. Gallager, R. Low-density parity-check codes. IRE Trans. Inf. Theory 1962, 8, 21–28. [Google Scholar] [CrossRef]
  27. Tasdighi, A.; Banihashemi, A.H.; Sadeghi, M.-R. Symmetrical Constructions for Regular Girth-8 QC-LDPC Codes. IEEE Trans. Commun. 2017, 65, 14–22. [Google Scholar] [CrossRef]
  28. Fossorier, M.P.C. Quasicyclic low-density parity-check codes from circulant permutation matrices. IEEE Trans. Inf. Theory 2004, 50, 1788–1793. [Google Scholar] [CrossRef]
  29. Lam, H.-M.; Lu, S.; Qiu, H.; Zhang, M.; Jiao, H.; Zhang, S. A High-Efficiency Segmented Reconfigurable Cyclic Shifter for 5G QC-LDPC Decoder. IEEE Trans. Circuits Syst. I Regul. Pap. 2022, 69, 401–414. [Google Scholar] [CrossRef]
  30. Kim, I.; Song, H.-Y. Some New Constructions of Girth-8 QC-LDPC Codes for Future GNSS. IEEE Commun. Lett. 2021, 25, 3780–3784. [Google Scholar] [CrossRef]
  31. Richardson, T.J.; Shokrollahi, M.A.; Urbanke, R.L. Design of capacity-approaching irregular low-density parity-check codes. IEEE Trans. Inf. Theory 2001, 47, 619–637. [Google Scholar] [CrossRef]
  32. Richardson, T.J.; Urbanke, R.L. The capacity of low-density parity-check codes under message-passing decoding. IEEE Trans. Inf. Theory 2001, 47, 599–618. [Google Scholar] [CrossRef]
  33. ten Brink, S.; Kramer, G.; Ashikhmin, A. Design of low-density parity-check codes for modulation and detection. IEEE Trans. Commun. 2004, 52, 670–678. [Google Scholar] [CrossRef]
  34. Wadayama, T.; Nakamura, K.; Yagita, M.; Funahashi, Y.; Usami, S.; Takumi, I. Gradient descent bit flipping algorithms for decoding LDPC codes. IEEE Trans. Commun. 2010, 58, 1610–1614. [Google Scholar] [CrossRef]
  35. 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]
Figure 1. System model.
Figure 1. System model.
Drones 08 00472 g001
Figure 2. Shape of the final parity-check matrix.
Figure 2. Shape of the final parity-check matrix.
Drones 08 00472 g002
Figure 3. Three parts are arranged in parallel.
Figure 3. Three parts are arranged in parallel.
Drones 08 00472 g003
Figure 4. The two-hop range of the m5.
Figure 4. The two-hop range of the m5.
Drones 08 00472 g004
Figure 5. Monte Carlo simulation.
Figure 5. Monte Carlo simulation.
Drones 08 00472 g005
Figure 6. BER and average number of iterations.
Figure 6. BER and average number of iterations.
Drones 08 00472 g006
Table 1. Summary of related works.
Table 1. Summary of related works.
PaperWorksDependencyDisadvantages
Wazid et al. [15]Introduced a user authentication scheme for IoDBiometricsCannot resist physical capture attacks
Ali et al. [16]Presented an enhanced authentication scheme for IoDBiometricsCannot resist physical capture attacks
Won et al. [17]Proposed an authentication scheme for IoDECCRequires significant computational and communication overhead
Nikooghadam et al. [18]Presented a lightweight authentication scheme for IoDECCRequires significant computational and communication overhead
Rodrigues et al. [19]Presented an authentication method for UAV communicationECCRequires significant computational and communication overhead
Tanveer et al. [21]Devised an authentication scheme for IoDECCRequires significant computational and communication overhead
Alladi et al. [22]Proposed an authentication schemePUFAssumes that the PUF is stable
Bansal et al. [23]Designed an authentication schemePUFAssumes that the PUF is stable
Alladi et al. [24]Proposed a lightweight mutual authentication schemePUFAssumes that the PUF is stable
Pu et al. [25]Proposed a lightweight authentication protocol for UAVsPUFAssumes that the PUF is stable
Table 2. Registration procedure.
Table 2. Registration procedure.
Registration Procedure
Step 1: Analyze the usage of the on-chip memory of the target drone and select an uninitialized RAM segment that is as long as possible.
Step 2: Repeat power-up 100 times to detect the distribution of unstable bits in this segment and select a more stable 64-byte contiguous segment as the P f p . Choose a more stable segment to extract the 32-byte ID and record all bit changes in this segment.
Step 3: Starting with the first bit of the segment used to extract the ID, if 90% of the records in that bit are “1” or “0”, then record it in the I D , otherwise record it as an unstable set S u s , until the length of the I D reaches 32 bytes. Record the starting address s t a r t of the segment and use the total length l e n for registration.
Step 4: Record the starting position of the P f p and its length in the drone’s program, along with a static secret key k e y i .
Step 5: Since the stability of the bits of the ID is classified according to a threshold, the bits that are still unstable need to be powered up again several times to test them and recorded in the set S p u s of predicted unstable bits.
Step 6: Record the registration information in the database in the format
{ I P , k e y i , P f p , s t a r t , l e n , S u s , I D , S p u s } .
Table 3. Authentication scheme.
Table 3. Authentication scheme.
StepDroneChannelGS
1Pending accreditation. Access the database to obtain the registration information for the drone requested.
{ I P , k e y i , P f p , s t a r t , l e n , S u s , I D , S p u s }
2If the time has not expired, then continue;
Solve the f p extraction offset a ;
Split the fingerprint into 128 parts at 4 bits;
Generate 4 numbers, b i , such that i = 1 4 b i = 256 , b i = 8 .
( a , T 1 ) k e y i Solve the random number g ;
Calculate the hash of the g ;
Generate 4 signed random numbers a i [ 128 : 127 ] , i = 1 , 2 , 3 , 4 ;
Add a timestamp;
Send a = ( a 1 | | a 2 | | a 3 | | a 4 ) to drone.
3Read b i bits from position a i ;
e.g., a = 10 , b = 50 means reading 50 cells forward from the 10th cell;
Sequentially splice into f p ^ .
Add a timestamp;
Send it to GS.
( f p ^ , T 2 ) k e y i If the time has not expired, then continue;
The reading position and direction can be known from a i ,   and   b i can be calculated quickly from P f p ;
Based on a i and b i one can generate f p with P f p ;
Compare f p and f p ^ ; if the similarity reaches a threshold, e.g., > 75 % , the authentication passes.
4If the time has not expired, then continue;
Calculate the hash of the b ;
Solve the extraction information;
Extract the I D ^ with the power-on disturbance.
h ( b ) ( s t a r t , l e n , S u s , T 3 ) If uniquely authenticated,
calculate the hash of b = ( b 1 | | b 2 | | b 3 | | b 4 ) ;
Send the ID extraction information and add a timestamp.
5Generate noise n , m ;
Encrypt the I D ^ and a noise with n ;
Add a timestamp, and add verification information.
I D ^ n , n m , T 4 , h ( b , T 4 ) If the time has not expired, then continue;
According to the predicted unstable set S p u s , add a few perturbations δ to the registration I D to make it I D δ ;
Solve for n ^ = I D δ ( I D ^ n ) with I D ;
Solve for m ^ = n ^ ( n m ) with n ^ .
6If the time has not expired, then continue;
Solve for C ^ δ = m ( C δ m ^ ) with m ;
Stitch the I D ^ and parity information C ^ δ to form a complete codeword;
Use the ECC module to correct the codeword:
[ I D δ , C δ ] = E C C ( I D ^ , C ^ δ ) .
C δ m ^ , k h ( C δ ) , T 5 , h ( b , T 5 ) The parity information C δ is obtained for I D δ encoding;
Generate noise k ;
Calculate the hash of the C δ ;
Send parity information C δ encrypted with m ^ and the noise encrypted with h ( C δ ) ;
Add a timestamp and verification information.
7Solve for k = C δ ( k C δ ) with C δ ;
Calculate the hash of the k ;
Send the restored I D δ encrypted with h ( k ) .
h ( k ) ( I D δ , T 6 ) Calculate the hash of the k ;
If k k , the timestamp is garbled;
If the time has not expired, then continue;
Solve for I D δ = h ( k ) ( h ( k ) I D δ ) with h ( k ) ;
If I D δ and I D δ are identical, the authentication is successful.
8A temporary secret key is created. h ( I D δ | | k | | C δ ) A temporary secret key k e y t e m p is created.
Table 4. Details of the stm32f4.
Table 4. Details of the stm32f4.
ParametersBoard 1Board 2
Hamming weight of RAM382414
Hamming distance of RAM358 bit/100 Byte = 44.75%
The offset of the window424
The length of the window3940
The number of unstable bits3642
Still unstable ratio9.375%7.8%
Probability of occurrence of more than 2 bit flips2%3%
Register IDae0720286ff7ffdc4409
141a7f47f8d43400a336
d7e840a50c07c2ffea08
4000
e1eddf5fc71090c6f591
bee115201bfffde70046
ef67ffd7fd9000139337
f79d
Hamming weight of ID115(45%)145(56.6%)
Hamming distance of ID154 b/256 bit = 60.16%
Table 5. Generation of LDPC parity matrix.
Table 5. Generation of LDPC parity matrix.
Generation of LDPC Parity Matrix
Firstly, take the modulus of the target row number r P to calculate its position r I in the sub-matrix. Take the integer dividing to calculate the position r A of the base matrix, where r P = r A × b + r I , and b is the size of the cyclic matrix.
Secondly, calculate the base offset of the base matrix O r A = ( p 1 + r A ) mod a , where p 1 is the first line of the index of the base matrix and a is the number of columns of the base matrix; Calculate the initial offset of the final matrix O r I = O r A × b .
Finally, the current basis matrix cycle offset c r A can be found according to Formula (9). The final column index is p r P = ( c r A + r I ) mod b + O r I .
Table 6. Comparison of the security features.
Table 6. Comparison of the security features.
Features[22][23][24][25][35]Ours
Resistance of impersonation attackYesYesYesYesYesYes
Resistance of replay attackNoNoNoNoNoYes
Resistance of DoS attackNoNoYesNoYesYes
Resistance of MitM attackYesYesYesYesYesYes
Resistance of drone physical capture attackYesYesYesYesNoYes
Resistance of desynchronization attackNoNoNoYesNoYes
Resistance of session key disclosure attackYesYesYesYesYesYes
Provision of mutual authenticationYesYesYesYesYesYes
Provision of forward and backward secrecyYesYesYesYesYesYes
Provision of PUF challenge–response pair protectionNoNoNoNoNoYes
Table 7. Running time of related operations.
Table 7. Running time of related operations.
Operation T H T R T S K T P T E C C Total
Time (msec)0.510.270.320.376570.75
Table 8. Authentication overhead.
Table 8. Authentication overhead.
PaperComputation Cost Storage Cost in BitsCommunication Costs in Bit
[22] T R + 2 T P + 7 T X O R + T M A P 3201600
[23] T R + 2 T P + ( 8 + 2 ( m 1 ) T X O R ) + T M A P 3201600
[24] 3 T H + 2 T R + 8 T X O R + 2 T P 3521600
[25] 3 T R + 2 T P + 2 T X O R + T M A P 1601152
[35] 2 T H + 5 T R + T P + 4 T X O R + 3 T M A P 6721506
Ours 5 T H + 2 T R + 2 T P + 6 T X O R + T E C C 2562624
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

Zhang, J.; Gu, P.; Wang, Z.; Zou, J.; Liu, G. A Low-Complexity Security Scheme for Drone Communication Based on PUF and LDPC. Drones 2024, 8, 472. https://doi.org/10.3390/drones8090472

AMA Style

Zhang J, Gu P, Wang Z, Zou J, Liu G. A Low-Complexity Security Scheme for Drone Communication Based on PUF and LDPC. Drones. 2024; 8(9):472. https://doi.org/10.3390/drones8090472

Chicago/Turabian Style

Zhang, Jiacheng, Peng Gu, Zhen Wang, Jun Zou, and Guangzu Liu. 2024. "A Low-Complexity Security Scheme for Drone Communication Based on PUF and LDPC" Drones 8, no. 9: 472. https://doi.org/10.3390/drones8090472

Article Metrics

Back to TopTop