车载ECU、程序及信息处理方法与流程

未命名 07-15 阅读:84 评论:0

车载ecu、程序及信息处理方法
技术领域
1.本公开涉及一种车载ecu、程序及信息处理方法。
2.本技术请求基于2020年11月12日提出申请的日本技术第2020-188815号的优先权,并援引所述日本技术所记载的全部记载内容。


背景技术:

3.在车辆中搭载有用于对发动机控制等的动力传动系统、空调控制等的车身系统等的车载设备进行控制的ecu(electronic control unit,电子控制单元)。ecu包括mpu等运算处理部、ram等可改写的非易失性存储部及用于与其他ecu通信的通信部,通过读取并执行在存储部中存储的控制程序来进行车载设备的控制。在执行该控制程序时,公知在启动ecu时验证控制程序的完整性且在该验证成功的情况下允许ecu的启动(boot)的安全启动方法(例如参照专利文献1)。
4.专利文献1在控制程序的完整性的验证中进行在失败次数超过规定值的情况下不启动存在问题的控制程序(软件)的失效保护。
5.现有技术文献
6.专利文献
7.专利文献1:日本特开2020-144531号公报


技术实现要素:

8.本公开的一个方式涉及一种车载ecu,搭载于车辆,具备:控制部,执行多个程序;验证部,当启动本ecu时进行所述多个程序各自的验证;第一存储区域,存储有所述多个程序的各自;以及第二存储区域,存储有与所述多个程序的各自对应的多个保存程序的各自,所述控制部执行所述验证部的验证为肯定的程序,所述控制部不执行所述验证部的验证为否定的程序而执行与所述否定的程序对应的保存程序。
附图说明
9.图1是例示包括实施方式1涉及的车载ecu的车载系统的结构的示意图。
10.图2是例示车载ecu的物理结构的框图。
11.图3是例示车载ecu的控制部的处理的流程图。
12.图4是例示实施方式2(将第二存储区域作为主存储器)涉及的车载ecu的控制部的处理的流程图。
13.图5是例示实施方式3(从外部服务器获取正规程序)涉及的车载ecu的控制部的处理的流程图。
14.图6是表示基于验证结果的程序集的分类的说明图。
15.图7是例示实施方式4(操作系统的验证)涉及的车载ecu的控制部的处理的流程图。
具体实施方式
16.[本公开要解决的课题]
[0017]
专利文献1的ecu存在如下的问题点:未考虑进行针对根据安全启动的验证结果而无法启动的程序的应对这一点。
[0018]
本公开的目的是提供能够进行针对无法启动的程序的应对的车载ecu等。
[0019]
[本公开的效果]
[0020]
根据本公开的一个方式,能够提供进行针对无法启动的程序的应对的车载ecu等。
[0021]
[本公开的实施方式的说明]
[0022]
首先,列举本公开的实施方式的内容来进行说明。另外,也可以任意地组合以下记载的实施方式中的至少一部分。
[0023]
(1)本公开的一个方式涉及一种车载ecu,搭载于车辆,具备:控制部,执行多个程序;验证部,当启动本ecu时进行所述多个程序各自的验证;第一存储区域,存储有所述多个程序的各自;以及第二存储区域,存储有与所述多个程序的各自对应的多个保存程序的各自,所述控制部执行所述验证部的验证为肯定的程序,所述控制部不执行所述验证部的验证为否定的程序而执行与所述否定的程序对应的保存程序。
[0024]
在本方式中,当启动车载ecu(electronic control unit)时,通过验证部来进行针对多个程序的验证,即,车载ecu进行使用该验证部的安全启动。在该安全启动中,即使在验证部针对第一存储区域中存储的程序的验证为否定的的情况下,与第一存储区域不同的第二存储区域存储有与该程序对应的保存程序,控制部也执行该保存程序。因此,即使在根据基于验证部的安全启动而第一存储区域中存储的任意的程序的验证结果为否定的情况下,也能够执行第二存储区域中存储的保存程序作为针对根据该安全启动的验证结果而无法启动的程序的应对(代替处理),能够实现车载ecu中的功能保全。控制部根据针对多个程序各自的验证结果来判定是否执行保存程序,因此,在仅多个程序中的一部分程序中为否定的验证结果的情况下,能够进行仅针对该否定的程序执行保存程序的局部性应对。因此,即使在该多个程序分类为与功能相应的多个功能区段的情况下,也能够进行与该功能区段相应的局部性应对。
[0025]
(2)本公开的一个方式涉及的车载ecu中,与所述程序对应的所述保存程序为所述程序的以前的版本即旧版本程序或将所述程序备份后的备份程序。
[0026]
在本方式中,在验证部针对程序的验证为否定的情况下,由控制部执行来代替该否定的程序的保存程序为该程序的以前的版本即旧版本程序或将该程序备份后的备份程序,具有动作实绩。因此,车载ecu能够通过执行该保存程序来发挥与无法执行的程序同等的功能。
[0027]
(3)本公开的一个方式涉及的车载ecu中,所述控制部在执行所述保存程序的情况下,将存储在所述第二存储区域中的所述保存程序向所述第一存储区域复制而覆写所述否定的程序,并将所述第一存储区域作为主存储器来执行所述保存程序。
[0028]
在本方式中,控制部将第二存储区域中存储的保存程序复制到第一存储区域而覆写否定的程序,并将该第一存储区域作为主存储器来执行保存程序。主存储器是包括当利用cpu等控制部执行程序时生成的进程所分配的存储器空间(存储器区域)在内的存储区域。因此,在控制部对进程的生成等中,能够在不变更对作为主存储器的第一存储区域的访
问方式(存储器控制)的情况下执行保存程序。
[0029]
(4)本公开的一个方式涉及的车载ecu中,所述控制部在执行所述保存程序的情况下,将存储有所述保存程序的所述第二存储区域作为主存储器来执行所述保存程序。
[0030]
在本方式中,控制部在执行保存程序的情况下,将存储有保存程序的第二存储区域作为主存储器来执行保存程序,因此,不需要将该保存程序复制到第一存储区域的处理,能够减少执行保存程序时的一系列处理所需要的时间(所需时间)。
[0031]
(5)本公开的一个方式涉及的车载ecu中,所述验证部进行所述程序及与该程序对应的所述保存程序的验证,在所述验证部针对所述程序及与该程序对应的所述保存程序的验证均为否定的情况下,所述控制部从所述车辆外的外部服务器获取与所述否定的程序相同种类的正规程序,并执行获取到的所述正规程序。
[0032]
在本方式中,验证部针对第一存储区域中存储的程序及第二存储区域中存储的与该程序对应的保存程序也进行验证,因此能够进一步提升安全启动的可靠性。即使程序及与该程序对应的保存程序均为否定的验证结果,控制部也执行从车辆外的外部服务器获取到的正规程序,因此能够实现车载ecu中的功能保全。
[0033]
(6)本公开的一个方式涉及的车载ecu中,所述控制部将获取到的所述正规程序向所述第一存储区域及所述第二存储区域复制而覆写所述否定的程序及所述保存程序,并将所述第一存储区域作为主存储器来执行所述正规程序。
[0034]
在本方式中,在程序及与该程序对应的保存程序均为否定的验证结果的情况下,控制部将从车辆外的外部服务器获取到的正规程序复制到第一存储区域及第二存储区域而覆写否定的程序及保存程序。通过进行针对该程序及保存程序的覆写,能够实质上消除(删除)否定的程序及保存程序而使车载ecu中存储的程序及保存程序双方正常化。
[0035]
(7)本公开的一个方式涉及的车载ecu中,在无法从所述外部服务器获取所述正规程序的情况下,所述控制部输出表示无法发挥与所述否定的程序相应的功能的通知信息。
[0036]
在本方式中,在程序及与该程序对应的保存程序均为否定的验证结果且还无法从外部服务器获取正规程序的情况下,控制部将表示无法发挥与无法执行的程序(否定的验证结果的程序)相应的功能的通知信息输出到例如外部服务器或使用危险警告灯等的通知部。该通知信息可以相当于表示在车辆中无法发挥至少一部分功能的功能失效的信息(救援信号)。例如,控制危险警告灯、喇叭的车身ecu等车载装置可以通过获取该救援信号来进行危险警告灯的闪烁、鸣笛等的驱动。即,可以使这些危险警告灯、喇叭作为对位于该车辆周围的其他车辆的操作者进行通知的通知部来发挥功能。由此,能够对外部服务器的管理者或位于该车辆周围的其他车辆的操作者通知在搭载有该车载ecu的车辆中发生了功能失效的情况。
[0037]
(8)本公开的一个方式涉及的车载ecu中,所述第一存储区域存储有生成用于执行所述多个程序的动作环境的操作系统,所述第二存储区域存储有与所述操作系统对应的保存操作系统,所述验证部与所述多个程序各自的验证一并地进行所述操作系统的验证,所述控制部在所述验证部对所述操作系统的验证为肯定的情况下启动所述操作系统,在所述验证部对所述操作系统的验证为否定的情况下启动所述保存操作系统。
[0038]
在本方式中,验证部与所述多个程序各自的验证一并地进行所述操作系统的验证,控制部在所述验证部对所述操作系统(存储于第一存储区域)的验证为肯定的情况下,
启动所述操作系统,在所述验证部对所述操作系统(存储于第二存储区域)的验证为否定的情况下,启动所述保存操作系统。该操作系统例如是以autosar为基准的os(operating system,操作系统)或linux(注册商标)等车载用操作系统。与程序同样地,第二存储区域中存储的保存操作系统可以是第二存储区域中存储的操作系统的旧版本的操作系统或已备份的同版本的操作系统。因此,在车载ecu启动时的安全启动处理(安全启动序列)中,能够基于针对操作系统的验证结果来启动该操作系统或保存操作系统而构建安全的动作环境。
[0039]
(9)本公开的一个方式涉及一种程序,使搭载于车辆且执行多个程序的计算机执行如下处理:当启动本计算机时进行存储在第一存储区域中的所述多个程序各自的验证,执行所述验证的结果为肯定的程序,不执行所述验证的结果为否定的程序而执行存储在与所述第一存储区域不同的第二存储区域中且与所述否定的程序对应的保存程序。
[0040]
在本方式中,能够使计算机作为能够进行无法启动的程序的应对的车载ecu来发挥功能。
[0041]
(10)本公开的一个方式涉及一种信息处理方法,使搭载于车辆且执行多个程序的计算机执行如下处理:当启动本计算机时进行存储在第一存储区域中的所述多个程序各自的验证,执行所述验证的结果为肯定的程序,不执行所述验证的结果为否定的程序而执行存储在与所述第一存储区域不同的第二存储区域中且与所述否定的程序对应的保存程序。
[0042]
在本方式中,能够提供使计算机作为能够进行无法启动的程序的应对的车载ecu来发挥功能的信息处理方法。
[0043]
[本公开的实施方式的详情]
[0044]
基于表示本公开的实施方式的附图来具体地对本公开进行说明。以下参照附图对本公开的实施方式涉及的车载ecu2进行说明。此外,本公开不限于这些示例,而由权利要求书示出,意在包括与权利要求书相等的意思及范围内的全部变更。
[0045]
(实施方式1)
[0046]
以下,基于附图对实施方式进行说明。图1是例示实施方式1涉及的包括车载ecu2的车载系统的结构的示意图。图2是例示车载ecu2的物理结构的框图。车载系统s包括搭载于车辆c的多个车载ecu2及与该车载ecu2连接的车载装置3。
[0047]
多个车载ecu2可以包括对车辆c整体进行控制的集成性的车载ecu2(集成ecu)及与该集成性的车载ecu2以能够通信的方式连接且与车载装置3直接连接的单独性的车载ecu2(单独ecu)。集成性的车载ecu2可以经由车外通信装置1与连接于因特网等外部网络的外部服务器100以能够通信的方式连接。在本实施方式中,在图示中,集成性的车载ecu2与多个单独性的车载ecu2通过形成星状网络拓扑的车载网络4来以能够通信的方式连接,该集成性的车载ecu2以位于星状网络拓扑的中心(center)的方式设置。进而,相邻的各个单独性的车载ecu2可以彼此连接而构成环状网络拓扑,能够双向通信地实现冗余化。
[0048]
多个单独性的车载ecu2配置在车辆c中的各区域中,且通过串行电缆(直接线路)等线缆直接连接于危险警告灯、照明灯或喇叭等的促动器30及传感器等车载装置3。单独性的车载ecu2例如获取(接收)从传感器输出的信号(输入信号),并将基于获取的输入信号而生成的请求信号发送到集成性的车载ecu2。单独性的车载ecu2基于从集成性的车载ecu2发送的控制信号来进行与本ecu直接连接的照明灯等的促动器30的驱动控制。单独性的车载ecu2也可以是作为对与该单独性的车载ecu2连接的多个车载装置3之间的通信或车载装置
3与其他车载ecu2之间的通信进行中继的网关或以太网交换机等车载中继装置来发挥功能的中继控制ecu。单独性的车载ecu2也可以是在与通信相关的中继之外还作为对从蓄电装置5输出的电力进行分配及中继并向与本ecu连接的车载装置3供给的电力分配装置来发挥功能的plb(power lan box,电源线盒)。
[0049]
集成性的车载ecu2基于经由单独性的车载ecu2等其他车载ecu2中继的来自车载装置3的数据来生成及输出对各个车载装置3的控制信号,例如是行车计算机等中央控制装置。集成性的车载ecu2基于从单独性的车载ecu2等其他车载ecu2输出(发送)的请求信号等信息或数据,生成用于对作为该请求信号的对象的促动器30进行控制的控制信号,并将生成的控制信号输出(发送)到其他车载ecu2。在本实施方式中,车载系统由集成性的车载ecu2(集成ecu)及单独性的车载ecu2(单独ecu)构成,但不限于此。车载系统也可以由例如通过can(controller area network,控域网)网关或以太网交换机等中继装置而对等型地连接的多个车载ecu2构成。
[0050]
车载装置3包括例如lidar(light detection and ranging,激光雷达)、光传感器、cmos摄像机、红外线传感器等各种传感器31及车门sw(开关)、车灯sw等开关、车灯、车门开闭装置、电动机装置等的促动器30。
[0051]
外部服务器100是与例如因特网或公共线路网等车外网络连接的服务器等计算机,具备由ram(random access memory,随机存取存储器)、rom(read only memory,只读存储器)或硬盘等实现的存储部21。外部服务器100也可以是对车辆c提供(发送)更新程序等的ota(over the air,空中下载技术)服务器。集成性的车载ecu2(集成ecu)也可以与车外通信装置1以能够通信的方式连接,并经由车外通信装置1与经由车外网络连接的外部服务器100进行通信,且对外部服务器100与搭载于车辆c的其他车载ecu2或车载装置3之间的通信进行中继。
[0052]
车外通信装置1包括车外通信部(未图示)及用于与集成性的车载ecu2(集成ecu)进行通信的输入输出i/f(未图示)。车外通信部是用于使用4g、lte(long term evolution/注册商标)、5g、wifi等移动体通信协议来进行无线通信的通信装置,经由与车外通信部连接的天线11而与外部服务器100进行数据的收发。车外通信装置1与外部服务器100之间的通信例如经由公共线路网或因特网等外部网络n来进行。输入输出i/f22是用于与车载ecu2进行例如串行通信的通信接口。车外通信装置1与车载ecu2经由输入输出i/f及连接于输入输出i/f的串行电缆等线缆来相互通信。在本实施方式中,车外通信装置1形成为车载ecu2之外的单独装置,且通过输入输出i/f等来将这些装置以能够通信的方式连接,但不限于此。车外通信装置1也可以形成为车载ecu2的一个构成部位而内置于车载ecu2。
[0053]
车载ecu2(集成euc、单独ecu)包括控制部20、包含第一存储区域211和第二存储区域212的存储部21、输入输出i/f22、车内通信部23及验证部24。控制部20由cpu(central processing unit,中央处理单元)或mpu(micro processing unit,微型处理单元)等构成,通过读取并执行预先存储在存储部21中的控制程序及数据来进行各种控制处理及运算处理等。控制部20不仅限于cpu等进行软件处理的软件处理部,也可以包括fpga、asic或soc等通过硬件处理来进行各种控制处理及运算处理等的硬件处理部。
[0054]
存储部21由ram(random access memory)等易失性存储器元件或rom(read only memory)、eeprom(electrically erasable programmable rom,电可擦可编程只读存储
器)、闪存等非易失性存储器元件或这些存储器件的组合来构成,且预先存储有控制程序及处理时参照的数据。该控制程序包括例如用于对各种车载装置3进行控制的程序(应用软件)或基于来自lidar或cmos摄像机的输出数据来进行用于自动驾驶的目标识别的程序(应用软件)等多个程序(应用软件)。
[0055]
存储部21包括第一存储区域211和第二存储区域212。第一存储区域211与第二存储区域212形成为不同的区域,例如由单独的存储装置或存储器器件构成。或者,也可以是,作为存储部21,采用同一存储装置,且以在该存储装置的内部结构中成为不同的物理地址区域的方式例如设定分区来分成第一存储区域211和第二存储区域212。第一存储区域211为在控制部20执行程序时用作主存储器的存储区域,在执行该程序时生成的进程或线程所分配的存储器空间(存储器区域)为第一存储区域211中的任意的区域。
[0056]
第一存储区域211存储有为了发挥车载ecu2的功能而主要执行的多个程序(应用软件)。在这些多个程序为当前状况下车载ecu2所执行(使用)的程序(当前版本)的情况下,第二存储区域212存储有在当前版本以前使用的程序(旧版本)作为保存程序(保存应用软件)。或者,第二存储区域212也可以存储有与在第一存储区域211中存储的多个程序相同的程序(相同版本)作为备份(保存程序)。
[0057]
第一存储区域211中存储的程序与第二存储区域212中存储的保存程序之间的对应关系例如可以通过使程序及保存程序的文件名相同来建立关系。或者,也可以是,通过使存储有程序的第一存储区域211与存储有保存程序的第二存储区域212的地址编号(起始地址)相同来设定对应关系。或者,也可以是,通过存储部21中存储的程序对应表,将各个程序和与该程序各自对应的保存程序各自建立关联来设定对应关系。
[0058]
与车外通信装置1的输入输出i/f22同样地,输入输出i/f22例如是用于进行串行通信的通信接口。车载ecu2经由输入输出i/f22及串行电缆等线缆以能够通信的方式与车外通信装置1连接。
[0059]
车内通信部23例如是使用can(controller area network,控域网)或以太网(ethernet/注册商标)的通信协议的输入输出接口,控制部20与经由车内通信部23连接于车载网络4的其他车载ecu2相互地通信。
[0060]
验证部24例如是hsm(hardware security module,硬件安全模块)或she(secure hardware extension,安全硬件扩展),且构成为在由cpu等构成的控制部20之外的单独器件或单独模块。由hsm等构成的验证部24承担车载ecu2(本ecu)启动(boot)时进行的安全启动处理的一端,且是对存储部21中存储的多个程序等在车载ecu2启动中执行的软件的合理性(完整性)或健全性进行验证的功能模块。验证部24例如包括加密处理用的处理器,例如使用cmac(cipher-based message authentication code,基于密文的消息认证码)等加密算法来验证作为验证对象的程序等软件的合理性(完整性)。验证部24在车载ecu2启动时进行的安全启动处理(安全启动序列)中对作为验证对象的多个程序各自的合理性(完整性)进行验证,并输出针对各个程序的验证结果。该验证结果包括表示程序正当的肯定验证结果或表示程序例如被篡改等而不正当的否定验证结果。
[0061]
图3是例示车载ecu2的控制部20的处理的流程图。例如,在车辆c从停止状态(ig开关断开)状态转移到启动状态(ig开关接通)时,车载ecu2的控制部20基于车载ecu2(本ecu)启动(boot)时进行的安全启动处理(安全启动序列)来进行以下处理。
[0062]
在安全启动处理中最初阶段进行的是验证部24对多个程序各自进行的验证。该多个程序存储在第一存储区域211中。第一存储区域211是在控制部20执行程序时生成的进程或线程所分配的存储器空间(存储器区域)。该验证部24例如是hsm(hardware security module),且构成为由cpu等构成的控制部20之外单独的器件或单独的模块。车载ecu2的控制部20的一系列处理在验证部24针对各个程序的验证的处理之后进行。
[0063]
车载ecu2的控制部20从验证部24获取验证结果(s101)。从验证部24输出的验证结果包含针对第一存储区域211中存储的各个程序的验证结果是肯定的结果还是否定的结果。在是肯定的结果的情况下,未进行针对肯定的程序的篡改等不正当处理,该程序的合理性(完整性)得到保证。在是否定的结果的情况下,存在针对否定的程序进行了篡改等不正当处理的可能性,该程序的合理性(完整性)被否定。车载ecu2的控制部20能够参照验证结果来掌握第一存储区域211中存储的各程序的验证结果是肯定还是否定。
[0064]
车载ecu2的控制部20基于获取到的验证结果来执行(启动)肯定的验证结果的程序(s102)。车载ecu2的控制部20基于验证结果,将肯定的验证结果的程序确定(判定)为能够执行的程序,并执行该程序。通过执行程序来生成与该程序对应的进程或线程。这些肯定的程序的进程等所分配的存储器空间(存储器区域)为第一存储区域211中的任意的区域,即执行该肯定的程序时的主存储器为第一存储区域211。
[0065]
车载ecu2的控制部20基于获取到的验证结果来确定否定的验证结果的程序(s103)。从验证部24输出的验证结果包含针对多个程序的各自的肯定的验证结果或否定的验证结果。或者,即使在该验证结果仅包含与肯定的验证结果的程序相关的信息的情况下,车载ecu2的控制部20通过进行与第一存储区域211(存储部21)中存储的多个程序之间的对比(差值),也能够确定否定的验证结果的程序。在否定的程序的确定中,大致分为完全没有否定的程序的情况、有一个否定的程序的情况或有多个否定的程序的情况。在这些各个情况下,车载ecu2的控制部20确定成为否定的验证结果的全部程序。
[0066]
车载ecu2的控制部20将与否定的验证结果的程序对应的保存程序复制到第一存储区域211(s104)。与该程序(第一存储区域211中存储)对应的保存程序存储在第二存储区域212中,可以是该程序的旧版本(前版本)的程序或该程序的备份(同版本的备份程序)。第二存储区域212作为与第一存储区域211不同的区域,例如由单独的存储装置或存储器器件构成。第一存储区域211中存储的程序与第二存储区域212中存储的保存程序之间的对应关系例如可以是程序及保存程序的文件名相同的关系、存储有程序及保存程序的地址编号(起始地址)相同的关系或者根据存储部21中存储的程序对应表来将程序及与该程序对应的保存程序建立关联。
[0067]
车载ecu2的控制部20针对所确定的全部的否定的验证结果的各个程序,将所对应的各个保存程序从第二存储区域212复制到第一存储区域211。在将保存程序从第二存储区域212复制到第一存储区域211时,可以覆写第一存储区域211中存储的程序(否定的验证结果的程序)而实质上删除(消除)该否定的验证结果的程序。
[0068]
车载ecu2的控制部20执行复制到第一存储区域211的保存程序(s105)。车载ecu2的控制部20依次或一并执行从第二存储区域212复制到第一存储区域211的全部保存程序。即使在第一存储区域211中存储的程序例如由于来自车外的攻击而被进行了篡改等不正当处理的情况下,与该程序对应的保存程序存储在第二存储区域212中,因此也不被篡改等而
维持合理性(完整性)。该对应的保存程序是第一存储区域211中存储的程序的旧版本或同版本(备份)的程序,因此已经具有动作实绩。因此,通过进行使用保存程序的回滚处理来执行该保存程序以代替否定的验证结果的程序,能够进行车载ecu2的功能保全。
[0069]
在执行被复制到第一存储区域211的保存程序时,车载ecu2的控制部20将该第一存储区域211作为主存储器来执行保存程序。由此,在控制部20对进程的生成等中,能够在不变更对作为主存储器的第一存储区域211的访问方式(存储器控制)的情况下执行保存程序。
[0070]
在本实施方式及后述的其他实施方式中,说明为车载ecu2的控制部20进行一系列处理,但不限于此。该一系列处理中的一部分处理也可以由与车载ecu2以能够通信的方式连接的外部服务器100等云服务器或者与控制部20分体地构成的验证部24承担。控制部20也可以与这些外部服务器100或验证部24协同动作地进行一系列处理。
[0071]
根据本实施方式,在根据基于验证部的安全启动而第一存储区域中存储的任意的程序的验证结果为否定的情况下,不执行该否定的程序。作为针对根据该安全启动的验证结果而无法启动的程序的应对(代替处理),能够执行第二存储区域中存储的保存程序来实现车载ecu中的功能保全。
[0072]
控制部根据针对多个程序各自的验证结果来判定是否执行保存程序。由此,在多个程序中的仅一部分程序中为否定的验证结果的情况下,能够进行仅针对该否定的程序执行保存程序的局部性应对。因此,即使在该多个程序分类成与功能相应的多个功能区段的情况下,也能够进行与该功能区段相应的局部性应对。
[0073]
(实施方式2)
[0074]
图4是例示实施方式2(将第二存储区域212作为主存储器)涉及的车载ecu2的控制部20的处理的流程图。与实施方式1同样地,例如,在车辆c从停止状态(ig开关断开)状态转移到启动状态(ig开关接通)时,车载ecu2的控制部20基于车载ecu2(本ecu)启动(boot)时进行的安全启动处理(安全启动序列)来进行以下处理。与实施方式1同样地,在安全启动处理中最初进行的是验证部24对第一存储区域211中存储的多个程序的各自进行的验证。车载ecu2的控制部20的一系列处理在验证部24针对各个程序的验证的处理之后进行。
[0075]
车载ecu2的控制部20从验证部24获取验证结果(s201)。车载ecu2的控制部20基于获取到的验证结果来执行(启动)肯定的验证结果的程序(s202)。车载ecu2的控制部20基于获取到的验证结果来确定否定的验证结果的程序(s203)。车载ecu2的控制部20与实施方式1的处理s101到s103同样地进行s201到s203的处理。
[0076]
车载ecu2的控制部20将第二存储区域212作为主存储器来执行与否定的验证结果的程序对应的保存程序(s204)。车载ecu2的控制部20将存储有该保存程序的第二存储区域212作为主存储器来执行与所确定的否定的验证结果的各个程序对应的各个保存程序。由此,保存程序的进程等所分配的存储器空间(存储器区域)为第二存储区域212中的任意的区域,即执行该保存程序程序时的主存储器为第二存储区域212。
[0077]
通过将执行保存程序时的主存储器设为第二存储区域212,不需要将该保存程序从第二存储区域212复制到第一存储区域211,能够减少执行保存程序以代替否定的验证结果的程序时的一系列处理所需要的时间(所需时间)。
[0078]
(实施方式3)
[0079]
图5是例示实施方式3(从外部服务器100获取正规程序)涉及的车载ecu2的控制部20的处理的流程图。与实施方式1同样地,例如,在车辆c从停止状态(ig开关断开)状态转移到启动状态(ig开关接通)时,车载ecu2的控制部20基于车载ecu2(本ecu)启动(boot)时进行的安全启动处理(安全启动序列)来进行以下处理。
[0080]
安全启动处理中最初进行的是验证部24针对第一存储区域211中存储的多个程序的各自及第二存储区域212中存储的多个保存程序的各自的验证。
[0081]
车载ecu2的控制部20从验证部24获取验证结果(s401)。验证部24的验证结果包含针对第一存储区域211的程序及第二存储区域212的保存程序各自的验证结果为肯定的结果还是否定的结果。车载ecu2的控制部20能够基于获取到的验证结果来掌握针对第一存储区域211的程序及第二存储区域212的保存程序各自的验证结果。
[0082]
车载ecu2的控制部20基于获取到的验证结果来执行(启动)肯定的验证结果的程序(s402)。车载ecu2的控制部20基于获取到的验证结果来确定否定的验证结果的程序(s403)。车载ecu2的控制部20与实施方式1的处理s102及s103同样地执行s402及s403的处理。
[0083]
车载ecu2的控制部20在与否定的验证结果的程序对应的保存程序中执行(启动)肯定的验证结果的保存程序(s404)。车载ecu2的控制部20执行(启动)与否定的验证结果的程序对应且肯定的验证结果的保存程序。在执行该保存程序时,与实施方式1同样地,控制部20可以将保存程序从第二存储区域212复制到第一存储区域211并将第一存储区域211作为主存储器来执行保存程序。或者,与实施方式2同样地,控制部20也可以在不将保存程序从第二存储区域212复制到第一存储区域211的情况下将第二存储区域212作为主存储器来执行保存程序。
[0084]
车载ecu2的控制部20在与否定的验证结果的程序对应的保存程序中确定否定的验证结果的保存程序(s405)。在该否定的验证结果的程序中,不仅是自程序,关于与自程序对应的保存程序也由验证部24验证为否定的验证结果。在将存储在第一存储区域211中的任意的程序与对应于该程序且存储在第二存储区域212中的保存程序定义为程序集的情况下,均为否定的验证结果的程序及保存程序的程序集相当于否定的验证结果的程序集。
[0085]
图6是表示基于验证结果的程序集的分类的说明图。如本实施方式所图示地,程序集的分类大致分为程序及保存程序均为肯定的验证结果的程序集(完全肯定的程序集)、仅第一存储区域211的程序为肯定的验证结果的程序集(部分肯定的程序集a)、仅第二存储区域212保存程序为肯定的验证结果的程序集(部分肯定的程序集b)及程序及保存程序均为否定的验证结果的程序集(完全否定的程序集)。在本处理中确定的否定的验证结果的保存程序为包含在完全否定的程序集中的保存程序。
[0086]
在完全肯定的程序集及部分肯定的程序集a中,执行第一存储区域211中存储的程序。在部分肯定的程序集b中,执行第二存储区域212中存储的保存程序。在完全否定的程序集中,如后所述,执行从外部服务器100获取到的正规程序。
[0087]
表示程序集的分类的信息例如可以作为程序集分类表存储在存储部21中。车载ecu2的控制部20可以基于来自验证部24的验证结果来确定由各个程序及保存程序构成的程序集各自的分类,并通过参照该程序集分类表(用作查找表)来进行各程序集中的应对。
[0088]
车载ecu2的控制部20基于所确定的否定的验证结果的保存程序来尝试来自外部
服务器100的正规程序的获取(s406)。所确定的否定的验证结果的保存程序为包含在完全否定的程序集中的保存程序。车载ecu2的控制部20基于包含在该完全否定的程序集中的保存程序或程序,对外部服务器100请求用于代替作为否定的验证结果的程序或保存程序的正规程序的发送。该正规程序例如可以是作为否定的验证结果的程序的原本的程序即未被篡改等的程序或最新版本的程序(更新程序)。车载ecu2的控制部20例如使用车外通信装置1来尝试与外部服务器100的通信(会话确立),并将请求正规程序的发送的请求信号输出(发送)到外部服务器100。
[0089]
车载ecu2的控制部20判定是否已获取来自外部服务器100的正规程序(s407)。车载ecu2的控制部20基于与外部服务器100的通信结果来判定是否已获取正规程序。车载ecu2的控制部20可以在从外部服务器100获取到正规程序时将该正规程序输出到验证部24,在验证部24针对该正规程序的验证结果为肯定的情况下,判定为已获取正规程序。
[0090]
在已获取正规程序的情况下(s407:是),车载ecu2的控制部20执行获取到的正规程序(s408)。在已正常地获取正规程序的情况下,与实施方式1同样地,车载ecu2的控制部20可以将获取到的正规程序存储到第一存储区域211中,并将该第一存储区域211作为主存储器来执行正规程序。或者,也可以是,车载ecu2的控制部20将获取到的正规程序存储到第二存储区域212中,并与实施方式2同样地将该第二存储区域212作为主存储器来执行正规程序。车载ecu2的控制部20在将获取到的正规程序存储到第一存储区域211及第二存储区域212时,可以覆写第一存储区域211及第二存储区域212中存储的否定的验证结果的程序及保存程序而实质上消除(删除)该否定的验证结果的程序及保存程序。
[0091]
在未能获取正规程序的情况下(s407:否),车载ecu2的控制部20输出通知信息(s4081)。在未能获取正规程序的情况下或者在获取到的正规程序通过验证部24而成为否定的验证结果的情况下,车载ecu2的控制部20例如可以对外部服务器100输出(发送)表示无法发挥与无法执行的程序(否定的验证结果的程序)相应的功能的通知信息。或者,车载ecu2的控制部20也可以经由车内通信部23对控制危险警告灯、喇叭的车身ecu等车载装置3输出(发送)用于使其进行危险警告灯的闪烁、鸣笛等的驱动的请求信号以作为该通知信息。
[0092]
由此,使这些危险警告灯、喇叭能够作为对位于该车辆c周围的其他车辆c的操作者进行通知的通知部来发挥功能。该通知信息相当于表示在车辆c中无法发挥至少一部分功能的功能失效的信息(救援信号),能够对外部服务器100的管理者或位于该车辆c周围的其他车辆c的操作者通知在搭载有车载ecu2的车辆c中发生了功能失效的情况,能够提醒救助支援。
[0093]
(实施方式4)
[0094]
图7是例示实施方式4(操作系统的验证)涉及的车载ecu2的控制部20的处理的流程图。在实施方式4的车载ecu2的第一存储区域211存储有生成用于执行多个程序的动作环境的操作系统且第二存储区域212存储有与所述操作系统对应的保存操作系统这点上与实施方式1不同。
[0095]
存储在第一存储区域211中的操作系统例如是以autosar为基准的os(operating system)或linux(注册商标)等车载用操作系统。与程序同样地,存储在第二存储区域212中的保存操作系统可以是存储在第二存储区域212中的操作系统的旧版本的操作系统或已备
份的同版本的操作系统。
[0096]
与实施方式1同样地,例如,在车辆c从停止状态(ig开关断开)状态转移到启动状态(ig开关接通)时,车载ecu2的控制部20基于车载ecu2(本ecu)启动(boot)时进行的安全启动处理(安全启动序列)来进行以下处理。在安全启动处理中最初进行的是验证部24对第一存储区域211中存储的多个程序及操作系统的验证。
[0097]
车载ecu2的控制部20从验证部24获取多个程序及操作系统的验证结果(s501)。由例如hsm构成的验证部24在与实施方式1同样地对第一存储区域211中存储的多个程序进行验证之外还对操作系统进行验证。因此,从验证部24输出的验证结果包含与多个程序及操作系统相关的验证结果。
[0098]
车载ecu2的控制部20判定操作系统的验证结果是否为肯定(s502)。车载ecu2的控制部20通过提取从验证部24输出的验证结果所包含的操作系统的验证结果,且通过获取及参照该操作系统的验证结果来判定该验证结果是肯定还是否定。
[0099]
在操作系统的验证结果是肯定的情况下(s502:是),车载ecu2的控制部20启动第一存储区域211中存储的操作系统(s503)。在操作系统的验证结果是肯定的结果的情况下,未进行针对第一存储区域211中存储的操作系统的篡改等不正当处理,该操作系统的合理性(完整性)得到保证。
[0100]
在操作系统的验证结果为否定的情况下(s502:否),车载ecu2的控制部20启动第二存储区域212中存储的保存操作系统(s5021)。在操作系统的验证结果为否定的结果的情况下,存在针对否定的操作系统进行了篡改等不正当处理的可能性,该操作系统的合理性(完整性)被否定。因此,车载ecu2的控制部20未启动该否定的操作系统而启动第二存储区域212中存储的保存操作系统。在启动保存操作系统时,车载ecu2的控制部20可以将该保存操作系统复制到第一存储区域211,并将该第一存储区域211作为主存储器来启动保存操作系统。或者,车载ecu2的控制部20也可以将第二存储区域212作为主存储器来启动保存操作系统。
[0101]
车载ecu2的控制部20基于获取到的验证结果来执行(启动)肯定的验证结果的程序(s504)。车载ecu2的控制部20基于获取到的验证结果来确定否定的验证结果的程序(s505)。车载ecu2的控制部20将与否定的验证结果的程序对应的保存程序复制到第一存储区域211(s506)。车载ecu2的控制部20执行复制到第一存储区域211的保存程序(s507)。车载ecu2的控制部20与实施方式1的s102到s105同样地进行s504到s507的处理。
[0102]
根据本实施方式,在车载ecu2启动时的安全启动处理(安全启动序列)中,在应用软件之外,还进行针对操作系统的验证,并基于该验证结果来启动该操作系统或保存操作系统。因此,在执行应用软件时启动操作系统并生成该应用软件的动作环境的车载ecu2中,能够构建安全的动作环境。
[0103]
应该认为,本次公开的实施方式在全部的方面均为示例而不是限制性的。本发明的范围不由上述的意思示出,而由权利要求书示出,意在包括与权利要求书等同的含义及范围内的全部变更。
[0104]
标号说明
[0105]cꢀꢀꢀꢀꢀ
车辆
[0106]sꢀꢀꢀꢀꢀ
车载系统
[0107]
100外部服务器
[0108]1ꢀꢀꢀꢀꢀ
车外通信装置
[0109]
11
ꢀꢀꢀꢀ
天线
[0110]2ꢀꢀꢀꢀꢀ
车载ecu
[0111]
20
ꢀꢀꢀꢀ
控制部
[0112]
21
ꢀꢀꢀꢀ
存储部
[0113]
211第一存储区域
[0114]
212第二存储区域
[0115]
22
ꢀꢀꢀꢀ
输入输出i/f
[0116]
23
ꢀꢀꢀꢀ
车内通信部
[0117]
24
ꢀꢀꢀꢀ
验证部
[0118]3ꢀꢀꢀꢀꢀ
车载装置
[0119]
30
ꢀꢀꢀꢀ
促动器(act)
[0120]
31
ꢀꢀꢀꢀ
传感器
[0121]4ꢀꢀꢀꢀꢀ
车载网络。

