一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信息处理装置及程序启动方法与流程

2022-10-26 22:58:45 来源:中国专利 TAG:

信息处理装置及程序启动方法
基于参考的并入
1.本技术主张令和2年(2020年)2月28日申请的日本技术特愿2020-33870的优先权,其内容通过参考并入本技术。
技术领域
2.本发明涉及信息处理装置和控制装置,尤其涉及程序的启动方法。


背景技术:

3.作为程序更新失败时的恢复对策,正在研究以具备能保持相同种类的程序的两个存储区域的装置为对象而仅更新一个存储区域的程序的程序更新技术。具体而言,具备存储器区域,所述存储器区域包含执行程序的启动区域和不执行程序的待机区域,更新待机区域内储存的程序,在程序更新完成后调换启动区域与待机区域,以如此方式来更新启动信息。由此,构成为在程序的更新万一失败的情况下不会对非更新对象的启动区域产生影响。
4.此外,在程序的更新中,优选对更新用程序正确这一情况也就是未被非法篡改这一情况进行验证。例如,专利文献1(日本专利特开2017-21434号公报)中记载了一种信息处理装置,其中,第1验证部验证升级用软件及版本号的有效性,回滚检测部对升级用软件的版本号与计数器部所保持的当前软件的版本号进行比较,检测升级用软件的版本是否较新,在判断升级用软件的版本较新的情况下,升级部使用升级用软件对软件进行更新,第2验证部验证软件的更新是否成功,版本管理部仅在第2验证部成功更新软件的情况下使计数器部所保持的版本号增加至与升级用软件的版本号一致。根据这样的专利文献1的技术,能将现有程序更新为未被篡改的最新的程序。


技术实现要素:

