A three-factor authentication and key negotiation method, device and program product for Internet of Vehicles

By adopting three-factor authentication and key negotiation methods in the Internet of Vehicles, and using multiple authentication methods for users and vehicles, the problem of device authentication in the Internet of Vehicles is solved, and higher data security is achieved.

CN119255235BActive Publication Date: 2025-03-04HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411773326.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-04
Publication Date
2025-03-04
Estimated Expiration
2044-12-04

AI Technical Summary

Technical Problem

In the Internet of Vehicles, how to accurately verify the identity of the accessed Internet of Vehicles devices to improve data security and prevent attackers from obtaining private information or tampering with data.

Method used

The three-factor authentication and key negotiation method is used to calculate the user key through the account information, password and biometric uploaded by the user, and the parameter calculation is performed in combination with the vehicle tag and the user tag, and the original session key is generated, and verified through the public key group.

Benefits of technology

It realizes accurate verification of the identity of the Internet of Vehicles equipment, improves data security, prevents privacy leakage and data tampering, and supports three-factor authentication of user identity, custom parameters and vehicle identity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119255235B_ABST
    Figure CN119255235B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a three-factor authentication and key negotiation method, device and program product for the Internet of Vehicles, which relates to the field of information security technology. The method includes: calculating the first parameter and the second parameter based on the vehicle tag and the first user tag and sending them to the roadside unit, the roadside unit using the received data to calculate the third parameter and sending it to the trusted institution, the trusted institution using the received data to calculate the fourth parameter and when it is the same as the third parameter and the user identity is verified to be legitimate based on the second user tag, a session key for communication between the first vehicle and the roadside unit is generated, the sixth parameter is calculated based on the session key and sent to the vehicle; when the identity of the trusted institution is verified to be legitimate, the session key is calculated based on the received sixth parameter and sent to the roadside unit, and the roadside unit verifies the message sent by the vehicle based on the received public key group. This solution can accurately verify the identity of the device accessing the Internet of Vehicles and improve the security of data in the Internet of Vehicles.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of information security technology, and in particular to a method, device and program product for three-factor authentication and key negotiation in an Internet of Vehicles. Background Art

[0002] The Internet of Vehicles is a technology used to support intelligent interaction between vehicles, RSUs (Road Side Units) and other traffic participants. In the Internet of Vehicles, various sensors installed on vehicles collect various sensory data, such as the vehicle's geographic location, direction, driving speed, acceleration, temperature and humidity information, road traffic conditions, etc. These sensory data are the basis for supporting the upper-layer applications of the Internet of Vehicles. By sharing these sensory data, the Internet of Vehicles can be given the ability to analyze, judge and make decisions.

[0003] With the rapid development of the Internet of Vehicles, there are more and more attacks on devices in the Internet of Vehicles. Attackers can attack devices in the Internet of Vehicles to obtain private information from the Internet of Vehicles or tamper with data, causing security issues such as privacy leakage and data tampering. Therefore, in order to ensure the security of data in the Internet of Vehicles, it is usually necessary to authenticate devices accessing the Internet of Vehicles. Then, how to accurately verify the identity of devices accessing the Internet of Vehicles to improve the security of data in the Internet of Vehicles has become a technical problem that needs to be solved urgently. Summary of the invention

[0004] The purpose of the embodiments of the present application is to provide a method, device and program product for three-factor authentication and key negotiation in an Internet of Vehicles to accurately verify the identity of devices accessing the Internet of Vehicles, thereby improving the security of data in the Internet of Vehicles. The specific technical solution is as follows:

[0005] In a first aspect, an embodiment of the present application provides a vehicle networking three-factor authentication and key negotiation method, which is applied to a first vehicle, and the method includes:

[0006] Receiving first account information, a first password, and a first biometric characteristic uploaded by a user;

[0007] Calculating a first key of the user based on the first biometric feature and a pre-generated public regeneration parameter; wherein the public regeneration parameter is generated based on a second biometric feature input by the user through a vehicle when the user registers on a trusted institution;

[0008] Calculate a first user tag of the user based on the first account information, the first password, and the first key;

[0009] Calculate a first parameter based on the vehicle tag of the first vehicle, and calculate a second parameter based on the first user tag and the vehicle tag according to a first encoding method, and send a first data group containing the first parameter and the second parameter to a roadside unit currently associated with the first vehicle, so that the roadside unit uses the received first parameter and the second parameter and a first public key generated when the roadside unit is registered on a trusted institution to calculate a third parameter according to the first encoding method, and send a second data group containing the received first data group, the first public key and the third parameter to a trusted institution, so that the trusted institution uses the received second data group to calculate a fourth parameter according to the first encoding method, and calculate a fifth parameter according to the first encoding method based on the second user tag generated when the user is registered and the vehicle tag when the fourth parameter is the same as the received third parameter, and generate an original session key for communication between the first vehicle and the roadside unit based on the collective tag of the collective entity formed by the user and the first vehicle and the unit tag of the roadside unit when the fifth parameter is the same as the second parameter, calculate a sixth parameter based on the original session key, and calculate a seventh parameter based on the second user tag and the vehicle tag according to the second encoding method, and send a third data group containing the sixth parameter and the seventh parameter to the first vehicle through the roadside unit;

[0010] In response to receiving the third data group, calculating an eighth parameter based on the first user tag and the vehicle tag in a second encoding manner;

[0011] If the eighth parameter is consistent with the received seventh parameter, the original session key is calculated based on the received sixth parameter, and a public key group is generated based on the original session key and sent to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group; wherein the multiple public keys contained in the public key group are used to recover the original session key.

[0012] In a second aspect, an embodiment of the present application provides a three-factor authentication and key negotiation method for an Internet of Vehicles, which is applied to a roadside unit, and the method includes:

[0013] receiving a first data group including a first parameter and a second parameter sent by a first vehicle; wherein the first parameter is calculated based on a vehicle tag of the first vehicle, and the second parameter is calculated based on a first user tag of a user associated with the first vehicle and the vehicle tag according to a first encoding method, and the first user tag is calculated based on first account information, a first password, and a first biometric feature uploaded by the user;

[0014] Calculate a third parameter according to the first encoding method using the received first parameter and second parameter and a first public key generated when the roadside unit is registered;

[0015] Sending a second data group including the received first data group, the first public key and the third parameter to a trusted authority, so that the trusted authority calculates a fourth parameter according to the first encoding method using the received second data group, and calculates a fifth parameter according to the first encoding method based on the second user tag and the vehicle tag generated when the user is registered when the fourth parameter is the same as the third parameter, and generates an original session key for communication between the first vehicle and the roadside unit based on the collective tag of the collective entity composed of the user and the first vehicle and the unit tag of the roadside unit when the fifth parameter is the same as the second parameter, calculates a sixth parameter based on the original session key, and calculates a seventh parameter according to the second encoding method based on the second user tag and the vehicle tag, and sends a third data group including the sixth parameter and the seventh parameter to the first vehicle; so that the first vehicle calculates an eighth parameter according to the second encoding method based on the first user tag and the vehicle tag in response to receiving the third data group; if the eighth parameter is consistent with the seventh parameter, calculates the original session key based on the received sixth parameter, generates a public key group based on the original session key and sends it to the roadside unit; wherein the multiple public keys included in the public key group are used to recover the original session key;

[0016] In response to receiving a message sent by a vehicle, the received message is verified using a public key group corresponding to the vehicle from which the received message originates.

[0017] In a third aspect, an embodiment of the present application provides a three-factor authentication and key negotiation method for an Internet of Vehicles, which is applied to a trusted institution, and the method includes:

[0018] In response to receiving a second data group sent by a roadside unit, a fourth parameter is calculated using the received second data group according to a first encoding method; wherein the second data group includes a first data group, a first public key generated when the roadside unit is registered, and a third parameter, the first data group is sent to the roadside unit by a first vehicle, the first data group includes a first parameter and a second parameter, the first parameter is calculated based on a vehicle tag of the first vehicle; the second parameter is calculated based on a first user tag of a user associated with the first vehicle and the vehicle tag according to a first encoding method, the first user tag is calculated based on first account information, a first password, and a first biometric feature uploaded by the user; the third parameter is calculated based on the first parameter, the second parameter, and the first public key;

[0019] When the fourth parameter is the same as the third parameter, calculating a fifth parameter according to the first encoding method based on the second user tag and the vehicle tag generated when the user is registered;

[0020] When the fifth parameter is the same as the second parameter, generating an original session key for communication between the first vehicle and the roadside unit based on a collective tag of a collective entity consisting of the user and the first vehicle and a unit tag of the roadside unit;

[0021] A sixth parameter is calculated based on the original session key and a seventh parameter is calculated based on the second user tag and the vehicle tag in a second encoding manner, and a third data group including the sixth parameter and the seventh parameter is sent to the first vehicle through the roadside unit so that the first vehicle receives the third data group, an eighth parameter is calculated based on the first user tag and the vehicle tag in a second encoding manner, and when the eighth parameter is the same as the seventh parameter, the original session key is calculated based on the received sixth parameter, and a public key group is generated based on the original session key and sent to the roadside unit so that the roadside unit verifies the message sent by the first vehicle based on the received public key group; wherein the multiple public keys included in the public key group are used to recover the original session key.

[0022] In a fourth aspect, an embodiment of the present application provides a vehicle networking three-factor authentication and key negotiation device, which is applied to a first vehicle, and the device includes:

[0023] A first receiving module, configured to receive first account information, a first password, and a first biometric feature uploaded by a user;

[0024] a first calculation module, configured to calculate a first key of the user based on the first biometric feature and a pre-generated public regeneration parameter; wherein the public regeneration parameter is generated based on a second biometric feature input by the user through a vehicle when the user registers on a trusted institution;

[0025] a second calculation module, configured to calculate a first user tag of the user based on the first account information, the first password, and the first key;

[0026] a third calculation module, configured to calculate a first parameter based on the vehicle tag of the first vehicle, calculate a second parameter based on the first user tag and the vehicle tag according to a first encoding method, and send a first data group including the first parameter and the second parameter to a roadside unit currently associated with the first vehicle; so that the roadside unit uses the received first parameter and the second parameter and a first public key generated when the roadside unit is registered on a trusted institution to calculate a third parameter according to the first encoding method, and send a second data group including the received first data group, the first public key and the third parameter to the trusted institution, so that the trusted institution uses the received second data group to calculate a fourth parameter according to the first encoding method parameter, and when the fourth parameter is the same as the received third parameter, based on the second user tag generated when the user is registered and the vehicle tag, calculate a fifth parameter according to the first encoding method, when the fifth parameter is the same as the second parameter, based on the collective tag of the collective entity composed of the user and the first vehicle and the unit tag of the roadside unit, generate an original session key for communication between the first vehicle and the roadside unit, calculate a sixth parameter based on the original session key and calculate a seventh parameter according to the second encoding method based on the second user tag and the vehicle tag, and send a third data group including the sixth parameter and the seventh parameter to the first vehicle through the roadside unit;

[0027] a fourth calculation module, configured to calculate an eighth parameter according to a second encoding method based on the first user tag and the vehicle tag in response to receiving the third data group;

[0028] The first verification module is used to calculate the original session key based on the received sixth parameter if the eighth parameter is consistent with the received seventh parameter, and to generate a public key group based on the original session key and send it to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group; wherein the multiple public keys contained in the public key group are used to recover the original session key.

[0029] In a fifth aspect, an embodiment of the present application provides a vehicle networking three-factor authentication and key negotiation device, which is applied to a roadside unit, and the device includes:

[0030] a second receiving module, configured to receive a first data group including a first parameter and a second parameter sent by a first vehicle; wherein the first parameter is calculated based on a vehicle tag of the first vehicle, and the second parameter is calculated based on a first user tag of a user associated with the first vehicle and the vehicle tag in a first encoding manner, and the first user tag is calculated based on first account information, a first password, and a first biometric feature uploaded by the user;

[0031] A fifth calculation module, configured to calculate a third parameter according to the first encoding method by using the received first parameter and second parameter and the first public key generated when the roadside unit is registered;

[0032] a sixth calculation module, configured to send a second data group including the received first data group, the first public key, and the third parameter to a trusted institution, so that the trusted institution calculates a fourth parameter according to the first encoding method using the received second data group, and calculates a fifth parameter according to the first encoding method based on the second user tag and the vehicle tag generated when the user is registered when the fourth parameter is the same as the third parameter, and generates an original session key for communication between the first vehicle and the roadside unit based on the collective tag of the collective entity consisting of the user and the first vehicle and the unit tag of the roadside unit when the fifth parameter is the same as the second parameter, Calculate a sixth parameter based on the original session key and calculate a seventh parameter based on the second user tag and the vehicle tag in a second encoding manner, and send a third data group including the sixth parameter and the seventh parameter to the first vehicle; so that the first vehicle, in response to receiving the third data group, calculates an eighth parameter based on the first user tag and the vehicle tag in a second encoding manner; if the eighth parameter is consistent with the seventh parameter, calculate the original session key based on the received sixth parameter, generate a public key group based on the original session key and send it to the roadside unit; wherein the multiple public keys included in the public key group are used to recover the original session key;

[0033] The second verification module is used to verify the received message using the public key group corresponding to the vehicle from which the received message comes in response to receiving the message sent by the vehicle.

[0034] In a sixth aspect, an embodiment of the present application provides a three-factor authentication and key negotiation device for an Internet of Vehicles, which is applied to a trusted institution, and the device includes:

[0035] A seventh calculation module, configured to calculate a fourth parameter in accordance with a first encoding method using the received second data group in response to receiving a second data group sent by a roadside unit; wherein the second data group includes a first data group, a first public key generated when the roadside unit is registered, and a third parameter; the first data group is sent by a first vehicle to the roadside unit; the first data group includes a first parameter and a second parameter; the first parameter is calculated based on a vehicle tag of the first vehicle; the second parameter is calculated based on a first user tag of a user associated with the first vehicle and the vehicle tag in accordance with a first encoding method; the first user tag is calculated based on first account information, a first password, and a first biometric feature uploaded by the user; the third parameter is calculated based on the first parameter, the second parameter, and the first public key;

[0036] an eighth calculation module, configured to calculate a fifth parameter according to the first encoding method based on a second user tag generated when the user registers and the vehicle tag when the fourth parameter is the same as the third parameter;

[0037] a generating module, configured to generate an original session key for communication between the first vehicle and the roadside unit based on a collective tag of a collective entity consisting of the user and the first vehicle and a unit tag of the roadside unit when the fifth parameter is the same as the second parameter;

[0038] A third verification module is used to calculate a sixth parameter based on the original session key and calculate a seventh parameter based on the second user tag and the vehicle tag in a second encoding manner, and send a third data group including the sixth parameter and the seventh parameter to the first vehicle through the roadside unit, so that the first vehicle receives the third data group, calculates an eighth parameter based on the first user tag and the vehicle tag in a second encoding manner, and when the eighth parameter is the same as the seventh parameter, calculates the original session key based on the received sixth parameter, and generates a public key group based on the original session key and sends it to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group; wherein the multiple public keys included in the public key group are used to recover the original session key.

[0039] In a seventh aspect, an embodiment of the present application provides an electronic device, including:

[0040] Memory, used to store computer programs;

[0041] The processor is used to implement any of the above-mentioned three-factor authentication and key negotiation methods for Internet of Vehicles when executing the program stored in the memory.

[0042] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the three-factor authentication and key negotiation method for the Internet of Vehicles described in any one of the above items is implemented.

[0043] In a ninth aspect, an embodiment of the present application provides a computer program product, which includes executable instructions. When the executable instructions are executed on a computer, the computer executes any one of the above-mentioned three-factor authentication and key negotiation methods for the Internet of Vehicles.

[0044] Beneficial effects of the embodiments of the present application:

