点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
01
前言
为了保证保证将要运行的目标代码是可信的且完整的,目前主机厂都提出了安全启动的要求。为了快速启动,因此需要HSM这种高效的代码、加密引擎的硬件加速能力、可信的启动引导程序。
安全启动的需求主要包括:1. 用户代码执行前均需要被验证;2. 上电之后50-100ms内具备接收NM报文和发送报文(普通报文或NM报文)的能力;3. 启动时采用对称加密算法。目前常用的启动方式有两种:顺序启动方式和阶梯式启动。
02
HSM简介
HSM在TC397上是一个ARM-M4内核的处理器,它可以直接通过bridge寄存器来交换信息,也可以通过共享内存来交换大数据,如下图所示。
HSM和Host通信的寄存器
HSM是一个独立的处理器,在TC397中的内存划分如下所示。
HSM内存划分
03
启动方式
2.1 顺序启动方式
顾名思义,顺序启动就是先启动HSM,然后校验完HSM的bootloader和APP后,再去校验应用程序的bootloarder、APP和data等,具体如下所示。
顺序启动
2.2 阶梯式(Staged)启动
为了解决顺序启动时间过长的问题,我们又可以采取阶梯式启动,如下所示。
阶梯式启动
如图校验完应用的BootloaderCAN协议栈和OS就开始执行应用,剩余的应用同步校验。这样可以减少启动时间,同时快速参与到网络管理和报文收发中。
2.3 混合启动
为了加快启动速度,还可以将应用的信息协议栈通OS和CAN协议栈一起校验后启动,此时就可以在应用中校验其余还未被校验的应用代码(如以太网协议栈、用户代码等,在TC397的Tricore1.6.2P架构中HSM是ARM-M4内核,其处理速度是小于Tricore内核的,甚至于此时可以用HSM和Tricore共同来校验剩余代码),如下图所示。
04
校验方法
校验方法可以通过以下三种方式来进行:代码的hash值(整个代码使用SHA-2-256算法计算hash值,并将hash值存储在HSM的NVM中(该值必须是被保护的))、签名验证(经过HASH后的代码连同hash一起使用RSA2048计算签名)和消息认证(MAC, Message Authentication Code)。下边我们来说一下为什么要采用这三种方式。
3.1 hash
hash函数可以对任意输入产生固定长度的摘要值,因此输入的任何改变都会导致摘要值发生变化,同时也无法通过摘要值反推、构造出消息本身,因此hash函数可以保证EcuA发给EcuB的信息不会被篡改。
但hash值无法保证消息的广义完整性,即可能出现如下情况:作为hacker的EcuC可以改变EcuA的消息然后根据消息重新计算hash值再发给EcuB,这个时候EcuB是无法识别到的,因此需要消息认证(Message Authentication)来确保这条信息就是真正的通信对方发过来的,而不是hacker!
3.2 消息认证
消息认证一般是使用加密和解密算法,只会接收和执行拥有密钥方的指令。之前已经分析过,其实E2E中的dataid就相当于是一个EcuA和EcuB拥有的密钥,只有拥有这个密钥的人发过来的信息才是经过验证的。和之前CAN计算CRC需要data id这把密钥参与一样,在安全升级过程中发送的信息除了消息本身,还有一个摘要值(hash值),该hash值是根据消息和共享密钥计算的,而接收方也是根据消息和共享密钥计算hash值,只有该值和发送方的hash值一致时才认为是有效消息,即使hacker截获了消息,但是由于它没有共享密钥,因此它计算出的hash值和接收方的也是不匹配的。
3.3 签名
名其实也就是做消息认证,只是上边的共享密钥是基于对称加密算法,而签名是基于非对称加密算法的,其过程如下所示:
-
EcuA先对消息做hash计算得到摘要值;
-
EcuA使用私钥对hash得到的摘要值进行签名运算;
-
EcuB收到后先利用公钥对EcuA的签名进行验签,得到一个值,再对消息做hash计算得到摘要值与验签值进行比较,若相同则证明消息确实是EcuA发送过来且未被更改的。
end
精品活动推荐
专业社群
部分入群专家来自:
新势力车企:
特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......
二级供应商(500+以上):
Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......
人员占比
公司类型占比
原文始发于微信公众号(谈思实验室):车载信息安全不可不看的安全启动
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论