Method and device for performing security authentication with unmanned system

By building the same symmetric keys in unmanned systems and beacon systems and using grid-based encryption algorithms for key exchange, the problem of keys being easily cracked and unable to withstand quantum computing attacks in the prior art is solved, and higher authentication security and data protection are achieved.

CN119853911AActive Publication Date: 2025-04-18BEIJING ZHONGYU WANTONG TECH CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202510337081.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2025-04-18
Estimated Expiration
2045-03-21

AI Technical Summary

Technical Problem

The existing unmanned system authentication method has the risk that the keys are easily cracked and cannot withstand quantum computing attacks, resulting in high risk of data leakage.

Method used

By building the same symmetric keys in unmanned systems and beacon systems, and using grid-based encryption algorithms for key exchange, the local paired public and private keys are generated for secure authentication.

Benefits of technology

It reduces the risk of key cracking, improves the security of authentication, can withstand quantum computing attacks, and reduces the risk of data leakage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119853911A_ABST
    Figure CN119853911A_ABST
Patent Text Reader

Abstract

The invention provides a method and a device for performing security authentication with an unmanned system. The method comprises the following steps: generating a first public key and a first private key which are locally paired; decrypting an encrypted public key sent by the unmanned system by using the first symmetric key to obtain a second public key of the unmanned system; performing lattice encryption operation on the unmanned system identifier, the random number and the timestamp of the unmanned system by adopting a first private key to obtain a first ciphertext; encrypting the first ciphertext and the first public key by using a second public key to obtain a second ciphertext, and sending the second ciphertext to the unmanned system; generating a first system key according to an unmanned system identifier and the timestamp; and encrypting the unmanned system identifier and the timestamp by using the first system key to obtain a third ciphertext, sending the third ciphertext to the unmanned system, so that the unmanned system decrypts the third ciphertext by using the second system key to obtain decrypted information, and determining that authentication succeeds when the decrypted information is consistent with related information of the unmanned system side.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of unmanned system authentication, and in particular to a method and device for performing security authentication with an unmanned system. Background Art

[0002] The authentication of unmanned systems and beacon systems is an important part of the safe operation of unmanned systems. Traditional authentication methods usually use symmetric keys or asymmetric keys for authentication. Although symmetric key authentication is simple to calculate, it is difficult to distribute and update keys. Asymmetric key authentication has high security, but high computational complexity and high computing power requirements.

[0003] In the existing technology, unmanned system and beacon authentication usually adopt two methods: 1. Key distribution: The beacon system and the unmanned system center generate symmetric keys or asymmetric key pairs, distribute keys through the key management center, use keys for encryption and decryption, and complete authentication.

[0004] 2. Built-in key: The beacon system and the unmanned system center have built-in symmetric keys, which are used for encryption and decryption to complete authentication.

[0005] The above authentication methods that use key distribution or built-in symmetric keys have a very high risk of key cracking, and attackers can easily crack the key and decrypt historical communication data. Traditional encryption algorithms such as SM2 (SM2 Elliptic Curve Public Key Cryptography Algorithm) and RSA (Rivest-Shamir-Adleman Algorithm) cannot resist quantum computing attacks and are prone to data leakage risks. Summary of the invention

[0006] The embodiments of the present application provide a method and device for performing security authentication with an unmanned system to solve the problems of existing authentication methods having high risk factors, easy cracking of keys, inability to resist quantum computing attacks, and easy risk of data leakage.

[0007] In order to solve the above technical problems, the embodiments of the present application are implemented as follows: In a first aspect, an embodiment of the present application provides a method for performing security authentication with an unmanned system, which is applied to a beacon system, including: Generate a first public key and a first private key for local pairing; Decrypting the encrypted public key sent by the unmanned system using the first symmetric key to obtain a second public key of the unmanned system, where the encrypted public key is obtained by encrypting the second public key generated by the unmanned system side by the unmanned system using the second symmetric key, and the first symmetric key and the second symmetric key are the same key; Using the first private key to perform a lattice encryption operation on the unmanned system identifier, the random number, and the timestamp of the unmanned system to obtain a first ciphertext; Encrypting the first ciphertext and the first public key using the second public key to obtain a second ciphertext, and sending the second ciphertext to the unmanned system so that the unmanned system decrypts the second ciphertext using the second private key to obtain the first ciphertext and the first public key, and decrypting the first ciphertext using the first public key to obtain the unmanned system identifier, random number, and timestamp, wherein the second private key and the second public key are paired keys; Generate a first system key according to the unmanned system identifier and the timestamp; The unmanned system identifier and timestamp are encrypted using the first system key to obtain a third ciphertext, and the third ciphertext is sent to the unmanned system so that the unmanned system uses the second system key to decrypt the third ciphertext to obtain decrypted information, and when the decrypted information is consistent with the relevant information on the unmanned system side, it is determined that the authentication is successful; the second system key is a key generated by the unmanned system based on the unmanned system identifier and the timestamp.

[0008] Optionally, generating a first public key and a first private key for local pairing includes: Using a pseudo-random number generator to process a pre-input random parameter of a specified number of bits and a pre-defined fixed parameter to generate a first pseudo-random seed and a second pseudo-random seed; Generate a K×K matrix for the first pseudo-random seed and the number of rows and columns of the matrix, where K is a positive integer; Generate a first vector and a second vector according to the matrix elements of the K×K matrix, the second pseudo-random seed, and the current authentication number value; Performing k-order theoretic transformation processing on the first vector and the second vector respectively to obtain corresponding first frequency domain representation and second frequency domain representation; Performing a linear combination operation on the first frequency domain representation and the second frequency domain representation to obtain a linear combination frequency domain representation; The first frequency domain representation and the linear combination frequency domain representation are respectively encoded to obtain the first public key and the first private key.

[0009] Optionally, the using the first private key to perform a lattice encryption operation on the unmanned system identifier, a random number, and a timestamp of the unmanned system to obtain a first ciphertext includes: Generate basis vectors of the lattice; Encoding the unmanned system identifier, the random number and the timestamp to obtain a message vector; encoding the message vector as a target vector on a basis vector of the lattice; Performing a lattice transformation on the target vector based on the first private key to generate the first ciphertext.

[0010] Optionally, sending the second ciphertext to the unmanned system includes: Processing the second ciphertext based on the SM3 cryptographic hash algorithm to obtain a first digest value corresponding to the second ciphertext; The second ciphertext and the first digest value are sent to the unmanned system so that the unmanned system verifies the first digest value, and after the first digest value is verified, the second ciphertext is decrypted using the second private key.

[0011] Optionally, sending the third ciphertext to the unmanned system includes: Processing the third ciphertext based on the SM3 cryptographic hash algorithm to obtain a second digest value corresponding to the third ciphertext; The third ciphertext and the second digest value are sent to the unmanned system so that the unmanned system verifies the second digest value, and after the second digest value is verified, the third ciphertext is decrypted using the second system key.

[0012] Optionally, after generating the first system key according to the unmanned system identifier and the timestamp, the method further includes: Recording the generation time of the first system key; When the interval between the current time and the generation time reaches a set duration, the first system key is updated.

[0013] Optionally, after encrypting the unmanned system identifier and the timestamp using the first system key to obtain a third ciphertext, and sending the third ciphertext to the unmanned system, the method further includes: After successful authentication with the unmanned system, record the authentication time of this successful authentication; When the interval between the current time and the authentication time reaches the authentication duration, the authentication process with the unmanned system is re-executed.

[0014] In a second aspect, an embodiment of the present application provides a device for performing security authentication with an unmanned system, which is applied to a beacon system, including: A pairing key generation module, used to generate a first public key and a first private key for local pairing; an encrypted public key decryption module, configured to use a first symmetric key to decrypt the encrypted public key sent by the unmanned system to obtain a second public key of the unmanned system, wherein the encrypted public key is obtained by encrypting the second public key generated by the unmanned system side by the unmanned system using a second symmetric key, and the first symmetric key and the second symmetric key are the same key; A first ciphertext generation module, configured to perform a lattice encryption operation on an unmanned system identifier, a random number, and a timestamp of the unmanned system using the first private key to obtain a first ciphertext; a second ciphertext sending module, configured to encrypt the first ciphertext and the first public key using the second public key to obtain a second ciphertext, and send the second ciphertext to the unmanned system, so that the unmanned system decrypts the second ciphertext using the second private key to obtain the first ciphertext and the first public key, and decrypts the first ciphertext using the first public key to obtain the unmanned system identifier, random number and timestamp, wherein the second private key and the second public key are paired keys; A system key generation module, configured to generate a first system key according to the unmanned system identifier and the timestamp; A third ciphertext sending module is used to encrypt the unmanned system identifier and timestamp using the first system key to obtain a third ciphertext, and send the third ciphertext to the unmanned system, so that the unmanned system uses the second system key to decrypt the third ciphertext to obtain decrypted information, and when the decrypted information is consistent with the relevant information on the unmanned system side, it is determined that the authentication is successful; the second system key is a key generated by the unmanned system based on the unmanned system identifier and the timestamp.

[0015] Optionally, the pairing key generation module includes: A pseudo-random seed generating unit, configured to use a pseudo-random number generator to process a random parameter of a specified number of bits input in advance and a predefined fixed parameter to generate a first pseudo-random seed and a second pseudo-random seed; A matrix generating unit, used for generating a K×K matrix based on the first pseudo-random seed and the number of rows and columns of the matrix, where K is a positive integer; A vector generating unit, configured to generate a first vector and a second vector according to the matrix elements of the K×K matrix, the second pseudo-random seed and the current authentication number value; A frequency domain representation acquisition unit, configured to perform k-order theoretic transformation processing on the first vector and the second vector respectively to obtain corresponding first frequency domain representation and second frequency domain representation; a combined frequency domain representation acquisition unit, configured to perform a linear combination operation on the first frequency domain representation and the second frequency domain representation to obtain a linear combined frequency domain representation; The key acquisition unit is used to encode the first frequency domain representation and the linear combination frequency domain representation respectively to obtain the first public key and the first private key.

[0016] Optionally, the first ciphertext generation module includes: A basis vector generating unit, used for generating basis vectors of a lattice; a message vector acquisition unit, configured to encode the unmanned system identifier, the random number and the timestamp to obtain a message vector; a target vector acquisition unit, configured to encode the message vector into a target vector on a basis vector of the lattice; The first ciphertext generating unit is configured to perform a lattice transformation on the target vector based on the first private key to generate the first ciphertext.

[0017] Optionally, the second ciphertext sending module includes: A first digest value obtaining unit, configured to process the second ciphertext based on an SM3 cryptographic hash algorithm to obtain a first digest value corresponding to the second ciphertext; The second ciphertext sending unit is used to send the second ciphertext and the first digest value to the unmanned system so that the unmanned system verifies the first digest value, and after the first digest value is verified, use the second private key to decrypt the second ciphertext.

[0018] Optionally, the third ciphertext sending module includes: A second digest value obtaining unit, configured to process the third ciphertext based on an SM3 cryptographic hash algorithm to obtain a second digest value corresponding to the third ciphertext; The third ciphertext sending unit is used to send the third ciphertext and the second digest value to the unmanned system so that the unmanned system verifies the second digest value, and after the second digest value is verified, use the second system key to decrypt the third ciphertext.

[0019] Optionally, the device further comprises: A generation time recording module, used to record the generation time of the first system key; The system key updating module is used to update the first system key when the interval between the current time and the generation time reaches a set time length.

[0020] Optionally, the device further comprises: An authentication time recording module, used for recording the authentication time of successful authentication after successful authentication with the unmanned system; The authentication process execution module is used to re-execute the authentication process with the unmanned system when the interval period between the current time and the authentication time reaches the authentication duration.

[0021] In a third aspect, an embodiment of the present application provides an electronic device, including: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements any of the above-mentioned methods for performing security authentication with an unmanned system.

[0022] In a fourth aspect, an embodiment of the present application provides a readable storage medium. When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device can execute any of the above-mentioned methods for performing security authentication with an unmanned system.

