CN115618417A - 一种防止行车数据篡改的方法以及相关装置 - Google Patents
一种防止行车数据篡改的方法以及相关装置 Download PDFInfo
- Publication number
- CN115618417A CN115618417A CN202110801555.6A CN202110801555A CN115618417A CN 115618417 A CN115618417 A CN 115618417A CN 202110801555 A CN202110801555 A CN 202110801555A CN 115618417 A CN115618417 A CN 115618417A
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- hash value
- packet header
- node
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
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
一种防止行车数据篡改的方法以及相关装置,用于保证行车数据时间真实性和防篡改性。具体包括:该中心节点采集预设时间段内的行车数据;然后该中心节点利用哈希算法对该行车数据进行计算得到根哈希值;该中心节点根据该根哈希值和时间戳生成该行车数据的数据包头,并利用私钥对该数据包头进行签名;其中,该时间戳为系统时间,该私钥为随机生成;该中心节点在生成该数据包头之后,将该数据包头发送至辅助节点;该辅助节点同步该数据包头;最后该中心节点和该辅助节点均可以根据该数据包头对该行驶数据进行验证。
Description
技术领域
本申请涉及数据存储领域,尤其涉及一种防止行车数据篡改的方法以及相关装置。
背景技术
随着技术的发展,现在越来越多的车辆开始对于自身的行车数据进行存储,用于在出现行车事故时作为可提供证据的数据进行使用。这样就需要保证车辆的行车数据的正确,以及未篡改。
目前通常是通过车辆的行车数据记录系统以及车厂云端数据库来实现对行车数据的存储。而车辆自身的行车数据记录系统的存储空间有限,为保证后续行车数据的存储,会对行车数据的保存时间进行限定。而存储在车厂云端数据库的行车数据,理论上车厂可以任意修改行车数据,从而掩盖车辆的技术缺陷,或在事故发生后推卸责任。
因此现在急需要一种可以防止行车数据篡改的方法。
发明内容
本申请实施例提供了一种防止行车数据篡改的方法以及相关装置,用于保证行车数据时间真实性和防篡改性。
第一方面,本申请实施例提供一种防止行车数据篡改的方法,主要应用于一种行车数据验证系统,该行车数据验证系统包括中心节点和多个辅助节点。具体包括:该中心节点采集预设时间段内的行车数据;然后该中心节点利用哈希算法对该行车数据进行计算得到根哈希值;该中心节点根据该根哈希值和时间戳生成该行车数据的数据包头,并利用私钥对该数据包头进行签名;其中,该时间戳为系统时间,该私钥为随机生成;该中心节点在生成该数据包头之后,将该数据包头发送至辅助节点;该辅助节点同步该数据包头;最后该中心节点和该辅助节点均可以根据该数据包头对该行驶数据进行验证。
本实施例中,该中心节点可以是车辆本身,也可以是独立于车辆之外的数据采集设备。该辅助节点包括该车厂云端数据库、车主自用的存储设备、车主对应的验证设备或者监管平台对应的数据库。可以理解的是,该中心节点和该辅助节点均可以根据该数据包头和数据包验证该行车数据是否被篡改。
本实施例提供的技术方案中,中心节点将原始传感器数据通过默克尔树计算逻辑计算得到哈希值和根哈希值,从而构造数据包;并在中心节点的可信执行环境内,以根哈希值和可信时间戳构造数据包头,并通过可信执行环境生成签名私钥,对数据包头做签名。这样行车数据验证系统可以通过数据包头,保证行车数据的时间真实性和防篡改性。
一种可能实现方式中,若该中心节点的软件运行环境(即富执行环境(richexecution environment,REE))为安全环境,则该中心节点可以直接在该REE中根据该根哈希值和该时间戳生成数据包头。若该中心节点的软件运行环境不是安全环境,则该中心节点可以将根据所述根哈希值和时间戳在所述中心节点的可信执行环境中生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为在所述可信执行环境中生成的系统时间,所述私钥在所述可信执行环境中随机生成。这样可以保证该根哈希值与时间戳的有效性。
另一种可能实现方式中,该行车数据可以包括多个数组,其中,每一个数组对应车辆的一个传感器在该预设时间段内的数据。在此方案下,该中心节点根据该行车数据计算得到根哈希值的方法可以如下:分别计算所述多个数组中每个数组对应的哈希值;所述中心节点按照默克尔树计算逻辑将所述每个数组对应的哈希值两两结合计算得到上层哈希值,直至得到所述根哈希值。比如,该车辆数据采集到4个传感器的数据,分别为数组1、数组2、数组3和数据4;然后利用哈希算法计算得到哈希值1、哈希值2、哈希值3和哈希值4;再将哈希值1和哈希值2结合计算得到哈希值12,将哈希值3和哈希值4结合计算得到哈希值34;最后将哈希值12和哈希值34结合计算得到哈希值1234,即为根哈希值。
另一种可能实现方式中,该中心节点在生成该数据包头时还可以将前一数据包的数据包头的哈希值加入,具体包括:所述中心节点获取前一数据包头的哈希值,所述前一数据包头的哈希值为对所述第一数据包头整体进行哈希计算得到;所述中心节点根据所述前一数据包头的哈希值、所述根哈希值和所述时间戳在所述中心节点的可信执行环境中生成所述数据包头。本实施例中,这种前后包头哈希值相连的结构,是为了保障记录数据的连续性。本实施例中通过根哈希值以及时间戳构造数据包头只能保证当前数据的完整性,但是当前数据和前一个数据之间,是不是有别的数据被删掉了,就需要哈希值相连的结构来保证。有了哈希值相连的结构,一旦中间有个数据包头被恶意丢弃了,那当前包头结构里面的前向包头哈希值值,和前一个包头重新计算哈希值,就会对不上,从而可以发现数据被丢弃了。
另一种可能实现方式中,该中心节点还可以向该辅助节点发送所述数据包头对应的数据包的全部数据或者部分数据;其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。本实施例中,该数据包包括两部分:原始数据、中间各个层级的哈希值。所述数据包中的部分数据指的是:部分原始数据+部分哈希值。这样可以在有效保证数据完整性的情况下,降低各个设备之间数据传输量。
另一种可能实现方式中,所述中心节点或所述辅助节点中的至少一个公布所述数据包头。这样可以进一步增强不可篡改性。因为行车数据验证系统中的参与方毕竟有限,还是存在一定的概率,导致所有节点被完全篡改。因此,实时对外公开数据包头,可以被外界任意监督方随时收集,有利于进一步增强防篡改性。
第二方面,本申请提供一种数据采集装置,该装置具有实现上述第一方面中中心节点行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的实现方式中,该装置包括用于执行以上第一方面各个步骤的单元或模块。例如,该装置可以用于:获取模块,用于获取车辆在预设时间段内行车数据;处理模块,用于根据行车数据计算得到根哈希值;根据所述根哈希值和时间戳生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为系统时间,所述私钥随机生成;发送模块,用于将该数据包头发送给该辅助节点。
可选的,还包括存储模块,用于保存数据采集装置必要的程序指令和数据。
在一种可能的实现方式中,该装置包括:处理器和收发器,该处理器被配置为支持数据采集装置执行上述第一方面提供的方法中相应的功能。收发器用于指示中心节点和辅助节点之间的通信,向辅助节点发送上述方法中所涉及的数据包头和数据包。可选的,此装置还可以包括存储器,该存储器用于与处理器耦合,其保存数据采集装置必要的程序指令和数据。
在一种可能的实现方式中,当该装置为数据采集装置内的芯片时,该芯片包括:处理模块和收发模块。该收发模块例如可以是该芯片上的输入/输出接口、管脚或电路等,将车辆传感器生成的数据传送给与此芯片耦合的其他芯片或模块中。该收发模块用于获取车辆在预设时间段内行车数据;该处理模块例如可以是处理器,此处理器用于根据行车数据计算得到根哈希值;根据所述根哈希值和时间戳生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为系统时间,所述私钥随机生成;该收发模块,还用于将该数据包头发送给该辅助节点。该处理模块可执行存储单元存储的计算机执行指令,以支持数据采集装置执行上述第一方面提供的方法。可选地,该存储单元可以为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是位于该芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
在一种可能的实现方式中,该装置包括:处理器,基带电路,射频电路和天线。其中处理器用于实现对各个电路部分功能的控制,基带电路用于生成数据包头,经由射频电路进行模拟转换、滤波、放大和上变频等处理后,再经由天线发送给辅助节点。可选的,该装置还包括存储器,其保存中心节点必要的程序指令和数据。
在一种可能实现方式中,该装置包括通信接口和逻辑电路,该通信接口用于获取车辆在预设时间段内行车数据;该逻辑电路,用于根据行车数据计算得到根哈希值;根据所述根哈希值和时间戳生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为系统时间,所述私钥随机生成;该通信接口,还用于将该数据包头发送给辅助节点。
其中,上述任一处提到的处理器,可以是一个通用中央处理器(CentralProcessing Unit,CPU),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制上述各方面防止行车数据篡改的方法的程序执行的集成电路。
第三方面,本申请提供一种防止行车数据篡改的方法,主要应用于一种行车数据验证系统,该行车数据验证系统包括中心节点和多个辅助节点。具体包括:该中心节点采集预设时间段内的行车数据;然后该中心节点根据行车数据计算得到根哈希值;根据所述根哈希值和时间戳生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为系统时间,所述私钥随机生成;该中心节点在生成该数据包头之后,将该数据包头发送至辅助节点;该辅助节点同步该数据包头;最后该中心节点和该辅助节点均可以根据该数据包头对该行驶数据进行验证。
本实施例中,该中心节点可以是车辆本身,也可以是独立于车辆之外的数据采集设备。该辅助节点包括该车厂云端数据库、车主自用的存储设备、车主对应的验证设备或者监管平台对应的数据库。可以理解的是,该中心节点和该辅助节点均可以根据该数据包头和数据包验证该行车数据是否被篡改。本实施例提供的技术方案中,中心节点将原始传感器数据通过默克尔树计算逻辑计算得到哈希值和根哈希值,从而构造数据包;并在中心节点的可信执行环境内,以根哈希值和可信时间戳构造数据包头,并通过可信执行环境生成签名私钥,对数据包头做签名。这样行车数据验证系统可以通过数据包头,保证行车数据的时间真实性和防篡改性。
一种可能实现方式中,该辅助节点接收所述中心节点发送的所述数据包头对应的数据包的全部数据或者部分数据;其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。本实施例中,该数据包包括两部分:原始数据、中间各个层级的哈希值。所述数据包中的部分数据指的是:部分原始数据+部分哈希值。这样可以在有效保证数据完整性的情况下,降低各个设备之间数据传输量。
另一种可能实现方式中,所述中心节点或所述辅助节点中的至少一个公布所述数据包头。这样可以进一步增强不可篡改性。因为行车数据验证系统中的参与方毕竟有限,还是存在一定的概率,导致所有节点被完全篡改。因此,实时对外公开数据包头,可以被外界任意监督方随时收集,有利于进一步增强防篡改性。
另一种可能实现方式中,该多个辅助节点间可以相互验证该行车数据是否被篡改。具体来说:第一辅助节点获取第二辅助节点的数据包头,所述第一辅助节点和所述第二辅助节点包含于所述多个辅助节点;所述第一辅助节点将所述第二辅助节点的数据包头与自身存储的数据包头比对确定所述第二辅助节点的数据是否篡改。
第四方面,本申请提供一种数据验证装置,该装置具有实现上述第一方面中辅助节点行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的实现方式中,该装置包括用于执行以上第三方面各个步骤的单元或模块。例如,该装置可以用于:接收模块,用于同步所述中心节点发送的数据包头,所述数据包头由所述中心节点根据根哈希值和时间戳生成,且所述数据包头利用私钥进行签名,所述时间戳为系统时间,所述私钥为随机生成,所述根哈希值所述中心节点根据行车数据计算得到,所述行车数据为所述中心节点预设时间段内采集得到;处理模块,用于利用所述数据包头验证所述行车数据的完整性。
可选的,还包括存储模块,用于保存数据验证装置必要的程序指令和数据。
在一种可能的实现方式中,该装置包括:处理器和收发器,该处理器被配置为支持数据验证装置执行上述第三方面提供的方法中相应的功能。收发器用于指示辅助节点和中心节点之间的通信,接收中心节点发送上述方法中所涉及的数据包头。可选的,此装置还可以包括存储器,该存储器用于与处理器耦合,其保存数据验证装置必要的程序指令和数据。
在一种可能的实现方式中,当该装置为数据验证装置内的芯片时,该芯片包括:处理模块和收发模块。该收发模块例如可以是该芯片上的输入/输出接口、管脚或电路等,将车辆传感器生成的数据传送给与此芯片耦合的其他芯片或模块中。该收发模块用于同步所述中心节点发送的数据包头,所述数据包头由所述中心节点根据根哈希值和时间戳生成,且所述数据包头利用私钥进行签名,所述时间戳为系统时间,所述私钥为随机生成,所述根哈希值所述中心节点根据行车数据计算得到,所述行车数据为所述中心节点预设时间段内采集得到;该处理模块例如可以是处理器,此处理器用于利用所述数据包头验证所述行车数据的完整性。该处理模块可执行存储单元存储的计算机执行指令,以支持数据采集装置执行上述第三方面提供的方法。可选地,该存储单元可以为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是位于该芯片外部的存储单元,如只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
在一种可能实现方式中,该装置包括通信接口和逻辑电路,该通信接口用于同步所述中心节点发送的数据包头,所述数据包头由所述中心节点根据根哈希值和时间戳生成,且所述数据包头利用私钥进行签名,所述时间戳为系统时间,所述私钥为随机生成,所述根哈希值所述中心节点根据行车数据计算得到,所述行车数据为所述中心节点预设时间段内采集得到;该逻辑电路,用于利用所述数据包头验证所述行车数据的完整性。
其中,上述任一处提到的处理器,可以是一个通用中央处理器(CentralProcessing Unit,CPU),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制上述各方面防止行车数据篡改的方法的程序执行的集成电路。
第五方面,本申请提供一种行车数据验证系统,该行车数据验证系统包括中心节点和多个辅助节点,其中,该中心节点和该多个辅助节点均可验证该行车数据的完整性。其中,该中心节点获取车辆在预设时间段内行车数据;根据行车数据计算得到根哈希值;根据所述根哈希值和时间戳生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为系统时间,所述私钥随机生成;
该辅助节点用于同步所述数据包头或,该辅助节点同步所述数据包头以及所述数据包头对应的数据包。
该中心节点具有上述第二方面所述数据采集装置的全部或者部分功能,该辅助节点具有上述第四方面所述的数据验证装置的全部或者部分功能。
例如,一种可能实现方式中,若该中心节点的软件运行环境(即富执行环境(richexecution environment,REE))为安全环境,则该中心节点可以直接在该REE中根据该根哈希值和该时间戳生成数据包头。若该中心节点的软件运行环境不是安全环境,则该中心节点可以将根据所述根哈希值和时间戳在所述中心节点的可信执行环境中生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为在所述可信执行环境中生成的系统时间,所述私钥在所述可信执行环境中随机生成。这样可以保证该根哈希值与时间戳的有效性。
另一种可能实现方式中,该行车数据可以包括多个数组,其中,每一个数组对应车辆的一个传感器在该预设时间段内的数据。在此方案下,该中心节点根据该行车数据计算得到根哈希值的方法可以如下:分别计算所述多个数组中每个数组对应的哈希值;所述中心节点按照默克尔树计算逻辑将所述每个数组对应的哈希值两两结合计算得到上层哈希值,直至得到所述根哈希值。比如,该车辆数据采集到4个传感器的数据,分别为数组1、数组2、数组3和数据4;然后利用哈希算法计算得到哈希值1、哈希值2、哈希值3和哈希值4;再将哈希值1和哈希值2结合计算得到哈希值12,将哈希值3和哈希值4结合计算得到哈希值34;最后将哈希值12和哈希值34结合计算得到哈希值1234,即为根哈希值。
另一种可能实现方式中,该中心节点在生成该数据包头时还可以将前一数据包的数据包头的哈希值加入,具体包括:所述中心节点获取前一数据包头的哈希值,所述前一数据包头的哈希值为对所述第一数据包头整体进行哈希计算得到;所述中心节点根据所述前一数据包头的哈希值、所述根哈希值和所述时间戳在所述中心节点的可信执行环境中生成所述数据包头。本实施例中,这种前后包头哈希值相连的结构,是为了保障记录数据的连续性。本实施例中通过根哈希值以及时间戳构造数据包头只能保证当前数据的完整性,但是当前数据和前一个数据之间,是不是有别的数据被删掉了,就需要哈希值相连的结构来保证。有了哈希值相连的结构,一旦中间有个数据包头被恶意丢弃了,那当前包头结构里面的前向包头哈希值值,和前一个包头重新计算哈希值,就会对不上,从而可以发现数据被丢弃了。一种可能实现方式中,该辅助节点接收所述中心节点发送的所述数据包头对应的数据包的全部数据或者部分数据;其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。本实施例中,该数据包包括两部分:原始数据、中间各个层级的哈希值。所述数据包中的部分数据指的是:部分原始数据+部分哈希值。这样可以在有效保证数据完整性的情况下,降低各个设备之间数据传输量。
另一种可能实现方式中,所述中心节点或所述辅助节点中的至少一个公布所述数据包头。这样可以进一步增强不可篡改性。因为行车数据验证系统中的参与方毕竟有限,还是存在一定的概率,导致所有节点被完全篡改。因此,实时对外公开数据包头,可以被外界任意监督方随时收集,有利于进一步增强防篡改性。
另一种可能实现方式中,该多个辅助节点间可以相互验证该行车数据是否被篡改。具体来说:第一辅助节点获取第二辅助节点的数据包头,所述第一辅助节点和所述第二辅助节点包含于所述多个辅助节点;所述第一辅助节点将所述第二辅助节点的数据包头与自身存储的数据包头比对确定所述第二辅助节点的数据是否篡改。
第六方面,本申请实施例提供一种计算机可读存储介质,该计算机存储介质存储有计算机指令,该计算机指令用于执行上述各方面中任意一方面任意可能的实施方式该的方法。
第七方面,本申请实施例提供一种包含指令的计算机程序,当其在计算机上运行时,使得计算机执行上述各方面中任意一方面该的方法。
第八方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持车辆数据采集装置实现上述方面中所涉及的功能,例如生成或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,该芯片系统还包括存储器,该存储器,用于保存车辆数据采集装置必要的程序指令和数据,以实现上述各方面中任意一方面的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
附图说明
图1为本申请实施例的系统架构的一个示意图;
图2为Merkle Hash树的一个示意图;
图3为本申请实施例中数据包与数据包头的一个结构示意图;
图4为本申请实施例中防止行车数据篡改的方法的一个实施例示意图;
图5为本申请实施例中计算根哈希值的一个流程示意图;
图6为本申请实施例中计算根哈希值的另一个流程示意图;
图7为本申请实施例中数据包头在中心节点构造示意图;
图8为本申请实施例中同步数据包中部分数据的一个示意图;
图9为本申请实施例中防止行车数据篡改的方法的一个应用场景图;
图10为本申请实施例中数据采集装置的一个实施例示意图;
图11为本申请实施例中数据采集装置的另一个实施例示意图;
图12为本申请实施例中数据验证装置的一个实施例示意图;
图13为本申请实施例中数据验证装置的另一个实施例示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
本发明实施例的技术方案主要应用于如图1所示的中心节点(如图1所示的车辆系统)以辅助节点(如图1所示的用户手机、监管平台以及车厂云服务)之间的通信场景。具体来说可以应用于适用于车辆通信的各种通信系统,例如:全球移动通讯(Global System ofMobile Communication,GSM)系统、码分多址(Code Division Multiple Access,CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal MobileTelecommunication System,UMTS)、5G通信系统、以及未来的无线通信系统等。在该通信场景下,该中心节点采集预设时间段内的行车数据;然后该中心节点利用哈希算法对该行车数据进行计算得到根哈希值;该中心节点根据该根哈希值和时间戳生成该行车数据的数据包头,并利用私钥对该数据包头进行签名;其中,该时间戳为系统时间,该私钥为随机生成;该中心节点在生成该数据包头之后,将该数据包头发送至辅助节点;该辅助节点同步该数据包头;最后该中心节点和该辅助节点均可以根据该数据包头对该行驶数据进行验证。
为了便于理解,下面对本申请实施例中的部分名词进行解释:
可信执行环境(trusted execution environment,TEE):相对于通用执行环境(富执行环境(rich execution environment,REE)),TEE受硬件机制保护,可以加密存储数据。REE只能通过特定接口与TEE通信,且无法访问受硬件保护的TEE内存空间。
哈希(Hash)算法:把任意长度原始数据的输入通过hash算法,可以变换成固定长度的输出。原始数据任何微小的改动,都会导致固定长度的结果发生巨大的变化。Hash算法可用来验证原始数据的完整性。
Merkle Hash树:一种hash二叉树,与标准二叉树一样,由一组叶节点,一组中间节点和一个根节点构成。叶节点包含存储数据或其哈希值,中间节点是其两个子节点内容的哈希值,最上层的根节点同样也是由它的两个子节点内容的哈希值。其原理图可以如图2所示,数据1、数据2、数据3以及数据4分别根据hash算法得到相应的hash值;然后hash值两两结合得到上一层的hash值;上层的hash值再两两结合计算得到根哈希值。
数据完整性(Data integrity)是信息安全的三个基本要点之一;在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。在信息安全领域使用过程中,通常使用数字签名、hash算法等手段保证数据完整性。
数据包:本申请实施例中定义的一种数据结构,由一段时间采集的行车数据以及由该行车数据计算的merkle hash树(即merkle hash各层的哈希值)构成。
数据包头:本发明定义的一种数据结构,数据包头数据结构主要包含四部分:根哈希值、时间戳、前一个数据包头哈希值、TEE数字签名。本实施例中,该数据包与该数据包头的具体结构可以如图3所示。
中心节点:含有TEE可信执行环境的数据采集节点。一种可能实现方式为,该中心节点为该车辆自带的数据采集设备;另一种可能实现方式为独立于该车辆之外的数据采集设备,且该数据采集设备与该车辆的各个传感器相连。
辅助节点:接收可信中心节点同步的数据包/数据包头数据的节点。通常为车厂云服务节点,车主手机App节点等。
区块链:一种将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
可信应用程序(Trusted Application,TA):在可信执行环境中运行的应用程序。
富执行环境(rich execution environment,REE):相对于TEE来讲的通用执行环境,资源丰富,但安全性较TEE环境低。
序列化:是指对内存里面的数据结构,按照一定的格式,放到一块连续的内存里。序列化的作用,是方便对数据计算签名,以及对数据进行通信传输。因为签名和数据传输,对一块连续的内存数据,比较方便。
下面根据图示对本申请实施例中的防止行车数据篡改的方法进行描述,具体请参阅图4所示
401、该中心节点获取预设时间段内的行车数据。
在车辆行驶过程中,该中心节点获取车辆全部参与工作的传感器在预设时间段内采集到的行车数据。
一种可能实现方式中,该中心节点还可以对行车数据进行分组。即一个传感器在预设时间段内的数据为一个数组。一个示例性方案中,假设有4个传感器参与工作,每个传感器0.1秒钟采集一次数据,而该中心节点每间隔10秒钟,构造一次数据包;则一个数据包中,共收集4*(10/0.1)=400个数据,而每个数组包括100个数据。例如,其中气缸参数,是一个100个元素的数组,代表10秒钟内,采集的100次气缸传感器数据,其它传感器参数类似,不再赘述。
402.该中心节点根据该行车数据计算得到根哈希值。
本实施例中,该中心节点计算得到该根哈希值的方法如下:
一种可能实现方式中,该中心节点可以根据各个传感器的数据整合为一个整体数据,然后对该整体数据进行哈希计算得到该根哈希值。
另一种可能实现方式中,该中心节点对该行车数据进行分组,即一个数组为所述预设时间段内一个传感器采集的数据;然后该中心节点计算各个数组对应的哈希值;按照默克尔树计算逻辑将所述每个数组对应的哈希值两两结合计算得到上层哈希值,直至得到所述根哈希值。比如,一个数组包括100个数据,则对该100个数据进行整体的哈希计算,得到该数组对应的唯一一个哈希值。若包括多个数组,则将会计算出多个哈希值。然后,该中心节点利用默克尔树计算逻辑对该多个数组对应的多个哈希值进行计算得到该多个数组对应的根哈希值(也可以称为merkle根hash)。
一种示例性方案中,该中心节点将该多个数组对应的多个哈希值两两结合进行计算真到得到一个唯一的哈希值,该最终的哈希值作为该多个数组对应的根哈希值。
以图5所示的方案为例,若该中心节点在当前时刻采集到该全球定位系统(GlobalPositioning System,GPS)传感器数据、刹车传感器数据、气缸参数以及气囊传感器数据;然后对各个传感器的数据进行哈希计算得到哈希值1、哈希值2、哈希值3和哈希值4;在该默克尔树计算逻辑下,将该哈希值1和该哈希值2结合计算得到第二层的哈希值12、将该哈希值3和哈希值4结合计算得到第二层的哈希值34;最后将该哈希值12和该哈希值34结合计算得到该根哈希值。
本实施例中,若该在计算过程中出现奇数的情况,则在两两结合后剩下的哈希值需要第一次进行哈希计算得到的哈希值。具体情况可以如图6所示。若该中心节点在当前时刻采集了七个传感器的数据,分别计为(sensor1、sensor2、sensor3、sensor4、sensor5、sensor6、sensor7);然后对各个传感器的数据进行哈希计算得到哈希值1、哈希值2、哈希值3、哈希值4、哈希值5、哈希值6、哈希值7;然后在该默克尔树计算逻辑的第二层,两两结合进行哈希计算的过程时,该哈希值1和哈希值2结合计算得到哈希值12,该哈希值3和哈希值4结合计算得到哈希值34,该哈希值5和哈希值6结合计算得到哈希值56,而哈希值7为单独一个,则对该哈希值7进行保持;在默克尔树计算逻辑的第三层,两两结合进行哈希计算的过程时,哈希值12和哈希值34结合计算得到哈希值1234,哈希值56和哈希值7结合计算得到哈希值567;在默克尔树计算逻辑的第四层,两两结合进行哈希计算的过程时,该哈希值1234和该哈希值567结合计算得到该七个传感器的数据的根哈希值。
可以理解的是,本实施例中,该哈希值的结合可以是随机组合,并不限定结合顺序;只要可以实现默克尔树计算逻辑即可。
403、该中心节点根据该根哈希值和时间戳生成数据包头,并利用私钥签名,该时间戳为系统时间,该私钥为随机生成。
本实施例中,若该中心节点的软件运行环境(即富执行环境(rich executionenvironment,REE))为安全环境,则该中心节点可以直接在该REE中根据该根哈希值和该时间戳生成数据包头。若该中心节点的软件运行环境不是安全环境,则该中心节点将该根哈希值由该中心节点的REE环境传递给可信执行环境内的TA程序,触发该TA程序生成时间戳,然后根据该时间戳和该根哈希值生成数据包头。同时该中心节点生成该数据包头之后还可以通过该可信执行环境中的TA程序生成私钥,用于对该数据包头进行签名,这样行车数据验证系统可以通过数据包头,保证行车数据的时间真实性和防篡改性。如图7所示,该中心节点将根哈希值(merkle根hash)传递给可信执行环境内的TA程序,触发TA程序生成可信时间戳,同时,TA程序获取缓存的前一个数据包头哈希值(hash)(如果当前时刻的数据包头为第一个数据包头,则前一个数据包头hash为全0,或其他任意标识);然后该中心节点在该TEE环境下将根哈希值、时间戳以及前一个数据包头的哈希值序列化并通过TA程序的私钥进行签名,得到最终的数据包头。可以理解的是,一种示例性方案中(以C语言为例进行表示),在图7所示的架构下生成的数据包头的结构可以具体如下:
Typedef struct{
char*merkleRootHash;//本次采集的传感器数据的merkle根hash
char*timeStamp;//本次数据采集的可信时间戳
char*previousHash;//TEE内TA程序缓存的前一个数据包头hash
}PackageHeader;
Typedef struct{
PackageHeader header;//未签名的数据包头
char*signature;//TEE内TA程序的private key对数据的签名
}SignedHeader
通过merkleRootHash,可以保证在当前时间段内收集到的传感器数据的完整性(防篡改性);通过timeStamp保证传感器采集时间的真实性;通过previousHash,保证传感器采集数据的连续性;
通过TA程序的签名私钥,对PackageHeader进行签名,得到签名后的SignedHeader。
本实施例中,为了保证数据的连续性,该中心节点在生成该数据包头时还可以将前一数据包的数据包头的哈希值加入,具体包括:所述中心节点获取前一数据包头的哈希值,所述前一数据包头的哈希值为对所述第一数据包头整体进行哈希计算得到;所述中心节点根据所述前一数据包头的哈希值、所述根哈希值和所述时间戳在所述中心节点的可信执行环境中生成所述数据包头。本实施例中,这种前后包头哈希值相连的结构,是为了保障记录数据的连续性。本实施例中通过根哈希值以及时间戳构造数据包头只能保证当前数据的完整性,但是当前数据和前一个数据之间,是不是有别的数据被删掉了,就需要哈希值相连的结构来保证。有了哈希值相连的结构,一旦中间有个数据包头被恶意丢弃了,那当前包头结构里面的前向包头哈希值值,和前一个包头重新计算哈希值,就会对不上,从而可以发现数据被丢弃了。
404、该中心节点将该数据包头发送给辅助节点。
本实施例中,该中心节点在将该数据包头发送给辅助节点的同时,还可以向该辅助节点发送所述数据包头对应的数据包的全部数据或者部分数据;其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述数据包的部分数据可计算得到所述根哈希值。本实施例中,该数据包包括两部分:原始数据、中间各个层级的哈希值。所述数据包中的部分数据指的是:部分原始数据+部分哈希值。这样可以在有效保证数据完整性的情况下,降低各个设备之间数据传输量。
本实施例中,该中心节点可以仅向该辅助节点同步该辅助节点所需要的数据。比如,该车厂云服务主要关心的数据是气缸参数以及气囊传感器数据,则该中心节点可以如图8所示向该辅助节点发送的数据包中的可以仅包括hash12、hash34、hash3、hash4、气缸参数以及气囊传感器数据。可以理解的是,为了保证可以验证数据的完整性,该中心节点向该辅助节点同步的数据需要可以计算得到根哈希值。如图8所示的同步数据可以满足条件,若只保留气缸参数、气囊传感器数据则无法验证数据的完整性。
本实施例中,若辅助节点只同步了部分原始数据,则只能保证被同步的那部分原始数据是完整的,并不能保证所有传感器数据是完整的。所以辅助节点可以按照自身的需求策略进行数据同步。一种可能实现方式中,若需要全部原始数据,则有两种实施方案:1、把所有数据都同步到车厂云数据库,保证merkle hash树是完整的;2、同步部分数据到车厂云数据库,其余数据在车辆存储系统存储,或者在其它监管平台存储,只要满足各个节点设备的数据加起来是全部原始数据即可。
另一种可能实现方式中,若各个节点仅需要验证部分数据的完整性,那各个节点可以仅同步自身需要的数据即可,而其余数据保留哈希值,这样就可以验证这部分数据的完整性,以及验证整体数据是否篡改。
405、该辅助节点利用该数据包头验证所述行车数据是否篡改。
该辅助节点可以利用数据包头中的根哈希值、时间戳以及签名验证行车数据是否正确。
根据辅助节点的不同情况,其验证方式可以有不同:
一种可能实现方式中,若该辅助节点为车厂云服务,则该车厂云服务根据相关软件接收数据包,并将该数据包存储在该车厂云数据库;同时接收数据包头,进行签名验证、存储。该车厂云服务可以直接根据数据包中的数据计算根哈希值,并将该根哈希值与存储的数据包头中的根哈希值进行比对,若不存在差异,则说明数据未进行篡改,若存在差异,则说明该车厂云服务保留的数据有篡改。
一种可能实现方式中,若该辅助节点为用户手机,则该用户手机可以通过无线或有线方式从该中心节点获取该数据包头,同时获取从该车厂云数据库下载该车厂云数据库存储的数据包头,然后两者比对。若不存在差异,则说明数据未进行篡改,若存在差异,则说明至少有一个节点的数据进行了篡改。
或者,该用户手机通过无线或有线方式从该中心节点获取该数据包头,并获取从该车厂云数据库下载该车厂云数据库存储的数据包头和数据包,则该用户手机将该车厂云数据库的数据包计算得到根哈希值与该车厂云数据库的数据包头的根哈希值进行比对,若不存在差异,则说明该车厂云数据库保留的数据包头与数据包相匹配;若存在差异,则说明该车厂云数据库保留的数据包头与数据包不匹配,可能存在车厂云数据库的数据被篡改的情况。在确定该车厂云数据库保留的数据包头与数据包相匹配的情况下,该用户手机还可以将自身存储的数据包头中的根哈希值与该车厂云数据库的数据包计算得到根哈希值和该车厂云数据库的数据包头的根哈希值进行比对,若不存在差异,则说明数据未被篡改;若存在差异,则说明至少一个节点的数据被篡改。
一种可能实现方式中,若该辅助节点为监管平台,则该监管平台根据相关软件接收数据包,并将该数据包存储在该监管平台云数据库;同时接收数据包头,进行签名验证、存储。该监管平台服务可以直接根据数据包中的数据计算根哈希值,并将该根哈希值与存储的数据包头中的根哈希值进行比对,若不存在差异,则说明数据未进行篡改,若存在差异,则说明该监管平台保留的数据有篡改。或者,该监管平台直接从该车厂云数据库下载该车厂云数据库存储的数据包头,并将该数据包头与该监管平台存储的数据包头进行比对,若不存在差异,则说明数据未进行篡改,若存在差异,则说明至少有一个节点的数据进行了篡改。
或者,该监管平台通过无线或有线方式从该中心节点获取该数据包头,并获取从该车厂云数据库下载该车厂云数据库存储的数据包头和数据包,则该监管平台将该车厂云数据库的数据包计算得到根哈希值与该车厂云数据库的数据包头的根哈希值进行比对,若不存在差异,则说明该车厂云数据库保留的数据包头与数据包相匹配;若存在差异,则说明该车厂云数据库保留的数据包头与数据包不匹配,可能存在车厂云数据库的数据被篡改的情况。在确定该车厂云数据库保留的数据包头与数据包相匹配的情况下,该监管平台还可以将自身存储的数据包头中的根哈希值与该车厂云数据库的数据包计算得到根哈希值和该车厂云数据库的数据包头的根哈希值进行比对,若不存在差异,则说明数据未被篡改;若存在差异,则说明至少一个节点的数据被篡改。
本实施例中,上述各个辅助节点还可以提供数据包头查询服务或者公开该数据包头信息,这样可以进一步增强不可篡改性。因为整个行车数据验证系统的参与方数量有限,有一定概率导致所有节点的数据均被篡改。因此,实时对外公开数据包头信息,可以被外界任意监督方随时收集,有利于进一步增强防篡改性。各个辅助节点公开该数据包头信息的方式包括但不限于网站公开或者提供查询接口,供外部对接访问。
下面以一个具体应用场景对本申请实施例中防止行车数据篡改的方法进行说明,以图9所示的场景为例进行说明,该场景下包括车辆、车主手机以及车厂云服务三方。其具体流程如下:
车辆首次启动时,车辆将车辆可信执行环境内TA程序生成的验签公钥,通过车载网联模块,发送给车厂云服务。车厂云服务创建与该车辆相关的对象实例,接收并保存该验签公钥,该验签公钥用作数据包头签名验证。
当车主手机通过蓝牙等方式与车辆连接时,车辆将TA程序的验签公钥,发送给车主手机。在该车主手机获取该验签公钥时,可以先与该车辆进行身份验证,然后才可以获取该公钥。该车主手机保存该验签公钥,该验签公钥用作数据包头签名验证。
该车辆行驶过程中,该车辆采集行车数据,并通过图4所示的方案构成数据包头和数据包。同时该车辆将会缓存该数据包和该数据包头。同时,该车辆开启网络同步线程,持续的向车厂云服务和车主手机同步数据包头。可以理解的是,该车辆还可以向该车厂云服务同步数据包中的全部或者部分数据。
数据验证时,该车厂云服务根据相关软件接收数据包,并将该数据包进行存储;同时接收数据包头,进行签名验证、存储。该车厂云服务可以直接根据数据包中的数据计算根哈希值,并将该根哈希值与存储的数据包头中的根哈希值进行比对,若不存在差异,则说明数据未进行篡改,若存在差异,则说明该车厂云服务保留的数据有篡改。
车主手机可以通过无线或有线方式从该车辆获取该数据包头,同时获取从该车厂云服务下载该车厂云服务存储的数据包头,然后两者比对。若不存在差异,则说明数据未进行篡改,若存在差异,则说明至少有一个节点的数据进行了篡改。
上面对本申请实施例中的防止行车数据篡改的方法进行了描述,下面对本申请实施例中的相关装置进行描述。
具体请参阅图10所示,本申请实施例中该数据采集装置1000包括:获取模块1001、处理模块1002、发送模块1003,其中获取模块1001、处理模块1002、发送模块1003通过总线连接。数据采集装置1000可以是上述方法实施例中的中心节点,也可以配置为中心节点内的一个或多个芯片。数据采集装置1000可以用于执行上述方法实施例中的中心节点的部分或全部功能。
其中,该获取模块1001,用于获取车辆在预设时间段内行车数据;处理模块1002,用于获取车辆在预设时间段内行车数据;发送模块1003,用于向辅助节点发送所述数据包头。
一种可能实现方式中,所述处理模块1002,具体用于根据所述根哈希值和时间戳在所述中心节点的可信执行环境中生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为在所述可信执行环境中生成的系统时间,所述私钥在所述可信执行环境中随机生成。
一种可能实现方式中,所述行车数据包括多个数组,其中,一个数组为所述预设时间段内一个传感器采集的数据,所述处理模块1002,具体用于分别计算所述多个数组中每个数组对应的哈希值;按照默克尔树计算逻辑将所述每个数组对应的哈希值两两结合计算得到上层哈希值,直至得到所述根哈希值。
另一种可能实现方式中,所述获取模块1001,还用于获取前一数据包头的哈希值,所述前一数据包头的哈希值为对所述第一数据包头整体进行哈希计算得到;
所述处理模块1002,具体用于根据所述前一数据包头的哈希值、所述根哈希值和所述时间戳生成所述数据包头。
另一种可能实现方式中,所述发送模块1003,还用于向所述辅助节点发送所述数据包头对应的数据包的全部数据或者部分数据;其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。
可选的,该数据采集装置1000还包括存储模块,该存储模块,用于缓存所述数据包头和所述数据包。存储此存储模块与处理模块1002耦合,使得处理模块1002可执行存储模块中存储的计算机执行指令以实现上述方法实施例中终端的功能。在一个示例中,该数据采集装置1000中可选的包括的存储模块可以为芯片内的存储单元,如寄存器、缓存等,该存储模块还可以是位于芯片外部的存储单元,如ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM等。
应理解,上述图10对应实施例中中心节点的各模块之间所执行的流程与前述图4至图9中对应方法实施例中的中心节点执行的流程类似,具体此处不再赘述。
图11示出了上述实施例中一种该数据采集装置1100可能的结构示意图,该数据采集装置1100可以配置成是前述中心节点。该数据采集装置1100可以包括:处理器1102、计算机可读存储介质/存储器1103、收发器1104、输入设备1105和输出设备1106,以及总线1101。其中,处理器,收发器,计算机可读存储介质等通过总线连接。本申请实施例不限定上述部件之间的具体连接介质。
一个示例中,该收发器1104获取车辆在预设时间段内行车数据;
该处理器1102根据行车数据计算得到根哈希值;根据所述根哈希值和时间戳生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为系统时间,所述私钥随机生成;
该收发器1104向辅助节点发送所述数据包头。
一种可能实现方式中,所述处理器1102,具体用于根据所述根哈希值和时间戳在所述中心节点的可信执行环境中生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为在所述可信执行环境中生成的系统时间,所述私钥在所述可信执行环境中随机生成。
一种可能实现方式中,所述行车数据包括多个数组,其中,一个数组为所述预设时间段内一个传感器采集的数据,所述处理器1102,具体用于分别计算所述多个数组中每个数组对应的哈希值;按照默克尔树计算逻辑将所述每个数组对应的哈希值两两结合计算得到上层哈希值,直至得到所述根哈希值。
另一种可能实现方式中,所述收发器1104,还用于获取前一数据包头的哈希值,所述前一数据包头的哈希值为对所述第一数据包头整体进行哈希计算得到;
所述处理器1102,具体用于根据所述前一数据包头的哈希值、所述根哈希值和所述时间戳生成所述数据包头。
另一种可能实现方式中,所述收发器1104,还用于向所述辅助节点发送所述数据包头对应的数据包的全部数据或者部分数据;其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。
另一种可能实现方式中,该存储器1103缓存所述数据包头和所述数据包。
又一个示例中,处理器1102可以运行操作系统,控制各个设备和器件之间的功能。收发器1104可以包括基带电路和射频电路。
该收发器1104与该处理器1102可以实现上述图4至图9中任一实施例中相应的步骤,具体此处不做赘述。
可以理解的是,图11仅仅示出了数据采集装置的简化设计,在实际应用中,数据采集装置可以包含任意数量的收发器,处理器,存储器等,而所有的可以实现本申请的XX装置都在本申请的保护范围之内。
上述装置1100中涉及的处理器1102可以是通用处理器,例如CPU、网络处理器(network processor,NP)、微处理器等,也可以是ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。还可以是数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。处理器通常是基于存储器内存储的程序指令来执行逻辑和算术运算。
上述涉及的总线1101可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述涉及的计算机可读存储介质/存储器1103还可以保存有操作系统和其他应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,上述存储器可以是ROM、可存储静态信息和指令的其他类型的静态存储设备、RAM、可存储信息和指令的其他类型的动态存储设备、磁盘存储器等等。存储器1103可以是上述存储类型的组合。并且上述计算机可读存储介质/存储器可以在处理器中,还可以在处理器的外部,或在包括处理器或处理电路的多个实体上分布。上述计算机可读存储介质/存储器可以具体体现在计算机程序产品中。举例而言,计算机程序产品可以包括封装材料中的计算机可读介质。
可以替换的,本申请实施例还提供一种通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理器功能的一个或多个微处理器;以及提供存储介质的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。当存储器存储的指令被处理器执行时,使得处理器执行数据采集装置在图4至图9该实施例中的防止行车数据篡改的方法中的部分或全部步骤,和/或用于本申请所描述的技术的其它过程。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于终端中。当然,处理器和存储介质也可以作为分立组件存在于第一通信装置中。
具体请参阅图12所示,本申请实施例中该数据验证装置1200包括:接收模块1201、处理模块1202,其中接收模块1201、处理模块1202通过总线连接。数据验证装置1200可以是上述方法实施例中的辅助节点,也可以配置为辅助节点内的一个或多个芯片。数据验证装置1200可以用于执行上述方法实施例中的辅助节点的部分或全部功能。
其中,接收模块1201,用于同步所述中心节点发送的数据包头,所述数据包头由所述中心节点根据根哈希值和时间戳生成,且所述数据包头利用私钥进行签名,所述时间戳为系统时间,所述私钥为随机生成,所述根哈希值所述中心节点根据行车数据计算得到,所述行车数据为所述中心节点在预设时间段内采集得到;
处理模块1202,用于利用所述数据包头验证所述行车数据是否篡改。
一种可能实现方式中,所述接收模块1201,还用于接收所述中心节点发送的所述数据包头对应的数据包的全部数据或者部分数据;其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。
另一种可能实现方式中,该数据验证装置1200还包括发送模块1203,用于公布所述数据包头。
可选的,该数据验证装置1200还包括存储模块,该存储模块,用于存储所述数据包头。存储此存储模块与处理模块1202耦合,使得处理模块1202可执行存储模块中存储的计算机执行指令以实现上述方法实施例中终端的功能。在一个示例中,该数据采集装置1000中可选的包括的存储模块可以为芯片内的存储单元,如寄存器、缓存等,该存储模块还可以是位于芯片外部的存储单元,如ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM等。
应理解,上述图12对应实施例中辅助节点的各模块之间所执行的流程与前述图4至图9中对应方法实施例中的辅助节点执行的流程类似,具体此处不再赘述。
图13示出了上述实施例中一种该数据验证装置1300可能的结构示意图,该数据采集装置1100可以配置成是前述中心节点。该数据验证装置1300可以包括:处理器1302、计算机可读存储介质/存储器1303、收发器1304、输入设备1305和输出设备1306,以及总线1301。其中,处理器,收发器,计算机可读存储介质等通过总线连接。本申请实施例不限定上述部件之间的具体连接介质。
一个示例中,该收发器1304同步所述中心节点发送的数据包头,所述数据包头由所述中心节点根据根哈希值和时间戳生成,且所述数据包头利用私钥进行签名,所述时间戳为系统时间,所述私钥为随机生成,所述根哈希值所述中心节点根据行车数据计算得到,所述行车数据为所述中心节点在预设时间段内采集得到;
该处理器1102利用所述数据包头验证所述行车数据是否篡改。
一种可能实现方式中,所述该收发器1304,具体用于接收所述中心节点发送的所述数据包头对应的数据包的全部数据或者部分数据;其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。
一种可能实现方式中,所述该收发器1304,还用于公布所述数据包头
另一种可能实现方式中,该存储器1103缓存所述数据包头。
又一个示例中,处理器1302可以运行操作系统,控制各个设备和器件之间的功能。收发器1304可以包括基带电路和射频电路。
该收发器1304与该处理器1302可以实现上述图4至图9中任一实施例中相应的步骤,具体此处不做赘述。
可以理解的是,图13仅仅示出了数据验证装置的简化设计,在实际应用中,数据验证装置可以包含任意数量的收发器,处理器,存储器等,而所有的可以实现本申请的数据验证装置都在本申请的保护范围之内。
上述装置1300中涉及的处理器1302可以是通用处理器,例如CPU、网络处理器(network processor,NP)、微处理器等,也可以是ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。还可以是数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。处理器通常是基于存储器内存储的程序指令来执行逻辑和算术运算。
上述涉及的总线1301可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述涉及的计算机可读存储介质/存储器1303还可以保存有操作系统和其他应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,上述存储器可以是ROM、可存储静态信息和指令的其他类型的静态存储设备、RAM、可存储信息和指令的其他类型的动态存储设备、磁盘存储器等等。存储器1303可以是上述存储类型的组合。并且上述计算机可读存储介质/存储器可以在处理器中,还可以在处理器的外部,或在包括处理器或处理电路的多个实体上分布。上述计算机可读存储介质/存储器可以具体体现在计算机程序产品中。举例而言,计算机程序产品可以包括封装材料中的计算机可读介质。
可以替换的,本申请实施例还提供一种通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理器功能的一个或多个微处理器;以及提供存储介质的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。当存储器存储的指令被处理器执行时,使得处理器执行数据验证装置在图4至图9该实施例中的防止行车数据篡改的方法中的部分或全部步骤,和/或用于本申请所描述的技术的其它过程。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于终端中。当然,处理器和存储介质也可以作为分立组件存在于第一通信装置中。
本申请还提供一种行车数据验证系统,包括上述任一实施例所述的中心节点和多个辅助节点。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (24)
1.一种防止行车数据篡改的方法,应用于行车数据验证系统,所述系统包括中心节点和多个辅助节点,其特征在于,包括:
所述中心节点获取车辆在预设时间段内行车数据;
所述中心节点根据行车数据计算得到根哈希值;
所述中心节点根据所述根哈希值和时间戳生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为系统时间,所述私钥为随机生成;
所述中心节点向所述辅助节点发送所述数据包头。
2.根据权利要求1所述的方法,其特征在于,所述中心节点根据所述根哈希值和时间戳生成数据包头包括:
所述中心节点根据所述根哈希值和时间戳在所述中心节点的可信执行环境中生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为在所述可信执行环境中生成的系统时间,所述私钥在所述可信执行环境中随机生成。
3.根据权利要求1或2所述的方法,其特征在于,所述行车数据包括多个数组,其中,一个数组为所述预设时间段内一个传感器采集的数据,所述中心节点根据所述行车数据计算得到根哈希值包括:
所述中心节点分别计算所述多个数组中每个数组对应的哈希值;
所述中心节点按照默克尔树计算逻辑将所述每个数组对应的哈希值两两结合计算得到上层哈希值,直至得到所述根哈希值。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
所述中心节点获取前一数据包头的哈希值,所述前一数据包头的哈希值为对所述第一数据包头整体进行哈希计算得到;
所述中心节点根据所述根哈希值和时间戳在所述中心节点的可信执行环境中生成数据包头包括:
所述中心节点根据所述前一数据包头的哈希值、所述根哈希值和所述时间戳生成所述数据包头。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
所述中心节点向所述辅助节点发送所述数据包头对应的数据包的全部数据或者部分数据;
其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;
所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述中心节点缓存所述数据包头和所述数据包。
7.一种中心节点,其特征在于,包括:
获取模块,用于获取车辆在预设时间段内行车数据;
处理模块,用于根据行车数据计算得到根哈希值;根据所述根哈希值和时间戳生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为系统时间,所述私钥随机生成;
发送模块,用于向辅助节点发送所述数据包头。
8.根据权利要求7所述的中心节点,其特征在于,所述处理模块,具体用于根据所述根哈希值和时间戳在所述中心节点的可信执行环境中生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为在所述可信执行环境中生成的系统时间,所述私钥在所述可信执行环境中随机生成。
9.根据权利要求7或8所述的中心节点,其特征在于,所述行车数据包括多个数组,其中,一个数组为所述预设时间段内一个传感器采集的数据,所述处理模块,具体用于分别计算所述多个数组中每个数组对应的哈希值;按照默克尔树计算逻辑将所述每个数组对应的哈希值两两结合计算得到上层哈希值,直至得到所述根哈希值。
10.根据权利要求7至9中任一项所述的中心节点,其特征在于,所述获取模块,还用于获取前一数据包头的哈希值,所述前一数据包头的哈希值为对所述第一数据包头整体进行哈希计算得到;
所述处理模块,具体用于根据所述前一数据包头的哈希值、所述根哈希值和所述时间戳生成所述数据包头。
11.根据权利要求7至10中任一项所述的中心节点,其特征在于,所述发送模块,还用于向所述辅助节点发送所述数据包头对应的数据包的全部数据或者部分数据;
其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;
所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。
12.根据权利要求7至11中任一项所述的中心节点,其特征在于,所述中心节点还包括存储模块,用于缓存所述数据包头和所述数据包。
13.一种防止行车数据篡改的方法,应用于行车数据验证系统,所述系统包括中心节点和多个辅助节点,其特征在于,包括:
所述辅助节点同步所述中心节点发送的数据包头,所述数据包头由所述中心节点根据根哈希值和时间戳生成,且所述数据包头利用私钥进行签名,所述时间戳为系统时间,所述私钥为随机生成,所述根哈希值所述中心节点根据行车数据计算得到,所述行车数据为所述中心节点在预设时间段内采集得到;
所述辅助节点利用所述数据包头验证所述行车数据的是否篡改。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
所述辅助节点接收所述中心节点发送的所述数据包头对应的数据包的全部数据或者部分数据;
其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;
所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。
15.根据权利要求13至14中任一项所述的方法,其特征在于,所述方法还包括;
所述辅助节点公布所述数据包头。
16.一种辅助节点,其特征在于,包括:
接收模块,用于同步所述中心节点发送的数据包头,所述数据包头由所述中心节点根据根哈希值和时间戳生成,且所述数据包头利用私钥进行签名,所述时间戳为系统时间,所述私钥为随机生成,所述根哈希值所述中心节点根据行车数据计算得到,所述行车数据为所述中心节点在预设时间段内采集得到;
处理模块,用于利用所述数据包头验证所述行车数据是否篡改。
17.根据权利要求16所述的辅助节点,其特征在于,所述接收模块,还用于接收所述中心节点发送的所述数据包头对应的数据包的全部数据或者部分数据;
其中,所述数据包的全部数据包括所述行车数据在默克尔树计算逻辑下对应的全部哈希值和所述行车数据;
所述数据包的部分数据包括所述行车数据在默克尔树计算逻辑下对应的部分哈希值和所述行车数据的部分内容,且所述部分哈希值和所述行车数据的部分内容可计算得到所述根哈希值。
18.根据权利要求16至17中任一项所述的辅助节点,其特征在于,所述辅助节点还包括发送模块,用于公布所述数据包头。
19.一种行车数据验证系统,其特征在于,包括上述权利要求7至12中任一项所述的中心节点和多个如上述权利要求16至18中任一项所述的辅助节点;
其中,所述中心节点获取车辆在预设时间段内行车数据;根据行车数据计算得到根哈希值;根据所述根哈希值和时间戳生成数据包头,并利用私钥对所述数据包头进行签名,所述时间戳为系统时间,所述私钥随机生成;
所述中心节点向所述多个辅助节点同步所述数据包头;
所述多个辅助节点根据所述数据包头验证所述行车数据是否篡改。
20.根据权利要求19所述的系统,其特征在于,所述多个辅助节点根据所述数据包头验证所述行车数据是否篡改包括:
第一辅助节点获取第二辅助节点的数据包头和数据包,所述第一辅助节点和所述第二辅助节点包含于所述多个辅助节点;
所述第一辅助节点根据所述第二辅助节点的数据包头和数据包确定所述第二辅助节点的数据是否篡改。
21.根据权利要求20所述的系统,其特征在于,所述第一辅助节点根据所述第二辅助节点的数据包头和数据包确定所述第二辅助节点的数据是否篡改包括:
所述第一辅助节点根据所述第二辅助节点的数据包计算得到根哈希值与所述第二辅助节点的数据包头中的根哈希值进行对比;
若所述第二辅助节点的数据包计算得到根哈希值与所述第二辅助节点的数据包头中的根哈希值不存在差异,则所述第二辅助节点的数据包与所述第二辅助节点的数据包头相匹配;
所述第一辅助节点将所述第二辅助节点的数据包计算得到根哈希值或所述第二辅助节点的数据包头中的根哈希值与所述第一辅助节点的数据包头中的根哈希值比对;
若所述第二辅助节点的数据包计算得到根哈希值或所述第二辅助节点的数据包头中的根哈希值与所述第一辅助节点的数据包头中的根哈希值不存在差异,则确定所述第二辅助节点的数据未被篡改。
22.一种计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得计算机执行如权利要求1至6或者如权利要求13至15中任意一项所述的方法。
23.一种计算机可读存储介质,其特征在于,包括程序,当所述程序在计算机上运行时,使得计算机执行如权利要求1至6或者如权利要求13至15中任一项所述的方法。
24.一种智能汽车,其特征在于,一个或多个处理器和存储器,所述存储器中存储有程序指令,当所述程序指令在所述一个或多个处理器中执行时,使得如权利要求1至6或者如权利要求13至15中任一项所述的方法被执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110801555.6A CN115618417A (zh) | 2021-07-15 | 2021-07-15 | 一种防止行车数据篡改的方法以及相关装置 |
PCT/CN2022/090319 WO2023284372A1 (zh) | 2021-07-15 | 2022-04-29 | 一种防止行车数据篡改的方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110801555.6A CN115618417A (zh) | 2021-07-15 | 2021-07-15 | 一种防止行车数据篡改的方法以及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115618417A true CN115618417A (zh) | 2023-01-17 |
Family
ID=84855458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110801555.6A Pending CN115618417A (zh) | 2021-07-15 | 2021-07-15 | 一种防止行车数据篡改的方法以及相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115618417A (zh) |
WO (1) | WO2023284372A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848062B (zh) * | 2018-05-23 | 2021-03-26 | 华东师范大学 | 车载网中基于区块链的可控匿名的数据安全共享方法 |
CN109741039B (zh) * | 2019-01-07 | 2021-01-19 | 深圳市红砖坊技术有限公司 | 记账方法、矿池服务器、终端设备、挖矿节点及矿池 |
CN111159305B (zh) * | 2020-04-02 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 基于区块链的车辆数据处理方法、装置及系统 |
CN112287367B (zh) * | 2020-10-29 | 2022-05-10 | 合肥工业大学智能制造技术研究院 | 一种基于可信计算的汽车t-box取证的系统 |
CN112905667A (zh) * | 2021-03-08 | 2021-06-04 | 黑芝麻智能科技(上海)有限公司 | 无人驾驶信息存储和回放方法、装置及存储介质 |
-
2021
- 2021-07-15 CN CN202110801555.6A patent/CN115618417A/zh active Pending
-
2022
- 2022-04-29 WO PCT/CN2022/090319 patent/WO2023284372A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023284372A1 (zh) | 2023-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nürnberger et al. | –vatican–vetted, authenticated can bus | |
EP3690643B1 (en) | Vehicle-mounted device upgrading method and related device | |
CN111159305B (zh) | 基于区块链的车辆数据处理方法、装置及系统 | |
US11652643B2 (en) | Verification method, verification apparatus, and storage medium including program stored therein | |
WO2019195781A1 (en) | Secure compliance protocols | |
Nowdehi et al. | In-vehicle CAN message authentication: An evaluation based on industrial criteria | |
US11129024B2 (en) | Vehicle-to-X communication device and method for realizing a safety integrity level in vehicle-to-X communication | |
CN112487408A (zh) | 用于车内ecu的安全访问方法、系统及存储介质 | |
US20230246849A1 (en) | Verification method, verification apparatus, and storage medium including program stored therein | |
CN112019517B (zh) | 车联网认证方法和路侧单元 | |
CN115243216A (zh) | 用于在v2x网络中进行数据传输的方法 | |
US11935341B2 (en) | Data storage device and non-transitory tangible computer readable storage medium | |
KR101086900B1 (ko) | 기지국을 이용한 주위 차량 위치인식 시스템 및 기지국과 차량 사이의 인증방법 | |
CN111698546B (zh) | 视频结构化结果传输方法、装置、终端设备及存储介质 | |
CN115618417A (zh) | 一种防止行车数据篡改的方法以及相关装置 | |
WO2022137945A1 (ja) | データ保存装置、データ保存方法、およびデータ保存プログラム | |
US11544408B2 (en) | Method and system for managing vehicle generated data | |
CN110889525B (zh) | 订单路线偏离事件管理方法及装置、服务器、存储介质 | |
EP3346638A1 (en) | Method, apparatus, and computer-readable storage medium comprising instructions for vehicle-to-vehicle communication | |
CN112153151A (zh) | 一种基于区块链的智能制造车间安全管理方法及系统 | |
CN114155628B (zh) | 汽车数据存储方法、存储节点及系统 | |
CN113271320B (zh) | 一种终端认证方法、装置、系统、介质及设备 | |
CN111212396B (zh) | 用于车对外界信息交互(v2x)通信的车辆系统和方法 | |
CN117421782B (zh) | 一种档案签名、完整性检测、追踪方法和装置 | |
US10798580B2 (en) | Information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |