The present disclosure relates to technologies and techniques for safeguarding vehicle components. The present disclosure also relates to a vehicle component that executes such a method, and a motor vehicle that is configured to execute methods disclosed herein, and/or contains numerous such vehicle components.
In the automotive industry there is a significant desire to effectively protect electronic vehicle components and control units against manipulation and theft. It is therefore currently assumed in Germany, that the mileage reading in every third used automobile has been manipulated, and the mileage gauge that displays the mileage, which is normally combined with the tachometer, or is integrated in the dashboard, indicates an inaccurately low mileage.
This can take place through tachometer manipulation in which a manipulating device is connected to the on-board diagnostics port (OBD), and the prior mileage is overwritten. Such a manipulation is simple, because it requires no removal of components. Furthermore, these manipulations are difficult to prove. A vehicle can also display an inaccurate mileage if the vehicle component comprising the mileage gauge originally installed during production is replaced with a legally or illegally obtained corresponding vehicle component.
To prevent tachometer manipulation, or at least make it more difficult, a redundant mileage reading is frequently stored in numerous control units in the vehicle. If the mileage is then overwritten in just one control unit, a manipulation can be detected by comparing the various stored mileage readings.
Use of blockchain technologies against tachometer manipulation have also been considered. The mileage readings from numerous vehicles are sent at regular intervals to external servers, to be stored in a public blockchain data base. DE 10 2016 007 462 A1 and DE 10 2016 215 914 A1 describe approaches for this.
Likewise, the use of stolen or fake components, or components that are not authorized for the vehicle, should be made unattractive by the so-called component protection for diverse vehicle components. In this case, a vehicle component can either be taken out of operation, or its scope of functions can be reduced, if it is installed in a vehicle other than the original. Various methods are known for detecting whether the vehicle component in question has been installed in another vehicle.
A unique identification code is generated in each protected vehicle component in a decentralized implementation by a parameterization during the vehicle production or the first time it is started up. These identification codes are sent out by the protected vehicle components and received by the vehicle bus every time the vehicle is started up. The respective vehicle components store the identification codes for the remaining vehicle components that are to be protected, installed in the same vehicle before it has acquired this data, i.e. in the first operation thereof, or after a reset by an authorized entity. When later starting up after acquiring the data, they then compare the identification codes of the vehicle components that have been identified in the vehicle with the stored identification codes. If a vehicle component detects deviations above a specific threshold, e.g. more than one deviating protected vehicle component, it assumes that it is installed in another vehicle, and initiates appropriate measures.
With a central implementation, a key A for each protected vehicle component is stored in a central control unit, e.g. a gateway that coordinates the data transfer within the network system for the vehicle, and a matching key B is stored in the protected vehicle component. The central control unit and the protected vehicle components can then communicate with one another via encryption methods to determine whether the expected matching key is stored in the counterpart. In this manner, the protected vehicle components can determine whether they have been installed in the vehicle for which they were configured. The central control unit can also determine whether all of the protected vehicle components are still installed in the vehicle.
An aspect of the present disclosure is to create an improved method for protecting vehicle components against manipulation and theft, and to provide a corresponding vehicle component.
In some examples, technologies and techniques are disclosed for protecting vehicle components that may include the following steps:
Information vulnerable to manipulation, e.g. mileage readings, can therefore be protected by the distributed storage of the data regarding vehicle use in numerous vehicle components. At the same time, components can be protected with the method. In this manner, a single method can therefore contain measures for preventing data manipulation, and also protect the components. Furthermore, this takes less time in the vehicle production than known component protection methods, because individual keys or identification codes for the vehicle and control unit do not need to be generated and placed in the protected vehicle components. Furthermore, in contrast to the centralized method specified above, it is no longer necessary to permanently store the key or its fundamental information, because after an authorized partial exchange of a vehicle component, the same key for the vehicle can be put in place in this manner.
In some examples, technologies and techniques are disclosed for protecting motor vehicle components that include the steps of:
In some examples, the validity of the added block is checked by numerous vehicle components, and it is decided by a majority decision whether the new block will be accepted. The protection provided by the method can be significantly increased with this simultaneous validity check by numerous vehicle components.
Advantageously, if the check for the added block delivers a positive result, the supplemented data structure is stored in the at least one other vehicle component.
It is also advantageous, if the check for the added block delivers a negative result, when the scope of functions for the first vehicle component is restricted, or this component is taken out of operation in the vehicle.
It is particularly advantageous if a vehicle component in which a data structure has not yet been stored, initially acquires the first data structure received from one of the other vehicle components.
According to another embodiment of the present disclosure, the data structure stored in a vehicle component that was initially installed in another vehicle for authorizing the operation of the component in another vehicle is deleted.
According to another embodiment of the present disclosure, the version of data structure most frequently found in the data structures in the various vehicle components in the vehicle is used.
The data regarding vehicle use advantageously comprise the mileage of the vehicle.
A method according to the present disclosure is preferably implemented in numerous vehicle components in a motor vehicle.
Further features of the present disclosure are explained in the following description and claims, and illustrated in the figures. Therein:
For a better understanding of the principles of the present disclosure, embodiments of the present disclosure shall be described below in detail in reference to the drawings. It should be noted that the present disclosure is not limited to these embodiments, and that the features described herein can also be combined or modified without abandoning the scope of protection for the present disclosure as set forth in the claims.
In a first step 1, the first block of the data structure is stored in a vehicle component in the vehicle if no data structure has been previously stored, or after deleting the existing data structure. In a blockchain, this first block is also known as a so-called genesis block. This first block is not computed by a vehicle component, but instead predefined statically.
In the second step 2, data regarding vehicle use is then acquired from the vehicle components. The data regarding vehicle use are understood herein to be arbitrary parameters concerning the vehicle, that are determined at a specific point in time. As such, the following data regarding vehicle use can be acquired:
Other data substantial to the vehicle use can also be collected, e.g. data that are subject to an acquisition requirement according to legal stipulations, or information regarding whether the vehicle is in a manual, semiautomatic, or autonomous driving mode, or when it is switched from one of these modes to another driving mode.
The collection of the data can be used to determine, e.g. times or reasons for starting or stopping vehicle use, e.g. in the case of an accident or for repairs, or at regular intervals, without requiring a specific event. This can also take place when modifying the detected parameters by a predefined amount or the time at which a vehicle component is actuated.
The acquired data are then entered in a third step 3 in a new block, and protected by computing a checksum for this new block. The checksum is acquired in the new block and enables a later check of the integrity of the data. The checksum of the previously last block in the data structure is then acquired in the new block, in order to link the new block locally to the existing data structure.
This can take place in a decentralized manner by the vehicle component that has acquired the data. A new block can also be formed in a centralized manner by a special vehicle component responsible for this, e.g. a central control unit, which can then combine potentially new entries of various data regarding vehicle use in the new block.
Because the data structure is decentralized on the various vehicle components, they must agree to any expansion of the data structure. For this, the vehicle component containing the new block sends the new block, or the complete data structure supplemented by the new block, to the other vehicle components in the vehicle in the fourth step 4. This data exchange among the protected vehicle components can take place at regular intervals, or immediately after acquiring the new data or the generation of a new block.
In the fifth step 5, the new block is checked by the other vehicle components. Each receiver first checks whether the new block is valid based on the checksum.
Using a consensus algorithm, which in the simplest case makes a simple majority decision, it is then decided in the sixth step 6 whether the new block will be accepted. Such a majority decision can be met, for example, in that a majority, or even just more than half of the participating vehicle components have accepted the new block when all of the other vehicle components participating in the check have validated the checksum.
This can be circumvented, e.g. if manipulation is intended, in that a majority or all of the other vehicle components participating in the check are exchanged, but this would be extremely complicated and uneconomical. It is therefore almost impossible to manipulate the mileage reading in a vehicle, if this would require that in addition to manipulating the control unit that generates the mileage reading, all of the other control units, e.g. for the engine, transmission and steering system, have to be replaced to obtain a consensus.
Vehicle components that can be readily accessed and easily removed can therefore be protected against theft by grouping them with vehicle components that are difficult or complicated to replace.
The validations by the various vehicle components can also be weighted differently, in that vehicle components that are more difficult to remove are given a higher value.
If a consensus is reached in the sixth step 6 that the new block is valid, it is then added in a seventh step 7 to the data structure in the vehicle.
If there is a deviation from the checksum in step 6 when checking the new block in most of the other vehicle components, the use of the vehicle component that wants to add the new block to the data structure in the vehicle is then limited in the eighth step 8.
The first block 21 in the data structure, unlike the other blocks, is not generated by one of the interconnected vehicle components during operation of the vehicle. Instead, it is already generated in at least one of the vehicle components during production of the vehicle, and permanently stored therein. This first block can also be formed in the framework of an initialization at the end of the production, in all of the vehicle components participating in the data exchange.
In order to obtain a shared data set as the starting point, or to obtain an initial consensus, arbitrary data can fundamentally be entered in a usage data section (English: payload) 25 of the first block 21. In the example shown herein, the mileage and hours in operation are set to zero. Information regarding the production of the vehicle, e.g. the year and location in which it was manufactured, can also be advantageously stored here. In addition, or alternatively, an identification number for the vehicle, e.g. the vehicle identification number, or the precise date of production, can also be stored.
The first block also contains a header (English: header) 24 in which a checksum obtained via the usage data is located. This makes it possible to protect the block prior to manipulation. So-called “hash functions” or “hash algorithms” can be used for this.
Each of the blocks 22 following the first block also has a header and a payload. The checksum for the immediately previous block is also stored in the header, such that a link is established between the two blocks.
Information is stored in the usage data in this example, which is acquired at a specific point in time during the use of the vehicle by one or more vehicle components or control units. As such, the current mileage reading and the current number of hours the vehicle is in operation is stored in the usage data at this time. Furthermore, a type of entry is noted in this example, indicating whether the acquired data were acquired while driving, during maintenance, in an accident, or during another event. In this example, a section of the usage data is reserved for other specific information, e.g. the type of accident.
A checksum is also obtained here for the usage data, which is stored in the header of the block in addition to the checksum for the preceding block. The obtained checksum is then used in turn to link the block to the subsequent data block. In this manner, an arbitrary number of data blocks can be linked together, starting from the first data block 21, and ending at the last data block 23.
In addition to the checksum, a timestamp can also be stored in the headers of the blocks, indicating the time when the respective block was generated, or the event was recorded therein.
Because numerous different electronic components and control units are currently incorporated in motor vehicles, these components can also store data in the respective blocks in the data structure in addition to the data described by way of example, or instead of the data specified herein.
An example with the supplementation of the data structure by a new block, which is limited to three vehicle components 31, 32, and 33 for purposes of clarity, is shown schematically in
The vehicle component 31, symbolized by a dashboard, provides the respective current mileage reading for the vehicle. Another vehicle component 32 can be an airbag control unit, for example, which outputs data in the event of an accident, e.g. the triggering of an airbag, or the severity of a crash. The last vehicle component 33 can be an engine control unit, for example, that outputs data regarding the hours in which the vehicle was in operation.
As
If the vehicle component 31 then detects a new mileage reading, for example, at the end of a use of the vehicle, this is noted in a new block 35 by the vehicle component 31, as depicted in
If both vehicle components 32, and 33 come to the conclusion that the new block is valid, as indicated by the check mark in
If instead, the vehicle components 32 and 33 determine that there has been a manipulation of the data structure by the vehicle component 31 based on a deviation from the checksum, as shown in
Other approaches are also possible here, depending on the extent to which the data structure in the vehicle component 31 deviates from the data structure for the vehicle.
If the data structure is entirely different than the data structure for the vehicle, it can be assumed that the vehicle component 31 originally came from another vehicle. The vehicle component 31 can then be locked, such that it first must be unlocked by an authorized entity in order to function. The resetting of a used vehicle component such that it can be authorized for use in another vehicle can be obtained through deleting the data structure stored therein, wherein the triggering of this deletion by unauthorized entities should be protected against. The first data structure received from another vehicle component is then adopted.
If only a slight deviation has been detected, for example, that only the last one or two blocks are missing from the data structure, but all of the preceding blocks have the correct checksums, it can be assumed that the vehicle component temporarily malfunctioned, and that these missing blocks can be restored by re-synchronizing with the data structure in the vehicle.
A brand new vehicle component subsequently installed in the vehicle has no data structure. In this case, the new vehicle component initially adopts the first data structure received from another vehicle component already installed in the vehicle, such that new vehicle components subsequently installed in the vehicle are immediately subjected to the component protection.
The present disclosure can be used for component protection in any electric vehicle components integrated in a vehicle, such as the various control units installed therein. It is also possible to receive the dedicated key for the vehicle in the component protection.
| Number | Date | Country | Kind |
|---|---|---|---|
| 10 2018 210 318.6 | Jun 2018 | DE | national |
The present application claims priority to International Pat. App. No. PCT/EP2019/066489, filed Jun. 21, 2019, to Simon Gerlach, titled “Method for Securing Vehicle Components and Corresponding Vehicle Component”, which further claims priority to German Patent Application No. DE 102018210318.6 to Simon Gerlach, filed Jun. 25, 2018, the contents of which is incorporated by reference in its entirety herein.
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/EP2019/066489 | 6/21/2019 | WO | 00 |