CN116710917A - 数据保存装置、数据保存方法、以及数据保存程序 - Google Patents
数据保存装置、数据保存方法、以及数据保存程序 Download PDFInfo
- Publication number
- CN116710917A CN116710917A CN202180086419.1A CN202180086419A CN116710917A CN 116710917 A CN116710917 A CN 116710917A CN 202180086419 A CN202180086419 A CN 202180086419A CN 116710917 A CN116710917 A CN 116710917A
- Authority
- CN
- China
- Prior art keywords
- block
- data
- hash value
- blockchain
- vehicle
- 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
- 238000000034 method Methods 0.000 title claims description 39
- 238000013500 data storage Methods 0.000 title claims description 26
- 238000012545 processing Methods 0.000 claims abstract description 63
- 230000005540 biological transmission Effects 0.000 claims description 14
- 230000010365 information processing Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Abstract
车载ECU(100)具备至少基于根据紧前面的区块生成的区块散列值生成与区块链(BC)连结的新区块的区块生成部(140)。车载ECU(100)具备保存处理部(150)。保存处理部(150)通过在每个特定的更新定时将基于区块链(BC)的最终区块的最终区块散列值保存于安全世界的存储器区域(TS),来更新在前次的更新定时保存的最终区块散列值。车载ECU(100)具备至少在每个更新定时生成数据散列值的数据散列生成部(120),上述数据散列值是基于获取数据和最终区块散列值的散列值。
Description
相关申请的交叉引用
该申请主张于2020年12月25日在日本申请的专利申请第2020-216399号的优先权,并在此引用其全部内容。
技术领域
该说明书中的公开涉及保存在移动体中获取的数据的技术。
背景技术
在非专利文献1公开了对车载ECU赋予加密密钥,并基于该加密密钥进行正规ECU的认证的技术。
非专利文献1:国际交通安全学会杂志Vol.42,No.2,2017年10月,39页~47页
但是,即使对车载ECU赋予加密密钥,在该加密密钥泄漏的情况下,也有假冒的车载ECU的安装等所引起的数据的篡改变得容易的担心。在非专利文献1未公开任何对这样的状况的对策。
发明内容
公开的目的在于提供能够使数据的篡改变得困难的数据保存装置、数据保存方法、以及数据保存程序。
该说明书所公开的多个方式为了实现各自的目的,而采用相互不同的技术手段。另外,权利要求书以及该项所记载的括号内的附图标记是表示与作为一个方式后述的实施方式所记载的具体单元的对应关系的一个例子,并不对技术范围进行限定。
公开的数据保存装置之一是搭载于移动体,规定正常世界以及限制从正常世界的访问的安全世界,并使用区块链保存由移动体获取的获取数据的数据保存装置,具备:
区块生成部,至少基于根据紧前面的区块生成的区块散列值生成与区块链连结的新区块;
保存处理部,通过在每个特定的更新定时将基于连结在区块链的最后的最终区块的最终区块散列值保存于安全世界的存储器区域,来更新在上次的更新定时保存的最终区块散列值;以及
数据散列生成部,至少在每个更新定时生成数据散列值,该数据散列值是基于获取数据和最终区块散列值的散列值。
公开的数据保存方法之一是搭载于移动体,为了规定正常世界以及限制从正常世界的访问的安全世界,并使用区块链保存由移动体获取的获取数据,而由处理器执行的数据保存方法,包含:
区块生成工序,至少基于根据紧前面的区块生成的区块散列值生成与区块链连结的新区块;
保存处理工序,通过在每个特定的更新定时,将基于连结在区块链的最后的最终区块的最终区块散列值保存于安全世界的存储器区域,来更新在上次的更新定时保存的最终区块散列值;以及
数据散列生成工序,至少在每个更新定时生成数据散列值,该数据散列值是基于获取数据和最终区块散列值的散列值。
公开的数据保存程序之一是搭载于移动体,包含为了规定正常世界以及限制从正常世界的访问的安全世界,并使用区块链保存由移动体获取的获取数据,而使处理器执行的命令的数据保存程序,
命令包含:
区块生成工序,至少基于根据紧前面的区块生成的区块散列值生成使其与区块链连结的新区块,
保存处理工序,通过使处理器在每个特定的更新定时,将基于连结在区块链的最后的最终区块的最终区块散列值保存于安全世界的存储器区域,来更新在上次的更新定时保存的最终区块散列值;以及
数据散列生成工序;至少在每个更新定时使处理器生成数据散列值,该数据散列值是基于获取数据和最终区块散列值的散列值。
根据这些公开,在每个特定的更新定时,更新保存于存储器区域的最终区块散列值。在由于假冒的数据保存装置的安装等而篡改了数据的情况下,由于最终区块散列值以及新数据散列值与本来的值不同,所以能够基于这些值的至少一方验证篡改的有无。并且,由于这些值在每个更新定时变化,所以即使上次以前的更新定时的这些值泄漏,也能够检查篡改。根据以上,能够提供能够使数据的篡改变得困难的数据保存装置、数据保存方法、以及数据保存程序。
附图说明
图1是表示车载ECU具有的功能的一个例子的框图。
图2是表示数据保存方法的一个例子的示意图。
图3是表示区块散列值的更新方法的一个例子的示意图。
图4是表示数据保存方法中区块链的生成处理的一个例子的流程图。
图5是表示数据保存方法中由验证对象的ECU执行的处理的一个例子的流程图。
图6是表示数据保存方法中由验证担当的ECU执行的处理的一个例子的流程图。
图7是表示第二实施方式的车载ECU具有的功能的一个例子的框图。
图8是表示第二实施方式的数据保存方法中由验证对象的ECU执行的处理的一个例子的流程图。
具体实施方式
(第一实施方式)
参照图1~图6对第一实施方式的数据保存装置进行说明。通过搭载于作为移动体的一个例子的车辆A的电子控制装置亦即车载ECU100提供第一实施方式的数据保存装置。车载ECU100保存在车辆A获取的获取数据,特别是车辆A的操作历史数据HD。
车载ECU100是车辆A搭载多台,例如四台以上的信息处理装置。多个车载ECU100能够经由根据Ethernet(注册商标)等通信标准的车载网络相互通信。车载ECU100分别能够执行后述的获取数据的保存以及验证以外的处理功能。例如,车载ECU100可以能够执行自动驾驶功能、高度驾驶辅助功能、周边监视功能等。另外,也可以通过车辆控制ECU20(后述)提供车载ECU100的一个。车载ECU100经由车载网络与车载传感器10以及车辆控制ECU20连接。
车载传感器10是搭载于车辆A的各种检测构成。在车载传感器10包含有能够检测驾驶员对车辆A的操作的传感器。例如,在车载传感器10包含有检测加速器踏板的踏入量的加速器踏板传感器、检测制动踏板的踏入量的制动踏板传感器、检测方向盘的操作量的转向传感器等。各车载传感器10能够将检测出的数据提供给至少一个车载ECU100。此外,车载传感器10也可以经由收集检测数据的其它的ECU,间接地向车载ECU100提供检测数据。
车载ECU100是搭载于车辆A的多个电子控制装置。车载ECU100中至少一个是保存来自上述的车载传感器10的获取数据以及区块链BC的数据保存装置。其它的车载ECU100保存区块链BC,并验证该区块链BC的可靠性。以下,有时将前者的车载ECU100表述为“验证对象的ECU”,并将后者的车载ECU100表述为“验证担当的ECU”。
车载ECU100是包含具备存储器101、处理器102、输入输出接口、以及连接它们的总线等的计算机作为主体的构成。处理器102是用于运算处理的硬件。处理器102例如包含CPU(Central Processing Unit:中央处理器)、GPU(Graphics Processing Unit:图形处理器)以及RISC(Reduced Instruction Set Computer:精简指令集计算机)-CPU等中至少一种作为核心。
车载ECU100在系统内规定正常世界NW以及安全世界SW这样的至少两个不同的处理区域。正常世界NW以及安全世界SW既可以在硬件上物理分离,或者也可以通过硬件以及软件的协作虚拟地分离。车载ECU100利用上下文开关等功能,使应用程序的执行所需要的资源在时间上分离为正常世界NW以及安全世界SW。
正常世界NW是使操作系统以及应用程序执行的通常的区域。在正常世界NW设置有正常存储器US,作为用于数据保存的存储器区域(Untrusted Storage:不可靠存储)。
安全世界SW是从正常世界NW隔离的区域。在安全世界SW中,执行用于要求安全的处理的安全的操作系统以及应用程序。通过处理器102的功能限制从正常世界NW向安全世界SW的访问。因此,不能够从正常世界NW识别安全世界SW的存在,而能够确保在安全世界SW执行的处理以及在安全世界SW保存的信息等的安全性。在安全世界SW设置有安全存储器TS,作为用于数据保存的存储器区域(Trusted Storage:可信存储)。安全存储器TS的容量可以比正常存储器US的容量少。或者,安全存储器TS的容量也可以为正常存储器US的容量同等以上。
存储器101是非暂时地储存或者存储能够通过计算机读取的程序以及数据等的例如半导体存储器、磁介质以及光学介质等中至少一种非迁移实体存储介质(non-transitory tangible storage medium)。存储器101储存后述的数据保存程序等由处理器102执行的各种程序。
处理器102执行储存于存储器101的数据保存程序所包含的多个命令。由此,车载ECU100构建多个用于数据保存的功能部。这样在车载ECU100中,储存于存储器101的数据保存程序通过使处理器102执行多个命令,来构建多个功能部。具体而言,如图1所示,在车载ECU100中构建有数据块制成部110、数据散列生成部120、区块散列生成部130、区块生成部140、散列保存处理部150以及发送处理部160。除此之外,如图1所示,在车载ECU100中构建有区块散列保存处理部170、验证执行部180以及区块保存处理部190等。
以上的功能部中数据块制成部110、数据散列生成部120、区块散列生成部130、区块生成部140、散列保存处理部150以及发送处理部160是在验证对象的ECU中构建的功能部。另外,区块散列保存处理部170、验证执行部180以及区块保存处理部190是在验证担当的ECU中构建的功能部。虽然在图1中,分别记载为不同的车载ECU100的功能,但各车载ECU100也能够兼任验证对象以及验证担当。
数据块制成部110获取由车载传感器10检测出的检测数据,作为驾驶员的操作历史数据HD,并制成数据块。此外,以下有将数据块表述为事务的情况。事务是将规定大小的操作历史数据HD集中储存的单位。数据块制成部110在车辆A的驱动源的启动中定期地制成事务。数据块制成部110以与后述的区块链BC所连结的区块BL相关联的状态将制成的事务保存于正常存储器US。数据块制成部110将制成的事务提供给数据散列生成部120以及区块生成部140。
数据块制成部110若判断为车辆A的驱动源停止,则中止事务的制成。数据块制成部110若判断为车辆A的驱动源启动,则重新开始事务的制成。以下,有将新生成的事务特别表述为“新事务”的情况。此外,这里,紧接驱动源启动之后是指在驱动源启动后能够确保车载ECU100的可靠性之前的定时。另外,紧接驱动源启动之后也能够指在驱动源启动之后首次生成数据块的定时。该定时是“第二定时”的一个例子。
数据散列生成部120生成基于制成的事务的散列值,作为数据散列值。
具体而言,如图2所示,数据散列生成部120将合成了保存于安全存储器TS的区块散列值BH(BH_1)、和事务后的数据转换为数据散列值。该处理能够理解为对事务实施电子签名的处理。以下,有将新生成的数据散列值特别表述为“新数据散列值”的情况。数据散列生成部120将数据散列值提供给区块生成部140。
区块散列生成部130生成基于与区块链BC连结的最后的区块BL亦即最终区块的散列值,作为区块散列值BH。该区块散列值BH是“最终区块散列值”的一个例子。在图2所示的例子中,最终区块为“BLOCK3”,区块散列值BH为“BH_3”。区块散列生成部130仅通过散列函数将区块转换为区块散列值BH即可。区块散列生成部130将区块散列值BH提供给区块生成部140以及发送处理部160。
以上的数据散列生成部120以及区块散列生成部130在散列值的生成中,利用密码学散列函数。密码学散列函数具有不会根据不同的输入输出同一散列值,并且,实质上不能够根据输出的散列值推测输入这样的特性。例如,使用作为SHA-2之一的SHA-256作为密码学散列函数。或者,可以根据需要的输出长(位数)适当地使用SHA-1、SHA-256以外的SHA-2以及SHA-3等密码学散列函数。
区块生成部140生成基于从数据散列生成部120获取的数据散列值、和从区块散列生成部130获取的区块散列值BH的组合的区块BL。另外,区块生成部140将生成的区块连结到区块链BC的最后并保存。
这里,区块生成部140仅在形成了连结新的区块BL的同意的情况下,实施以上的处理。详细而言,区块生成部140首先获取从验证担当的ECU发送的验证结果。例如,区块生成部140获取在三个以上的其它的车载ECU100中实施的验证结果。在验证结果至少包含有判断是否承认车载ECU100的可靠性的判断信息。
然后,区块生成部140基于获取的验证结果,在过半数的验证担当的ECU中承认了数据的可靠性的情况下,生成新区块BL,并连结该区块BL。在图2所示的例子中,基于DH_D(数据散列值)与BH_3(区块散列值)的组合的BLOCK4作为新区块连结到BLOCK3之后。区块生成部140在未在过半数的验证担当的ECU中承认数据的可靠性的情况下,中断区块BL的连结。
散列保存处理部150在特定的定时将区块散列值BH保存于安全存储器TS。散列保存处理部150例如将车辆A的驱动源的停止定时作为保存的定时。此时,散列保存处理部150将在上一次的停止定时保存的区块散列值BH更新为新的区块散列值BH。在图3所示的例子中,根据上一次的停止定时的最终区块亦即BLOCK2生成的区块散列值亦即BH_2更新为根据这次的停止定时的最终区块亦即BLOCK4生成的区块散列值亦即BH_4。散列保存处理部150例如在从车辆控制ECU20获取了能够判断驱动源的停止的信号(停止信号)的情况下,判断为停止定时。停止信号既可以是表示驱动源停止的状态的停止状态信号,也可以是指示驱动源的停止的停止指示信号。停止定时是“更新定时”的一个例子。
发送处理部160在区块链BC的生成或者车载ECU100的验证中,执行需要提供给其它的车载ECU100的信息的发送处理。具体而言,发送处理部160将事务、和根据该时刻下的区块链BC的最终区块生成的区块散列值BH发送给其它的车载ECU100。此外,以下,有将由该验证对象的ECU生成的区块散列值BH表述为对象区块散列值的情况。发送处理部160是“发送部”的一个例子。
区块散列保存处理部170在验证担当的ECU中,在驱动源的停止定时将区块散列值BH保存于安全存储器TS。区块散列保存处理部170既可以根据保存于自身的正常存储器US的区块链BC的最终区块生成区块散列值BH,也可以从验证对象的ECU获取区块散列值BH。此外,这里的“保存于自身的正常存储器US的区块链BC”是指从验证对象的ECU分散的区块链BC。
验证执行部180对验证对象的ECU的可靠性进行验证,生成是否承认的判断信息。验证执行部180获取从验证对象发送的新事务以及对象区块散列值,并基于这些信息、和自身保存的信息执行验证。验证执行部180生成基于保存于自身的安全存储器TS的区块散列值BH亦即担当区块散列值、和从验证对象获取的新事务的数据散列值(担当数据散列值)。
作为一个例子,验证执行部180判定根据自身保存的区块链BC的最终区块生成的区块散列值(担当区块散列值)与对象区块散列值是否一致。若判定为一致,则验证执行部180生成承认验证对象的可靠性的主旨的判断信息。另一方面,若判定为不一致,则验证执行部180生成不承认验证对象的可靠性的主旨的判断信息。验证执行部180将生成的判断信息发送给验证对象以及验证担当的ECU。
区块保存处理部190获取从其它的验证担当的ECU发送的验证结果。区块保存处理部190在过半数的验证担当的ECU中承认了数据的可靠性的情况下,根据从验证对象的ECU获取的事务与保存于自身的安全存储器TS的区块散列值BH生成数据散列值。区块保存处理部190通过该数据散列值、和根据自身的区块链BC中的最终区块生成的区块散列值BH生成区块,并连结于正常存储器US的区块链BC进行保存。由此,区块保存处理部190能够保持从验证对象的ECU分散的区块链BC。
此外,区块保存处理部190也可以从验证对象的ECU获取该新区块BL。区块保存处理部190在未在过半数的验证担当的ECU中承认数据的可靠性的情况下,中断区块BL的连结。
接下来,以下根据图4~5对通过功能模块的合作由车载ECU100执行的数据保存方法的流程进行说明。此外,在后述的流程中“S”是指通过程序所包含的多个命令执行的流程的多个步骤。
首先,参照图4对数据保存处理中基于验证对象的ECU获取的数据生成区块链BC的处理进行说明。首先,在S110中,数据块制成部110生成基于获取的数据的事务。接下来,在S120中,数据散列生成部120基于事务生成数据散列值。
接着在S130中,区块散列生成部130基于最终区块生成区块散列值BH。然后,在S140中,发送处理部160将最终区块的区块散列值BH和新事务发送给验证担当的ECU。然后,在S150中,区块生成部140判定是否对新区块BL的连结形成了多数表决同意。若判定为形成了同意,则本流程移至S160。在S160中,区块生成部140生成新区块BL并与区块链BC连结。在S160的处理后,本流程返回到S110。
另一方面,若在S150中判定为未形成同意,则本流程移至S170。在S170中,区块生成部140中止新区块BL的生成,本流程结束。
接下来,根据图5对数据保存处理中对数据的可靠性进行验证的处理进行说明。首先,在S210中,区块散列生成部130判定车辆A的驱动源是否停止。在判定为未停止的情况下,进行待机直至判定为停止为止。另一方面在判定为停止的情况下,在S220中,区块散列生成部130根据最终区块生成区块散列值BH。接下来,在S230中,散列保存处理部150将生成的区块散列值BH保存于安全存储器TS,更新上次保存的区块散列值BH。
接下来在S240中,数据散列生成部120判定车辆A的驱动源是否启动。在判定为未启动的情况下,进行待机直至判定为启动为止。另一方面在判定为启动的情况下,在S250中,数据块制成部110制成新事务。接着在S255中,数据散列生成部120生成基于保存于安全存储器TS的区块散列值BH和新事务的新数据散列值。然后,在S260中,发送处理部160将生成的新事务以及最终区块的区块散列值BH发送给验证担当的ECU。
然后,在S270中,区块生成部140基于来自各车载ECU的判断信息判定是否形成了多数表决同意。在判定为形成了多数表决同意的情况下,在S280中,区块生成部140生成新区块BL并追加到区块链BC。此外,在执行了S280的处理之后,开始图4所示的区块链生成处理即可。另一方面,在S270中判定为未形成多数表决同意的情况下,在S290中,区块生成部140中止新区块BL的生成。
接下来,根据图6对数据保存处理中由验证担当的ECU执行的处理进行说明。在车载ECU100的启动中执行图6所示的处理。
首先,在S310中,区块保存处理部190判定车辆A的驱动源是否停止。在判定为未停止的情况下,进行待机直至判定为停止为止。另一方面在判定为停止的情况下,在S320中,区块散列保存处理部170根据从验证对象的ECU分散的区块链BC的最终区块生成区块散列值BH。接下来,在S330中,区块散列保存处理部170将生成的区块散列值BH保存于安全存储器TS,更新上次保存的区块散列值。
接着在S340中,验证执行部180判定车辆A的驱动源是否启动。在判定为未启动的情况下,进行待机直至判定为启动为止。另一方面在判定为启动的情况下,在S350中,验证执行部180从验证对象的ECU获取新事务以及数据散列值。
然后,在S360中,验证执行部180判定是否承认验证对象的ECU。若判定为承认,则在S361中,验证执行部180向其它的车载ECU100发送承认新的区块BL的追加的主旨的判断信息。
另一方面,若在S360中判定为数据散列值不一致,则在S362中,验证执行部180向其它的车载ECU100发送不承认新的区块BL的追加的主旨的判断信息。接下来的S370、S380、S390的处理与图5中的S270、S280、S290的处理相同。通过区块保存处理部190执行S370、S380、S390的处理。
此外,上述的S140、S150是“区块生成工序”的一个例子,S210、S220、S230是“保存处理工序”的一个例子,S120、S255是“数据散列生成工序”的一个例子,S160、S260是“发送工序”的一个例子。
根据以上的第一实施方式,在每个特定的更新定时,更新保存于存储器区域的最终区块散列值。在由于假冒的车载ECU的安装等而篡改了数据的情况下,由于最终区块散列值以及新数据散列值与本来的值不同,所以能够基于这些值的至少一方验证篡改的有无。并且,由于这些值在每个更新定时进行变化,所以即使上次以前的更新定时的这些值泄漏,也能够检查篡改。根据以上,能够使数据的篡改变得困难。
另外,根据第一实施方式,对三个以上的其它的车载ECU100发送新数据以及新数据散列值作为验证信息。而且,在判断为在三个以上的其它的车载ECU100中取得了多数表决同意的情况下,生成基于新数据散列值以及区块散列值BH的新区块BL,并与区块链BC连结。据此,由于根据三个以上的其它的车载ECU100中的多数表决同意判断可靠性,所以与由两个以下的其它的车载ECU100判断可靠性的情况相比,可靠性确保的准确性增大。
除此之外,根据第一实施方式,在车辆A的驱动源的停止定时,更新保存于安全存储器TS的最终区块散列值。因此,能够在进入安装假冒的车载ECU的可能性比较高的车辆A的停止期间的定时更新最终区块散列值。因此,能够更可靠地使假冒的车载ECU100的篡改变得困难。
(第二实施方式)
在第二实施方式中,对第一实施方式中的车载ECU100的变形例进行说明。在图7以及图8中附加了与第一实施方式的附图中相同的附图标记的构成要素是相同的构成要素,起到相同的作用效果。
第二实施方式的数据散列生成部120在新数据散列值的生成中除了区块散列值BH之外还利用预先设定的密钥信息。密钥信息例如是对每个车载ECU100固有地赋予的识别信息亦即MAC地址MA。MAC地址MA保存于正常存储器US。或者,密钥信息也可以是在车载ECU100的制造时预先设定的任意的密钥值。数据散列生成部120通过合成新事务、区块散列值BH以及MAC地址MA并输入到散列函数,来得到新数据散列值。数据散列生成部120在判定驱动源的启动而生成新事务之后,执行以上的处理(S256)。
根据第二实施方式的车载ECU100,在新数据散列值的生成中进一步利用预先设定的密钥信息。因此,能够使假冒的车载ECU所引起的假冒的新数据散列值的生成变得更困难。因此,能够更可靠地辨别假冒的车载ECU所引起的篡改。
(其它的实施方式)
该说明书中的公开并不限定于例示的实施方式。公开包含例示的实施方式、和基于这些实施方式的本领域技术人员的变形方式。例如,公开并不限定于在实施方式中示出的部件以及/或者要素的组合。能够通过多种组合实施公开。公开能够具有能够追加到实施方式的追加的部分。公开包含省略了实施方式的部件以及/或者要素后的实施方式。公开包含一个实施方式与其它的实施方式之间的部件以及/或者要素的置换、或者组合。公开的技术范围并不限定于实施方式的记载。应该理解公开的一些技术范围由权利要求书的记载示出,并且包含与权利要求书的记载同等的意思以及范围内的全部的变更。
在上述的实施方式中,车载ECU100保存驾驶员的操作历史数据HD作为获取数据,但也可以保存操作历史数据HD以外的数据。例如,车载ECU100也可以保存车辆A的行驶距离、行驶路径以及行驶举动等。
在上述的实施方式中,散列保存处理部150在获取了能够判断驱动源的停止的停止信号的情况下,判断为停止定时。也可以代替该情况,而散列保存处理部150在从停止信号的获取起经过了规定的时间的情况下判断为停止定时。或者,散列保存处理部150也可以在获取停止信号并且车辆A的电源开关(点火开关等)断开的情况下,判断为停止定时。
在上述的实施方式中,车载ECU100在车辆A的驱动源的停止定时更新安全存储器TS的区块散列值BH。也可以代替该情况,而车载ECU100每隔恒定时间执行区块散列值BH的更新。或者,车载ECU100也可以每当生成新区块则更新区块散列值BH。另外,车载ECU100也可以在车辆A的档位设置为驻车档的定时更新区块散列值BH,也可以在从服务器接受了指示信号的定时更新区块散列值BH。
在上述的实施方式中,验证对象的ECU对三个以上的验证担当的ECU发送新事务以及新数据散列值。也可以代替该情况,而验证对象的ECU向两个以下的验证担当的ECU发送新事务以及新数据散列值。该情况下,通过多数表决同意以外的方法进行验证对象的ECU的承认即可。
在上述的实施方式中,车载ECU100执行数据保存处理。也可以代替该情况,而由搭载于车辆A以外的移动体的数据保存装置执行数据保存处理。移动体包含有船舶、飞机、铁路车辆等。
在上述的实施方式中,区块生成部140生成基于数据散列值和区块散列值的组合的区块BL。也可以代替该情况,而区块生成部140生成基于事务和区块散列值的组合的区块BL。或者,区块生成部140也可以生成基于事务、数据散列值以及区块散列值的组合的区块BL。
在上述的实施方式中,数据散列生成部120每当生成事务,则将合成了区块散列值和事务后的数据转换为数据散列值。也可以代替该情况,而数据散列生成部120构成为在紧接驱动源启动之后以外,仅将事务转换为数据散列值,在紧接驱动源启动之后,将合成了区块散列值和事务后的数据转换为数据散列值。
在上述的实施方式中,发送处理部160将事务和区块散列值发送给验证担当的ECU。也可以代替该情况,而发送处理部160发送事务和根据该事务生成的数据散列值。
车载ECU100也可以是包含数字电路以及模拟电路中至少一方作为处理器构成的专用的计算机。这里,特别是数字电路例如是ASIC(Application Specific IntegratedCircuit:专用集成电路)、FPGA(Field Programmable Gate Array:现场可编程门阵列)、SOC(System on a Chip:系统级芯片)、PGA(Programmable Gate Array:可编程门阵列)、以及CPLD(Complex Programmable Logic Device:复杂可编程逻辑器件)等中至少一种。另外这样的数字电路也可以具备储存了程序的存储器。
能够通过一个计算机、或者通过数据通信装置链接的一组计算机资源提供车载ECU100。例如,也可以通过其它的ECU实现上述的实施方式中的车载ECU100提供的功能的一部分。
Claims (9)
1.一种数据保存装置,是搭载于移动体(A),规定正常世界(NW)以及限制从上述正常世界的访问的安全世界(SW),并使用区块链(BC)保存在上述移动体中获取的获取数据的数据保存装置,具备:
区块生成部(140),至少基于根据紧前面的区块生成的区块散列值生成与上述区块链连结的新区块;
保存处理部(150),通过在每个特定的更新定时将基于连结在上述区块链的最后的最终区块的最终区块散列值保存于上述安全世界的存储器区域(TS),来更新在上次的上述更新定时保存的上述最终区块散列值;以及
数据散列生成部(120),至少在每个上述更新定时生成数据散列值,该数据散列值是基于上述获取数据和上述最终区块散列值的散列值。
2.根据权利要求1所述的数据保存装置,其中,
还具备发送部(160),该发送部对搭载于上述移动体的三个以上的其它的信息处理装置发送用于使其验证是否可以在上述区块链连结上述新区块的验证信息,
上述区块生成部在判断为在三个以上的上述信息处理装置中对上述新区块的连结取得了多数表决同意的情况下,将上述新区块连结到上述区块链。
3.根据权利要求1或者权利要求2所述的数据保存装置,其中,
上述保存处理部在上述移动体中的驱动源的停止定时,执行上述最终区块散列值的更新。
4.根据权利要求1~3中任意一项所述的数据保存装置,其中,
上述数据散列生成部在上述数据散列值的生成中进一步利用预先设定的密钥信息。
5.一种数据保存方法,是搭载于上述移动体(A),为了规定正常世界(NW)以及限制从上述正常世界的访问的安全世界(SW),并使用区块链(BC)保存在移动体中获取的获取数据,而由处理器(102)执行的数据保存方法,包含:
区块生成工序(S140、S150),至少基于根据紧前面的区块生成的区块散列值生成与上述区块链连结的新区块;
保存处理工序(S210、S220、S230),通过在每个特定的更新定时,将基于连结在上述区块链的最后的最终区块的最终区块散列值保存于上述安全世界的存储器区域(TS),来更新在上次的上述更新定时保存的上述最终区块散列值;以及
数据散列生成工序(S120、S255),至少在每个上述更新定时生成数据散列值,该数据散列值是基于上述获取数据和上述最终区块散列值的散列值。
6.根据权利要求5所述的数据保存方法,其中,
还包含发送工序(S160、S260),在该发送工序中,对搭载于上述移动体的三个以上的其它的信息处理装置发送用于使其验证是否可以在上述区块链连结上述新区块的验证信息,
在上述区块生成工序中,在判断为在三个以上的上述信息处理装置中对上述新区块的连结取得了多数表决同意的情况下,将上述新区块连结到上述区块链。
7.根据权利要求5或者权利要求6所述的数据保存方法,其中,
在上述保存处理工序中,在上述移动体中的驱动源的停止定时,执行上述最终区块散列值的更新。
8.根据权利要求5~7中任意一项所述的数据保存方法,其中,
在上述数据散列生成工序中,在上述数据散列值的生成中进一步利用预先设定的密钥信息。
9.一种数据保存程序,是搭载于移动体(A),包含为了规定正常世界(NW)以及限制从上述正常世界的访问的安全世界(SW),并使用区块链(BC)保存在上述移动体中获取的获取数据,而使处理器(102)执行的命令的数据保存程序,其中,
上述命令包含:
区块生成工序(S140、S150),使处理器至少基于根据紧前面的区块生成的区块散列值生成使其与上述区块链连结的新区块;
保存处理工序(S210、S220、S230),通过使处理器在每个特定的更新定时,将基于连结在上述区块链的最后的最终区块的最终区块散列值保存于上述安全世界的存储器区域(TS),来更新在上次的上述更新定时保存的上述最终区块散列值;以及
数据散列生成工序(S120、S255),使处理器至少在每个上述更新定时生成数据散列值,该数据散列值是基于上述获取数据和上述最终区块散列值的散列值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-216399 | 2020-12-25 | ||
JP2020216399A JP7472781B2 (ja) | 2020-12-25 | 2020-12-25 | データ保存装置、データ保存方法、およびデータ保存プログラム |
PCT/JP2021/042863 WO2022137945A1 (ja) | 2020-12-25 | 2021-11-23 | データ保存装置、データ保存方法、およびデータ保存プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116710917A true CN116710917A (zh) | 2023-09-05 |
Family
ID=82159075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180086419.1A Pending CN116710917A (zh) | 2020-12-25 | 2021-11-23 | 数据保存装置、数据保存方法、以及数据保存程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230336356A1 (zh) |
JP (1) | JP7472781B2 (zh) |
CN (1) | CN116710917A (zh) |
WO (1) | WO2022137945A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230032451A1 (en) * | 2021-07-28 | 2023-02-02 | Toyota Jidosha Kabushiki Kaisha | Center, method, and non-transitory storage medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018133744A (ja) | 2017-02-16 | 2018-08-23 | パナソニックIpマネジメント株式会社 | 通信システム、車両、および監視方法 |
KR102151907B1 (ko) | 2019-04-03 | 2020-09-03 | 알리바바 그룹 홀딩 리미티드 | 신뢰 실행 환경 하에서의 블록체인 데이터의 처리 및 저장 |
JP7176488B2 (ja) * | 2019-07-08 | 2022-11-22 | 株式会社デンソー | データ保存装置、及びデータ保存プログラム |
-
2020
- 2020-12-25 JP JP2020216399A patent/JP7472781B2/ja active Active
-
2021
- 2021-11-23 WO PCT/JP2021/042863 patent/WO2022137945A1/ja active Application Filing
- 2021-11-23 CN CN202180086419.1A patent/CN116710917A/zh active Pending
-
2023
- 2023-06-21 US US18/339,113 patent/US20230336356A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230032451A1 (en) * | 2021-07-28 | 2023-02-02 | Toyota Jidosha Kabushiki Kaisha | Center, method, and non-transitory storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20230336356A1 (en) | 2023-10-19 |
JP2022101967A (ja) | 2022-07-07 |
WO2022137945A1 (ja) | 2022-06-30 |
JP7472781B2 (ja) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11748474B2 (en) | Security system and methods for identification of in-vehicle attack originator | |
US10723361B2 (en) | Monitoring apparatus, communication system, vehicle, monitoring method, and non-transitory storage medium | |
CN108363347B (zh) | 用于电子控制单元的硬件安全 | |
CN108762783B (zh) | 车辆系统的软件更新方法、装置及车辆系统 | |
US10049232B2 (en) | Rewrite detection system, rewrite detection device and information processing device | |
JP2021149964A (ja) | リモートコンピューティングデバイス上に存在するソフトウェアの検証 | |
CN110989564B (zh) | 一种汽车数据诊断方法及装置 | |
US10237899B2 (en) | Wireless terminal and instruction processing method thereof | |
US20230336356A1 (en) | Data storage device, data storage method, and non-transitory computer readable storage medium | |
US11935341B2 (en) | Data storage device and non-transitory tangible computer readable storage medium | |
US20120110654A1 (en) | Secure connection systems and methods for vehicles | |
US11510051B2 (en) | Devices, methods, and computer program for releasing transportation vehicle components, and vehicle-to-vehicle communication module | |
US11956369B2 (en) | Accelerated verification of automotive software in vehicles | |
US10997799B2 (en) | Method and apparatus for leveraging wireless connectivity for pre-service preparation in service lanes | |
Apvrille et al. | Design and verification of secure autonomous vehicles | |
Rumez et al. | Security hardening of automotive networks through the implementation of attribute-based plausibility checks | |
US20230306101A1 (en) | System, vehicle, and method | |
US20230205887A1 (en) | Secure automotive system | |
CN112994876B (zh) | 车载控制器密钥注入检测方法、注入方法及可读存储介质 | |
WO2023074072A1 (ja) | データ保存システム、移動体、及びデータ保存プログラム | |
EP4198788A1 (en) | Method and device for checking an integrity of data stored in a non-volatile memory of an electronic control unit of an vehicle | |
US20220385659A1 (en) | Vehicle authentication control apparatus, vehicle control system, vehicle, and vehicle authentication processing method | |
WO2023232045A1 (zh) | 车辆校验方法、相关装置及系统 | |
CN117240459A (zh) | 密码运算方法、密码运算模块、芯片及电子设备 | |
CN117774852A (zh) | 针对基于分布式计算系统的机动车辆测试生成审计记录 |
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 |