[0045] In the solution provided by the embodiment of the present application, since the fourth parameter is calculated by the trusted institution using the received second data group, if the fourth parameter is the same as the third parameter in the second data group, it means that the second data group has not been tampered with. At this time, the trusted institution uses the second user tag and vehicle tag generated when the user registers to calculate the fifth parameter according to the first encoding method. Since the second parameter is calculated by the first vehicle based on the first user tag and vehicle tag according to the first encoding method, and the fifth parameter is calculated by the trusted institution based on the second user tag and vehicle tag according to the first encoding method, if the fifth parameter is the same as the second parameter, it means that the tags of the user and the first vehicle are the same as those stored on the trusted institution, that is, the user and the vehicle are registered on the trusted institution, then the trusted institution can determine that the identity of the collective entity composed of the user and the first vehicle is legal. Then, the trusted institution generates the original session key for communication between the first vehicle and the roadside unit, and calculates the sixth parameter and the seventh parameter based on the original session key and sends them to the first vehicle. The first vehicle receives the third data group and calculates the eighth parameter. Since the eighth parameter is calculated based on the first user tag and the vehicle tag according to the first encoding method, and the seventh parameter is calculated based on the second user tag and the vehicle tag according to the first encoding method, if the eighth parameter is consistent with the seventh parameter, it means that the second user tag and the vehicle tag in the trusted institution are accurate, that is, the first vehicle can determine that the identity of the trusted institution is legal, and then the first vehicle completes the identity authentication of the trusted institution. Since the sixth parameter is calculated based on the original session key, the first vehicle can use the received sixth parameter to restore the original session key, and generate a public key group based on the original session key and send it to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group. It can be seen that since the identity of the collective entity composed of the user and the first vehicle is verified based on the user and vehicle tags during the session key negotiation, and the user tag is calculated based on the account information, password and biometrics, therefore, this solution supports three-factor authentication of user identity, custom parameters and vehicle identity, so that the identity of the device accessing the Internet of Vehicles can be accurately verified, thereby improving the security of data in the Internet of Vehicles.

[0046] Of course, implementing any product or method of the present application does not necessarily require achieving all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other embodiments can also be obtained based on these drawings.

[0048] Figure 1 A schematic diagram of a vehicle networking system provided in an embodiment of the present application;

[0049] Figure 2 A flowchart of a three-factor authentication and key negotiation method for Internet of Vehicles provided from the vehicle side in an embodiment of the present application;

[0050] Figure 3 A flowchart of another vehicle networking three-factor authentication and key negotiation method provided from the vehicle side in an embodiment of the present application;

[0051] Figure 4 A flowchart of a three-factor authentication and key negotiation method for Internet of Vehicles provided from a roadside unit side in an embodiment of the present application;

[0052] Figure 5 A flowchart of a three-factor authentication and key negotiation method for Internet of Vehicles provided by a trusted institution in an embodiment of the present application;

[0053] Figure 6 A schematic diagram of the structure of a three-factor authentication and key negotiation device for Internet of Vehicles provided from the vehicle side in an embodiment of the present application;

[0054] Figure 7 This is a structural schematic diagram of a vehicle networking three-factor authentication and key negotiation device provided by a roadside unit in an embodiment of the present application;

[0055] Figure 8 A schematic diagram of the structure of a three-factor authentication and key agreement device for Internet of Vehicles provided by a trusted institution in an embodiment of the present application;

[0056] Fig. 9 A block diagram of an electronic device for implementing the three-factor authentication and key negotiation method for Internet of Vehicles provided in an embodiment of the present application. DETAILED DESCRIPTION

[0057] 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 only 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 based on the present application belong to the scope of protection of the present application.

[0058] First, the professional terms involved in the embodiments of the present application are introduced.

[0059] Multi-factor authentication: A security verification process that combines multiple independent verification methods such as user identity, user-defined parameters, and vehicle verification codes to ensure that only legitimate users can access the system or service, significantly enhancing account protection and effectively resisting security threats. In this application, the security verification process that combines user identity, custom parameters, and vehicle identity is also called three-factor authentication.

[0060] Collusion attack: A type of attack in cryptography and information security, especially in scenarios involving digital signatures and encrypted communications. In the context of the Internet of Vehicles, a collusion attack refers to one or more malicious nodes (usually vehicles or roadside units) working together to try to undermine the security and data integrity of the system.

[0061] Hash function: also known as hash function, an algorithm that maps an input of arbitrary length (usually called a message or data) to an output of fixed length. Its output is called a hash value, hash value or message digest. Hash function is deterministic, efficient, irreversible and collision-resistant.

[0062] Fuzzy Extractor: A fuzzy extractor is a cryptographic component designed to reliably generate stable keys from volatile biometric data. It uses raw biometric features (such as fingerprint data) to generate a key and common regeneration parameters ; If there are slight differences in the biometrics submitted later, as long as they are within the allowed range of variation, this public regeneration parameter Still able to reproduce the original key , thus ensuring the continuity of authentication and the privacy of data.

[0063] ECC (Elliptic Curve Cryptography): A public key encryption technology based on the mathematical theory of elliptic curves. Using points on elliptic curves for encryption and decryption operations, elliptic curve cryptography can achieve a higher level of security with a shorter key length, thereby significantly reducing the amount of computation and storage space required. The core security assumption of ECC is the elliptic curve discrete logarithm problem, that is, given two points on an elliptic curve E, and , find an integer Make It is very difficult to establish here is a generator, is an unknown index, and is defined over a finite field A non-singular elliptic curve on ,and ,in and It is also a finite field The elements in , p is a secure prime number, and mod represents the modulus operation. Through this property of elliptic curves, ECC provides an efficient and secure encryption, signature, and key exchange mechanism, which is widely used in modern cryptographic protocols and secure communication systems, especially in resource-constrained environments such as the Internet of Vehicles.

[0064] Below, the three-factor authentication and key negotiation method for the Internet of Vehicles provided in an embodiment of the present application is introduced.

[0065] The three-factor authentication and key negotiation method for the Internet of Vehicles provided in the embodiment of the present application requires the cooperation of the vehicle, roadside unit and trusted organization.

[0066] like Figure 1 As shown in the figure, the Internet of Vehicles system consists of vehicles, roadside units and trusted institutions. In this system, Ue (User entity), RSU and TA (Trusted Authority) communicate through the Internet (Internet of Vehicles). Figure 1 101 represents Ue, 102 represents RSU, 103 represents TA, and 104 represents Internet. It should be noted that Ue in the embodiment of the present application is a collective entity composed of users and vehicles. A user can have multiple vehicles. The user and each vehicle can constitute a collective entity so that the mixed features of users and vehicles can be extracted and adopted in the authentication process. Each vehicle is equipped with an OBU (On board Unit), which is capable of receiving and processing messages from different vehicles and sensors. Confidential information is securely stored in the TPD (Tamper-Proof Device) of the OBU. RSU, as a fixed base station located near the traffic, acts as an intermediary between Ue and TA. RSU is used to receive messages, identity authentication, broadcast information within its coverage, and securely forward verified information to the recipient. TA is responsible for the initial registration of RSU and Ue, and generates an anonymous identity of Ue through the registration device to ensure the privacy of each Ue. It also has the authority to track the original identity of Ue and revoke registration information.

[0067] The following article introduces the three-factor authentication and key negotiation method of the Internet of Vehicles provided by the embodiment of the present application from the vehicle side, roadside unit side and trusted institution side respectively.

[0068] Figure 2 The flowchart of the vehicle networking three-factor authentication and key negotiation method provided by the vehicle side is applied to a first vehicle, and the first vehicle is any vehicle to be communicated through the vehicle networking; the method includes steps S201-S206:

[0069] S201, receiving first account information, a first password, and a first biometric feature uploaded by a user;

[0070] In this embodiment, the first account information can be an identity identification number, mobile phone number, or a registered account on the Internet of Vehicles platform input by the user, etc.; the first password is the password entered by the user, and the first biometric can be fingerprint data or other biometric data entered by the user, etc.

[0071] For example, in actual application, the user can upload the first account information, the first password and the first biometric feature to the vehicle by entering the account number, password and fingerprint data on the smart device of the vehicle.

[0072] S202, calculating a first key of the user based on the first biometric feature and a pre-generated public regeneration parameter; wherein the public regeneration parameter is generated based on a second biometric feature input by the user through the vehicle when the user registers on the trusted institution;

[0073] In this embodiment, the second biometric feature can be the fingerprint data or other biometric data entered on the smart device of the vehicle when the user registers on the trusted institution. It should be noted that the second biometric feature and the first biometric feature are biometric features input by users at different stages, which are distinguished by naming. A user can have multiple vehicles. When registering, the user can register on the trusted institution through any vehicle, that is, the vehicle used by the user when registering can be the first vehicle or not.

[0074] Exemplarily, in actual application, based on the first biometric feature and the pre-generated public regeneration parameter, the first formula is used to calculate the first key of the user; the first formula is:

[0075] ;

[0076] in, is the first key, The first biometric feature, are pre-generated common regeneration parameters, is the reconstruction function in the fuzzy extractor.

[0077] The public regeneration parameter is calculated using a second formula based on a second biometric feature input by the user through the vehicle when registering on a trusted institution; the second formula is:

[0078] ;

[0079] in, is the common regeneration parameter, is the second biometric feature, is the generating function in the fuzzy extractor, It is understandable that, since the fuzzy extractor can generate a key and a public regeneration parameter using the biometrics, and can restore the initially generated key through the public regeneration parameter when the difference between the subsequently submitted biometrics and the original biometrics is within the allowed range of variation; therefore, if the difference between the second biometric and the first biometric is within the allowed range of variation of the fuzzy extractor, the first key is the same as the second key, that is, the key generated when the user registered can be restored through the public regeneration parameter.

[0080] Optionally, in one implementation, if the user registers with a trusted institution using the first vehicle, the registration process of the user with the trusted institution includes steps A1-A6:

[0081] A1, when detecting that a user inserts a smart card, receiving second account information, a second password, a second biometric feature, and a vehicle identification of the first vehicle uploaded by the user;

[0082] In this implementation, the second account information may be an identification number, a mobile phone number, or a registered account on the Internet of Vehicles platform input by the user during the registration phase, etc.; the second password is the password input by the user during the registration phase, and the second biometric feature may be fingerprint data or other biometric data entered by the user during the registration phase, etc. The vehicle identification of the first vehicle may be a vehicle serial number or a license plate number, etc.

[0083] A2, generating a public regeneration parameter and a second key based on a second biometric feature;

[0084] The method of generating the public regeneration parameter and the second key based on the second biometric feature can refer to the relevant description of the above second formula, which will not be repeated here.

[0085] A3, generating a first random number in a finite field of integers, and generating a second user tag based on the second account information, a public key generated by the first random number, a second password, and a second key;

[0086] For example, when a user registers with a trusted institution using a first vehicle, the user Select your own relevant information (i.e. second account information), custom password (i.e. second password) and biometrics (i.e., the second biometric feature) as input to the registration device (i.e., the smart device of the first vehicle), which is generate , and generate the first random number is used to calculate the user's unique tag (i.e., the second user tag). is the common regeneration parameter, is the second key, Represents a finite field of integers.

[0087] It should be noted that the method of generating the second user tag based on the second account information, the public key generated by the first random number, the second password and the second key is described in the following step S204 and will not be repeated here.

[0088] A4, generating a second random number in a finite field of integers, and using the second random number to generate a vehicle label of the first vehicle;

[0089] In this implementation, the product of the second random number and the generator of the preset elliptic curve is used as the generated vehicle label.

[0090] Among them, the preset elliptic curve is set when the trusted institution is initialized. When the trusted institution is initialized, a security parameter is selected And two secure prime numbers p and q, and construct the equation of the elliptic curve E as: , generator is composed of all the The additive group of points on The order in In addition, when the trusted institution is initialized, two numbers are randomly selected. as its master secret key and calculate the corresponding public key and , choose 6 hash functions The trusted authority publishes the system parameters as six randomly generated cryptographic hash functions , both the roadside unit and the vehicle can obtain the parameters published by the trusted institution. Represents a finite field of integers. There are 6 different hash functions, and different hash functions correspond to different numbers of input data or different types of data at each input position.

[0091] A5, sending the second account information, the vehicle identification, the second user tag and the vehicle tag to the trusted institution, so that the trusted institution generates a collective tag of the collective entity consisting of the user and the first vehicle by using the second user tag and the vehicle tag, and after allocating a public key and a private key to the first vehicle, records the currently received data and the generated data in the database, and sends the private key allocated for the first vehicle to the first vehicle;

[0092] Exemplarily, during the user registration phase, the user enters the first vehicle Vehicle identification The registered device generates a random number , and calculate ,Will As The registered device then sends { , , , }.according to{ , }, the trusted authority performs a series of calculations to obtain the user and the vehicle The collective entity The unique label (i.e., collective label) of ; and calculate two parameters: .in, Indicates the validity period of the second user tag and the validity period of the vehicle tag.

[0093] In order to Establish secure communication, the trusted institution is Public and private keys are distributed. Therefore, a trusted authority generates a random number , and calculate , .in, For vehicles The private key of For vehicles The public key of For this vehicle The trusted authority then stores { , , , , , , , } and send { , , } to the registered device. After receiving the information, the registered device will Preload secret message in TPD { , , , }.

[0094] A6. In response to receiving the private key assigned to the first vehicle, storing the generated public regeneration parameter and the first random number in the smart card.

[0095] When the private key assigned by the trusted institution to the first vehicle is received, it indicates that the user and the first vehicle are registered on the trusted institution. At this time, the generated public regeneration parameter and the first random number are stored in the smart card.

[0096] Accordingly, in this implementation, before executing the above step S202, the method further includes: when it is detected that the user inserts the smart card, reading the public regeneration parameter and the first random number from the smart card.

[0097] It is understood that the first random number generated when the user registers is stored on the user's smart card, so that when any vehicle of the user needs to communicate through the Internet of Vehicles, the first random number generated when the user registers can be obtained by inserting the smart card into the smart device of the vehicle. In addition, the public regeneration parameter is also stored in the smart card, so that when any vehicle of the user needs to communicate through the Internet of Vehicles, the first key can be calculated through the public regeneration parameter. After the user registration is completed, the smart card stores { , In this way, users only need one smart card to seamlessly switch access to the Internet of Vehicles on multiple vehicles, which simplifies users' access to the Internet of Vehicles and solves the problem of frequent switching between multiple smart cards.

[0098] S203, calculating a first user tag of the user based on the first account information, the first password, and the first key;

[0099] Optionally, in one implementation, the first account information, the first password, and the first key may be hash-encoded to obtain a first user tag.

[0100] Optionally, in another implementation, in order to further improve security, the first user tag of the user is calculated according to a third formula based on the first account information, the first password, the first key, and the first random number generated when the user registers; wherein the third formula is:

[0101] ;

[0102] in, is the first user tag, For the first account information, is the first password, is the first key, is the first random number generated when the user registers, P is the generator of the preset elliptic curve, Represents a hash code, Indicates splicing.

[0103] It can be understood that multiplying the random number and P can get the point on the elliptic curve. Given two points on the elliptic curve E and , find an integer Make It is very difficult to establish, so As an input of a hash function when calculating the first user tag, the security of the first user tag obtained by hash coding can be improved.

[0104] In addition, it should be noted that all calculation methods of parameters calculated using hash coding involved in the embodiments of the present application can also be replaced by other encoding methods that can uniquely map input data to unique output data, and the embodiments of the present application are not limited to this.

[0105] S204, calculating a first parameter based on the vehicle tag of the first vehicle, and calculating a second parameter based on the first user tag and the vehicle tag according to the first encoding method, and sending a first data group including the first parameter and the second parameter to a roadside unit currently associated with the first vehicle, so that the roadside unit calculates a third parameter according to the first encoding method using the received first parameter and the second parameter and the first public key generated when the roadside unit is registered on the trusted institution, and sending a second data group including the received first data group, the first public key and the third parameter to the trusted institution, so that the trusted institution calculates a fourth parameter according to the first encoding method using the received second data group, and calculating a fifth parameter according to the first encoding method based on the second user tag and the vehicle tag generated when the user is registered when the fourth parameter is the same as the received third parameter, and generating an original session key for communication between the first vehicle and the roadside unit based on the collective tag of the collective entity composed of the user and the first vehicle and the unit tag of the roadside unit when the fifth parameter is the same as the second parameter, calculating a sixth parameter based on the original session key and calculating a seventh parameter based on the second user tag and the vehicle tag according to the second encoding method, and sending a third data group including the sixth parameter and the seventh parameter to the first vehicle through the roadside unit;

[0106] In this embodiment, the vehicle tag of the first vehicle is a unique tag generated when the first vehicle is registered on a trusted institution, the second user tag generated when the user is registered is a unique tag generated when the user is registered on a trusted institution, and the unit tag of the roadside unit is a unique tag generated when the roadside unit is registered on a trusted institution. It can be understood that in actual applications, before implementing the three-factor authentication and key negotiation method for the Internet of Vehicles provided in the embodiment of the present application, the user, the vehicle, and the roadside unit all need to be registered on a trusted institution.

[0107] It is understandable that in order to be able to compare the first user tag generated in the key negotiation phase with the second user tag generated in the user registration phase to determine whether they are the same user, the method of calculating the first user tag needs to correspond to the method of calculating the second user tag when the user registers. For example, if the method of calculating the second user tag is: hash encoding the second account information, the second password, and the second key obtained when the user registers to obtain the second user tag; then, the method of calculating the first user tag is: hash encoding the first account information, the first password, and the first key in the same hash encoding method as when calculating the second user tag to obtain the first user tag. Correspondingly, if the first user tag is calculated in accordance with the third formula above, then the second user tag is calculated in accordance with the fourth formula, and the fourth formula is:

