A method for drone group authentication and key negotiation

By using the Shamir threshold secret sharing scheme and physically unclonable functions, combined with a fuzzy extractor, drone swarm authentication and key negotiation were achieved. This solved the problem of high computational and communication overhead in drone swarms, improved security and authentication scalability, and met the security requirements of collaborative drone swarm operations.

CN122138162APending Publication Date: 2026-06-02GUIZHOU UNIV

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUIZHOU UNIV
Filing Date
2025-06-12
Publication Date
2026-06-02

Smart Images

  • Figure CN122138162A_ABST
    Figure CN122138162A_ABST
Patent Text Reader

Abstract

This invention discloses a method for drone swarm authentication and key negotiation. Based on the Shamir threshold secret sharing method, the secret is divided into m parts, and each participating drone holds one share of the secret. The drone swarm can initiate a swarm authentication request to the ground control station (GCS). The GCS performs batch authentication on multiple requests and then forwards them to a trusted authentication authority (TA) for swarm authentication and group key generation. When the number of drones participating in swarm authentication meets the threshold, the TA can recover the secret and complete swarm authentication, thereby negotiating the group key. The TA, GCS, and UVA distribute the group key through symmetric encryption and decryption operations. For drone swarms that cannot complete swarm authentication, an authentication check is performed on the swarm, and then unauthenticated drones are identified for point-to-point mutual authentication. This invention meets the authentication security and communication security requirements in drone swarm collaborative operations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of drone information security, and in particular to a method for drone group authentication and key negotiation. Background Technology

[0002] With the development of drone technology, drones are playing an increasingly important role in disaster monitoring, environmental surveillance, and military reconnaissance. However, a single drone often struggles to complete complex tasks independently, necessitating collaborative operations through drone swarms. Multiple drones can utilize wireless communication technology to form drone networks for coordinated communication and information sharing, significantly improving mission efficiency. However, the high dynamism, resource constraints, and self-organizing nature of drones present multiple security challenges to drone networks, such as drone authentication, authentication scalability, and communication session security. Group authentication and key negotiation methods are considered effective solutions to these challenges, allowing drone swarms to establish a shared group key after authentication, enabling information flow and sharing within the swarm.

[0003] However, traditional authentication schemes typically rely on a single central authority for authentication and group key distribution, resulting in poor scalability, high costs, and susceptibility to single points of failure. To overcome these shortcomings, some researchers have proposed implementing group authentication and group key distribution through a cluster administrator, but this method requires multiple rounds of interaction and incurs high communication overhead, making it unsuitable for resource-constrained drones. Additionally, some schemes achieve global group key negotiation through intra-group broadcasting; however, this method requires each member to authenticate the other beforehand, which, while providing flexible authentication, prolongs the authentication process.

[0004] To address the issues of high computational and communication overhead, and limited security and authentication scalability in existing solutions, this paper proposes a drone swarm authentication and key negotiation method based on the Shamir threshold secret sharing scheme. This method utilizes the Shamir threshold secret sharing scheme to achieve distributed secret management, while combining a physically non-cloning function and a fuzzy extractor to protect the uniqueness and tamper-proof nature of devices, thereby improving the security of device and key storage. This method aims to meet the authentication and communication security requirements of drone swarm collaborative operations, providing a more efficient and secure solution for drone networks. Summary of the Invention

[0005] To overcome the aforementioned shortcomings of existing technologies, this invention proposes a method for drone swarm authentication and key negotiation to address the problems of high computational and communication overhead, low security and authentication scalability in existing technologies described in the background section. This method meets the authentication and communication security requirements in drone swarm collaborative operations, providing a more efficient and secure solution for drone networks.

[0006] The technical solution adopted by this invention to solve its technical problem is: a method for drone group authentication and key negotiation, applicable between unmanned aerial vehicle (UAV) equipment, ground control station (GCS), and trusted authentication authority (TA), comprising the following steps:

[0007] (1) Initialization phase: Parameter settings for the TA authentication domain; the system selects a non-singular elliptic curve E q (u,v):y 2 =x 3 +ux+v(mod q), where q is a large prime number. TA generates an O-order cyclic additive group G and a generator P≠O on the elliptic curve, where O represents infinity;

[0008] TA selects a random number as the domain private key sk TA And generate the corresponding domain public key PK. TA TA selects two collision-resistant hash functions. Where L represents the length of the string, It is the range of hash output; TA publishes system parameters to entities; TA is also responsible for the n ground control stations GCS1, GCS2, ..., GCS in this domain. n Generate a private key and a public key, such as TA as the identity identifier GCS. i ,1<i<n generates its private key sk i PK with public key i =sk i ·P;

[0009] (2) Registration stage: The registration of unmanned aerial vehicles (UAVs) includes the following steps:

[0010] Step 1: Consider m drones U1, U2, ..., U m Request registration from a trusted certification authority (TA);

[0011] Step 2: After receiving the request, TA randomly selects a secret. For U drones i Generate identity private key and public key Upk i =usk i ·P, of which It is the registration date;

[0012] Step 3: TA selects a group name Generate group public key Gpk k =Gid k • P; TA constructs an (n-1)th order polynomial and randomly selects different non-zero elements ux1, ux2, ..., ux m Calculate the polynomial value in And it is a non-zero constant; TA to UAV U i Send registration response Calculate UPR i =rs i ·PK TA Securely store information related to registered drones. To the local area, among which It is a pseudonym in this group;

[0013] Step 4: Drone U i Upon receiving the registration response, the registration information will be further encrypted. i Calculation parameters parameter and verify hash value storage To the local area;

[0014] (3) Login phase: When the drone is started, it will undergo login authentication;

[0015] (4) Authentication and Key Negotiation Phase: For different UAV clusters, the ground control station (GCS) collects authentication requests from nearby UAVs based on the group pseudonym for batch authentication, and then forwards them to the TA for group authentication and group key generation; the TA, GCS, and UVA complete the group key distribution through symmetric encryption and decryption operations; this authentication and key negotiation phase involves authentication request generation, batch identity authentication, group identity authentication, session key generation, and group key distribution, considering that the group pseudonym is... The drone swarm contains n drones U1, U2, ..., U n The drone swarm is heading towards the nearby GCS i Send an authentication request, where n ≥ N thred N thred The threshold for restoring the secret;

[0016] (5) Authentication detection stage: When performing batch authentication in GCS, if there are dishonest drones that maliciously interfere with the authentication process, the authentication of the drone cluster will fail. When the authentication fails, the drones that cause the authentication to be invalid are identified, and a batch detection algorithm is used to detect the drones that are invalid. Then, point-to-point authentication is performed on the drones that are invalid.

[0017] Furthermore, the system parameters are: System parameters include the cyclic group G, the large prime number q, the group generator P, and the hash function used during the registration phase. Hash function used in the authentication phase And TA's public key PK TA .

[0018] Furthermore, step 1 of step (2) specifically includes the following steps:

[0019] UAV i Equipment License UN i and device ID i Generate identity U i Represents a drone swarm U1, U2, ..., U m One of the drones, UN i and ID i This indicates the equipment license and equipment number of the drone;

[0020] UAV i Choose a challenge C i Using embedded PUF to generate noise response R i =PUF(C i );

[0021] UAV i Use a fuzz extractor to extract fuzz from the response: FE.Gen(R) i )=(rs i ,hd i ), where rs i It is a stable digital key, hd i These are auxiliary recovery parameters;

[0022] UAV i Send a registration request (Req) to a trusted certification authority (TA). i ={req i UID i C i ,rs i} Request registration.

[0023] Furthermore, during the registration phase, the calculation process for the registration request of the unmanned aerial vehicle (UAV) is as follows:

[0024] calculate It's a hash function, UID i It is a hash function The output of the UAV is also the UAV's output. i A unique identifier;

[0025] Calculate R i =PUF(C i ), PUF() is a physically unclonable function, C i It is a challenge input for functions, R i It is the function's response output, which contains some noise;

[0026] Calculate FE.Gen(R) i )=(rs i ,hd i ), FE.Gen() is the fuzzy extraction function, and the noise response R i It is the input of the function, rs i and HD i It is the output of the function, rs i Indicates the noise response R i The stable digital key extracted from hd i Indicates recovery of rs i Auxiliary recovery parameters, UAV U i Keep HD i ;

[0027] Drone swarm U1, U2, ..., U m Send a registration request to TA, Req i ={req i UID i C i ,rs i} represents the drone U i The registration request, req i Indicates the request sequence number;

[0028] TA received the drone swarm U1, U2, ..., U m After receiving the registration request, registration information is generated for each drone; using the drone U i For example, the calculation process is as follows:

[0029] calculate UID i It is a drone U i Unique identifier, rs i U i Stable digital key, s i Yes TA is U i The chosen random secret, It's U i Registration date, USK i It is a hash function The output of U is also U i The private key;

[0030] Calculate Upk i =usk i ·P,Upk i It is the output of the dot product operation, represented as U. i The public key;

[0031] Calculate Gpk k =Gid k ·P, Gidk TA represents the drone swarm U1, U2, ..., U m Selected group name, Gpk k It is the output of the dot product operation, representing the group's public key;

[0032] calculate f() represents an (n-1)th degree polynomial, a1, a2, ..., a... n-1 ux is a non-zero constant, q is a large prime number, and ux i and y i It is a polynomial input and output, generated by the UAV U i Reserved, ux i Indicating the secret sharing process of drones U i The x-coordinate value of the polynomial held, ux i U-shaped drone i The cluster ID, y i Represents ux i The corresponding polynomial value, i.e., y i =f(ux) i (), is a fragment of secret information; when the number of drones participating in group authentication meets the threshold N. thred At that time, drones can provide their own (ux) i ,y i The polynomial f() is reconstructed, thereby recovering the secret Gid. k =f(0);

[0033] Calculate UPR i =rs i ·PK TA UPR i This is the output of the dot product operation, used for UAVs. i Authentication and session key generation; TA sends keys to the drone cluster U1, U2, ..., U m Send registration responses separately. Indicates TA to drone U i The registration response sent, rep i Indicates the response sequence number. The group name is Gid k The first group of pseudonyms for the drone swarm; in addition, TA secure storage registration U i Registration information To the local area;

[0034] Drone swarm U1, U2, ..., U m Upon receiving the registration response, the registration information is securely stored; UAV U i The calculation process:

[0035] calculate W i Q i and F i All are the outputs of the XOR function, used to protect secret information and store it locally on the drone;

[0036] calculate γ i It is a hash function The output;

[0037] UAV i storage To the local area.

[0038] Furthermore, in step (3), login authentication includes the following steps:

