Implementation method for security identity authentication protocol of unmanned aerial vehicle
By implementing a secure identity authentication protocol in drone communication, using additive cycle group and elliptic curve key generation, the problem of unsafe communication channel of drone is solved, and secure communication between drones is realized.
Patent Information
- Application Number
- CN202411969947.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2025-04-11
AI Technical Summary
The threat of network communication security of drones is mainly because the communication channels between drones are unsafe and are vulnerable to Wi-Fi attacks, playback attacks, man-in-the-middle attacks, etc., which leads to threats when performing missions.
It provides a method for implementing a UAV secure identity authentication protocol. By initializing the system parameters and generating the private key d, using the addition loop group G1 and the main public key Ppub to obtain the element g and the intermediate variable L, and generate the signature of the message to be signed M, thereby realizing the secure identity authentication between the UAVs.
Through this method, drones can perform secure identity authentication during communication, ensure the security of communication between drones, and prevent malicious attacks and false signals from interference.
Smart Images

Figure CN119814327A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of unmanned aerial vehicles, and in particular relates to a method for implementing a safety identity authentication protocol for unmanned aerial vehicles. Background Art
[0002] The security threat of drone network communications is mainly due to the insecure communication channels between drones, which are vulnerable to Wi-Fi attacks, replay attacks, man-in-the-middle attacks, etc.
[0003] Drone swarms usually perform tasks in an open environment and communicate through wireless channels. Therefore, drone swarms may be monitored, intercepted, or even broadcast false signals by malicious users, posing a threat to the missions performed by drones.
[0004] Therefore, providing a method for a secure identity authentication protocol when communicating between drones has become an urgent problem to be solved. Summary of the invention
[0005] In order to solve the above problems existing in the prior art, the present invention provides a method for implementing a drone security identity authentication protocol.
[0006] The technical problem to be solved by the present invention is achieved through the following technical solutions:
[0007] The present invention provides a method for implementing a drone security identity authentication protocol, the method comprising:
[0008] Initialize system parameters and generate a private key d, where the system parameters include the additive cyclic group G1 and the master public key P pub ;
[0009] According to the generator P1 of the additive cyclic group G1 and the master public key P pub Get the element g on the elliptic curve group, and get the intermediate variable L based on the element g;
[0010] Generate the signature of the message M to be signed based on the intermediate variable L and the private key d.
[0011] Optionally, initialize system parameters and generate private and public keys, including:
[0012] Set system parameters params, the system parameters params=<λ,G1,G2,e,N,P pub ,H1,H2>, where λ is the security parameter, G1 and G2 are both N-order additive cyclic groups, e is a bilinear pairing, P pub is the master public key, H1 and H2 are both hash functions;
[0013] A value t1 is obtained on an elliptic curve finite field according to the master private key s and the current drone identity information ID, and the private key d is generated according to the value t1, wherein the current drone identity information ID includes the previous drone identity information ID and the current timestamp.
[0014] Optionally, set system parameters params, including:
[0015] Obtain the security parameter λ, the N-order additive cyclic group G1, the N-order additive cyclic group G2, and the multiplicative cyclic group G T , hash function H1 and hash function H2, H1: H2: is an integer ring of order q with 0 removed;
[0016] Based on the additive cyclic group G1 and the additive cyclic group G2, a bilinear pair e is obtained, e: G1×G2→G T ;
[0017] The master public key P is obtained according to the master private key s and the generator P2 of the additive cyclic group G2. pub , P pub =sP2, s∈[1,N-1].
[0018] Optionally, obtaining a value t1 on an elliptic curve finite field based on the master private key s and the user identity information ID, and generating the private key d based on the value t1 includes:
[0019] According to the master private key s and the drone identity information ID, the value t1 is obtained on the elliptic curve finite field, t1=H1(ID‖hid,N)+s, his is the function identifier, ‖ is the concatenation;
[0020] When the value t1 is not equal to 0, the value t2 is obtained according to the master private key s and the value t1, t2=s·t1 -1 ;
[0021] The private key d is obtained according to the value t2 and the generator P1 of the additive cyclic group G1.
[0022] Optionally, the private key d is expressed as:
[0023] Optionally, after obtaining the private key d according to the value t2 and the generator P1 of the additive cyclic group G1, the method further includes:
[0024] The public key Q is obtained according to the master public key and the generator P1 of the additive cyclic group G1, and the public key Q is expressed as: Q = H1 (ID ‖hid, N) P1 + P pub .
[0025] Optionally, according to the generator P1 of the additive cyclic group G1 and the master public key P pub Get the element g on the elliptic curve group, and get the intermediate variable L based on the element g, including:
[0026] Step 2.1: Based on the generator P1 of the additive cyclic group G1 and the master public key P pub Get the element g, g = e(P1,P pub ), e(P1,P pub ) is P1 and P pub Linear pair operation of ;
[0027] Step 2.2: Generate a random number r to obtain an intermediate variable ω according to the element g and the random number r, ω = g r , r∈[1,N-1];
[0028] Step 2.3, the hash function H2 constructed according to the intermediate variable ω, the message M to be signed and the order N obtains the hash value h, h = H2 (M ‖ ω, N), ‖ is the concatenation;
[0029] Step 2.4: Obtain an intermediate variable L according to the random number r, the hash value h and the order N, L = (rh) mod N, where mod is a modulus operation.
[0030] Optionally, generating a signature of the message M to be signed according to the intermediate variable L and the private key d includes:
[0031] Step 3.1: Determine whether the intermediate variable L is equal to 0. If so, return to step 2.2. If not, obtain the intermediate variable S according to the intermediate variable L and the private key d, S = Ld;
[0032] Step 2.52: Generate a signature of the message M to be signed according to the hash value h and the intermediate variable S, where the signature is (h, S).
[0033] Optionally, after generating the signature of the message M to be signed according to the intermediate variable L and the private key d, the method further includes:
[0034] Verify whether the received message M' and its signature (h', S') are true. If true, the verification succeeds. If not, the verification fails. h' is the hash value and S' is the intermediate variable.
[0035] Optionally, verifying whether the received message M' to be verified and its signature (h', S') are established, if established, the verification is successful, if not established, the verification fails, including:
[0036] Receive the message M' to be verified and its signature (h', S');
[0037] According to the element g, we get the intermediate variable t, t=g h′ ;
[0038] The hash function H1 constructed according to the drone identity information ID, function identifier and order N generates a hash value h1, h1 = H1 (ID ‖hid, N);
[0039] According to the hash value h1, the generator P2 of the additive cyclic group G2 and the master public key P pub Get the intermediate variable P, P = h1P2 + P pub ;
[0040] According to the intermediate variables S′ and P, a bilinear mapping value μ is obtained, μ=e(S′,P);
[0041] According to the bilinear mapping value μ and the intermediate variable t, the intermediate variable ω′ is obtained, ω′=μ·t;
[0042] The hash function H2 constructed according to the message M', the intermediate variable ω' and the order N obtains the hash value h2, h2 = H2 (M' ‖ ω', N);
[0043] Check whether h2=h′ holds true. If so, the verification succeeds. If not, the verification fails.
[0044] Compared with the prior art, the present invention has the following beneficial effects:
[0045] The implementation method of the drone security identity authentication protocol provided by the present invention first initializes the system parameters and generates a private key d, and then generates a generator P1 of the additive cyclic group G1 and a master public key P pub Get uAnsu, and generate the signature of the message M to be signed according to the intermediate variable L and the private key d, so that the drone can send the signature to the drone that needs to communicate for verification. This authentication method can ensure the security of communication between drones.
[0046] The present invention will be further described in detail below with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 It is a flowchart of a method for implementing a drone security identity authentication protocol provided by an embodiment of the present invention;
[0048] Figure 2 It is a schematic diagram of another method for implementing a drone security identity authentication protocol provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0049] The present invention is further described in detail below with reference to specific embodiments, but the embodiments of the present invention are not limited thereto.
[0050] Embodiment 1
[0051] See also Figure 1 , Figure 1 The present invention provides a method for implementing a drone security identity authentication protocol, and the implementation method includes:
[0052] Step 1: Initialize system parameters and generate a private key d. The system parameters include the additive cyclic group G1 and the master public key P. pub .
[0053] In this embodiment, the initialization phase includes two parts, including system initialization and key generation.
[0054] In an optional embodiment, step 1 may specifically include:
[0055] Step 1.1, set system parameters params, system parameters params = <λ, G1, G2, e, N, P pub ,H1,H2>, where λ is the security parameter, G1 and G2 are both N-order additive cyclic groups, e is a bilinear pairing, P pub is the master public key, and H1 and H2 are both hash functions.
[0056] Step 1.11, obtain the security parameter λ, the N-order additive cyclic group G1, the N-order additive cyclic group G2, and the multiplicative cyclic group G T , hash function H1 and hash function H2, H1: That is, from {0,1} * Map to H2: is the ring of integers of order q with 0 removed.
[0057] Here, the additive cyclic group G1 and the additive cyclic group G2 are two different additive cyclic groups of order N. The generator of the additive cyclic group G1 is denoted by P1, and the generator of the additive cyclic group G2 is denoted by P2.
[0058] Step 1.12: Based on the additive cyclic group G1 and the additive cyclic group G2, we get the bilinear pair e: G1×G2→G T , that is, mapping from G1×G2 to G T .
[0059] Step 1.13: Obtain the master public key P based on the master private key s and the generator P2 of the additive cyclic group G2 pub .
[0060] Specifically, randomly select s, and s∈[1,N-1], use s as the master private key, and then use the master private key s and the generator P2 of the additive cyclic group G2 to obtain the master public key P pub , P pun =sP2.
[0061] Step 1.2: Obtain the value t1 on the elliptic curve finite field based on the master private key s and the current drone identity information ID, and generate the private key d based on the value t1, wherein the current drone identity information ID includes the previous drone identity information ID and the current timestamp.
[0062] Specifically, the drone identity information ID is formed by combining the drone identity number and the currently generated timestamp. That is, the drone base station will save the identity number of each drone, and at a fixed time, the drone base station will combine the saved identity number of each drone with the timestamp at this time to form a new drone identity number as the drone identity information ID.
[0063] Step 1.21, obtain the value t1 on the elliptic curve finite field based on the master private key s and the current drone identity information ID.
[0064] Specifically, for the drone that needs to communicate, the drone identity information ID is obtained, and the KGC (key generation center) selects and publicly uses a private key to generate a function identifier hid, thereby calculating the value t1 on the elliptic curve finite field FN, which is expressed as:
[0065] t1=H1(ID‖hid,N)+s, hid is the function identifier, ‖ is the splicing.
[0066] Step 1.22: When the value t1 is not equal to 0, the value t2 is obtained according to the master private key s and the value t1.
[0067] Specifically, if t1 = 0, the master private key 0 needs to be regenerated, otherwise the value t2 is calculated, t2 = s·t1 -1 .
[0068] Step 1.23, obtain the private key d based on the value t2 and the generator P1 of the additive cyclic group G1.
[0069] In this embodiment, the private key d is expressed as:
[0070] Step 1.24: Obtain the public key Q based on the master public key and the generator P1 of the additive cyclic group G1.
[0071] In this embodiment, the public key Q is expressed as: Q = H1 (ID ‖ hid, N) P1 + P pub .
[0072] Step 2: Based on the generator P1 of the additive cyclic group G1 and the master public key P pub Get the element g on the elliptic curve group, and get the intermediate variable L based on the element g.
[0073] Specifically, for the drone ID that needs to communicate i , you can generate a signature through steps 2 and 3 and send it to the drone ID i The ID of the drone that needs to communicate j The drone Idi first calculates the generator P1 of the additive cyclic group G1 and the master public key P pub Get the element.
[0074] In an optional embodiment, step 2 may specifically include:
[0075] Step 2.1: Based on the generator P1 and the master public key P of the additive cyclic group G1 pub Get the element g, g = e(P1,P pub ), e(P1,P pub ) is P1 and P pub Linear pair operation.
[0076] Step 2.2: Generate a random number r to obtain an intermediate variable ω based on the element g and the random number r.
[0077] Specifically, a random number r is randomly generated, r∈[1,N-1], so that an intermediate variable ω is obtained according to the element g and the random number r, ω=g r .
[0078] Step 2.3: The hash value h is obtained by constructing the hash function H2 according to the intermediate variable ω, the message M to be signed and the order N, where h = H2(M‖ω, N).
[0079] Here, the message M to be signed is a command Message that one drone needs to send to another drone.
[0080] Step 2.4: Obtain the intermediate variable L according to the random number r, hash value h and order N.
[0081] In this embodiment, L=(rh)mod N, where mod is a modulo operation.
[0082] Step 3: Generate the signature of the message M to be signed based on the intermediate variable L and the private key d.
[0083] Step 3.1: Determine whether the intermediate variable L is equal to 0. If so, return to step 2.2. If not, obtain the intermediate variable S based on the intermediate variable L and the private key d.
[0084] In this embodiment, S=Ld.
[0085] Step 3.2: Generate the signature of the message M to be signed based on the hash value h and the intermediate variable S, and the signature is (h, S).
[0086] Therefore, after generating the signature, the drone can output the message M and the signature (h, S) to the drone that needs to communicate. The drone that receives the message M and the signature (h, S) needs to verify the received content to ensure the communication is secure. The verification step is specifically step 4.
[0087] Step 4: Verify whether the received message M' and its signature (h', S') are valid. If they are valid, the verification is successful. If not, the verification fails.
[0088] Specifically, assuming that the information received by the drone is M' and the signature is (h', S'), after receiving the message M' and its signature (h', S'), the drone needs to verify the received content to ensure the security of communication. Specifically, check whether h'∈[1,N-1] and S'∈G1 are true. If not, the verification fails.
[0089] Step 4.1: Receive the message M' to be verified and its signature (h', S'), where h' is the hash value and S' is the intermediate variable.
[0090] Step 4.2: Obtain the intermediate variable t according to the element g, g = e(P1,P pub) , t = g h′ .
[0091] Step 4.3: Generate a hash value h1 using the hash function H1 constructed based on the drone identity information ID, function identifier and order N, where h1 = H1(ID‖hid, N).
[0092] Step 4.4: Based on the hash value h1, the generator P2 of the additive cyclic group G2, and the master public key P pub Get the intermediate variable P, P = h1P2 + P pub .
[0093] Step 4.5: Obtain the bilinear mapping value μ according to the intermediate variable S′ and the intermediate variable P, μ=e(S′,P).
[0094] Step 4.6: Obtain the intermediate variable ω′ according to the bilinear mapping value μ and the intermediate variable t, ω′=μ·t.
[0095] Step 4.7: The hash function H2 constructed according to the message M', the intermediate variable ω' and the order N obtains the hash value h2, h2 = H2(''‖ω', N).
[0096] Step 4.8: Check whether h2=h′ holds. If so, the verification succeeds; if not, the verification fails.
[0097] In this example, see Figure 2 The interaction process between drones and drone base stations can be as follows: (1) At a fixed time every day (such as 0:00 and 12:00), the drone base station combines the saved identity number of each drone with the timestamp generated at this time to form a new identity number. The new identity number is then used to generate a key pair through the key generation center in the drone base station, and is issued to the corresponding drone according to the new identity number. (2) Drone ID i Perform a hash operation on the message to be sent, the corresponding identity information ID and the timestamp, and then sign the calculated hash value. After the signature is completed, the ID, message, timestamp and signature package are sent. (3) Other drone IDs j Parse the packet and verify the signature data. If the verification is successful, accept the data and perform the operation, otherwise no operation will be performed.
[0098] The implementation method of the drone security identity authentication protocol provided by the present invention includes four stages: system initialization, key generation, signature generation, and signature authentication. The key generation center combines the timestamp of the day with the drone identity information ID to generate a new identity number every day. The key generation center in the control station derives a new key pair based on the generated identity number. The drone will be assigned a corresponding private key. After generating the message information Message that needs to be signed, the drone signs the message information Message according to the private key, sends the Message and the signature to the drone that receives the message, and the drone that receives the message Message verifies the signature according to the published public key. In the key generation stage, the present invention adopts a timestamp mechanism to regularly generate a new identity information ID for each drone with the timestamp of the day for generating a new key pair. The method provided by the present invention has the characteristics of efficient identity authentication of the SM9 algorithm and the function of regularly updating the key pair to prevent identity counterfeiting.
[0099] It should be noted that the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more features. In the description of the present invention, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0100] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification.
[0101] Although the present invention is described herein in conjunction with various embodiments, in the process of implementing the claimed invention, those skilled in the art may understand and implement other variations of the disclosed embodiments by viewing the drawings and the disclosure. In the specification, the word "comprising" does not exclude other components or steps, and "one" or "a" does not exclude multiple situations. Certain measures are recorded in different embodiments, but this does not mean that these measures cannot be combined to produce good results.
[0102] The above contents are further detailed descriptions of the present invention in combination with specific preferred embodiments, and it cannot be determined that the specific implementation of the present invention is limited to these descriptions. For ordinary technicians in the technical field to which the present invention belongs, several simple deductions or substitutions can be made without departing from the concept of the present invention, which should be regarded as falling within the protection scope of the present invention.
Claims
1. A method for implementing a drone security identity authentication protocol, characterized in that: The implementation method includes: Initialize system parameters and generate a private key d, where the system parameters include the additive cyclic group G1 and the master public key P pub ; According to the generator P1 of the additive cyclic group G1 and the master public key P pub Get the element g on the elliptic curve group, and get the intermediate variable L based on the element g; Generate the signature of the message M to be signed based on the intermediate variable L and the private key d.
2. The implementation method according to claim 1, characterized in that: Initialize system parameters and generate private and public keys, including: Set system parameters params, the system parameters params = <λ, G1, G2, e, N, P pub , H1, H2>, where λ is the security parameter, G1 and G2 are both N-order additive cyclic groups, e is a bilinear pairing, P pub is the master public key, H1 and H2 are both hash functions; A value t1 is obtained on an elliptic curve finite field according to the master private key s and the current drone identity information ID, and the private key d is generated according to the value t1, wherein the current drone identity information ID includes the previous drone identity information ID and the current timestamp.
3. The implementation method according to claim 2, characterized in that: Set system parameters params, including: Obtain the security parameter λ, the N-order additive cyclic group G1, the N-order additive cyclic group G2, and the multiplicative cyclic group G T , hash function H1 and hash function H2, H1: H2: is an integer ring of order q with 0 removed; Based on the additive cyclic group G1 and the additive cyclic group G2, a bilinear pair e is obtained, e: G1×G2→G T ; The master public key P is obtained according to the master private key s and the generator P2 of the additive cyclic group G2. pub , P pub =sP2,s∈[1,N-1].
4. The implementation method according to claim 2, characterized in that: Obtaining a value t1 on an elliptic curve finite field based on the master private key s and the user identity information ID, and generating the private key d based on the value t1, including: According to the master private key s and the drone identity information ID, the value t is obtained on the elliptic curve finite field, t1=H1(ID||hid, N)+s, hid is the function identifier, || is the concatenation; When the value t1 is not equal to 0, the value t2 is obtained according to the master private key s and the value t1, t2=s·t1 -1 ; The private key d is obtained according to the value t2 and the generator P1 of the additive cyclic group G1.
5. The implementation method according to claim 4, characterized in that: The private key d is expressed as:
6. The implementation method according to claim 4, characterized in that: After obtaining the private key d according to the value t2 and the generator P1 of the additive cyclic group G1, the method further includes: The public key Q is obtained according to the master public key and the generator P1 of the additive cyclic group G1, and the public key Q is expressed as: Q=H1(ID||hid,N)P1+P pub .
7. The implementation method according to claim 2, characterized in that: According to the generator P1 of the additive cyclic group G1 and the master public key P pub Get the element g on the elliptic curve group, and get the intermediate variable L based on the element g, including: Step 2.1: Based on the generator P1 of the additive cyclic group G1 and the master public key P pub Get element g, g = e(P1, P pub ), e(P1,P pub ) is P1 and P pub Linear pair operation of ; Step 2.2: Generate a random number r to obtain an intermediate variable ω according to the element g and the random number r, ω = g r , r∈[1,N-1]; Step 2.3, obtain a hash value h according to the hash function H2 constructed according to the intermediate variable ω, the message M to be signed and the order N, h = H2 (M||ω, N), || is concatenation; Step 2.4: Obtain an intermediate variable L according to the random number r, the hash value h and the order N, L = (rh) mod N, where mod is a modulus operation.
8. The implementation method according to claim 7, characterized in that: Generate the signature of the message M to be signed based on the intermediate variable L and the private key d, including: Step 3.1: Determine whether the intermediate variable L is equal to 0. If so, return to step 2.
2. If not, obtain the intermediate variable S according to the intermediate variable L and the private key d, S = Ld; Step 2.52: Generate a signature of the message M to be signed according to the hash value h and the intermediate variable S, where the signature is (h, S).
9. The implementation method according to claim 8, characterized in that: After generating the signature of the message M to be signed according to the intermediate variable L and the private key d, it also includes: Verify whether the received message M′ and its signature (h′, S′) are valid. If they are valid, the verification is successful. If not, the verification fails. h′ is the hash value and S′ is the intermediate variable.
10. The implementation method according to claim 9, characterized in that: Verify whether the received message M' and its signature (h', S') are valid. If they are, the verification is successful. If not, the verification fails, including: Receive the message M′ to be verified and its signature (h′, S′); According to the element g, we get the intermediate variable t, t=g h′ ; The hash function H1 constructed according to the drone identity information ID, the function identifier and the order N generates a hash value h1, h1 = H1 (ID||hid, N); According to the hash value h1, the generator P2 of the additive cyclic group G2 and the master public key P pub Get the intermediate variable P, P = h1P2 + P pub ; According to the intermediate variable S′ and the intermediate variable P, a bilinear mapping value μ is obtained, μ=e(S′, P); According to the bilinear mapping value μ and the intermediate variable t, the intermediate variable ω′ is obtained, ω′=μ·t; The hash function H2 constructed according to the message M′, the intermediate variable ω′ and the order N obtains the hash value h2, h2=H2(M′||ω′, N); Check whether h2=h′ holds true. If so, the verification succeeds. If not, the verification fails.
Citation Information
Patent Citations
Blind signature generation method and system based on SM9 digital signature
CN108551392A
Elliptic curve encryption-based unmanned aerial vehicle and base station communication identity authentication method
CN112073964A
Certificateless signature generation method and device based on SM9 signature
CN115174054A
Block chain user transaction signature verification method
CN118569872A
Method and device for certificateless partially blind signature
WO2018119670A1