A privacy protection method for Internet of Vehicles communication based on blockchain
By using blockchain technology to store system parameters and user data in the Internet of Vehicles system, and combining with the certificate-free public key cryptography system, the problem of possible attacks in the key generation center is solved, and the security needs of Internet of Vehicles are improved.
Patent Information
- Application Number
- CN202211186908.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-28
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2042-09-28
AI Technical Summary
The existing Internet of Vehicles security verification methods cannot fully meet the security needs of Internet of Vehicles, especially when the key generation center may be attacked, the security of the system cannot be effectively guaranteed.
Adopt blockchain-based Internet of Vehicle Communication privacy protection method, and use blockchain distributed database to store system parameters and user data to solve the problem that the key generation center may be tampered with, and combine it with the certificate-free public key cryptography system to form a unique Some advantages are to get rid of the problem of the traditional public key cryptography system.
Through the decentralization and immutability of blockchain, we ensure the security of system parameters and user data, solve the key hosting problem, and improve the security needs of the Internet of Vehicles.
Smart Images

Figure CN115515127B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of blockchain, and more specifically to a method for protecting privacy in Internet of Vehicles communications based on blockchain. Background Art
[0002] The security verification methods of the Internet of Vehicles can be roughly divided into three categories: the first is the verification method based on public key infrastructure, the second is the identity-based verification method, and the third is the verification scheme based on certificateless public key cryptography.
[0003] PKI is the most widely used entity authentication method, which verifies the legitimacy of the authenticated ID through digital signature. In the traditional PKI-based authentication method, the vehicle is equipped with a public-private key pair. The messages generated by the vehicle are all accompanied by corresponding tags and electronic certificates for signature. In the PKI-based authentication scheme, the centralized CA generates public-private key pairs for all vehicles and manages the identity information of the vehicles. The second is the identity-based authentication mechanism. Compared with the traditional PKI, this method does not require the generation of vehicle certificates, thereby avoiding the computational and communication overheads of calculating public-private key pairs and managing vehicle certificates. In the identity-based scheme, RSU and vehicles use personal information such as e-mail addresses, phone numbers and other private information as public keys, and the private key is generated by a semi-trusted third party of the private key generation center KGC. The third is based on the certificateless signature CLS authentication mechanism. In CLS, part of the vehicle's key is generated by the semi-trusted KGC, and the key value is randomly selected by the vehicle. The vehicle combines the part of the key with the key value to form the actual private key.
[0004] Existing security verification methods cannot fully meet the security requirements of the Internet of Vehicles. For example, when the CA is compromised by an attacker, it faces a serious key leakage problem. The PKI-based digital signature system requires a lot of computing and communication overhead in maintaining vehicle certificates, including the management and distribution of CRL certificates. The identity-based authentication scheme reduces the certificate part and solves the additional communication and computing overhead, but because the private key is centrally generated by the KGC, it brings about the problem of key escrow. As an intermediate product, the certificateless public key cryptography system can fundamentally solve the defects of the other two public key cryptography systems. However, if the key generation center is attacked, the system's master key or some important parameters are tampered with, the security of the system cannot be guaranteed. Summary of the invention
[0005] In view of this, the present invention provides a privacy protection method for Internet of Vehicles communications based on blockchain, which utilizes the function of blockchain distributed database to store system parameters and user data on the blockchain, solves the problem that the key generation center may be tampered with, gets rid of the problems of traditional public key cryptography system, and meets the security requirements of the Internet of Vehicles.
[0006] In order to achieve the above object, the present invention adopts the following technical solution:
[0007] A method for protecting privacy of Internet of Vehicles communication based on blockchain, comprising the following steps:
[0008] Calculate the hash values H(p) and H(s) of the system public parameter set and the system master key respectively, interact with the blockchain through the first smart contract, and store them on the blockchain;
[0009] According to the client request information, H(p) and H(s) are searched from the blockchain through the first smart contract, and H(p)' and H(s)' are calculated according to the client's system parameter set and the system master key;
[0010] If the comparison results of H(p) and H(s) in the blockchain are consistent, register the client;
[0011] After successful registration, the client information will be encrypted and stored on the blockchain through the second smart contract.
[0012] Optionally, it also includes completing two-way authentication between the client and the authentication server through the identity identification, random numbers and user passwords of both parties. After the authentication is successful, the authentication server interacts with the blockchain through a second smart contract, and encrypts the identity identification, password, random number, etc. used in the authentication process and stores them on the blockchain.
[0013] Optionally, client registration includes the client and the authentication server sending their own identity identification, password information, and random numbers used during registration to each other, and the registration process is completed after successful calculation and comparison.
[0014] Optionally, the client information is the identity information of the vehicle owner used to register the vehicle owner and the vehicle itself uniquely at the vehicle management center.
[0015] Optionally, it also includes creating and distributing a partial private key password for the client. The client uses a confidential value as its own partial private key encryption, and calculates its own public key through the confidential value, and sends the public key and identity information data to the key generation center. The key generation center calculates another partial private key of the server through the user's public key and the client's identity data, and sends these private keys to the client.
[0016] Optionally, it also includes the client's password update. The client processes the identity identifier, registration random number, authentication random number, and new password and sends them to the authentication server. The authentication server searches the blockchain for the encrypted personal information through the second smart contract based on the identity identifier, calculates the correctness of the new password after decryption, and encrypts the personal information after verification and stores it in the blockchain.
[0017] Optionally, after successful authentication, the client stores the information and parameters of the authentication process locally.
[0018] It can be seen from the above technical solutions that, compared with the prior art, the present invention discloses a method for protecting privacy in Internet of Vehicles communications based on blockchain, which has the following beneficial effects:
[0019] (1) Using the distributed database function of blockchain, system parameters and user data are stored on the blockchain to solve the problem that the key generation center may be tampered with;
[0020] (2) Combining the certificateless public key cryptography system with the blockchain to form its own unique advantages and get rid of the problems of the traditional public key cryptography system;
[0021] (3) Apply the identity authentication method based on blockchain and certificateless public key cryptography to the field of Internet of Vehicles to meet the security requirements of the Internet of Vehicles. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the embodiments of the present invention 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 embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.
[0023] Figure 1 is a flow chart of the present invention;
[0024] Figure 2 This is a system architecture model diagram of the present invention;
[0025] Figure 3 This is a flow chart of the public-private key pair generation phase of the present invention;
[0026] Figure 4 is a flow chart of the registration phase of the present invention;
[0027] Figure 5 This is the flow chart of the authentication phase. DETAILED DESCRIPTION
[0028] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0029] The embodiment of the present invention discloses a method for protecting privacy of Internet of Vehicles communication based on blockchain, such as Figure 1 As shown, the following steps are included:
[0030] Calculate the hash values H(p) and H(s) of the system public parameter set and the system master key respectively, interact with the blockchain through the first smart contract, and store them on the blockchain;
[0031] According to the client request information, H(p) and H(s) are searched from the blockchain through the first smart contract, and H(p)' and H(s)' are calculated according to the client's system parameter set and the system master key;
[0032] If the comparison results of H(p) and H(s) in the blockchain are consistent, register the client;
[0033] After successful registration, the client information will be encrypted and stored on the blockchain through the second smart contract.
[0034] like Figure 2 As shown, the identity authentication scheme of this embodiment includes four entities in total:
[0035] (1) Client: Generate a complete private key and complete the identity confirmation process with the authentication server. In this system, each intelligent connected car is a client. The owner registers his or her identity information, such as ID number, mobile phone number, license plate number, vehicle identification number, etc., at the vehicle management center to uniquely match the owner and the vehicle itself. Roadside infrastructure such as surveillance cameras, speedometers, ground pressure sensors, charging piles, etc. can be regarded as a special client. They do not move on the roadside, but like cars, they will collect and summarize road condition information through their own sensors and upload it to the management center. Their registration process is carried out during the production process or installation process. In the current development, some road infrastructure, such as highway toll stations, will also communicate directly with vehicles through DSRC. In the future, the dialogue between roadside infrastructure and vehicles and drivers will become more and more rich, and information such as vehicle conditions, surrounding special environments, and road conditions ahead can be sent to each vehicle unit and the cloud.
[0036] (2) Key Generating Center KGC: KGC is responsible for the initialization of the system, using necessary parameters and qualified secret values as the master key of the system, and generating the public key and public parameter set of the system based on the master key. Through smart contract 1, information is exchanged with the blockchain, and the main parameters of the entire system are stored on the blockchain to prevent the main parameters of the system from being tampered with. KGC is also responsible for creating and distributing the partial private key password of the client. The client uses a certain confidential value as its partial private key encryption, and calculates its own public key through the confidential value, and sends the public key, identity information and other data to KGC. KGC calculates the other partial private key of the server through the user's public key and the client's identity data, and sends these private keys to the client. Only the partial private key of the client is transmitted in the channel, and the complete public-private key pair of the client cannot be generated after being eavesdropped, which ensures a certain degree of security. The method of generating the public-private key pair of the authentication server is the same as that of the client. This method of generating the partial private key by KGC and the public key and partial private key generated by the client itself not only reduces the difficulties of certificate management, but also reduces the difficulties of key transmission and key escrow.
[0037] (3) Authentication server AS: AS is first responsible for client registration. The client and AS send their own identity, password information, and random number used during registration to each other. After successful calculation and comparison, the registration process is completed. After registration is completed, AS encrypts the successfully registered client information and stores it on the blockchain through smart contract 2. The client stores the authentication server information locally. AS is also responsible for client authentication. The client and AS complete two-way authentication through the identity, random number, user password and other information of both parties. After successful authentication, AS interacts with the blockchain through smart contract 2 and encrypts the identity, password, random number and other information used in the authentication process and stores them on the blockchain. AS is also responsible for updating the client's password. The client processes the identity, registration random number, authentication random number, new password and other information and sends them to AS. AS searches the blockchain for its encrypted personal information based on its identity through smart contract 2, decrypts it and calculates the correctness of the new password. After verification, it encrypts the identity, new password and other personal information and stores them on the blockchain.
[0038] (4) Blockchain: Mainly use the distributed storage function of blockchain to store important parameters in the system and related information such as the identity and public key of registered users, and use the decentralization and immutability of blockchain to ensure the security of the system. The key generation center KGC, authentication server AS and distributed storage blockchain in this system should be built and operated by the government. First, the management of vehicles and traffic belongs to the part of the traffic management department, which is conducive to management; secondly, unified management by the government is conducive to the unification of standards and the popularization of the Internet of Vehicles; then, there is a large amount of personal information and personal privacy in the system, and the government building a management system will help people have confidence in the system.
[0039] In order to achieve the purpose of the present invention, the specific verification process of the identity authentication of this scheme will be described in detail. The variables to be used in the verification process and the pseudo code for interacting with the blockchain during the verification process are described, and the security analysis of this method is carried out in the final stage to confirm the security of this method.
[0040] Table 1 Symbols
[0041]
[0042]
[0043] Initialization phase: The key generation center KGC determines a As the master key of the system, q is the order of the group. Find two multiplicative cyclic groups G1 and G2, where the generator of G1 is g and they satisfy the bilinear pairing Choose two hash functions H1 and H2 that satisfy The key generation center KGC calculates g s As the system's public key PK KGC , and PK KGC Public. The key generation center KGC will publish the system public parameter set The hash values of the system master key s are calculated and recorded as H(p) and H(s), interacting with the blockchain through smart contract 1 and stored on the chain.
[0044] Table 2 Smart Contract 1 Storage Function
[0045]
[0046] like Figure 3 As shown, in the public-private key pair generation phase: the client determines a As the client's secret value, the secret value will also be part of the private key, according to x i Calculate and publish the public key The owner will provide his / her IDi Input to the client, the client calculates the identity ID i The hash value H(ID i ), and sends the hash value and public key as private key request information to the key generation center KGC. After the key generation center KGC obtains the client's request information, it searches for H(p) and H(s) values from the blockchain through smart contract 1, and uses the system public parameter set stored locally to obtain the private key request information. Calculate H(p)' and H(s)' with the system master key s and compare them. If the comparison results are inconsistent, it means that the locally stored master key or system public parameter set has been tampered with and the subsequent related operations need to be terminated. If the comparison results are consistent, then according to the H(ID i )and Calculate T i =H1(H(ID i ))and And As a response message of the private key, it is sent back to the client. When the client receives the private key response message, it calculates another part of the private key based on it and the system public key. Calculate separately and If the comparison results are inconsistent, it means If part of the key is incorrect, the generation fails; if the comparison result is consistent, the complete key is generated.
[0047] The process of generating the public and private key pair of the authentication server AS is the same as that of the client. The authentication server selects As the secret value of the authentication server, the public key is calculated and published according to x0 T0=H1(H(ID0)), complete key
[0048] Table 3 Smart Contract 1 Query Function
[0049]
[0050] like Figure 4 As shown, during the registration phase: the client enters the ID of the user i and the selected secret value x i , interact with the key generation center KGC to generate the client's public and private key pair. The client selects Then according to the user password pw entered by the user i , calculate H2(ID i ||pw i ), and Then the identity hash value H(ID i), client public key H2(ID i ||pw i ), The five items are sent to the authentication server AS as a registration request. When AS receives this request information, it first interacts with the blockchain through smart contract 2 and checks the identity hash value H (ID i ) Check whether the user has registered. If the user has registered, the registration information is returned and the registration process is exited; if the user has not registered, the authentication server AS calculates T' i =H1(H(ID i )). Compare and Are they equal? If not, then Incorrect, return registration failure information; if equal, the authentication server AS selects Then calculate and Then the authentication server identity hash value H(ID0) and the authentication server public key The five items are sent to the client as registration response information, and e j , After serialization, it is encrypted as C0(ID i ), interact with the blockchain through smart contract 2, and transfer H(ID i ), and C0(ID i ) is stored on the chain. After the client receives the registration response information, it calculates T'0 = H2(H(ID0)). and Are they equal? If not, then If they are incorrect, the registration failure message is returned; if they are equal, the registration is successful, and the client sends the authentication server identity hash value H(ID0) and the authentication server public key and e i Store locally.
[0051] Table 4 Registration phase smart contract 2 query function
[0052]
[0053] Table 5 Registration phase smart contract 2 storage function
[0054]
[0055]
[0056] like Figure 5 As shown, authentication phase: client selection calculate Then the identity hash value H(ID i ), and H2(ID i ||pw i ) are sent to the authentication server AS as the authentication request information request1. When AS receives this authentication request information request1, it interacts with the blockchain through smart contract 2 and checks the identity hash value H(ID i ) to check whether the user has registered. If not, it returns the unregistered information and exits the authentication process; if already registered, it returns the identity hash value H(ID i ) Find its and C0(ID i ). Set C0(ID i ) After decryption, we get e j , H2(ID i ||pw i ), compare the decrypted H2(ID i ||pw i ) and H2(ID i ||pw i ) are equal. If the two data are not equal, then the authentication failure message is returned to the client and subsequent related operations are terminated; if they are equal, then the calculation Calculated according to k and select calculate Then H(ID0), and The authentication response message is sent to the client as response1. The client receives the authentication response message response1 and obtains the corresponding ID according to H(ID0) in the authentication response message response1. and e i , and calculate Calculated according to k' Will And the authentication response information response1 If they are not equal, the authentication fails, the authentication failure information is returned to the client, and the subsequent related operations are terminated in time; if they are equal, the client successfully authenticates the authentication server, and the client calculates Send O2 as authentication request information request2 to the authentication server. When AS receives this authentication request information request2, it calculates Compare O2 and O'2 to see if they are equal. If they are not equal, the authentication server fails to authenticate the user and returns the authentication failure information to the client. If they are equal, the server completes the authentication of the client and calculates Send O3 as the authentication response information response2 to the client, and j , f j , and H2(ID i ||pw i ) is serialized and encrypted into C1(ID i ), interact with the blockchain through smart contract 2, and transfer H(ID i ), and C1(ID i ) is stored on the chain. The client receives the authentication response information response2 and calculates Compare O3 with O'3. If the results are not equal, the authentication fails. If they are equal, the authentication is completed. The client will use the authentication server's identity hash value H(ID0) to and f i Store locally.
[0057] Table 6 Authentication phase smart contract 2 query function
[0058]
[0059] Table 7 Storage function of smart contract 2 in authentication phase
[0060]
[0061] Password update: After successful authentication, if the client user wants to update the password pw i Change to pw' i , first the client calculates The identity hash value H(ID i ), The three items, , and U, are sent to the authentication server AS as password update request information. After receiving the password update request information, the authentication server AS interacts with the blockchain through the smart contract 2 and checks the identity hash value H(ID i ) to check whether the user has completed identity authentication. If not, a password update failure message is returned. If it has been completed, the user is updated according to the identity hash value H(ID i ) Find its C1(ID i ), C1(ID i ) After decryption, we get e j , f j , and H2(ID i ||pw i ).calculate Comparison and password update request information Are they equal? If not, the password update fails and the password update failure message is returned; if they are equal, the calculation Get H2(ID i ||pw' i ). j , f j , and H2(ID i ||pw' i ) is serialized and encrypted into C'1(ID i ), interact with the blockchain through smart contract 2, and transfer H(ID i ), and C'1(ID i ) is stored on the chain.
[0062] Table 8 Password update smart contract 2 query function
[0063]
[0064] Table 9 Password update smart contract 2 storage function
[0065]
[0066]
[0067] Security Analysis:
[0068] Key replacement: In a certificateless public key cryptography system, because there is no certificate authority to authenticate the user's public key, the user and the public key are bound together. Therefore, the attack method of the attacker directly replacing the user's public key should be considered. While Al-Riyami and Paterson provided a security model for certificateless encryption schemes, they also considered two types of attackers. Attacker category 1 cannot obtain the system master key, but can replace the user's public key with a computable one by themselves. Attacker category 2 knows the system master key, but cannot replace the public key of a specific user.
[0069] Attacker 1 can choose to replace the user's public key with a specific public key. However, in this method, the user's public key, identity information and other partial user data are stored in the blockchain. In addition, because the blockchain cannot be modified and is open and transparent, the user's public key cannot be modified after registration is completed. Therefore, attacker 1 cannot replace the user's original public key with other keys. For attacker 2, in this method, important data such as user public keys and identity identification are stored in the blockchain. Although KGC has partial private key information of all users, it cannot interact with smart contract 2 that stores partial user information, so it does not have the ability to replace public keys. In addition, because the hash values H(s) and H(p) of the master key and public parameter set in the system are stored in the blockchain, and the client receives the partial private key D sent by KGC. i After that, its validity will be verified first, and only after the verification is passed will the complete private key be generated. Therefore, attacking the key generation center KGC cannot make it replace the user's public key or change the system master key.
[0070] Anti-impersonation attack: For identity authentication, the main attack that needs to be considered is impersonation attack. There are two main attack modes of impersonation attack, namely passive attack and active attack.
[0071] 1. Passive attack means that the attacker can obtain the conversation script between the client and the verifier (authentication server) before impersonating the client to be authenticated. For passive attack, the information that can be eavesdropped includes registration request information, authentication request information request2, registration response information Res1 and authentication response information response2. The information obtained includes This information cannot be used to calculate the random numbers generated during the registration and authentication phases, nor can it be used to calculate the user's complete private key.
[0072] 2. In the process of active attack, the attacker pretends to be a verifier to communicate with the user to obtain the user's verification information, and then uses this information to pretend to be the user. We assume that in the active attack, the attacker can obtain the user's public key PK i and the identity information hash value H(ID i ), and then interact with the key generation center KGC to obtain the user's partial private key D i . Key parameters in the certification process As the key of the HMAC algorithm in the authentication phase, it will directly affect the validity of the authentication. i and e j The random numbers generated by the client and KGC during the registration phase are key factors to ensure the security and effectiveness of authentication. The security of the HAMC algorithm has been proven.i and e j The difficulty of the two parameters has also been proven by the CDH problem, so this solution can prevent active attacks to a certain extent.
[0073] Anti-man-in-the-middle attack: The man-in-the-middle intercepts the communication between the user and the authentication server, steals their communication information, and can even tamper with it. The eavesdropping situation is similar to the impersonation attack mentioned above. If the attacker intercepts and tampers with it, then during the authentication process, whether it is the client's authentication of the authentication server or the authentication server's authentication of the client, the authentication will fail due to the change of some parameters, and the authentication process will end. The attacker will not obtain favorable information or replace the user's identity by intercepting and tampering with the information. Therefore, this solution can prevent man-in-the-middle attacks to a certain extent.
[0074] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
[0075] The above description of the disclosed embodiments enables one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for protecting privacy in Internet of Vehicles communication based on blockchain, characterized in that: The following steps are involved: Calculate the hash values H(p) and H(s) of the system public parameter set and the system master key respectively, interact with the blockchain through the first smart contract, and store them on the blockchain; According to the client request information, H(p) and H(s) are searched from the blockchain through the first smart contract, and H(p)' and H(s)' are calculated according to the client's system parameter set and the system master key; If the comparison results of H(p) and H(s) in the blockchain are consistent, register the client; After successful registration, the client information will be encrypted and stored on the blockchain through the second smart contract.
2. According to claim 1, a method for protecting privacy in Internet of Vehicles communication based on blockchain, characterized in that: It also includes two-way authentication between the client and the authentication server through the identity identification, random numbers and user passwords of both parties. After the authentication is successful, the authentication server interacts with the blockchain through the second smart contract, and encrypts the identity identification, password and random number used in the authentication process and stores them on the blockchain.
3. According to the blockchain-based vehicle network communication privacy protection method of claim 1, it is characterized in that: Client registration includes the client and the authentication server sending each other their own identity identification, password information, and random numbers used during registration. After successful calculation and comparison, the registration process is completed.
4. According to claim 1, a method for protecting privacy in Internet of Vehicles communication based on blockchain, characterized in that: The client information is the information that the vehicle owner uses to register his / her own identity information in the vehicle management center to uniquely correspond to the vehicle owner and the vehicle itself.
5. According to the blockchain-based vehicle network communication privacy protection method of claim 1, it is characterized in that: It also includes creating and distributing a partial private key password to the client. The client uses a confidential value as its own partial private key encryption, calculates its own public key through the confidential value, and sends the public key and identity information data to the key generation center. The key generation center calculates another partial private key of the server through the user's public key and the client's identity data, and sends these private keys to the client.
6. The method for protecting privacy of Internet of Vehicles communication based on blockchain according to claim 1, characterized in that: It also includes the client's password update. The client processes the identity, registration random number, authentication random number, and new password and sends them to the authentication server. The authentication server searches the blockchain for encrypted personal information through the second smart contract based on the identity, calculates the correctness of the new password after decryption, and encrypts the personal information after verification and stores it in the blockchain.
7. According to claim 1, a method for protecting privacy in Internet of Vehicles communication based on blockchain, characterized in that: It also includes that after the authentication is successful, the client stores the information and parameters of the authentication process locally.
Citation Information
Patent Citations
Device verification prior to registration
CN106664308A
User authentication method and system
CN107257336A