[0039] Step 1: UAV i Call the embedded PUF to generate the noise response R i =PUF(C i The digital key rs′ is recovered using a fuzz extractor regeneration function. i =FE.Rep(R i ,hd i );

[0040] Step 2: Drone Calculation and and private key

[0041] Step 3: Drone Verification If the verification is successful, the drone is certified and allowed to join the drone network to participate in information exchange and perform tasks.

[0042] in,

[0043] UAV i Challenges of using current local storage C i As input to the physically unclonable function PUF(), calculate R i =PUF(C i ), R i This is the noise response output during this login session;

[0044] Calculate rs′ i =FE.Rep(R i ,hd i ), FE.Rep() represents the fuzz extractor regeneration function, which can recover a stable digital key from the response, hd i These are auxiliary recovery parameters for local storage, rs′ i It is the output of the function;

[0045] calculate y′ i It is the recovered polynomial function value;

[0046] calculate ux′ i It is the recovery number;

[0047] calculate usk′ i It is the private key for recovery;

[0048] calculate The recovered function value y′ i Number ux′ i Private key usk′ i As a hash function The input, γ′ i This is the corresponding output, used to verify whether the drone has been tampered with or forged;

[0049] Verify γ′ i =γ i Does it hold true? If the equation holds true, it indicates that the UAV U... i It has not been tampered with and can legally join the drone network to perform operations.

[0050] Furthermore, the specific authentication process and detailed steps of step (4) are as follows:

[0051] Step 1: Drones U1, U2, ..., U n First, each of them randomly generates a pseudonym PID. i =pid i ·P, calculation and And get the current timestamp Then calculate the signature. Drones U1, U2, ..., U n To GCS i Send authentication request

[0052] Step 2: GCS i Upon receiving an authentication request from the drone swarm, check... TS now This is the current system time, TS thred It is the tolerable transmission delay threshold; GCS i Calculate the group members Batch verification of drone swarms If verification is successful, GCS i Generate random numbers And timestamp TS1, using a key Encrypted authentication message obtains ciphertext in, It is GCS i And the key shared in advance with TA; GCS i calculate Send message Group authentication should be performed at a trusted certification authority (TA).

[0053] Step 3: TA based on group kana GCS collection i The request; TA first checks the timestamp TS now -TS1≤TS thred Then use the key Decrypting the ciphertext CPT1 yields the plaintext data. And verify the equation Is it valid?

[0054] If the verification is successful, then TA is calculated. verify If the verification is successful, TA will then generate a random number u2∈Z. * q And calculate the group key for this group as , At the same time, select a new group of kana. Timestamp TS2, compute ciphertext Generate verification hash Finally, to GCS i Send message

[0055] Step 4: GCS i Received response, check TS now -TS2≤TS thred Decrypting the ciphertext CPT2 yields the plaintext data. Verify the equation Is it valid? If the verification is successful, GCS... i Then calculate and UAV U i Session key Then generate Select timestamp TS3 to calculate the ciphertext. and GCS i To the drones U1, U2, ..., U n Send separately

[0056] Step 5: UAV i Upon receiving the request response, first check the timestamp TS. now -TS3≤TS thred Then calculate the session key. And decrypt using this key Obtain plaintext data U i Verify the equation If the verification is successful, the verification of GCS is complete. i Authentication and receiving As with GCS i The session key, and receiving GSK k As a future group key, while updating For the new group of kana;

[0057] Among them, U1, U2, ..., U n To ground control station GCS i Send authentication request, N thred This represents the threshold for recovering the group's public key, n≥N thred This indicates that the number n of the drone swarm needs to be greater than the threshold N. thred Only then can the secret authentication be restored;

[0058] Authentication Request U-shaped drone i The request message sent was from the UAV. i The group number ux i Signature δ i 、group of kana Drone alias PID i Authentication parameters and Timestamp of the request being initiated Composition; Calculation process:

[0059] Calculate PID i =pid i ·P,pid i U-shaped drone i Selected random value, PID i It is the output of the dot product operation, represented as U. i The katakana;

[0060] calculate and and This represents the intermediate output of the three authentication processes, used for drone identity authentication and traceability;

[0061] calculate δ i U i The signature;

[0062] Drones U1, U2, ..., U n To GCSi After sending the authentication request, GCS i Collection of requests for batch authentication; Calculation process:

[0063] Calculate and check Whether it is valid, TS now Indicates the current system time. TS represents the time difference between the current system time and the time the request was initiated. thred This indicates the tolerable transmission delay threshold, if If the authentication request is successful, it indicates that the application is fresh and can effectively prevent replay attacks.

[0064] calculate It is the output of the dot product operation, Upk′ i It is the calculated U-shaped drone. i The public key is used for identity tracking;

[0065] calculate verify Whether it is valid, This represents a swarm of drones U1, U2, ..., U n Batch verification of signatures This represents a swarm of drones U1, U2, ..., U n Batch identity verification Hash function The output, Indicates accumulation and output;

[0066] calculate u1 represents GCS i Generated random numbers, GCS i The key shared in advance between you and TA Indicates the use of a shared key Regarding the message content Perform symmetric encryption; CPT1 represents the ciphertext output after symmetric encryption. Indicates the message abbreviation;

[0067] calculate Auth1 represents the hash function. The output is used for message verification; TS1 represents GCS. i Select the current system timestamp;

[0068] GCS i Send message To TA, Msg1 indicates the message being sent, the content of which is composed of group pseudonyms. It consists of ciphertext CPT1, hash output Auth1, and current timestamp TS1;

[0069] TA received GCS from ground control station i After the request is sent, based on the group pseudonym The requests are grouped and then group authentication and group key negotiation are performed; the calculation process is as follows:

[0070] Calculate and verify TS now -TS1≤TS thred TS now -TS1 indicates the current system time and GCS. i The time difference when the request is initiated, if this time difference is less than the tolerable time threshold TS thred This indicates that the message is fresh;

[0071] Use key Decrypt the ciphertext CPT1 to obtain the plaintext data.

[0072] Calculate the hash output based on the decrypted content.

[0073] verify If the equation holds, it means that GCS i The sent request was not tampered with;

[0074] calculate α k It is an intermediate value involved in the process of restoring the group name calculation;

[0075] calculate The output value represents the recovered group public key;

[0076] Verify the equation If the condition is met, it means that the group public key used to calculate the recovery is consistent with the group public key recorded during registration, and the authentication is successful.

[0077] calculate GSK k It is a hash function The output represents the group key of the drone swarm, and u2 is the random number chosen by TA;

[0078] calculate CPT2 indicates the use of a key. Regarding the message Output the ciphertext after symmetric encryption. yes abbreviated form, TA represents a new group pseudonym generated for this drone swarm;

[0079] calculate Auth2 is a hash function The output TS2 represents the current system timestamp selected by TA;

[0080] TA to GCS i Send message Msg2 indicates the message sent by TA, consisting of group pseudonyms. It consists of ciphertext CPT2, hash output Auth2, and current timestamp TS2;

[0081] GCS i Received a message from TA After decrypting the message, GCS sends separate request and response messages to the drone cluster. i Reply to drone U i Request and response It is a reply message, in ciphertext. Verify hash The TS3 timestamp consists of the following components; the calculation process is as follows:

[0082] Calculate and verify TS now -TS2≤TS thred TS now -TS2 represents the time difference between the current system time and the time when the TA response was sent. If this time difference is less than the time threshold TS thred This indicates that the message is fresh;

[0083] Use key Decrypting the ciphertext CPT2 yields the plaintext data.

[0084] Calculate the hash output based on the decrypted content.

[0085] Verify the equation Check if the equation holds true. If it does, it means that the message TA replied to has not been tampered with.

[0086] calculate It is a hash function The output represents GCS. i and U drones i Temporary session key between;

[0087] calculate u3 represents GCS i The selected random number, Indicates the use of a temporary session key Regarding the message Output the ciphertext after symmetric encryption;

[0088] calculate It is a hash function The output is used to verify whether the message has been tampered with. TS3 is GCS. i Select the current system timestamp;

[0089] GCS i To the drones U1, U2, ..., U n Send separately After receiving the response, the drone verifies the message and calculates the session key; the calculation process is as follows:

[0090] Calculate and verify TS now -TS3≤TS thred TS now -TS3 indicates the current system time and GCS. i The time difference between sending the response, if the time difference is less than the time threshold TS thred This indicates that the message is fresh;

[0091] calculate It is a hash function The output of indicates the drone U i With GCS i Temporary session key between;

[0092] Use temporary session key Decrypting the ciphertext Obtain plaintext data

[0093] Calculate hash output

[0094] verify Check if the equation is true. If it is true, it means that the received message has not been tampered with and the session key has been successfully negotiated.

[0095] Furthermore, the batch detection algorithm in step (5) specifically includes the following steps:

[0096] Step 1: For the drone cluster U1, U2, ..., U that is currently failing authentication n The TA inputs the current drone group list UGroupList into the batch detection algorithm BatchDetection(), and the algorithm outputs the invalid drone list InvalidList in the current group;

[0097] Step 2: Based on the list InvalidList, TA inputs the drone information from the list into the verification algorithm Verify(). Point-to-point authentication is performed, and the algorithm outputs the authentication result for the drone. If the result is true, the authentication is successful; if the result is false, the authentication fails.

[0098] This invention applies to communication between Unmanned Aerial Vehicles (UAVs), Ground Control Stations (GCS), and Trusted Authentication Authorities (TAs). The method, based on the Shamir Threshold Secret Sharing method, splits the group private key into m parts, with each participating UAV holding one share. The UAV swarm can initiate a group authentication request to the GCS. The GCS performs batch authentication on multiple requests and then forwards them to the TA for group authentication and group key generation. When the number of UAVs participating in group authentication meets the threshold, the group private key can be recovered to complete group authentication, thereby negotiating the group key. The TA, GCS, and UAVs distribute the group key through symmetric encryption and decryption operations. Furthermore, for UAV swarms that cannot complete group authentication, an authentication check is performed on the swarm, and the unauthenticated UAVs are identified for point-to-point mutual authentication.

[0099] Compared with the prior art, the beneficial effects of the present invention are:

[0100] This invention proposes a UAV group authentication and key negotiation method based on the Shamir threshold secret sharing scheme, used for mutual authentication between UAVs and ground control stations in UAV networks, as well as group key negotiation between UAV clusters. UAVs, as the main communication nodes, are equipped with limited computing and storage resources. To ensure the security of stored data and the uniqueness of devices, UAVs have built-in PUF circuits, which can resist physical and forgery attacks. A fuzzy extractor is used to extract stable keys from the PUF response, solving the problem of noise in the PUF response due to environmental influences. The Ground Control Station (GCS) and the Trusted Controller (TA) are trusted centers equipped with powerful computing resources. Multiple GCSs exist within the TA's communication range. The GCS is responsible for collecting authentication requests from the UAV cluster and performing batch authentication, while the TA is responsible for UAV registration and group key generation. The GCS also acts as an intermediate node, assisting the TA in completing group key distribution. This invention uses the ground control station (GCS) to distribute the computational burden of the TA in the single TA authentication model, avoiding single points of failure, and implements distributed key management of group secrets based on the Shamir threshold secret sharing scheme, improving group key security. During authentication and key negotiation, the drone's identity remains anonymous throughout the public channel, while traceability is achieved at trusted nodes, satisfying conditional anonymity protection for drone identities. This method enables mutual authentication between drones, GCS, and TA, and securely negotiates group keys, ensuring entity identity and reliable communication. Group key distribution is completed between TA, GCS, and UVA through symmetric encryption / decryption operations. For drone clusters unable to complete group authentication, authentication checks are performed on the cluster, and unauthenticated drones are identified for point-to-point mutual authentication. Furthermore, to protect the uniqueness of drone devices and the security of key storage, a Physically Unclonable Function (PUF) and a fuzzy extractor are used to extract drone device fingerprints, which are then used as one of the device's identity credentials, reducing authentication costs while improving security and reliability. This invention meets the authentication and communication security requirements in drone cluster collaborative operations. Attached Figure Description

[0101] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below.

[0102] Figure 1 This is an overall flowchart of an embodiment of the present invention.

[0103] Figure 2 This is a flowchart of the TA registration process for a drone in an embodiment of the present invention.

[0104] Figure 3 This is a flowchart of the drone cluster authentication and key negotiation process in an embodiment of the present invention. Detailed Implementation

[0105] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.

[0106] like Figure 1 As shown, an embodiment of the present invention provides a method for drone group authentication and key negotiation, comprising the following steps:

[0107] (1) Initialization phase:

[0108] The initialization phase mainly involves setting the parameters for the TA authentication domain. The system selects a non-singular elliptic curve E... q (u,v):y 2 =x 3 +ux+v(mod q), where q is a large prime number. TA generates an O-order cyclic additive group G and a generator P≠O on an elliptic curve, where O represents infinity.

[0109] TA selects a random number as the domain private key sk TA And generate the corresponding domain public key PK. TA =sk TA P.TA chooses two collision-resistant hash functions. and Where L represents the length of the string. Then, the TA publishes system parameters to the entity. TA is also responsible for the local n ground control stations GCS1, GCS2, ..., GCS n Generate a private key and a public key, such as TA as the identity identifier GCS. i ,1<i<n generates its private key sk i PK with public key i =sk i ·P

[0110] Among them, TA is a trusted certification authority, which is responsible for setting parameters within its certification domain and constructing the private and public keys corresponding to entities within the domain;

[0111] GCS i It is a ground control station GCS within the TA authentication domain, and its identity is GCS. i It is responsible for receiving authentication requests from drones;

[0112] sk TA and PK TA This represents TA's public / private key pair;

[0113] sk i and PK i GCS i Public and private key pairs;

[0114] and These are two different collision-resistant hash functions. It is the range of hash outputs;

[0115] These are the system public parameters that TA publishes within the domain, including the cyclic group G, the large prime number q, the group generator P, and the hash function used during the registration phase. Hash function used in the authentication phase And TA's public key PK TA ;

[0116] (2) Registration stage, such as Figure 2 As shown:

[0117] The registration phase mainly involves the registration of unmanned aerial vehicles (UAVs), which includes the following four steps.

[0118] Step 1: Consider m drones U1, U2, ..., U m Request registration from a trusted certification authority (TA). i Equipment License UN i and device ID i Generate identity U i Choose a challenge C i Using embedded PUF to generate noise response R i =PUF(C i To reduce noise impact, U i Use a fuzz extractor to extract fuzz from the response: FE.Gen(R) i )=(rs i ,hd i ), where rs i It is a stable digital key, hd i These are auxiliary recovery parameters. Then, U i Send a registration request (Req) to a trusted certification authority (TA). i ={req i UID i C i ,rs i} Request registration.

[0119] Step 2: After receiving the request, TA randomly selects a secret. For U drones i Generate identity private key and public key Upk i=usk i ·P, of which It is the registration date.

[0120] Step 3: TA selects a group name Generate group public key Gpk k =Gid k ·P. Then, TA constructs an (n-1)th order polynomial and randomly selects different non-zero elements ux1,ux2,...,ux m Calculate the polynomial value in And it is a non-zero constant. Finally, TA sends a signal to the drone U. i Send registration response Calculate UPR i =rs i ·PK TA Then securely store the relevant information about the registered drone. To the local area, among which It is a pseudonym for that group.

[0121] Step 4: To ensure secure storage of registration information, the drone U... i Upon receiving the registration response, the registration information will be further encrypted. i Calculation parameters parameter and verify hash value Then store To the local area.

[0122] in,

[0123] U1,U2,...,U m This indicates that m drones form a cluster and send a registration request to TA.

[0124] U i Represents a drone swarm U1, U2, ..., U m One of the drones, UN i and ID i This indicates the equipment license and equipment number of the drone; drone U i Registration request calculation process:

[0125] calculate It's a hash function, UID i It is a hash function The output of the UAV is also the UAV's output. i A unique identifier;

[0126] Calculate R i =PUF(C i), PUF() is a physically unclonable function, C i It is a challenge input for functions, R i It is the function's response output, which contains some noise;

[0127] Calculate FE.Gen(R) i )=(rs i ,hd i ), FE.Gen() is the fuzzy extraction function, and the noise response R i It is the input of the function, rs i and HD i It is the output of the function, rs i Indicates the noise response R i The stable digital key extracted from hd i Indicates recovery of rs i Auxiliary recovery parameters, UAV U i Keep HD i ;