技术特征:
1.一种车载ecu,搭载于车辆,其中,具备:控制部,执行多个程序;验证部,当启动本ecu时进行所述多个程序各自的验证;第一存储区域,存储有所述多个程序的各自;以及第二存储区域,存储有与所述多个程序的各自对应的多个保存程序的各自,所述控制部执行所述验证部的验证为肯定的程序,所述控制部不执行所述验证部的验证为否定的程序而执行与所述否定的程序对应的保存程序。2.根据权利要求1所述的车载ecu,其中,与所述程序对应的所述保存程序为所述程序以前的版本即旧版本程序或将所述程序备份后的备份程序。3.根据权利要求1或2所述的车载ecu,其中,所述控制部在执行所述保存程序的情况下,将存储在所述第二存储区域中的所述保存程序向所述第一存储区域复制而覆写所述否定的程序,并将所述第一存储区域作为主存储器来执行所述保存程序。4.根据权利要求1或2所述的车载ecu,其中,所述控制部在执行所述保存程序的情况下,将存储有所述保存程序的所述第二存储区域作为主存储器来执行所述保存程序。5.根据权利要求1至4中的任一项所述的车载ecu,其中,所述验证部进行所述程序及与该程序对应的所述保存程序的验证,在所述验证部针对所述程序及与该程序对应的所述保存程序的验证均为否定的情况下,所述控制部从所述车辆外的外部服务器获取与所述否定的程序相同种类的正规程序,并执行获取到的所述正规程序。6.根据权利要求5所述的车载ecu,其中,所述控制部将获取到的所述正规程序向所述第一存储区域及所述第二存储区域复制而覆写所述否定的程序及所述保存程序,并将所述第一存储区域作为主存储器来执行所述正规程序。7.根据权利要求5或6所述的车载ecu,其中,在无法从所述外部服务器获取所述正规程序的情况下,所述控制部输出表示无法发挥与所述否定的程序相应的功能的通知信息。8.根据权利要求1至7中的任一项所述的车载ecu,其中,所述第一存储区域存储有生成用于执行所述多个程序的动作环境的操作系统,所述第二存储区域存储有与所述操作系统对应的保存操作系统,所述验证部与所述多个程序各自的验证一并地进行所述操作系统的验证,所述控制部在所述验证部对所述操作系统的验证为肯定的情况下启动所述操作系统,在所述验证部对所述操作系统的验证为否定的情况下启动所述保存操作系统。9.一种程序,使搭载于车辆且执行多个程序的计算机执行如下处理:当启动本计算机时进行存储在第一存储区域中的所述多个程序各自的验证,执行所述验证的结果为肯定的程序,
不执行所述验证的结果为否定的程序而执行存储在与所述第一存储区域不同的第二存储区域中且与所述否定的程序对应的保存程序。10.一种信息处理方法,使搭载于车辆且执行多个程序的计算机执行如下处理:当启动本计算机时进行存储在第一存储区域中的所述多个程序各自的验证,执行所述验证的结果为肯定的程序,不执行所述验证的结果为否定的程序而执行存储在与所述第一存储区域不同的第二存储区域中且与所述否定的程序对应的保存程序。

技术总结
一种车载ECU,搭载于车辆,具备:控制部,执行多个程序;验证部,当启动本ECU时进行所述多个程序各自的验证;第一存储区域,存储有所述多个程序的各自;以及第二存储区域,存储有与所述多个程序的各自对应的多个保存程序的各自,所述控制部执行所述验证部的验证为肯定的程序,所述控制部不执行所述验证部的验证为否定的程序而执行与所述否定的程序对应的保存程序。程序。程序。


技术研发人员:相羽慎一
受保护的技术使用者:住友电装株式会社 住友电气工业株式会社
技术研发日:2021.10.25
技术公布日:2023/7/12
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