WO2021168614A1 - 数据加密处理方法、数据解密处理方法、装置及电子设备 - Google Patents
数据加密处理方法、数据解密处理方法、装置及电子设备 Download PDFInfo
- Publication number
- WO2021168614A1 WO2021168614A1 PCT/CN2020/076438 CN2020076438W WO2021168614A1 WO 2021168614 A1 WO2021168614 A1 WO 2021168614A1 CN 2020076438 W CN2020076438 W CN 2020076438W WO 2021168614 A1 WO2021168614 A1 WO 2021168614A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- key
- target
- public key
- data
- public
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Definitions
- This application relates to communication technology, and in particular to a data encryption processing method, data decryption processing method, device, and electronic equipment.
- the Internet of Vehicles technology is one of them.
- the vehicle-mounted equipment installed on the vehicle uses wireless communication technology to effectively use the dynamic information of all vehicles in the information network platform and the information of the infrastructure to provide different functional services during the operation of the vehicle, such as Carry out distance control, navigation services, etc.
- Vehicles in the Internet of Vehicles interact with infrastructure and surrounding vehicles in real time. Therefore, each vehicle in the Internet of Vehicles generates a large amount of data. These data may include, for example, vehicle diagnostic data, logs, in-vehicle system access data, and communication data with the outside world. These data need to be uploaded to the cloud server for storage.
- the data stored on the cloud server may need to be read by the equipment in the supervisory agency (the embodiments of this application are all referred to as supervisory equipment). Since the data of the vehicle is sensitive data, it needs to be encrypted during transmission and storage, and the reader needs to read the data before decrypting it. For example, before uploading data to the cloud server, the vehicle encrypts the data to obtain a ciphertext, and sends the ciphertext to the cloud server, and the cloud server saves the ciphertext. When a cloud server or a supervisory device needs to read data, it first decrypts the ciphertext to obtain the usable plaintext data. Therefore, how to encrypt and decrypt data in the Internet of Vehicles is a problem worth solving.
- an encryption and decryption method based on a random key is proposed.
- the vehicle, the cloud server, and the supervisory device respectively generate their respective public and private key pairs.
- the vehicle encrypts the data of the vehicle, it generates a random key, and uses the public keys of the vehicle, the cloud server and the supervision device to encrypt the random key, and uses the random key to encrypt the data of the vehicle.
- the cloud server or supervisory equipment needs to read the data of the vehicle, it uses the private key to decrypt the random key, and then uses the random key to secrete the data of the vehicle.
- the embodiments of the present application provide a data encryption processing method, data decryption processing method, device, and electronic equipment, which are used to solve the problem of high encryption complexity in the prior art that may affect the running performance of the vehicle.
- an embodiment of the present application provides a data encryption processing method, which includes:
- the first device obtains the target data to be encrypted, and the first device encrypts the target data according to the first target key to obtain encrypted data of the target data.
- the first device generates the aforementioned first target key according to the public key of the second device, the public key of the third device, and the private key of the first device.
- the first device further sends the encrypted data of the target data to the second device. After the encrypted data is sent to the second device, it is used for decryption by the second target key, which is generated according to the private key of the second device, the public key of the third device, and the public key of the first device.
- the first device generates a first target key based on the public key of the second device, the public key of the third device, and the private key of the first device, and uses the first target key to encrypt the target data to obtain Encrypted data of the target data.
- the first device then only needs to send the encrypted data.
- the second device receives the encrypted data, it only needs to use the method corresponding to the first device, according to the private key of the second device, the public key of the first device, and the third device.
- the public key of the device generates a second target key, and uses the second target key to decrypt the target data.
- the first device generates the first target key instead of encrypting the first target key, so that when sending encrypted data, it does not need to carry the encrypted first target key and sends the ciphertext that only includes the encrypted data, thereby avoiding encryption.
- the length of the text is too long.
- the first device does not need to separately encrypt the first target key, and can also reduce the amount of calculation during encryption. Therefore, the encryption complexity of the first device is greatly reduced, so that data encryption does not occupy too much
- the computing resources and transmission resources ensure that the performance of the first device is not affected.
- the first device may generate the aforementioned first target key according to the public key of the second device, the public key of the third device, the private key of the first device, and the attribute information of the target data.
- the above-mentioned second target key may be generated based on the private key of the second device, the public key of the third device, the public key of the first device, and the attribute information of the target data.
- the attribute information of the target data includes at least one of the time identifier to which the target data belongs and the data type to which the target data belongs.
- the first device generates the first target key in combination with the attribute information of the target data in addition to the public key of the second device, the private key of the first device, and the public key of the third device, so that the first target The security of the key has been greatly improved.
- the first device to send the encrypted data of the target data to the second device includes:
- the first device sends the encrypted data of the target data and the attribute information of the target data.
- the first device sends the attribute information of the target data to the second device, so that the second device can correctly decrypt the target data according to the attribute information.
- the first device generates the first device according to the public key of the second device, the public key of the third device, the private key of the first device, and the attribute information of the target data.
- the first target key includes:
- the first device generates a first intermediate key according to the public key of the second device, the public key of the third device, and the private key of the first device. Furthermore, the first device generates a first intermediate key according to the first device. The intermediate key and the attribute information of the target data are used to generate the first target key.
- the second target key is generated according to the third intermediate key and the attribute information of the target data
- the third intermediate key is generated according to the private key of the second device and the public key of the third device. The key and the public key of the first device are generated.
- the first device generating the first target key according to the first intermediate key and attribute information of the target data includes:
- the first device generates a second intermediate key according to the first intermediate key and the time identifier to which the target data belongs, and further, the first device generates a second intermediate key according to the second intermediate key and the target data Belongs to the data type, and generates the first target key.
- the second target key is generated according to the fourth intermediate key and the data type to which the target data belongs
- the fourth intermediate key is generated according to the third intermediate key and the time to which the target data belongs Logo generation.
- the first device is on the first intermediate key and generates the second intermediate key in combination with the time identifier to which the target data belongs, so that the security of the second intermediate key is protected.
- the first target key is generated in combination with the data type of the target data, which can refine the granularity of data encryption. Even if a certain first target key is leaked, it will not affect Security of other data.
- the first device generating the first intermediate key according to the public key of the second device, the public key of the third device, and the private key of the first device includes:
- the first device performs bilinear pairing processing on the public key of the second device, the public key of the third device, and the private key of the first device to generate the first intermediate key.
- the third intermediate key is generated by performing bilinear pairing processing on the private key of the second device, the public key of the third device, and the public key of the first device.
- the first device performs bilinear pairing processing on the public key of the second device, the public key of the third device, and the private key of the first device to generate a key for encryption and decryption.
- the two devices can also generate a key for decryption based on the bilinear pairing process, so that the first device and the second device do not need to exchange three-party keys.
- the first device generating the first target key according to the public key of the second device, the public key of the third device, and the private key of the first device includes:
- the first device performs bilinear pairing processing on the public key of the second device, the public key of the third device, and the private key of the first device to generate the first target key.
- the second target key is generated by performing bilinear pairing processing on the private key of the second device, the public key of the third device, and the public key of the first device.
- the first device performs bilinear pairing processing on the public key of the second device, the public key of the third device, and the private key of the first device to generate a key for encryption and decryption.
- the two devices can also generate a key for decryption based on the bilinear pairing process, so that the first device and the second device do not need to exchange three-party keys.
- the method before the first device generates the first target key according to the public key of the second device, the public key of the third device, and the private key of the first device, the method further includes:
- the first device generates the public key of the first device and the private key of the first device based on the bilinear pairing process.
- the bilinear pairing process is an asymmetric bilinear pairing process.
- an embodiment of the present application provides a data decryption processing method, which includes:
- the second device receives the encrypted data to be decrypted.
- the encrypted data is obtained by encrypting the target data with a first target key, which is based on the private key of the first device, the public key of the second device, and the third device
- the public key is generated.
- the second device generates a second target key according to the public key of the first device, the public key of the third device, and the private key of the second device.
- the second device decrypts the encrypted data according to the second target key to obtain the encryption The target data of the data.
- the second device generates a second target key based on the method corresponding to the first device based on the public key of the first device, the public key of the third device, and the private key of the second device, and uses the second device.
- the target key decrypts the target data. Since the first device and the second device both generate the target key based on the public key and the private key, the ciphertext transmitted by the first device does not include the first target key. Therefore, it can avoid The length of the ciphertext is too long, and the second device does not need to perform a decryption process to decrypt the second target key, which also reduces the complexity of decryption. Therefore, using the decryption method of this embodiment can avoid occupying too much computing resources. And transmission resources to ensure that the performance of the second device is not affected.
- the second device generating the second target key according to the public key of the first device, the public key of the third device, and the private key of the second device includes:
- the second device generates the second target key according to the public key of the first device, the public key of the third device, the private key of the second device, and the attribute information of the target data.
- the first target key is generated according to the public key of the second device, the public key of the third device, the private key of the first device, and the attribute information of the target data.
- the attribute information of the target data includes at least one of the time identifier to which the target data belongs and the data type to which the target data belongs.
- the second device generates the public key of the first device, the public key of the third device, the private key of the second device, and the attribute information of the target data.
- the second target key includes:
- the second device generates a third intermediate key according to the public key of the first device, the public key of the third device, and the private key of the second device.
- the second device generates the second target key according to the third intermediate key and the attribute information of the target data.
- the first target key is generated according to the first intermediate key and the attribute information of the target data
- the first intermediate key is generated according to the public key of the second device and the public key of the third device.
- the key and the private key of the first device are generated.
- the second device generating the second target key according to the third intermediate key and attribute information of the target data includes:
- the second device generates a fourth intermediate key according to the third intermediate key and the time identifier to which the target data belongs.
- the second device generates the second target key according to the fourth intermediate key and the data type to which the target data belongs.
- the first target key is generated according to the second intermediate key and the data type to which the target data belongs
- the second intermediate key is generated according to the first intermediate key and the time at which the target data belongs Logo generation.
- the second device generating the third intermediate key according to the public key of the first device, the public key of the third device, and the private key of the second device includes:
- the second device performs bilinear pairing processing on the public key of the first device, the public key of the third device, and the private key of the second device to generate the third intermediate key.
- the first intermediate key is generated by performing bilinear pairing processing on the public key of the second device, the public key of the third device, and the private key of the first device.
- the second device generating the second target key according to the public key of the first device, the public key of the third device, and the private key of the second device includes:
- the second device performs bilinear pairing processing on the public key of the first device, the public key of the third device, and the private key of the second device to generate the second target key.
- the first target key is generated by performing bilinear pairing processing on the public key of the second device, the public key of the third device, and the private key of the first device.
- the method before the second device generates the second target key according to the public key of the first device, the public key of the third device, and the private key of the second device, the method further includes:
- the second device generates the public key of the second device and the private key of the second device based on the bilinear pairing process.
- the bilinear pairing process is an asymmetric bilinear pairing process.
- an embodiment of the present application provides a data encryption processing device, which is applied to a first device, and the device includes: a processing module and a transceiver module.
- the processing module is configured to obtain the target data to be encrypted; and, according to the first target key, encrypt the target data to obtain the encrypted data of the target data, wherein the first device according to the second The public key of the device, the public key of the third device, and the private key of the first device generate the first target key; the transceiver module is configured to send encrypted data of the target data to the second device , The encrypted data is used for decryption by a second target key, which is based on the private key of the second device, the public key of the third device, and the public key of the first device generate.
- the processing module is specifically used for:
- the first target key is generated according to the public key of the second device, the public key of the third device, the private key of the first device, and the attribute information of the target data.
- the second target key is generated according to the private key of the second device, the public key of the third device, the public key of the first device, and the attribute information of the target data.
- the attribute information of the target data includes at least one of a time identifier to which the target data belongs and a data type to which the target data belongs.
- the transceiver module is specifically used for:
- the processing module is specifically used for:
- a first intermediate key according to the public key of the second device, the public key of the third device, and the private key of the first device; and, according to the first intermediate key and the target data
- the attribute information of generates the first target key.
- the second target key is generated according to the third intermediate key and the attribute information of the target data
- the third intermediate key is generated according to the private key of the second device and the public key of the third device. The key and the public key of the first device are generated.
- the processing module is specifically used for:
- the second target key is generated according to the fourth intermediate key and the data type to which the target data belongs
- the fourth intermediate key is generated according to the third intermediate key and the time to which the target data belongs Logo generation.
- the processing module is specifically used for:
- the third intermediate key is generated by performing bilinear pairing processing on the private key of the second device, the public key of the third device, and the public key of the first device.
- the processing module is specifically used for:
- the second target key is generated by performing bilinear pairing processing on the private key of the second device, the public key of the third device, and the public key of the first device.
- the processing module is also used to:
- the public key of the first device and the private key of the first device are generated.
- the bilinear pairing process is an asymmetric bilinear pairing process.
- an embodiment of the present application provides a data decryption processing device, which is applied to a second device, and the device includes: a transceiver module and a processing module.
- the transceiver module is configured to receive encrypted data to be decrypted.
- the encrypted data is obtained by encrypting the target data with a first target key.
- the first target key is based on the private key of the first device, the second The public key of the device and the public key of the third device are generated.
- the processing module is configured to generate a second target key according to the public key of the first device, the public key of the third device, and the private key of the second device; and, according to the second target The key is used to decrypt the encrypted data to obtain the target data of the encrypted data.
- the processing module is specifically used for:
- the second target key is generated according to the public key of the first device, the public key of the third device, the private key of the second device, and the attribute information of the target data, the first target key Generated according to the public key of the second device, the public key of the third device, the private key of the first device, and the attribute information of the target data.
- the attribute information of the target data includes at least one of a time identifier to which the target data belongs and a data type to which the target data belongs.
- the processing module is specifically used for:
- a third intermediate key according to the public key of the first device, the public key of the third device, and the private key of the second device; and, according to the third intermediate key and the target data
- the second target key is generated according to the attribute information of the target data
- the first target key is generated according to the attribute information of the first intermediate key and the target data.
- the first intermediate key is generated according to the attribute information of the second device
- the public key, the public key of the third device, and the private key of the first device are generated.
- the processing module is specifically used for:
- the processing module is specifically used for:
- the processing module is specifically used for:
- the processing module is also used to:
- the public key of the second device and the private key of the second device are generated.
- the bilinear pairing process is an asymmetric bilinear pairing process.
- the first device, the second device, and the third device may be any one of a vehicle, a cloud server, and a supervisory device, respectively. kind.
- an embodiment of the present application provides an electronic device, including: a processor, a memory, and a transceiver, the memory is coupled to the processor, and the memory is used to store computer program code, the computer program code including Computer instructions, when the processor reads the computer instructions from the memory, so that the electronic device executes the method steps described in the first aspect or the second aspect; the transceiver and the processor Coupled, the processor controls the transceiver to send and receive messages.
- an embodiment of the present application provides a readable storage medium that stores an execution instruction, and is characterized in that when at least one processor of an electronic device executes the execution instruction, the electronic The device executes the method steps described in the first aspect or the second aspect.
- an embodiment of the present application provides a computer program product, the computer program product includes computer program code, when the computer program code is executed by a computer, the computer executes the above-mentioned first aspect or the above-mentioned second aspect The method described.
- an embodiment of the present application provides a chip, which is connected to a memory, and is used to read and execute a software program stored in the memory to implement the method provided in the first aspect or the second aspect. .
- FIG. 1 is an exemplary system architecture diagram provided by an embodiment of the application
- Figure 2 is another exemplary system architecture diagram provided by an embodiment of the application.
- FIG. 3 is a schematic flowchart of a data encryption processing method provided by an application embodiment
- FIG. 4 is an example of the ciphertext c generated by the first device in combination with the first intermediate key and the time identifier to which the target data belongs;
- FIG. 5 is an example of the ciphertext c generated by the first device in combination with the first intermediate key and the data type to which the target data belongs;
- FIG. 6 is an example of a ciphertext c generated by the first device in combination with the first intermediate key and the time identifier and data type to which the target data belongs;
- FIG. 7 is a schematic flowchart of a data decryption processing method provided by an embodiment of the application.
- FIG. 8 is a module structure diagram of a data encryption processing device provided by an embodiment of the application.
- FIG. 9 is a module structure diagram of a data decryption processing device provided by an embodiment of the application.
- FIG. 10 is a schematic structural diagram of an electronic device 1000 provided by an embodiment of the application.
- the vehicle, the cloud server, and the supervision device respectively generate their own public and private key pairs.
- the vehicle encrypts the data of the vehicle, it generates a random key, and uses the public keys of the vehicle, the cloud server and the supervision device to encrypt the random key, and uses the random key to encrypt the data of the vehicle.
- the cloud server or supervisory equipment needs to read the data of the vehicle, it uses the private key to decrypt the random key, and then uses the random key to secrete the data of the vehicle.
- the public-private key pair generated by the vehicle is (pk V ,sk V ), where pk V represents the public key of the vehicle, and sk V represents the private key of the vehicle.
- the public-private key pair generated by the cloud server is (pk S , sk S ), where pk s represents the public key of the cloud server, and sk s represents the private key of the cloud server.
- the public-private key pair generated by the supervision device is (pk AA , sk AA ), where pk AA represents the public key of the supervision device, and skAA represents the private key of the supervision device.
- the car data to be encrypted is m
- a random key ek is generated.
- the vehicle encrypts the vehicle data m based on the public key of the vehicle, cloud server and supervision equipment, and the obtained encrypted data is [E(pk V ,ek),E(pk S ,ek),E(pk AA ,ek), Enc(ek,m)].
- E(pk V , ek) represents the data encrypted by using the vehicle’s public key pk V to the random key ek using an asymmetric encryption algorithm
- E(pk S , ek) represents using the cloud server’s public key pk S to
- the random key ek uses an asymmetric encryption algorithm to encrypt data
- E(pk AA ,ek) represents the data encrypted with the random key ek using the asymmetric encryption algorithm using the public key pk AA of the supervision device
- Enc(ek ,m) represents the data encrypted with the symmetric encryption algorithm to the random key.
- the encryption method described above has high encryption complexity, and requires more computing resources and transmission resources, which may affect the performance of the vehicle during operation.
- the embodiment of the present application generates random secrets on the encryption terminal and the decryption terminal respectively.
- Key without encrypting the random key and carrying it in the ciphertext so as to avoid the problem of high encryption complexity caused by using each public key to encrypt the random key separately, and to avoid carrying the random secret in the ciphertext.
- the key-encrypted ciphertext causes the ciphertext to be too long, thereby ensuring the performance of the vehicle during operation.
- FIG. 1 is an exemplary system architecture diagram provided by an embodiment of the application.
- the method can be applied to the Internet of Vehicles, specifically involving vehicles, cloud servers, and monitoring equipment in the Internet of Vehicles.
- Supervision equipment may refer to equipment in the vehicle supervision department, such as equipment belonging to the traffic police department, equipment belonging to the manufacturer of the vehicle, and so on.
- the vehicle and the supervisory equipment communicate with the cloud server respectively.
- vehicle data such as vehicle diagnostic data, logs, in-vehicle system access data, and communication data with the outside world are generated.
- the vehicle can encrypt the generated vehicle data according to a preset cycle or based on an event trigger mode, and send the encrypted data to the cloud server.
- the cloud server saves the encrypted data.
- the cloud server When the cloud server needs to use the vehicle data, it uses the decryption method corresponding to the vehicle-side encryption method to decrypt the vehicle data and use it.
- the monitoring device When the monitoring device needs to use the vehicle data, it can request the cloud server to obtain the vehicle data. After receiving the request, the cloud server sends the saved encrypted vehicle data to the monitoring device, and the monitoring device uses the decryption method corresponding to the encryption method on the vehicle side Decrypt and use the vehicle data.
- Fig. 2 is another exemplary system architecture diagram provided by an embodiment of the application.
- the method can be applied to the Internet of Vehicles, specifically involving vehicles, cloud servers, and terminal devices in the Internet of Vehicles.
- the terminal device may be a device that provides users with voice and/or data connectivity, for example, a handheld device with a wireless connection function, a vehicle-mounted device, a roadside unit, and so on.
- Common terminal devices include: mobile phones, tablet computers, notebook computers, handheld computers, mobile internet devices (MID), wearable devices, such as smart watches, smart bracelets, pedometers, and so on.
- MID mobile internet devices
- wearable devices such as smart watches, smart bracelets, pedometers, and so on.
- the manner in which the vehicle encryption data and the cloud server save the data are the same as those in the above-mentioned FIG.
- the terminal device When the terminal device needs to view vehicle data, it can send request information to the cloud server. After the cloud server receives the request information, it decrypts the vehicle data, and filters out the data to be sent to the terminal device according to the authority of the terminal device, the requested data type and other information, and encrypts the data to be sent to the terminal device To send the encrypted data to the terminal device. After receiving the data, the terminal device uses the decryption method corresponding to the cloud server-side encryption method to decrypt the vehicle data and use it.
- the communication system based on it can be a wideband code division multiple access (WCDMA) communication system, a long term evolution (LTE) communication system, and a cloud Wireless access network (cloud radio access network, CRAN), 5G mobile communication system or new generation radio (NR) communication system, or future mobile communication system, WiFi system, public land mobile network for future evolution (public land mobile network) network, PLMN) network, etc., which are not specifically limited in the embodiment of the present application.
- WCDMA wideband code division multiple access
- LTE long term evolution
- NR new generation radio
- Symmetric encryption means that the key used for encryption is the same as the key used for decryption.
- Commonly used symmetric encryption algorithms include data encryption standard (DES), advanced encryption standard (AES), Blowfish, etc.
- Asymmetric encryption means that the key used for encryption is different from the key used for decryption.
- the encryption party uses the public key for encryption, and the decryption party uses the private key for decryption.
- the public key and the private key have a specific mathematical relationship, and the data encrypted with the public key can only be decrypted by the corresponding private key.
- Commonly used asymmetric encryption algorithms include public key cryptography (RSA Public Key System, RSA), elliptic curve cryptography (ECC), etc.
- KDF The key derivation function
- KDF uses a pseudo-random function to derive one or more keys from the secret value. KDF can be used to extend the key to a longer key or obtain a key in the required format.
- the key derivation function is usually used with non-secret parameters to derive one or more keys from the public secret value. In this way, an attacker who obtained the derived key can be prevented from learning useful information about the input secret value or any other derived key.
- KDF can also be used to ensure that the derived key has other desired properties, for example, in certain specific Avoid "weak keys" in the encryption system.
- mapping is called bilinear mapping or bilinear pairing.
- the bilinear pairing is called a symmetric bilinear pairing, otherwise, the bilinear pairing is called an asymmetric bilinear pairing.
- linear coefficients can be converted into exponents.
- Fig. 3 is a schematic flowchart of a data encryption processing method provided by an application embodiment.
- the execution body of the method is a first device, and the first device is a device that encrypts data in a third-party device involved in encrypting and decrypting data, such as the above-mentioned Fig. 1 Or the vehicle illustrated in Figure 2.
- the method includes:
- S301 The first device obtains target data to be encrypted.
- the first device is a vehicle.
- vehicle diagnostic data, logs, in-vehicle system access data, and communication data with the outside world may be generated, and the vehicle may save these data.
- the vehicle can encrypt and send these data in a preset period or triggered by an event. For example, if the preset period is one day, the vehicle can obtain the data of the day stored on the vehicle at a certain time of the day, and use subsequent methods to encrypt the data and send it to the cloud server. For another example, after the vehicle receives an instruction to acquire data sent by the cloud server, it acquires the data stored on the vehicle based on the instruction, and uses a subsequent method to encrypt the data and send it to the cloud server.
- the first device generates a first target key according to the public key of the second device, the public key of the third device, and the private key of the first device.
- the three-party devices involved in encrypting and decrypting data include the first device, the second device, and the third device. Therefore, the second device and the third device are the other two devices among the three-party devices.
- the second device may be the aforementioned cloud server, and the third device may be the aforementioned supervisory device.
- the first device, the second device, and the third device may generate their respective public keys and private keys based on system public parameters.
- the public parameters of the system may be determined through negotiation between the first device, the second device, and the third device.
- the first device generates the system public parameters and sends the system public parameters to the second device and the third device. If the second device and the third device agree to use the system public parameters, the system public parameters are saved And reply the confirmation message to the first device. If one of the second device and the third device does not agree to use the system public parameters, new system public parameters can be generated and sent to the other two parties and confirmed by the other two parties. And then determine the public parameters of the system confirmed by the three parties.
- the public parameters of the system can be determined by one of the three-party devices.
- the system public parameters may be generated by the first device, the first device sends the generated system public parameters to the second device and the third device, and the second device and the third device save the system public parameters based on the system public parameters.
- the parameters generate their own public and private keys.
- the public parameters of the system can be determined by a trusted third-party device.
- the trusted third-party device is a device other than the first device, the second device, and the third device.
- the trusted third-party device can communicate with the first device, the second device, and the third device, respectively.
- the first device, the second device, and the third device can use the same method to generate their own public key and private key, respectively.
- the first device, the second device, and the third device may generate their own public key and private key based on the bilinear pairing process.
- the bilinear pairing can be a symmetric bilinear pairing or an asymmetric bilinear pairing.
- asymmetric bilinear pairing When generating the public key and the private key based on the bilinear pairing process, either symmetric bilinear pairing or asymmetric bilinear pairing can be used. The descriptions are made separately below.
- the public key of the first device is pk V
- the private key is sk V
- the public key of the second device is pk s
- the private key is sk s
- the public key of the third device is pk AA
- the private key For sk AA is all represented by these symbols.
- the public key and private key generated based on the nonlinear pairing process are expressed in the form of a public-private key pair.
- the first device, the second device, and the third device can negotiate to determine the system public parameter G 1 , assuming P is G generator 1, the first device public key pair (pk V, sk V) may be (1) represented by the following formula.
- x.P represents the public key of the first device
- x represents the private key of the first device
- the public and private key pair (pk S , sk S ) of the second device can be expressed by the following formula (2).
- y.P represents the public key of the second device
- y represents the private key of the second device
- the public and private key pair (pk AA , sk AA ) of the third device can be expressed by the following formula (3).
- y.P represents the public key of the second device
- y represents the private key of the second device
- the first device, the second device, and the third device can negotiate to determine the system public parameters G 1 and G 2 , Assuming that P 1 is the generator of G 1 and P 2 is the generator of G 2 , then the public and private key pair (pk V , sk V ) of the first device can be expressed by the following formula (4).
- x.P1 represents the public key of the first device
- x represents the private key of the first device
- the public and private key pair (pk S , sk S ) of the second device can be expressed by the following formula (5).
- (yP 1 , yP 2 ) represents the public key of the second device, and y represents the private key of the second device.
- the public and private key pair (pk AA , sk AA ) of the third device can be expressed by the following formula (6).
- z.P represents the public key of the third device
- z represents the private key of the second device.
- the public key of one of the first device and the second device needs to use P 1 and P 2 at the same time, and the public key of the first device only uses P 1.
- the public key of the second device uses P 1 and P 2 at the same time.
- the public key of the first device can also use P 1 and P 2 at the same time, and the public key of the second device uses only P 2.
- the public-private key pair of the first device is used
- the above formula (5) only needs to replace y in formula (5) with x.
- the public and private key pair of the second device uses the above formula (4), and only the formula (4) Replace x with y.
- the specific form of the aforementioned system public parameters may be other forms, and is not limited to the aforementioned G1, or G1 and G2.
- the public keys may be provided to the other two parties.
- the first device may send its own public key to the second device and the third device.
- the first device can obtain the public key of the second device and the public key of the third device. On this basis, the first device generates the first target key based on the public key of the second device, the public key of the third device, and the private key of the first device.
- the first device encrypts the target data according to the first target key to obtain encrypted data of the target data.
- the first device may use the symmetric encryption algorithm described above to encrypt the target data.
- the target data is m
- the first target key obtained through the foregoing steps is ek
- the encrypted data may be Enc(ek, m).
- the first device sends the encrypted data of the foregoing target data to the second device.
- the first device is a device that encrypts target data
- the second device is a device that decrypts target data
- the third device is a device among the three-party devices.
- the embodiments of the present application do not limit the specific forms of the first device, the second device, and the third device.
- the first device, the second device, and the third device may be any one of a vehicle, a cloud server, and a supervisory device, respectively.
- the first device When the first device sends data, it only needs to send the encrypted data after encrypting the target data, and does not need to send the above-mentioned first target key.
- the second device After the second device receives the encrypted data, it uses the method corresponding to the method used by the first device to generate the first target key to generate the second target key, and uses the method corresponding to the method used by the first device to encrypt the target data to decrypt the target data .
- the second device generates a second target key according to the private key of the second device, the public key of the third device, and the public key of the first device, and uses the second target key to decrypt the encrypted data to obtain the target data.
- the decryption process of the second device will be described in detail in the following embodiments.
- step S302 only needs to be executed before step S303, and the order of execution of step S302 and step S301 is in no particular order.
- the first device generates a first target key based on the public key of the second device, the public key of the third device, and the private key of the first device, and uses the first target key to encrypt the target data to obtain Encrypted data of the target data.
- the first device then only needs to send the encrypted data.
- the second device receives the encrypted data, it only needs to use the method corresponding to the first device, according to the private key of the second device, the public key of the first device, and the third device.
- the public key of the device generates a second target key, and uses the second target key to decrypt the target data.
- the first device generates the first target key instead of encrypting the first target key, so that when sending encrypted data, it does not need to carry the encrypted first target key and sends the ciphertext that only includes the encrypted data, thereby avoiding encryption.
- the length of the text is too long.
- the first device does not need to separately encrypt the first target key, and can also reduce the amount of calculation during encryption. Therefore, the encryption complexity of the first device is greatly reduced, so that data encryption does not occupy too much
- the computing resources and transmission resources ensure that the performance of the first device is not affected.
- the first device When the first device generates the above-mentioned first target key according to the public key of the second device, the public key of the third device, and the private key of the first device, it may be performed based on any one of the following options.
- the first device In the first optional manner, the first device generates a key based on the public key of the second device, the public key of the third device, and the private key of the first device, and directly uses the generated key as the first target. Key. Correspondingly, the first device uses the first target key to encrypt the target data, and sends the encrypted data.
- the first device In the second optional manner, the first device generates a key based on the public key of the second device, the public key of the third device, and the private key of the first device, and uses the generated key as the first intermediate key , On the basis of the first intermediate key, the first target key is generated in combination with the attribute information of the target data. Correspondingly, the first device uses the first target key to encrypt the target data, and sends the encrypted data and the attribute information of the target data.
- the following first describes the process in which the first device generates a key according to the public key of the second device, the public key of the third device, and the private key of the first device in the above two optional methods.
- the first device, the second device, and the third device can respectively generate their own public key and private key based on the bilinear pairing process.
- the first device uses the public key of the second device, the third device When generating a key with the public key of the first device and the private key of the first device, the public key of the second device, the public key of the third device, and the private key of the first device can be paired with each other to generate a key .
- the first device uses the symmetric bilinear pairing process to generate a key accordingly.
- the first device first uses e(pk S ,pk AA ) x to represent the key, and then performs symmetric bilinear pairing processing on e(pk S ,pk AA ) x to obtain a key e(P ,P) xyz , after this processing, the linear coefficient in e(pk S ,pk AA ) x is transformed into the exponential coefficient in e(P,P) xyz.
- the first device can directly use e(P,P) xyz as the first target key, and use the first target key to encrypt the target data.
- the first device can use e(P,P) xyz as the first intermediate key, and on the basis of the first intermediate key, combine the target data Generate the first target key from the attribute information, and then use the first target key to encrypt the target data.
- the first device uses the asymmetric bilinear pairing process to generate a key accordingly.
- the first device first uses e(yP 1 ,pk AA ) x to represent the key, and then performs asymmetric bilinear pairing processing on e(yP 1 ,pk AA ) x to obtain a key e( P 1 , P 2 ) xyz , after this processing, the linear coefficient in e(yP 1 , pk AA ) x is transformed into the exponential coefficient in e(P 1 , P 2 ) xyz.
- the first device can directly use e(P 1 , P 2 ) xyz as the first target key, and use the first target key to encrypt the target data .
- the first device can use e(P 1 , P 2 ) xyz as the first intermediate key, and on the basis of the first intermediate key, combine The attribute information of the target data generates a first target key, and then the first target key is used to encrypt the target data.
- the first device performs bilinear pairing processing on the public key of the second device, the public key of the third device, and the private key of the first device to generate a key for encryption and decryption.
- the two devices can also generate a key for decryption based on the bilinear pairing process, so that the first device and the second device do not need to exchange three-party keys.
- the above describes the process in which the first device generates a key based on the public key of the second device, the public key of the third device, and the private key of the first device.
- the first device directly uses the generated key as the first target key and encrypts the target data.
- the first device will use the generated key as the first intermediate key, and combine the attribute information of the target data on the basis of the first intermediate key. Generate the first target key.
- the following describes the process in which the first device combines the first intermediate key and the attribute information of the target data to generate the first target key.
- the attribute information of the first target key may include at least one of a time identifier to which the target data belongs and a data type to which the target data belongs.
- the time to which the target data belongs may be the time period during which the target data is generated, and the time period is, for example, a certain day.
- the time identifier to which the target data belongs can be a time value.
- the time identifier to which a certain target data belongs is 20200101.
- the data type to which the target data belongs may include, for example, driving data type, charging data type, k-box data type, and the like.
- the method of generating the first target key by the first device combining the first intermediate key and the attribute information of the target data may be any of the following:
- the first device combines the first intermediate key and the time identifier to which the target data belongs to generate the first target key.
- the first device may use each of the foregoing time periods as a cycle, for example, if one day is a time period, then one day is a cycle. At the beginning of each cycle, the first device combines the first intermediate key and the time stamp of the cycle to generate the first target key.
- the first device may use the key derivation function KDF explained above to generate the first target key.
- the first device can use the following formula (7) to calculate ek using KDF.
- e(P,P) xyz is the first intermediate key obtained by the aforementioned method
- session-tag represents the period identifier of the current period
- the first device After obtaining the first target key based on this method, when the first device sends encrypted data, assuming that the encrypted data after encrypting the target data is c1, the ciphertext c sent by the first device is (session-tag, c1), That is, the first device sends the encrypted data and the time identifier to which the target data belongs.
- FIG. 4 is an example of the ciphertext c generated by the first device in combination with the first intermediate key and the time identifier to which the target data belongs.
- the first part of the ciphertext c is the time identifier session-tag to which the target data belongs.
- After the time mark session-tag is the encrypted data c1.
- the first device generates the first target key on top of the first intermediate key in combination with the time identifier to which the target data belongs, so that the first device does not directly use the first intermediate key as the first target key.
- the security of the first intermediate key generated by the public key and the private key is protected.
- the first device combines the first intermediate key and the data type to which the target data belongs to generate the first target key.
- the first device generates the first target key of each type of data separately.
- the first device can use the following formula (8) to calculate the first target key of the i-th data type using KDF ek i .
- e(P,P) xyz is the first intermediate key obtained by the aforementioned method.
- each data type has its own first target key.
- the first device uses the first target key corresponding to the data type to encrypt according to the data type to which the target data belongs.
- any target data m i in m represents data belonging to the i-th data type
- the first device can use the following formula (9) as m i is encrypted, and the ciphertext c i is obtained .
- ek i is the aforementioned first target key of the i-th data type
- mi is the target data of the i-th data type.
- the ciphertext c when the first device sends encrypted data can be in the following form:
- Fig. 5 is an example of a ciphertext c generated by the first device in combination with the first intermediate key and the data type to which the target data belongs.
- the ciphertext c includes multiple parts, and each part includes data of the encrypted data. Type and encrypted data.
- the first device generates the first target key corresponding to each data type in combination with the data type to which the target data belongs on the first intermediate key, and uses the first target secret corresponding to each data type.
- the key encrypts each type of target data, so that the granularity of data encryption is more refined, so that different types of data are encrypted with different keys. In this way, even if a certain first target key is leaked, it will not Affect the security of other target data.
- the first device generates the first target key in combination with the first intermediate key, the time identifier to which the target data belongs, and the data type to which the target data belongs.
- This method is a combination of the above two methods, and the first device can combine the above two methods in any one of the following methods.
- the first device first uses the above-mentioned first method, that is, combines the first intermediate key and the time stamp to which the target data belongs to generate a key, and uses the key as the second intermediate key, and then Using the second method described above, the second intermediate key is used as the first intermediate key in the second method described above, and the second intermediate key is combined with the data type to which the target data belongs to generate the first target key.
- the first device first uses the above-mentioned second method, that is, combining the first intermediate key and the data type to which the target data belongs to generate a key for each data type, and use these keys as A second intermediate key, and further, for each second intermediate key, the first method is used, the second intermediate key is used as the first intermediate key in the first method, and the second intermediate key is combined with the second intermediate key.
- the intermediate key and the time identifier to which the target data belong generates the first target key of each data type.
- the ciphertext c obtained based on any of the above two combinations can be in the following form:
- FIG. 6 is an example of the ciphertext c generated by the first device in combination with the first intermediate key and the time identifier and data type to which the target data belongs.
- the first part of the ciphertext c is the time identifier session to which the target data belongs.
- -tag includes multiple parts after the time identifier session-tag, and each part includes the data type of the encrypted data and the encrypted data.
- the security of the first intermediate key can be protected, and the leakage of a certain first target key will not affect the security of other target data.
- FIG. 7 is a schematic flowchart of a data decryption processing method provided by an embodiment of the application.
- the execution body of the method is a second device, and the second device is a device that decrypts data in a third-party device involved in encrypting and decrypting data, such as the above figure. 1 or the cloud server illustrated in Figure 2.
- the method includes:
- the second device receives encrypted data to be decrypted.
- the second device may receive the ciphertext sent by the first device, and then use the ciphertext as the encrypted data to be decrypted.
- the encrypted data is obtained by encrypting the target data using the first target key through the encryption method of the foregoing embodiment.
- step S701 and the following step S702 may not be executed continuously.
- the second device after receiving the encrypted data from the first device, the second device first saves it.
- the second device executes the following steps S702-S703 to obtain target data.
- the second device generates a second target key according to the public key of the first device, the public key of the third device, and the private key of the second device.
- the process of generating the second target key by the second device is the same as the process of generating the first target key by the first device, except that the parameters used by the first device are the public key of the second device and the public key of the third device. And the private key of the first device, and the parameters used by the second device are the public key of the first device, the public key of the third device, and the private key of the second device.
- the second device may generate the second target key based only on the public key of the first device, the public key of the third device, and the private key of the second device, or the second device The device may also generate the second target key based on the public key of the first device, the public key of the third device, the private key of the second device, and the attribute information of the target data.
- the second device can first base on the public key of the first device, The public key of the third device and the private key of the second device are used to generate a third intermediate key, and then the second target key is generated according to the third intermediate key and the attribute information of the target data.
- the second device generates the second target key according to the third intermediate key and the attribute information of the target data in the following ways:
- the second device first reads the time identifier of the target data from the ciphertext, and uses the aforementioned first device to generate the first target key according to the first intermediate key and the time identifier to which the target data belongs.
- the same method to generate the second target key reference may be made to the foregoing embodiment for details, which will not be repeated here.
- the second device first reads the data type to which the target data belongs from the ciphertext, and uses the aforementioned first device to generate the first target key according to the first intermediate key and the data type to which the target data belongs.
- the same method is used to generate the second target key of each data type. For details, please refer to the foregoing embodiment, which will not be repeated here.
- the second device first reads the time identifier and data type of the target data from the ciphertext, and uses the aforementioned first device to generate the first intermediate key according to the first intermediate key and the data type of the target data.
- the same method as the target key is used to generate the second target key.
- the second device first generates the fourth intermediate key according to the third intermediate key and the time identifier to which the target data belongs, and then generates the second target key according to the fourth intermediate key and the data type to which the target data belongs.
- the foregoing embodiment which will not be repeated here.
- the second device when the second device generates the second target key according to the public key of the first device, the public key of the third device, and the private key of the second device, it can The public key, the public key of the third device, and the private key of the second device are subjected to bilinear pairing processing to obtain the second target key, or to obtain the third intermediate key.
- the second device decrypts the encrypted data according to the second target key to obtain the target data.
- the second device uses a decryption algorithm corresponding to the first device to decrypt the target data using the second target key.
- the second device generates a second target key according to the public key of the first device, the public key of the third device, and the private key of the second device based on the method corresponding to the first device, and uses the second device.
- the target key decrypts the target data. Since the first device and the second device both generate the target key based on the public key and the private key, the ciphertext transmitted by the first device does not include the first target key. Therefore, it can avoid The length of the ciphertext is too long, and the second device does not need to perform a decryption process to decrypt the second target key, which also reduces the complexity of decryption. Therefore, using the decryption method of this embodiment can avoid occupying too much computing resources. And transmission resources to ensure that the performance of the second device is not affected.
- FIG. 8 is a module structure diagram of a data encryption processing device provided by an embodiment of this application.
- the device may be the aforementioned first device, or it may be capable of enabling the first device to implement the first of the methods provided in the embodiments of this application.
- the functional device of the device for example, the device may be a device or a chip system in the first device.
- the device includes: a processing module 801 and a transceiver module 802.
- the processing module 801 is configured to obtain the target data to be encrypted; and, according to the first target key, encrypt the target data to obtain the encrypted data of the target data, where the first device is based on the public key of the second device and the third The public key of the device and the private key of the first device generate the first target key.
- the transceiver module 802 is configured to send encrypted data of target data to the second device, and the encrypted data is used to generate a second target secret based on the private key of the second device, the public key of the third device, and the public key of the first device. Key for decryption.
- processing module 801 is specifically configured to:
- the public key of the second device the public key of the third device, the private key of the first device, and the attribute information of the target data
- the first target key is generated.
- the public key of the device, the public key of the first device, and the attribute information of the target data are generated.
- the attribute information of the target data includes at least one of the time identifier to which the target data belongs and the data type to which the target data belongs.
- the transceiver module 802 is specifically configured to:
- processing module 801 is specifically configured to:
- the second target key is generated according to the third intermediate key and the attribute information of the target data
- the third intermediate key is generated according to the private key of the second device, the public key of the third device, and the public key of the first device.
- processing module 801 is specifically configured to:
- a second intermediate key is generated; and according to the second intermediate key and the data type to which the target data belongs, the first target key is generated, and the second target key is generated according to The fourth intermediate key and the data type to which the target data belongs are generated, and the fourth intermediate key is generated according to the third intermediate key and the time identifier to which the target data belongs.
- processing module 801 is specifically configured to:
- processing module 801 is specifically configured to:
- processing module 801 is further configured to:
- the public key of the first device and the private key of the first device are generated.
- the above-mentioned bilinear pairing process is an asymmetric bilinear pairing process.
- the first device may be any one of a vehicle, a cloud server, and a supervisory device.
- the data encryption processing device provided in the embodiment of the present application can execute the method steps in the above method embodiment, and its implementation principles and technical effects are similar, and will not be repeated here.
- FIG. 9 is a module structure diagram of a data decryption processing device provided by an embodiment of this application.
- the device may be the aforementioned second device, or it may be capable of enabling the second device to implement the second in the method provided by the embodiment of this application.
- the functional device of the device for example, the device may be a device or a chip system in the second device.
- the device includes: a transceiver module 901 and a processing module 902.
- the transceiver module 901 is configured to receive encrypted data to be decrypted.
- the encrypted data is obtained by encrypting the target data with a first target key.
- the first target key is based on the private key of the first device, the public key of the second device, and the first device. Three generation of the public key of the device.
- the processing module 902 is configured to generate a second target key according to the public key of the first device, the public key of the third device, and the private key of the second device; and decrypt the encrypted data according to the second target key, Get the target data of the encrypted data.
- processing module 902 is specifically configured to:
- the public key of the first device the public key of the third device, the private key of the second device, and the attribute information of the target data
- the second target key is generated.
- the public key of the device, the private key of the first device, and the attribute information of the target data are generated.
- the attribute information of the target data includes at least one of the time identifier to which the target data belongs and the data type to which the target data belongs.
- processing module 902 is specifically configured to:
- the first target key is generated according to the first intermediate key and the attribute information of the target data
- the first intermediate key is generated according to the public key of the second device, the public key of the third device, and the private key of the first device.
- processing module 902 is specifically configured to:
- a fourth intermediate key is generated; and according to the fourth intermediate key and the data type to which the target data belongs, the second target key is generated, and the first target key is based on The second intermediate key and the data type to which the target data belongs are generated, and the second intermediate key is generated according to the first intermediate key and the time identifier to which the target data belongs.
- processing module 902 is specifically configured to:
- processing module 902 is specifically configured to:
- processing module 902 is further configured to:
- the public key of the second device and the private key of the second device are generated.
- the bilinear pairing process is an asymmetric bilinear pairing process.
- the second device may be any one of a vehicle, a cloud server, and a supervisory device.
- the data decryption processing device provided in the embodiment of the present application can execute the method steps in the above method embodiment, and its implementation principles and technical effects are similar, and will not be repeated here.
- the division of the various modules of the above device is only a division of logical functions, and may be fully or partially integrated into a physical entity during actual implementation, or may be physically separated.
- these modules can all be implemented in the form of software called by processing elements; they can also be implemented in the form of hardware; some modules can be implemented in the form of calling software by processing elements, and some of the modules can be implemented in the form of hardware.
- the determining module may be a separately established processing element, or it may be integrated in a certain chip of the above-mentioned device for implementation.
- each step of the above method or each of the above modules can be completed by an integrated logic circuit of hardware in the processor element or instructions in the form of software.
- the above modules may be one or more integrated circuits configured to implement the above methods, such as one or more application specific integrated circuits (ASIC), or one or more microprocessors (digital signal processor, DSP), or, one or more field programmable gate arrays (FPGA), etc.
- ASIC application specific integrated circuit
- DSP digital signal processor
- FPGA field programmable gate arrays
- the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processors that can call program codes.
- CPU central processing unit
- these modules can be integrated together and implemented in the form of a system-on-a-chip (SOC).
- SOC system-on-a-chip
- the computer program product includes one or more computer instructions.
- the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
- the computer instructions may 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 may be transmitted from a website, computer, server, or data center.
- the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrated with one or more available media.
- the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
- FIG. 10 is a schematic structural diagram of an electronic device provided by an embodiment of the application.
- the electronic device may be the first device described in the foregoing embodiment, or may be the second device described in the foregoing embodiment.
- the electronic device 1000 may include: a processor 101 (for example, a CPU), a memory 102, and a transceiver 103; the transceiver 103 is coupled to the processor 101, and the processor 101 controls the transceiver 103 to send and receive actions.
- the memory 102 may store various instructions for completing various processing functions and implementing method steps executed by the first device or the second device in the embodiments of the present application.
- the electronic device involved in the embodiment of the present application may further include: a power supply 104, a system bus 105, and a communication port 106.
- the transceiver 103 may be integrated in the transceiver of the electronic device, or may be an independent transceiver antenna on the electronic device.
- the system bus 105 is used to implement communication connections between components.
- the aforementioned communication port 106 is used to implement connection and communication between the electronic device and other peripherals.
- the above-mentioned processor 101 is configured to couple with the memory 102 to read and execute instructions in the memory 102 to implement the method steps executed by the first device or the second device in the above-mentioned method embodiment.
- the transceiver 103 is coupled with the processor 101, and the processor 101 controls the transceiver 103 to send and receive messages.
- the implementation principles and technical effects are similar, and will not be repeated here.
- the system bus mentioned in FIG. 10 may be a peripheral component interconnect standard (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
- PCI peripheral component interconnect standard
- EISA extended industry standard architecture
- the system bus can be divided into an address bus, a data bus, a control bus, and the like. 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.
- the communication interface is used to realize the communication between the database access device and other devices (such as the client, the read-write library and the read-only library).
- the memory may include random access memory (RAM), and may also include non-volatile memory, such as at least one disk memory.
- the processor mentioned in Figure 10 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, and a field programmable gate.
- an embodiment of the present application further provides a readable storage medium, which stores instructions in the storage medium, which when run on a computer, causes the computer to execute the method in the above-mentioned embodiments shown in FIGS. 2 to 7 .
- an embodiment of the present application further provides a chip for executing instructions, and the chip is configured to execute the method of the embodiment shown in FIG. 2 to FIG. 7.
- An embodiment of the present application also provides a program product, the program product includes a computer program, the computer program is stored in a storage medium, at least one processor can read the computer program from the storage medium, and the at least one When the processor executes the computer program, the method of the embodiment shown in FIG. 2 to FIG. 7 can be implemented.
- At least one refers to one or more, and “multiple” refers to two or more.
- “And/or” describes the association relationship of the associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, and B exists alone, where A, B can be singular or plural.
- the character “/” generally indicates that the associated objects before and after are in an “or” relationship; in the formula, the character “/” indicates that the associated objects before and after are in a “division” relationship.
- “The following at least one item (a)” or similar expressions refers to any combination of these items, including any combination of a single item (a) or a plurality of items (a).
- at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple indivual.
- the size of the sequence numbers of the above-mentioned processes does not mean the order of execution.
- the execution order of the processes should be determined by their functions and internal logic, and should not correspond to the embodiments of the present application.
- the implementation process constitutes any limitation.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mobile Radio Communication Systems (AREA)
- Lock And Its Accessories (AREA)
Abstract
本申请实施例提供一种数据加密处理方法、数据解密处理方法、装置及电子设备,其中,数据加密处理方法包括:第一设备获取待加密的目标数据,第一设备根据第一目标密钥,对目标数据进行加密,得到目标数据的加密数据。其中,第一设备是根据第二设备的公钥、第三设备的公钥以及第一设备的私钥生成上述第一目标密钥的。第一设备进而向第二设备发送目标数据的加密数据。该加密数据发送至第二设备之后,用于通过根据所述第二设备的私钥、第三设备的公钥以及第一设备的公钥生成的第二目标密钥进行解密。该方法能保证加密侧和解密侧设备的性能不受影响。
Description
本申请涉及通信技术,尤其涉及一种数据加密处理方法、数据解密处理方法、装置及电子设备。
随着无线通信技术的快速发展,越来越来的行业和领域开始应用这一技术,车联网技术即是其中一员。在车联网中,安装在车辆上的车载设备通过无线通信技术,对信息网络平台中的所有车辆的动态信息以及基础设施的信息等进行有效利用,以在车辆运行中提供不同的功能服务,例如进行车距控制、导航服务等。车联网中的车辆实时与基础设施以及周边车辆进行交互,因此,车联网中的每台车辆均会产生大量的数据。这些数据例如可以包括:车辆诊断数据、日志、车内系统存取数据以及与外界的通信数据等。这些数据需要上传至云服务器进行保存。由于车辆的安全行驶至关重要,因此,保存在云服务器上的数据可能需要被监管机构中的设备(本申请实施例均称为监管设备)读取。由于车辆的数据为敏感数据,因此,在传输以及存储时均需要以加密的形式进行,读取方需要读取数据时再进行解密读取。例如,车辆在向云服务器上传数据前,对数据进行加密得到密文,并将密文发送给云服务器,云服务器保存密文。云服务器或监管设备需要读取数据时,首先对密文进行解密才可以得到可以使用的明文数据。因此,在车联网中如何对数据进行加密和解密,是值得解决的问题。
现有技术中,提出了一种基于随机密钥的加密和解密方法,该方法中,由车辆、云服务器和监管设备分别生成各自的公私钥对。车辆在加密车辆的数据时,生成一个随机密钥,并分别使用车辆、云服务器以及监管设备的公钥对随机密钥加密,以及使用该随机密钥对车辆的数据进行加密。云服务器或监管设备需要读取车辆的数据时,使用私钥解密出随机密钥,再使用随机密钥机密出车辆的数据。
但是,使用现有方法的加密复杂度高,可能对车辆运行时的性能产生影响。
发明内容
本申请实施例提供一种数据加密处理方法、数据解密处理方法、装置及电子设备,用于解决现有技术中加密复杂度高可能影响车辆运行性能的问题。
第一方面,本申请实施例提供一种数据加密处理方法,该方法包括:
第一设备获取待加密的目标数据,第一设备根据第一目标密钥,对目标数据进行加密,得到目标数据的加密数据。其中,第一设备是根据第二设备的公钥、第三设备的公钥以及第一设备的私钥生成上述第一目标密钥的。第一设备进而向第二设备发送目标数据的加密数据。该加密数据发送至第二设备之后,用于通过第二目标密钥进行解密,该第二目标密钥根据第二设备的私钥、第三设备的公钥以及第一设备的公钥生成。
在该方法中,第一设备基于第二设备的公钥、第三设备的公钥以及第一设备的私钥,生成第一目标密钥,并使用该第一目标密钥加密目标数据,得到目标数据的加密数据。第一设备进而仅发送该加密数据即可,第二设备接收到该加密数据后,仅需要使用与第一设备相应的方式,根据第二设备的私钥、第一设备的公钥以及第三设备的公钥生成第二目标密钥,并使用该第二目标密钥解密出目标数据。第一设备通过生成第一目标密钥而非对第一目标密钥加密,使得在发送加密数据时无需携带加密的第一目标密钥而发送仅包括加密数据的密文即可,从而避免密文的长度过长。另外,第一设备无需分别对第一目标密钥加密,还可以减少加密时的计算量,因此,使得第一设备的加密复杂度得到极大程度的降低,进而使得数据加密不会占用过多的计算资源以及传输资源,保证第一设备的性能不受影响。
在一种可能的设计中,第一设备可以根据第二设备的公钥、第三设备的公钥、第一设备的私钥以及目标数据的属性信息,生成上述第一目标密钥。相应的,上述第二目标密钥可以根据第二设备的私钥、第三设备的公钥、第一设备的公钥以及目标数据的属性信息生成。
其中,目标数据的属性信息包括目标数据所属的时间标识与目标数据所属的数据类型中的至少一种。
在该方法中,第一设备在第二设备的公钥、第一设备的私钥和第三设备的公钥之外,结合目标数据的属性信息生成第一目标密钥,能够使得第一目标密钥的安全性得到极大提升。
在一种可能的设计中,第一设备向第二设备发送所述目标数据的加密数据,包括:
第一设备发送目标数据的加密数据以及目标数据的属性信息。
在该方法中,第一设备向第二设备发送目标数据的属性信息,使得第二设备可以依据属性信息正确解密出目标数据。
在一种可能的设计中,所述第一设备根据所述第二设备的公钥、第三设备的公钥、所述第一设备的私钥以及所述目标数据的属性信息,生成所述第一目标密钥,包括:
第一设备根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥,生成第一中间密钥,进而,所述第一设备根据所述第一中间密钥以及所述目标数据的属性信息,生成所述第一目标密钥。相应的,所述第二目标密钥根据第三中间密钥以及所述目标数据的属性信息生成,所述第三中间密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成。
在一种可能的设计中,所述第一设备根据所述第一中间密钥以及所述目标数据的属性信息,生成所述第一目标密钥,包括:
所述第一设备根据所述第一中间密钥以及所述目标数据所属的时间标识,生成第二中间密钥,进而,所述第一设备根据所述第二中间密钥以及所述目标数据所属的数据类型,生成所述第一目标密钥。相应的,所述第二目标密钥根据第四中间密钥以及所述目标数据所属的数据类型生成,所述第四中间密钥根据所述第三中间密钥以及所述目标数据所属的时间标识生成。
在该方法中,首先,第一设备在第一中间密钥之上,结合目标数据所属的时间标识生成第二中间密钥,使得第二中间密钥的安全性得到保护。其次,在第二中间密钥之上,结合目标数据所属的数据类型生成第一目标密钥,能够细化数据加密的粒度,即使存在某一 第一目标密钥泄露的情况,也不会影响其他数据的安全性。
在一种可能的设计中,所述第一设备根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥,生成第一中间密钥,包括:
所述第一设备对所述第二设备的公钥、第三设备的公钥以及所述第一设备的私钥进行双线性配对处理,生成所述第一中间密钥。相应的,所述第三中间密钥通过对所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥进行双线性配对处理生成。
在该方法中,第一设备通过对第二设备的公钥、第三设备的公钥以及第一设备的私钥进行双线性配对处理,从而生成一密钥用于加密,进行解密的第二设备相应也可以基于双线性配对处理生成一密钥用于解密,从而使得第一设备与第二设备之间无需交互三方密钥。
在一种可能的设计中,所述第一设备根据第二设备的公钥、第三设备的公钥以及所述第一设备的私钥,生成第一目标密钥,包括:
所述第一设备对所述第二设备的公钥、第三设备的公钥以及所述第一设备的私钥进行双线性配对处理,生成所述第一目标密钥。相应的,所述第二目标密钥通过对所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥进行双线性配对处理生成。
在该方法中,第一设备通过对第二设备的公钥、第三设备的公钥以及第一设备的私钥进行双线性配对处理,从而生成一密钥用于加密,进行解密的第二设备相应也可以基于双线性配对处理生成一密钥用于解密,从而使得第一设备与第二设备之间无需交互三方密钥。
在该方法中,所述第一设备根据第二设备的公钥、第三设备的公钥以及所述第一设备的私钥,生成第一目标密钥之前,还包括:
所述第一设备基于双线性配对处理,生成所述第一设备的公钥和所述第一设备的私钥。
在该方法中,所述双线性配对处理为非对称双线性配对处理。
第二方面,本申请实施例提供一种数据解密处理方法,该方法包括:
第二设备接收待解密的加密数据,该加密数据通过对目标数据使用第一目标密钥加密得到,该第一目标密钥根据第一设备的私钥、第二设备的公钥以及第三设备的公钥生成。第二设备根据第一设备的公钥、第三设备的公钥以及第二设备的私钥,生成第二目标密钥,第二设备根据第二目标密钥,对加密数据进行解密,得到加密数据的目标数据。
在该方法中,第二设备基于与第一设备相应的方法,根据第一设备的公钥、第三设备的公钥以及第二设备的私钥生成第二目标密钥,并使用该第二目标密钥解密出目标数据,由于第一设备和第二设备均基于公钥和私钥生成目标密钥,因此,第一设备传输的密文中并不包括第一目标密钥,因此,能够避免密文的长度过长,并且,第二设备无需执行解密过程以解密出第二目标密钥,也使得解密复杂度得以降低,因此,使用本实施例的解密方式能够避免占用过多的计算资源和传输资源,保证第二设备的性能不受影响。
在一种可能的设计中,所述第二设备根据第一设备的公钥、第三设备的公钥以及所述第二设备的私钥,生成第二目标密钥,包括:
第二设备根据第一设备的公钥、第三设备的公钥、第二设备的私钥以及目标数据的属性信息,生成第二目标密钥。其中,第一目标密钥根据第二设备的公钥、第三设备的公钥、第一设备的私钥以及所述目标数据的属性信息生成。
目标数据的属性信息包括目标数据所属的时间标识与目标数据所属的数据类型中的至少一种。
在一种可能的设计中,所述第二设备根据所述第一设备的公钥、第三设备的公钥、所述第二设备的私钥以及所述目标数据的属性信息,生成所述第二目标密钥,包括:
所述第二设备根据所述第一设备的公钥、所述第三设备的公钥以及所述第二设备的私钥,生成第三中间密钥。所述第二设备根据所述第三中间密钥以及所述目标数据的属性信息,生成所述第二目标密钥。相应的,所述第一目标密钥根据第一中间密钥以及所述目标数据的属性信息生成,所述第一中间密钥根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥生成。
在一种可能的设计中,所述第二设备根据所述第三中间密钥以及所述目标数据的属性信息,生成所述第二目标密钥,包括:
所述第二设备根据所述第三中间密钥以及所述目标数据所属的时间标识,生成第四中间密钥。所述第二设备根据所述第四中间密钥以及所述目标数据所属的数据类型,生成所述第二目标密钥。相应的,所述第一目标密钥根据第二中间密钥以及所述目标数据所属的数据类型生成,所述第二中间密钥根据所述第一中间密钥以及所述目标数据所属的时间标识生成。
在一种可能的设计中,所述第二设备根据所述第一设备的公钥、所述第三设备的公钥以及所述第二设备的私钥,生成第三中间密钥,包括:
所述第二设备对所述第一设备的公钥、第三设备的公钥以及所述第二设备的私钥进行双线性配对处理,生成所述第三中间密钥。相应的,所述第一中间密钥通过对所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥进行双线性配对处理生成。
在一种可能的设计中,所述第二设备根据第一设备的公钥、第三设备的公钥以及所述第二设备的私钥,生成第二目标密钥,包括:
所述第二设备对第一设备的公钥、第三设备的公钥以及所述第二设备的私钥进行双线性配对处理,生成所述第二目标密钥。相应的,所述第一目标密钥通过对所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥进行双线性配对处理生成。
在一种可能的设计中,所述第二设备根据第一设备的公钥、第三设备的公钥以及所述第二设备的私钥,生成第二目标密钥之前,还包括:
所述第二设备基于双线性配对处理,生成所述第二设备的公钥和所述第二设备的私钥。
在一种可能的设计中,所述双线性配对处理为非对称双线性配对处理。
第三方面,本申请实施例提供一种数据加密处理装置,该装置应用于第一设备,该装置包括:处理模块和收发模块。
所述处理模块,用于获取待加密的目标数据;以及,根据第一目标密钥,对所述目标数据进行加密,得到所述目标数据的加密数据,其中,所述第一设备根据第二设备的公钥、第三设备的公钥以及所述第一设备的私钥生成所述第一目标密钥;所述收发模块,用于向所述第二设备发送所述目标数据的加密数据,所述加密数据用于通过第二目标密钥进行解密,所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成。
在一种可能的设计中,所述处理模块具体用于:
根据所述第二设备的公钥、第三设备的公钥、所述第一设备的私钥以及所述目标数据的属性信息,生成所述第一目标密钥。相应的,所述第二目标密钥根据所述第二设备的私钥、 所述第三设备的公钥、所述第一设备的公钥以及所述目标数据的属性信息生成。
其中,所述目标数据的属性信息包括所述目标数据所属的时间标识与所述目标数据所属的数据类型中的至少一种。
在一种可能的设计中,所述收发模块具体用于:
向所述第二设备发送所述目标数据的加密数据以及所述目标数据的属性信息。
在一种可能的设计中,所述处理模块具体用于:
根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥,生成第一中间密钥;以及,根据所述第一中间密钥以及所述目标数据的属性信息,生成所述第一目标密钥。相应的,所述第二目标密钥根据第三中间密钥以及所述目标数据的属性信息生成,所述第三中间密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成。
在一种可能的设计中,所述处理模块具体用于:
根据所述第一中间密钥以及所述目标数据所属的时间标识,生成第二中间密钥;以及,根据所述第二中间密钥以及所述目标数据所属的数据类型,生成所述第一目标密钥。相应的,所述第二目标密钥根据第四中间密钥以及所述目标数据所属的数据类型生成,所述第四中间密钥根据所述第三中间密钥以及所述目标数据所属的时间标识生成。
在一种可能的设计中,所述处理模块具体用于:
对所述第二设备的公钥、第三设备的公钥以及所述第一设备的私钥进行双线性配对处理,生成所述第一中间密钥。相应的,所述第三中间密钥通过对所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥进行双线性配对处理生成。
在一种可能的设计中,所述处理模块具体用于:
对所述第二设备的公钥、第三设备的公钥以及所述第一设备的私钥进行双线性配对处理,生成所述第一目标密钥。相应的,所述第二目标密钥通过对所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥进行双线性配对处理生成。
在一种可能的设计中,所述处理模块还用于:
基于双线性配对处理,生成所述第一设备的公钥和所述第一设备的私钥。
在一种可能的设计中,所述双线性配对处理为非对称双线性配对处理。
第四方面,本申请实施例提供一种数据解密处理装置,应用于第二设备,该装置包括:收发模块和处理模块。
所述收发模块,用于接收待解密的加密数据,所述加密数据通过对目标数据使用第一目标密钥加密得到,所述第一目标密钥根据第一设备的私钥、所述第二设备的公钥以及第三设备的公钥生成。
所述处理模块,用于根据所述第一设备的公钥、所述第三设备的公钥以及所述第二设备的私钥,生成第二目标密钥;以及,根据所述第二目标密钥,对所述加密数据进行解密,得到所述加密数据的所述目标数据。
在一种可能的设计中,所述处理模块具体用于:
根据所述第一设备的公钥、第三设备的公钥、所述第二设备的私钥以及所述目标数据的属性信息,生成所述第二目标密钥,所述第一目标密钥根据所述第二设备的公钥、所述第三设备的公钥、所述第一设备的私钥以及所述目标数据的属性信息生成。
其中,所述目标数据的属性信息包括所述目标数据所属的时间标识与所述目标数据所属的数据类型中的至少一种。
在一种可能的设计中,所述处理模块具体用于:
根据所述第一设备的公钥、所述第三设备的公钥以及所述第二设备的私钥,生成第三中间密钥;以及,根据所述第三中间密钥以及所述目标数据的属性信息,生成所述第二目标密钥,所述第一目标密钥根据第一中间密钥以及所述目标数据的属性信息生成,所述第一中间密钥根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥生成。
在一种可能的设计中,所述处理模块具体用于:
根据所述第三中间密钥以及所述目标数据所属的时间标识,生成第四中间密钥;以及,根据所述第四中间密钥以及所述目标数据所属的数据类型,生成所述第二目标密钥,所述第一目标密钥根据第二中间密钥以及所述目标数据所属的数据类型生成,所述第二中间密钥根据所述第一中间密钥以及所述目标数据所属的时间标识生成。
在一种可能的设计中,所述处理模块具体用于:
对所述第一设备的公钥、第三设备的公钥以及所述第二设备的私钥进行双线性配对处理,生成所述第三中间密钥,所述第一中间密钥通过对所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥进行双线性配对处理生成。
在一种可能的设计中,所述处理模块具体用于:
对第一设备的公钥、第三设备的公钥以及所述第二设备的私钥进行双线性配对处理,生成所述第二目标密钥,所述第一目标密钥通过对所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥进行双线性配对处理生成。
在一种可能的设计中,所述处理模块还用于:
基于双线性配对处理,生成所述第二设备的公钥和所述第二设备的私钥。
在一种可能的设计中,所述双线性配对处理为非对称双线性配对处理。
在上述第一方面、第二方面第三方面和第四方面中,作为一种可能的设计,第一设备、第二设备和第三设备可以分别为车辆、云服务器和监管设备中的任意一种。
第五方面,本申请实施例提供一种电子设备,包括:处理器、存储器和收发器,所述存储器与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器从所述存储器中读取所述计算机指令,以使得所述电子设备执行上述第一方面或第二方面所述的方法步骤;所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
第六方面,本申请实施例提供一种可读存储介质,所述可读存储介质中存储有执行指令,其特征在于,当电子设备的至少一个处理器执行所述执行指令时,所述电子设备执行上述第一方面或第二方面所述的方法步骤。
第七方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码被计算机执行时,使得所述计算机执行上述第一方面或上述第二方面所述的方法。
第八方面,本申请实施例提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述第一方面或上述第二方面所提供的方法。
图1为本申请实施例提供的一种示例性的系统架构图;
图2为本申请实施例提供的另一种示例性的系统架构图;
图3为申请实施例提供的数据加密处理方法的流程示意图;
图4为第一设备结合第一中间密钥和目标数据所属的时间标识生成的密文c的示例;
图5为第一设备结合第一中间密钥和目标数据所属的数据类型生成的密文c的示例;
图6为第一设备结合第一中间密钥和目标数据所属的时间标识以及数据类型生成的密文c的示例;
图7为本申请实施例提供的数据解密处理方法的流程示意图;
图8为本申请实施例提供的一种数据加密处理装置的模块结构图;
图9为本申请实施例提供的一种数据解密处理装置的模块结构图;
图10为本申请实施例提供的一种电子设备1000的结构示意图。
现有技术中提供的基于随机密钥的加密和解密方法中,由车辆、云服务器和监管设备分别生成各自的公私钥对。车辆在加密车辆的数据时,生成一个随机密钥,并分别使用车辆、云服务器以及监管设备的公钥对随机密钥加密,以及使用该随机密钥对车辆的数据进行加密。云服务器或监管设备需要读取车辆的数据时,使用私钥解密出随机密钥,再使用随机密钥机密出车辆的数据。
在车辆端,假设车辆生成的公私钥对为(pk
V,sk
V),其中,pk
V表示车辆的公钥,sk
V表示车辆的私钥。云服务器生成的公私钥对为(pk
S,sk
S),其中,pk
s表示云服务器的公钥,sk
s表示云服务器的私钥。监管设备生成的公私钥对为(pk
AA,sk
AA),其中,pk
AA表示监管设备的公钥,skAA表示监管设备的私钥。假设待加密的车数据为m,车辆加密该车数据m时,生成一个随机密钥ek。车辆基于车辆、云服务器和监管设备的公钥对车数据m进行加密,所得到的加密数据为[E(pk
V,ek),E(pk
S,ek),E(pk
AA,ek),Enc(ek,m)]。其中,E(pk
V,ek)表示使用车辆的公钥pk
V对随机密钥ek使用非对称加密算法进行加密后的数据,E(pk
S,ek)表示使用云服务器的公钥pk
S对随机密钥ek使用非对称加密算法进行加密后的数据,E(pk
AA,ek)表示使用监管设备的公钥pk
AA对随机密钥ek使用非对称加密算法进行加密后的数据,Enc(ek,m)表示对随机密钥使用对称加密算法进行加密后的数据。
假设加密后的数据[E(pk
V,ek),E(pk
S,ek),E(pk
AA,ek),Enc(ek,m)]被发送到云服务器端,则相应的,云服务器对该数据解密时,首先使用云服务器的私钥sk
S从[E(pk
V,ek),E(pk
S,ek),E(pk
AA,ek),Enc(ek,m)]中解密出随机密钥ek,再使用随机密钥ek从[E(pk
V,ek),E(pk
S,ek),E(pk
AA,ek),Enc(ek,m)]中解密出车数据m。
在上述加密过程中,除了使用随机密钥对车数据加密外,还需要使用车辆的公钥、云服务器的公钥以及监管设备的公钥分别对随机密钥加密,因此,使得加密时的计算量较大。另外,通过上述方法所形成的密文中,除了使用随机密钥对车数据加密所形成的密文外,还包括了使用车辆的公钥、云服务器的公钥以及监管设备的公钥分别对随机密钥加密后的密文,因此,使得密文的整体长度较长。因此,上述的加密方法的加密复杂度高,需要占用较多的计算资源以及传输资源,从而可能对车辆运行时的性能产生影响。
考虑到现有技术中利用加密端对随机密钥加密解密端解密出随机密钥的方式可能导致车辆运行时的性能受到影响的问题,本申请实施例通过在加密端及解密端分别生成随机密钥,而无需加密随机密钥并将其携带在密文中,从而避免出现分别使用各方公钥对随机密钥加密所导致的加密复杂度高的问题,以及,避免在密文中携带对随机密钥加密后的密文所导致的密文过长的问题,进而保证车辆运行时的性能。
图1为本申请实施例提供的一种示例性的系统架构图,如图1所示,该方法可以应用于车联网中,具体涉及车联网中的车辆、云服务器以及监管设备。监管设备可以指车辆监管部门中的设备,例如属于交通警察部门的设备、属于生产车辆的生产厂家的设备等。其中,车辆和监管设备分别同云服务器通信连接。车辆在运行过程中,生成车辆诊断数据、日志、车内系统存取数据以及与外界的通信数据等车辆数据。车辆可以按照预设的周期,或者,基于事件触发方式,对生成的车辆数据进行加密,并将加密后的数据发送给云服务器。云服务器将加密后的数据进行保存。当云服务器需要使用车辆数据时,使用与车辆端加密方法相应的解密方法对车辆数据进行解密并使用。当监管设备需要使用车辆数据时,可以向云服务器请求获取车辆数据,云服务器接收到请求后,将保存的加密后的车辆数据发送给监管设备,监管设备使用与车辆端加密方法相应的解密方法对车辆数据进行解密并使用。
图2为本申请实施例提供的另一种示例性的系统架构图,如图2所示,该方法可以应用于车联网中,具体涉及车联网中的车辆、云服务器和终端设备。终端设备可以是向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备、路边单元等。常见的终端设备包括:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,例如智能手表、智能手环、计步器等。在该示例性的系统架构中,车辆加密数据以及云服务器保存数据的方式与上述图1中相同,此处不再赘述。当终端设备需要查看车辆数据时,可以向云服务器发送请求信息。云服务器接收到请求信息后,对车辆数据进行解密,并根据终端设备的权限、所请求的数据类型等信息,筛选出待发送给终端设备的数据,并对待发送给终端设备的数据进行加密后,将加密数据发送给终端设备。终端设备接收到数据后,使用与云服务器端加密方法相应的解密方法对车辆数据进行解密并使用。
对于上述图1和图2所示例的车联网,所基于的通信系统可以为宽带码分多址(wideband code division multiple access,WCDMA)通信系统、长期演进(long term evolution,LTE)通信系统、云无线接入网络(cloud radio access network,CRAN)、5G移动通信系统或新一代无线(new radio,NR)通信系统、或者未来移动通信系统、WiFi系统、未来演进的公共陆地移动网络(public land mobile network,PLMN)网络等,本申请实施例对此不作具体限定。
应理解,本申请实施例所提供的技术方案,除了可以应用于上述图1和图2所示例的车联网之外,还可以应用于其他涉及三方设备交互进行数据加密和解密的网络和系统中。为便于描述,本申请实施例以下均以在车联网中的应用为例对本申请实施例的技术方案进行说明。
在介绍本申请实施例的技术方案之前,首先对本申请实施例涉及的技术术语进行介绍:
1、对称加密
对称加密是指加密所使用的密钥与解密所使用的密钥相同。常用的对称加密算法包括数据加密标准(data encryption standard,DES)、高级加密标准(advanced encryption standard,AES)、Blowfish等。
2、非对称加密
非对称加密是指加密所使用的密钥与解密所使用的密钥不同。加密方使用公钥进行加密,解密方使用私钥进行解密。公钥和私钥子在数学上具有特定的关系,使用该公钥加密的数据只能由对应的私钥进行解密。常用的非对称加密算法包括公钥密码算法(RSA Public Key System,RSA)、椭圆曲线加密算法(elliptic curve cryptography,ECC)等。
3、密钥导出函数
密钥导出函数(key derivation function,KDF)使用伪随机函数从秘密值导出一个或多个密钥。KDF可用于将密钥扩展到更长的密钥或获得所需格式的密钥。密钥导出函数通常与非秘密参数一起使用,以从公共秘密值导出一个或多个密钥。通过这种方式,可以防止获得派生密钥的攻击者学习关于输入秘密值或任何其他导出密钥的有用信息,也可以使用KDF来确保派生密钥具有其他期望的属性,例如,在某些特定加密系统中避免“弱密钥”。
4、双线性配对
定义三个素数p阶乘法循环群G
1,G
2和G
T,定义映射e:G
1×G
2→G
T,满足如下三个性质:
(1)双线性:
(2)非退化性:
(3)可计算性:
则称上述映射为双线性映射或者双线性配对。
其中,如果G
1=G
2,则称该双线性配对为对称双线性配对,否则,称该双线性配对为非对称双线性配对。
利用上述的双线性配对,可以将线性系数转变为指数。
本申请以下实施例分别从加密设备侧和解密设备侧分别对本申请实施例的方案进行说明。
图3为申请实施例提供的数据加密处理方法的流程示意图,该方法的执行主体为第一设备,该第一设备为涉及加密和解密数据的三方设备中的加密数据的设备,例如上述图1或图2中所示例的车辆。如图3所示,该方法包括:
S301、第一设备获取待加密的目标数据。
示例性的,第一设备为车辆,车辆在运行过程中可能生成车辆诊断数据、日志、车内系统存取数据以及与外界的通信数据等,车辆可以将这些数据进行保存。车辆可以按照预设周期或者事件触发的方式加密并发送这些数据。例如,预设的周期为一天,则车辆可以在每天的某个时刻,获取车辆上保存的当天的数据,并使用后续的方式将这些数据加密后发送给云服务器。又例如,当车辆接收到云服务器发送的获取数据的指示后,基于该指示, 获取车辆上保存的数据,并使用后续的方式将这些数据加密后发送给云服务器。
S302、第一设备根据第二设备的公钥、第三设备的公钥以及第一设备的私钥,生成第一目标密钥。
可选的,涉及加密和解密数据的三方设备包括第一设备、第二设备和第三设备,因此,第二设备和第三设备分别为三方设备中的另外两方设备。作为一种示例,第二设备可以为上述的云服务器,第三设备可以为上述的监管设备。
可选的,第一设备、第二设备和第三设备在进行加密或解密之前,可以分别基于系统公共参数生成各自的公钥和私钥。
一种可选方式中,该系统公共参数可以通过第一设备、第二设备和第三设备协商确定。示例性的,由第一设备生成系统公共参数,并将系统公共参数发送给第二设备和第三设备,第二设备和第三设备若同意使用该系统公共参数,则将该系统公共参数保存并向第一设备回复确认信息,若第二设备和第三设备中有一方不同意使用该系统公共参数,则可以生成新的系统公共参数并分别发送给另外两方并由另外两方确认,进而确定出三方均确认的系统公共参数。
另一种可选方式中,该系统公共参数可以委托三方设备中的某一方设备确定。示例性的,可以由第一设备生成系统公共参数,第一设备将生成的系统公共参数发送给第二设备和第三设备,第二设备和第三设备保存该系统公共参数并基于该系统公共参数生成各自的公钥和私钥。
再一种可选方式中,该系统公共参数可以委托可信的第三方设备确定。其中,该可信的第三方设备为第一设备、第二设备、第三设备之外的设备。该可信的第三方设备可以分别与第一设备、第二设备和第三设备通信。
可选的,第一设备、第二设备和第三设备可以使用同样的方式分别生成各自的公钥和私钥。作为一种可选的方式,第一设备、第二设备和第三设备可以基于双线性配对处理,生成各自的公钥和私钥。
如前文所述,双线性配对可以为对称双线性配对或非对称双线性配对。在基于双线性配对处理生成公钥和私钥时,可以使用对称双线性配对,也可以使用非对称双线性配对。以下分别进行说明。
在说明之前,首先假设第一设备的公钥为pk
V,私钥为sk
V,第二设备的公钥为pk
s,私钥为sk
s,第三设备的公钥为pk
AA,私钥为sk
AA。本申请以下实施例均以这些符号来表示。另外,基于非线性配对处理生成的公钥和私钥以公私钥对的形式表示。
1、使用对称双线性配对。
以上述第一种确定系统公共参数的方式为例,基于前文中对于双线性配对的定义解释,第一设备、第二设备和第三设备可以协商确定出系统公共参数G
1,假设P为G
1的生成元,则第一设备的公私钥对(pk
V,sk
V)可以通过如下公式(1)表示。
(pk
V,sk
V)=(x.P,x∈Z
P) (1)
其中,x.P表示第一设备的公钥,x表示第一设备的私钥。
第二设备的公私钥对(pk
S,sk
S)可以通过如下公式(2)表示。
(pk
S,sk
S)=(y.P,y∈Z
P) (2)
其中,y.P表示第二设备的公钥,y表示第二设备的私钥。
第三设备的公私钥对(pk
AA,sk
AA)可以通过如下公式(3)表示。
(pk
AA,sk
AA)=(z.P,z∈Z
P) (3)
其中,y.P表示第二设备的公钥,y表示第二设备的私钥。
2、使用非对称线性配对。
继续以上述第一种确定系统公共参数的方式为例,基于前文中对于双线性配对的定义解释,第一设备、第二设备和第三设备可以协商确定出系统公共参数G
1和G
2,假设P
1为G
1的生成元,假设P
2为G
2的生成元,则第一设备的公私钥对(pk
V,sk
V)可以通过如下公式(4)表示。
(pk
V,sk
V)=(x.P
1,x∈Z
P) (4)
其中,x.P1表示第一设备的公钥,x表示第一设备的私钥。
第二设备的公私钥对(pk
S,sk
S)可以通过如下公式(5)表示。
(pk
S,sk
S)=((y.P
1,y.P
2),y∈Z
P) (5)
其中,(y.P
1,y.P
2)表示第二设备的公钥,y表示第二设备的私钥。
第三设备的公私钥对(pk
AA,sk
AA)可以通过如下公式(6)表示。
(pk
AA,sk
AA)=(z.P,z∈Z
P) (3)
其中,z.P表示第三设备的公钥,z表示第二设备的私钥。
在上述使用非线性配对生成公私钥对的过程中,第一设备和第二设备中需有一方的公钥同时使用P
1和P
2,上述示出的为第一设备的公钥仅使用P
1,第二设备的公钥同时使用P
1和P
2的情况。应理解,在具体实施过程中,也可以第一设备的公钥同时使用P
1和P
2,第二设备的公钥仅使用P
2,在这种情况下,第一设备的公私钥对使用上述公式(5)所示的方式,仅将公式(5)中的y替换为x即可,第二设备的公私钥对使用上述公式(4)所示的方式,仅将公式(4)中的x替换为y即可。
应理解,当第一设备使用其他方式生成公钥和私钥时,上述系统公共参数的具体形式可能为其他的形式,而不限于上述的G1,或者,G1及G2。
可选的,第一设备、第二设备和第三设备分别按照例如上述的方式,基于系统公共参数生成各自的公钥和私钥之后,可以将公钥提供给另外两方。示例性的,第一设备可以将自己的公钥发送给第二设备和第三设备。
第一设备、第二设备和第三设备分别将各自的公钥提供给另外两方之后,第一设备可以获取到第二设备的公钥以及第三设备的公钥。在此基础上,第一设备基于第二设备的公钥、第三设备的公钥以及第一设备的私钥,生成第一目标密钥。
S303、第一设备根据上述第一目标密钥,对上述目标数据进行加密,得到上述目标数据的加密数据。
可选的,第一设备可以使用前文所述的对称加密算法对目标数据进行加密。假设上述目标数据为m,经过前述步骤所得到的上述第一目标密钥为ek,则加密数据可以为Enc(ek,m)。
S304、第一设备向第二设备发送上述目标数据的加密数据。
值得说明的是,本申请实施例中,第一设备为加密目标数据的设备,第二设备为解密目标数据的设备,第三设备为三方设备中的一设备。本申请实施例对于第一设备、第二设备和第三设备的具体形态不作限定。例如,在前述图1所示的应用场景中,第一设备、第 二设备和第三设备可以分别为车辆、云服务器和监管设备中的任一设备。
第一设备在发送数据时,仅需要发送对目标数据加密后的加密数据,而无需发送上述第一目标密钥。第二设备接收到加密数据后,使用与第一设备生成第一目标密钥的方法相应的方法生成第二目标密钥,并使用与第一设备加密目标数据的方法相应的方法解密出目标数据。第二设备根据第二设备的私钥、第三设备的公钥以及第一设备的公钥生成第二目标密钥,并使用第二目标密钥解密上述加密数据,得到上述目标数据。第二设备的解密过程将在下述实施例中详细说明。
值得说明的是,上述步骤S302仅需要在步骤S303之前执行即可,步骤S302与步骤S301的执行顺序不分先后。
本实施例中,第一设备基于第二设备的公钥、第三设备的公钥以及第一设备的私钥,生成第一目标密钥,并使用该第一目标密钥加密目标数据,得到目标数据的加密数据。第一设备进而仅发送该加密数据即可,第二设备接收到该加密数据后,仅需要使用与第一设备相应的方式,根据第二设备的私钥、第一设备的公钥以及第三设备的公钥生成第二目标密钥,并使用该第二目标密钥解密出目标数据。第一设备通过生成第一目标密钥而非对第一目标密钥加密,使得在发送加密数据时无需携带加密的第一目标密钥而发送仅包括加密数据的密文即可,从而避免密文的长度过长。另外,第一设备无需分别对第一目标密钥加密,还可以减少加密时的计算量,因此,使得第一设备的加密复杂度得到极大程度的降低,进而使得数据加密不会占用过多的计算资源以及传输资源,保证第一设备的性能不受影响。
第一设备在根据第二设备的公钥、第三设备的公钥以及第一设备的私钥生成上述第一目标密钥时,可以基于下述方式中的任意一种可选方式进行。
第一种可选方式中,第一设备根据第二设备的公钥、第三设备的公钥以及第一设备的私钥生成一密钥,并将该生成的密钥直接作为上述第一目标密钥。相应的,第一设备使用该第一目标密钥加密目标数据,并发送加密数据。
第二种可选方式中,第一设备根据第二设备的公钥、第三设备的公钥以及第一设备的私钥生成一密钥,并将该生成的密钥作为第一中间密钥,在该第一中间密钥的基础上,结合目标数据的属性信息,生成第一目标密钥。相应的,第一设备使用该第一目标密钥加密目标数据,并发送加密数据以及目标数据的属性信息。
以下首先对上述两种可选方式中,第一设备根据第二设备的公钥、第三设备的公钥以及第一设备的私钥生成一密钥的过程进行说明。
如前文所述,第一设备、第二设备和第三设备分别可以基于双线性配对处理生成各自的公钥和私钥,相应的,第一设备根据第二设备的公钥、第三设备的公钥以及第一设备的私钥生成一密钥时,可以相应对第二设备的公钥、第三设备的公钥以及第一设备的私钥进行双线性配对处理,生成一密钥。
一种方式中,如果前述生成公钥和私钥时使用对称双线性配对处理,则第一设备相应使用对称双线性配对处理生成一密钥。
可选的,继续假设第一设备的公钥为pk
V,私钥为sk
V,第二设备的公钥为pk
s,私钥为sk
s,第三设备的公钥为pk
AA,私钥为sk
AA,则第一设备首先使用e(pk
S,pk
AA)
x表示密钥,进而,对e(pk
S,pk
AA)
x进行对称双线性配对处理,得到一密钥e(P,P)
xyz,经过该处理,将e(pk
S,pk
AA)
x中的线性系数转变为e(P,P)
xyz中的指数系数。
值得说明的是,上述过程中所出现的参数的含义与前文中的含义相同,可以参见前文,此处不再赘述。
如果使用上述第一种可选方式生成第一目标密钥,则第一设备可以直接将e(P,P)
xyz作为第一目标密钥,并使用该第一目标密钥加密目标数据。
如果使用上述第二种可选方式生成第一目标密钥,则第一设备可以将e(P,P)
xyz作为第一中间密钥,在该第一中间密钥的基础上,结合目标数据的属性信息生成第一目标密钥,再使用第一目标密钥加密目标数据。
另一种方式中,如果前述生成公钥和私钥时使用非对称双线性配对处理,则第一设备相应使用非对称双线性配对处理生成一密钥。
可选的,继续假设第一设备的公钥为pk
V,私钥为sk
V,第二设备的公钥为pk
s,私钥为sk
s,第三设备的公钥为pk
AA,私钥为sk
AA,则第一设备首先使用e(y.P
1,pk
AA)
x表示密钥,进而,对e(y.P
1,pk
AA)
x进行非对称双线性配对处理,得到一密钥e(P
1,P
2)
xyz,经过该处理,将e(y.P
1,pk
AA)
x中的线性系数转变为e(P
1,P
2)
xyz中的指数系数。
值得说明的是,上述过程中所出现的参数的含义与前文中的含义相同,可以参见前文,此处不再赘述。
如果使用上述第一种可选方式生成第一目标密钥,则第一设备可以直接将e(P
1,P
2)
xyz作为第一目标密钥,并使用该第一目标密钥加密目标数据。
如果使用上述第二种可选方式生成第一目标密钥,则第一设备可以将e(P
1,P
2)
xyz作为第一中间密钥,在该第一中间密钥的基础上,结合目标数据的属性信息生成第一目标密钥,再使用第一目标密钥加密目标数据。
本实施例中,第一设备通过对第二设备的公钥、第三设备的公钥以及第一设备的私钥进行双线性配对处理,从而生成一密钥用于加密,进行解密的第二设备相应也可以基于双线性配对处理生成一密钥用于解密,从而使得第一设备与第二设备之间无需交互三方密钥。
以上说明了第一设备根据第二设备的公钥、第三设备的公钥以及第一设备的私钥生成一密钥的过程。如前文所述,如果采用前述的第一种可选方式生成第一目标密钥,则第一设备直接利用生成的一密钥作为第一目标密钥并加密目标数据。如果采用前述的第二种可选方式生成第一目标密钥,则第一设备将生成的一密钥作为第一中间密钥,在第一中间密钥的基础上,结合目标数据的属性信息生成第一目标密钥。以下说明第一设备结合第一中间密钥和目标数据的属性信息生成第一目标密钥的过程。
可选的,第一目标密钥的属性信息可以包括目标数据所属的时间标识与目标数据所属的数据类型中的至少一种。
其中,目标数据所属的时间可以为目标数据生成的时段,该时段例如为某一天。目标数据所属的时间标识可以为时间值。示例性的,某个目标数据所属的时间标识为20200101。目标数据所属的数据类型例如可以包括驾驶数据类型、充电数据类型、k-box数据类型等。
第一设备结合第一中间密钥和目标数据的属性信息生成第一目标密钥方式可能为以下任意一种:
1、第一设备结合第一中间密钥和目标数据所属的时间标识生成第一目标密钥。
可选的,第一设备可以将上述的每个时段作为周期,例如,一天为一个时段,则一天为一个周期。在每个周期起始时,第一设备结合第一中间密钥和该周期的时间标识生成第 一目标密钥。
一种示例中,第一设备可以使用前文所解释的密钥导出函数KDF生成第一目标密钥。
假设第一目标密钥为ek,则第一设备可以使用如下公式(7),利用KDF计算ek。
ek=KDF(e(P,P)
xyz,session-tag) (7)
其中,e(P,P)
xyz为通过前述的方法所得到的第一中间密钥,session-tag表示当前周期的周期标识。
基于该方式得到第一目标密钥后,第一设备在发送加密数据时,假设对目标数据加密后的加密数据为c1,则第一设备发送的密文c为(session-tag,c1),即第一设备发送加密数据和目标数据所属的时间标识。
图4为第一设备结合第一中间密钥和目标数据所属的时间标识生成的密文c的示例,如图4所示,密文c的前一部分为目标数据所属的时间标识session-tag,在时间标识session-tag之后为加密后的数据c1。
在该方式中,第一设备在第一中间密钥之上,结合目标数据所属的时间标识生成第一目标密钥,使得第一设备不直接使用第一中间密钥作为第一目标密钥,进而使得由公钥和私钥所生成的第一中间密钥的安全性得到保护。
2、第一设备结合第一中间密钥和目标数据所属的数据类型生成第一目标密钥。
可选的,第一设备为每一种数据类型分别生成该种类型的第一目标密钥。
示例性的,假设第一设备上的数据类型的数量为t,t为大于0的整数。则对于第i(i为大于0小于等于t的任意整数)种数据类型type-tag
i,则第一设备可以使用如下公式(8),利用KDF计算第i种数据类型的第一目标密钥ek
i。
ek
i=KDF(e(P,P)
xyz,type-tag
i) (8)
其中,e(P,P)
xyz为通过前述的方法所得到的第一中间密钥。
经过上述处理,每一种数据类型均具有各自的第一目标密钥。
第一设备在对目标数据加密时,根据目标数据所属的数据类型使用数据类型对应的第一目标密钥进行加密。
示例性的,假设目标数据m=(m
1,…,m
t),m内的任意一个目标数据m
i表示属于第i种数据类型的数据,第一设备可以使用下述公式(9)为m
i加密,得到密文c
i。
c
i=Enc(ek
i,m
i) (9)
其中,ek
i为前述的第i种数据类型的第一目标密钥,m
i为属于第i种数据类型的目标数据。
使用该方式,第一设备在发送加密数据时的密文c可以为如下形式:
c=((type-tag
1,c
1),(type-tag
2,c
2),…,(type-tag
t,c
t))
图5为第一设备结合第一中间密钥和目标数据所属的数据类型生成的密文c的示例,如图5所示,密文c包括多个部分,每一部分包括加密后的数据的数据类型以及加密后的数据。
在该方式中,第一设备在第一中间密钥之上,结合目标数据所属的数据类型分别生成每种数据类型对应的第一目标密钥,并使用每种数据类型对应的第一目标密钥加密每种目标数据,从而更加细化数据加密的粒度,使得不同类型的数据使用不同的密钥进行加密,通过这种方式,即使存在某一第一目标密钥泄漏的情况,也不会影响其他目标数据的安全 性。
3、第一设备结合第一中间密钥、目标数据所属的时间标识以及目标数据所属的数据类型生成第一目标密钥。
该方式为上述的两种方式的结合,第一设备可以如下任意一种方式对上述两种方式进行结合。
第一种结合方式中,第一设备首先使用上述第一种方式,即结合第一中间密钥和目标数据所属的时间标识生成一密钥,并将该密钥作为第二中间密钥,进而,使用上述第二种方式,将该第二中间密钥作为上述第二种方式中的第一中间密钥,结合该第二中间密钥和目标数据所属的数据类型生成第一目标密钥。
第二种结合方式中,第一设备首先使用上述第二种方式,即结合第一中间密钥和目标数据所属的数据类型,分别生成每种数据类型的一密钥,将这些密钥分别作为一个第二中间密钥,进而,针对每个第二中间密钥,使用上述第一种方式,将该第二中间密钥作为上述第一种方式中的第一中间密钥,结合该第二中间密钥和目标数据所属的时间标识生成每种数据类型的第一目标密钥。
基于上述两种结合方式中的任意一种所得到的密文c可以为如下形式:
c=(session-tag,(type-tag
1,c
1),(type-tag
2,c
2),…,(type-tag
t,c
t))
其中,各参数的含义同前文相同,此处不再赘述。
图6为第一设备结合第一中间密钥和目标数据所属的时间标识以及数据类型生成的密文c的示例,如图6所示,密文c的前一部分为目标数据所属的时间标识session-tag,在时间标识session-tag之后包括多个部分,每个部分包括加密后的数据的数据类型以及加密后的数据。
使用该方式后,既能使得第一中间密钥的安全性得到保护,又能使得在某一第一目标密钥泄漏的情况,不会影响其他目标数据的安全性。
以下说明解密设备侧进行数据解密的过程。
图7为本申请实施例提供的数据解密处理方法的流程示意图,该方法的执行主体为第二设备,该第二设备为涉及加密和解密数据的三方设备中的解密数据的设备,例如上述图1或图2中所示例的云服务器。如图7所示,该方法包括:
S701、第二设备接收待解密的加密数据。
可选的,第二设备可以接收第一设备发送的密文,进而,将密文作为待解密的加密数据。
其中,加密数据是通过前述实施例的加密方法,对目标数据使用第一目标密钥加密得到的。
应理解,步骤S701和下述的步骤S702可以不是连续执行。示例性的,第二设备从第一设备接收加密数据之后,首先将其保存。在某些事件的触发下,例如,用户指示第二设备提供车辆运行数据时,第二设备执行下述步骤S702-S703,以得到目标数据。
S702、第二设备根据第一设备的公钥、第三设备的公钥以及第二设备的私钥,生成第二目标密钥。
第二设备生成第二目标密钥的过程与前述的第一设备生成第一目标密钥的过程相同,区别在于,第一设备使用的参数为第二设备的公钥、第三设备的公钥以及第一设备的私钥, 而第二设备使用的参数为第一设备的公钥、第三设备的公钥以及第二设备的私钥。
可选的,与前述的加密方式相对应的,第二设备可以仅基于第一设备的公钥、第三设备的公钥以及第二设备的私钥生成第二目标密钥,或者,第二设备也可以基于第一设备的公钥、第三设备的公钥、第二设备的私钥以及目标数据的属性信息,生成第二目标密钥。
如果基于第一设备的公钥、第三设备的公钥、第二设备的私钥以及目标数据的属性信息,生成第二目标密钥,则第二设备可以首先根据第一设备的公钥、第三设备的公钥以及第二设备的私钥,生成第三中间密钥,再根据该第三中间密钥以及目标数据的属性信息生成第二目标密钥。
其中,第二设备根据第三中间密钥以及目标数据的属性信息生成第二目标密钥的方式包括以下几种:
1、根据第三中间密钥以及目标数据所属的时间标识生成第二目标密钥。
在这种方式中,第二设备首先从密文中读取到目标数据中所属的时间标识,并使用与前述第一设备根据第一中间密钥以及目标数据所属的时间标识生成第一目标密钥时相同的方法,生成第二目标密钥,具体可以参照前述的实施例,此处不再赘述。
2、根据第三中间密钥以及目标数据所属的数据类型生成第二目标密钥。
在这种方式中,第二设备首先从密文中读取到目标数据中所属的数据类型,并使用与前述第一设备根据第一中间密钥以及目标数据所属的数据类型生成第一目标密钥时相同的方法,生成每种数据类型的第二目标密钥,具体可以参照前述的实施例,此处不再赘述。
3、根据第三中间密钥以及目标数据所属的时间标识以及数据类型生成第二目标密钥。
在这种方式中,第二设备首先从密文中读取到目标数据中所属的时间标识以及数据类型,并使用与前述第一设备根据第一中间密钥以及目标数据所属的数据类型生成第一目标密钥时相同的方法,生成第二目标密钥。例如,第二设备首先根据第三中间密钥以及目标数据所属的时间标识,生成第四中间密钥,再根据第四中间密钥以及目标数据所属的数据类型,生成第二目标密钥。具体可以参照前述的实施例,此处不再赘述。
另外,与第一设备端相应的,第二设备子在根据第一设备的公钥、第三设备的公钥以及第二设备的私钥生成第二目标密钥时,可以对第一设备的公钥、第三设备的公钥以及第二设备的私钥进行双线性配对处理,以得到第二目标密钥,或者,得到第三中间密钥。
S703、第二设备根据上述第二目标密钥,对上述加密数据进行解密,得到上述目标数据。
可选的,第二设备使用与第一设备相应的解密算法,使用第二目标密钥解密出目标数据。
本实施例中,第二设备基于与第一设备相应的方法,根据第一设备的公钥、第三设备的公钥以及第二设备的私钥生成第二目标密钥,并使用该第二目标密钥解密出目标数据,由于第一设备和第二设备均基于公钥和私钥生成目标密钥,因此,第一设备传输的密文中并不包括第一目标密钥,因此,能够避免密文的长度过长,并且,第二设备无需执行解密过程以解密出第二目标密钥,也使得解密复杂度得以降低,因此,使用本实施例的解密方式能够避免占用过多的计算资源和传输资源,保证第二设备的性能不受影响。
图8为本申请实施例提供的一种数据加密处理装置的模块结构图,该装置可以为前述的第一设备,也可以为能够使得第一设备实现本申请实施例提供的方法中的第一设备的功 能的装置,例如该装置可以是第一设备中的装置或芯片系统。如图8所示,该装置包括:处理模块801和收发模块802。
处理模块801,用于获取待加密的目标数据;以及,根据第一目标密钥,对目标数据进行加密,得到目标数据的加密数据,其中,第一设备根据第二设备的公钥、第三设备的公钥以及第一设备的私钥生成第一目标密钥。
收发模块802,用于向第二设备发送目标数据的加密数据,该加密数据用于通过根据第二设备的私钥、第三设备的公钥以及第一设备的公钥生成的第二目标密钥进行解密。
作为一种可选的实施方式,处理模块801具体用于:
根据第二设备的公钥、第三设备的公钥、第一设备的私钥以及目标数据的属性信息,生成第一目标密钥,第二目标密钥根据第二设备的私钥、第三设备的公钥、第一设备的公钥以及目标数据的属性信息生成。
其中,目标数据的属性信息包括目标数据所属的时间标识与目标数据所属的数据类型中的至少一种。
作为一种可选的实施方式,收发模块802具体用于:
发送目标数据的加密数据以及目标数据的属性信息。
作为一种可选的实施方式,处理模块801具体用于:
根据第二设备的公钥、第三设备的公钥以及第一设备的私钥,生成第一中间密钥;以及,根据第一中间密钥以及目标数据的属性信息,生成第一目标密钥,第二目标密钥根据第三中间密钥以及目标数据的属性信息生成,第三中间密钥根据第二设备的私钥、第三设备的公钥以及第一设备的公钥生成。
作为一种可选的实施方式,处理模块801具体用于:
根据第一中间密钥以及目标数据所属的时间标识,生成第二中间密钥;以及,根据第二中间密钥以及目标数据所属的数据类型,生成第一目标密钥,第二目标密钥根据第四中间密钥以及目标数据所属的数据类型生成,第四中间密钥根据第三中间密钥以及目标数据所属的时间标识生成。
作为一种可选的实施方式,处理模块801具体用于:
对第二设备的公钥、第三设备的公钥以及第一设备的私钥进行双线性配对处理,生成第一中间密钥,第三中间密钥通过对第二设备的私钥、第三设备的公钥以及第一设备的公钥进行双线性配对处理生成。
作为一种可选的实施方式,处理模块801具体用于:
对第二设备的公钥、第三设备的公钥以及第一设备的私钥进行双线性配对处理,生成第一目标密钥,第二目标密钥通过对第二设备的私钥、第三设备的公钥以及第一设备的公钥进行双线性配对处理生成。
作为一种可选的实施方式,处理模块801还用于:
基于双线性配对处理,生成第一设备的公钥和第一设备的私钥。
作为一种可选的实施方式,上述的双线性配对处理为非对称双线性配对处理。
在上述各实施方式中,第一设备可以为车辆、云服务器以及监管设备中的任意一种。
本申请实施例提供的数据加密处理装置,可以执行上述方法实施例中的方法步骤,其实现原理和技术效果类似,在此不再赘述。
图9为本申请实施例提供的一种数据解密处理装置的模块结构图,该装置可以为前述的第二设备,也可以为能够使得第二设备实现本申请实施例提供的方法中的第二设备的功能的装置,例如该装置可以是第二设备中的装置或芯片系统。如图9所示,该装置包括:收发模块901处理模块902。
收发模块901,用于接收待解密的加密数据,该加密数据通过对目标数据使用第一目标密钥加密得到,第一目标密钥根据第一设备的私钥、第二设备的公钥以及第三设备的公钥生成。
处理模块902,用于根据第一设备的公钥、第三设备的公钥以及第二设备的私钥,生成第二目标密钥;以及,根据第二目标密钥,对加密数据进行解密,得到加密数据的目标数据。
作为一种可选的实施方式,处理模块902具体用于:
根据第一设备的公钥、第三设备的公钥、第二设备的私钥以及目标数据的属性信息,生成第二目标密钥,第一目标密钥根据第二设备的公钥、第三设备的公钥、第一设备的私钥以及目标数据的属性信息生成。
其中,目标数据的属性信息包括目标数据所属的时间标识与目标数据所属的数据类型中的至少一种。
作为一种可选的实施方式,处理模块902具体用于:
根据第一设备的公钥、第三设备的公钥以及第二设备的私钥,生成第三中间密钥;以及,根据第三中间密钥以及目标数据的属性信息,生成第二目标密钥,第一目标密钥根据第一中间密钥以及目标数据的属性信息生成,第一中间密钥根据第二设备的公钥、第三设备的公钥以及第一设备的私钥生成。
作为一种可选的实施方式,处理模块902具体用于:
根据第三中间密钥以及目标数据所属的时间标识,生成第四中间密钥;以及,根据第四中间密钥以及目标数据所属的数据类型,生成第二目标密钥,第一目标密钥根据第二中间密钥以及目标数据所属的数据类型生成,第二中间密钥根据第一中间密钥以及目标数据所属的时间标识生成。
作为一种可选的实施方式,处理模块902具体用于:
对第一设备的公钥、第三设备的公钥以及第二设备的私钥进行双线性配对处理,生成第三中间密钥,第一中间密钥通过对第二设备的公钥、第三设备的公钥以及第一设备的私钥进行双线性配对处理生成。
作为一种可选的实施方式,处理模块902具体用于:
对第一设备的公钥、第三设备的公钥以及第二设备的私钥进行双线性配对处理,生成第二目标密钥,第一目标密钥通过对第二设备的公钥、第三设备的公钥以及第一设备的私钥进行双线性配对处理生成。
作为一种可选的实施方式,处理模块902还用于:
基于双线性配对处理,生成第二设备的公钥和第二设备的私钥。
作为一种可选的实施方式,双线性配对处理为非对称双线性配对处理。
在上述各实施方式中,第二设备可以为车辆、云服务器以及监管设备中的任意一种。
本申请实施例提供的数据解密处理装置,可以执行上述方法实施例中的方法步骤,其 实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,确定模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上确定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
图10为本申请实施例提供的一种电子设备的结构示意图。该电子设备可以为前述实施例中所述的第一设备,也可以为前述实施例中所述的第二设备。如图10所示,该电子设备1000可以包括:处理器101(例如CPU)、存储器102、收发器103;收发器103耦合至处理器101,处理器101控制收发器103的收发动作。存储器102中可以存储各种指令,以用于完成各种处理功能以及实现本申请实施例中第一设备或第二设备执行的方法步骤。
可选的,本申请实施例涉及的电子设备还可以包括:电源104、系统总线105以及通信端口106。收发器103可以集成在电子设备的收发信机中,也可以为电子设备上独立的收发天线。系统总线105用于实现元件之间的通信连接。上述通信端口106用于实现电子 设备与其他外设之间进行连接通信。
在本申请实施例中,上述处理器101用于与存储器102耦合,读取并执行存储器102中的指令,以实现上述方法实施例中第一设备或第二设备执行的方法步骤。收发器103与处理器101耦合,由处理器101控制收发器103进行消息收发,其实现原理和技术效果类似,在此不再赘述。
该图10中提到的系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
该图10中提到的处理器可以是通用处理器,包括中央处理器CPU、网络处理器(network processor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选的,本申请实施例还提供一种可读存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上述图2至图7所示实施例的方法。
可选的,本申请实施例还提供一种运行指令的芯片,所述芯片用于执行上述图2至图7所示实施例的方法。
本申请实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,至少一个处理器可以从所述存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述图2至图7所示实施例的方法。
在本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。
可以理解的是,在本申请实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。
可以理解的是,在本发明的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方 案的范围。
Claims (38)
- 一种数据加密处理方法,其特征在于,包括:第一设备获取待加密的目标数据;所述第一设备根据第一目标密钥,对所述目标数据进行加密,得到所述目标数据的加密数据,其中,所述第一设备根据第二设备的公钥、第三设备的公钥以及所述第一设备的私钥生成所述第一目标密钥;所述第一设备向所述第二设备发送所述目标数据的加密数据,所述加密数据用于通过第二目标密钥进行解密,所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成。
- 根据权利要求1所述的方法,其特征在于,所述第一设备根据第二设备的公钥、第三设备的公钥以及所述第一设备的私钥,生成所述第一目标密钥,包括:所述第一设备根据所述第二设备的公钥、第三设备的公钥、所述第一设备的私钥以及所述目标数据的属性信息,生成所述第一目标密钥;所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成,具体为:所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥、所述第一设备的公钥以及所述目标数据的属性信息生成;所述目标数据的属性信息包括所述目标数据所属的时间标识与所述目标数据所属的数据类型中的至少一种。
- 根据权利要求2所述的方法,其特征在于,所述第一设备向所述第二设备发送所述目标数据的加密数据,包括:所述第一设备向所述第二设备发送所述目标数据的加密数据以及所述目标数据的属性信息。
- 根据权利要求2或3所述的方法,其特征在于,所述第一设备根据所述第二设备的公钥、第三设备的公钥、所述第一设备的私钥以及所述目标数据的属性信息,生成所述第一目标密钥,包括:所述第一设备根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥,生成第一中间密钥;所述第一设备根据所述第一中间密钥以及所述目标数据的属性信息,生成所述第一目标密钥;所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥、所述第一设备的公钥以及所述目标数据的属性信息生成,具体为:所述第二目标密钥根据第三中间密钥以及所述目标数据的属性信息生成,所述第三中间密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成。
- 根据权利要求4所述的方法,其特征在于,所述第一设备根据所述第一中间密钥以及所述目标数据的属性信息,生成所述第一目标密钥,包括:所述第一设备根据所述第一中间密钥以及所述目标数据所属的时间标识,生成第二中间密钥;所述第一设备根据所述第二中间密钥以及所述目标数据所属的数据类型,生成所述第一目标密钥;所述第二目标密钥根据第三中间密钥以及所述目标数据的属性信息生成,具体为:所述第二目标密钥根据第四中间密钥以及所述目标数据所属的数据类型生成,所述第四中间密钥根据所述第三中间密钥以及所述目标数据所属的时间标识生成。
- 根据权利要求4或5所述的方法,其特征在于,所述第一设备根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥,生成第一中间密钥,包括:所述第一设备对所述第二设备的公钥、第三设备的公钥以及所述第一设备的私钥进行双线性配对处理,生成所述第一中间密钥;所述第三中间密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成,具体为:所述第三中间密钥通过对所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥进行双线性配对处理生成。
- 根据权利要求1所述的方法,其特征在于,所述第一设备根据第二设备的公钥、第三设备的公钥以及所述第一设备的私钥,生成第一目标密钥,具体为:所述第一设备对所述第二设备的公钥、第三设备的公钥以及所述第一设备的私钥进行双线性配对处理,生成所述第一目标密钥;所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成,具体为:所述第二目标密钥通过对所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥进行双线性配对处理生成。
- 根据权利要求1-7任一项所述的方法,其特征在于,所述第一设备根据第二设备的公钥、第三设备的公钥以及所述第一设备的私钥,生成第一目标密钥之前,还包括:所述第一设备基于双线性配对处理,生成所述第一设备的公钥和所述第一设备的私钥。
- 根据权利要求6-8任一项所述的方法,其特征在于,所述双线性配对处理为非对称双线性配对处理。
- 一种数据解密处理方法,其特征在于,包括:第二设备接收待解密的加密数据,所述加密数据通过对目标数据使用第一目标密钥加密得到,所述第一目标密钥根据第一设备的私钥、所述第二设备的公钥以及第三设备的公钥生成;所述第二设备根据所述第一设备的公钥、所述第三设备的公钥以及所述第二设备的私钥,生成第二目标密钥;所述第二设备根据所述第二目标密钥,对所述加密数据进行解密,得到所述加密数据的所述目标数据。
- 根据权利要求10所述的方法,其特征在于,所述第二设备根据第一设备的公钥、第三设备的公钥以及所述第二设备的私钥,生成第二目标密钥,包括:所述第二设备根据所述第一设备的公钥、第三设备的公钥、所述第二设备的私钥以及所述目标数据的属性信息,生成所述第二目标密钥;所述第一目标密钥根据第一设备的私钥、所述第二设备的公钥以及第三设备的公钥生 成,具体为:所述第一目标密钥根据所述第二设备的公钥、所述第三设备的公钥、所述第一设备的私钥以及所述目标数据的属性信息生成;所述目标数据的属性信息包括所述目标数据所属的时间标识与所述目标数据所属的数据类型中的至少一种。
- 根据权利要求11所述的方法,其特征在于,所述第二设备根据所述第一设备的公钥、第三设备的公钥、所述第二设备的私钥以及所述目标数据的属性信息,生成所述第二目标密钥,包括:所述第二设备根据所述第一设备的公钥、所述第三设备的公钥以及所述第二设备的私钥,生成第三中间密钥;所述第二设备根据所述第三中间密钥以及所述目标数据的属性信息,生成所述第二目标密钥;所述第一目标密钥根据所述第二设备的公钥、所述第三设备的公钥、所述第一设备的私钥以及所述目标数据的属性信息生成,具体为:所述第一目标密钥根据第一中间密钥以及所述目标数据的属性信息生成,所述第一中间密钥根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥生成。
- 根据权利要求12所述的方法,其特征在于,所述第二设备根据所述第三中间密钥以及所述目标数据的属性信息,生成所述第二目标密钥,包括:所述第二设备根据所述第三中间密钥以及所述目标数据所属的时间标识,生成第四中间密钥;所述第二设备根据所述第四中间密钥以及所述目标数据所属的数据类型,生成所述第二目标密钥;所述第一目标密钥根据第一中间密钥以及所述目标数据的属性信息生成,具体为:所述第一目标密钥根据第二中间密钥以及所述目标数据所属的数据类型生成,所述第二中间密钥根据所述第一中间密钥以及所述目标数据所属的时间标识生成。
- 根据权利要求12或13所述的方法,其特征在于,所述第二设备根据所述第一设备的公钥、所述第三设备的公钥以及所述第二设备的私钥,生成第三中间密钥,包括:所述第二设备对所述第一设备的公钥、第三设备的公钥以及所述第二设备的私钥进行双线性配对处理,生成所述第三中间密钥;所述第一中间密钥根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥生成,具体为:所述第一中间密钥通过对所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥进行双线性配对处理生成。
- 根据权利要求10所述的方法,其特征在于,所述第二设备根据第一设备的公钥、第三设备的公钥以及所述第二设备的私钥,生成第二目标密钥,包括:所述第二设备对第一设备的公钥、第三设备的公钥以及所述第二设备的私钥进行双线性配对处理,生成所述第二目标密钥;所述第一目标密钥根据第一设备的私钥、所述第二设备的公钥以及第三设备的公钥生成,具体为:所述第一目标密钥通过对所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥进行双线性配对处理生成。
- 根据权利要求10-14任一项所述的方法,其特征在于,所述第二设备根据第一设备的公钥、第三设备的公钥以及所述第二设备的私钥,生成第二目标密钥之前,还包括:所述第二设备基于双线性配对处理,生成所述第二设备的公钥和所述第二设备的私钥。
- 根据权利要求14-16任一项所述的方法,其特征在于,所述双线性配对处理为非对称双线性配对处理。
- 一种数据加密处理装置,其特征在于,应用于第一设备,所述装置包括:处理模块和收发模块;所述处理模块,用于获取待加密的目标数据;以及,根据第一目标密钥,对所述目标数据进行加密,得到所述目标数据的加密数据,其中,所述第一设备根据第二设备的公钥、第三设备的公钥以及所述第一设备的私钥生成所述第一目标密钥;所述收发模块,用于向所述第二设备发送所述目标数据的加密数据,所述加密数据用于通过第二目标密钥进行解密,所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成。
- 根据权利要求18所述的装置,其特征在于,所述处理模块具体用于:根据所述第二设备的公钥、第三设备的公钥、所述第一设备的私钥以及所述目标数据的属性信息,生成所述第一目标密钥;所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成,具体为:所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥、所述第一设备的公钥以及所述目标数据的属性信息生成;所述目标数据的属性信息包括所述目标数据所属的时间标识与所述目标数据所属的数据类型中的至少一种。
- 根据权利要求19所述的装置,其特征在于,所述收发模块具体用于:向所述第二设备发送所述目标数据的加密数据以及所述目标数据的属性信息。
- 根据权利要求19或20所述的装置,其特征在于,所述处理模块具体用于:根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥,生成第一中间密钥;以及,根据所述第一中间密钥以及所述目标数据的属性信息,生成所述第一目标密钥;所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥、所述第一设备的公钥以及所述目标数据的属性信息生成,具体为:所述第二目标密钥根据第三中间密钥以及所述目标数据的属性信息生成,所述第三中间密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成。
- 根据权利要求21所述的装置,其特征在于,所述处理模块具体用于:根据所述第一中间密钥以及所述目标数据所属的时间标识,生成第二中间密钥;以及,根据所述第二中间密钥以及所述目标数据所属的数据类型,生成所述第一目标密钥;所述第二目标密钥根据第三中间密钥以及所述目标数据的属性信息生成,具体为:所述第二目标密钥根据第四中间密钥以及所述目标数据所属的数据类型生成,所述第四中间密钥根据所述第三中间密钥以及所述目标数据所属的时间标识生成。
- 根据权利要求21或22所述的装置,其特征在于,所述处理模块具体用于:对所述第二设备的公钥、第三设备的公钥以及所述第一设备的私钥进行双线性配对处理,生成所述第一中间密钥;所述第三中间密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成,具体为:所述第三中间密钥通过对所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥进行双线性配对处理生成。
- 根据权利要求18所述的装置,其特征在于,所述处理模块具体用于:对所述第二设备的公钥、第三设备的公钥以及所述第一设备的私钥进行双线性配对处理,生成所述第一目标密钥;所述第二目标密钥根据所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥生成,具体为:所述第二目标密钥通过对所述第二设备的私钥、所述第三设备的公钥以及所述第一设备的公钥进行双线性配对处理生成。
- 根据权利要求18-24任一项所述的装置,其特征在于,所述处理模块还用于:基于双线性配对处理,生成所述第一设备的公钥和所述第一设备的私钥。
- 根据权利要求23-25任一项所述的装置,其特征在于,所述双线性配对处理为非对称双线性配对处理。
- 根据权利要求18-26任一项所述的装置,其特征在于,所述第一设备为车辆、云服务器以及监管设备中的任意一种。
- 一种数据解密处理装置,其特征在于,应用于第二设备,所述装置包括:收发模块和处理模块;所述收发模块,用于接收待解密的加密数据,所述加密数据通过对目标数据使用第一目标密钥加密得到,所述第一目标密钥根据第一设备的私钥、所述第二设备的公钥以及第三设备的公钥生成;所述处理模块,用于根据所述第一设备的公钥、所述第三设备的公钥以及所述第二设备的私钥,生成第二目标密钥;以及,根据所述第二目标密钥,对所述加密数据进行解密,得到所述加密数据的所述目标数据。
- 根据权利要求28所述的装置,其特征在于,所述处理模块具体用于:根据所述第一设备的公钥、第三设备的公钥、所述第二设备的私钥以及所述目标数据的属性信息,生成所述第二目标密钥;所述第一目标密钥根据第一设备的私钥、所述第二设备的公钥以及第三设备的公钥生成,具体为:所述第一目标密钥根据所述第二设备的公钥、所述第三设备的公钥、所述第一设备的私钥以及所述目标数据的属性信息生成;所述目标数据的属性信息包括所述目标数据所属的时间标识与所述目标数据所属的 数据类型中的至少一种。
- 根据权利要求29所述的装置,其特征在于,所述处理模块具体用于:根据所述第一设备的公钥、所述第三设备的公钥以及所述第二设备的私钥,生成第三中间密钥;以及,根据所述第三中间密钥以及所述目标数据的属性信息,生成所述第二目标密钥;所述第一目标密钥根据所述第二设备的公钥、所述第三设备的公钥、所述第一设备的私钥以及所述目标数据的属性信息生成,具体为:所述第一目标密钥根据第一中间密钥以及所述目标数据的属性信息生成,所述第一中间密钥根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥生成。
- 根据权利要求30所述的装置,其特征在于,所述处理模块具体用于:根据所述第三中间密钥以及所述目标数据所属的时间标识,生成第四中间密钥;以及,根据所述第四中间密钥以及所述目标数据所属的数据类型,生成所述第二目标密钥;所述第一目标密钥根据第一中间密钥以及所述目标数据的属性信息生成,具体为:所述第一目标密钥根据第二中间密钥以及所述目标数据所属的数据类型生成,所述第二中间密钥根据所述第一中间密钥以及所述目标数据所属的时间标识生成。
- 根据权利要求30或31所述的装置,其特征在于,所述处理模块具体用于:对所述第一设备的公钥、第三设备的公钥以及所述第二设备的私钥进行双线性配对处理,生成所述第三中间密钥;所述第一中间密钥根据所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥生成,具体为:所述第一中间密钥通过对所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥进行双线性配对处理生成。
- 根据权利要求28所述的装置,其特征在于,所述处理模块具体用于:对第一设备的公钥、第三设备的公钥以及所述第二设备的私钥进行双线性配对处理,生成所述第二目标密钥;所述第一目标密钥根据第一设备的私钥、所述第二设备的公钥以及第三设备的公钥生成,具体为:所述第一目标密钥通过对所述第二设备的公钥、所述第三设备的公钥以及所述第一设备的私钥进行双线性配对处理生成。
- 根据权利要求28-32任一项所述的装置,其特征在于,所述处理模块还用于:基于双线性配对处理,生成所述第二设备的公钥和所述第二设备的私钥。
- 根据权利要求32-34任一项所述的装置,其特征在于,所述双线性配对处理为非对称双线性配对处理。
- 根据权利要求28-35任一项所述的装置,其特征在于,所述第二设备为车辆、云服务器以及监管设备中的任意一种。
- 一种电子设备,其特征在于,包括:处理器、存储器和收发器;所述存储器与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器从所述存储器中读取所述计算机指令,以使得所述电子设备执行权利要求1-9任一项或权利要求10-17任一项所述的方法步骤;所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
- 一种可读存储介质,所述可读存储介质中存储有执行指令,其特征在于,当电子设备的至少一个处理器执行所述执行指令时,所述电子设备执行权利要求1-19任一项或权利要求10-17任一项所述的方法步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20922185.2A EP4087180A4 (en) | 2020-02-24 | 2020-02-24 | DATA ENCRYPTION METHOD, DATA DECRYPTION METHOD, DEVICE AND ELECTRONIC DEVICE |
CN202080004574.XA CN112602289B (zh) | 2020-02-24 | 2020-02-24 | 数据加密处理方法、数据解密处理方法、装置、电子设备及可读存储介质 |
PCT/CN2020/076438 WO2021168614A1 (zh) | 2020-02-24 | 2020-02-24 | 数据加密处理方法、数据解密处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/076438 WO2021168614A1 (zh) | 2020-02-24 | 2020-02-24 | 数据加密处理方法、数据解密处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021168614A1 true WO2021168614A1 (zh) | 2021-09-02 |
Family
ID=75208099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/076438 WO2021168614A1 (zh) | 2020-02-24 | 2020-02-24 | 数据加密处理方法、数据解密处理方法、装置及电子设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4087180A4 (zh) |
CN (1) | CN112602289B (zh) |
WO (1) | WO2021168614A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422124A (zh) * | 2021-12-28 | 2022-04-29 | 中国电信股份有限公司 | 数据传输方法及装置 |
WO2024060149A1 (zh) * | 2022-09-22 | 2024-03-28 | Oppo广东移动通信有限公司 | 密钥验证方法、密钥获取方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130013921A1 (en) * | 2011-07-07 | 2013-01-10 | Ziptr, Inc. | Methods and apparatus for secure data sharing |
CN106533662A (zh) * | 2016-11-03 | 2017-03-22 | 北京奇虎科技有限公司 | 一种传输网络安全密钥的方法与装置 |
CN107733646A (zh) * | 2017-11-30 | 2018-02-23 | 中国联合网络通信集团有限公司 | 加密方法、解密方法和加密解密系统 |
CN109495454A (zh) * | 2018-10-26 | 2019-03-19 | 北京车和家信息技术有限公司 | 认证方法、装置、云端服务器及车辆 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1747638B1 (en) * | 2004-04-30 | 2016-08-31 | BlackBerry Limited | Systems and methods to securely generate shared keys |
US20130254536A1 (en) * | 2012-03-22 | 2013-09-26 | Workshare, Ltd. | Secure server side encryption for online file sharing and collaboration |
CN104539610B (zh) * | 2014-12-25 | 2017-10-27 | 华中科技大学 | 一种提高外包加密数据共享功能的代理重加密方法 |
CN108401243B (zh) * | 2018-02-23 | 2019-03-29 | 广州大学 | 车载自组网消息认证方法与系统 |
EP4398513A3 (en) * | 2018-05-14 | 2024-10-02 | nChain Licensing AG | Method and system for communicating a secret |
-
2020
- 2020-02-24 CN CN202080004574.XA patent/CN112602289B/zh active Active
- 2020-02-24 EP EP20922185.2A patent/EP4087180A4/en active Pending
- 2020-02-24 WO PCT/CN2020/076438 patent/WO2021168614A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130013921A1 (en) * | 2011-07-07 | 2013-01-10 | Ziptr, Inc. | Methods and apparatus for secure data sharing |
CN106533662A (zh) * | 2016-11-03 | 2017-03-22 | 北京奇虎科技有限公司 | 一种传输网络安全密钥的方法与装置 |
CN107733646A (zh) * | 2017-11-30 | 2018-02-23 | 中国联合网络通信集团有限公司 | 加密方法、解密方法和加密解密系统 |
CN109495454A (zh) * | 2018-10-26 | 2019-03-19 | 北京车和家信息技术有限公司 | 认证方法、装置、云端服务器及车辆 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4087180A4 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422124A (zh) * | 2021-12-28 | 2022-04-29 | 中国电信股份有限公司 | 数据传输方法及装置 |
CN114422124B (zh) * | 2021-12-28 | 2024-05-10 | 中国电信股份有限公司 | 数据传输方法及装置 |
WO2024060149A1 (zh) * | 2022-09-22 | 2024-03-28 | Oppo广东移动通信有限公司 | 密钥验证方法、密钥获取方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112602289B (zh) | 2021-12-21 |
EP4087180A1 (en) | 2022-11-09 |
CN112602289A (zh) | 2021-04-02 |
EP4087180A4 (en) | 2023-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10516654B2 (en) | System, apparatus and method for key provisioning delegation | |
CN110089071B (zh) | 安全的分布式数据处理 | |
JP2021522595A (ja) | 暗号化カード、電子デバイス、および暗号化サービスの方法 | |
EP4258593A1 (en) | Ota update method and apparatus | |
CN105812141A (zh) | 一种面向外包加密数据的可验证交集运算方法及系统 | |
WO2022194276A1 (zh) | 一种数据处理方法和相关设备 | |
CN111555880B (zh) | 数据碰撞方法、装置、存储介质及电子设备 | |
EP4412152A1 (en) | Authentication method and communication apparatus | |
CN113573304A (zh) | 签名实现、验签方法以及签名终端、验签终端和存储介质 | |
WO2021168614A1 (zh) | 数据加密处理方法、数据解密处理方法、装置及电子设备 | |
WO2021098152A1 (zh) | 基于区块链的数据处理方法、装置及计算机设备 | |
CN112866981B (zh) | 一种签约数据的管理方法、装置 | |
CN114785524B (zh) | 电子印章生成方法、装置、设备和介质 | |
Gan et al. | Partial policy hiding attribute-based encryption in vehicular fog computing | |
Hassan et al. | [Retracted] A Lightweight Proxy Re‐Encryption Approach with Certificate‐Based and Incremental Cryptography for Fog‐Enabled E‐Healthcare | |
US11496287B2 (en) | Privacy preserving fully homomorphic encryption with circuit verification | |
CN117560150A (zh) | 密钥确定方法、装置、电子设备和计算机可读存储介质 | |
EP4184857A1 (en) | Bluetooth node pairing method and related apparatus | |
Somaiya et al. | Implementation and evaluation of EMAES–A hybrid encryption algorithm for sharing multimedia files with more security and speed | |
CN116527358A (zh) | 一种基于cp-abe的边缘计算下时间敏感访问控制方法及装置 | |
CN114866312B (zh) | 一种保护数据隐私的共有数据确定方法及装置 | |
KR20170107818A (ko) | 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법 | |
Zhang et al. | A privacy-preserving proximity testing using private set intersection for vehicular ad-hoc networks | |
CN115834058A (zh) | 通信加密方法、装置、计算机设备 | |
CN113946855A (zh) | 一方传输微量数据的隐私数据求交方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20922185 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020922185 Country of ref document: EP Effective date: 20220803 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |