WO2023284372A1 - Procédé de prévention de falsification de données de conduite, et appareil associé - Google Patents

Procédé de prévention de falsification de données de conduite, et appareil associé Download PDF

Info

Publication number
WO2023284372A1
WO2023284372A1 PCT/CN2022/090319 CN2022090319W WO2023284372A1 WO 2023284372 A1 WO2023284372 A1 WO 2023284372A1 CN 2022090319 W CN2022090319 W CN 2022090319W WO 2023284372 A1 WO2023284372 A1 WO 2023284372A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data packet
hash value
packet header
node
Prior art date
Application number
PCT/CN2022/090319
Other languages
English (en)
Chinese (zh)
Inventor
檀景辉
张秦涛
吕小川
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023284372A1 publication Critical patent/WO2023284372A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Definitions

  • the present application relates to the field of data storage, in particular to a method and a related device for preventing tampering of driving data.
  • the storage of driving data is usually realized through the driving data recording system of the vehicle and the cloud database of the car factory.
  • the storage space of the vehicle's own driving data recording system is limited.
  • the storage time of driving data will be limited.
  • the car factory can theoretically modify the driving data arbitrarily, so as to cover up the technical defects of the vehicle, or shirk responsibility after the accident.
  • the embodiment of the present application provides a method for preventing tampering of driving data and a related device, which are used to ensure time authenticity and tamper resistance of driving data.
  • the embodiment of the present application provides a method for preventing tampering of driving data, which is mainly applied to a driving data verification system, and the driving data verification system includes a central node and a plurality of auxiliary nodes.
  • the central node collects driving data within a preset time period; then the central node calculates the driving data using a hash algorithm to obtain a root hash value; the central node generates the root hash value based on the root hash value and time stamp The data packet header of driving data, and use the private key to sign the data packet header; wherein, the timestamp is the system time, and the private key is randomly generated; after the central node generates the data packet header, it sends the data packet header to the auxiliary node; the auxiliary node synchronizes the data packet header; finally, both the central node and the auxiliary node can verify the driving data according to the data packet header.
  • the central node may be the vehicle itself, or a data collection device independent of the vehicle.
  • the auxiliary node includes the car factory's cloud database, the storage device used by the car owner, the verification device corresponding to the car owner, or the database corresponding to the supervision platform. It can be understood that both the central node and the auxiliary node can verify whether the driving data has been tampered with according to the data packet header and the data packet.
  • the central node calculates the original sensor data through the Merkle tree calculation logic to obtain the hash value and the root hash value, thereby constructing the data package; and in the trusted execution environment of the central node, the The root hash value and the trusted timestamp construct the data packet header, and generate a signature private key through the trusted execution environment to sign the data packet header.
  • the driving data verification system can ensure the time authenticity and tamper-proof of the driving data through the data packet header.
  • the central node can directly use the root hash value and the The timestamp generates the packet header. If the software operating environment of the central node is not a secure environment, the central node can generate a data packet header in the trusted execution environment of the central node according to the root hash value and the timestamp, and use the private key to The header of the data packet is signed, the timestamp is the system time generated in the trusted execution environment, and the private key is randomly generated in the trusted execution environment. This ensures the validity of the root hash and timestamp.
  • the software operating environment of the central node i.e. rich execution environment (REE)
  • the central node can directly use the root hash value and the The timestamp generates the packet header.
  • the software operating environment of the central node is not a secure environment, the central node can generate a data packet header in the trusted execution environment of the central node according to the root hash value and the timestamp, and use the private key to The header of the data packet is signed, the timestamp is
  • the driving data may include multiple arrays, where each array corresponds to data of a sensor of the vehicle within the preset time period.
  • the method for the central node to calculate the root hash value according to the driving data can be as follows: separately calculate the hash value corresponding to each array in the plurality of arrays; the central node calculates the hash value according to the Merkle tree The logic combines the hash values corresponding to each array in pairs to calculate the upper layer hash value until the root hash value is obtained.
  • the vehicle data collects data from 4 sensors, which are array 1, array 2, array 3, and data 4; then use the hash algorithm to calculate hash value 1, hash value 2, hash value 3, and hash value Hash value 4; then combine hash value 1 and hash value 2 to get hash value 12, combine hash value 3 and hash value 4 to get hash value 34; finally combine hash value 12 and hash value
  • the value 34 is combined to calculate the hash value 1234, which is the root hash value.
  • the central node may also add the hash value of the data packet header of the previous data packet when generating the data packet header, which specifically includes: the central node obtains the hash value of the previous data packet header, The hash value of the previous data packet header is obtained by performing hash calculation on the entire first data packet header; the central node is based on the hash value of the previous data packet header, the root hash value and the The time stamp generates the data packet header in the trusted execution environment of the central node.
  • the structure in which hash values of front and rear headers are connected is to ensure the continuity of recorded data.
  • constructing the data packet header through the root hash value and timestamp can only ensure the integrity of the current data, but if there is any other data deleted between the current data and the previous data, the hash value is needed
  • the connected structure is guaranteed. With the hash value connected structure, once a data packet header in the middle is maliciously discarded, the forward packet header hash value in the current packet header structure will not match with the previous packet header to recalculate the hash value. It can be found that the data is discarded.
  • the central node may also send all or part of the data of the data packet corresponding to the data packet header to the auxiliary node; wherein, all the data of the data packet includes the driving data in Merck All corresponding hash values and the driving data under the Merkle tree calculation logic; the partial data of the data packet includes the corresponding partial hash value and the part of the driving data of the driving data under the Merkle tree calculation logic content, and the partial hash value and the partial content of the driving data can be calculated to obtain the root hash value.
  • the data packet includes two parts: original data, and hash values of various levels in the middle. Part of the data in the data packet refers to: part of the original data+part of the hash value. In this way, the amount of data transmission between devices can be reduced while effectively ensuring data integrity.
  • At least one of the central node or the auxiliary nodes publishes the data packet header. This further enhances immutability. Because the participants in the driving data verification system are limited after all, there is still a certain probability that all nodes will be completely tampered with. Therefore, the real-time disclosure of the data packet header can be collected by any external supervisory party at any time, which is conducive to further enhancing tamper resistance.
  • the present application provides a data acquisition device, which has the function of realizing the behavior of the central node in the first aspect.
  • This function may be implemented by hardware, or may be implemented by executing corresponding software on the hardware.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the apparatus includes a unit or a module for performing each step of the above first aspect.
  • the device can be used for: an acquisition module, used to acquire vehicle driving data within a preset time period; a processing module, used to calculate a root hash value based on the driving data; generate a root hash value based on the root hash value and a timestamp A data packet header, and use a private key to sign the data packet header, the time stamp is the system time, and the private key is randomly generated; a sending module is configured to send the data packet header to the auxiliary node.
  • a storage module is also included for storing necessary program instructions and data of the data acquisition device.
  • the device includes: a processor and a transceiver, where the processor is configured to support the data collection device to perform corresponding functions in the method provided in the first aspect above.
  • the transceiver is used to instruct the communication between the central node and the auxiliary node, and send the data packet header and data packet involved in the above method to the auxiliary node.
  • the device may also include a memory, which is used for coupling with the processor, and stores necessary program instructions and data of the data acquisition device.
  • the chip when the device is a chip in the data acquisition device, the chip includes: a processing module and a transceiver module.
  • the transceiver module can be, for example, an input/output interface, a pin or a circuit on the chip, which transmits the data generated by the vehicle sensor to other chips or modules coupled with the chip.
  • the transceiver module is used to obtain the driving data of the vehicle within a preset time period;
  • the processing module can be, for example, a processor, which is used to calculate the root hash value according to the driving data; generate A data packet header, and use a private key to sign the data packet header, the time stamp is the system time, and the private key is randomly generated; the transceiver module is also used to send the data packet header to the auxiliary node.
  • the processing module can execute the computer-executed instructions stored in the storage unit, so as to support the data collection device to execute the method provided in the first aspect above.
  • the storage unit may be a storage unit in the chip, such as a register, a cache, etc., or a storage unit located outside the chip, such as a read-only memory (read-only memory, ROM) or a Other types of static storage devices that store static information and instructions, random access memory (random access memory, RAM), etc.
  • a storage unit in the chip such as a register, a cache, etc.
  • a storage unit located outside the chip such as a read-only memory (read-only memory, ROM) or a Other types of static storage devices that store static information and instructions, random access memory (random access memory, RAM), etc.
  • ROM read-only memory
  • RAM random access memory
  • the device includes: a processor, a baseband circuit, a radio frequency circuit and an antenna.
  • the processor is used to realize the control of some functions of each circuit
  • the baseband circuit is used to generate data packet headers, which are processed by analog conversion, filtering, amplification and frequency up-conversion through the radio frequency circuit, and then sent to the auxiliary node through the antenna.
  • the device further includes a memory, which stores necessary program instructions and data of the central node.
  • the device includes a communication interface and a logic circuit
  • the communication interface is used to obtain the driving data of the vehicle within a preset time period
  • the logic circuit is used to calculate the root hash value according to the driving data
  • according to The root hash value and timestamp generate a data packet header, and use a private key to sign the data packet header, the timestamp is the system time, and the private key is randomly generated
  • the communication interface is also used to transfer the data
  • the packet header is sent to the secondary node.
  • the processor mentioned in any of the above can be a general-purpose central processing unit (Central Processing Unit, CPU), a microprocessor, a specific application integrated circuit (application-specific integrated circuit, ASIC), or one or more An integrated circuit for controlling the program execution of the method for preventing tampering of driving data in the above aspects.
  • CPU Central Processing Unit
  • ASIC application-specific integrated circuit
  • the present application provides a method for preventing tampering of driving data, which is mainly applied to a driving data verification system, and the driving data verification system includes a central node and a plurality of auxiliary nodes.
  • the central node collects driving data within a preset time period; then the central node calculates a root hash value according to the driving data; generates a data packet header according to the root hash value and a timestamp, and uses the private key to The data packet header is signed, the timestamp is the system time, and the private key is randomly generated; after the central node generates the data packet header, it sends the data packet header to the auxiliary node; the auxiliary node synchronizes the data packet header; finally the Both the central node and the auxiliary node can verify the driving data according to the data packet header.
  • the central node may be the vehicle itself, or a data acquisition device independent of the vehicle.
  • the auxiliary node includes the car factory's cloud database, the storage device used by the car owner, the verification device corresponding to the car owner, or the database corresponding to the supervision platform. It can be understood that both the central node and the auxiliary node can verify whether the driving data has been tampered with according to the data packet header and the data packet.
  • the central node calculates the original sensor data through the Merkle tree calculation logic to obtain the hash value and the root hash value, thereby constructing the data package; and in the trusted execution environment of the central node, the The root hash value and the trusted timestamp construct the data packet header, and generate a signature private key through the trusted execution environment to sign the data packet header.
  • the driving data verification system can ensure the time authenticity and tamper-proof of the driving data through the data packet header.
  • the auxiliary node receives all or part of the data of the data packet corresponding to the data packet header sent by the central node; wherein, all the data of the data packet includes the driving data in Merkel All hash values corresponding to the tree calculation logic and the driving data; the partial data of the data packet includes the corresponding partial hash values of the driving data under the Merkle tree calculation logic and part of the driving data , and the partial hash value and the partial content of the driving data can be calculated to obtain the root hash value.
  • the data packet includes two parts: original data, and hash values of various levels in the middle. Part of the data in the data packet refers to: part of the original data+part of the hash value. In this way, the amount of data transmission between devices can be reduced while effectively ensuring data integrity.
  • At least one of the central node or the auxiliary nodes publishes the data packet header. This further enhances immutability. Because the participants in the driving data verification system are limited after all, there is still a certain probability that all nodes will be completely tampered with. Therefore, the real-time disclosure of the data packet header can be collected by any external supervisory party at any time, which is conducive to further enhancing tamper resistance.
  • the plurality of auxiliary nodes can mutually verify whether the driving data has been tampered with. Specifically: the first auxiliary node obtains the data packet header of the second auxiliary node, and the first auxiliary node and the second auxiliary node are included in the plurality of auxiliary nodes; the first auxiliary node obtains the second auxiliary node The data packet header of the auxiliary node is compared with the data packet header stored by itself to determine whether the data of the second auxiliary node has been tampered with.
  • the present application provides a data verification device, which has the function of realizing the behavior of the auxiliary node in the first aspect above.
  • This function may be implemented by hardware, or may be implemented by executing corresponding software on the hardware.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the apparatus includes a unit or a module for performing each step of the above third aspect.
  • the device can be used for: a receiving module, used to synchronize the data packet header sent by the central node, the data packet header is generated by the central node according to the root hash value and the timestamp, and the data packet header uses the private key To sign, the timestamp is the system time, the private key is randomly generated, the root hash value is calculated by the central node according to the driving data, and the driving data is collected by the central node within a preset time period Obtained; a processing module, configured to use the data packet header to verify the integrity of the driving data.
  • a storage module is also included for storing necessary program instructions and data of the data verification device.
  • the device includes: a processor and a transceiver, where the processor is configured to support the data verification device to perform corresponding functions in the method provided in the third aspect above.
  • the transceiver is used to instruct the communication between the auxiliary node and the central node, and receives the data packet header involved in the above method sent by the central node.
  • the device may also include a memory, which is used to be coupled with the processor, and stores necessary program instructions and data of the data verification device.
  • the chip when the device is a chip in the data verification device, the chip includes: a processing module and a transceiver module.
  • the transceiver module can be, for example, an input/output interface, a pin or a circuit on the chip, which transmits the data generated by the vehicle sensor to other chips or modules coupled with the chip.
  • the transceiver module is used to synchronize the data packet header sent by the central node, the data packet header is generated by the central node according to the root hash value and the timestamp, and the data packet header is signed with a private key, and the timestamp is System time, the private key is randomly generated, the root hash value is calculated by the central node according to the driving data, and the driving data is collected by the central node within a preset time period;
  • the processing module can be, for example A processor, used for verifying the integrity of the driving data by using the data packet header.
  • the processing module can execute the computer-executed instructions stored in the storage unit, so as to support the data collection device to execute the method provided in the third aspect above.
  • the storage unit may be a storage unit in the chip, such as a register, a cache, etc., or a storage unit located outside the chip, such as a read-only memory (read-only memory, ROM) or a Other types of static storage devices that store static information and instructions, random access memory (random access memory, RAM), etc.
  • a storage unit in the chip such as a register, a cache, etc.
  • a storage unit located outside the chip such as a read-only memory (read-only memory, ROM) or a Other types of static storage devices that store static information and instructions, random access memory (random access memory, RAM), etc.
  • ROM read-only memory
  • RAM random access memory
  • the device includes a communication interface and a logic circuit
  • the communication interface is used to synchronize the data packet header sent by the central node
  • the data packet header is generated by the central node according to the root hash value and the timestamp
  • the data packet header is signed with a private key
  • the timestamp is the system time
  • the private key is randomly generated
  • the root hash value is calculated by the central node according to the driving data
  • the driving data is the collected by the central node within a preset time period
  • the logic circuit is used to verify the integrity of the driving data by using the data packet header.
  • the processor mentioned in any of the above can be a general-purpose central processing unit (Central Processing Unit, CPU), a microprocessor, a specific application integrated circuit (application-specific integrated circuit, ASIC), or one or more An integrated circuit for controlling the program execution of the method for preventing tampering of driving data in the above aspects.
  • CPU Central Processing Unit
  • ASIC application-specific integrated circuit
  • the present application provides a driving data verification system.
  • the driving data verification system includes a central node and a plurality of auxiliary nodes, wherein both the central node and the plurality of auxiliary nodes can verify the integrity of the driving data.
  • the central node obtains the driving data of the vehicle within a preset time period; calculates the root hash value according to the driving data; generates a data packet header according to the root hash value and the timestamp, and uses the private key to perform signature, the timestamp is the system time, and the private key is randomly generated;
  • the auxiliary node is used to synchronize the data packet header or, the auxiliary node synchronizes the data packet header and the data packet corresponding to the data packet header.
  • the central node has all or part of the functions of the data collection device described in the second aspect above, and the auxiliary node has all or part of the functions of the data verification device described in the fourth aspect above.
  • the central node can directly use the root hash value in the REE and that timestamp to generate the packet header. If the software operating environment of the central node is not a secure environment, the central node can generate a data packet header in the trusted execution environment of the central node according to the root hash value and the timestamp, and use the private key to The header of the data packet is signed, the timestamp is the system time generated in the trusted execution environment, and the private key is randomly generated in the trusted execution environment. This ensures the validity of the root hash and timestamp.
  • the driving data may include multiple arrays, where each array corresponds to data of a sensor of the vehicle within the preset time period.
  • the method for the central node to calculate the root hash value according to the driving data can be as follows: separately calculate the hash value corresponding to each array in the plurality of arrays; the central node calculates the hash value according to the Merkle tree The logic combines the hash values corresponding to each array in pairs to calculate the upper layer hash value until the root hash value is obtained.
  • the vehicle data collects data from 4 sensors, which are array 1, array 2, array 3, and data 4; then use the hash algorithm to calculate hash value 1, hash value 2, hash value 3, and hash value Hash value 4; then combine hash value 1 and hash value 2 to get hash value 12, combine hash value 3 and hash value 4 to get hash value 34; finally combine hash value 12 and hash value
  • the value 34 is combined to calculate the hash value 1234, which is the root hash value.
  • the central node may also add the hash value of the data packet header of the previous data packet when generating the data packet header, which specifically includes: the central node obtains the hash value of the previous data packet header, The hash value of the previous data packet header is obtained by performing hash calculation on the entire first data packet header; the central node is based on the hash value of the previous data packet header, the root hash value and the The time stamp generates the data packet header in the trusted execution environment of the central node.
  • the structure in which hash values of front and rear headers are connected is to ensure the continuity of recorded data.
  • constructing the data packet header through the root hash value and timestamp can only ensure the integrity of the current data, but if there is any other data deleted between the current data and the previous data, the hash value is needed
  • the connected structure is guaranteed. With the hash value connected structure, once a data packet header in the middle is maliciously discarded, the forward packet header hash value in the current packet header structure will not match with the previous packet header to recalculate the hash value. It can be found that the data is discarded.
  • the auxiliary node receives all or part of the data of the data packet corresponding to the data packet header sent by the central node; wherein, all the data of the data packet includes the driving data in Merkel All hash values corresponding to the tree calculation logic and the driving data; the partial data of the data packet includes the corresponding partial hash values of the driving data under the Merkle tree calculation logic and part of the driving data , and the partial hash value and the partial content of the driving data can be calculated to obtain the root hash value.
  • the data packet includes two parts: original data, and hash values of various levels in the middle. Part of the data in the data packet refers to: part of the original data+part of the hash value. In this way, the amount of data transmission between devices can be reduced while effectively ensuring data integrity.
  • At least one of the central node or the auxiliary nodes publishes the data packet header. This further enhances immutability. Because the participants in the driving data verification system are limited after all, there is still a certain probability that all nodes will be completely tampered with. Therefore, the real-time disclosure of the data packet header can be collected by any external supervisory party at any time, which is conducive to further enhancing tamper resistance.
  • the plurality of auxiliary nodes can mutually verify whether the driving data has been tampered with. Specifically: the first auxiliary node obtains the data packet header of the second auxiliary node, and the first auxiliary node and the second auxiliary node are included in the plurality of auxiliary nodes; the first auxiliary node obtains the second auxiliary node The data packet header of the auxiliary node is compared with the data packet header stored by itself to determine whether the data of the second auxiliary node has been tampered with.
  • the embodiments of the present application provide a computer-readable storage medium, where the computer storage medium stores computer instructions, and the computer instructions are used to execute the method in any possible implementation mode of any one of the above-mentioned aspects.
  • the embodiments of the present application provide a computer program including instructions, which, when run on a computer, cause the computer to execute the method in any one of the above aspects.
  • the present application provides a chip system, which includes a processor, used to support the vehicle data acquisition device to implement the functions involved in the above aspect, such as generating or processing the data involved in the above method and/or information.
  • the system-on-a-chip further includes a memory, which is used to store necessary program instructions and data of the vehicle data acquisition device, so as to realize the functions in any one of the above-mentioned aspects.
  • the system-on-a-chip may consist of chips, or may include chips and other discrete devices.
  • Fig. 1 is a schematic diagram of the system architecture of the embodiment of the present application.
  • Figure 2 is a schematic diagram of the Merkle Hash tree
  • Fig. 3 is a schematic structural diagram of a data packet and a data packet header in the embodiment of the present application
  • FIG. 4 is a schematic diagram of an embodiment of a method for preventing tampering of driving data in the embodiment of the present application
  • Fig. 5 is a schematic flow chart of calculating the root hash value in the embodiment of the present application.
  • Fig. 6 is another schematic flow chart of calculating the root hash value in the embodiment of the present application.
  • Fig. 7 is a schematic diagram of the structure of the data packet header at the central node in the embodiment of the present application.
  • FIG. 8 is a schematic diagram of part of the data in the synchronization data packet in the embodiment of the present application.
  • FIG. 9 is an application scene diagram of a method for preventing tampering of driving data in the embodiment of the present application.
  • Fig. 10 is a schematic diagram of an embodiment of the data acquisition device in the embodiment of the present application.
  • FIG. 11 is a schematic diagram of another embodiment of the data acquisition device in the embodiment of the present application.
  • Fig. 12 is a schematic diagram of an embodiment of the data verification device in the embodiment of the present application.
  • Fig. 13 is a schematic diagram of another embodiment of the data verification device in the embodiment of the present application.
  • the naming or numbering of the steps in this application does not mean that the steps in the method flow must be executed in the time/logic sequence indicated by the naming or numbering.
  • the execution order of the technical purpose is changed, as long as the same or similar technical effect can be achieved.
  • the division of units presented in this application is a logical division. In actual application, there may be other division methods. For example, multiple units can be combined or integrated in another system, or some features can be ignored. , or not, in addition, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, and the indirect coupling or communication connection between units may be electrical or other similar forms, this Applications are not limited.
  • the units or subunits described as separate components may or may not be physically separated, may or may not be physical units, or may be distributed into multiple circuit units, and some or all of them may be selected according to actual needs unit to realize the purpose of the application scheme.
  • the technical solution of the embodiment of the present invention is mainly applied between the central node (the vehicle system shown in FIG. 1 ) and the auxiliary node (the user mobile phone, the supervision platform, and the car factory cloud service shown in FIG. 1 ) as shown in FIG. 1 .
  • communication scene can be applied to various communication systems suitable for vehicle communication, such as: Global System of Mobile Communication (GSM) system, Code Division Multiple Access (CDMA) system, broadband code division multiple Wideband Code Division Multiple Access (WCDMA) system, Long Term Evolution (LTE) system, LTE Frequency Division Duplex (FDD) system, LTE Time Division Duplex (TDD), general Mobile communication system (Universal Mobile Telecommunication System, UMTS), 5G communication system, and future wireless communication system, etc.
  • GSM Global System of Mobile Communication
  • CDMA Code Division Multiple Access
  • WCDMA broadband code division multiple Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • FDD Frequency Division Duplex
  • TDD Time Division Duplex
  • Universal Mobile Telecommunication System Universal Mobile
  • the central node collects the driving data within a preset time period; then the central node uses the hash algorithm to calculate the driving data to obtain the root hash value; the central node calculates the root hash value according to the root hash value and time Stamp to generate the data packet header of the driving data, and use the private key to sign the data packet header; wherein, the timestamp is the system time, and the private key is randomly generated; after the central node generates the data packet header, the data packet header Send it to the auxiliary node; the auxiliary node synchronizes the data packet header; finally, both the central node and the auxiliary node can verify the driving data according to the data packet header.
  • TEE Trusted execution environment
  • REE rich execution environment
  • Hash algorithm The input of arbitrary length original data can be transformed into a fixed-length output through the hash algorithm. Any small change in the original data will cause a huge change in the fixed-length result. Hash algorithm can be used to verify the integrity of the original data.
  • Merkle Hash tree A hash binary tree, which, like a standard binary tree, consists of a set of leaf nodes, a set of intermediate nodes, and a root node.
  • the leaf node contains stored data or its hash value
  • the middle node is the hash value of the content of its two child nodes
  • the top root node is also the hash value of the content of its two child nodes.
  • Figure 2 The data 1, data 2, data 3 and data 4 respectively obtain corresponding hash values according to the hash algorithm; then the hash values are combined in pairs to obtain the hash value of the upper layer;
  • the root hash value is obtained by combining two by two.
  • Data integrity is one of the three basic points of information security; in the process of transmitting and storing information or data, to ensure that information or data is not tampered by unauthorized or can be quickly discovered after tampering.
  • digital signatures, hash algorithms and other means are usually used to ensure data integrity.
  • Data packet a kind of data structure defined in the embodiment of this application, which is composed of driving data collected for a period of time and a merkle hash tree (ie, the hash value of each layer of merkle hash) calculated by the driving data.
  • a merkle hash tree ie, the hash value of each layer of merkle hash
  • Data packet header a data structure defined by the present invention.
  • the data packet header data structure mainly includes four parts: root hash value, timestamp, previous data packet header hash value, and TEE digital signature.
  • the specific structure of the data packet and the data packet header can be as shown in Figure 3.
  • Central node the data acquisition node containing the TEE trusted execution environment.
  • the central node is a data acquisition device that comes with the vehicle; another possible implementation is that the data acquisition device is independent of the vehicle, and the data acquisition device is connected to each sensor of the vehicle .
  • Auxiliary node The node that receives the data packet/data packet header data synchronized by the trusted central node. Usually it is the cloud service node of the car factory, the app node of the car owner's mobile phone, etc.
  • Blockchain A chained data structure that combines data blocks in a sequential manner, and a cryptographically guaranteed non-tamperable and unforgeable distributed ledger.
  • Trusted Application An application that runs in a trusted execution environment.
  • Rich execution environment (rich execution environment, REE): Compared with TEE, the general execution environment is rich in resources, but the security is lower than that of TEE environment.
  • Serialization It refers to putting the data structure in the memory into a continuous memory according to a certain format.
  • the role of serialization is to facilitate the calculation and signature of data and the communication and transmission of data. Because of the signature and data transmission, it is more convenient for a piece of continuous memory data.
  • the central node acquires driving data within a preset time period.
  • the central node obtains the driving data collected by all the sensors of the vehicle involved in the work within a preset time period.
  • the central node may also group the driving data. That is, the data of a sensor within a preset time period is an array.
  • the cylinder parameter is an array of 100 elements, which represents 100 cylinder sensor data collected within 10 seconds. Other sensor parameters are similar and will not be repeated here.
  • the central node calculates the root hash value according to the driving data.
  • the method for the central node to calculate the root hash value is as follows:
  • the central node may integrate the data of each sensor into a whole data, and then perform hash calculation on the whole data to obtain the root hash value.
  • the central node groups the driving data, that is, one array is the data collected by a sensor within the preset time period; then the central node calculates the hash value corresponding to each array; according to the default The Kerr tree calculation logic combines the hash values corresponding to each array in pairs to calculate the upper layer hash value until the root hash value is obtained. For example, if an array includes 100 data, an overall hash calculation is performed on the 100 data to obtain a unique hash value corresponding to the array. If multiple arrays are included, multiple hash values will be calculated. Then, the central node calculates multiple hash values corresponding to the multiple arrays using Merkle tree calculation logic to obtain root hash values (also called merkle root hashes) corresponding to the multiple arrays.
  • root hash values also called merkle root hashes
  • the central node combines multiple hash values corresponding to the multiple arrays to calculate a unique hash value, and the final hash value is used as the hash value corresponding to the multiple arrays. root hash.
  • the central node collects the Global Positioning System (Global Positioning System, GPS) sensor data, brake sensor data, cylinder parameters and airbag sensor data at the current moment; then the data of each sensor Perform hash calculation to obtain hash value 1, hash value 2, hash value 3, and hash value 4; under the calculation logic of the Merkle tree, combine the hash value 1 and the hash value 2 to obtain The hash value 12 of the second layer, combine the hash value 3 and the hash value 4 to obtain the hash value 34 of the second layer; finally combine the hash value 12 and the hash value 34 to obtain the root hash value.
  • Global Positioning System Global Positioning System, GPS
  • the central node collects the data of seven sensors at the current moment, they are counted as (sensor1, sensor2, sensor3, sensor4, sensor5, sensor6, sensor7); then perform hash calculation on the data of each sensor to obtain the hash value 1, Hash value 2, hash value 3, hash value 4, hash value 5, hash value 6, hash value 7; then in the second layer of the calculation logic of the Merkle tree, two pairs are combined for hashing During the calculation process, the hash value 1 and the hash value 2 are combined to calculate the hash value 12, the hash value 3 and the hash value 4 are combined to calculate the hash value 34, the hash value 5 and the hash value 6 is combined and calculated to get the hash value 56, and the hash value 7 is a single one, then the hash value 7 is kept; in the third layer of the
  • the combination of the hash values may be a random combination, and the combination order is not limited; as long as the Merkle tree calculation logic can be realized.
  • the central node generates a data packet header according to the root hash value and a time stamp, and signs it with a private key, the time stamp is system time, and the private key is randomly generated.
  • the central node can directly use the root hash value and the timestamp in the REE Generate packet headers. If the software operating environment of the central node is not a secure environment, the central node transmits the root hash value from the REE environment of the central node to the TA program in the trusted execution environment, triggering the TA program to generate a timestamp, and then according to The timestamp and the root hash generate the packet header.
  • the software operating environment i.e. rich execution environment (REE)
  • the central node can directly use the root hash value and the timestamp in the REE Generate packet headers. If the software operating environment of the central node is not a secure environment, the central node transmits the root hash value from the REE environment of the central node to the TA program in the trusted execution environment, triggering the TA program to generate a timestamp, and then according to The timestamp and the root hash generate the packet header.
  • the central node after the central node generates the data packet header, it can also generate a private key through the TA program in the trusted execution environment, which is used to sign the data packet header, so that the driving data verification system can pass the data packet header to ensure that the time of the driving data is true. Safety and tamper resistance.
  • the central node passes the root hash value (merkle root hash) to the TA program in the trusted execution environment, triggering the TA program to generate a trusted timestamp, and at the same time, the TA program obtains the cached previous data packet header Hash value (hash) (if the data packet header at the current moment is the first data packet header, then the previous data packet header hash is all 0, or any other identifier); then the central node will root the hash value in the TEE environment , timestamp, and the hash value of the previous data packet header are serialized and signed by the private key of the TA program to obtain the final data packet header.
  • the structure of the data packet header generated under the architecture shown in FIG. 7 can be specifically as follows:
  • the central node in order to ensure the continuity of data, can also add the hash value of the data packet header of the previous data packet when generating the data packet header, which specifically includes: the central node obtains the hash value of the previous data packet header Hash value, the hash value of the previous data packet header is obtained by hashing the entire first data packet header; the central node is based on the hash value of the previous data packet header, the root hash The value and the timestamp generate the data packet header in the trusted execution environment of the central node.
  • the structure in which hash values of front and rear headers are connected is to ensure the continuity of recorded data.
  • constructing the data packet header through the root hash value and timestamp can only ensure the integrity of the current data, but if there is any other data deleted between the current data and the previous data, the hash value is needed
  • the connected structure is guaranteed. With the hash value connected structure, once a data packet header in the middle is maliciously discarded, the forward packet header hash value in the current packet header structure will not match with the previous packet header to recalculate the hash value. It can be found that the data is discarded.
  • the central node sends the data packet header to the auxiliary node.
  • the central node when it sends the data packet header to the auxiliary node, it may also send all or part of the data of the data packet corresponding to the data packet header to the auxiliary node; wherein, all of the data packet
  • the data includes all the hash values corresponding to the driving data under the Merkle tree calculation logic and the driving data; the partial data of the data packet includes the corresponding partial hash values of the driving data under the Merkle tree calculation logic.
  • Hash value and partial content of the driving data, and partial data of the data packet can be calculated to obtain the root hash value.
  • the data packet includes two parts: original data, and hash values of various levels in the middle. Part of the data in the data packet refers to: part of the original data+part of the hash value. In this way, the amount of data transmission between devices can be reduced while effectively ensuring data integrity.
  • the central node may only synchronize data required by the auxiliary node to the auxiliary node. For example, if the car factory cloud service mainly cares about cylinder parameters and airbag sensor data, then the central node can send only hash12, hash34, hash3, hash4, cylinder parameters and airbag sensor data. It can be understood that, in order to ensure that the integrity of the data can be verified, the data synchronized by the central node to the auxiliary node needs to be able to calculate the root hash value.
  • the synchronization data shown in Figure 8 can meet the conditions, but if only the cylinder parameters and airbag sensor data are kept, the integrity of the data cannot be verified.
  • the auxiliary node if the auxiliary node only synchronizes part of the original data, it can only ensure that the synchronized part of the original data is complete, and it cannot guarantee that all sensor data is complete. Therefore, the auxiliary node can perform data synchronization according to its own demand strategy.
  • all original data if all original data is required, there are two implementation options: 1. Synchronize all data to the car factory cloud database to ensure that the merkle hash tree is complete; 2. Synchronize part of the data to the car factory cloud database, The rest of the data is stored in the vehicle storage system, or stored on other supervision platforms, as long as the data of each node device add up to all the original data.
  • each node can only synchronize the data it needs, while the rest of the data retains the hash value, so that the integrity of this part of the data can be verified , and verify whether the overall data has been tampered with.
  • the auxiliary node uses the data packet header to verify whether the driving data has been tampered with.
  • the auxiliary node can use the root hash value, timestamp and signature in the data packet header to verify whether the driving data is correct.
  • the car factory cloud service receives the data packet according to the relevant software, and stores the data packet in the car factory cloud database; at the same time, it receives the data packet header, performs signature verification, and stores .
  • the car factory cloud service can directly calculate the root hash value based on the data in the data packet, and compare the root hash value with the root hash value in the stored data packet header. If there is no difference, it means that the data has not been processed. Tampering, if there is a difference, it means that the data retained by the automaker's cloud service has been tampered with.
  • the user's mobile phone can obtain the data packet header from the central node in a wireless or wired manner, and at the same time obtain the data packet header stored in the automaker's cloud database downloaded from the automaker's cloud database , and then compare the two. If there is no difference, it means that the data has not been tampered with, and if there is a difference, it means that the data of at least one node has been tampered with.
  • the user's mobile phone obtains the data packet header from the central node through wireless or wired means, and downloads the data packet header and data packets stored in the automaker's cloud database from the automaker's cloud database, then the user's mobile phone obtains the data in the automaker's cloud database.
  • the user's mobile phone can also calculate the root hash value from the root hash value in the data packet header stored by itself and the data packet of the automaker's cloud database Compare with the root hash value of the data packet header of the car factory cloud database. If there is no difference, it means that the data has not been tampered with; if there is a difference, it means that the data of at least one node has been tampered with.
  • the supervision platform receives the data packet according to relevant software, and stores the data packet in the cloud database of the supervision platform; at the same time, it receives the header of the data packet, performs signature verification, and stores it.
  • the monitoring platform service can directly calculate the root hash value based on the data in the data packet, and compare the root hash value with the root hash value in the stored data packet header. If there is no difference, it means that the data has not been processed. Tampering, if there is a difference, it means that the data retained by the monitoring platform has been tampered with.
  • the supervision platform directly downloads the header of the data packet stored in the cloud database of the automobile manufacturer from the cloud database of the automobile manufacturer, and compares the header of the data packet with the header of the data stored on the supervision platform. If there is no difference, it means that the data has not been tampered with. If there is a difference, it means that the data of at least one node has been tampered with.
  • the supervision platform obtains the data packet header from the central node through wireless or wired means, and downloads the data packet header and data packets stored in the automaker's cloud database from the automaker's cloud database. Compare the root hash value obtained by packet calculation with the root hash value of the data packet header of the automaker's cloud database. If there is no difference, it means that the data packet header retained by the automaker's cloud database matches the data packet; if there is a difference, then It shows that the data packet header retained by the automaker's cloud database does not match the data packet, and the data in the automaker's cloud database may have been tampered with.
  • the supervision platform can also calculate the root hash value from the root hash value in the data packet header stored by itself and the data packet of the automaker’s cloud database Compare with the root hash value of the data packet header of the car factory cloud database. If there is no difference, it means that the data has not been tampered with; if there is a difference, it means that the data of at least one node has been tampered with.
  • each of the above-mentioned auxiliary nodes can also provide a data packet header query service or disclose the data packet header information, which can further enhance non-tampering. Because the number of participants in the entire driving data verification system is limited, there is a certain probability that the data of all nodes will be tampered with. Therefore, the real-time disclosure of data packet header information can be collected by any external supervisory party at any time, which is conducive to further enhancing tamper resistance.
  • the way each auxiliary node discloses the data packet header information includes but is not limited to website disclosure or providing a query interface for external access.
  • the vehicle sends the signature verification public key generated by the TA program in the vehicle's trusted execution environment to the cloud service of the car factory through the vehicle network connection module.
  • the car factory cloud service creates an object instance related to the vehicle, receives and saves the signature verification public key, and the signature verification public key is used for signature verification of the data packet header.
  • the vehicle When the owner's mobile phone is connected to the vehicle through Bluetooth or other means, the vehicle will send the signature verification public key of the TA program to the owner's mobile phone.
  • the owner's mobile phone obtains the public key for signature verification, the identity verification with the vehicle can be performed first, and then the public key can be obtained.
  • the owner's mobile phone saves the signature verification public key, and the signature verification public key is used for signature verification of the data packet header.
  • the vehicle collects driving data, and forms a data packet header and a data packet through the scheme shown in FIG. 4 .
  • the vehicle will cache the data packet and the data packet header.
  • the vehicle starts the network synchronization thread, and continuously synchronizes the data packet header with the car factory cloud service and the car owner's mobile phone. It can be understood that the vehicle can also synchronize all or part of the data in the data package to the car manufacturer's cloud service.
  • the car factory cloud service receives the data packet according to the relevant software, and stores the data packet; at the same time, it receives the data packet header, performs signature verification, and stores it.
  • the car factory cloud service can directly calculate the root hash value based on the data in the data packet, and compare the root hash value with the root hash value in the stored data packet header. If there is no difference, it means that the data has not been processed. Tampering, if there is a difference, it means that the data retained by the automaker's cloud service has been tampered with.
  • the owner's mobile phone can obtain the data packet header from the vehicle in a wireless or wired manner, and at the same time obtain the data packet header downloaded from the automaker's cloud service and stored in the automaker's cloud service, and then compare the two. If there is no difference, it means that the data has not been tampered with, and if there is a difference, it means that the data of at least one node has been tampered with.
  • the data acquisition device 1000 includes: an acquisition module 1001, a processing module 1002, and a sending module 1003, wherein the acquisition module 1001, the processing module 1002, and the sending module 1003 are connected through a bus.
  • the data acquisition device 1000 may be the central node in the above method embodiments, or may be configured as one or more chips in the central node.
  • the data collection device 1000 may be used to execute part or all of the functions of the central node in the above method embodiments.
  • the obtaining module 1001 is used to obtain the driving data of the vehicle within the preset time period; the processing module 1002 is used to obtain the driving data of the vehicle within the preset time period; the sending module 1003 is used to send the data to the auxiliary node Baotou.
  • the processing module 1002 is specifically configured to generate a data packet header in the trusted execution environment of the central node according to the root hash value and the timestamp, and use a private key to verify the data packet header Signing is performed, the timestamp is the system time generated in the trusted execution environment, and the private key is randomly generated in the trusted execution environment.
  • the driving data includes multiple arrays, wherein one array is data collected by a sensor within the preset time period, and the processing module 1002 is specifically configured to calculate the data of the multiple arrays respectively The hash value corresponding to each array in the above; according to the Merkle tree calculation logic, the hash value corresponding to each array is combined to calculate the upper layer hash value until the root hash value is obtained.
  • the obtaining module 1001 is further configured to obtain a hash value of a previous data packet header, and the hash value of the previous data packet header performs hash calculation on the entire first data packet header get;
  • the processing module 1002 is specifically configured to generate the data packet header according to the hash value of the previous data packet header, the root hash value and the timestamp.
  • the sending module 1003 is further configured to send all or part of the data of the data packet corresponding to the data packet header to the assistant node; wherein, all the data of the data packet includes the All the hash values corresponding to the driving data under the Merkel tree calculation logic and the driving data; the partial data of the data packet includes the corresponding part of the hash values and the corresponding part of the driving data under the Merkle tree calculation logic
  • the partial content of the driving data, and the partial hash value and the partial content of the driving data can be calculated to obtain the root hash value.
  • the data collection device 1000 further includes a storage module, which is used for buffering the data packet header and the data packet.
  • Storage The storage module is coupled with the processing module 1002, so that the processing module 1002 can execute the computer-executed instructions stored in the storage module to realize the functions of the terminal in the above method embodiments.
  • the storage module optionally included in the data acquisition device 1000 may be a storage unit in the chip, such as a register, a cache, etc., or the storage module may be a storage unit located outside the chip, such as a ROM or a storable Other types of static storage devices, RAM, etc. for static information and instructions.
  • FIG. 11 shows a schematic diagram of a possible structure of the data collection device 1100 in the above embodiment, and the data collection device 1100 may be configured as the aforementioned central node.
  • the data acquisition apparatus 1100 may include: a processor 1102 , a computer-readable storage medium/memory 1103 , a transceiver 1104 , an input device 1105 and an output device 1106 , and a bus 1101 .
  • the processor, the transceiver, the computer-readable storage medium and the like are connected through a bus.
  • the embodiment of the present application does not limit the specific connection medium between the above components.
  • the transceiver 1104 acquires the vehicle's driving data within a preset time period
  • the processor 1102 calculates the root hash value according to the driving data; generates a data packet header according to the root hash value and a time stamp, and uses a private key to sign the data packet header, the time stamp is the system time, and the The private key is randomly generated;
  • the transceiver 1104 sends the data packet header to the secondary node.
  • the processor 1102 is specifically configured to generate a data packet header in the trusted execution environment of the central node according to the root hash value and the timestamp, and use a private key to verify the data packet header Signing is performed, the timestamp is the system time generated in the trusted execution environment, and the private key is randomly generated in the trusted execution environment.
  • the driving data includes multiple arrays, wherein one array is the data collected by a sensor within the preset time period, and the processor 1102 is specifically configured to calculate the data of the multiple arrays respectively The hash value corresponding to each array in the above; according to the Merkle tree calculation logic, the hash value corresponding to each array is combined to calculate the upper layer hash value until the root hash value is obtained.
  • the transceiver 1104 is further configured to obtain a hash value of a previous data packet header, and the hash value of the previous data packet header performs hash calculation on the entire first data packet header get;
  • the processor 1102 is specifically configured to generate the data packet header according to the hash value of the previous data packet header, the root hash value, and the timestamp.
  • the transceiver 1104 is further configured to send all or part of the data of the data packet corresponding to the data packet header to the assistant node; wherein, all the data of the data packet includes the All the hash values corresponding to the driving data under the Merkel tree calculation logic and the driving data; the partial data of the data packet includes the corresponding part of the hash values and the corresponding part of the driving data under the Merkle tree calculation logic
  • the partial content of the driving data, and the partial hash value and the partial content of the driving data can be calculated to obtain the root hash value.
  • the memory 1103 caches the data packet header and the data packet.
  • the processor 1102 may run an operating system to control functions among various devices and components.
  • Transceiver 1104 may include baseband circuitry and radio frequency circuitry.
  • the transceiver 1104 and the processor 1102 can implement the corresponding steps in any one of the above-mentioned embodiments in FIG. 4 to FIG. 9 , and details are not repeated here.
  • Fig. 11 only shows the simplified design of the data acquisition device.
  • the data acquisition device may contain any number of transceivers, processors, memories, etc., and all of them can realize the XX device of the present application All within the scope of protection of this application.
  • the processor 1102 involved in the above-mentioned device 1100 can be a general-purpose processor, such as a CPU, a network processor (network processor, NP), a microprocessor, etc., or an ASIC, or one or more programs used to control the program of this application implementation of the integrated circuit. It can also be a digital signal processor (digital signal processor, DSP), field-programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
  • the controller/processor can also be a combination that realizes computing functions, for example, a combination of one or more microprocessors, a combination of DSP and a microprocessor, and the like. Processors typically perform logical and arithmetic operations based on program instructions stored in memory.
  • the bus 1101 mentioned above may be a peripheral component interconnect standard (PCI for short) bus or an extended industry standard architecture (EISA for short) bus or the like.
  • PCI peripheral component interconnect standard
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 11 , but it does not mean that there is only one bus or one type of bus.
  • the computer-readable storage medium/memory 1103 mentioned above may also store an operating system and other application programs.
  • the program may include program code, and the program code includes computer operation instructions.
  • the aforementioned memory may be ROM, other types of static storage devices capable of storing static information and instructions, RAM, other types of dynamic storage devices capable of storing information and instructions, disk storage, and the like.
  • the storage 1103 may be a combination of the above storage types.
  • the above-mentioned computer-readable storage medium/memory may be in the processor, may also be outside the processor, or be distributed on multiple entities including processors or processing circuits.
  • the above computer-readable storage medium/memory can be embodied in a computer program product.
  • a computer program product may include a computer readable medium in packaging materials.
  • the embodiment of the present application also provides a general-purpose processing system, such as commonly referred to as a chip, the general-purpose processing system includes: one or more microprocessors providing processor functions; and an external memory providing at least a part of the storage medium , all of which are connected together with other supporting circuits through an external bus architecture.
  • the processor is made to execute some or all of the steps in the method for preventing tampering of driving data in the embodiment of the data acquisition device in FIG. 4 to FIG. Other procedures of the described techniques.
  • the steps of the methods or algorithms described in connection with the disclosure of this application can be implemented in the form of hardware, or can be implemented in the form of a processor executing software instructions.
  • the software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, mobile hard disk, CD-ROM or any other form of storage known in the art medium.
  • An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
  • the storage medium may also be a component of the processor.
  • the processor and storage medium can be located in the ASIC. Alternatively, the ASIC may be located in the terminal.
  • the processor and the storage medium may also exist in the first communication device as discrete components.
  • the data verification device 1200 includes: a receiving module 1201 and a processing module 1202, wherein the receiving module 1201 and the processing module 1202 are connected through a bus.
  • the data verification apparatus 1200 may be the auxiliary node in the above method embodiment, or may be configured as one or more chips in the auxiliary node.
  • the data verification apparatus 1200 may be used to execute part or all of the functions of the assistant node in the foregoing method embodiments.
  • the receiving module 1201 is used to synchronize the data packet header sent by the central node, the data packet header is generated by the central node according to the root hash value and the timestamp, and the data packet header is signed with a private key, the The time stamp is the system time, the private key is randomly generated, the root hash value is calculated by the central node according to the driving data, and the driving data is collected by the central node within a preset time period;
  • the processing module 1202 is configured to use the data packet header to verify whether the driving data has been tampered with.
  • the receiving module 1201 is further configured to receive all or part of the data of the data packet corresponding to the data packet header sent by the central node; wherein, all the data of the data packet includes the All the hash values corresponding to the driving data under the Merkel tree calculation logic and the driving data; the partial data of the data packet includes the corresponding part of the hash values and the corresponding part of the driving data under the Merkle tree calculation logic
  • the partial content of the driving data, and the partial hash value and the partial content of the driving data can be calculated to obtain the root hash value.
  • the data verification apparatus 1200 further includes a sending module 1203, configured to publish the data packet header.
  • the data verification apparatus 1200 further includes a storage module, which is used to store the data packet header.
  • Storage The storage module is coupled with the processing module 1202, so that the processing module 1202 can execute the computer-executed instructions stored in the storage module to realize the functions of the terminal in the above method embodiments.
  • the storage module optionally included in the data acquisition device 1000 may be a storage unit in the chip, such as a register, a cache, etc., or the storage module may be a storage unit located outside the chip, such as a ROM or a storable Other types of static storage devices, RAM, etc. for static information and instructions.
  • FIG. 13 shows a schematic diagram of a possible structure of the data verification device 1300 in the above embodiment, and the data collection device 1100 can be configured as the aforementioned central node.
  • the data verification apparatus 1300 may include: a processor 1302 , a computer-readable storage medium/memory 1303 , a transceiver 1304 , an input device 1305 and an output device 1306 , and a bus 1301 . Wherein, the processor, the transceiver, the computer-readable storage medium and the like are connected through a bus.
  • the embodiment of the present application does not limit the specific connection medium between the above components.
  • the transceiver 1304 synchronizes the data packet header sent by the central node, the data packet header is generated by the central node according to the root hash value and the timestamp, and the data packet header is signed with a private key, the The time stamp is the system time, the private key is randomly generated, the root hash value is calculated by the central node according to the driving data, and the driving data is collected by the central node within a preset time period;
  • the processor 1102 uses the data packet header to verify whether the driving data has been tampered with.
  • the transceiver 1304 is specifically configured to receive all or part of the data of the data packet corresponding to the data packet header sent by the central node; wherein, all the data of the data packet includes the All the hash values corresponding to the driving data under the Merkel tree calculation logic and the driving data; the partial data of the data packet includes the corresponding partial hash values and the corresponding part of the driving data under the Merkel tree calculation logic
  • the partial content of the driving data, and the partial hash value and the partial content of the driving data can be calculated to obtain the root hash value.
  • the transceiver 1304 is also used to publish the data packet header
  • the memory 1103 caches the data packet header.
  • the processor 1302 may run an operating system to control functions among various devices and components.
  • Transceiver 1304 may include baseband circuitry and radio frequency circuitry.
  • the transceiver 1304 and the processor 1302 can implement the corresponding steps in any one of the above-mentioned embodiments in FIG. 4 to FIG. 9 , and details are not described here.
  • FIG. 13 only shows a simplified design of the data verification device.
  • the data verification device may include any number of transceivers, processors, memories, etc., and all of them can realize the data verification of the present application. devices are within the scope of protection of the present application.
  • the processor 1302 involved in the above-mentioned device 1300 can be a general-purpose processor, such as a CPU, a network processor (network processor, NP), a microprocessor, etc., or an ASIC, or one or more programs used to control the program of this application implementation of the integrated circuit. It can also be a digital signal processor (digital signal processor, DSP), field-programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
  • the controller/processor can also be a combination that realizes computing functions, for example, a combination of one or more microprocessors, a combination of DSP and a microprocessor, and the like. Processors typically perform logical and arithmetic operations based on program instructions stored in memory.
  • the bus 1301 mentioned above may be a peripheral component interconnect standard (PCI for short) bus or an extended industry standard architecture (EISA for short) bus or the like.
  • PCI peripheral component interconnect standard
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 13 , but it does not mean that there is only one bus or one type of bus.
  • the computer-readable storage medium/memory 1303 mentioned above may also store an operating system and other application programs.
  • the program may include program code, and the program code includes computer operation instructions.
  • the aforementioned memory may be ROM, other types of static storage devices capable of storing static information and instructions, RAM, other types of dynamic storage devices capable of storing information and instructions, disk storage, and the like.
  • the storage 1303 may be a combination of the above storage types.
  • the above-mentioned computer-readable storage medium/memory may be in the processor, may also be outside the processor, or be distributed on multiple entities including processors or processing circuits.
  • the above computer-readable storage medium/memory can be embodied in a computer program product.
  • a computer program product may include a computer readable medium in packaging materials.
  • the embodiment of the present application also provides a general-purpose processing system, such as commonly referred to as a chip, the general-purpose processing system includes: one or more microprocessors providing processor functions; and an external memory providing at least a part of the storage medium , all of which are connected together with other supporting circuits through an external bus architecture.
  • the processor is made to execute some or all of the steps in the method for preventing tampering of driving data in the embodiment of the data verification device in FIG. 4 to FIG. Other procedures of the described techniques.
  • the steps of the methods or algorithms described in connection with the disclosure of this application can be implemented in the form of hardware, or can be implemented in the form of a processor executing software instructions.
  • the software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, mobile hard disk, CD-ROM or any other form of storage known in the art medium.
  • An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
  • the storage medium may also be a component of the processor.
  • the processor and storage medium can be located in the ASIC. Alternatively, the ASIC may be located in the terminal.
  • the processor and the storage medium may also exist in the first communication device as discrete components.
  • the present application also provides a driving data verification system, including the central node and multiple auxiliary nodes described in any one of the above embodiments.
  • the disclosed system, device and method can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disc, etc., which can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un procédé de prévention de falsification de données de conduite, et un appareil associé, le procédé et l'appareil étant utilisés pour garantir l'authenticité temporelle et la résistance à la falsification de données de conduite. Le procédé comprend plus précisément les opérations suivantes : un nœud central collecte des données de conduite au cours d'une période de temps prédéfinie; puis le nœud central effectue un calcul sur les données de conduite au moyen d'un algorithme de hachage, de façon à obtenir une valeur de hachage racine; le nœud central génère un en-tête de paquet de données des données de conduite en fonction de la valeur de hachage racine et d'une estampille temporelle, et signe l'en-tête de paquet de données à l'aide d'une clé privée, l'estampille temporelle étant un temps système, et la clé privée étant générée aléatoirement; après la génération de l'en-tête de paquet de données, le nœud central envoie l'en-tête de paquet de données à un nœud auxiliaire; le nœud auxiliaire synchronise l'en-tête de paquet de données; et enfin, le nœud central et le nœud auxiliaire sont tous deux aptes à vérifier les données de conduite en fonction de l'en-tête de paquet de données.