[0023] In an embodiment of the present application, a locally paired first public key and a first private key are generated. The encrypted public key sent by the unmanned system is decrypted using the first symmetric key to obtain the second public key of the unmanned system, the encrypted public key is obtained by encrypting the second public key generated by the unmanned system side using the second symmetric key by the unmanned system, and the first symmetric key and the second symmetric key are the same key. The first private key is used to perform a grid encryption operation on the unmanned system identification, random number and timestamp of the unmanned system to obtain a first ciphertext. The first ciphertext and the first public key are encrypted using the second public key to obtain a second ciphertext, and the second ciphertext is sent to the unmanned system, so that the unmanned system uses the second private key to decrypt the second ciphertext to obtain the first ciphertext and the first public key, and the first public key is used to decrypt the first ciphertext to obtain the unmanned system identification, random number and timestamp, and the second private key and the second public key are paired keys. According to the unmanned system identification and timestamp, a first system key is generated. The unmanned system identification and timestamp are encrypted using the first system key to obtain a third ciphertext, and the third ciphertext is sent to the unmanned system, so that the unmanned system uses the second system key to decrypt the third ciphertext to obtain decrypted information, and when the decrypted information is consistent with the relevant information on the unmanned system side, the authentication is determined to be successful, and the second system key is a key generated by the unmanned system according to the unmanned system identification and timestamp. The embodiment of the present application can reduce the methods of key cracking and improve the security of authentication by building the same symmetric key into the unmanned system and the beacon system, and using respective paired key pairs for authentication. At the same time, the use of a lattice-based encryption algorithm for key exchange can ensure the security of the key exchange process, resist quantum computing attacks, and further improve the security of authentication.

[0024] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0026] Figure 1 A flowchart of a method for performing security authentication with an unmanned system provided in an embodiment of the present application; Figure 2 A schematic diagram of a dynamic authentication process between an unmanned system and a beacon system provided in an embodiment of the present application; Figure 3 A schematic diagram of using a random seed to generate a key pair provided in an embodiment of the present application; Figure 4 A schematic diagram of the structure of a device for performing security authentication with an unmanned system provided in an embodiment of the present application; Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0027] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0028] Reference Figure 1 , shows a flowchart of the steps of a method for performing security authentication with an unmanned system provided by an embodiment of the present application, and the method is applied to a beacon system. Figure 1 As shown, the method for performing security authentication with an unmanned system may include: step 101, step 102, step 103, step 104, step 105 and step 106.

[0029] Step 101: Generate a first public key and a first private key that are locally paired.

[0030] In this embodiment, the unmanned system refers to a system that can perform tasks autonomously without relying on direct human driving or operation. It covers various types of equipment, such as drones, unmanned ships, and unmanned vehicles. Among them, the unmanned system center refers to the central part or main control end responsible for overall control, management, and coordination in the unmanned system.

[0031] A beacon system is a device used to send signals for other devices to receive and identify. It can send out various types of signals, such as radio waves, sound waves, light signals, etc. These signals are mainly used for positioning, navigation, communication, or identification of specific locations or devices.

[0032] The embodiments of the present application can be applied to a beacon system, that is, the execution subject is the beacon system.

[0033] When authenticating with the unmanned system, a paired first public key and a paired first private key may be generated locally in the beacon system, and at the same time, a paired second public key and a paired second private key may be generated on the unmanned system side.

[0034] The generation process of the first public key and the first private key may be a method of using a random seed to generate a key pair. Specifically, it may be described in detail in conjunction with the following specific implementation method.

[0035] In a specific implementation of the present application, the above step 101 may include: Sub-step A1: using a pseudo-random number generator to process a pre-input random parameter of a specified number of bits and a pre-defined fixed parameter to generate a first pseudo-random seed and a second pseudo-random seed.

[0036] In this embodiment, a pseudo-random number generator (PRNG) is a random number generator based on a deterministic algorithm. It generates a series of seemingly random numbers through a fixed and repeatable calculation method (i.e., a deterministic algorithm). These numbers show randomness in a wide range of statistical properties, but in fact they follow certain algorithmic rules and are therefore not truly random numbers. Pseudo-random number generators usually start the algorithm based on an initial value or "seed" and generate subsequent number series.

[0037] When generating the paired first public key and first secret key, a pseudo-random number generator may be used to process the pre-input randomness parameter of a specified number of bits and the pre-defined fixed parameters to generate a first pseudo-random seed and a second pseudo-random seed. Specifically, Figure 3 As shown, initialization can be performed first. During the initialization process, a 32-bit seed d can be input. Then, the 32+1-byte randomness parameter d and parameter k (a predefined fixed parameter) are expanded into two pseudo-random 32-byte seeds through a pseudo-random number generator, namely the first pseudo-random seed. and a second pseudo-random seed . The process can be expressed as: .

[0038] At the same time, a counter may be initialized, with counter N being initialized to 0, and N+1 each time authentication is performed, and so on.

[0039] After obtaining the first pseudo-random seed and the second pseudo-random seed, sub-step A2 is performed.

[0040] Sub-step A2: Generate a K×K matrix for the first pseudo-random seed and the number of rows and columns of the matrix, where K is a positive integer.

[0041] After obtaining the first pseudo-random seed and the second pseudo-random seed, a K×K matrix can be generated for the first pseudo-random seed and the number of rows and columns of the matrix, where K is a positive integer. Specifically, Figure 3 As shown, a matrix can be generated, that is, a k×k matrix is ​​generated , where each element Generated by the SampleNTT function. The SampleNTT function uses , , As input, , Represents the row and column values ​​of a matrix.

[0042] The process of generating each element of a K×K matrix can be as follows:

[0043]

[0044]

[0045] end for end for.

[0046] After a K×K matrix is ​​generated for the first pseudo-random seed and the number of rows and columns of the matrix, sub-step A3 is performed.

[0047] Sub-step A3: Generate a first vector and a second vector according to the matrix elements of the K×K matrix, the second pseudo-random seed and the current authentication times value.

[0048] After generating a K×K matrix based on the first pseudo-random seed and the number of rows and columns of the matrix, the first vector and the second vector can be generated based on the matrix elements of the K×K matrix, the second pseudo-random seed and the current authentication times. Figure 3 As shown, after generating the matrix, you can generate a vector, that is, generate a vector s (i.e., the first vector) with a length of k, in which each element (i.e., the i-th element in the s vector) is generated by the SamplePolyCBD function. The SamplePolyCBD function uses and N (N is a counter used to track the number of authentications, +1 for each authentication) as input and sampled from the central binomial distribution (CBD). The generation process of the first vector can be:

[0049]

[0050]

[0051] end for.

[0052] At the same time, a vector e (i.e., the second vector) of length k can be generated, in which each element (i.e., the i-th element in the e vector) is generated by the function SamplePolyCBD. The function SamplePolyCBD uses and N as input and sampled from the central binomial distribution. The generation process of the second vector can be:

[0053]

[0054]

[0055] end for.

[0056] After obtaining the first vector and the second vector, sub-step A4 is performed.

[0057] Sub-step A4: Perform k-order theoretic transformation on the first vector and the second vector respectively to obtain corresponding first frequency domain representation and second frequency domain representation.

[0058] Number theoretic transform (NTT transform) is a mathematical transformation method developed based on the principles of number theory. NTT transform performs operations on a finite field, avoiding floating-point precision errors and is particularly suitable for scenarios that require integer results.

[0059] After obtaining the first vector and the second vector, the first vector and the second vector can be respectively subjected to k-order transformation processing (such as Figure 3 Specifically, NTT k times can be run on vector s and vector e to obtain respectively and The transformation process can be expressed as: .

[0060] .

[0061] After performing k-order theorem transformation processing on the first vector and the second vector respectively to obtain the corresponding first frequency domain representation and second frequency domain representation, sub-step A5 is executed.

[0062] Sub-step A5: performing a linear combination operation on the first frequency domain representation and the second frequency domain representation to obtain a linear combination frequency domain representation.

[0063] After performing k-order theoretic transformation on the first vector and the second vector respectively to obtain the corresponding first frequency domain representation and second frequency domain representation, a linear combination operation can be performed on the first frequency domain representation and the second frequency domain representation to obtain a linear combination frequency domain representation (such as Figure 3 Specifically, the noisy linear system can be run in the NTT domain to calculate the linear combination. The implementation process can be: . That is the frequency domain representation of the linear combination.

[0064] After performing a linear combination operation on the first frequency domain representation and the second frequency domain representation to obtain a linear combination frequency domain representation, sub-step A6 is performed.

[0065] Sub-step A6: Encode the first frequency domain representation and the linear combination frequency domain representation respectively to obtain the first public key and the first private key.

[0066] After performing a linear combination operation on the first frequency domain representation and the second frequency domain representation to obtain a linear combination frequency domain representation, the first frequency domain representation and the linear combination frequency domain representation can be encoded respectively to obtain a first public key and a first private key. and Encode it into byte form through the ByteEncode function, generate the public key PK (i.e. the first public key) and the private key SK (i.e. the first private key), and return the key pair (such as Figure 3 The steps of generating a key pair and returning the result are shown in the figure). The implementation process can be: .

[0067] .

[0068] return (PK, SK).

[0069] In a specific implementation, the method for generating the paired second public key and the second private key on the unmanned system side is similar to the method for generating the paired first public key and the first private key locally, and this embodiment will not be repeated here.

[0070] The embodiments of the present application ensure that the generated public and private keys have sufficient randomness and security through the security of the pseudo-random number generator and the appropriate selection of number theory transformations. In addition, by introducing the current authentication times value, the diversity and unpredictability of the key can be further increased, and the leakage of the key can be avoided.

[0071] In this embodiment, the symmetric key built into the unmanned system and the beacon system can be expressed as K, and the key pair on the unmanned system center side can be expressed as: ( , ) (i.e., the second private key and the second public key), the beacon-side key pair can be expressed as ( , ) (i.e. the first private key and the first public key).

[0072] After the paired first public key and first private key are generated, step 102 is performed.

[0073] Step 102: Use the first symmetric key to decrypt the encrypted public key sent by the unmanned system to obtain the second public key of the unmanned system, where the encrypted public key is obtained by encrypting the second public key generated by the unmanned system side using the second symmetric key by the unmanned system, and the first symmetric key and the second symmetric key are the same key.

[0074] The first symmetric key and the second symmetric key are the same keys built into the beacon system and the unmanned system.

[0075] The encrypted public key can be obtained by the unmanned system using the second symmetric key to encrypt the second public key generated by the unmanned system. After the unmanned system obtains the encrypted public key, the unmanned system can send the encrypted public key to the beacon system. Specifically, the unmanned system uses the symmetric key K to encrypt the public key. , and the encrypted public key Sent to the beacon side. The encryption formula can be: .

[0076] After receiving the encrypted public key, the beacon system can use the first symmetric key to decrypt the encrypted public key sent by the unmanned system to obtain the second public key of the unmanned system. That is, the beacon side uses the symmetric key K to decrypt the public key of the unmanned system. The decryption formula can be: .

[0077] After the encrypted public key sent by the unmanned system is decrypted using the first symmetric key to obtain the second public key of the unmanned system, step 103 is executed.

[0078] Step 103: Use the first private key to perform a lattice encryption operation on the unmanned system identifier, random number and timestamp of the unmanned system to obtain a first ciphertext.

[0079] Timestamp: A digital label used to record the time when an event occurred. It is usually expressed in a standard time format, such as year, month, day, hour, minute, second, or even accurate to milliseconds or microseconds. It is widely used in computer systems, communication networks, databases, and other fields to sort and record data, operations, or events in time.

[0080] After obtaining the second public key of the unmanned system, the unmanned system identification (such as the ID of the unmanned system) of the unmanned system can be obtained, and at the same time, a random number and a timestamp (the timestamp can be generated according to the current time) can be generated. The unmanned system identification, random number and timestamp of the unmanned system are encrypted using the local first private key to obtain the first ciphertext. Specifically, the beacon obtains the ID of the unmanned system and generates a random number R and a timestamp TS0. Then, the private key of the beacon can be used Perform grid operation encryption on "unmanned system ID, random number R, timestamp TS0" to generate ciphertext The ciphertext generation formula can be: .

[0081] The process of lattice operation encryption can be described in detail in conjunction with the following specific implementation method.

[0082] In a specific implementation of the present application, the above step 103 may include: Sub-step B1: Generate basis vectors of the lattice.

[0083] In this embodiment, the lattice encryption operation is a cryptographic operation method based on the "lattice" structure in mathematics. The lattice is a discrete subset generated by a set of linearly independent vectors through integer linear combinations, and these vectors constitute a set of bases of the lattice. In lattice encryption, the operation mainly involves the product of matrices and vectors, linear summation, and modular operations, etc. These operations are relatively simple and efficient.

[0084] When performing lattice encryption operations, you can first initialize and select a lattice basis: First, you need to select a lattice basis, which is a set of linearly independent vectors used to define the structure of the lattice. That is, generate the basis vectors of the lattice.

[0085] After generating the basis vectors of the lattice, sub-step B2 is performed.

[0086] Sub-step B2: Encode the unmanned system identifier, the random number and the timestamp to obtain a message vector.

[0087] After generating the basis vector of the lattice, the unmanned system ID, random number and timestamp can be encoded to obtain the message vector. That is, "unmanned system ID, random number R, timestamp TS0" are combined into a vector, which will be used as the encrypted message.

[0088] After encoding the unmanned system identifier, random number and timestamp to obtain the message vector, sub-step B3 is executed.

[0089] Sub-step B3: Encode the message vector into a target vector on the basis vectors of the lattice.

[0090] After encoding the unmanned system identifier, random number, and timestamp to obtain the message vector, the message vector can be encoded as a target vector on the basis vector of the lattice. Specifically, the message vector can be encoded as a point or vector on the lattice. Random perturbation (optional): To increase the security of encryption, a random perturbation vector can be added to the encoded vector.

[0091] After encoding the message vector into the target vector on the basis vectors of the lattice, sub-step B4 is performed.

[0092] Sub-step B4: Performing a lattice transformation on the target vector based on the first private key to generate the first ciphertext.

[0093] After encoding the message vector as a target vector on the basis vector of the lattice, the target vector can be transformed into a lattice based on the first private key to generate a first ciphertext. That is, the encoded and (optionally) perturbed vector is transformed into a lattice using the private key to obtain a set of vectors, which is the first ciphertext.

[0094] The lattice-based cryptography of the present application embodiment provides higher security than traditional cryptography. The lattice-based encryption algorithm usually has a faster computing speed. The lattice-based encryption technology is considered to be a potential cryptographic system that resists quantum attacks. By combining the forward security algorithm of the lattice, dynamic authentication between the unmanned system center and the beacon is realized, and dynamic keys are generated by the unmanned system ID and timestamp to ensure the uniqueness of the key for each authentication and improve the security of the authentication. And combined with the forward security feature, a dynamic key generation and update mechanism is implemented to ensure that even if the key is leaked for a long time, the past communication content cannot be decrypted, solving the problem of high security risks of traditional authentication methods. Use a lattice-based encryption algorithm for key exchange to ensure the security of the key exchange process and resist quantum computing attacks. Generate ciphertext through lattice encryption operations to ensure the security and unbreakability of the ciphertext.

[0095] After the first ciphertext is obtained, step 104 is executed.

[0096] Step 104: Use the second public key to encrypt the first ciphertext and the first public key to obtain a second ciphertext, and send the second ciphertext to the unmanned system so that the unmanned system uses the second private key to decrypt the second ciphertext to obtain the first ciphertext and the first public key, and use the first public key to decrypt the first ciphertext to obtain the unmanned system identification, random number and timestamp, and the second private key and the second public key are paired keys.

[0097] After obtaining the first ciphertext, the first ciphertext and the first local public key of the beacon side can be encrypted using the second public key of the unmanned system, thereby obtaining the second ciphertext.

[0098] After obtaining the second ciphertext, the second ciphertext may be sent to the unmanned system.

[0099] After receiving the second ciphertext, the unmanned system can use the second private key to decrypt the second ciphertext to obtain the first ciphertext and the first public key, and use the first public key to decrypt the first ciphertext to obtain the unmanned system identification, random number and timestamp, wherein the second private key and the second public key are paired keys.

[0100] On the basis of the above scheme, the beacon side can also generate a summary value corresponding to the second ciphertext, and send the second ciphertext and the summary value to the unmanned system at the same time. Specifically, the beacon side can process the second ciphertext based on the SM3 cryptographic hash algorithm to obtain the first summary value corresponding to the second ciphertext. Then, the second ciphertext and the first summary value can be sent to the unmanned system to verify the first summary value by the unmanned system, and after the first summary value is verified, the second ciphertext is decrypted using the second private key.

[0101] The ciphertext encryption and transmission process can be: 1. The beacon side sends the ciphertext and the beacon public key Using the public key of an unmanned system Encrypt to get ciphertext , and calculate the ciphertext The SM3 digest value HB of the ciphertext The summaries HB are sent to the unmanned system. The encryption formula can be: The summary generation formula can be: .

[0102] 2. Ciphertext verification and decryption: The unmanned system center calculates the summary value HC (that is, the unmanned system uses the SM3 cryptographic hash algorithm to process the second ciphertext to obtain the summary value) and verifies whether it is consistent with HB. If not, the authentication fails. Decryption , get the ciphertext and the beacon public key . The summary calculation formula can be: The decryption formula can be: .

[0103] Unmanned systems can use the beacon-side public key Decryption Get "unmanned system ID, random number R and timestamp TS0". The decryption formula can be: .

[0104] Step 105: Generate a first system key according to the unmanned system identifier and the timestamp.

[0105] After completing the sending of the second ciphertext and the ciphertext decryption process of the unmanned system, the beacon system can generate the first system key based on the unmanned system ID and timestamp. At the same time, the unmanned system can also generate the second system key based on the unmanned system ID and timestamp. That is, the beacon side generates the key based on the unmanned system ID and timestamp TSt (current time, accurate to minutes) The unmanned system center generates a key based on the unmanned system ID and timestamp TSt (current time, accurate to the minute). .

[0106] The system key generation formula can be: Beacon side: .

[0107] Unmanned Systems: .

[0108] In this embodiment, the first system key may also be updated periodically. Specifically, the generation time of the first system key may be recorded, and when the interval between the current time and the generation time reaches a set duration, the first system key may be updated.

[0109] It can be understood that the second system key on the unmanned system side can also be updated according to the set duration to ensure the consistency of the system keys on the unmanned system and the beacon system side.

[0110] After the first key system is generated, step 106 is performed.

[0111] Step 106: Use the first system key to encrypt the unmanned system identifier and timestamp to obtain a third ciphertext, and send the third ciphertext to the unmanned system, so that the unmanned system uses the second system key to decrypt the third ciphertext to obtain decrypted information, and when the decrypted information is consistent with the relevant information on the unmanned system side, determine that the authentication is successful; the second system key is a key generated by the unmanned system based on the unmanned system identifier and the timestamp.

[0112] After generating the first key system, the first system key can be used to encrypt the unmanned system identifier and timestamp to obtain a third ciphertext, and the third ciphertext is sent to the unmanned system, so that the unmanned system can use the second system key to decrypt the third ciphertext to obtain decrypted information, and when the decrypted information is consistent with the relevant information on the unmanned system side, it is determined that the authentication is successful, wherein the second system key can be a key generated by the unmanned system based on the unmanned system identifier and timestamp.

[0113] In this example, the relevant information on the unmanned system side may be an unmanned system identifier and a timestamp stored on the unmanned system side.

[0114] While sending the third ciphertext, the beacon system can also perform SM3 processing on the third ciphertext to generate a summary value of the third ciphertext, so as to send the third ciphertext and the summary value to the unmanned system at the same time. The unmanned system first verifies the summary value, and after the verification is passed, the third ciphertext can be subsequently processed. Specifically, the beacon system can process the third ciphertext based on the SM3 cryptographic hash algorithm to obtain a second summary value corresponding to the third ciphertext. Furthermore, the third ciphertext and the second summary value can be sent to the unmanned system so that the unmanned system can verify the second summary value, and after the second summary value is verified, the third ciphertext can be decrypted using the second system key.

[0115] The encryption and transmission process on the beacon system side can be: The beacon system uses the first system key Encrypt "unmanned system ID + timestamp TSt" to generate the third ciphertext , and calculate the third ciphertext The second summary value HB1. Then, the third ciphertext And the second digest value HB1 is sent to the unmanned system.

[0116] The encryption formula can be: .

[0117] The formula for generating the second summary value can be: .

[0118] The decryption and authentication process for the unmanned system side can be: The unmanned system center verifies the summary value and calculates the summary HC1 (which can be the third ciphertext SM3 is performed to verify whether it is consistent with HB1. If not, authentication failure is returned.

[0119] If the digest value is verified, the unmanned system center uses the second system key For the third ciphertext Decryption is performed. If the decryption is successful, the unmanned system ID and timestamp TSt are obtained, and compared with the unmanned system ID and timestamp TSt stored in itself. If the information is consistent, the authentication is successful.

[0120] Among them, the calculation formula of summary HC1 can be: .

[0121] The decryption formula can be: .

[0122] After the beacon system successfully authenticates with the unmanned system, the authentication time of this successful authentication can be recorded, and when the interval between the current time and the authentication time reaches the authentication time, the authentication process with the unmanned system is re-executed. After each authentication, the old key is destroyed and the above authentication steps are repeated to achieve dynamic authentication with the unmanned system.

[0123] The dynamic authentication process between the center side and the beacon of the current unmanned system can be as follows: Figure 2 As shown, it may include: 1. Device initialization: The beacon and the drone center have the same symmetric key built in, and generate their own public and private key pairs.

[0124] 2. Key exchange: (1) The drone uses a symmetric key to encrypt its own public key, and sends the public key and symmetric key to the beacon. The beacon uses the symmetric key to decrypt the drone public key. (2) The beacon uses the private key to perform a lattice operation to encrypt "drone ID + random number + timestamp" to generate ciphertext C1. (3) Use the drone's public key to encrypt ciphertext C1 and the beacon's public key to obtain ciphertext C2, and perform an SM3 digest on ciphertext C2, and send the ciphertext and digest value to the drone together. (4) The drone first verifies the digest value, and after passing it, uses the private key to decrypt the ciphertext C1 and the beacon's public key. (5) Use the beacon's public key to decrypt ciphertext C1 to obtain the drone ID, random number, and timestamp.

[0125] 3. Generate authentication key: (1) The beacon and the drone center generate a key based on the drone ID and timestamp (current time). (2) The beacon uses the generated key to encrypt the "drone ID and timestamp", and performs an SM3 digest on the ciphertext and sends it to the drone at a fixed time. (3) The drone verifies the digest value, decrypts it using the generated key, and performs authentication. If the information is consistent, the authentication is successful.

[0126] 4. Continuous authentication Every minute afterwards, the beacon and drone regularly update the key according to the "drone ID + timestamp" and destroy the old key, repeating the above process.

[0127] The embodiment of the present application ensures the security and timeliness of the key and achieves forward security by regularly updating the key and destroying the old key. Compared with the traditional authentication method, the algorithm and protocol design are optimized to reduce the computational complexity, which is suitable for resource-constrained IoT devices and unmanned systems. Through dynamic key generation and updating, the computational intensity of each authentication is reduced, the authentication efficiency is improved, and the efficiency and lightness of the authentication process are achieved.

[0128] The method for performing security authentication with an unmanned system provided in an embodiment of the present application is by generating a locally paired first public key and a first private key. The encrypted public key sent by the unmanned system is decrypted using the first symmetric key to obtain the second public key of the unmanned system, the encrypted public key is obtained by the unmanned system using the second symmetric key to encrypt the second public key generated by the unmanned system side, and the first symmetric key and the second symmetric key are the same key. The first private key is used to perform a grid encryption operation on the unmanned system identification, random number and timestamp of the unmanned system to obtain a first ciphertext. The first ciphertext and the first public key are encrypted using the second public key to obtain a second ciphertext, and the second ciphertext is sent to the unmanned system, so that the unmanned system uses the second private key to decrypt the second ciphertext to obtain the first ciphertext and the first public key, and the first public key is used to decrypt the first ciphertext to obtain the unmanned system identification, random number and timestamp, and the second private key and the second public key are paired keys. According to the unmanned system identification and timestamp, a first system key is generated. The unmanned system identification and timestamp are encrypted using the first system key to obtain a third ciphertext, and the third ciphertext is sent to the unmanned system, so that the unmanned system uses the second system key to decrypt the third ciphertext to obtain decrypted information, and when the decrypted information is consistent with the relevant information on the unmanned system side, the authentication is determined to be successful, and the second system key is a key generated by the unmanned system according to the unmanned system identification and timestamp. The embodiment of the present application can reduce the methods of key cracking and improve the security of authentication by building the same symmetric key into the unmanned system and the beacon system, and using respective paired key pairs for authentication. At the same time, the use of a lattice-based encryption algorithm for key exchange can ensure the security of the key exchange process, resist quantum computing attacks, and further improve the security of authentication.

[0129] Reference Figure 4 , shows a schematic diagram of the structure of a device for performing security authentication with an unmanned system provided in an embodiment of the present application, and the device can be applied to a beacon system. Figure 4 As shown, the device 400 for performing safety authentication with an unmanned system may include the following modules: A pairing key generation module 410, configured to generate a first public key and a first private key for local pairing; An encrypted public key decryption module 420 is used to decrypt the encrypted public key sent by the unmanned system using a first symmetric key to obtain a second public key of the unmanned system, where the encrypted public key is obtained by encrypting the second public key generated by the unmanned system side by the unmanned system using a second symmetric key, and the first symmetric key and the second symmetric key are the same key; A first ciphertext generation module 430 is used to perform a lattice encryption operation on the unmanned system identifier, random number and timestamp of the unmanned system using the first private key to obtain a first ciphertext; A second ciphertext sending module 440 is configured to encrypt the first ciphertext and the first public key using the second public key to obtain a second ciphertext, and send the second ciphertext to the unmanned system, so that the unmanned system decrypts the second ciphertext using the second private key to obtain the first ciphertext and the first public key, and decrypts the first ciphertext using the first public key to obtain the unmanned system identifier, random number and timestamp, wherein the second private key and the second public key are paired keys; A system key generation module 450, configured to generate a first system key according to the unmanned system identifier and the timestamp; The third ciphertext sending module 460 is used to use the first system key to encrypt the unmanned system identifier and timestamp to obtain a third ciphertext, and send the third ciphertext to the unmanned system, so that the unmanned system uses the second system key to decrypt the third ciphertext to obtain decrypted information, and when the decrypted information is consistent with the relevant information on the unmanned system side, it is determined that the authentication is successful; the second system key is a key generated by the unmanned system based on the unmanned system identifier and the timestamp.

[0130] Optionally, the pairing key generation module includes: A pseudo-random seed generating unit, configured to use a pseudo-random number generator to process a random parameter of a specified number of bits input in advance and a predefined fixed parameter to generate a first pseudo-random seed and a second pseudo-random seed; A matrix generating unit, used for generating a K×K matrix based on the first pseudo-random seed and the number of rows and columns of the matrix, where K is a positive integer; A vector generating unit, configured to generate a first vector and a second vector according to the matrix elements of the K×K matrix, the second pseudo-random seed and the current authentication number value; A frequency domain representation acquisition unit, configured to perform k-order theoretic transformation processing on the first vector and the second vector respectively to obtain corresponding first frequency domain representation and second frequency domain representation; a combined frequency domain representation acquisition unit, configured to perform a linear combination operation on the first frequency domain representation and the second frequency domain representation to obtain a linear combined frequency domain representation; The key acquisition unit is used to encode the first frequency domain representation and the linear combination frequency domain representation respectively to obtain the first public key and the first private key.

[0131] Optionally, the first ciphertext generation module includes: A basis vector generating unit, used for generating basis vectors of a lattice; a message vector acquisition unit, configured to encode the unmanned system identifier, the random number and the timestamp to obtain a message vector; a target vector acquisition unit, configured to encode the message vector into a target vector on a basis vector of the lattice; The first ciphertext generating unit is configured to perform a lattice transformation on the target vector based on the first private key to generate the first ciphertext.

[0132] Optionally, the second ciphertext sending module includes: A first digest value obtaining unit, configured to process the second ciphertext based on an SM3 cryptographic hash algorithm to obtain a first digest value corresponding to the second ciphertext; The second ciphertext sending unit is used to send the second ciphertext and the first digest value to the unmanned system so that the unmanned system verifies the first digest value, and after the first digest value is verified, use the second private key to decrypt the second ciphertext.

[0133] Optionally, the third ciphertext sending module includes: A second digest value obtaining unit, configured to process the third ciphertext based on an SM3 cryptographic hash algorithm to obtain a second digest value corresponding to the third ciphertext; The third ciphertext sending unit is used to send the third ciphertext and the second digest value to the unmanned system so that the unmanned system verifies the second digest value, and after the second digest value is verified, use the second system key to decrypt the third ciphertext.

[0134] Optionally, the device further comprises: A generation time recording module, used to record the generation time of the first system key; The system key updating module is used to update the first system key when the interval between the current time and the generation time reaches a set time length.

[0135] Optionally, the device further comprises: An authentication time recording module, used for recording the authentication time of successful authentication after successful authentication with the unmanned system; The authentication process execution module is used to re-execute the authentication process with the unmanned system when the interval period between the current time and the authentication time reaches the authentication duration.

[0136] The device for performing security authentication with an unmanned system provided in an embodiment of the present application generates a first public key and a first private key that are paired locally. The encrypted public key sent by the unmanned system is decrypted using the first symmetric key to obtain the second public key of the unmanned system, and the encrypted public key is obtained by encrypting the second public key generated by the unmanned system side using the second symmetric key by the unmanned system, and the first symmetric key and the second symmetric key are the same key. The unmanned system identifier, random number and timestamp of the unmanned system are ciphered using the first private key to obtain a first ciphertext. The first ciphertext and the first public key are encrypted using the second public key to obtain a second ciphertext, and the second ciphertext is sent to the unmanned system, so that the unmanned system uses the second private key to decrypt the second ciphertext to obtain the first ciphertext and the first public key, and the first public key is used to decrypt the first ciphertext to obtain the unmanned system identifier, random number and timestamp, and the second private key and the second public key are paired keys. According to the unmanned system identifier and timestamp, a first system key is generated. The unmanned system identification and timestamp are encrypted using the first system key to obtain a third ciphertext, and the third ciphertext is sent to the unmanned system, so that the unmanned system uses the second system key to decrypt the third ciphertext to obtain decrypted information, and when the decrypted information is consistent with the relevant information on the unmanned system side, the authentication is determined to be successful, and the second system key is a key generated by the unmanned system according to the unmanned system identification and timestamp. The embodiment of the present application can reduce the methods of key cracking and improve the security of authentication by building the same symmetric key into the unmanned system and the beacon system, and using respective paired key pairs for authentication. At the same time, the use of a lattice-based encryption algorithm for key exchange can ensure the security of the key exchange process, resist quantum computing attacks, and further improve the security of authentication.

[0137] An embodiment of the present application provides an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the above-mentioned method for security authentication with an unmanned system when executed by the processor.

[0138] Figure 5 FIG. 5 is a schematic diagram showing the structure of an electronic device 500 according to an embodiment of the present invention. Figure 5 As shown, the electronic device 500 includes a central processing unit (CPU) 501, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 502 or computer program instructions loaded from a storage unit 508 to a random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic device 500 can also be stored. The CPU 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0139] Multiple components in the electronic device 500 are connected to the I / O interface 505, including: an input unit 506, such as a keyboard, a mouse, a microphone, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a disk, an optical disk, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the electronic device 500 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0140] The various processes and processing described above may be performed by the processing unit 501. For example, the method of any of the above embodiments may be implemented as a computer software program, which is tangibly contained in a computer-readable medium, such as the storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the CPU 501, one or more actions in the method described above may be performed.

[0141] The embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, each process of the above-mentioned method embodiment for security authentication with an unmanned system is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0142] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0143] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0144] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