[0128] Drone swarm U1, U2, ..., U m Send a registration request to TA, Req i ={req i UID i C i ,rs i} represents the drone U i The registration request, req i Indicates the request sequence number;

[0129] TA received the drone swarm U1, U2, ..., U m After receiving the registration request, registration information is generated for each drone; using the drone U i For example, the calculation process is as follows:

[0130] calculate UID i It is a drone U i Unique identifier, rs i U i Stable digital key, s i Yes TA is U i The chosen random secret, It's U i Registration date, USK i It is a hash function The output of U is also U i The private key;

[0131] Calculate Upk i =usk i ·P,Upk iIt is the output of the dot product operation, represented as U. i The public key;

[0132] Calculate Gpk k =Gid k ·P, Gid k TA represents the drone swarm U1, U2, ..., U m Selected group name, Gpk k It is the output of the dot product operation, representing the group's public key;

[0133] calculate f() represents an (n-1)th degree polynomial, a1, a2, ..., a... n-1 ux is a non-zero constant, q is a large prime number, and ux i and y i It is a polynomial input and output, generated by the UAV U i Reserved, ux i Indicating the secret sharing process of drones U i The x-coordinate value of the polynomial held, ux i U-shaped drone i The cluster ID, y i Represents ux i The corresponding polynomial value, i.e., y i =f(ux) i (), is a fragment of secret information. When the number of drones participating in group authentication meets the threshold N. thred At that time, drones can provide their own (ux) i ,y i The polynomial f() is reconstructed, thereby recovering the secret Gid. k =f(0);

[0134] Calculate UPR i =rs i ·PK TA UPR i This is the output of the dot product operation, used for UAVs. i Authentication and session key generation.

[0135] TA directs the drone swarm U1, U2, ..., U m Send registration responses separately. Indicates TA to drone U i The registration response sent, rep i Indicates the response sequence number. The group name is Gid k The first group of pseudonyms for the drone swarm; in addition, TA secure storage registration U i Registration information To the local area;

[0136] Drone swarm U1, U2, ..., U m Upon receiving the registration response, the registration information is securely stored; UAV U i The calculation process:

[0137] calculate W i Q i and F i All are the outputs of the XOR function, used to protect secret information and store it locally on the drone;

[0138] calculate γ i It is a hash function The output;

[0139] UAV i storage To the local area.

[0140] (3) Login phase

[0141] When a drone is started, it first undergoes login authentication, which mainly includes the following three steps:

[0142] Step 1: UAV i Call the embedded PUF to generate the noise response R i =PUF(C i The digital key rs′ is recovered using a fuzz extractor regeneration function. i =FE.Rep(R i ,hd i ).

[0143] Step 2: Drone Calculation and and private key

[0144] Step 3: Drone Verification Is the verification successful? If successful, the drone is certified and allowed to join the drone network to participate in information exchange and perform tasks.

[0145] in,

[0146] UAV i Challenges of using current local storage C i As input to the physically unclonable function PUF(), calculate R i =PUF(C i ), R i This is the noise response output during this login session;

[0147] Calculate rs′i =FE.Rep(R i ,hd i ), FE.Rep() represents the fuzz extractor regeneration function, which can recover a stable digital key from the response, hd i These are auxiliary recovery parameters for local storage, rs′ i It is the output of the function;

[0148] calculate y′ i It is the recovered polynomial function value;

[0149] calculate ux′ i It is the recovery number;

[0150] calculate usk′ i It is the private key for recovery;

[0151] calculate The recovered function value y′ i Number ux′ i Private key usk′ i As a hash function The input, γ′ i This is the corresponding output, used to verify whether the drone has been tampered with or forged;

[0152] Verify γ′ i =γ i Does it hold true? If the equation holds true, it indicates that the UAV U i It has not been tampered with and can legally join the drone network to perform operations.

[0153] (4) Authentication and key negotiation phase, such as Figure 3 As shown:

[0154] Because drones are vulnerable to malicious attacks in open channels, drone swarms need to authenticate each other when performing tasks and exchanging information with the ground control station. Furthermore, to facilitate secure information flow within the drone swarm, the swarm needs to negotiate a group key for secure communication. For different drone swarms, the ground control station (GCS) can collect authentication requests from nearby drones based on the group pseudonym for batch authentication, and then forward them to the TA for group authentication and group key generation. Finally, the TA, GCS, and UVA complete the group key distribution through symmetric encryption and decryption operations. This authentication and key negotiation phase involves authentication request generation, batch authentication, group authentication, session key generation, and group key distribution, taking into account that the group pseudonym is... The drone swarm contains n drones U1, U2, ..., U n The drone swarm is heading towards the nearby GCSi Send an authentication request, where n ≥ N thred N thred The threshold for restoring the secret.

[0155] The specific certification process and detailed steps are as follows:

[0156] Step 1: Drones U1, U2, ..., U n First, each of them randomly generates a pseudonym PID. i =pid i ·P, calculation and And get the current timestamp Then calculate the signature. Finally, the drones U1, U2, ..., U n To GCS i Send authentication request

[0157] Step 2: GCS i Upon receiving an authentication request from the drone swarm, first check... Among them TS now This is the current system time, TS thred This is the tolerable transmission delay threshold. (GCS) i Calculate the group members Then, batch verification of the drone cluster was performed. If verification is successful, GCS i Generate random numbers And timestamp TS1, using a key Encrypted authentication message obtains ciphertext in, It is GCS i And the key that TA shared beforehand. Finally, GCS i calculate Send message Group authentication is performed at a trusted certification authority (TA).

[0158] Step 3: TA based on group kana GCS collection i The request. TA first checks the timestamp TS. now -TS1≤TS thred Then use the key Decrypting the ciphertext CPT1 yields the plaintext data. And verify

[0159] If the verification is successful, then TA is calculated. verify Is it true? If the verification is successful, TA will then generate a random number. And calculate the group key for this group as follows: At the same time, select a new group of kana. Timestamp TS2, compute ciphertext Generate verification hash Finally, to GCS i Send message

[0160] Step 4: GCS i Received response, check TS now -TS2≤TS thred Decrypting the ciphertext CPT2 yields the plaintext data. verify Is it valid? If the verification is successful, GCS... i Then calculate and UAV U i Session key Then generate Select timestamp TS3 to calculate the ciphertext. and Finally, GCS i To the drones U1, U2, ..., U n Send separately

[0161] Step 5: UAV i Upon receiving the request response, first check the timestamp TS. now -TS3≤TS thred Then calculate the session key. And decrypt using this key Obtain plaintext data Then U i verify Is it valid? If the verification is successful, the verification of GCS is complete. i Authentication and receiving As with GCS i The session key, and receiving GSK k As a future group key, while updating For the new group of kana.

[0162] in,

[0163] Drones U1, U2, ..., U n To ground control station GCS i Send authentication request, N thred This represents the threshold for recovering the group's public key, n≥N thred This indicates that the number n of the drone swarm needs to be greater than the threshold N. thred Only then can the secret authentication be restored;

[0164] Authentication Request Msg Ui U-shaped drone i The request message sent was from the UAV. i The group number ux i Signature δ i 、group of kana Drone alias PID i Authentication parameters and Timestamp of the request being initiated Composition; Calculation process:

[0165] Calculate PID i =pid i ·P,pid i U-shaped drone i Selected random value, PID i It is the output of the dot product operation, represented as U. i The katakana;

[0166] calculate and and This represents the intermediate output of the three authentication processes, used for drone identity authentication and traceability;

[0167] calculate δ i U i The signature;

[0168] Drones U1, U2, ..., U n To GCS i After sending the authentication request, GCS i Collection of requests for batch authentication; Calculation process:

[0169] Calculate and check Whether it is valid, TS now Indicates the current system time. TS represents the time difference between the current system time and the time the request was initiated. thred This indicates the tolerable transmission delay threshold, if If the authentication request is successful, it indicates that the application is fresh and can effectively prevent replay attacks.

[0170] calculate It is the output of the dot product operation, Upk′ i It is the calculated U-shaped drone. i The public key is used for identity tracking;

[0171] calculate verify Whether it is valid, This represents a swarm of drones U1, U2, ..., U n Batch verification of signatures This represents a swarm of drones U1, U2, ..., U n Batch identity verification Hash function The output, Indicates accumulation and output;

[0172] calculate u1 represents GCS i Generated random numbers, GCS i The key shared in advance between you and TA Indicates the use of a shared key Regarding the message content Perform symmetric encryption; CPT1 represents the ciphertext output after symmetric encryption. Indicates the message abbreviation;

[0173] calculate Auth1 represents the hash function. The output is used for message verification; TS1 represents GCS. i Select the current system timestamp;

[0174] GCS i Send message To TA, Msg1 indicates the message being sent, the content of which is composed of group pseudonyms. It consists of ciphertext CPT1, hash output Auth1, and current timestamp TS1;

[0175] TA received GCS from ground control station i After the request is sent, based on the group pseudonym The requests are grouped and then group authentication and group key negotiation are performed; the calculation process is as follows:

[0176] Calculate and verify TS now -TS1≤TS thred TS now -TS1 indicates the current system time and GCS. i The time difference when the request is initiated, if this time difference is less than the tolerable time threshold TS thred This indicates that the message is fresh;

[0177] Use key Decrypt the ciphertext CPT1 to obtain the plaintext data.

[0178] Calculate the hash output based on the decrypted content.

[0179] verify Does it hold true? If the equation holds true, it indicates that GCS... i The sent request was not tampered with;

[0180] calculate α k It is an intermediate value involved in the process of restoring the group name calculation;

[0181] calculate The output value represents the recovered group public key;

[0182] verify If the condition is met, it means that the group public key used to calculate the recovery is consistent with the group public key recorded during registration, and the authentication is successful.

[0183] calculate GSK k It is a hash function The output represents the group key of the drone swarm, and u2 is the random number chosen by TA;

[0184] calculate CPT2 indicates the use of a key. Regarding the message Output the ciphertext after symmetric encryption. yes abbreviated form, TA represents a new group pseudonym generated for this drone swarm;

[0185] calculate Auth2 is a hash function The output TS2 represents the current system timestamp selected by TA;

[0186] TA to GCS i Send message Msg2 indicates the message sent by TA, consisting of group pseudonyms. It consists of ciphertext CPT2, hash output Auth2, and current timestamp TS2;

[0187] GCS i Received a message from TA After decrypting the message, the request response is sent to the drone cluster, for example, GCS. i Reply to drone U i Request and response It is a reply message, in ciphertext. Verify hash The TS3 timestamp consists of the following components; the calculation process is as follows:

[0188] Calculate and verify TS now -TS2≤TS thred TS now -TS2 represents the time difference between the current system time and the time when the TA response was sent. If this time difference is less than the time threshold TS thred This indicates that the message is fresh;

[0189] Use key Decrypting the ciphertext CPT2 yields the plaintext data.

[0190] Calculate the hash output based on the decrypted content.

[0191] verify Check if the equation holds true. If it does, it means that the message TA replied to has not been tampered with.

[0192] calculate It is a hash function The output represents GCS. i and U drones i Temporary session key between;

[0193] calculate u3 represents GCS i The selected random number, Indicates the use of a temporary session key Regarding the message Output the ciphertext after symmetric encryption;

[0194] calculate It is a hash function The output is used to verify whether the message has been tampered with. TS3 is GCS. i Select the current system timestamp;

[0195] GCS i To the drones U1, U2, ..., U n Send separately After receiving the response, the drone verifies the message and calculates the session key; the calculation process is as follows:

[0196] Calculate and verify TS now -TS3≤TS thred TS now -TS3 indicates the current system time and GCS. i The time difference between sending the response, if the time difference is less than the time threshold TS thred This indicates that the message is fresh;

[0197] calculate It is a hash function The output of indicates the drone U i With GCS i Temporary session key between;

[0198] Use temporary session key Decrypting the ciphertext Obtain plaintext data

[0199] Calculate hash output

[0200] verify Check if the equation holds true. If it does, it means that the received message has not been tampered with and the session key has been successfully negotiated.

[0201] (5) Authentication Detection Phase: During batch authentication in GCS, if dishonest drones maliciously interfere with the authentication process, the drone cluster's authentication will fail. To maintain the normal operation of group authentication, it is necessary to identify the drones causing the authentication failure. Therefore, a batch detection algorithm is proposed to detect drones with invalid authentication.

[0202] Step 1: For the drone cluster U1, U2, ..., U that is currently failing authentication n The TA inputs the current drone group list UGroupList to the batch detection algorithm BatchDetection(), and the algorithm outputs the invalid drone list InvalidList in the current group.

[0203] Step 2: Based on the list InvalidList, TA inputs the drone information from the list into the verification algorithm Verify(). Point-to-point authentication is performed, and the algorithm outputs the authentication result for the drone. If the result is true, the authentication is successful; if the result is false, the authentication fails.

[0204] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for drone group authentication and key negotiation, applicable between unmanned aerial vehicle (UAV) equipment, ground control station (GCS), and trusted authentication authority (TA), characterized in that, Includes the following steps: (1) Initialization phase: Parameter settings for the TA authentication domain; the system selects a non-singular elliptic curve E q (u,v):y 2 =x 3 +ux+v(mod q), where q is a large prime number. TA generates an O-order cyclic additive group G and a generator P≠O on the elliptic curve, where O represents infinity; TA selects a random number as the domain private key sk TA And generate the corresponding domain public key PK. TA TA selects two collision-resistant hash functions. and Where L represents the length of the string, It is the output range of the hash function; TA publishes system parameters to entities; TA is also responsible for the local n ground control stations GCS1, GCS2, ..., GCS n Generate a private key and a public key, such as TA as the identity identifier GCS. i ,1<i<n generates its private key sk i PK with public key i =sk i ·P; (2) Registration stage: The registration of unmanned aerial vehicles (UAVs) includes the following steps: Step 1: Consider m drones U1, U2, ..., U m Request registration from a trusted certification authority (TA); Step 2: After receiving the request, TA randomly selects a secret. For U drones i Generate identity private key and public key Upk i =usk i ·P, where T i regis It is the registration date; Step 3: TA selects a group name Generate group public key Gpk k =Gid k • P; TA constructs an (n-1)th order polynomial and randomly selects different non-zero elements ux1, ux2, ..., ux m Calculate the polynomial value in And it is a non-zero constant; TA to UAV U i Send registration response Calculate UPR i =rs i ·PK TA Securely store information related to registered drones. To the local area, among which It is a pseudonym in this group; Step 4: Drone U i Upon receiving the registration response, the registration information will be further encrypted; U i Calculation parameters parameter and verify hash value storage To the local area; (3) Login phase: When the drone is started, it will undergo login authentication; (4) Authentication and Key Negotiation Phase: For different UAV clusters, the ground control station (GCS) collects authentication requests from nearby UAVs based on the group pseudonym for batch authentication, and then forwards them to the TA for group authentication and group key generation; the TA, GCS, and UVA complete the group key distribution through symmetric encryption and decryption operations; this authentication and key negotiation phase involves authentication request generation, batch identity authentication, group identity authentication, session key generation, and group key distribution, considering that the group pseudonym is... The drone swarm contains n drones U1, U2, ..., U n The drone swarm is heading towards the nearby GCS i Send an authentication request, where n ≥ N thred N thred The threshold for restoring the secret; (5) Authentication detection stage: When performing batch authentication in GCS, if there are dishonest drones that maliciously interfere with the authentication process, the authentication of the drone cluster will fail. When the authentication fails, the drones that cause the authentication to be invalid are identified, and a batch detection algorithm is used to detect the drones that are invalid. Then, point-to-point authentication is performed on the drones that are invalid.

2. The method for drone group authentication and key negotiation according to claim 1, characterized in that, The system parameters are: System parameters include the cyclic group G, the large prime number q, the group generator P, and the hash function used during the registration phase. Hash function used in the authentication phase And TA's public key PK TA .

3. The method for drone group authentication and key negotiation according to claim 1, characterized in that, Step 1 of step (2) specifically includes the following steps: UAV i Equipment License UN i and device ID i Generate identity U i Represents a drone swarm U1, U2, ..., U m One of the drones, UN i and ID i This indicates the equipment license and equipment number of the drone; UAV i Choose a challenge C i Using embedded PUF to generate noise response R i =PUF(C i ); UAV i Use a fuzz extractor to extract fuzz from the response: FE.Gen(R) i )=(rs i ,hd i ), where rs i It is a stable digital key, hd i These are auxiliary recovery parameters; UAV i Send a registration request (Req) to a trusted certification authority (TA). i ={req i UID i C i ,rs i } Request registration.

