Disclosure of Invention
Aiming at the problems in the prior art, the invention provides an unmanned aerial vehicle key management and networking authentication system and method based on identity.
For convenience of description, the key used in the present invention and its functions will be described:
master key: the master key, denoted k, generated by the system is used to generate the subkey.
And (3) sub-key: and according to a threshold scheme, generating a main key based on the system, and recording a sub-key of the UAV node vi as ki for generating a key encryption key pair.
Key encryption key pair: generated by the system and distributed to unmanned aerial vehicles, UAV nodes v
iIs a key encryption public key
The secret key encryption private key is marked as s
iThe method is used for identity authentication and private key share generation when the unmanned aerial vehicle joins a network or an authentication key pair is updated.
Private key share: UAV node v generated when UAV joins network or authentication key pair is updatediThe generated private key share is marked as XiAnd the method is used for recovering the authentication private key of the network-accessing unmanned aerial vehicle.
Authentication key pair: UAV node v generated after joining the networkiIs marked as PIDiAnd the authentication private key is marked as diAnd the network authentication module is used for carrying out networking authentication with other unmanned aerial vehicles in the network.
Communication key pair: generated during networking authentication of unmanned aerial vehicle, UAV node viIs denoted as PipubAnd the communication private key is marked as dipriFor use in and in networksAnd performing key agreement on other unmanned aerial vehicles to generate a session key.
The invention is realized in this way, a unmanned aerial vehicle key management and network deployment authentication method based on identity, the unmanned aerial vehicle key management and network deployment authentication method based on identity includes: initializing a key management and networking authentication system, and generating and distributing system parameters, keys and identity information required by the unmanned aerial vehicle for key management and networking authentication by a ground authentication server; the unmanned aerial vehicle authentication client generates an authentication public key based on identity, and submits a key generation request to a UAV node in an unmanned aerial vehicle network; the unmanned aerial vehicle authentication client calculates to obtain private key shares according to the effective signcryption information, and recovers the authentication private key according to a threshold scheme after t effective private key shares are collected; an unmanned aerial vehicle authentication client in the unmanned aerial vehicle network performs identity authentication on the UAV node requesting key generation, and provides private key share generation service after authentication is passed; the unmanned aerial vehicle authentication client uses the authentication key to perform networking authentication on the UAV node in the unmanned aerial vehicle network, and negotiates a session key.
Further, the identity-based unmanned aerial vehicle key management and networking authentication method comprises the following steps:
firstly, selecting a cryptographic algorithm and generating an initialization parameter of the cryptographic algorithm according to a cryptographic parameter generation algorithm built in a system;
secondly, the unmanned aerial vehicle generates an authentication key pair, and the authentication key pair is executed when the UAV node joins the network in the process of executing the mission by the UAV or when the UAV node updates the authentication key pair;
thirdly, networking authentication between the unmanned aerial vehicles is executed after the UAV nodes are added into the unmanned aerial vehicle network, and networking authentication is carried out on the UAV nodes and other UAV nodes in the unmanned aerial vehicle network by using an authentication key;
and fourthly, the unmanned aerial vehicle updates the authentication key pair.
Further, the first step specifically includes:
selecting a proper cryptographic algorithm and generating an initialization parameter of the cryptographic algorithm according to a cryptographic parameter generation algorithm built in a system;
(1) ground authentication server generation using BDH parametersThe algorithm generates a prime q, two cyclic groups G of order q
1,G
2The operations thereon being addition and multiplication, respectively, and G
1Is a GDH group, a bilinear map e: g
1×G
1→G
2Selecting a random generator P ∈ G
1(ii) a Selecting a hash function
H2:G
2→{0,1}
m;
(2) The ground authentication server selects a compliant elliptic curve and the points on the curve form a group EγAnd (a, b) generating element G (x, y), wherein the order delta of G is a large prime number. Selecting a symmetric cryptographic algorithm, wherein the cryptographic algorithm is ENCKThe decryption algorithm is DECKSelecting a hash function H on an integer field;
(3) the number of the unmanned aerial vehicles is n, the ground control server sets a threshold value t, and the unmanned aerial vehicles are in a limited domain Z
pA random number is selected as a master key k, and a t-1 degree polynomial is randomly generated: f (x) k + l
1x+l
2x
2+…+l
t-1x
t-1(modp) then generates sub-keys and key-encryption key pairs for all UAV nodes, based on UAV node v
iNumber i of generates subkey k
i,k
iF (i), finally generating a key encryption key pair based on the subkey, wherein the key encryption private key is s
i,s
i=k
iThe secret key encrypts the public key to
(4) The ground authentication server generates the required identity information ID for the unmanned aerial vehicle according to the approval code of the unmanned aerial vehicle manufacturer, the production assembly code and the serial number of the communication modulei;
(5) The ground authentication server selects a time interval delta T and a key updating time interval delta T which meet the message freshness requirement according to specific safety requirements;
step two, before the unmanned aerial vehicle executes the flight mission, the unmanned aerial vehicle submits a system initialization application to a ground authentication server;
step three, after receiving the application, the ground authentication server transmits system parameters { E ] to the unmanned aerial vehicle authentication clientγ(a,b),G,δ,G1,G2,E,Zp,P,H,H1,H2,ENCK,DECKΔ T, Δ T }, a specific key encryption private key, key encryption public keys of all drones, and identity information.
Further, the second step specifically includes:
the method comprises the following steps: UAV node v
iGenerating request information and sending a key generation request; UAV node v
iObtaining time parameters via an onboard clock
Based on the acquisition
And a preset ID
iUAV node v
iComputing authentication public key P
IDi,
And encrypts the private key s using its key
iSigning to obtain Sig
ireq,Sig
ireq=s
iP
IDi. After the calculation is completed, v
iWill Sig
ireqSending to a UAV node in the drone network along with a key generation request;
step two: UAV node v
jFor Sig
ireqJudging the effectiveness of the test result; after receiving the key generation request, the UAV node v
jObtaining time parameters via an onboard clock
Based on the acquisition
And a preset identity information ID
iUAV node v
jCalculate P of the node
IDi,
Then using the calculated P
IDiAnd pre-assigned UAV node v
iIs encrypted with a public key
The validity of the signature is determined, and the equation is verified:
if the equation is established, the validity verification is passed if the equation is established, otherwise, the connection is released if the verification fails;
step three: UAV node vjGenerating and returning a signcryption message;
based on received SigireqAnd a preset key encryption private key sjUAV node vjCalculating SignCrypt message SignCryptjres,SignCryptjres=sjsiPIDiAfter the calculation is finished, SignCrypt is addedjresReturned to UAV node vi;
Step four: UAV node viFor SignCryptjresJudging the effectiveness of the test result;
UAV node v
iUsing pre-assigned UAV nodes v
jIs encrypted with a public key
And the calculated Sig
ireqThe validity of the message is determined, and the equation is verified:
if the equation is established, the validity verification is passed if the equation is established, otherwise, the connection is released if the verification fails;
step five: UAV node viCalculating UAV node vjA private key share of;
based on received SignCryptjresAnd preset siUAV node viComputing private key share Xj,Xj=sjPIDiAfter the calculation is finished, X is addedjAnd UAV node vjRecording the number j and then storing;
step six: UAV node viRecovering the authentication private key;
UAV node v
iAfter private key shares of t legal nodes are collected, recovering the authentication private key d according to a threshold scheme
i,
Wherein l
θ(z) is the Lagrange interpolation formula,
z
θ,z
jis the node number.
Further, the third step specifically includes:
the method comprises the following steps: UAV node viTo UAV node vjInitiating an authentication request;
(1a) generating a communication key pair;
UAV node v
iSelecting a random number d
ipri∈[1,δ-1]As a communication private key, and calculates a communication public key P
ipub,P
ipub=d
ipriG. UAV node v
iGenerating a large random number r
i,
Calculating RAND
ij+1 and store;
(1b) encrypting the authentication parameters;
obtaining the current time T by an airborne clock
iAnd time parameter
Based on the acquisition
And a preset UAV node v
jIdentity information ID of
jUAV node v
iCalculating P
IDj,
Based on acquired T
iCalculated P
IDjAnd generated r
i、RAND
ijUAV node v
iThe ciphertext C is calculated and is,
wherein g is
ij=e(d
i,P
IDj)∈G
2;
(1c) Signing the authentication parameters;
UAV node viUsing dipriFor random number RANDijAnd (3) signature:
s=(1+d
ipri)
-1·(k-r·d
ipri)modδ;
verifying the validity of the signature (r, s) after the computation is completed, i.e. r ≠ 0, r + riNot equal to 0, s not equal to 0. After signature verification is passed, the UAV node viWill message { r, s, C, PipubH sent to UAV node v along with authentication requestj;
Step two: UAV node vjJudging the freshness and the validity of the authentication request;
(2a) decrypting to obtain an authentication parameter;
after receiving the authentication request, the UAV node vjUsing an authentication private key djDecrypting the extracted ciphertext information C to obtain RAND'ij、Ti:
(2b) Freshness authentication
UAV node vjObtaining the current time T through an onboard clock, if TiSatisfy T-TiIf the request meets the freshness requirement, continuing to perform the step (2c), otherwise, releasing the connection if the authentication fails;
(2c) validity authentication
UAV node vjExtraction of r ', s', PipubPost, verify the signature (RAND'ijR ', s'). And (3) calculating:
if R ═ R', the UAV node v is completed through validity verificationiThe authentication of (1); otherwise, the authentication fails, and the connection is released;
step three: UAV node vjEncrypting and returning authentication parameters;
(3a) generating a communication key pair and a session key;
UAV node vjGenerating a random number djpri∈[1,δ-1]As a communication private key, and calculates a communication public key Pjpub,Pjpub=djpriG. Based on generated djpriP received in (3b) andipubUAV node vjComputing a session key Kij,(xji,yji)=djpriPipub,Kij=(xji||yji);
(3b) Encrypting authentication parameters
UAV node v
jObtaining the current time T by an airborne clock
j. Based on acquired T
jK is calculated
ijAnd RAND 'calculated in (3 b)'
ijUAV node v
jComputing ciphertext C
rand,
After the calculation is completed, the UAV node v
jMessage { C
rand,P
jpubV returned to UAV node
i;
Step four: UAV node viJudging the freshness and the validity of the returned authentication parameters;
(4a) decrypting to obtain an authentication parameter;
based on d generated in (3a)
ipriAnd received P
jpubUAV node v
iComputing a session key K
ij,(x
ij,y
ij)=d
ipriP
jpub,K
ij=(x
ij||y
ij). Based on calculated K
ijAnd received C
randUAV node v
iDecrypting to obtain RAND
ij+1、T
j,
(4b) Freshness authentication
UAV node viObtaining the current time T through an airborne clock, if the obtained TjSatisfy T-TjIf the request meets the freshness requirement, continuing to perform the step (4c), otherwise, releasing the connection if the authentication fails;
(4c) validity authentication
UAV node viComparing the calculated RANDij+1 and stored RANDij+1 is equal or not; if the values are equal, the UAV node v is verified through validity verificationjThe authentication of (1); otherwise, authentication fails.
Further, the fourth step specifically includes: UAV node v
iIs generated in relation to time, at the current time t (of the system) oft
β≤t≤t
β+1) At the moment of time, the time of day,
UAV node v
iCalculate its public key P
IDi,
UAV node v
iIs required to be at t
β+1The authentication key pair is updated at any moment, the updating period is delta t, and t is satisfied
β+1=t
β+Δt。
Another object of the present invention is to provide an identity-based key management and networking authentication system for an unmanned aerial vehicle, which implements the identity-based key management and networking authentication method for the unmanned aerial vehicle, the identity-based key management and networking authentication system comprising:
the ground authentication server is used for finishing the initialization of key management and networking authentication systems, and generating and distributing system parameters, keys and identity information required by the unmanned aerial vehicle for key management and networking authentication;
the unmanned aerial vehicle authentication client is used for generating an authentication public key based on identity and submitting a key generation request to a UAV node in an unmanned aerial vehicle network; calculating to obtain private key shares according to the effective signcryption information, and recovering the authentication private key according to a threshold scheme after t effective private key shares are collected; identity authentication is carried out on UAV nodes added into the network, and private key share generation service is provided after authentication is passed; and carrying out networking authentication on the UAV node in the unmanned aerial vehicle network by using the authentication key, and negotiating a session key.
Further, the ground authentication server includes:
the system initialization module is used for completing the initialization of the key management and networking authentication system, namely transmitting the system parameters generated by the system parameter generation module, the identity information generated by the identity information generation module, the key encryption public keys of all the unmanned aerial vehicles generated by the key generation module and the key encryption private keys of the specific unmanned aerial vehicles to the key management and networking authentication system of the unmanned aerial vehicles;
the system parameter generation module is used for generating initialization parameters of a cryptographic algorithm according to a cryptographic parameter generation algorithm built in the system, selecting a proper hash function and a symmetric cryptographic algorithm, setting a time interval for updating a secret key and a time interval for meeting the message freshness requirement according to different safety requirements, counting the number n of unmanned aerial vehicle nodes in the system, and setting a corresponding threshold value t;
the identity information generation module is used for generating the required identity information for the unmanned aerial vehicle according to the approval code of the unmanned aerial vehicle manufacturer, the production assembly code, the serial number of the communication module and the like;
and the key generation module is used for generating a system master key, generating sub keys for all unmanned aerial vehicles in the system based on the master key and the initialization parameters of the cryptographic algorithm, and finally generating a key encryption key pair based on the sub keys.
Further, the unmanned aerial vehicle authentication client includes:
the system initialization module is used for completing key management on the unmanned aerial vehicle and initialization of a networking authentication system, namely acquiring system parameters and identity information required by the unmanned aerial vehicle for key management and networking authentication, and key encryption public keys of all the unmanned aerial vehicles and key encryption private keys of the unmanned aerial vehicles from a ground authentication server;
the key management module comprises three sub-modules: a request information generating sub-module, a key processing sub-module and an authentication sub-module. The request information generation submodule is used for generating an authentication parameter for requesting the generation of a secret key according to the identity information distributed by the system and the generated authentication public key; the key processing submodule is used for collecting private key shares and recovering the authentication private key after t effective private key shares are collected; the authentication submodule is used for interacting authentication required parameters with other unmanned aerial vehicle authentication clients, analyzing the authentication parameters and checking whether the received authentication parameters are valid;
the identity authentication module comprises two sub-modules: authentication submodule and private key share generation submodule. The authentication submodule is used for interacting authentication parameters with an unmanned aerial vehicle authentication client terminal generated by a request key, analyzing the authentication parameters and checking whether the received authentication parameters are valid; the private key share generation submodule is used for generating a private key share for the unmanned aerial vehicle authentication client side which requests key generation according to the received authentication parameters and signing and encrypting the private key share;
the networking authentication module comprises four sub-modules: the key pair generation sub-module, the data processing sub-module, the authentication sub-module and the key negotiation sub-module. The key pair generation submodule is used for generating a communication key pair for carrying out key agreement with other unmanned aerial vehicle authentication clients; the data processing submodule is used for generating parameters for identity authentication with other unmanned aerial vehicle authentication clients; the authentication submodule is used for interacting authentication required parameters with other unmanned aerial vehicle authentication clients, analyzing the authentication parameters and checking whether the received authentication parameters are valid; and the key negotiation submodule is used for carrying out key negotiation with other unmanned aerial vehicle authentication clients to generate a session key.
The invention also aims to provide the unmanned aerial vehicle applying the identity-based unmanned aerial vehicle key management and networking authentication method.
In summary, the advantages and positive effects of the invention are: the invention uses the threshold technology to realize the distributed generation of the authentication key pair by the nodes in the unmanned aerial vehicle network, improves the problem of unequal unmanned aerial vehicle calculation in the network caused by the existence of service nodes required by unmanned aerial vehicle network key management in the prior art, realizes unmanned aerial vehicle self-organized key management, and compared with the prior art, the invention utilizes the characteristic of strong mobility of the unmanned aerial vehicle, distributes private key shares in parallel, does not have the synchronization problem and the problem of higher communication delay caused by the serial execution of the key distribution process, enhances the reliability of key management, and provides a safety foundation for the networking authentication of the unmanned aerial vehicle.
The invention realizes bidirectional identity authentication between unmanned nodes, and the UAV node v is used for networking authentication when the unmanned aerial vehicle carries out networking authenticationjBy verification of the signature (RAND'ijValidation of r ', s') to UAV node viThe identity authentication of (2); UAV node viBy determining the RAND of the local storeij+1 and the RAND ″, obtained by decryptionij+1 equal or not to UAV node vjThe identity authentication of (1). Double isThe identity authentication mechanism can resist network attacks such as impersonation and tampering in the networking process of the unmanned aerial vehicle, and the safe and orderly networking of the unmanned aerial vehicle is ensured.
The unmanned aerial vehicle key management and networking authentication method has less calculation overhead, and the unmanned aerial vehicle key management and networking authentication method is realized by using an identity public key and a bilinear pair based on an elliptic curve cryptosystem; under the condition of keeping equal safety, compared with the existing asymmetric key management scheme based on the discrete logarithm problem on the finite field, the method has the advantages of less calculation overhead and improved realization efficiency.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail with reference to the following embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
Aiming at the problem that service nodes are required to exist in key management of an unmanned aerial vehicle network in the prior art, and the calculation between common unmanned aerial vehicle nodes and the service nodes is not equal; the problem of synchronization and higher communication delay can be caused by the serial execution of the key distribution process among the service nodes; the invention provides an identity-based unmanned aerial vehicle key management and networking authentication system and method, which can enable nodes in an unmanned aerial vehicle network to generate key pairs for networking authentication in a distributed manner under the condition of no trusted third party, realize networking authentication among the nodes and establish a safe communication link.
The following detailed description of the principles of the invention is provided in connection with the accompanying drawings.
As shown in fig. 1, an identity-based unmanned aerial vehicle key management and networking authentication system provided in an embodiment of the present invention includes: ground authentication server 1, unmanned aerial vehicle authentication client 2.
And the ground authentication server 1 is used for finishing the initialization of the key management and networking authentication system, namely generating and distributing system parameters, keys and identity information required by the unmanned aerial vehicle for key management and networking authentication.
An Unmanned Aerial Vehicle (UAV) authentication client 2 for generating an authentication public key based on identity and submitting a key generation request to a UAV node in an UAV network; calculating to obtain private key shares according to the effective signcryption information, and recovering the authentication private key according to a threshold scheme after t effective private key shares are collected; the identity authentication method is used for carrying out identity authentication on the UAV node added into the network and providing private key share generation service after the authentication is passed; and the UAV network is responsible for carrying out networking authentication on the UAV node in the unmanned aerial vehicle network by using the authentication key and negotiating a session key.
The ground authentication server 1 includes:
the system initialization module is used for completing the initialization of the key management and networking authentication system, namely, the system parameters generated by the system parameter generation module, the identity information generated by the identity information generation module, the key encryption public keys of all the unmanned aerial vehicles generated by the key generation module and the key encryption private keys of specific unmanned aerial vehicles are transmitted to the key management and networking authentication system of the unmanned aerial vehicles.
The system parameter generation module is used for generating initialization parameters of a cryptographic algorithm according to a cryptographic parameter generation algorithm built in the system, selecting a proper hash function and a symmetric cryptographic algorithm, setting a time interval for updating a secret key and a time interval for meeting the message freshness requirement according to different safety requirements, counting the number n of unmanned aerial vehicle nodes in the system, and setting a corresponding threshold value t.
And the identity information generation module is used for generating the required identity information for the unmanned aerial vehicle according to the unmanned aerial vehicle manufacturer approval code, the production assembly code, the serial number of the communication module and the like.
And the key generation module is used for generating a system master key, generating sub keys for all unmanned aerial vehicles in the system based on the master key and the initialization parameters of the cryptographic algorithm, and finally generating a key encryption key pair based on the sub keys.
The unmanned aerial vehicle authentication client 2 includes:
the system initialization module is used for completing key management on the unmanned aerial vehicle and initialization of a networking authentication system, namely acquiring system parameters and identity information required by the unmanned aerial vehicle for key management and networking authentication, and key encryption public keys of all the unmanned aerial vehicles and key encryption private keys of the unmanned aerial vehicles from a ground authentication server.
The key management module comprises three sub-modules: a request information generating sub-module, a key processing sub-module and an authentication sub-module. The request information generation submodule is used for generating an authentication parameter for requesting the generation of a secret key according to the identity information distributed by the system and the generated authentication public key; the key processing submodule is used for collecting private key shares and recovering the authentication private key after t effective private key shares are collected; and the authentication submodule is used for interacting authentication required parameters with other unmanned aerial vehicle authentication clients, analyzing the authentication parameters and checking whether the received authentication parameters are valid or not.
The identity authentication module comprises two sub-modules: authentication submodule and private key share generation submodule. The authentication submodule is used for interacting authentication parameters with an unmanned aerial vehicle authentication client terminal generated by a request key, analyzing the authentication parameters and checking whether the received authentication parameters are valid; and the private key share generation submodule is used for generating a private key share for the unmanned aerial vehicle authentication client side which requests key generation according to the received authentication parameters and signing and encrypting the private key share.
The networking authentication module comprises four sub-modules: the key pair generation sub-module, the data processing sub-module, the authentication sub-module and the key negotiation sub-module. The key pair generation submodule is used for generating a communication key pair for carrying out key agreement with other unmanned aerial vehicle authentication clients; the data processing submodule is used for generating parameters for identity authentication with other unmanned aerial vehicle authentication clients; the authentication submodule is used for interacting authentication required parameters with other unmanned aerial vehicle authentication clients, analyzing the authentication parameters and checking whether the received authentication parameters are valid; and the key negotiation submodule is used for carrying out key negotiation with other unmanned aerial vehicle authentication clients to generate a session key.
As shown in fig. 2, the identity-based key management and networking authentication method for the unmanned aerial vehicle according to the embodiment of the present invention includes the following steps:
s201: initializing a key management and networking authentication system;
s202: the unmanned aerial vehicle generates an authentication key pair;
s203: networking authentication between the unmanned aerial vehicles;
s204: and the unmanned aerial vehicle updates the authentication key pair.
The identity-based unmanned aerial vehicle key management and networking authentication method provided by the embodiment of the invention specifically comprises the following steps:
1. key management and networking authentication system initialization
(1a) The ground authentication server utilizes a BDH parameter generation algorithm to generate a prime number q, and two cyclic groups G with the order of q
1、G
2The operations are addition and multiplication, respectively, a bilinear map e: g
1×G
1→G
2Selecting a random generator P ∈ G
1. Selecting a hash function
H
2:G
2→{0,1}
m。
(1b) The ground authentication server selects a compliant elliptic curve and the points on the curve form a group Eγ(a, b) a generator G (x, y) for selecting a symmetric cryptographic algorithm, wherein the cryptographic algorithm is ENCKThe decryption algorithm is DECKA hash function H over the integer field is selected.
(1c) Setting the number of unmanned aerial vehicles in the system as n, setting a threshold value as t by the ground control server, and setting a threshold value as Z in a finite field
pSelects a random number as a master key k, and randomly generates a t-1 degree polynomial f (x) -k + l
1x+l
2x
2+…+l
t-1x
t -1(modp) then generates sub-keys and key-encryption key pairs for all UAV nodes, based on UAV node v
iNumber i of generates subkey k
i,k
iF (i), finally generating a key encryption key pair based on the subkey, wherein the key encryption private key is s
i,s
i=k
iThe secret key encrypts the public key to
(1d) The ground authentication server generates the required identity information ID for the unmanned aerial vehicle according to the approval code of the unmanned aerial vehicle manufacturer, the production assembly code, the serial number of the communication module and the likei。
(1e) The ground authentication server selects the time interval delta T and the key updating time interval delta T meeting the message freshness requirement according to specific safety requirements.
(1f) Before the unmanned aerial vehicle executes the flight mission, the unmanned aerial vehicle submits system initialization application to a ground authentication server.
(1g) After receiving the application, the ground authentication server transmits system parameters, a specific key encryption private key, key encryption public keys of all unmanned aerial vehicles and identity information to the unmanned aerial vehicle authentication client.
2. Unmanned aerial vehicle generates authentication key pair
(2a) UAV node v
iObtaining time parameters via an onboard clock
Based on the acquisition
And a preset ID
iUAV node v
iComputing authentication public key P
IDi,
And encrypts the private key s using its key
iSigning to obtain Sig
ireq,Sig
ireq=s
iP
IDi. After the computation is completed, Sig
ireqSent to a UAV node in the drone network along with a key generation request.
(2b) After receiving the key generation request, the UAV node v
jObtaining time parameters via an onboard clock
Based on the acquisition
And a preset ID
iUAV node v
jCalculate P of the node
IDi,
Then using the calculated P
IDiAnd pre-assigned UAV node v
iIs encrypted with a public key
For Sig
ireqThe validity of (2) is judged.
(2c) After passing the verification, based on the received SigireqAnd a preset key encryption private key sjUAV node vjCalculating SignCrypt message SignCryptjres,SignCryptjres=sjsiPIDiAfter the calculation is finished, SignCrypt is addedjresReturned to UAV node vi。
(2d) Receiving SignCrypt
jresRear, UAV node v
iUsing pre-assigned UAV nodes v
jIs encrypted with a public key
And (2a) inCalculated Sig
ireqFor SignCrypt
jresThe validity of (2) is judged.
(2e) After the verification is passed, based on the received SignCryptjresAnd preset siUAV node viComputing private key share Xj,Xj=sjPIDiAfter the calculation is finished, X is addedjAnd UAV node viNumber j of (a) is recorded and saved.
(2f) UAV node v
iAfter private key shares of t legal nodes are collected, recovering the authentication private key d according to a threshold scheme
i,
Wherein l
θ(z) is Lagrange's interpolation formula.
3. Networking authentication between unmanned aerial vehicles
(3a) UAV node v
iSelecting a random number d
ipri∈[1,δ-1]As a communication private key, and calculates a communication public key P
ipub,P
ipub=d
ipriG. UAV node v
iGenerating a large random number r
i,
Calculating RAND
ij+1 and store, obtaining the current time T by means of an onboard clock
iAnd a time parameter T. Based on the acquisition
And a preset UAV node v
jIdentity information ID of
jUAV node v
iCalculating P
IDj,
Based on acquired T
iAnd P obtained by calculation
IDjUAV node v
iThe ciphertext C is calculated and is,
wherein g is
ij=e(d
i,P
IDj)∈G
2. UAV node v
iUse ofd
ipriFor random number RAND
ijAnd (3) signature:
s=(1+d
ipri)
-1·(k-r·d
ipri)modδ;
verifying the validity of the signature (r, s) after the computation is completed, i.e. r ≠ 0, r + riNot equal to 0, s not equal to 0. After signature verification is passed, the UAV node viWill message { r, s, C, PipubSending } to a UAV node v in the drone network, together with an authentication requestj。
(3b) After receiving the authentication request, the UAV node vjUsing djAnd C obtained by extraction is decrypted, and the calculation is as follows:
t obtained by calculationiDetermining freshness of the authentication request, and verifying the signature (RAND'ijAnd r ', s') the validity of the authentication request is determined.
(3c) After verification, UAV node v
jGenerating a random number d
jpri∈[1,δ-1]As a communication private key, and calculates a communication public key P
jpub,P
jpub=d
jpriG. Based on generated d
jpriAnd received P
ipubUAV node v
jComputing a session key K
ij,(x
ji,y
ji)=d
jpriP
ipub,K
ij=(x
ji||y
ji). UAV node v
jObtaining the current time T by an airborne clock
j. Based on acquired T
jCalculated K
ijRAND 'of (a) and (3 b)'
ijUAV node v
jComputingCiphertext C
rand,
After the calculation is completed, the UAV node v
jMessage { C
rand,P
jpubV returned to UAV node
i。
(3d) Receive (C)
rand,P
jpubAfter v, UAV node
iUsing d generated in (3a)
ipriAnd received P
jpubComputing a session key K
ij,(x
ij,y
ij)=d
ipriP
jpub,K
ij=(x
ij|y
ij). Based on calculated K
ijAnd received C
randUAV node v
iDecrypting to obtain RAND
ij+1、T
j,
T obtained by calculation
jJudging the freshness of the authentication parameters, and comparing the calculated RAND ″)
ij+1 and stored RAND
ij+1 determines the validity of the authentication parameter.
4. Unmanned aerial vehicle updates authentication key pair
UAV node v
iIs generated in time-dependent manner at the current time t (t) of the system
β≤t≤t
β+1) At the moment of time, the time of day,
UAV node v
iCalculate its public key P
IDi,
UAV node v
iIs required to be at t
β+1The authentication key pair is regenerated at any moment, the updating period is delta t, and t is satisfied
β+1=t
β+Δt。
The application of the principles of the present invention will be further described with reference to fig. 3-5.
1. Key management and networking authentication system initialization
The key management and networking authentication system initialization of the invention comprises the following steps:
the method comprises the following steps: and selecting a proper cryptographic algorithm and generating an initialization parameter of the cryptographic algorithm according to a cryptographic parameter generation algorithm built in the system.
(1) The ground authentication server utilizes a BDH parameter generation algorithm to generate a prime number q, and two cyclic groups G with the order of q
1,G
2The operations thereon being addition and multiplication, respectively, and G
1Is a GDH group, a bilinear map e: g
1×G
1→G
2Selecting a random generator P ∈ G
1. Selecting a hash function
H
2:G
2→{0,1}
m。
(2) The ground authentication server selects a compliant elliptic curve and the points on the curve form a group EγAnd (a, b) generating element G (x, y), wherein the order delta of G is a large prime number. Selecting a symmetric cryptographic algorithm, wherein the cryptographic algorithm is ENCKThe decryption algorithm is DECKThe selection of the hash function H over the integer domain can be implemented with reference to the ECB-SM4 (national secret SM4 algorithm codebook mode), and can be implemented with reference to the national secret SM3 algorithm.
(3) Setting the number of unmanned aerial vehicles in the system as n, setting a threshold value t by the ground control server, and setting a threshold value Z in a limited domain
pA random number is selected as a master key k, and a t-1 degree polynomial is randomly generated: f (x) k + l
1x+l
2x
2+…+l
t-1x
t-1(modp) then generates sub-keys and key-encryption key pairs for all UAV nodes, based on UAV node v
iNumber i of generates subkey k
i,k
iF (i), finally generating a key encryption key pair based on the subkey, wherein the key encryption private key is s
i,s
i=k
iThe secret key encrypts the public key to
(4) The ground authentication server generates the required identity information ID for the unmanned aerial vehicle according to the approval code of the unmanned aerial vehicle manufacturer, the production assembly code, the serial number of the communication module and the likei。
(5) The ground authentication server selects the time interval delta T and the key updating time interval delta T meeting the message freshness requirement according to specific safety requirements.
Step two: before the unmanned aerial vehicle executes the flight mission, the unmanned aerial vehicle submits system initialization application to a ground authentication server.
Step three: after receiving the application, the ground authentication server transmits system parameters { E ] to the unmanned aerial vehicle authentication clientγ(a,b),G,δ,G1,G2,e,Zp,P,H,H1,H2,ENCK,DECKΔ T, Δ T }, a specific key encryption private key, key encryption public keys of all drones, and identity information.
2. Unmanned aerial vehicle generates authentication key pair
The unmanned aerial vehicle in the method generates the authentication key pair, and the authentication key pair is executed when the UAV node joins the network or when the UAV node updates the authentication key pair in the process of executing the mission by the UAV, and the method comprises the following steps:
the method comprises the following steps: UAV node viGenerating request information and transmitting a key generation request.
UAV node v
iObtaining time parameters via an onboard clock
Based on the acquisition
And a preset ID
iUAV node v
iComputing authentication public key P
IDi,
And encrypts the private key s using its key
iSigning to obtain Sig
ireq,Sig
ireq=s
iP
IDi. After the calculation is completed, v
iWill Sig
ireqSent to a UAV node in the drone network along with a key generation request.
Step two: UAV node vjFor SigireqThe validity of (2) is judged.
After receiving the key generation request, the UAV node v
jObtaining time parameters via an onboard clock
Based on the acquisition
And a preset identity information ID
iUAV node v
jCalculate P of the node
IDi,
Then using the calculated P
IDiAnd pre-assigned UAV node v
iIs encrypted with a public key
Determining the validity of the signature, verifying the equation
And if the equation is established, the validity verification is passed, otherwise, the verification fails, and the connection is released.
Step three: UAV node vjA signcryption message is generated and returned.
Based on received SigireqAnd a preset key encryption private key sjUAV node vjCalculating SignCrypt message SignCryptjres,SignCryptjres=sjsiPIDiAfter the calculation is finished, SignCrypt is addedjresReturned to UAV node vi。
Step four: UAV node viFor SignCryptjresThe validity of (2) is judged.
UAV node v
iUsing pre-assigned UAV nodes v
jIs encrypted with a public key
Sig calculated in (2a) and (2b)
ireqThe validity of the message is determined, and the equation is verified:
and if the equation is established, the validity verification is passed, otherwise, the verification fails, and the connection is released.
Step five: UAV node viCalculating UAV node vjThe private key share of.
Based on received SignCryptjresAnd preset siUAV node viComputing private key share Xj,Xj=sjPIDiAfter the calculation is finished, X is addedjAnd UAV node vjAnd recording and storing the number j.
Step six: UAV node viAnd recovering the authentication private key.
UAV node v
iAfter private key shares of t legal nodes are collected, recovering the authentication private key d according to a threshold scheme
i,
Wherein l
θ(z) is the Lagrange interpolation formula,
z
θ,z
jis the node number.
3. Networking authentication between unmanned aerial vehicles
The networking authentication between unmanned aerial vehicle nodes in the method is executed after the UAV nodes are added into the unmanned aerial vehicle network, and the authentication key is used for networking authentication with other UAV nodes in the unmanned aerial vehicle network, and the method comprises the following steps:
the method comprises the following steps: UAV node viTo UAV node vjAn authentication request is initiated.
(1a) A communication key pair is generated.
UAV node v
iSelecting a random number d
ipri∈[1,δ-1]As a communication private key, and calculates a communication public key P
ipub,P
ipub=d
ipriG. UAV node v
iGenerating a large random number r
i,
Calculating RAND
ij+1 and store.
(1b) The authentication parameters are encrypted.
Obtaining the current time T by an airborne clock
iAnd time parameter
Based on the acquisition
And a preset UAV node v
jIdentity information ID of
jUAV node v
iCalculating P
IDj,
Based on acquired T
iCalculated P
IDjR generated in (1a) and
i、RAND
ijUAV node v
iThe ciphertext C is calculated and is,
wherein g is
ij=e(d
i,P
IDj)∈G
2。
(1c) The authentication parameters are signed.
UAV node viUsing dipriFor random number RANDijAnd (3) signature:
s=(1+d
ipri)
-1·(k-r·d
ipri)modδ;
verifying the validity of the signature (r, s) after the computation is completed, i.e. r ≠ 0, r + riNot equal to 0, s not equal to 0. After signature verification is passed, the UAV node viWill message { r, s, C, PipubH sent to UAV node v along with authentication requestj。
Step two: UAV node vjThe freshness and validity of the authentication request are determined.
(2a) And decrypting to obtain the authentication parameters.
After receiving the authentication request, the UAV node vjUsing an authentication private key djDecrypting the extracted ciphertext information C to obtain RAND'ij、Ti:
(2b) Freshness authentication
UAV node vjObtaining the current time T through an onboard clock, if TiSatisfy T-TiIf the request meets the freshness requirement, the step (2c) is continued, otherwise, the connection is released if the authentication fails.
(2c) Validity authentication
UAV node vjExtraction of r ', s', PipubPost, verify the signature (RAND'ijR ', s'). And (3) calculating:
if R ═ R', the UAV node v is completed through validity verificationiThe authentication of (1); otherwise, the authentication fails, and the connection is released.
Step three: UAV node vjEncrypt and return authentication parameters.
(3a) A communication key pair and a session key are generated.
UAV node vjGenerating a random number djpri∈[1,δ-1]As a communication private key, and calculates a communication public key Pjpub,Pjpub=djpriG. Based on generated djpriP received in (3b) andipubUAV node vjComputing a session key Kij,(xji,yji)=djpriPipub,Kij=(xji||yji)。
(3b) Encrypting authentication parameters
UAV node v
jObtaining the current time T by an airborne clock
j. Based on acquired T
jK is calculated
ijAnd RAND 'calculated in (3 b)'
ijUAV node v
jComputing ciphertext C
rand,
After the calculation is completed, the UAV node v
jMessage (C)
rand,P
jpubV returned to UAV node
i。
Step four: UAV node viAnd judging the freshness and the validity of the returned authentication parameters.
(4a) And decrypting to obtain the authentication parameters.
Based on d generated in (3a)
ipriAnd received P
jpubUAV node v
iComputing a session key K
ij,(x
ij,y
ij)=d
ipriP
jpub,K
ij=(x
ij||y
ij). Based on calculated K
ijAnd received C
randUAV node v
iDecrypting to obtain RAND
ij+1、T
j,
(4b) Freshness authentication
UAV node viObtaining the current time T through an airborne clock, if the obtained TjSatisfy T-TjIf the request meets the freshness requirement, the step (4c) is continued, otherwise, the connection is released if the authentication fails.
(4c) Validity authentication
UAV node viComparing the calculated RANDij+1 and stored RANDij+1 is equal or not. If the values are equal, the UAV node v is verified through validity verificationjThe authentication of (1); otherwise, authentication fails.
4. Unmanned aerial vehicle updates authentication key pair
UAV node v
iIs generated in time-dependent manner at the current time t (t) of the system
β≤t≤t
β+1) At the moment of time, the time of day,
UAV node v
iCalculate its public key P
IDi,
UAV node v
iIs required to be at t
β+1The authentication key pair is updated at any moment, the updating period is delta t, and t is satisfied
β+1=t
β+Δt。
In a preferred embodiment of the invention, the master key: the master key, denoted k, generated by the system is used to generate the subkey.
And (3) sub-key: UAV node v based on master key generation of the system according to a threshold schemeiIs denoted as kiFor generating a key encryption key pair.
Key encryption key pair: generated by the system and distributed to unmanned aerial vehicles, UAV nodes v
iIs a key encryption public key
The secret key encryption private key is marked as s
iThe method is used for identity authentication and private key share generation when the unmanned aerial vehicle joins a network or an authentication key pair is updated.
Private key share: UAV node v generated when UAV joins network or authentication key pair is updatediThe generated private key share is marked as XiAnd the method is used for recovering the authentication private key of the unmanned aerial vehicle.
Authentication key pair: UAV node v generated after joining the networkiIs marked as PIDiAnd the authentication private key is marked as diAnd the network authentication module is used for carrying out networking authentication with other unmanned aerial vehicles in the network.
Communication key pair: generated during networking authentication of unmanned aerial vehicle, UAV node viIs denoted as PipubAnd the communication private key is marked as dipriAnd the method is used for carrying out key agreement with other unmanned planes in the network to generate a session key.
The application effect of the present invention will be described in detail with reference to the simulation.
The identity-based unmanned aerial vehicle key management and networking authentication system is realized by simulation on an Intel Xeon E3-12313.4 GHz Linux platform, the key length of an elliptic curve cryptosystem is set to be 160 bits, a hash algorithm uses SM3-128bits, and a symmetric cryptographic algorithm selects SM4-128 bits. The key management and networking authentication initialization are pre-executed in a ground authentication server, and the process of generating an authentication key pair and networking authentication by an unmanned aerial vehicle is mainly considered for evaluating the performance of the system. In the process that the unmanned aerial vehicle generates the authentication key pair, the unmanned aerial vehicle participating in identity authentication needs to communicate with the target unmanned aerial vehicle for 2 times, the calculation cost is about 3.45ms, the unmanned aerial vehicle moves randomly, and the probability that the unmanned aerial vehicle participates in identity authentication is t/n, so that the average calculation cost of nodes in the unmanned aerial vehicle network is about

The unmanned aerial vehicle requesting key generation needs to communicate with the target unmanned aerial vehicle for 2t times, calculation overhead is positively correlated with a threshold value t, and when t is 100, calculation of the unmanned aerial vehicle is carried outThe overhead is about 270 ms. In the networking authentication process of the unmanned aerial vehicles, the unmanned aerial vehicles communicate for 2 times, the calculation overhead of the unmanned aerial vehicle requesting the networking authentication is 4.51ms, and the calculation overhead of the target unmanned aerial vehicle is 3.34 ms. Simulation implementation shows that the identity-based unmanned aerial vehicle key management and networking authentication method can be executed in an unmanned aerial vehicle environment, can establish a safe communication link for the unmanned aerial vehicle, and is suitable for unmanned aerial vehicle networking.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.