本发明涉及一种安全处理装置。
背景技术
近年来,在汽车的控制中使用了很多软件,要求针对安全攻击等的车辆内的安全对策。作为安全对策,例如讨论了在安全引导下的篡改检测等。
另外,例如在专利文献1中公开了一种篡改检测系统,其是具有能够从电池电源供给电源的电子控制单元的软件的篡改检测系统,其中,第1电子控制单元具有电源控制单元,该电源控制单元在判断为本车辆处于停车中的情况下,将电池电源从接通切换为断开,进而从断开切换为接通,1个以上的第2电子控制单元具有篡改检测单元,该篡改检测单元在通过将电池电源切换为接通而再启动时,检测存储在存储介质中的软件的篡改的有无。
现有技术文献
专利文献
专利文献1:日本专利特开2014-151720号公报
技术实现要素:
发明要解决的问题
另外,在欧洲,关于汽车的安全,已经实施了EVITA(E-Safety Vehicle Instruction Protected Application:电子安全保护应用)项目,并且微型计算机制造商正在进行作为符合EVITA要求的硬件的HSM(Hardware Security Module:硬件安全模块)的制造。然后,OEM以及供应商为了制作更安全的ECU而开发密钥管理、加密解密、随机数生成以及主机完整性验证作为HSM的功能。
但是,除了上述那样的安全功能以外,还有应该从安全的区域(HSM)实施的功能。即,由于安全攻击,主机的程序代码有可能被篡改,如果通过主机的程序代码实现诊断功能、通信监视功能,则有可能产生误动作。另外,在检测到安全攻击后,需要更正确地区别ECU的异常原因,进行与各个原因相应的功能安全动作应对。
本发明是鉴于上述情况而完成的,目的在于提供一种安全处理装置,其能够防止与安全攻击等异常的检测、诊断相关的软件的篡改,并且能够进行与发生了异常时的原因相应的应对。
解决问题的技术手段
本申请包含多个解决上述课题的手段,但如果列举其一例,则是一种管理与车辆的动作控制相关的装置的安全处理装置,该安全处理装置具备:控制部,其具有能够从外部变更所搭载的程序的非安全区域以及不能从外部变更所搭载的程序的安全区域,所述控制部具有:动作程序的代码,其搭载在所述非安全区域,进行所述车辆的动作控制;以及诊断程序,其搭载在所述安全区域,进行所述动作程序的代码的异常的诊断、以及与外部的通信的监视,在所述非安全区域的被诊断出动作程序的异常的情况下,所述安全区域的诊断程序判定所述异常的种类,执行基于所判定出的种类的处理。
发明的效果
根据本发明,能够防止与安全攻击等异常的检测、诊断相关的软件的篡改,并且能够进行与发生了异常时的原因相应的应对。
附图说明
图1是将安全处理装置与关联构成一起抽出并示意性地表示的功能框图。
图2是将安全处理装置与关联构成一起抽出并示意性地表示的功能框图,是作为状况的一例,说明非安全区域的一部分被非法改写时的动作的图。
图3是表示安全处理装置的动作内容的流程图。
图4是表示安全区域的功能安全判定表的一例的图。
具体实施方式
以下,参照附图对本发明的一实施方式进行说明。
图1是将安全处理装置与关联构成一起抽出并示意性地表示的功能框图。
在图1中,安全处理装置通过搭载在车辆1上的车载用装置2来实现其功能。车载用装置2将搭载在车辆1上的通信系统的第1网络100和第2网络200连接,由控制车载用装置2的动作的CPU3、进行车载用装置2与第1网络的通信的控制的第1控制器4以及进行车载用装置与车辆1的内部的通信的控制的第2控制器5来构成。
第1网络100具有连接车辆1的外界(外部)和车载用装置2的通信总线103,经由通信总线103向车载用装置2发送作为与外界的通信数据帧的正常数据帧101。另外,假设从外界向车载用装置2也发送作为非法数据帧的攻击数据帧102的情况。正常数据帧101、攻击数据帧102经由车载用装置2的第1控制器被发送到CPU3。
第2网络200具有将车载用装置2和车辆1的内部连接的通信总线202,经由通信总线202收发车辆1的内部网络中的通信帧,即正常数据帧201。正常数据帧201经由车载装置2的第2控制器进行与CPU3的收发。
CPU3具有:能够从外界变更所搭载的程序等的非安全区域(Host Core)10;以及不能够从外界变更所搭载的程序等的安全区域(HSM(Hardware Security Module)Core)20。
在CPU3的非安全区域(Host Core:主机核心)10中,搭载有程序代码A面11、程序代码B面12以及安全防火墙13。非安全区域(Host Core)10是能够从外界变更车载用装置2的区域,程序代码A面11以及程序代码B面12能够改写,但通过安全防火墙13对来自外界的非法访问(攻击数据的进入)进行防御,在安全防火墙13发挥功能的范围(不被突破的范围)中抑制改写。
在CPU3内的安全区域(HSM Core)20中,搭载有:实现诊断功能21、通信监视功能22、以及事件判定功能23的各功能的程序、功能安全判定表24、加密解密用的密钥值/MAC值25、重塑用故障安全代码26、以及故障安全配置27等各数据。
对以上那样构成的本实施方式的安全处理装置的动作进行说明。
图2是将安全处理装置与关联构成一起抽出并示意性地表示的功能框图,是作为状况的一例,说明非安全区域的一部分被非法改写时的动作的图。另外,图3是表示安全处理装置的动作内容的流程图。
这里,例如考虑从第1网络100的与外界的通信总线103向车载用装置2发送攻击数据帧102,并突破了安全防火墙13的情况。
在图3中,当在非安全区域中发生事件时(步骤S100),安全处理装置判定发生事件是否有问题(步骤S110)。安全区域(HSM Core)20的事件判定功能23使用密钥值/MAC值25,始终进行非安全区域(Host Core)10的程序代码的篡改检测(软件诊断),在非安全区域(Host Core)10中发生的事件是程序代码的篡改的情况下能够立即检测出来。同样地,通信监视功能22始终进行通信路径、通信量的非法监视(通信判定),在非安全区域(Host Core)10中发生的事件是与通信有关的非法的情况下能够立即检测出来。另外,诊断功能21始终进行构成车载用装置2的各硬件是否正常的诊断(硬件诊断),在非安全区域(Host Core)10中发生的事件是与硬件有关的异常的情况下能够立即检测出来。
在步骤S100中的判定结果为“否”的情况下,即,在非安全区域(Host Core)10中发生的事件没有问题(例如,由于正常数据帧101等的接收而发生的事件)的情况下,结束处理。
另外,在步骤S100的判定结果为“是”的情况下,即,在非安全区域(Host Core)10中发生的事件有问题的情况下,通过安全区域(HSM Core)20所具有的各功能(诊断功能21、通信监视功能22、事件判定功能23)来确定事件的内容(步骤S120)。作为有问题的事件,例如可以考虑由于攻击数据帧102的接收而导致的程序代码的篡改。当从第1网络100的通信总线103接收攻击数据帧102,并且突破了安全防火墙13时,CPU3内的非安全区域(主机核心)10的例如程序代码A面11被改写为非法的程序代码(参见图2)。
接着,判定在步骤S120中所确定的事件的内容中的软件诊断以及硬件诊断的结果是否正常(步骤S130),在判定结果为“是”的情况下,即,在软件诊断和硬件诊断双方的诊断结果为正常的情况下,设定“正常”的信息作为诊断结果(步骤S140)。另外,在步骤S130中的判定结果为“否”的情况下,即,在软件诊断和硬件诊断的至少一方的诊断结果为异常的情况下,设定“异常”的信息作为诊断结果(步骤S141)。
接着,判定在步骤S120中所确定的事件的内容中的通信判定的结果是否正常(步骤S150),在判定结果为“是”的情况下,设定“正常”的信息作为判定结果(步骤S160)。另外,在步骤S150中的判定结果为“否”的情况下,即,通信判定的结果为异常的情况下,设定“异常”的信息作为判定结果(步骤S161)。
接着,使用安全区域(HSM Core)20的功能安全判定表24,基于软件诊断以及硬件诊断的诊断结果(参照步骤S140、S141)和通信判定的判定结果(参照步骤S160、S161),决定故障安全动作(步骤S170),执行故障安全动作(步骤S180),结束处理。
图4是表示安全区域的功能安全判定表的一例的图。
在图4中,在功能安全判定表24中,对于判定后的事件24a的每一个,规定了针对软件诊断以及硬件诊断的诊断结果24b和通信判定的判定结果24c的组合的、来自安全区域(HSM Core)20的故障安全动作24d。
作为故障安全动作,例如有“启动程序代码的切换”、“配置数据的退化”、“非法的程序代码的清除”等。
在故障安全动作的“启动程序代码的切换”中,根据来自安全区域(HSM Core)20的功能安全判定表24的控制指示,将非安全区域(Host Core)10的程序代码从启动中的程序代码A11切换为待机面的程序代码B12。程序代码B12是由诊断功能21验证完毕且被诊断为正常的代码。
在故障安全动作的“非法的程序代码的清除”中,根据来自安全区域(HSM Core)20的功能安全判定表24的控制指示,将非安全区域的非法的程序A11改写为安全区域(HSM Core)20的重塑用故障安全代码26(故障安全程序代码)。
在故障安全动作的“配置数据的退化”中,根据来自安全区域(HSM Core)20的功能安全判定表24的控制指示,切断通信总线,将第1控制器4的设定配置改写为安全区域(HSM Core)20的故障安全配置27。另外,“配置数据的退化”还包含将在非安全区域(Host Core)10中对各程序等设定的配置数据改写为故障安全配置27。
例如,如图2所示,在非安全区域(Host Core)10的程序代码A被非法改写的情况下,在软件诊断中诊断结果被设定为“正常”(参照步骤S141),在通信判定中判定结果被设定为“正常”(参照步骤S160),所以在步骤S170中,作为“启动程序代码的切换”,从程序代码A11切换为待机面的程序代码B12,清除程序代码A。
在以上那样构成的本实施方式中,能够防止与安全攻击等异常的检测、诊断相关的软件的篡改,并且能够进行与发生了异常时的原因相应的应对。
<附记>
另外,本发明不限于上述实施方式,包括在不脱离其主旨的范围内的各种变形例和组合。另外,本发明不限于上述实施方式中说明的具备全部构成的构成,也包括删除了该构成的一部分的构成。另外,上述各构成、功能等也可以通过例如在集成电路中设计它们的一部分或全部等来实现。另外,上述的各构成、功能等也可以通过处理器解释并执行实现各自的功能的程序而通过软件来实现。
符号说明
1…车辆,2…车载用装置,4…第1控制器,5…第2控制器,10…非安全区域(Host Core),11…程序代码A面,12…程序代码B面,13…安全防火墙,20…安全区域(HSM Core),21…诊断功能,22…通信监视功能,23…事件判定功能,24…功能安全判定表,24a…事件,24b…诊断结果,24c…判定结果,24d…故障安全动作,25…密钥值/MAC值,26…重塑用故障安全代码,27…故障安全配置,100…第1网络,101…正常数据帧,102…攻击数据帧,103…通信总线,200…第2网络,201…正常数据帧,202…通信总线。