4. The method for drone group authentication and key negotiation according to claim 1, characterized in that, During the registration phase, the calculation process for the registration request of the unmanned aerial vehicle (UAV) is as follows: calculate It's a hash function, UID i It is a hash function The output of the UAV is also the UAV's output. i A unique identifier; Calculate R i =PUF(C i ), PUF() is a physically unclonable function, C i It is a challenge input for functions, R i It is the function's response output, which contains some noise; Calculate FE.Gen(R) i )=(rs i ,hd i ), FE.Gen() is the fuzzy extraction function, and the noise response R i It is the input of the function, rs i and HD i It is the output of the function, rs i Indicates the noise response R i The stable digital key extracted from hd i Indicates recovery of rs i Auxiliary recovery parameters, UAV U i Keep HD i ; Drone swarm U1, U2, ..., U m Send a registration request to TA, Req i ={req i UID i C i ,rs i } represents the drone U i The registration request, req i Indicates the request sequence number; TA received the drone swarm U1, U2, ..., U m After receiving the registration request, registration information is generated for each drone; using the drone U i For example, the calculation process is as follows: calculate UID i It is a drone U i Unique identifier, rs i U i Stable digital key, s i Yes TA is U i The chosen random secret, T i regis It's U i Registration date, USK i It is a hash function The output of U is also U i The private key; Calculate Upk i =usk i ·P,Upk i It is the output of the dot product operation, represented as U. i The public key; Calculate Gpk k =Gid k ·P, Gid k TA represents the drone swarm U1, U2, ..., U m Selected group name, Gpk k It is the output of the dot product operation, representing the group's public key; calculate f() represents an (n-1)th order polynomial, whose constant term Gid is... k The secret that is about to be shared, a1, a2, ..., a n-1 ux is a non-zero constant, q is a large prime number, and ux i and y i It is a polynomial input and output, generated by the UAV U i Reserved, ux i Indicating the secret sharing process of drones U i The x-coordinate value of the polynomial held, y i Represents ux i The corresponding polynomial value, i.e., y i =f(ux) i These are fragments of secret information; When the number of drones participating in group authentication meets the threshold N thred At that time, drones can provide their own (ux) i ,y i The polynomial f() is reconstructed, thereby recovering the secret Gid. k =f(0); Calculate UPR i =rs i ·PK TA UPR i It is the output of the dot product operation, which is the UAV U. i One of the authentication parameters and session key generation parameters; TA directs the drone swarm U1, U2, ..., U m Send registration responses separately. Indicates TA to drone U i The registration response sent, rep i Indicates the response sequence number. The group name is Gid k The first group of pseudonyms for the drone swarm; In addition, TA secure storage registration U i Registration information To the local area; Drone swarm U1, U2, ..., U m Upon receiving the registration response, the registration information is securely stored. UAV i The calculation process: calculate W i Q i and F i All are the outputs of the XOR function, used to protect secret information and store it locally on the drone; calculate γ i It is a hash function The output; UAV i storage To the local area.