发明要解决的问题
5.专利文献1记载的技术在更新时会验证程序,但在程序更新后也存在受到网络攻击的影响的可能,在漏洞被恶意使用的情况下,程序有可能被非法篡改。
6.作为在程序的启动时验证该程序的完整性的技术,安全启动已普及开来。然而,程序的更新会使得启动区域信息发生变化,由于无法事先掌握信息处理装置的启动区域,所以无法验证启动区域信息未被篡改这一情况。如果能针对信息处理装置而确认当前的启动区域,则能事先掌握启动区域,但在成为对象的信息处理装置达到数百万台规模的情况下,程序更新作业需要各信息处理装置的事先管理,从而导致运用负担增大,并不现实。
7.本发明是鉴于以上问题而成,其目的在于在信息处理装置启动时担保程序是最新的同时保证要启动的程序及启动区域信息未被篡改、降低程序的更新作业人员的运用负担。解决问题的技术手段
8.本技术中揭示的发明的代表性的一例展示如下。即,一种信息处理装置,其执行程序,其特征在于,具备:存储部,其包含以可重写的方式储存版本不一样的同类程序的第1区域和第2区域;以及运算部,其执行所述存储部中储存的程序,所述第1区域及所述第2区域各自储存有所述程序和该程序的新旧相关的最新性信息,根据与应更新的程序一同接收到的最新性信息来判定是否利用该程序对所述存储部进行更新,启动所述各区域内储存的程序当中所述最新性信息较新的程序。发明的效果
9.根据本发明,可以借助最新性信息来担保程序的最新性,从而能在启动时选定储存有最新的程序的区域而启动该程序。前文所述以外的课题、构成以及效果将通过以下实施例的说明来加以明确。
附图说明
10.图1为表示本发明的实施例的信息处理装置的构成的图。图2为表示本发明的实施例的信息处理装置中的程序更新的概要处理流程的图。图3为表示本发明的实施例的信息处理装置中的程序启动的概要处理流程的图。图4为表示本发明的实施例的更新用程序关联数据的数据结构的图。图5为表示本发明的实施例的数据结构的图。图6为表示本发明的实施例的存储区域的概要的图。图7为表示本发明的实施例的验证对象范围信息的数据结构的图。图8为表示本发明的实施例的更新用程序包的数据结构的图。
具体实施方式
11.下面,一边参考附图,一边对本发明的实施例进行详细说明。
12.作为本发明的实施例,对以连接于车载网络的信息处理装置(例如控制车辆的electric control unit)为对象的程序的启动方法的例子进行说明。但本发明的技术思想并不限定于该例。例如,只要是具有启动中区域和待机中区域这一双面构成而对程序进行更新的信息处理装置,则也可将本发明运用于车辆控制装置以外(例如康护设备)而不是车载控制装置(ecu)。
13.图1为表示本发明的实施例的信息处理装置的构成的图。信息处理装置1经由通信总线2连接于其他信息处理装置3。其中,通信总线2在物理上可由多条通信总线构成,这些通信总线的规格可相同也可不同。这些通信总线的规格可以使用can(注册商标)、lin(注册商标)、flexray(注册商标)、以太网(注册商标)等。下面是对信息处理装置1进行说明,而信息处理装置3也具有相同构成。
14.信息处理装置1具有未图示的cpu、未图示的rom以及未图示的ram,通过由cpu将rom中储存的程序展开到ram中并加以执行来实现以下功能。即,信息处理装置1具有最新性信息验证部12、验证期待值验证部13、程序更新部14、启动关联信息验证部15、启动区域确定部16、启动区域信息更新部17以及程序执行部18作为其功能。此外,信息处理装置1具有作为非易失性存储装置的存储部19以及为通信接口、进行通信所需的运算的通信部11。
15.通信部11经由通信总线2接收从其他信息处理装置3发送的报文,并经由通信总线
2向其他信息处理装置3发送报文。如前文所述,通信总线2在物理上可由多条通信总线构成。信息处理装置1使用通信部11来收发程序更新所需的信息。最新性信息验证部12对信息处理装置1所保持的最新性信息与更新用程序关联数据中包含的最新性信息进行比较,判定哪一者为新的最新性信息。验证期待值验证部13验证更新用程序关联数据有无篡改。程序更新部14将待机区域更新为更新用程序关联数据。启动关联信息验证部15验证包含成为验证对象的程序以及最新性信息等的规定的启动关联信息有无篡改。启动区域确定部16对各区域的最新性信息进行比较,将保持新的最新性信息的区域确定为启动区域。启动区域信息更新部17将由启动区域确定部16确定的区域更新为后文叙述的启动区域信息191。在由所述启动关联信息验证部15判定启动区域信息191未被篡改的情况下,程序执行部18执行相应启动区域的程序。
16.存储部19中存储启动区域信息191及验证对象范围信息192,所述启动区域信息191表示保持启动时加以执行的程序的存储区域,所述验证对象范围信息192表示启动关联信息验证部15的验证对象范围。
17.图2为信息处理装置1对程序进行更新的处理的流程图。以下所说明的各步骤的执行主体为信息处理装置1的未图示的cpu。
18.在步骤201中,信息处理装置1使用通信部11来接收更新用程序关联数据。
19.图4展示步骤201中信息处理装置1所接收的更新用程序关联数据401的例子。控制装置4的程序是以图示的更新用程序关联数据401形式的包从服务器发送。更新用程序关联数据401包含程序402、最新性信息403以及验证期待值404,所述程序402在信息处理装置1中加以执行,所述最新性信息403与该程序402相关联,所述验证期待值404供验证期待值验证部13在验证该程序402有无篡改时加以参考。例如,更新用程序关联数据401的制作者或制作工具将制作该更新用程序关联数据401时的日期时间信息作为最新性信息403,将使用程序402和最新性信息403的签名生成结果作为验证期待值404。再者,验证期待值404可为使用dsa、ecdsa、rsa等公钥加密技术生成的签名值,也可为使用aes-cmac之类的对称密钥加密技术生成的mac(message authentication code)的值,也可为哈希值或校验和。
20.在步骤202中,最新性信息验证部12从步骤201中接收到的更新用程序关联数据401获取最新性信息403,并将获取到的最新性信息403与信息处理装置1所保持的最新性信息进行比较。
21.在步骤203中,在最新性信息验证部12于步骤202中的比较结果为从在步骤201中接收到的更新用程序关联数据401获取到的最新性信息403较新的情况下,前进至步骤204,在不新的情况下,前进至步骤208。例如,在使用日期时间信息作为最新性信息的情况下,在从更新用程序关联数据401获取到的最新性信息403的值为“2019年12月1日12时45分52秒”、信息处理装置1所保持的最新性信息为“2019年11月20日20时30分35秒”时,判定接收到的最新性信息403较新。另外,也可使用递增的计数器或者保证一次性随机数的值作为最新性信息,在该情况下,判定表现出更大值的一方较新。
22.在步骤204中,验证期待值验证部13使用步骤201中接收到的更新用程序关联数据401中包含的程序402和最新性信息403,通过规定的验证期待值验证算法来算出验证期待值,并验证该算出的验证期待值是否与更新用程序关联数据401中包含的验证期待值404一致。
23.在步骤205中,在验证期待值验证部13于步骤204中算出的验证期待值与验证期待值404一致的情况下,前进至步骤206,在不一致的情况下,前进至步骤208。
24.在步骤206中,启动区域确定部16参考启动区域信息191而确定当前的启动区域,将待机区域确定为应更新程序的更新相应区域。
25.图5展示步骤206中启动区域确定部16为了确定存储部19的各区域是否为启动区域而加以参考的启动区域信息191的例子。启动区域信息191包含与应更新程序的装置相对应的存储部19的存储区域501以及表示启动区域和待机区域的标识符502。例如,区域1(a面)为“启动”、区域2(b面)为“待机”的情况表示当前的启动区域为区域1(a面)。再者,可像图示那样将表示各区域为启动区域还是待机区域的信息登记在标识符502中,也可将表示各区域的a面或b面中的哪一个为启动区域的信息登记在标识符502中,也可将表示各区域的a面或b面中的哪一个为待机区域的信息登记在标识符502中。
26.在步骤207中,程序更新部14使用更新用程序关联数据401对步骤206中确定的更新相应区域进行更新。例如,程序更新部14在对步骤206中确定为更新相应区域的区域2(b面)进行更新的情况下,将地址601中的与区域2(b面)相关联的存储器重写为新的更新用程序关联数据。
27.图6展示步骤207中成为程序更新对象的存储区域的例子。地址601表示分配给存储区域的开头的地址值,类别602表示从该地址601开始的存储区域的类别,更新对象603表示从地址601开始的存储区域是否为更新对象。例如,程序更新部14在对步骤206中确定为更新相应区域的区域2(b面)进行更新的情况下,将类别602当中从与b面相关联的地址601开始的区域作为更新对象而在从该地址开始的区域内以更新用程序关联数据进行重写。
28.在步骤203中没有保证最新性的情况或者步骤205中签名验证失败的情况下,信息处理装置1在步骤208中执行规定的错误处理。
29.通过以上步骤,能够更新连接于车载网络的信息处理装置1的程序。
30.图3为表示信息处理装置1启动程序的处理的流程图。以下所说明的各步骤的执行主体为信息处理装置1的未图示的cpu。
31.在步骤301中,启动关联信息验证部15参考验证对象范围信息192而确定要在启动时验证有无篡改的对象。尤其是除了要启动的程序以外还将储存该程序的区域的最新性也作为验证对象。
32.图7展示步骤301中启动关联信息验证部15为了确定验证对象范围而加以参考的验证对象范围信息192的例子。验证对象范围信息192包含地址701、类别702以及验证对象703,所述地址701表示分配给存储区域的开头的地址,所述类别702表示从该地址开始的存储区域的类别,所述验证对象703表示从该地址701开始的存储区域是否为验证对象。例如,启动关联信息验证部15将验证对象703为“对象”的地址701“0x0050c000”之后的规定范围的存储区域作为验证对象。再者,各存储区域的验证对象范围可预先决定好,也可根据规定手续来动态地加以变更。例如,也可将程序实际所使用的范围作为验证对象范围。
33.在步骤302中,启动关联信息验证部15验证步骤301中确定的验证对象有无篡改。若利用验证对象区域内储存的数据算出的验证期待值与步骤207中写入到存储区域的验证期待值404一致,则可以判定验证对象区域未被篡改。验证处理中使用的验证期待值可为使用aes-cmac之类的对称密钥加密技术生成的mac的值,也可为使用ecdsa、rsa等公钥加密技
术生成的签名值,也可为哈希值或校验和。
34.在步骤303中,在启动关联信息验证部15于步骤302中的验证结果表现出一致的情况下,前进至步骤304,在验证结果未表现出一致的情况下,前进至步骤307。
35.在步骤304中,启动区域确定部16获取各存储区域内储存的最新性信息403,确定最新的值的区域。
36.在步骤305中,启动区域信息更新部17将步骤304中确定的保持最新的最新性信息403的存储区域501作为“启动区域”、将不保持最新的最新性信息403的存储区域501作为“待机区域”而更新启动区域信息191。
37.在步骤306中,程序执行部18执行步骤305中被定为启动区域的存储区域内储存的程序。
38.在步骤303中验证结果未表现出一致的情况下,信息处理装置1在步骤307中执行规定的错误处理。
39.再者,在图3所示的流程图中,是在比较最新性信息(304)并更新启动区域信息191(305)之前验证启动区域(302、303),但也可在比较最新性信息(304)并更新启动区域信息191(305)之后验证启动区域(302、303)。即,在步骤305与步骤306之间执行步骤302及303的处理。如此一来,验证范围变窄,能够高速地启动程序。另一方面,图3所示的形态中是将待机区域与启动区域一并加以验证,而前文所述的变形例中不验证待机区域而留作未验证区域。因此,宜将未验证区域的程序以使其不启动的方式加以锁定。
40.通过以上步骤,能以连接于车载网络的信息处理装置1为对象来安全地启动程序。
41.在本实施例中,对程序更新时的验证中使用的验证期待值与程序启动时的验证中使用的验证期待值使用相同值的情况进行了说明。另一方面,在步骤207中,在更新用程序关联数据401中包含的验证期待值404视为对象的验证范围与信息处理装置在启动时实施的启动关联信息的验证范围不一致的情况下,宜将程序更新用的验证期待值和程序启动用的验证期待值两者包含在更新用程序关联数据401中。具体而言,在步骤204中的程序更新时的验证处理中,将程序更新用验证期待值804用作验证期待值,在步骤302中的程序启动时的验证处理中,将启动用验证期待值807用作验证期待值。
42.图8展示程序更新用的验证期待值与程序启动用的验证期待值不一样的情况下的更新用程序包801的例子。
43.更新用程序包801包含更新用程序关联数据802、程序更新用最新性信息803以及程序更新用验证期待值804,更新用程序关联数据802包含程序805、启动用最新性信息806以及启动用验证期待值807。更新用程序关联数据802用于在步骤207中供程序更新部14对待机区域进行重写。程序更新用最新性信息803是在更新用程序包801的制作时生成,用于在步骤202中供最新性信息验证部12对最新性信息进行验证。程序更新用验证期待值804是在更新用程序包801的制作时生成,用于在步骤204中供验证期待值验证部13对更新用程序进行验证。启动用最新性信息806是在程序805的制作时生成,在步骤303中供启动区域确定部16参考,以确定保持新的最新性信息的区域。启动用验证期待值807是在程序805的制作时生成,在步骤302中用作启动关联信息验证部15验证成为验证对象的区域有无篡改用的验证期待值。
44.如以上所说明,根据本发明的实施例1,在程序启动时,除了要执行的程序以外,还
能验证表示要启动的区域的启动区域信息191有无篡改。此外,程序更新作业人员无须注意信息处理装置1中保持的最新性信息,只要赋予更新用程序关联数据的生成时间点的最新性信息即可。由此,每当启动时,能够担保信息处理装置1的安全性,而且能抑制程序更新作业人员的运用负担。
45.如以上所说明,本发明的实施例的信息处理装置1具备:存储部19,其包含以可重写的方式储存版本不一样的同类程序的第1区域和第2区域;以及运算部(cpu),其执行存储部19中储存的程序,第1区域及第2区域各自储存有程序和与该程序的新旧相关的最新性信息,根据与应更新的程序一同接收到的最新性信息来判定是否利用该程序对存储部19进行更新,启动多个区域内储存的程序当中最新性信息较新的程序,所以能借助最新性信息来担保程序的版本。即,在启动时可以选定储存有最新的程序的区域而启动该程序。
46.此外,第1区域及第2区域各自还储存有用于验证各区域内储存的程序及最新性信息的验证期待值,信息处理装置1在程序的启动时使用验证期待值来验证该程序以及该程序的最新性信息,若该验证成功,则认为可以启动该程序,所以能将最新性信息也包括在内来保证要启动的程序未被篡改。
47.此外,第1区域及第2区域中,一方为执行程序的启动区域,另一方为更新程序的待机区域,所以能在不停止信息处理装置1的情况下更新程序。
48.此外,程序被包含在包中并被发送至信息处理装置1,包带有该包的制作时生成的最新性信息,所以能针对每一包来判定最新性。
49.此外,程序被包含在包中并被发送至信息处理装置1,包带有该包或者该包中包含的程序的制作时生成的最新性信息和用于验证程序及最新性信息的验证期待值,信息处理装置1在程序的更新时及启动时使用验证期待值来验证所述包中包含的最新性信息,所以能在更新时和启动时使用一个验证期待值来判定程序有无篡改。
50.此外,程序被包含在包中并被发送至信息处理装置,包带有该包的制作时生成的更新用最新性信息和该包中包含的程序的制作时生成的启动用最新性信息,信息处理装置1在程序的更新时验证更新用最新性信息,在程序的启动时验证启动用最新性信息,所以,即便要更新的程序的范围与要启动的程序的范围不一样,也能在更新时和启动时判定程序有无篡改。
51.再者,本发明包含随附权利要求书的宗旨内的各种变形例及同等构成,并不限定于前文所述的实施例。例如,前文所述的实施例是为了以易于理解的方式说明本发明所作的详细说明,本发明并非一定限定于具备说明过的所有构成。此外,可将某一实施例的构成的一部分替换为其他实施例的构成。此外,也可对某一实施例的构成加入其他实施例的构成。此外,也可对各实施例的构成的一部分进行其他构成的追加、删除、替换。
52.此外,前文所述的各构成、功能、处理部、处理方法等例如可通过利用集成电路进行设计等而以硬件来实现它们的一部分或全部,也可通过由处理器解释并执行实现各功能的程序而以软件来实现。
53.实现各功能的程序、表格、文件等信息可以储存在存储器、硬盘、ssd(solid state drive)等存储装置或者ic卡、sd卡、dvd、bd等记录介质中。
54.此外,控制线和信息线展示的是认为说明上需要的部分,未必展示了实施所需的所有控制线和信息线。实际上,可认为几乎所有构成都相互连接在一起。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献