[0108] ;

[0109] in, is the second user tag, For the second account information, A random number generated when the user registers. is the second password, The second key, P is the generator of the elliptic curve, Represents a hash code, Indicates splicing.

[0110] It can be understood that when all vehicles of a user are registered with a trusted institution, the database of the trusted institution stores registration information of multiple collective entities, each collective entity represents a collection of a user and a vehicle, and the registration information of the collective entity includes a collective tag generated when the user and the vehicle are registered, the validity period of the second user tag of the user, the validity period of the vehicle tag of the vehicle, and the verification parameter assigned to the vehicle by the trusted institution; the verification parameter of each vehicle is calculated based on the vehicle tag of the vehicle using the sixth formula, and the sixth formula is: ;in, is the verification parameter of the jth vehicle, is the vehicle label of the jth vehicle, , is the private key assigned to the j-th vehicle by the trusted institution when the j-th vehicle is registered, P is the generator of the elliptic curve, A third random number generated by a trusted authority.

[0111] Accordingly, in this embodiment, the method of calculating the first parameter based on the vehicle tag of the vehicle may be to use the fifth formula, which is:

[0112] ;

[0113] in, is the first parameter, is the vehicle label of the first vehicle, a private key assigned to the first vehicle by a trusted authority when the first vehicle is registered, , is the third random number generated by the trusted institution, P is the generator of the preset elliptic curve, A fourth public key generated for a trusted authority.

[0114] It is understandable that after the vehicle is registered, the registration device will preload the secret message in the vehicle's TPD (Tamper-Proof Device) { , , , }, therefore, the first vehicle can calculate the first parameter according to the above fifth formula.

[0115] Optionally, in one implementation, the method of calculating the second parameter based on the first user tag and the vehicle tag according to the first encoding method may be: hash encoding the first user tag, the vehicle tag and the first parameter according to the first encoding method to obtain the second parameter, wherein the first encoding method is a hash encoding method that conforms to the number and data type of the input data.

[0116] Optionally, in another implementation, the first data group includes a first timestamp; time information may be added when calculating the second parameter, that is, the second parameter is calculated according to the first encoding method based on the first user tag, the vehicle tag, the first parameter and the first timestamp; the second parameter is expressed as:

[0117] ;

[0118] in, is the second parameter, is the first user tag, is the vehicle label, is the first parameter, is the first timestamp, Indicates the first encoding method based on hash coding.

[0119] In this implementation, after the first parameter and the second parameter are calculated, a first data group including the first parameter and the second parameter is sent to the roadside unit currently associated with the first vehicle. It can be understood that each roadside unit has a communication coverage area of ​​a certain range. If any vehicle is located within the communication coverage area of ​​a roadside unit at a certain moment, then the roadside unit is the roadside unit currently associated with the vehicle. It should be noted that when the first vehicle enters the communication coverage area corresponding to a roadside unit from outside the communication coverage area corresponding to the roadside unit at a certain moment, the original session key for communication between the first vehicle and the currently associated roadside unit can be negotiated so that a unique session key is generated when the first vehicle enters a new area, thereby protecting the Internet of Vehicles from penetration by malicious nodes. In addition, the generated original session key has a validity period. If the area is repeatedly entered within the validity period of the original session key corresponding to the new area, the original session key does not need to be regenerated.

[0120] In order to prevent the roadside unit from being repeatedly attacked, that is, receiving the same message sent at multiple different times, the first data group can also include a first timestamp, that is, the first data group is { , t1, }, so that after the roadside unit receives the first data group, it can first determine whether the first timestamp is valid, so as to execute the subsequent process if the first timestamp is valid. Otherwise, the process ends. It should be noted that since the first data group received by the roadside unit may be tampered with, the first data group received by the roadside unit in this application is represented by { , , }, if the data has not been tampered with, { , , }and{ , t1, }same.

[0121] Exemplarily, if the first timestamp indicates the sending time of the first data group, then after receiving the first data group, the roadside unit can determine whether the first timestamp is valid based on whether the difference between the current time and the received first timestamp is less than a preset threshold. The preset threshold can be set by relevant technical personnel based on experience, and the embodiments of the present application do not limit this. If the first timestamp indicates the time when the first data group is invalid, then after receiving the first data group, if the current time exceeds the first timestamp, the roadside unit determines that the first timestamp is invalid, otherwise the first timestamp is valid.

[0122] After receiving the first data group, the roadside unit calculates the third parameter according to the first encoding method using the received first parameter and second parameter and the first public key of the roadside unit, wherein the first public key of the roadside unit is allocated to the roadside unit by the trusted institution when the roadside unit is registered with the trusted institution.

[0123] Optionally, in one implementation, the registration process of the roadside unit on the trusted institution includes steps B1-B3:

[0124] B1, sending its own unit identification to the trusted institution, so that after receiving the unit identification, the trusted institution generates a seventh random number from a finite field of integers as a unit tag of the roadside unit;

[0125] B2, generating a validity period of the unit tag, generating a first public key and a first private key based on the unit tag, and sending the validity period of the unit tag, the first public key and the first private key to the roadside unit;

[0126] B3, in response to receiving the validity period, the first public key and the first private key of the unit tag, periodically broadcasts the validity period of the first public key and the unit tag so that vehicles within the communication coverage area of ​​the roadside unit can verify the messages sent by the roadside unit based on the received first public key and the validity period of the unit tag.

[0127] In this implementation, the unit identifier of the roadside unit is a unique serial number of the roadside unit.

[0128] During the registration phase of the roadside unit, the roadside unit The relevant information (i.e., unit identification) is provided to a trusted authority, which randomly selects a number (i.e. the seventh random number), and use this random number as The trusted authority generates the validity period of the unit tag and calculates As The public key of Private key (ie the first private key): .in, Indicates the validity period of the unit tag. The trusted authority sends the unit tag to the send . Complete the registration process and receive Afterwards Periodically broadcast to Managed area. The vehicles within the communication coverage area can be connected based on the received first public key and the validity period of the unit tag. It should be noted that the content of the vehicle verifying the message sent by the roadside unit based on the received first public key and the validity period of the unit tag can refer to the relevant description of the second verification formula in the following step S302, which will not be repeated here.

[0129] Optionally, in one implementation, the third parameter may be calculated directly using the first parameter and the second parameter and the first public key of the roadside unit in a first encoding manner, wherein the first encoding manner is a hash encoding manner that conforms to the number and data type of the input data.

[0130] Optionally, in another implementation, the second data group includes a second timestamp, and time information may be added when calculating the third parameter, that is, the third parameter is calculated according to the first encoding method using the received first parameter and second parameter, the first public key of the roadside unit, and the second timestamp; the third parameter is expressed as:

[0131] ;

[0132] in, is the third parameter, is the first parameter received by the roadside unit, is the second parameter received by the roadside unit, , is the unit label of the roadside unit, P is the generator of the preset elliptic curve, is the first public key, is the second timestamp, Indicates the first encoding method based on hash coding.

[0133] After the roadside unit calculates the third parameter, it sends a second data group including the received first data group, the first public key and the third parameter to the trusted institution. In order to prevent the trusted institution from being attacked repeatedly, that is, receiving the same message sent at multiple different times, the second data group can also include a second timestamp, that is, the second data group is { , , , , , }, so that after receiving the second data group, the trusted institution can first determine whether the second timestamp is valid, so as to execute the subsequent process if the second timestamp is valid. Otherwise, the process ends. Accordingly, the method for determining whether the second timestamp is valid can be the same as the method for determining whether the first timestamp is valid, which will not be repeated here. It should be noted that since the second data group received by the trusted institution may be tampered with, the second data group received by the trusted institution in this application is represented as { , , , , , }.

[0134] It is understandable that, after the user's multiple vehicles are registered, the trusted institution's database stores the registration information of multiple collective entities consisting of the user and multiple vehicles. For example, the registration information of the jth collective entity stored in the trusted institution's database is { , , , , , , , }. Then, according to the first parameter received , the verification parameters contained in it can be found from the database of the trusted institution For the first parameter The registration information of the first vehicle is used as the target registration information; if the current moment is within the validity period of the second user tag and the vehicle tag included in the target registration information, the registration information of the collective entity consisting of the user and the first vehicle is determined to be valid. represents the validity period of the second user tag and the validity period of the vehicle tag of the jth collective entity. It should be noted that if the verification parameters contained in the verification parameter cannot be found in the database of the trusted institution, The first parameter received The registration information indicates that the first parameter received by the trusted institution The data is tampered with, and the process ends at this time.

[0135] After determining that the registration information of the collective entity consisting of the user and the first vehicle is valid, the trusted institution calculates the fourth parameter using the received second data group according to the first encoding method. It can be understood that since the purpose of calculating the fourth parameter using the received second data group is to compare with the third parameter to determine whether the second data group has been tampered with, the method of calculating the fourth parameter needs to correspond to the method of calculating the third parameter.

[0136] For example, if the third parameter is calculated by directly using the received first parameter and second parameter and the first public key of the roadside unit, and calculating the third parameter according to the first encoding method, then the fourth parameter is calculated by using the first parameter and second parameter in the received second data group and the first public key, and calculating the fourth parameter according to the first encoding method. If the third parameter is: , then the trusted institution calculates the fourth parameter according to the thirteenth formula. The thirteenth formula is:

[0137] ;

[0138] in, is the fourth parameter, is the first parameter received by the trusted authority, The second parameter received by the trusted authority, is the first public key received by the trusted authority, The second timestamp received by the trusted authority.

[0139] It is understandable that if the fourth parameter is the same as the third parameter, it means that the data in the received second data group has not been tampered with. Then, the trusted institution can continue to use the second user tag and the vehicle tag to calculate the fifth parameter according to the first encoding method to verify the identity of the user, wherein the method of calculating the fifth parameter needs to correspond to the method of calculating the second parameter using the first user tag. If the second parameter is expressed as: , then use the seventh formula to calculate the fifth parameter, the seventh formula is:

[0140] ;

[0141] in, is the fifth parameter, is the second user tag, is the vehicle label, is the first parameter received by the trusted authority, is the first timestamp received by the trusted authority, Indicates the first encoding method.

[0142] It can be understood that the second user tag and vehicle tag used when calculating the fifth parameter are based on the received first parameter. , the verification parameters found in the database of the trusted institution For the first parameter The second user tag and vehicle tag in the registration information. On the basis of verifying that the second data group has not been tampered with by using the fourth parameter and the third parameter, if the fifth parameter calculated by the trusted institution and the second parameter received If the first vehicle sends the first data set to the roadside unit and the roadside unit sends the second data set to the trusted institution, the entire process is reliable, that is, the first data set received by the roadside unit and the second data set received by the trusted institution have not been tampered with. The second parameter calculated with the first vehicle If the first and second user tags are the same, then the second user tag is the same as the first user tag, and the user's identity can be determined to be legitimate. In addition, since the first and second user tags are calculated based on the user's account information, password, and biometrics, the accuracy of user identity authentication is improved. In addition, if the fifth parameter is different from the second parameter, or if the first parameter is received, , cannot be found in the database of the trusted institution and , the trusted institution ends the process to prevent unauthorized users from accessing the Internet of Vehicles.

[0143] After determining that the identity of the user is legitimate, the trusted institution generates a session key for communication between the first vehicle and the roadside unit based on the collective tag of the collective entity consisting of the user and the first vehicle and the unit tag of the roadside unit.

[0144] Optionally, in one implementation, a session key for communication between a vehicle and a roadside unit may be generated according to Formula 18; wherein Formula 18 is:

[0145] ;

[0146] in, is the original session key, For collective labels, is the sixth public key, is the eighth random number generated by the trusted institution, P is the generator of the preset elliptic curve, is the fifth public key, , The sixth random number generated by the trusted authority, is the unit label, Represents a hash code.

[0147] After calculating the original session key, the trusted institution calculates the sixth parameter based on the original session key and calculates the seventh parameter based on the second user tag and the vehicle tag in a second encoding manner.

[0148] Optionally, in one implementation, the trusted institution calculates the sixth parameter using an eighth formula, where the eighth formula is:

[0149] ;

[0150] in, is the sixth parameter, is the original session key, A third random number generated by a trusted authority, , is a private key assigned to the first vehicle by a trusted institution when the first vehicle is registered, and P is a generator of a preset elliptic curve.

[0151] Optionally, in one implementation, the third data group includes a third timestamp; the trusted institution calculates the seventh parameter using a tenth formula, and the tenth formula is:

[0152] ;

[0153] in, is the seventh parameter, is the second user tag, is the vehicle label, is the first public key received by the trusted authority, is the sixth parameter, is the third timestamp, Indicates the second encoding method based on hash encoding.

[0154] After calculating the sixth parameter and the seventh parameter, the trusted institution sends a third data group including the sixth parameter and the seventh parameter to the first vehicle through the roadside unit, so that after receiving the third data group, the first vehicle can verify the identity of the trusted institution based on the seventh parameter.

[0155] S205, in response to receiving the third data group, calculating an eighth parameter according to the second encoding method based on the first user tag and the vehicle tag;

[0156] In order to prevent the first vehicle from being attacked repeatedly, that is, receiving the same message sent at multiple different times, the third data group may also include a third timestamp, that is, the third data group is { , , }, so that after the first vehicle receives the third data group, it can first determine whether the third timestamp is valid, so that if the third timestamp is valid, the subsequent process is executed. Otherwise, the process ends. Accordingly, the method for determining whether the third timestamp is valid can be the same as the method for determining whether the first timestamp is valid, which will not be repeated here.

[0157] After determining that the third timestamp is valid, the eighth parameter is calculated based on the first user tag and the vehicle tag according to the second encoding method. Since the purpose of comparing the eighth parameter with the seventh parameter is to verify the identity of the trusted institution, the method for calculating the eighth parameter needs to correspond to the method for calculating the seventh parameter. Optionally, in one implementation, if the seventh parameter is calculated according to the tenth formula, the eighth parameter is expressed as:

[0158] ;

[0159] in, is the eighth parameter, is the first user tag, is the vehicle label, is the first public key broadcast by the roadside unit received by the first vehicle, is the sixth parameter received by the first vehicle, is the third timestamp received by the first vehicle, Indicates the second encoding method.

[0160] It should be noted that the parameters sent by the sender and the parameters received by the receiver, which are distinguished by adding "'" or "''" or "'''" in this application, are the same if the data has not been tampered with. For example, The sixth parameter calculated by the trusted authority, is the sixth parameter received by the first vehicle. If the data has not been tampered with, .

[0161] S206, if the eighth parameter is consistent with the received seventh parameter, the session key is calculated based on the received sixth parameter, and a public key group is generated based on the session key and sent to the roadside unit, so that the roadside unit verifies the message sent by the vehicle based on the received public key group; wherein the multiple public keys contained in the public key group are used to recover the original session key.

[0162] It is understandable that if the eighth parameter is consistent with the received seventh parameter, it indicates that the identity of the trusted institution is legitimate, and the session key can be calculated based on the received sixth parameter. Since the sixth parameter is calculated based on the original session key, the original session key can be restored based on the sixth parameter.

[0163] Optionally, when the sixth parameter is calculated according to the eighth formula, the original session key is calculated using a ninth formula based on the received sixth parameter; the ninth formula is:

[0164] ;

[0165] in, is the sixth parameter received by the first vehicle, is the original session key, a private key assigned to the first vehicle by a trusted authority when the first vehicle is registered, A fourth public key generated for a trusted authority.

[0166] After obtaining the original session key, the first vehicle generates a public key group of the first vehicle based on the original session key and sends it to the roadside unit, so that the roadside unit can subsequently verify the message sent by the first vehicle based on the public key group of the first vehicle. Since the public key group includes multiple public keys that can be used to recover the original session key, after receiving the message sent by the first vehicle, the roadside unit can send the public key group of the first vehicle to the trusted institution, so that the trusted institution can recover the original session key after receiving the public key group and compare it with the original session key generated by the trusted institution in advance for the communication between the first vehicle and the roadside unit. If the two are the same, it can be determined that the received message is legitimate.

[0167] Optionally, in an implementation manner, the public key group includes a second public key and a third public key, the second public key is calculated according to the eleventh formula, and the third public key is calculated according to the twelfth formula;

[0168] The eleventh formula is: ;

[0169] The twelfth formula is: ;

[0170] in, is a random number generated by the first vehicle, P is a generator of a preset elliptic curve, is the second public key, is the third public key, is the original session key, A fourth public key generated for a trusted authority.