5. The method for drone group authentication and key negotiation according to claim 1, characterized in that, In step (3), login authentication includes the following steps: Step 1: UAV i Call the embedded PUF to generate the noise response R i =PUF(C i The digital key rs′ is recovered using a fuzz extractor regeneration function. i =FE.Rep(R i ,hd i ); Step 2: Drone Calculation and and private key Step 3: Verify the equation using drones If the verification is successful, the drone is certified and allowed to join the drone network to participate in information exchange and perform tasks. Among them, U drones i Challenges of using current local storage C i As input to the physically unclonable function PUF(), calculate R i =PUF(C i ), R i This is the noise response output during this login session; Calculate rs′ i =FE.Rep(R i ,hd i ), FE.Rep() represents the fuzz extractor regeneration function, which can recover a stable digital key from the response, hd i These are auxiliary recovery parameters for local storage, rs′ i It is the output of the function; calculate y′ i It is the recovered polynomial value; calculate ux′ i It is the recovery number; calculate usk′ i It is the private key for recovery; calculate The recovered polynomial value y′ i Number ux′ i Private key usk′ i As a hash function The input, γ′ i This is the corresponding output, used to verify whether the drone has been tampered with or forged; Verify equation γ′ i =γ i Does it hold true? If the equation holds true, it indicates that the UAV U i It has not been tampered with and can legally join the drone network to perform operations.

6. The method for drone group authentication and key negotiation according to claim 1, characterized in that, The specific authentication process and detailed steps for step (4) are as follows: Step 1: Drones U1, U2, ..., U n Each of them randomly generates a pseudonym PID. i =pid i ·P, calculation and And get the current timestamp Calculate signature Drones U1, U2, ..., U n To GCS i Send authentication request Step 2: GCS i Upon receiving an authentication request from the drone swarm, check... Among them TS now This is the current system time, TS thred It is the tolerable transmission delay threshold; GCS i Calculate the group members Batch verification of drone swarms After successful verification, GCS i Generate random numbers And timestamp TS1, using a key Encrypted authentication message obtains ciphertext in, It is GCS i And the key shared in advance with TA; GCS i calculate Send message Group authentication should be performed at a trusted certification authority (TA). Step 3: TA based on group kana GCS collection i The request; TA first checks the timestamp TS now -TS1≤TS thred Then use the key Decrypting the ciphertext CPT1 yields the plaintext data. And verify Is it valid? If the verification is successful, then TA is calculated. verify If the verification is successful, TA will then generate a random number. And calculate the group key for this group as follows: At the same time, select a new group of kana. Timestamp TS2, compute ciphertext Generate verification hash To GCS i Send message Step 4: GCS i Received response, check TS now -TS2≤TS thred Decrypting the ciphertext CPT2 yields the plaintext data. verify Is it true? If the verification is successful, GCS i Then calculate and UAV U i Session key Then generate Select timestamp TS3 to calculate the ciphertext. and GCS i To the drones U1, U2, ..., U n Send separately Step 5: UAV i Upon receiving the request response, first check the timestamp TS. now -TS3≤TS thred Then calculate the session key. And decrypt using this key Obtain plaintext data U i verify If the verification is successful, the verification of GCS is complete. i Authentication and receiving As with GCS i The session key, and receiving GSK k As a future group key, while updating For the new group of kana; in, Drones U1, U2, ..., U n To ground control station GCS i Send authentication request, N thred This represents the threshold value for recovering the group's public key, where n ≥ N. thred This indicates that the number n of the drone swarm needs to be greater than the threshold N. thred Only then can the secret authentication be restored; Authentication Request U-shaped drone i The request message sent was from the UAV. i The group number ux i Signature δ i 、group of kana Drone alias PID i Authentication parameters and Timestamp of the request being initiated Composition; Calculation process: Calculate PID i =pid i ·P,pid i U-shaped drone i Selected random value, PID i It is the output of the dot product operation, represented as U. i The katakana; calculate and and This represents the intermediate output of the three authentication processes, used for drone identity authentication and traceability; calculate δ i U i The signature; Drones U1, U2, ..., U n To GCS i After sending the authentication request, GCS i Collection of requests for batch authentication; Calculation process: Calculate and check Whether it is valid, TS now Indicates the current system time. TS represents the time difference between the current system time and the time the request was initiated. thred This indicates the tolerable transmission delay threshold, if If the authentication request is successful, it indicates that the application is fresh and can effectively prevent replay attacks. calculate It is the output of the dot product operation, Upk′ i It is the calculated U-shaped drone. i The public key is used for identity tracking; calculate and verify Whether it is valid, This represents a swarm of drones U1, U2, ..., U n Batch verification of signatures This represents a swarm of drones U1, U2, ..., U n Batch identity verification Hash function The output, Indicates accumulation and output; calculate u1 represents GCS i Generated random numbers, GCS i The key shared in advance between you and TA Indicates the use of a shared key Regarding the message content Perform symmetric encryption; CPT1 represents the ciphertext output after symmetric encryption. Indicates the message abbreviation; calculate Auth1 represents the hash function. The output is used for message verification; TS1 represents GCS. i Select the current system timestamp; GCS i Send message To TA, Msg1 indicates the message being sent, the content of which is composed of group pseudonyms. It consists of ciphertext CPT1, hash output Auth1, and current timestamp TS1; TA received GCS from ground control station i After the request is sent, based on the group pseudonym The requests are grouped and then group authentication and group key negotiation are performed; the calculation process is as follows: Calculate and verify TS now -TS1≤TS thred TS now -TS1 indicates the current system time and GCS. i The time difference when the request is initiated, if this time difference is less than the tolerable time threshold TS thred This indicates that the message is fresh; Use key Decrypt the ciphertext CPT1 to obtain the plaintext data. Calculate the hash output based on the decrypted content. verify Does the equation hold true? If it does, it indicates that the GCS... i The sent request was not tampered with; calculate α k It is an intermediate value involved in the process of restoring the group name calculation; calculate The output value represents the recovered group public key; Verify the equation If the condition is met, it means that the group public key used to calculate the recovery is consistent with the group public key recorded during registration, and the authentication is successful. calculate GSK k It is a hash function The output represents the group key of the drone swarm, and u2 is the random number chosen by TA; calculate CPT2 indicates the use of a key. Regarding the message Output the ciphertext after symmetric encryption. yes abbreviated form, TA represents a new group pseudonym generated for this drone swarm; calculate Auth2 is a hash function The output TS2 represents the current system timestamp selected by TA; TA to GCS i Send message Msg2 indicates the message sent by TA, consisting of group pseudonyms. It consists of ciphertext CPT2, hash output Auth2, and current timestamp TS2; GCS i Received a message from TA After decrypting the message, GCS sends separate request and response messages to the drone cluster. i Reply to drone U i Request and response It is a reply message, in ciphertext. Verify hash The TS3 timestamp consists of the following components; the calculation process is as follows: Calculate and verify TS now -TS2≤TS thred TS now -TS2 represents the time difference between the current system time and the time when the TA response was sent. If this time difference is less than the time threshold TS thred This indicates that the message is fresh; Use key Decrypting the ciphertext CPT2 yields the plaintext data. Calculate the hash output based on the decrypted content. Verify the equation Check if the equation holds true. If it does, it means that the message TA replied to has not been tampered with. calculate It is a hash function The output represents GCS. i and U drones i Temporary session key between; calculate u3 represents GCS i The selected random number, Indicates the use of a temporary session key Regarding the message Output the ciphertext after symmetric encryption; calculate It is a hash function The output is used to verify whether the message has been tampered with. TS3 is GCS. i Select the current system timestamp; GCS i To the drones U1, U2, ..., U n Send separately After receiving the response, the drone verifies the message and calculates the session key; the calculation process is as follows: Calculate and verify TS now -TS3≤TS thred TS now -TS3 indicates the current system time and GCS. i The time difference between sending the response, if the time difference is less than the time threshold TS thred This indicates that the message is fresh; calculate It is a hash function The output of indicates the drone U i With GCS i Temporary session key between; Use temporary session key Decrypting the ciphertext Obtain plaintext data Calculate hash output verify Check if the equation is true. If it is true, it means that the received message has not been tampered with and the session key has been successfully negotiated.

7. The method for drone group authentication and key negotiation according to claim 1, characterized in that, The batch detection algorithm in step (5) specifically includes the following steps: Step 1: For the drone cluster U1, U2, ..., U that is currently failing authentication n The TA inputs the current drone group list UGroupList into the batch detection algorithm BatchDetection(), and the algorithm outputs the invalid drone list InvalidList in the current group; Step 2: Based on the list InvalidList, TA inputs the drone information from the list into the verification algorithm Verify(). Point-to-point authentication is performed, and the algorithm outputs the authentication result for the drone. If the result is true, the authentication is successful; if the result is false, the authentication fails.