PCT/CN2022/090319 2021-07-15 2022-04-29 Procédé de prévention de falsification de données de conduite, et appareil associé WO2023284372A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110801555.6 2021-07-15
CN202110801555.6A CN115618417A (zh) 2021-07-15 2021-07-15 一种防止行车数据篡改的方法以及相关装置

Publications (1)

Publication Number Publication Date
WO2023284372A1 true WO2023284372A1 (fr) 2023-01-19

Family

ID=84855458

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/090319 WO2023284372A1 (fr) 2021-07-15 2022-04-29 Procédé de prévention de falsification de données de conduite, et appareil associé

Country Status (2)

Country Link
CN (1) CN115618417A (fr)
WO (1) WO2023284372A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848062A (zh) * 2018-05-23 2018-11-20 华东师范大学 车载网中基于区块链的可控匿名的数据安全共享方法
CN109741039A (zh) * 2019-01-07 2019-05-10 深圳市红砖坊技术有限公司 记账方法、矿池服务器、终端设备、挖矿节点及矿池
CN111159305A (zh) * 2020-04-02 2020-05-15 支付宝(杭州)信息技术有限公司 基于区块链的车辆数据处理方法、装置及系统
CN112287367A (zh) * 2020-10-29 2021-01-29 合肥工业大学智能制造技术研究院 一种基于可信计算的汽车t-box取证的系统
CN112905667A (zh) * 2021-03-08 2021-06-04 黑芝麻智能科技(上海)有限公司 无人驾驶信息存储和回放方法、装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848062A (zh) * 2018-05-23 2018-11-20 华东师范大学 车载网中基于区块链的可控匿名的数据安全共享方法
CN109741039A (zh) * 2019-01-07 2019-05-10 深圳市红砖坊技术有限公司 记账方法、矿池服务器、终端设备、挖矿节点及矿池
CN111159305A (zh) * 2020-04-02 2020-05-15 支付宝(杭州)信息技术有限公司 基于区块链的车辆数据处理方法、装置及系统
CN112287367A (zh) * 2020-10-29 2021-01-29 合肥工业大学智能制造技术研究院 一种基于可信计算的汽车t-box取证的系统
CN112905667A (zh) * 2021-03-08 2021-06-04 黑芝麻智能科技(上海)有限公司 无人驾驶信息存储和回放方法、装置及存储介质