[0145] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the present application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0146] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0147] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0148] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0149] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0150] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard drives, ROM, RAM, magnetic disks, or optical disks.

[0151] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for security authentication with an unmanned system, applied to a beacon system, characterized in that: include: Generate a first public key and a first private key for local pairing; Decrypting the encrypted public key sent by the unmanned system using the first symmetric key to obtain a second public key of the unmanned system, where the encrypted public key is obtained by encrypting the second public key generated by the unmanned system side by the unmanned system using the second symmetric key, and the first symmetric key and the second symmetric key are the same key; Using the first private key to perform a lattice encryption operation on the unmanned system identifier, the random number, and the timestamp of the unmanned system to obtain a first ciphertext; Encrypting the first ciphertext and the first public key using the second public key to obtain a second ciphertext, and sending the second ciphertext to the unmanned system so that the unmanned system decrypts the second ciphertext using the second private key to obtain the first ciphertext and the first public key, and decrypting the first ciphertext using the first public key to obtain the unmanned system identifier, random number, and timestamp, wherein the second private key and the second public key are paired keys; Generate a first system key according to the unmanned system identifier and the timestamp; The unmanned system identifier and timestamp are encrypted using the first system key to obtain a third ciphertext, and the third ciphertext is sent to the unmanned system so that the unmanned system uses the second system key to decrypt the third ciphertext to obtain decrypted information, and when the decrypted information is consistent with the relevant information on the unmanned system side, it is determined that the authentication is successful; the second system key is a key generated by the unmanned system based on the unmanned system identifier and the timestamp.

2. The method according to claim 1, characterized in that: The generating of the first public key and the first private key of the local pairing includes: Using a pseudo-random number generator to process a pre-input random parameter of a specified number of bits and a pre-defined fixed parameter to generate a first pseudo-random seed and a second pseudo-random seed; Generate a K×K matrix for the first pseudo-random seed and the number of rows and columns of the matrix, where K is a positive integer; Generate a first vector and a second vector according to the matrix elements of the K×K matrix, the second pseudo-random seed, and the current authentication number value; Performing k-order theoretic transformation processing on the first vector and the second vector respectively to obtain corresponding first frequency domain representation and second frequency domain representation; Performing a linear combination operation on the first frequency domain representation and the second frequency domain representation to obtain a linear combination frequency domain representation; The first frequency domain representation and the linear combination frequency domain representation are respectively encoded to obtain the first public key and the first private key.

3. The method according to claim 1, characterized in that The step of using the first private key to perform a lattice encryption operation on the unmanned system identifier, the random number, and the timestamp of the unmanned system to obtain a first ciphertext includes: Generate basis vectors of the lattice; Encoding the unmanned system identifier, the random number and the timestamp to obtain a message vector; encoding the message vector as a target vector on a basis vector of the lattice; Performing a lattice transformation on the target vector based on the first private key to generate the first ciphertext.

4. The method according to claim 1, characterized in that: The sending the second ciphertext to the unmanned system comprises: Processing the second ciphertext based on the SM3 cryptographic hash algorithm to obtain a first digest value corresponding to the second ciphertext; The second ciphertext and the first digest value are sent to the unmanned system so that the unmanned system verifies the first digest value, and after the first digest value is verified, the second ciphertext is decrypted using the second private key.

5. The method according to claim 1, characterized in that The sending the third ciphertext to the unmanned system comprises: Processing the third ciphertext based on the SM3 cryptographic hash algorithm to obtain a second digest value corresponding to the third ciphertext; The third ciphertext and the second digest value are sent to the unmanned system so that the unmanned system verifies the second digest value, and after the second digest value is verified, the third ciphertext is decrypted using the second system key.

6. The method according to claim 1, characterized in that After generating the first system key according to the unmanned system identifier and the timestamp, the method further includes: Recording the generation time of the first system key; When the interval between the current time and the generation time reaches a set duration, the first system key is updated.

7. The method according to claim 1, characterized in that After encrypting the unmanned system identifier and the timestamp using the first system key to obtain a third ciphertext, and sending the third ciphertext to the unmanned system, the method further includes: After successful authentication with the unmanned system, record the authentication time of this successful authentication; When the interval between the current time and the authentication time reaches the authentication duration, the authentication process with the unmanned system is re-executed.

8. A device for performing security authentication with an unmanned system, applied to a beacon system, characterized in that: include: A pairing key generation module, used to generate a first public key and a first private key for local pairing; an encrypted public key decryption module, configured to use a first symmetric key to decrypt the encrypted public key sent by the unmanned system to obtain a second public key of the unmanned system, wherein the encrypted public key is obtained by encrypting the second public key generated by the unmanned system side by the unmanned system using a second symmetric key, and the first symmetric key and the second symmetric key are the same key; A first ciphertext generation module, configured to perform a lattice encryption operation on an unmanned system identifier, a random number, and a timestamp of the unmanned system using the first private key to obtain a first ciphertext; a second ciphertext sending module, configured to encrypt the first ciphertext and the first public key using the second public key to obtain a second ciphertext, and send the second ciphertext to the unmanned system, so that the unmanned system decrypts the second ciphertext using the second private key to obtain the first ciphertext and the first public key, and decrypts the first ciphertext using the first public key to obtain the unmanned system identifier, random number and timestamp, wherein the second private key and the second public key are paired keys; A system key generation module, configured to generate a first system key according to the unmanned system identifier and the timestamp; A third ciphertext sending module is used to encrypt the unmanned system identifier and timestamp using the first system key to obtain a third ciphertext, and send the third ciphertext to the unmanned system, so that the unmanned system uses the second system key to decrypt the third ciphertext to obtain decrypted information, and when the decrypted information is consistent with the relevant information on the unmanned system side, it is determined that the authentication is successful; the second system key is a key generated by the unmanned system based on the unmanned system identifier and the timestamp.

9. An electronic device, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the method for performing security authentication with an unmanned system as claimed in any one of claims 1 to 7.

10. A readable storage medium, characterized in that: When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the method for performing security authentication with an unmanned system as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Identity-based authentication key negotiation method based on lattice

    CN114268439A

  • Public / private key system with increased security

    CN114902605A

  • Data volume generation method and device based on digital signature, equipment and storage medium

    CN114978694A

  • Cryptographic system for post quantum cryptographic operation

    CN117651949A

  • Key distribution method, device and system, electronic equipment and storage medium

    CN118748588A