[0171] Accordingly, in the present implementation, the roadside unit is used to send the received public key group to the trusted agency after receiving the message sent by the first vehicle, so that when the trusted agency determines that the session key to be verified calculated using the received public key group is the same as the original session key, the trusted agency sends a legal signal indicating that the message is legal to the roadside unit, and the roadside unit verifies the accuracy of the message sent by the first vehicle after receiving the legal signal.

[0172] The trusted institution determines whether the session key to be verified calculated using the public key group is the same as the original session key by judging whether the first verification formula is established;

[0173] The first verification formula is:

[0174] ;

[0175] in, is the received second public key; is the third public key received, A third random number generated by a trusted authority, Indicates the session key to be verified calculated using the public key group; is the original session key.

[0176] It should be noted that for the sake of clarity of the solution layout, in the following embodiment provided from the roadside unit side, the way in which the roadside unit verifies the accuracy of the message sent to the first vehicle after receiving the legal signal is introduced, and it will not be repeated here.

[0177] In the solution provided by the embodiment of the present application, since the fourth parameter is calculated by the trusted institution using the received second data group, if the fourth parameter is the same as the third parameter in the second data group, it means that the second data group has not been tampered with. At this time, the trusted institution uses the second user tag and vehicle tag generated when the user registers to calculate the fifth parameter according to the first encoding method. Since the second parameter is calculated by the first vehicle based on the first user tag and vehicle tag according to the first encoding method, and the fifth parameter is calculated by the trusted institution based on the second user tag and vehicle tag according to the first encoding method, if the fifth parameter is the same as the second parameter, it means that the tags of the user and the first vehicle are the same as those stored on the trusted institution, that is, the user and the vehicle are registered on the trusted institution, then the trusted institution can determine that the identity of the collective entity composed of the user and the first vehicle is legal. Then, the trusted institution generates the original session key for communication between the first vehicle and the roadside unit, and calculates the sixth parameter and the seventh parameter based on the original session key and sends them to the first vehicle. The first vehicle receives the third data group and calculates the eighth parameter. Since the eighth parameter is calculated based on the first user tag and the vehicle tag according to the first encoding method, and the seventh parameter is calculated based on the second user tag and the vehicle tag according to the first encoding method, if the eighth parameter is consistent with the seventh parameter, it means that the second user tag and the vehicle tag in the trusted institution are accurate, that is, the first vehicle can determine that the identity of the trusted institution is legal, and then the first vehicle completes the identity authentication of the trusted institution. Since the sixth parameter is calculated based on the original session key, the first vehicle can use the received sixth parameter to restore the original session key, and generate a public key group based on the original session key and send it to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group. It can be seen that since the identity of the collective entity composed of the user and the first vehicle is verified based on the user and vehicle tags during the session key negotiation, and the user tag is calculated based on the account information, password and biometrics, therefore, this solution supports three-factor authentication of user identity, custom parameters and vehicle identity, so that the identity of the device accessing the Internet of Vehicles can be accurately verified, thereby improving the security of data in the Internet of Vehicles.

[0178] And because the session key is calculated using the sixth parameter after the user verifies the legitimacy of the identity of the trusted institution, and the sixth parameter is calculated using the original session key generated after the trusted institution verifies the legitimacy of the user's identity, this solution can ensure the privacy of the original session key obtained by the first vehicle on the basis of accurately verifying the identity of the device accessing the Internet of Vehicles. This can improve the security of communication when the first vehicle subsequently communicates with the roadside unit, thereby improving the security of data in the Internet of Vehicles.

[0179] Optionally, in another embodiment of the present application, Figure 2 Based on the embodiment shown, Figure 3 As shown, the above-mentioned vehicle networking three-factor authentication and key negotiation method may also include steps S301-S302:

[0180] S301, in response to receiving a first message-signature tuple sent by a roadside unit, determining whether the received first signature is accurate based on the validity period of the unit tag of the roadside unit, the received unit identification and the first public key; wherein the first message-signature tuple includes the first message, the first signature, the first public key generated based on the unit tag of the roadside unit, and the unit identification of the roadside unit;

[0181] S302: If it is determined that the received first signature is accurate, the first message is received; otherwise, the first message is discarded.

[0182] In this embodiment, the first vehicle is also used to receive a first message-signature tuple sent by the roadside unit. The first message-signature tuple includes the first message , first signature , the first public key generated based on the unit tag of the roadside unit and unit identification for roadside units The first message may be traffic information such as road conditions, vehicle speeds, etc. collected by roadside units and uploaded by multiple vehicles.

[0183] Optionally, in one implementation, in order to prevent the first vehicle from being attacked repeatedly, that is, receiving the same message sent at multiple different times, the first message-signature tuple also includes a fourth timestamp indicating the sending time of the first message-signature tuple, so that after the first vehicle receives the first message-signature tuple, it can first determine whether the fourth timestamp is valid, and if the fourth timestamp is valid, execute the subsequent process. Otherwise, end the process. Accordingly, the method for determining whether the fourth timestamp is valid can be the same as the method for determining whether the first timestamp is valid, which will not be repeated here.

[0184] Optionally, in one implementation, based on the validity period of the unit tag of the roadside unit, the received unit identifier and the first public key, it is determined whether the second verification formula is established; if the second verification formula is established, it is determined that the received first signature is accurate; the second verification formula is:

[0185] ;

[0186] in, is the first signature received, P is the generator of the preset elliptic curve, , For the first news, is the first public key received, is the unit identifier of the received roadside unit, is the fourth timestamp received, , A random number generated for a roadside unit, The validity period of the unit label for the roadside unit, The fourth public key generated for the trusted authority, The fifth public key generated for the trusted authority, and Represents a hash code.

[0187] For example, when the roadside unit needs to send a message to the first vehicle, the roadside unit first signs the message to be transmitted to prevent the message from being tampered with during transmission. , calculate . And calculate According to the news and timestamp Generate signature The roadside unit then sends the first message-signature tuple Send to nearby vehicles.

[0188] It is understandable that if the first signature is accurate, then:

[0189] ;

[0190] That is, the above second verification formula holds.

[0191] After the first vehicle receives the first message-signature tuple, it compares the values ​​of the first expression and the second expression to determine whether the second verification formula is established. If the second verification formula is established, it means that the first signature is accurate, that is, the first message-signature tuple has not been tampered with. At this time, the first message in the first message-signature tuple is received, otherwise, the first message is discarded.

[0192] It can be seen that, through this solution, when it is determined that the first message has not been tampered with, the first message is received, and the security of the received message can be improved.

[0193] Based on the same inventive concept as the three-factor authentication and key negotiation method for the Internet of Vehicles provided from the first vehicle side, the embodiment of the present application also provides a three-factor authentication and key negotiation method for the Internet of Vehicles from the roadside unit side, which is applied to the roadside unit, such as Figure 4 As shown, steps S401-S404 are included:

[0194] S401, receiving a first data group including a first parameter and a second parameter sent by a first vehicle; wherein the first parameter is calculated based on a vehicle tag of the first vehicle, the second parameter is calculated based on a first user tag and a vehicle tag of a user associated with the first vehicle according to a first encoding method, and the first user tag is calculated based on first account information, a first password, and a first biometric feature uploaded by the user;

[0195] In this embodiment, the user associated with the vehicle is a user logged in on the smart device of the vehicle.

[0196] It should be noted that the calculation method of the first parameter and the second parameter can refer to the relevant description in the above-mentioned embodiment provided from the vehicle side, and the embodiment of the present application will not be repeated here.

[0197] S402, calculating a third parameter according to a first encoding method using the received first parameter and second parameter and a first public key generated when the roadside unit is registered;

[0198] Optionally, in one implementation, the first data group also includes a first timestamp. When the roadside unit determines that the received first timestamp is valid, the roadside unit calculates the third parameter according to the first encoding method using the received first parameter and second parameter and the first public key of the roadside unit. It should be noted that the method for calculating the third parameter can refer to the relevant description in the above-mentioned embodiment provided from the vehicle side, and the embodiment of the present application will not be repeated here.

[0199] S403, sending a second data group including the received first data group, the first public key and the third parameter to a trusted institution, so that the trusted institution calculates a fourth parameter according to the first encoding method using the received second data group, and calculates a fifth parameter according to the first encoding method based on the second user tag and the vehicle tag generated when the user is registered when the fourth parameter is the same as the third parameter, and generates an original session key for communication between the first vehicle and the roadside unit based on the collective tag of the collective entity composed of the user and the first vehicle and the unit tag of the roadside unit when the fifth parameter is the same as the second parameter, calculates a sixth parameter based on the original session key, and calculates a seventh parameter according to the second encoding method based on the second user tag and the vehicle tag, and sends a third data group including the sixth parameter and the seventh parameter to the first vehicle; so that the first vehicle calculates an eighth parameter according to the second encoding method based on the first user tag and the vehicle tag in response to receiving the third data group; if the eighth parameter is consistent with the seventh parameter, calculates the original session key based on the received sixth parameter, and generates a public key group based on the original session key and sends it to the roadside unit; wherein the multiple public keys included in the public key group are used to recover the original session key;

[0200] Optionally, in one implementation, the second data group further includes a second timestamp, so that the trusted institution determines whether the registration information of the user and the vehicle is valid according to the received first parameter when determining that the received second timestamp is valid, and calculates the fourth parameter according to the first encoding method using the received second data group when the registration information is valid;

[0201] Optionally, in one implementation, the third data group further includes a third timestamp, so that when the vehicle determines that the received third timestamp is valid, the vehicle calculates the eighth parameter based on the first user tag and the vehicle tag in accordance with the second encoding method.

[0202] It should be noted that the implementation method of step S403 can refer to the relevant description of steps S204-S206 in the above embodiment, and the embodiment of the present application will not go into details therein.

[0203] S404, in response to receiving a message sent by a vehicle, verifying the received message using a public key group corresponding to the vehicle from which the received message originates.

[0204] In this embodiment, after receiving a second message-signature tuple sent by any vehicle, the roadside unit can verify the second message-signature tuple using the public key group corresponding to the vehicle, or after receiving multiple second message-signature tuples, it can verify each second message-signature tuple using the public key group corresponding to the vehicle from which each received second message-signature tuple originated. That is, the roadside unit can verify the second message-signature tuples one by one, or verify multiple second message-signature tuples at the same time.

[0205] Optionally, in one implementation, in response to receiving a message sent by a vehicle in step S404, the received message is verified using a public key group corresponding to the vehicle from which the received message originates, including steps C1-C3:

[0206] C1, in response to receiving a second message-signature tuple sent by any vehicle, sends a public key group corresponding to the vehicle to a trusted institution, so that the trusted institution determines whether the session key to be verified calculated using the received public key group is accurate, and sends a legal signal indicating that the source of the second message-signature tuple is legal to the roadside unit when the session key to be verified is accurate; wherein the second message-signature tuple includes a second message, a second signature, and pseudonym information indicating a collective entity from which the second message-signature tuple originates, and each collective entity represents a collection of a user and a vehicle;

[0207] In this embodiment, the second message may be various types of perception data collected by the first vehicle, such as the geographic location, direction, driving speed, acceleration, temperature and humidity information, road traffic conditions, etc. of the first vehicle.

[0208] In order to prevent the roadside unit from being attacked repeatedly, that is, receiving the same message sent at multiple different times, the second message-signature tuple also includes a fifth timestamp indicating the validity of the second message, so that after the roadside unit receives the second message-signature tuple, it can first determine whether the fifth timestamp is valid, and if the fifth timestamp is valid, execute the subsequent process. Otherwise, end the process. Accordingly, the method for determining whether the fifth timestamp is valid can be the same as the method for determining whether the first timestamp is valid, which will not be repeated here.

[0209] For example, when a vehicle needs to upload a message to a roadside unit, the vehicle first signs the message to be transmitted to prevent the message from being tampered with during transmission. The vehicle can sign and verify the message by using the parameters obtained in the session key distribution phase and the parameters held in the TPD. Specifically, the vehicle selects a random number , and performs a series of calculations to generate pseudonymous information for the collective entity consisting of the vehicle and its associated users: .in, is the first element in the pseudonym information, is the second element in the pseudonym information. At the same time, two parameters to be used are calculated: , .in Indicates Message (i.e. the second message), To express The timestamp of the validity (ie, the fifth timestamp). Based on the above parameters, the vehicle's OBU sets a signature (ie, the second signature) , and send the message-signature tuple (i.e. the second message-signature tuple) To the roadside unit. It represents the operation modulo q on a finite field.

[0210] In response to receiving the second message-signature tuple sent by any vehicle, the roadside unit sends the public key group corresponding to the vehicle to the trusted agency. It can be understood that if the session key to be verified calculated by the trusted agency using the received public key group is the same as the original session key generated by the trusted agency for communication between the vehicle and the roadside unit associated with the vehicle, then the session key to be verified is accurate, which means that the source of the second message-signature tuple is legal. At this time, the trusted agency sends a legal signal to the roadside unit. It should be noted that the way in which the roadside unit determines whether the session key to be verified calculated using the received public key group is the same as the original session key generated by the trusted agency for communication between the vehicle and the roadside unit associated with the vehicle can refer to the relevant description of the first verification formula in the above step S206, and the embodiments of the present application will not repeat them.

[0211] C2, in response to receiving the legitimate signal, determining whether the received second signature is accurate based on the pseudonym information of the vehicle;

[0212] After receiving the legitimate signal, the roadside unit verifies the received second signature.

[0213] Optionally, in one implementation, whether a third verification formula is established is determined based on the pseudonym information of the vehicle; if the third verification formula is established, it is determined that the received second signature is accurate; the third verification formula is:

[0214] ;

[0215] in, is the first element in the received pseudonym information of the vehicle, Represents hash code; is the second signature received, is the second public key in the received public key group, P is the generator of the preset elliptic curve, , Indicates the second message received, is the second element in the received pseudonym information of the vehicle, is the fifth timestamp received, Represents a hash code, Indicates splicing.

[0216] It is understandable that due to , , so if the second signature is accurate, then: , that is, the third verification formula above holds.

[0217] C3: If it is determined that the received second signature is accurate, the second message is received; otherwise, the second message is discarded.

[0218] It can be understood that if it is determined that the received second signature is accurate, the second message-signature tuple has not been tampered with, and the second message is received at this time; otherwise, the second message is discarded.

[0219] Optionally, in another implementation, in order to improve the verification efficiency of multiple signatures, in response to receiving a message sent by a vehicle, the received message is verified using a public key group corresponding to the vehicle from which the received message originates, including steps D1-D3:

[0220] D1, using the second signatures carried in the multiple second message-signature tuples received in the current receiving period, calculate the first aggregate signature; wherein each second message-signature tuple includes the second message, the second signature, and the pseudonym information representing the collective entity from which the second message-signature tuple originates, and each collective entity represents a collection of a user and a vehicle;

[0221] In the embodiment of the present application, the cycle length of the receiving cycle can be set by relevant technicians based on experience, and the embodiment of the present application does not limit this. Exemplarily, the cycle length of the receiving cycle can be 1s, 2s, and so on.

[0222] Optionally, in one implementation, calculating the first aggregate signature using multiple second message-signature tuples received in the current receiving period includes:

[0223] The first aggregate signature is calculated according to the fourteenth formula using the second signatures carried in the multiple second message-signature tuples received in the current receiving cycle; the fourteenth formula is:

[0224] ;

[0225] in, For the first aggregate signature, represents the second signature carried in the j-th second message-signature tuple, j=1,2…n, and n is the number of second message-signature tuples received in the current receiving cycle; , is a random number generated by the roadside unit, and P is a generator of the preset elliptic curve; Represents a hash code.

[0226] D2, based on the first element in the pseudonym information carried in each second message-signature tuple, calculate the first parameter to be verified corresponding to each second message-signature tuple, and after determining that the first aggregate signature is accurate based on each first parameter to be verified, send the public key group corresponding to the vehicle from which each second message-signature tuple is derived to the trusted institution, so that the trusted institution determines whether the session key to be verified calculated using the public key group corresponding to any received vehicle is accurate, and after determining that the session key to be verified is accurate for any second message-signature tuple, send the legal signal corresponding to the second message-signature tuple to the roadside unit;

[0227] In order to prevent the roadside unit from being attacked repeatedly, that is, receiving the same message sent at multiple different times, each second message-signature tuple also includes a fifth timestamp indicating the validity of the second message in the second message-signature tuple, so that after the roadside unit receives multiple second message-signature tuples, it can first determine whether the fifth timestamps in the multiple second message-signature tuples are all valid, so as to calculate the first parameter to be verified corresponding to each second message-signature tuple when the fifth timestamps in the multiple second message-signature tuples are all valid. Otherwise, the process ends. Accordingly, the method of determining whether the fifth timestamp in each second message-signature tuple is valid can be the same as the method of determining whether the first timestamp is valid, which will not be repeated here.