Also Published As

Publication number Publication date
CN115618417A (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
CN110263035B (zh) 基于区块链的数据存储、查询方法及装置和电子设备
US20220094696A1 (en) Secure compliance protocols
US9902370B2 (en) Method for handling transmission of fraudulent frames within in-vehicle network
US20190260593A1 (en) Private blockchain transaction management and termination
US20180219683A1 (en) Possession and Alteration of Documents
CN108494775B (zh) 防止利用合法数据或篡改合法数据进行网络攻击的方法
CN111615818B (zh) 一种区块链构建方法及区块链节点
WO2019083440A2 (fr) Procédé de mise à jour de dispositif embarqué et dispositif associé
Nowdehi et al. In-vehicle CAN message authentication: An evaluation based on industrial criteria
US20180234248A1 (en) Communication system, vehicle, and monitoring method
CN110597918B (zh) 一种账户管理方法、装置及计算机可读存储介质
US11107079B2 (en) Methods, systems, apparatuses and devices for verifying credibility of consortium blockchain
JP2022528360A (ja) 自律走行車両を遠隔制御するための暗号的に安全なメカニズム
JP2017508379A (ja) 証明可能なジオロケーション
CN112487408A (zh) 用于车内ecu的安全访问方法、系统及存储介质
CN111428269A (zh) 数据访问方法、装置和终端设备
CN111447068B (zh) 一种基于区块链的授时存证方法
CN110598452B (zh) 基于区块链的证据信息处理方法、装置、存储介质和设备
CN113452526B (zh) 电子文件存证方法、验证方法及相应装置
WO2023284372A1 (fr) Procédé de prévention de falsification de données de conduite, et appareil associé
EP4011031B1 (fr) Carte d'identité sécurisée utilisant des fonctions non clonables
WO2022028170A1 (fr) Procédé de transmission de données, nœud de réseau associé et support de stockage
WO2022142632A1 (fr) Procédé et système de communication de messages entre des véhicules
CN114265815A (zh) 交通媒体数据存储方法、服务器、存储介质及系统
EP3346638A1 (fr) Procédé, appareil et support de stockage lisible par ordinateur comprenant des instructions pour une communication de véhicule à véhicule

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: 22841013

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE