Method, computer-readable medium, system and vehicle comprising the system for providing a data set of a vehicle to a third party
The method uses cryptographic key pairs and a blockchain database with encrypted storage and smart contracts to enhance data security and transparency in vehicle data sharing, addressing safety and integrity concerns.
Patent Information
- Application Number
- DE102017208503
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2017-05-19
- Publication Date
- 2025-09-25
- Estimated Expiration
- 2037-05-19
AI Technical Summary
Existing systems lack efficient methods to enhance safety, confidentiality, and transparency when providing vehicle data records to third parties, particularly in terms of information security and integrity.
A method involving cryptographic key pairs, encrypted data storage, and a blockchain database is employed to manage and distribute vehicle data records, ensuring confidentiality through encryption and integrity through hash values stored on a blockchain, with access control via smart contracts.
This approach increases data security and transparency by allowing transparent data verification and flexible access control, ensuring confidentiality and integrity of vehicle data while enabling discrimination-free access for third parties.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The invention relates to a method for providing a vehicle data set to a third party. In particular, the invention relates to a computer-readable medium, a system, and a vehicle comprising the system for providing a vehicle data set to a third party.
[0002] Connected vehicles are well known, meaning that vehicle data can be transmitted from the vehicles to a central backend server and received by a central backend server. From the central backend server, the vehicle data can be distributed to a third-party server. To retrieve the data from the central backend server, a third party can register with the central backend server and retrieve this data from the central backend server.
[0003] US 2016 / 0 330 035 A1 describes systems and methods for managing a user's identity, managing the user's identity in a public storage facility, and certifying pending transactions for a user.
[0004] It is therefore an object of the invention to efficiently increase security, in particular information security, and / or transparency when providing a vehicle data set to third parties. In particular, it is an object of the invention to efficiently improve the confidentiality and / or integrity of a vehicle data set when providing the data set to third parties.
[0005] This object is achieved by the features of the independent claims. Advantageous embodiments and further developments of the invention emerge from the dependent claims.
[0006] According to a first aspect, the invention is characterized by a method for providing a data set of a vehicle to a third party. Providing the data set can comprise distributing the data set via a communications network from the vehicle to a server of a vehicle manufacturer and / or to a server of the third party. A data set can comprise one or more pieces of data of the vehicle, in particular one or more pieces of data of one or more sensors, actuators and / or one or more control units of the vehicle. Additionally or alternatively, a data set can comprise environmental data of the vehicle and / or user data of the vehicle. The method comprises receiving a cryptographic key pair comprising a private and a public cryptographic key. Alternatively, the method can receive multiple cryptographic key pairs.For example, a cryptographic key pair can be linked to an owner of the vehicle, a key pair to an owner of the vehicle, and / or a key pair to a driver or passenger of the vehicle. The cryptographic key pair or a key, e.g. the private cryptographic key or the public cryptographic key, of the cryptographic key pair can be stored on a mobile device of the owner of the vehicle, the owner of the vehicle, the vehicle user, and / or the vehicle passenger, a control unit of the vehicle, or another data carrier such as a smart card. For example, the private cryptographic key can be stored on a secure element of the mobile device or the control unit or a smart card. Preferably, only the public cryptographic key of the cryptographic key pair is stored in the vehicle.The private cryptographic key of the cryptographic key pair is preferably stored in the mobile terminal, e.g., a vehicle key of the vehicle owner. The method further comprises receiving the data set from the vehicle and encrypting the received data set using the public cryptographic key. Furthermore, the method comprises transmitting the encrypted data set to a data storage device, e.g., a database server, for storing the encrypted data set, generating a hash value of the encrypted data set using the private cryptographic key of the vehicle owner, and transmitting the hash value of the encrypted data set to a distributed, decentralized database, e.g., a blockchain database, for storing the hash value of the encrypted data set.
[0007] The method further comprises receiving a request message from a third party to retrieve the data set, generating a first request message to the data store and a second request message to the blockchain database depending on the received request message, transmitting the first request message to the data store and the second request message to the blockchain database, and receiving the encrypted data set from the data store in response to the first request message and the hash value of the encrypted data set from the blockchain database in response to the second request message.The method validates the encrypted data set using the hash value, decrypts the encrypted data set using the private cryptographic key if the validation of the encrypted data set is successful, and transmits the data set to a third party server in response to the third party's request message. If the private cryptographic key is not available when decrypting the encrypted data set, the encrypted data set can be transferred to a device, e.g., a mobile device or a vehicle control unit, in order to decrypt the encrypted data set on this device using the private cryptographic key. Alternatively, when decrypting the encrypted data set, the private cryptographic key can be stored on a device, e.g.,from a mobile device or a control unit, and transmitted to a device that executes the method to decrypt the encrypted data set. For example, the cryptographic key pair can be linked to a person, e.g., the owner, the driver, or a passenger. The person can authorize access to the private cryptographic key by a third party.
[0008] Advantageously, by storing the hash value of the encrypted data set in the blockchain database, the security and transparency of providing vehicle data can be efficiently increased. By storing the hash value in the blockchain database, a third party can transparently verify which data sets are stored in the blockchain. Furthermore, the owner of the vehicle, for example, can authorize access to the data set and thus control access to the data set or parts of the data set. Furthermore, by encrypting the data set in the data store and storing the hash value in the blockchain database, the confidentiality of the data set can be ensured for the owner of the vehicle. For the third party, the integrity of the data set can be assured by storing the hash value in the blockchain database.This allows the third party to efficiently detect changes to the vehicle's data set. Access to the vehicle's data set can thus be transparent and non-discriminatory.
[0009] According to an advantageous embodiment, the vehicle data set can comprise a preferably unique identifier that identifies the vehicle and / or an owner and / or a possessor and / or an occupant of the vehicle. This allows the data set to be uniquely assigned to a person and / or a vehicle.
[0010] According to a further advantageous embodiment, the method may further comprise receiving executable program code from the owner of the vehicle, wherein the executable program code is linked to the vehicle's data set, and / or wherein the executable program code comprises commands that are executed upon a request for the data set by the third party and that verify access to the data set by the third party. This allows access to the vehicle's data set by the owner of the vehicle and / or a vehicle manufacturer to be flexibly controlled.
[0011] According to a further advantageous embodiment, receiving the request message from the third party to retrieve the data set may comprise executing the executable program code associated with the data set and, if the executed program code indicates that the third party is permitted to access the data set, generating a first request message to the data store and a second request message to the blockchain database depending on the received request message, transmitting the first request message to the data store and the second request message to the blockchain database, receiving the encrypted data set from the data store in response to the first request message and the hash value of the encrypted data set from the blockchain database in response to the second request message, and validating the encrypted data set using the hash value.If the validation of the encrypted data set is successful, the method can decrypt the encrypted data set using the private cryptographic key and transmit the data set to a third-party server in response to the third-party request message. This allows access to the vehicle's data set to be flexibly controlled by the vehicle owner and / or the vehicle manufacturer.
[0012] According to a further advantageous embodiment, the executable program code can be a script, or the executable program code can be a smart contract script. A smart contract script comprises instructions that implement the provisions of a preferably digital contract. For example, a smart contract script can comprise instructions that regulate access to and / or processing of data linked to the smart contract script. This allows access to and processing of data to be controlled transparently and flexibly by a vehicle owner and / or by the vehicle manufacturer.
[0013] According to a further aspect, the invention is characterized by a computer-readable medium for providing a data set of a vehicle, wherein the computer-readable medium comprises instructions which, when executed on a computer, carry out the method described above.
[0014] According to a further aspect, the invention is characterized by a system for providing a data set of a vehicle, wherein the system comprises a processor which is designed to carry out the method described above.
[0015] According to a further aspect, the invention is characterized by a vehicle comprising a system, as described above, for providing a data set of a vehicle.
[0016] Further features of the invention emerge from the claims, the figures, and the description of the figures. All features and combinations of features mentioned above in the description, as well as the features and combinations of features mentioned below in the description of the figures and / or shown alone in the figures, can be used not only in the respective specified combination, but also in other combinations or even individually.
[0017] In the following, a preferred embodiment of the invention is described with reference to the accompanying drawings. Further details, preferred embodiments, and developments of the invention will emerge from these. In detail, schematically Fig. 1 an exemplary sequence diagram of a method for providing a data set of a vehicle to a third party.
[0018] In detail, Fig.1 shows an exemplary sequence diagram 100 of a method for providing a data set of a vehicle 106 to a third party 104. An application 108 can implement the method. The application 108 can be executed, for example, on a backend server of a manufacturer of the vehicle 106. The application can be a distributed application, i.e., part of the application can be executed on a control unit of the vehicle, e.g., encrypting and storing the data set, and part can be executed on the manufacturer's backend server, e.g., validating and decrypting the data set. The application 108 can receive 114 a cryptographic key pair, preferably at least one public cryptographic key of the cryptographic key pair, from an owner 102, in particular from a preferably mobile terminal of the owner 102 of the vehicle 106, e.g., from a computer, a smartphone, or a key.The public, and optionally the private, cryptographic key of the owner 102 of the vehicle 106 can be received via an encrypted communication connection. Alternatively, the cryptographic key can be stored in a key database of the vehicle manufacturer's backend server and retrieved from the key database by the application 108. The application 108 can further receive 116 one or more data records of the vehicle 106. The data record(s) of the vehicle 106 can be received by the application 108 via an encrypted, wireless, or wired communication connection with the vehicle 106. The application 108 can receive a data record(s) from the vehicle 106 using a push or pull communication.
[0019] The application 108 can encrypt the received data record(s) using the public cryptographic key, which is stored, for example, in a key database of the application 108 and / or in the vehicle 106, and transmit 118 the encrypted data record(s) to a data store 110 for storing the encrypted data record(s). The data store 110 can be a database or a file system of a non-volatile memory. The data store 110 can be a central data store. For example, the data store 110 can be a relational database of the vehicle manufacturer's backend. The application 108 can further generate a hash value of the encrypted data record and transmit the hash value of the encrypted data record(s) to a blockchain database 112 for storing the hash value of the encrypted data record(s).transmit the encrypted data records 120. The transmission and storage of the encrypted data record and the associated hash value can be performed in parallel or sequentially by the application 108. Preferably, the application 108 can receive a confirmation message about the successful storage of the encrypted data record and the associated hash value.
[0020] Additionally, the application 108 may receive executable program code, e.g., a smart contract script, from the owner 102 of the vehicle 106 and / or from the vehicle 106. The executable program code includes instructions and / or a protocol that may include access to the data set, changes to the data set, and / or processing instructions for the data set. The executable program code may be received with the data set of the vehicle 106. The executable program code may be received from the owner 102 of the vehicle and linked to the data set of the vehicle 106. The application 108 may execute the executable program code.
[0021] Additionally or alternatively, the application 108 can transmit the executable program code, preferably together with the hash value of the encrypted data set, to the blockchain database 112. The executable program code can be linked to the hash value of the data set. The blockchain database can store the executable program code and execute it each time the stored hash value is accessed. The application can further receive a change to the executable program code from the owner 102 of the vehicle and / or the vehicle and transmit it to the blockchain database 112. The blockchain database 112 can receive and store the change to the executable program code so that the modified executable program code is executed when the hash value of the data set is accessed.
[0022] To retrieve the encrypted data set and the associated hash value, the application 108 can receive 122 a request message from a third party 104, in particular a server of the third party 104, to retrieve the data set(s) of the vehicle 106. The request message can, for example, uniquely identify the owner 102, the vehicle 106, a component of the vehicle 106, and / or the data set(s) of the vehicle 106. The third party 104 can authenticate itself to the application 108 using known authentication methods before sending the request message to the application 108. The application 108 can preferably only receive the request message from the third party 104 if the third party 104 has successfully authenticated itself to the application 108.
[0023] Furthermore, the application 108 can execute the executable program code associated with the data set requested by the third party 104. If the executed program code indicates that the third party 104 is permitted to access and / or process the data set, the application 108 can execute the steps of the method described below. Otherwise, the application 108 can transmit a message to the third party 104 indicating that the third party 104 is not authorized to access and / or process the data set.
[0024] Depending on the received request message from the third party 104, the application 108 can generate a first request message to the data store 110 and transmit the first request message to the data store 110 126. In response to the first request message, the application 108 can receive the encrypted data set from the data store 110 128.
[0025] The application 108 can validate the encrypted data set received from the data store 110 using the hash value received from the blockchain database 112. If the application 108 successfully validates the encrypted data set, the encrypted data set can be decrypted using the private cryptographic key. To do this, the application 108 can read the private cryptographic key from the key database of the application 108.
[0026] If the private cryptographic key of the owner 102 of the vehicle 106 is not available to the application 108, the application 108 can transmit 123 the data set to be decrypted to the owner of the vehicle 102 for decryption using the private cryptographic key of the owner of the vehicle and receive the decrypted data set again 124.
[0027] Depending on the received request message from the third party 104, the application 108 can generate a second request message and transmit 130 the second request message to the blockchain database 112. In response to the second request message, the blockchain database 112 can transmit the hash value of the encrypted data set to the application 108. Finally, the application 108 can transmit 134 the data set to the third party 104, in particular to a server of the third party 104, via a preferably encrypted communication connection in response to the request message from the third party 104.
[0028] Advantageously, using a blockchain database can efficiently increase the integrity and trustworthiness of a vehicle's data records. No central server is required to distribute a vehicle's data records to third parties, while maintaining transparency for the third party and data security for the vehicle owner. The vehicle owner can flexibly define who can access and / or process the vehicle's data records using a smart contract or smart contract script. The vehicle owner can flexibly adapt the smart contract script and thus control access to and processing of their vehicle's data records. For the third party, using the blockchain database has the advantage that they can always transparently check whether the vehicle's data records have been altered or are incomplete.This allows the third party to access and process the vehicle's data records without discrimination, provided the vehicle owner's smart contract script allows it. Encrypted storage and distribution of the data records also ensures confidentiality. List of reference symbols 100 Sequence diagram 102 owners 104 Third 106 vehicles 108 Application or app 110 data storage 112 Blockchain database 114 receiving a private cryptographic key 116 receiving a data record from a vehicle 118 transmit the encrypted data set 120 transmit the hash value 122 receive a request message 123 transmit a message to transfer the private cryptographic key 124 receiving a private cryptographic key 126 transmit a first request message 128 receive a response to the first request message 130 transmit a second request message 132 transmit a response to the second request message 134 transmit the data set to the third party
Claims
[1] A method for providing a data set of a vehicle to a third party, the method comprising: Receiving a cryptographic key pair comprising a public cryptographic key and a private cryptographic key; Receiving the vehicle data set, wherein the vehicle data set comprises one or more data items from one or more sensors, actuators and / or one or more control units of the vehicle; Receiving executable code from the owner of the vehicle, where the executable program code is linked to the vehicle data set, and wherein the executable program code comprises instructions that are executed when the data set is requested by the third party and that check access to the data set by the third party; Encrypting the received data set using the public cryptographic key; Transmitting the encrypted data set to a data storage device for storing the encrypted data set; Generating a cryptographic hash value of the encrypted data set; Transmitting the hash value of the encrypted data set to a blockchain database for storing the hash value of the encrypted data set; receiving a request message from a third party to retrieve the data set, wherein receiving the request message from the third party to retrieve the data set comprises: Executing the executable code associated with the data set; If the executed program code indicates that the third party is allowed to access the data set: Generating a first request message to the data store and a second request message to the blockchain database depending on the received request message; Transmitting the first request message to the data store and the second request message to the blockchain database; Receiving the encrypted data set from the data store in response to the first request message and the hash value of the encrypted data set from the blockchain database in response to the second request message; Validating the encrypted data set using the hash value; and If validation of the encrypted data set is successful: Decrypting the encrypted data set using the private cryptographic key; and Transmitting the data set to a third party server in response to the third party's request message. [2] The method of claim 1, wherein the vehicle data set comprises a preferably unique identifier that identifies the vehicle and / or an owner and / or an owner and / or an occupant of the vehicle. [3] Method according to one of claims 1 to 2, wherein the executable program code is a script; and / or wherein the executable program code is a smart contract script. [4] A computer-readable medium for providing a data set of a vehicle, the computer-readable medium comprising instructions which, when executed on a computer, carry out the method of any one of claims 1 to 3. [5] A system for providing a data set of a vehicle, the system comprising a processor configured to carry out the method according to any one of claims 1 to 3. [6] A vehicle comprising a system for providing a data set of a vehicle according to claim 5.
Citation Information
Patent Citations
Process for programming a memory of a microcomputer with data especially for a motor vehicle control program uses protective keys
DE10131579A1
Methods for providing vehicle data of a vehicle, methods for evaluating vehicle data of at least one vehicle, and methods for monitoring a traffic event.
DE102014224202A1
Method and system for sharing encrypted content
US20140325231A1
Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US20150379510A1
User Identification Management System and Method
US20160330035A1