[0228] Optionally, in one implementation, calculating the first parameter to be verified corresponding to each second message-signature tuple based on the first element in the pseudonym information carried in each second message-signature tuple includes:

[0229] Based on the first element in the pseudonym information carried in each second message-signature tuple, the first parameter to be verified corresponding to the second message-signature tuple is calculated according to the fifteenth formula; wherein the fifteenth formula is:

[0230] ;

[0231] is the first parameter to be verified corresponding to the j-th second message-signature tuple; is the first element in the pseudonym information in the jth second message-signature tuple, Represents a hash code.

[0232] Accordingly, on the basis that the first aggregate signature is calculated according to the fourteenth formula, the manner of determining the accuracy of the first aggregate signature based on each first parameter to be verified includes:

[0233] The second aggregate signature is calculated based on each first parameter to be verified according to the sixteenth formula. If the first aggregate signature and the second aggregate signature are the same, it is determined that the first aggregate signature is accurate. The sixteenth formula is:

[0234] ;

[0235] in, Sign the second aggregate, A random number generated for a roadside unit, Indicates the first parameter to be verified corresponding to the j-th second message-signature tuple, j=1,2…n, and n is the number of second message-signature tuples received in the current receiving cycle.

[0236] It is understandable that if there are multiple malicious nodes colluding to attack the Internet of Vehicles, at this time, since the signature in the second message-signature tuple sent by the malicious node among the multiple second message-signature tuples received is a false signature, then the calculated and are not equal, because the first aggregate signature and the second aggregate signature It is calculated by hash function, if it exists and If they are not equal, then the value calculated by the sixteenth formula is and The first aggregate signature verification fails. Then, the received message containing multiple second message-signature tuples sent by malicious nodes will be discarded. It can be seen that by ensuring the unforgeability of the aggregate signature, the security of the Internet of Vehicles can be ensured even in the case of coordinated attacks by multiple malicious nodes, thereby achieving anti-collusion attacks.

[0237] After determining that the first aggregate signature is accurate based on each first parameter to be verified, the public key group corresponding to the vehicle from which each second message-signature tuple originates is sent to the trusted institution, so that the trusted institution determines whether the session key to be verified calculated using the public key group corresponding to any vehicle received is accurate. If the session key to be verified is determined to be accurate for any second message-signature tuple, a legal signal corresponding to the second message-signature tuple is sent to the roadside unit. It should be noted that the method for determining whether the session key to be verified calculated using the public key group corresponding to any vehicle received is accurate can refer to the relevant description of the above step A1, which will not be repeated here.

[0238] D3, in response to receiving a legitimate signal corresponding to each of the multiple second message-signature tuples, calculate the second parameter to be verified corresponding to each second message-signature tuple, and verify whether the second signatures in the multiple second message-signature tuples are all accurate based on the second parameter to be verified, and when the second signatures in the multiple second message-signature tuples are all accurate, receive the second messages in the multiple second message-signature tuples; otherwise, discard the second messages in the multiple second message-signature tuples.

[0239] Exemplarily, if 10 second message-signature tuples are received in the current receiving cycle, in response to receiving the legal signals corresponding to the 10 second message-signature tuples respectively, the second parameter to be verified corresponding to each second message-signature tuple is calculated.

[0240] Optionally, in one implementation, calculating the second parameter to be verified corresponding to each second message-signature tuple includes:

[0241] Using the first message, pseudonym information, fifth timestamp, and the first public key in the public key group corresponding to the vehicle from which the second message-signature tuple originates, the second parameter to be verified corresponding to the second message-signature tuple is calculated according to the sixteenth formula; the sixteenth formula is:

[0242] ;

[0243] in, represents the second parameter to be verified corresponding to the j-th second message-signature tuple, represents the second message in the jth second message-signature tuple, is the first element in the pseudonym information in the jth second message-signature tuple, is the second element in the pseudonym information in the jth second message-signature tuple, is the second public key in the public key group corresponding to the vehicle from which the j-th second message-signature tuple originates, is the fifth timestamp in the jth second message-signature tuple, Represents a hash code, Indicates splicing;

[0244] Accordingly, in this implementation, verifying whether the second signatures in the plurality of second message-signature tuples are all accurate based on the second parameter to be verified includes:

[0245] Based on the second parameter to be verified, determining whether the second signatures in the plurality of second message-signature tuples are all accurate by judging whether both the fourth verification formula and the fifth verification formula are established;

[0246] The fourth verification formula is: ;

[0247] The fifth verification formula is: ;

[0248] in, is the second signature carried in the j-th second message-signature tuple, , is the random number generated by the roadside unit, P is the generator of the preset elliptic curve, is the first parameter to be verified corresponding to the j-th second message-signature tuple, , j=1,2…n, n is the number of second message-signature tuples received in the current receiving cycle, is the second parameter to be verified corresponding to the j-th second message-signature tuple, It is the second public key in the public key group corresponding to the vehicle from which the j-th second message-signature tuple received comes.

[0249] It can be understood that if the second signatures in the second message-signature tuple received in the current receiving cycle are all accurate, then ,and , that is, the fourth verification formula and the fifth verification formula mentioned above are established.

[0250] It can be seen that through this solution, since the fourth parameter is calculated by the trusted institution using the received second data group, if the fourth parameter is the same as the third parameter in the second data group, it means that the second data group has not been tampered with. At this time, the trusted institution uses the second user tag and vehicle tag generated when the user is registered to calculate the fifth parameter according to the first encoding method. Since the second parameter is calculated by the first vehicle based on the first user tag and vehicle tag according to the first encoding method, and the fifth parameter is calculated by the trusted institution based on the second user tag and vehicle tag according to the first encoding method, if the fifth parameter is the same as the second parameter, it means that the tags of the user and the first vehicle are the same as those stored on the trusted institution, that is, the user and the vehicle are registered on the trusted institution, then the trusted institution can determine that the identity of the collective entity composed of the user and the first vehicle is legal. Then, the trusted institution generates the original session key for communication between the first vehicle and the roadside unit, and calculates the sixth parameter and the seventh parameter based on the original session key and sends them to the first vehicle. The first vehicle receives the third data group and calculates the eighth parameter. Since the eighth parameter is calculated based on the first user tag and the vehicle tag according to the first encoding method, and the seventh parameter is calculated based on the second user tag and the vehicle tag according to the first encoding method, if the eighth parameter is consistent with the seventh parameter, it means that the second user tag and the vehicle tag in the trusted institution are accurate, that is, the first vehicle can determine that the identity of the trusted institution is legal, and then the first vehicle completes the identity authentication of the trusted institution. Since the sixth parameter is calculated based on the original session key, the first vehicle can use the received sixth parameter to restore the original session key, and generate a public key group based on the original session key and send it to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group. It can be seen that since the identity of the collective entity composed of the user and the first vehicle is verified based on the user and vehicle tags during the session key negotiation, and the user tag is calculated based on the account information, password and biometrics, therefore, this solution supports three-factor authentication of user identity, custom parameters and vehicle identity, so that the identity of the device accessing the Internet of Vehicles can be accurately verified, thereby improving the security of data in the Internet of Vehicles.

[0251] And because the session key is calculated using the sixth parameter after the user verifies the legitimacy of the identity of the trusted institution, and the sixth parameter is calculated using the original session key generated after the trusted institution verifies the legitimacy of the user's identity, this solution can ensure the privacy of the original session key obtained by the first vehicle on the basis of accurately verifying the identity of the device accessing the Internet of Vehicles. This can improve the security of communication when the first vehicle subsequently communicates with the roadside unit, thereby improving the security of data in the Internet of Vehicles.

[0252] Based on the same inventive concept as the three-factor authentication and key negotiation method for Internet of Vehicles provided from the first vehicle side, the embodiment of the present application also provides a three-factor authentication and key negotiation method for Internet of Vehicles from the trusted institution side, which is applied to a trusted institution, such as Figure 5 As shown, steps S501-S504 are included:

[0253] S501, in response to receiving a second data group sent by a roadside unit, using the received second data group to calculate a fourth parameter according to a first encoding method; wherein the second data group includes the first data group, a first public key generated when the roadside unit is registered, and a third parameter, the first data group is sent by the first vehicle to the roadside unit, the first data group includes a first parameter and a second parameter, the first parameter is calculated based on a vehicle tag of the first vehicle; the second parameter is calculated based on a first user tag and a vehicle tag of a user associated with the first vehicle according to the first encoding method, and the first user tag is calculated based on first account information, a first password, and a first biometric feature uploaded by the user; the third parameter is calculated based on the first parameter, the second parameter, and the first public key;

[0254] It should be noted that the method for calculating the fourth parameter can refer to the relevant content in the above step S204, and this embodiment of the present application will not be repeated here.

[0255] S502, when the fourth parameter is the same as the third parameter, calculating a fifth parameter according to the first encoding method based on the second user tag and the vehicle tag generated when the user is registered;

[0256] It should be noted that the method for calculating the fifth parameter can refer to the relevant content in the above step S204, and the embodiment of the present application will not go into details therein.

[0257] S503, when the fifth parameter is the same as the second parameter, generating an original session key for communication between the first vehicle and the roadside unit based on the collective tag of the collective entity formed by the user and the first vehicle and the unit tag of the roadside unit;

[0258] It should be noted that the method for generating the original session key for communication between the vehicle and the roadside unit can refer to the relevant content in the above step S204, and the embodiment of the present application will not be repeated here.

[0259] S504, calculate the sixth parameter based on the original session key and calculate the seventh parameter based on the second user tag and the vehicle tag according to the second encoding method, and send the third data group including the sixth parameter and the seventh parameter to the first vehicle through the roadside unit, so that the first vehicle receives the third data group, calculate the eighth parameter based on the first user tag and the vehicle tag according to the second encoding method, and when the eighth parameter is the same as the seventh parameter, calculate the original session key based on the received sixth parameter, and generate a public key group based on the original session key and send it to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group; wherein, the multiple public keys contained in the public key group are used to recover the original session key.

[0260] It should be noted that the method for calculating the sixth parameter and the seventh parameter can refer to the relevant content in the above step S204, and the embodiment of the present application will not be repeated. In addition, in this embodiment, the steps implemented by the vehicle and the roadside unit can refer to the above embodiments provided from the first vehicle side and the roadside unit side, and the embodiment of the present application will not be repeated.

[0261] It can be seen that through this solution, since the fourth parameter is calculated by the trusted institution using the received second data group, if the fourth parameter is the same as the third parameter in the second data group, it means that the second data group has not been tampered with. At this time, the trusted institution uses the second user tag and vehicle tag generated when the user is registered to calculate the fifth parameter according to the first encoding method. Since the second parameter is calculated by the first vehicle based on the first user tag and vehicle tag according to the first encoding method, and the fifth parameter is calculated by the trusted institution based on the second user tag and vehicle tag according to the first encoding method, if the fifth parameter is the same as the second parameter, it means that the tags of the user and the first vehicle are the same as those stored on the trusted institution, that is, the user and the vehicle are registered on the trusted institution, then the trusted institution can determine that the identity of the collective entity composed of the user and the first vehicle is legal. Then, the trusted institution generates the original session key for communication between the first vehicle and the roadside unit, and calculates the sixth parameter and the seventh parameter based on the original session key and sends them to the first vehicle. The first vehicle receives the third data group and calculates the eighth parameter. Since the eighth parameter is calculated based on the first user tag and the vehicle tag according to the first encoding method, and the seventh parameter is calculated based on the second user tag and the vehicle tag according to the first encoding method, if the eighth parameter is consistent with the seventh parameter, it means that the second user tag and the vehicle tag in the trusted institution are accurate, that is, the first vehicle can determine that the identity of the trusted institution is legal, and then the first vehicle completes the identity authentication of the trusted institution. Since the sixth parameter is calculated based on the original session key, the first vehicle can use the received sixth parameter to restore the original session key, and generate a public key group based on the original session key and send it to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group. It can be seen that since the identity of the collective entity composed of the user and the first vehicle is verified based on the user and vehicle tags during the session key negotiation, and the user tag is calculated based on the account information, password and biometrics, therefore, this solution supports three-factor authentication of user identity, custom parameters and vehicle identity, so that the identity of the device accessing the Internet of Vehicles can be accurately verified, thereby improving the security of data in the Internet of Vehicles.

[0262] And because the session key is calculated using the sixth parameter after the user verifies the legitimacy of the identity of the trusted institution, and the sixth parameter is calculated using the original session key generated after the trusted institution verifies the legitimacy of the user's identity, this solution can ensure the privacy of the original session key obtained by the first vehicle on the basis of accurately verifying the identity of the device accessing the Internet of Vehicles. This can improve the security of communication when the first vehicle subsequently communicates with the roadside unit, thereby improving the security of data in the Internet of Vehicles.

[0263] It can be seen that the present application supports three-factor authentication with user identity, user-defined parameters (i.e., password), and vehicle identity. The hybrid characteristics of the collective entity consisting of vehicles and users are incorporated into a unique key during the registration process and play an important role in the key negotiation process. In this case, whenever the collective entity of users and vehicles enters a new area, a unique session key is generated by the trusted authority to protect the Internet of Vehicles from penetration by malicious nodes. In addition, the present application supports flexible access control for complex scenarios, that is, it supports the unique function of flexible access control in complex scenarios, and seamlessly operates many vehicles with only one smart card, which simplifies the user's access to multiple vehicles and eliminates the need for frequent switching between multiple smart cards. In addition, the present application uses a hash function to verify the authenticity of the aggregate signature, thereby enhancing resilience to collusion attacks. Based on the elliptic curve discrete logarithm problem assumption and the random oracle model, it is unforgeable against collusion attacks.

[0264] Corresponding to the above-mentioned method embodiment provided from the vehicle side, the embodiment of the present application also provides a three-factor authentication and key negotiation device for Internet of Vehicles, which is applied to a first vehicle, such as Figure 6 As shown, the device comprises:

[0265] The first receiving module 610 is used to receive the first account information, the first password and the first biometric feature uploaded by the user;

[0266] A first calculation module 620, configured to calculate a first key of the user based on the first biometric feature and a pre-generated public regeneration parameter; wherein the public regeneration parameter is generated based on a second biometric feature input by the user through a vehicle when the user registers on a trusted institution;

[0267] A second calculation module 630, configured to calculate a first user tag of the user based on the first account information, the first password, and the first key;

[0268] The third calculation module 640 is used to calculate the first parameter based on the vehicle tag of the first vehicle, and calculate the second parameter based on the first user tag and the vehicle tag according to the first encoding method, and send a first data group containing the first parameter and the second parameter to the roadside unit currently associated with the first vehicle; so that the roadside unit uses the received first parameter and the second parameter and the first public key generated when the roadside unit is registered on the trusted institution to calculate the third parameter according to the first encoding method, and send a second data group containing the received first data group, the first public key and the third parameter to the trusted institution, so that the trusted institution uses the received second data group to calculate the third parameter according to the first encoding method. four parameters, and when the fourth parameter is the same as the received third parameter, based on the second user tag generated when the user is registered and the vehicle tag, calculate a fifth parameter according to the first encoding method, when the fifth parameter is the same as the second parameter, based on the collective tag of the collective entity composed of the user and the first vehicle and the unit tag of the roadside unit, generate an original session key for communication between the first vehicle and the roadside unit, calculate a sixth parameter based on the original session key and calculate a seventh parameter according to the second encoding method based on the second user tag and the vehicle tag, and send a third data group including the sixth parameter and the seventh parameter to the first vehicle through the roadside unit;

[0269] a fourth calculation module 650, configured to calculate an eighth parameter according to a second encoding method based on the first user tag and the vehicle tag in response to receiving the third data group;

[0270] The first verification module 660 is used to calculate the original session key based on the received sixth parameter if the eighth parameter is consistent with the received seventh parameter, and generate a public key group based on the original session key and send it to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group; wherein the multiple public keys contained in the public key group are used to recover the original session key.

[0271] Optionally, the first data group further includes a first timestamp, so that the roadside unit calculates a third parameter according to the first encoding method using the first parameter and the second parameter and the first public key when determining that the received first timestamp is valid;

[0272] and / or,

[0273] The second data group also includes a second timestamp, so that the trusted institution determines whether the registration information of the collective entity consisting of the user and the first vehicle is valid according to the first parameter when the received second timestamp is determined to be valid, and calculates the fourth parameter according to the first encoding method using the received second data group when the registration information is valid;

[0274] and / or,

[0275] The third data group also includes a third timestamp. When the first vehicle determines that the received third timestamp is valid, the first vehicle calculates an eighth parameter based on the first user tag and the vehicle tag in a second encoding manner.

[0276] Optionally, the first calculation module 620 is specifically configured to:

[0277] Based on the first biometric feature and the pre-generated public regeneration parameter, the first key of the user is calculated using a first formula; the first formula is:

[0278] ;

[0279] in, is the first key, is the first biometric feature, are pre-generated common regeneration parameters, is the reconstruction function in the fuzzy extractor.

[0280] The public regeneration parameter is calculated using a second formula based on a second biometric feature input by the user through the vehicle when registering on the trusted institution; the second formula is:

[0281] ;

[0282] in, is the common regeneration parameter, is the second biometric feature, is the generating function in the fuzzy extractor, The second key is generated based on the second biometric feature.

[0283] Optionally, the registration process of the user on the trusted institution includes:

[0284] When detecting that the user inserts the smart card, receiving the second account information, the second password, the second biometric feature, and the vehicle identification of the first vehicle uploaded by the user;

[0285] generating a public regeneration parameter and a second key based on the second biometric characteristic;

[0286] Generate a first random number in a finite field of integers, and generate a second user tag based on the second account information, a public key generated by using the first random number, the second password, and the second secret key;

[0287] generating a second random number within a finite field of integers, and generating a vehicle tag of the first vehicle using the second random number;

[0288] Sending the second account information, the vehicle identifier, the second user tag, and the vehicle tag to a trusted institution, so that the trusted institution generates a collective tag of a collective entity consisting of the user and the first vehicle using the second user tag and the vehicle tag, and after allocating a public key and a private key to the first vehicle, records the currently received data and the generated data in a database, and sends the private key allocated to the first vehicle to the first vehicle;

[0289] In response to receiving the private key assigned to the first vehicle, the generated public regeneration parameter and the first random number are stored to the smart card.

[0290] Optionally, the device further comprises:

[0291] The reading module is used to read the public regeneration parameter and the first random number from the smart card when it is detected that the user inserts the smart card before the first calculation module 620 calculates the first key of the user based on the first biometric feature and the pre-generated public regeneration parameter.

[0292] Optionally, the second calculation module 630 is specifically configured to:

[0293] Based on the first account information, the first password, the first key, and the first random number generated when the user registers, the first user tag of the user is calculated according to a third formula; the third formula is:

[0294] ;

[0295] in, is the first user tag, is the first account information, is the first password, is the first key, is the first random number generated when the user registers, P is the generator of the preset elliptic curve, Represents a hash code, Indicates splicing;

[0296] The second user tag is calculated using a fourth formula, and the fourth formula is:

[0297] ;

[0298] in, is the second user tag, For the second account information, is the first random number generated when the user registers, is the second password, is the second key, P is the generator of the elliptic curve, Represents a hash code, Indicates splicing.

[0299] Optionally, the third calculation module 640 is specifically configured to:

[0300] Based on the vehicle tag of the first vehicle, a first parameter is calculated using a fifth formula; the fifth formula is:

[0301] ;

[0302] in, is the first parameter, is the vehicle tag, a private key assigned to the first vehicle by a trusted institution when the first vehicle is registered, , is a third random number generated by the trusted institution, P is a generator of a preset elliptic curve, a fourth public key generated for the trusted authority;

[0303] The database of the trusted institution stores registration information of multiple collective entities, each collective entity represents a collection of a user and a vehicle, and the registration information of the collective entity includes a collective tag generated when the user and the vehicle are registered, the validity period of the second user tag of the user, the validity period of the vehicle tag of the vehicle, and the verification parameter assigned to the vehicle by the trusted institution; the verification parameter of each vehicle is calculated based on the vehicle tag of the vehicle using the sixth formula, and the sixth formula is: ;in, is the verification parameter of the jth vehicle, is the vehicle label of the jth vehicle, , is the private key assigned to the j-th vehicle by the trusted institution when the vehicle is registered, P is the generator of the elliptic curve, a third random number generated for the trusted authority;

[0304] The trusted organization is used to search the registration information whose verification parameter is the first parameter from the database according to the received first parameter, as the target registration information; if the current moment is within the validity period of the second user tag and vehicle tag included in the target registration information, it is determined that the registration information of the collective entity composed of the user and the first vehicle is valid.

[0305] Optionally, the first data group includes a first timestamp;

[0306] The third calculation module 640 is specifically used for:

[0307] Based on the first user tag, the vehicle tag, the first parameter and the first timestamp, a second parameter is calculated according to a first encoding method; the second parameter is expressed as:

[0308] ;

[0309] in, is the second parameter, is the first user tag, is the vehicle tag, is the first parameter, is the first timestamp, Indicates the first encoding method based on hash coding, Indicates splicing;

[0310] The trusted institution is used to calculate the fifth parameter according to the seventh formula; the seventh formula is:

[0311] ;

[0312] in, is the fifth parameter, is the second user tag, is the vehicle tag, is a first parameter received by the trusted authority, is the first timestamp received by the trusted authority, represents the first encoding method, Indicates splicing.

[0313] Optionally, the trusted institution is used to calculate the sixth parameter using an eighth formula, and the eighth formula is:

[0314] ;

[0315] in, is the sixth parameter, is the original session key, a third random number generated by the trusted authority, , is a private key assigned to the first vehicle by a trusted institution when the first vehicle is registered, and P is a generator of a preset elliptic curve;

[0316] The fourth calculation module 650 is specifically used for:

[0317] Based on the received sixth parameter, the original session key is calculated using a ninth formula; the ninth formula is:

[0318] ;

[0319] in, is the sixth parameter received by the first vehicle, is the original session key, a private key assigned to the first vehicle by a trusted institution when the first vehicle is registered, , is a third random number generated by the trusted institution, P is a generator of a preset elliptic curve, A fourth public key generated for the trusted authority.

[0320] Optionally, the third data group includes a third timestamp;

[0321] The trusted institution calculates the seventh parameter using the tenth formula; the tenth formula is:

[0322] ;

[0323] in, is the seventh parameter, is the second user tag, is the vehicle tag, is a first public key received by the trusted authority, is the sixth parameter, is the third timestamp, Indicates the second encoding method based on hash encoding. Indicates splicing;

[0324] The fourth calculation module 650 is specifically used for:

[0325] Based on the first user tag, the vehicle tag, the received first public key broadcast by the roadside unit, the received sixth parameter in the third data group, and the third timestamp, an eighth parameter is calculated according to the second encoding method; wherein the eighth parameter is expressed as:

[0326] ;

[0327] in, is the eighth parameter, is the first user tag, is the vehicle tag, a first public key broadcast by the roadside unit and received by the first vehicle, is the sixth parameter received by the first vehicle, is a third timestamp received by the first vehicle, represents the second encoding method, Indicates splicing.

[0328] Optionally, the public key group includes a second public key and a third public key, the second public key is calculated according to the eleventh formula, and the third public key is calculated according to the twelfth formula;

[0329] The eleventh formula is: ;

[0330] The twelfth formula is: ;

[0331] in, is a fourth random number generated for the first vehicle, P is a generator of a preset elliptic curve, is the second public key, is the third public key, is the original session key, , is a third random number generated by the trusted institution, P is a generator of a preset elliptic curve, a fourth public key generated for the trusted authority;

[0332] The roadside unit is used to send the received public key group to the trusted institution after receiving the message sent by the first vehicle, so that when the trusted institution determines that the session key to be verified calculated using the received public key group is the same as the original session key, the trusted institution sends a legal signal indicating that the message is legal to the roadside unit, and the roadside unit verifies the accuracy of the message sent by the first vehicle after receiving the legal signal; when the trusted institution determines that the first verification formula is established, it determines that the session key to be verified calculated using the public key group is the same as the original session key;

[0333] The first verification formula is:

[0334] ;

[0335] in, is the received second public key; is the third public key received, a third random number generated by the trusted authority, represents the session key to be verified calculated using the public key group; is the original session key.

[0336] Optionally, the device further comprises:

[0337] A first determination module, configured to determine whether the received first signature is accurate in response to receiving a first message-signature tuple sent by the roadside unit, based on the validity period of the unit tag of the roadside unit, the received unit identification of the roadside unit and a first public key; wherein the first message-signature tuple includes a first message, a first signature, the first public key and the unit identification of the roadside unit;

[0338] The second determination module is configured to receive the first message if it is determined that the received first signature is accurate, and otherwise discard the first message.

[0339] Optionally, the first message-signature tuple also includes a fourth timestamp indicating the sending time of the first message-signature tuple. When the first vehicle determines that the received fourth timestamp is valid, the first vehicle determines whether the received first signature is accurate based on the validity period of the unit tag of the roadside unit, the received unit identifier and the first public key.

[0340] Optionally, the first determining module is specifically configured to:

[0341] Determining whether a second verification formula holds true based on the validity period of the unit tag of the roadside unit, the received unit identifier, and the first public key; if the second verification formula holds true, determining that the received first signature is accurate;

[0342] The second verification formula is:

[0343] ;

[0344] in, is the first signature received, P is the generator of the preset elliptic curve, , is the first message received, is the first public key received, is the received unit identifier, is the fourth timestamp received, , a fifth random number generated for the roadside unit, the validity period of the unit label for the roadside unit, , is a third random number generated by the trusted institution, P is a generator of a preset elliptic curve, a fourth public key generated for the trusted authority, , a sixth random number generated by the trusted authority, a fifth public key generated for the trusted authority, and Represents a hash code, Indicates splicing.

[0345] Corresponding to the above-mentioned method embodiment provided from the roadside unit side, the embodiment of the present application also provides a three-factor authentication and key negotiation device for Internet of Vehicles, which is applied to the roadside unit, such as Figure 7 As shown, the device comprises:

[0346] The second receiving module 710 is used to receive a first data group including a first parameter and a second parameter sent by a first vehicle; wherein the first parameter is calculated based on a vehicle tag of the first vehicle, and the second parameter is calculated based on a first user tag of a user associated with the first vehicle and the vehicle tag according to a first coding method, and the first user tag is calculated based on first account information, a first password, and a first biometric feature uploaded by the user;

[0347] A fifth calculation module 720, configured to calculate a third parameter according to the first encoding method using the received first parameter and second parameter and the first public key generated when the roadside unit is registered;

[0348] The sixth calculation module 730 is used to send a second data group including the received first data group, the first public key and the third parameter to the trusted institution, so that the trusted institution calculates a fourth parameter according to the first encoding method using the received second data group, and calculates a fifth parameter according to the first encoding method based on the second user tag and the vehicle tag generated when the user registers when the fourth parameter is the same, and generates an original session key for communication between the first vehicle and the roadside unit based on the collective tag of the collective entity composed of the user and the first vehicle and the unit tag of the roadside unit when the fifth parameter is the same as the second parameter. key, calculating a sixth parameter based on the original session key and calculating a seventh parameter based on the second user tag and the vehicle tag in a second encoding manner, and sending a third data group including the sixth parameter and the seventh parameter to the first vehicle; so that the first vehicle, in response to receiving the third data group, calculates an eighth parameter based on the first user tag and the vehicle tag in a second encoding manner; if the eighth parameter is consistent with the seventh parameter, calculating the original session key based on the received sixth parameter, generating a public key group based on the original session key and sending it to the roadside unit; wherein the multiple public keys included in the public key group are used to recover the original session key;

[0349] The second verification module 740 is used to verify the received message using the public key group corresponding to the vehicle from which the received message comes, in response to receiving the message sent by the vehicle.

[0350] Optionally, the first data group further includes a first timestamp, and when the roadside unit determines that the received first timestamp is valid, the roadside unit calculates a third parameter according to the first encoding method using the received first parameter and second parameter and a first public key generated when the roadside unit is registered;

[0351] and / or,

[0352] The second data group further includes a second timestamp, so that the trusted institution determines whether the registration information of the user and the first vehicle is valid according to the received first parameter when determining that the received second timestamp is valid, and calculates the fourth parameter according to the first encoding method using the received second data group when the registration information is valid;

[0353] and / or,

[0354] The third data group also includes a third timestamp, so that the first vehicle calculates an eighth parameter according to the second encoding method based on the first user tag and the vehicle tag when the first vehicle determines that the received third timestamp is valid.

[0355] Optionally, the second data group includes a second timestamp;

[0356] The fifth calculation module 720 is specifically used for:

[0357] The third parameter is calculated according to the first encoding method using the received first parameter and second parameter, the first public key generated when the roadside unit is registered, and the second timestamp; the third parameter is expressed as:

[0358] ;

[0359] in, is the third parameter, is the first parameter received by the roadside unit, is the second parameter received by the roadside unit, , is the unit label of the roadside unit, P is the generator of the preset elliptic curve, is the first public key, is the second timestamp, Indicates the first encoding method based on hash coding, Indicates splicing;

[0360] The trusted institution is used to calculate the fourth parameter according to the thirteenth formula; the thirteenth formula is:

[0361] ;

[0362] in, is the fourth parameter, is a first parameter received by the trusted authority, is a second parameter received by the trusted authority, is a first public key received by the trusted authority, is a second timestamp received by the trusted authority, represents the first encoding method, Indicates splicing.

[0363] Optionally, the second verification module 740 includes:

[0364] A first verification submodule is used for, in response to receiving a second message-signature tuple sent by any vehicle, sending a public key group corresponding to the vehicle to a trusted institution, so that the trusted institution determines whether the session key to be verified calculated using the received public key group is accurate, and when the session key to be verified is accurate, sending a legal signal to the roadside unit indicating that the source of the second message-signature tuple is legal; wherein the second message-signature tuple includes a second message, a second signature, and pseudonym information indicating a collective entity from which the second message-signature tuple originates, and each collective entity represents a collection of a user and a vehicle;

[0365] a first determination submodule, configured to determine whether the received second signature is accurate based on the pseudonym information of the vehicle in response to receiving the legal signal;

[0366] The second determination submodule is configured to receive the second message if it is determined that the received second signature is accurate, and otherwise discard the second message.

[0367] Optionally, the second message-signature tuple also includes a fifth timestamp indicating the validity of the second message. When the roadside unit determines that the fifth timestamp is valid, the roadside unit sends the received public key group corresponding to the vehicle to the trusted organization.

[0368] Optionally, the first determining submodule is specifically configured to:

[0369] determining whether a third verification formula is established based on the pseudonym information of the vehicle; if the third verification formula is established, determining that the received second signature is accurate;

[0370] The third verification formula is:

[0371] ;

[0372] in, is the first element in the received pseudonym information of the vehicle, Represents hash code; is the second signature received, is the received second public key, P is the generator of the preset elliptic curve, , Indicates the second message received, is the second element in the received pseudonym information of the vehicle, is the fifth timestamp received, Represents a hash code, Indicates splicing.

[0373] Optionally, the second verification module 740 includes:

[0374] The aggregate signature submodule is used to calculate the first aggregate signature using the second signatures carried in the multiple second message-signature tuples received in the current receiving cycle; wherein each second message-signature tuple includes the second message, the second signature, and the pseudonym information of the collective entity from which the second message-signature tuple originates, and each collective entity represents a collection of a user and a vehicle;

[0375] A calculation submodule, configured to calculate a first parameter to be verified corresponding to each second message-signature tuple based on a first element in the pseudonym information carried in each second message-signature tuple, and after determining that the first aggregate signature is accurate based on each first parameter to be verified, send a public key group corresponding to the vehicle from which each second message-signature tuple originates to a trusted institution, so that the trusted institution determines whether a session key to be verified calculated using the public key group corresponding to any received vehicle is accurate, and after determining that the session key to be verified is accurate for any second message-signature tuple, send a legal signal corresponding to the second message-signature tuple to the roadside unit;

[0376] The second verification submodule is used to calculate the second parameter to be verified corresponding to each second message-signature tuple in response to receiving the legitimate signal corresponding to each of the multiple second message-signature tuples, and verify whether the second signatures in the multiple second message-signature tuples are all accurate based on the second parameter to be verified, and receive the second messages in the multiple second message-signature tuples when the second signatures in the multiple second message-signature tuples are all accurate; otherwise, discard the second messages in the multiple second message-signature tuples.

[0377] Optionally, each second message-signature tuple also includes a fifth timestamp indicating the validity of the second message in the second message-signature tuple; when the fifth timestamps in the multiple second message-signature tuples are all valid, the roadside unit calculates the first parameter to be verified corresponding to each second message-signature tuple.

[0378] Optionally, the aggregate signature submodule is specifically used to:

[0379] Using the second signatures carried in the multiple second message-signature tuples received in the current receiving period, the first aggregate signature is calculated according to the fourteenth formula; the fourteenth formula is:

[0380] ;

[0381] in, Sign the first aggregate, represents the second signature carried in the j-th second message-signature tuple, j=1,2…n, and n is the number of second message-signature tuples received in the current receiving cycle; , A random number generated for the roadside unit, where P is a generator of a preset elliptic curve; Represents a hash code, Indicates splicing;

[0382] The computing submodule is specifically used for:

[0383] Based on the first element in the pseudonym information carried in each second message-signature tuple, the first parameter to be verified corresponding to the second message-signature tuple is calculated according to the fifteenth formula; wherein the fifteenth formula is:

[0384] ;

[0385] is the first parameter to be verified corresponding to the j-th second message-signature tuple; is the first element in the pseudonym information in the jth second message-signature tuple, Represents hash code;

[0386] The second aggregate signature is calculated based on each first parameter to be verified according to the sixteenth formula. If the first aggregate signature is the same as the second aggregate signature, it is determined that the first aggregate signature is accurate. The sixteenth formula is:

[0387] ;

[0388] in, Sign the second aggregate, a random number generated for the roadside unit, represents the first parameter to be verified corresponding to the j-th second message-signature tuple, j=1,2…n, n is the number of second message-signature tuples received in the current receiving cycle, Indicates splicing.

[0389] Optionally, the second verification submodule is specifically used to:

[0390] Using the first message, pseudonym information, fifth timestamp, and the first public key in the public key group corresponding to the vehicle from which the second message-signature tuple originates, calculate the second parameter to be verified corresponding to the second message-signature tuple according to the sixteenth formula;

[0391] The sixteenth formula is:

[0392] ;

[0393] in, represents the second parameter to be verified corresponding to the j-th second message-signature tuple, represents the second message in the jth second message-signature tuple, is the first element in the pseudonym information in the jth second message-signature tuple, is the second element in the pseudonym information in the jth second message-signature tuple, is the second public key in the public key group corresponding to the vehicle from which the j-th second message-signature tuple originates, is the fifth timestamp in the jth second message-signature tuple, Represents a hash code, Indicates splicing;

[0394] Based on the second parameter to be verified, determining whether the second signatures in the plurality of second message-signature tuples are all accurate by judging whether both the fourth verification formula and the fifth verification formula are established;

[0395] The fourth verification formula is: ;

[0396] The fifth verification formula is: ;

[0397] in, is the second signature carried in the j-th second message-signature tuple, , is a random number generated by the roadside unit, P is a generator of a preset elliptic curve, is the first parameter to be verified corresponding to the j-th second message-signature tuple, , j=1,2…n, n is the number of second message-signature tuples received in the current receiving cycle, is the second parameter to be verified corresponding to the j-th second message-signature tuple, It is the second public key in the public key group corresponding to the vehicle from which the j-th second message-signature tuple received comes.

[0398] Optionally, the registration process of the roadside unit on the trusted institution includes:

[0399] Sending its own unit identification to a trusted institution, so that after receiving the unit identification, the trusted institution generates a seventh random number from a finite field of integers as a unit tag of the roadside unit;

[0400] generating a validity period of the unit tag, generating a first public key and a first private key based on the unit tag, and sending the validity period of the unit tag, the first public key and the first private key to the roadside unit;

[0401] In response to receiving the validity period of the unit tag, the first public key and the first private key, the first public key and the validity period of the unit tag are periodically broadcast so that vehicles within the communication coverage area of ​​the roadside unit can verify the messages sent by the roadside unit based on the received first public key and the validity period of the unit tag.

[0402] Corresponding to the above method embodiment provided from the trusted institution side, the present application embodiment also provides a three-factor authentication and key negotiation device for Internet of Vehicles, which is applied to a trusted institution, such as Figure 8 As shown, the device comprises:

[0403] The seventh calculation module 810 is used to calculate the fourth parameter according to the first encoding method using the received second data group in response to receiving the second data group sent by the roadside unit; wherein the second data group includes the first data group, the first public key generated when the roadside unit is registered, and the third parameter, the first data group is sent to the roadside unit by the first vehicle, the first data group includes the first parameter and the second parameter, the first parameter is calculated based on the vehicle tag of the first vehicle; the second parameter is calculated based on the first user tag of the user associated with the first vehicle and the vehicle tag according to the first encoding method, the first user tag is calculated based on the first account information, the first password and the first biometric feature uploaded by the user; the third parameter is calculated based on the first parameter, the second parameter and the first public key;

[0404] an eighth calculation module 820, configured to calculate a fifth parameter according to the first encoding method based on the second user tag generated when the user registers and the vehicle tag when the fourth parameter is the same as the third parameter;

[0405] A generating module 830, configured to generate an original session key for communication between the first vehicle and the roadside unit based on a collective tag of a collective entity formed by the user and the first vehicle and a unit tag of the roadside unit when the fifth parameter is the same as the second parameter;

[0406] The third verification module 840 is used to calculate the sixth parameter based on the original session key and calculate the seventh parameter based on the second user tag and the vehicle tag according to the second encoding method, and send the third data group including the sixth parameter and the seventh parameter to the first vehicle through the roadside unit, so that the first vehicle receives the third data group, calculates the eighth parameter based on the first user tag and the vehicle tag according to the second encoding method, and when the eighth parameter is the same as the seventh parameter, calculates the original session key based on the received sixth parameter, and generates a public key group based on the original session key and sends it to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group; wherein the multiple public keys contained in the public key group are used to recover the original session key.

[0407] Optionally, the second data group further includes a second timestamp, and the trusted institution determines whether the registration information of the user and the first vehicle is valid according to the first parameter when determining that the received second timestamp is valid, and calculates a fourth parameter according to the first encoding method using the received second data group when the registration information is valid;

[0408] and / or,

[0409] The third data group also includes a third timestamp, so that the first vehicle calculates an eighth parameter according to the second encoding method based on the first user tag and the vehicle tag when the first vehicle determines that the received third timestamp is valid.

[0410] Optionally, the second data group includes a second timestamp;

[0411] The seventh calculation module 810 is specifically used for:

[0412] The fourth parameter is calculated using the received second data set according to the thirteenth formula; the thirteenth formula is:

[0413] ;

[0414] in, is the fourth parameter, is a first parameter received by the trusted authority, is a second parameter received by the trusted authority, is a first public key received by the trusted authority, is a second timestamp received by the trusted authority, Indicates the second encoding method based on hash encoding. Indicates splicing.

[0415] Optionally, the eighth calculation module 820 is specifically configured to:

[0416] Based on the second user tag generated when the user registers and the vehicle tag, the fifth parameter is calculated according to the seventh formula; the seventh formula is:

[0417] ;

[0418] in, is the fifth parameter, is the second user tag, is the vehicle tag, is a first parameter received by the trusted authority, is the first timestamp received by the trusted authority, represents the first encoding method, Indicates splicing.

[0419] Optionally, the collective label is calculated according to the seventeenth formula, and the seventeenth formula is:

[0420] ;

[0421] in, is the collective label, is the second user tag, is the vehicle tag, a sixth random number generated by the trusted authority, is the validity period of the second user tag and the vehicle tag, Indicates the fifth encoding method based on hash coding. Indicates splicing;

[0422] and / or,

[0423] The generating module 830 is specifically used for:

[0424] Based on the collective tag of the collective entity formed by the user and the first vehicle, the unit tag, the fifth public key and the sixth public key generated by the trusted institution, an original session key for communication between the first vehicle and the roadside unit is generated according to the eighteenth formula; wherein the eighteenth formula is:

[0425] ;

[0426] in, is the original session key, is the collective label, , a sixth random number generated by the trusted authority, is the fifth public key, is the sixth public key, is an eighth random number generated by the trusted institution, P is a generator of a preset elliptic curve, is the unit label, Represents a hash code, Indicates splicing.

[0427] In the technical solution of the present application, the account information, passwords, biometrics, vehicle identification and other data involved are obtained when the user can perceive them and with the user's explicit consent, and the storage, use, processing, transmission, provision and disclosure of the account information, passwords, biometrics, vehicle identification and other data involved are all carried out with the user's authorization.

[0428] The present application also provides an electronic device, such as Fig. 9 As shown, including:

[0429] Memory 901, used for storing computer programs;

[0430] The processor 902 is used to implement the steps of any of the above-mentioned three-factor authentication and key negotiation methods for Internet of Vehicles when executing the program stored in the memory 901.

[0431] Furthermore, the electronic device may further include a communication bus and / or a communication interface, and the processor 902, the communication interface, and the memory 901 communicate with each other via the communication bus.

[0432] The communication bus mentioned in the above electronic device can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0433] The communication interface is used for communication between the above electronic device and other devices.

[0434] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.

[0435] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0436] In another embodiment provided in the present application, a computer-readable storage medium is also provided, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned three-factor authentication and key negotiation methods for the Internet of Vehicles are implemented.

[0437] In another embodiment provided in the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any of the three-factor authentication and key negotiation methods for Internet of Vehicles in the above-mentioned embodiments.

[0438] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that can be accessed by the computer or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a solid-state hard disk (SSD), etc.

[0439] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants 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, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0440] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device, electronic device, computer-readable storage medium, and computer program product embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.

[0441] The above are only preferred embodiments of the present application and are not intended to limit the protection scope of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application are included in the protection scope of the present application.

Claims

1. A three-factor authentication and key negotiation method for Internet of Vehicles, characterized in that: Applied to a first vehicle, the method comprises: Receiving first account information, a first password, and a first biometric characteristic uploaded by a user; Calculating a first key of the user based on the first biometric feature and a pre-generated public regeneration parameter; wherein the public regeneration parameter is generated based on a second biometric feature input by the user through a vehicle when the user registers on a trusted institution; Calculate a first user tag of the user based on the first account information, the first password, and the first key; Calculate a first parameter based on the vehicle tag of the first vehicle, and calculate a second parameter based on the first user tag and the vehicle tag according to a first encoding method, and send a first data group containing the first parameter and the second parameter to a roadside unit currently associated with the first vehicle, so that the roadside unit uses the received first parameter and the second parameter and a first public key generated when the roadside unit is registered on a trusted institution to calculate a third parameter according to the first encoding method, and send a second data group containing the received first data group, the first public key and the third parameter to a trusted institution, so that the trusted institution uses the received second data group to calculate a fourth parameter according to the first encoding method, and calculate a fifth parameter according to the first encoding method based on the second user tag generated when the user is registered and the vehicle tag when the fourth parameter is the same as the received third parameter, and generate an original session key for communication between the first vehicle and the roadside unit based on the collective tag of the collective entity formed by the user and the first vehicle and the unit tag of the roadside unit when the fifth parameter is the same as the second parameter, calculate a sixth parameter based on the original session key, and calculate a seventh parameter based on the second user tag and the vehicle tag according to the second encoding method, and send a third data group containing the sixth parameter and the seventh parameter to the first vehicle through the roadside unit; In response to receiving the third data group, calculating an eighth parameter based on the first user tag and the vehicle tag in a second encoding manner; If the eighth parameter is consistent with the received seventh parameter, the original session key is calculated based on the received sixth parameter, and a public key group is generated based on the original session key and sent to the roadside unit, so that the roadside unit verifies the message sent by the first vehicle based on the received public key group; wherein the multiple public keys contained in the public key group are used to recover the original session key.

2. The method according to claim 1, characterized in that The calculating the first key of the user based on the first biometric feature and a pre-generated public regeneration parameter includes: Based on the first biometric feature and the pre-generated public regeneration parameter, the first key of the user is calculated using a first formula; the first formula is: ; in, is the first key, is the first biometric feature, are pre-generated common regeneration parameters, is the reconstruction function in the fuzzy extractor; The public regeneration parameter is calculated using a second formula based on a second biometric feature input by the user through the vehicle when registering on the trusted institution; the second formula is: ; in, is the common regeneration parameter, is the second biometric feature, is the generating function in the fuzzy extractor, A second key generated based on a second biometric feature; The registration process of the user on the trusted institution includes: When detecting that the user inserts the smart card, receiving the second account information, the second password, the second biometric feature, and the vehicle identification of the first vehicle uploaded by the user; generating a public regeneration parameter and a second key based on the second biometric characteristic; Generate a first random number in a finite field of integers, and generate a second user tag based on the second account information, a public key generated by using the first random number, the second password, and the second secret key; generating a second random number within a finite field of integers, and generating a vehicle tag of the first vehicle using the second random number; Sending the second account information, the vehicle identifier, the second user tag, and the vehicle tag to a trusted institution, so that the trusted institution generates a collective tag of a collective entity consisting of the user and the first vehicle using the second user tag and the vehicle tag, and after allocating a public key and a private key to the first vehicle, records the currently received data and the generated data in a database, and sends the private key allocated to the first vehicle to the first vehicle; In response to receiving the private key assigned to the first vehicle, the generated public regeneration parameter and the first random number are stored to the smart card.

3. The method according to claim 2, characterized in that Before calculating the first key of the user based on the first biometric feature and the pre-generated public regeneration parameter, the method further includes: When it is detected that the user inserts a smart card, reading the public regeneration parameter and the first random number from the smart card; The calculating the first user tag of the user based on the first account information, the first password, and the first key includes: Based on the first account information, the first password, the first key, and the first random number generated when the user registers, the first user tag of the user is calculated according to a third formula; the third formula is: ; in, is the first user tag, is the first account information, is the first password, is the first key, is the first random number generated when the user registers, P is the generator of the preset elliptic curve, Represents a hash code, Indicates splicing; The second user tag is calculated using a fourth formula, and the fourth formula is: ; in, is the second user tag, For the second account information, is the first random number generated when the user registers, is the second password, is the second key, P is the generator of the elliptic curve, Represents a hash code, Indicates splicing.

4. The method according to claim 1, characterized in that The calculating a first parameter based on the vehicle tag of the first vehicle comprises: Based on the vehicle tag of the first vehicle, a first parameter is calculated using a fifth formula; the fifth formula is: ; in, is the first parameter, is the vehicle tag, a private key assigned to the first vehicle by a trusted institution when the first vehicle is registered, , is a third random number generated by the trusted institution, P is a generator of a preset elliptic curve, a fourth public key generated for the trusted authority; The database of the trusted institution stores registration information of multiple collective entities, each collective entity represents a collection of a user and a vehicle, and the registration information of the collective entity includes a collective tag generated when the user and the vehicle are registered, the validity period of the second user tag of the user, the validity period of the vehicle tag of the vehicle, and the verification parameter assigned to the vehicle by the trusted institution; the verification parameter of each vehicle is calculated based on the vehicle tag of the vehicle using the sixth formula, and the sixth formula is: ;in, is the verification parameter of the jth vehicle, is the vehicle label of the jth vehicle, , is the private key assigned to the j-th vehicle by the trusted institution when the vehicle is registered, P is the generator of the elliptic curve, a third random number generated for the trusted authority; The trusted institution is used to search the database for registration information whose verification parameter is the first parameter according to the received first parameter, as target registration information; if the current moment is within the validity period of the second user tag and the vehicle tag included in the target registration information, then determine that the registration information of the collective entity composed of the user and the first vehicle is valid; and / or, The trusted institution is used to calculate the sixth parameter using the eighth formula, and the eighth formula is: ;in, is the sixth parameter, is the original session key, a third random number generated by the trusted authority, , is a private key assigned to the first vehicle by a trusted institution when the first vehicle is registered, and P is a generator of a preset elliptic curve; the calculating the original session key based on the received sixth parameter comprises: calculating the original session key based on the received sixth parameter using a ninth formula; the ninth formula is: ;in, is the sixth parameter received by the first vehicle, is the original session key, a private key assigned to the first vehicle by a trusted institution when the first vehicle is registered, , is a third random number generated by the trusted institution, P is a generator of a preset elliptic curve, a fourth public key generated for the trusted authority; and / or, The public key group includes a second public key and a third public key, wherein the second public key is calculated according to the eleventh formula, and the third public key is calculated according to the twelfth formula; the eleventh formula is: ; The twelfth formula is: ;in, is a fourth random number generated for the first vehicle, P is a generator of a preset elliptic curve, is the second public key, is the third public key, is the original session key, , is a third random number generated by the trusted institution, P is a generator of a preset elliptic curve, a fourth public key generated by the trusted institution; the roadside unit is used to send the received public key group to the trusted institution after receiving the message sent by the first vehicle, so that when the trusted institution determines that the session key to be verified calculated using the received public key group is the same as the original session key, the trusted institution sends a legal signal indicating that the message is legal to the roadside unit, and the roadside unit verifies the accuracy of the message sent by the first vehicle after receiving the legal signal; when the trusted institution determines that the first verification formula is established, it determines that the session key to be verified calculated using the public key group is the same as the original session key; the first verification formula is: ;in, is the received second public key; is the third public key received, a third random number generated by the trusted authority, represents the session key to be verified calculated using the public key group; is the original session key; and / or, The method also includes: in response to receiving a first message-signature tuple sent by the roadside unit, determining whether the received first signature is accurate based on the validity period of the unit tag of the roadside unit, the received unit identification and the first public key; wherein the first message-signature tuple includes the first message, the first signature, the first public key and the unit identification of the roadside unit; if it is determined that the received first signature is accurate, receiving the first message, otherwise, discarding the first message.

5. The method according to claim 4, characterized in that The first data group includes a first timestamp; when the roadside unit determines that the received first timestamp is valid, the roadside unit calculates a third parameter according to the first encoding method using the first parameter and the second parameter and the first public key; In the case where the first parameter is calculated using the fifth formula, the second parameter is calculated based on the first user tag and the vehicle tag in a first encoding manner, including: Based on the first user tag, the vehicle tag, the first parameter and the first timestamp, a second parameter is calculated according to a first encoding method; the second parameter is expressed as: ; in, is the second parameter, is the first user tag, is the vehicle tag, is the first parameter, is the first timestamp, Indicates the first encoding method based on hash coding, Indicates splicing; The trusted institution is used to calculate the fifth parameter according to the seventh formula; the seventh formula is: ; in, is the fifth parameter, is the second user tag, is the vehicle tag, is a first parameter received by the trusted authority, is the first timestamp received by the trusted authority, represents the first encoding method, Indicates splicing; and / or, When the trusted institution calculates the sixth parameter using the eighth formula, the third data group includes a third timestamp; when the first vehicle determines that the received third timestamp is valid, the eighth parameter is calculated based on the first user tag and the vehicle tag according to the second encoding method; the trusted institution calculates the seventh parameter using the tenth formula; the tenth formula is: ;in, is the seventh parameter, is the second user tag, is the vehicle tag, is the first public key received by the trusted authority, is the sixth parameter, is the third timestamp, Indicates the second encoding method based on hash encoding. Indicates splicing; the first vehicle calculates an eighth parameter based on the first user tag and the vehicle tag according to the second encoding method, including: based on the first user tag, the vehicle tag, the first public key broadcast by the received roadside unit, the sixth parameter in the received third data group and the third timestamp, the eighth parameter is calculated according to the second encoding method; wherein the eighth parameter is expressed as: ; is the eighth parameter, is the first user tag, is the vehicle tag, a first public key broadcast by the roadside unit and received by the first vehicle, is the sixth parameter received by the first vehicle, is a third timestamp received by the first vehicle, represents the second encoding method, Indicates splicing.

6. The method according to claim 4, characterized in that In the case of receiving a first message-signature tuple sent by the roadside unit, the first message-signature tuple also includes a fourth timestamp indicating the sending time of the first message-signature tuple, and the first vehicle determines whether the received first signature is accurate based on the validity period of the unit tag of the roadside unit, the received unit identifier and the first public key when determining that the received fourth timestamp is valid; Determining whether the received first signature is accurate based on the validity period of the unit tag of the roadside unit, the received unit identification, and the first public key, includes: Determining whether a second verification formula holds true based on the validity period of the unit tag of the roadside unit, the received unit identifier, and the first public key; if the second verification formula holds true, determining that the received first signature is accurate; The second verification formula is: ; in, is the first signature received, P is the generator of the preset elliptic curve, , is the first message received, is the first public key received, is the received unit identifier, is the fourth timestamp received, , a fifth random number generated for the roadside unit, the validity period of the unit label for the roadside unit, , is a third random number generated by the trusted institution, P is a generator of a preset elliptic curve, a fourth public key generated for the trusted authority, , a sixth random number generated by the trusted authority, a fifth public key generated for the trusted authority, and Represents a hash code, Indicates splicing.

7. A three-factor authentication and key negotiation method for Internet of Vehicles, characterized in that: Applied to a roadside unit, the method comprises: receiving a first data group including a first parameter and a second parameter sent by a first vehicle; wherein the first parameter is calculated based on a vehicle tag of the first vehicle, and the second parameter is calculated based on a first user tag of a user associated with the first vehicle and the vehicle tag according to a first encoding method, and the first user tag is calculated based on first account information, a first password, and a first biometric feature uploaded by the user; Calculate a third parameter according to the first encoding method using the received first parameter and second parameter and a first public key generated when the roadside unit is registered; Sending a second data group including the received first data group, the first public key and the third parameter to a trusted authority, so that the trusted authority calculates a fourth parameter according to the first encoding method using the received second data group, and calculates a fifth parameter according to the first encoding method based on the second user tag and the vehicle tag generated when the user is registered when the fourth parameter is the same as the third parameter, and generates an original session key for communication between the first vehicle and the roadside unit based on the collective tag of the collective entity composed of the user and the first vehicle and the unit tag of the roadside unit when the fifth parameter is the same as the second parameter, calculates a sixth parameter based on the original session key, and calculates a seventh parameter according to the second encoding method based on the second user tag and the vehicle tag, and sends a third data group including the sixth parameter and the seventh parameter to the first vehicle; so that the first vehicle calculates an eighth parameter according to the second encoding method based on the first user tag and the vehicle tag in response to receiving the third data group; if the eighth parameter is consistent with the seventh parameter, calculates the original session key based on the received sixth parameter, generates a public key group based on the original session key and sends it to the roadside unit; wherein the multiple public keys included in the public key group are used to recover the original session key; In response to receiving a message sent by a vehicle, the received message is verified using a public key group corresponding to the vehicle from which the received message originates.

8. The method according to claim 7, characterized in that The second data group includes a second timestamp; if the received second timestamp is determined to be valid, the trusted institution determines whether the registration information of the collective entity consisting of the user and the first vehicle is valid according to the first parameter, and if the registration information is valid, calculates a fourth parameter using the received second data group according to the first encoding method; Calculating a third parameter according to the first encoding method using the received first parameter and second parameter and a first public key generated when the roadside unit is registered, including: The third parameter is calculated according to the first encoding method using the received first parameter and second parameter, the first public key generated when the roadside unit is registered, and the second timestamp; the third parameter is expressed as: ; in, is the third parameter, is the first parameter received by the roadside unit, is the second parameter received by the roadside unit, , is the unit label of the roadside unit, P is the generator of the preset elliptic curve, is the first public key, is the second timestamp, Indicates the first encoding method based on hash coding, Indicates splicing; The trusted institution is used to calculate the fourth parameter according to the thirteenth formula; the thirteenth formula is: ; in, is the fourth parameter, is a first parameter received by the trusted authority, is a second parameter received by the trusted authority, is the first public key received by the trusted authority, is a second timestamp received by the trusted authority, represents the first encoding method, Indicates splicing; and / or, In response to receiving a message sent by a vehicle, verifying the message using a public key group corresponding to the vehicle from which the received message originates, including: in response to receiving a second message-signature tuple sent by any vehicle, sending the public key group corresponding to the vehicle to a trusted institution, so that the trusted institution determines whether the session key to be verified calculated using the received public key group is accurate, and when the session key to be verified is accurate, sending a legal signal indicating that the source of the second message-signature tuple is legal to the roadside unit; wherein the second message-signature tuple includes a second message, a second signature, and pseudonym information indicating a collective entity from which the second message-signature tuple originates, and each collective entity represents a collection of a user and a vehicle; in response to receiving the legal signal, determining whether the received second signature is accurate based on the pseudonym information of the vehicle; if it is determined that the received second signature is accurate, receiving the second message, otherwise, discarding the second message; and / or, In response to receiving a message sent by a vehicle, the message is verified using a public key group corresponding to the vehicle from which the received message originates, including: using a second signature carried in a plurality of second message-signature tuples received in a current receiving cycle, calculating a first aggregate signature, each second message-signature tuple including a second message, a second signature, and pseudonym information representing a collective entity from which the second message-signature tuple originates, each collective entity representing a collection of a user and a vehicle; based on a first element in the pseudonym information carried in each second message-signature tuple, calculating a first parameter to be verified corresponding to each second message-signature tuple, and after determining that the first aggregate signature is accurate based on each first parameter to be verified, sending a corresponding parameter of the vehicle from which each second message-signature tuple originates to a trusted institution; public key group, so that the trusted institution determines whether the session key to be verified calculated using the public key group corresponding to any received vehicle is accurate, and after determining that the session key to be verified is accurate for any second message-signature tuple, sends a legal signal corresponding to the second message-signature tuple to the roadside unit; in response to receiving the legal signals corresponding to each of the plurality of second message-signature tuples, calculate the second parameter to be verified corresponding to each second message-signature tuple, and verify whether the second signatures in the plurality of second message-signature tuples are all accurate based on the second parameter to be verified, and when the second signatures in the plurality of second message-signature tuples are all accurate, receive the second message in the plurality of second message-signature tuples, otherwise, discard the second message in the plurality of second message-signature tuples; and / or, The registration process of the roadside unit on the trusted institution includes: sending its own unit identification to the trusted institution, so that after the trusted institution receives the unit identification, it generates a seventh random number from a finite field of integers as the unit tag of the roadside unit; generating the validity period of the unit tag, and generating a first public key and a first private key based on the unit tag, and sending the validity period of the unit tag, the first public key and the first private key to the roadside unit; in response to receiving the validity period of the unit tag, the first public key and the first private key, periodically broadcasting the first public key and the validity period of the unit tag, so that vehicles within the communication coverage area of ​​the roadside unit can verify the messages sent by the roadside unit based on the received first public key and the validity period of the unit tag.

9. The method according to claim 8, characterized in that In the case of receiving a second message-signature tuple sent by any vehicle, the second message-signature tuple also includes a fifth timestamp indicating the validity of the second message, and the roadside unit sends the received public key group corresponding to the vehicle to the trusted institution when determining that the fifth timestamp is valid; The determining whether the received second signature is accurate based on the pseudonym information of the vehicle comprises: determining whether a third verification formula is established based on the pseudonym information of the vehicle; if the third verification formula is established, determining that the received second signature is accurate; The third verification formula is: ; in, is the first element in the received pseudonym information of the vehicle, Represents hash code; is the second signature received, is the received second public key, P is the generator of the preset elliptic curve, , Indicates the second message received, is the second element in the received pseudonym information of the vehicle, is the fifth timestamp received, Represents a hash code, Indicates splicing.

10. The method according to claim 8, characterized in that In the case where multiple second message-signature tuples are received in the current receiving cycle, each second message-signature tuple also includes a fifth timestamp indicating the validity of the second message in the second message-signature tuple; the roadside unit calculates the first parameter to be verified corresponding to each second message-signature tuple when the fifth timestamps in the multiple second message-signature tuples are all valid; Calculating a first aggregate signature using multiple second message-signature tuples received in a current receiving cycle includes: Using the second signatures carried in the multiple second message-signature tuples received in the current receiving period, the first aggregate signature is calculated according to the fourteenth formula; the fourteenth formula is: ; in, Sign the first aggregate, represents the second signature carried in the j-th second message-signature tuple, j=1,2…n, and n is the number of second message-signature tuples received in the current receiving cycle; , A random number generated for the roadside unit, where P is a generator of a preset elliptic curve; Represents a hash code, Indicates splicing; The calculating, based on the first element in the pseudonym information carried in each second message-signature tuple, the first parameter to be verified corresponding to each second message-signature tuple includes: Based on the first element in the pseudonym information carried in each second message-signature tuple, the first parameter to be verified corresponding to the second message-signature tuple is calculated according to the fifteenth formula; wherein the fifteenth formula is: ; is the first parameter to be verified corresponding to the j-th second message-signature tuple; is the first element in the pseudonym information in the jth second message-signature tuple, Represents hash code; The method of determining the accuracy of the first aggregate signature based on each first parameter to be verified includes: The second aggregate signature is calculated based on each first parameter to be verified according to the sixteenth formula. If the first aggregate signature is the same as the second aggregate signature, it is determined that the first aggregate signature is accurate. The sixteenth formula is: ; in, Sign the second aggregate, a random number generated for the roadside unit, represents the first parameter to be verified corresponding to the j-th second message-signature tuple, j=1,2…n, n is the number of second message-signature tuples received in the current receiving cycle, Indicates splicing.

11. The method according to claim 8, characterized in that When multiple second message-signature tuples are received in the current receiving cycle, calculating the second parameter to be verified corresponding to each second message-signature tuple includes: Using the first message, pseudonym information, fifth timestamp, and the first public key in the public key group corresponding to the vehicle from which the second message-signature tuple originates, calculate the second parameter to be verified corresponding to the second message-signature tuple according to the sixteenth formula; The sixteenth formula is: ; in, represents the second parameter to be verified corresponding to the j-th second message-signature tuple, represents the second message in the jth second message-signature tuple, is the first element in the pseudonym information in the jth second message-signature tuple, is the second element in the pseudonym information in the jth second message-signature tuple, is the second public key in the public key group corresponding to the vehicle from which the j-th second message-signature tuple originates, is the fifth timestamp in the jth second message-signature tuple, Represents a hash code, Indicates splicing; Verifying whether the second signatures in the plurality of second message-signature tuples are all accurate based on the second parameter to be verified includes: Based on the second parameter to be verified, determining whether the second signatures in the plurality of second message-signature tuples are all accurate by judging whether both the fourth verification formula and the fifth verification formula are established; The fourth verification formula is: ; The fifth verification formula is: ; in, is the second signature carried in the j-th second message-signature tuple, , is a random number generated by the roadside unit, P is a generator of a preset elliptic curve, is the first parameter to be verified corresponding to the j-th second message-signature tuple, , j=1,2…n, n is the number of second message-signature tuples received in the current receiving cycle, is the second parameter to be verified corresponding to the j-th second message-signature tuple, It is the second public key in the public key group corresponding to the vehicle from which the j-th second message-signature tuple received comes.

12. A three-factor authentication and key negotiation method for Internet of Vehicles, characterized in that: Applied to a trusted institution, the method comprises: In response to receiving a second data group sent by a roadside unit, a fourth parameter is calculated using the received second data group according to a first encoding method; wherein the second data group includes a first data group, a first public key generated when the roadside unit is registered, and a third parameter, the first data group is sent to the roadside unit by a first vehicle, the first data group includes a first parameter and a second parameter, the first parameter is calculated based on a vehicle tag of the first vehicle; the second parameter is calculated based on a first user tag of a user associated with the first vehicle and the vehicle tag according to a first encoding method, the first user tag is calculated based on first account information, a first password, and a first biometric feature uploaded by the user; the third parameter is calculated based on the first parameter, the second parameter, and the first public key; When the fourth parameter is the same as the third parameter, calculating a fifth parameter according to the first encoding method based on the second user tag and the vehicle tag generated when the user is registered; When the fifth parameter is the same as the second parameter, generating an original session key for communication between the first vehicle and the roadside unit based on a collective tag of a collective entity consisting of the user and the first vehicle and a unit tag of the roadside unit; A sixth parameter is calculated based on the original session key and a seventh parameter is calculated based on the second user tag and the vehicle tag in a second encoding manner, and a third data group including the sixth parameter and the seventh parameter is sent to the first vehicle through the roadside unit so that the first vehicle receives the third data group, an eighth parameter is calculated based on the first user tag and the vehicle tag in a second encoding manner, and when the eighth parameter is the same as the seventh parameter, the original session key is calculated based on the received sixth parameter, and a public key group is generated based on the original session key and sent to the roadside unit so that the roadside unit verifies the message sent by the first vehicle based on the received public key group; wherein the multiple public keys included in the public key group are used to recover the original session key.

13. The method according to claim 12, characterized in that The collective label is calculated according to the seventeenth formula, and the seventeenth formula is: ; in, is the collective label, is the second user tag, is the vehicle tag, a sixth random number generated by the trusted authority, is the validity period of the second user tag and the vehicle tag, Indicates the fifth encoding method based on hash coding. Indicates splicing; and / or, Generating an original session key for communication between the first vehicle and the roadside unit based on a collective tag of a collective entity formed by the user and the first vehicle and a unit tag of the roadside unit, comprising: Based on the collective tag of the collective entity formed by the user and the first vehicle, the unit tag, the fifth public key and the sixth public key generated by the trusted authority, an original session key for communication between the first vehicle and the roadside unit is generated according to the eighteenth formula; wherein the eighteenth formula is: ; in, is the original session key, is the collective label, , a sixth random number generated by the trusted authority, is the fifth public key, is the sixth public key, is an eighth random number generated by the trusted institution, P is a generator of a preset elliptic curve, is the unit label, Represents a hash code, Indicates splicing.

14. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor, when used to execute a program stored in a memory, implements the method described in any one of claims 1 to 6, or the method described in any one of claims 7 to 11, or the method described in any one of claims 12 to 13.

15. A computer program product comprising instructions, characterized in that When the computer program product runs on a computer, the computer is enabled to implement the method according to any one of claims 1 to 6, or the method according to any one of claims 7 to 11, or the method according to any one of claims 12 to 13.

Citation Information

Patent Citations

  • Internet of vehicles efficient batch authentication key negotiation method based on signature

    CN117098128A

  • “a system and method for secured communication in a vehicular ad HOC network (VANET)”

    IN202141003239A