2022年8月5日,由盖世汽车、AUTOSAR组织联合主办的2022第三届软件定义汽车论坛暨AUTOSAR中国日活动中,维克多汽车技术(上海)有限公司商业开发经理郝子鉴首先对智能网联化趋势下,汽车的网络安全需求和技术环境进行了简要介绍,接着对维克多提供的产品MICROSAR,其与AUTOSAR兼容的加密协议栈、行业主流HSM硬件安全模块进行了详尽地介绍。
汽车信息安全性在智能网联时代需提上日程
SDV时代,随车身代码数量不断增长,继功能安全之后,网络安全正成为汽车领域最火热的话题。目前行业更多做的是V2V,V2X的互联,也就是说,车不再是以车内的通信为主,而是转而集中在车外,这种智能互联会带来网络安全和数据安全的问题。我这边会介绍一些维克多针对网络安全和数据安全的解决方案,希望给大家或者各个主机厂和tier1更多启示。
图片来源:维克多 官网
功能安全和信息安全/网络安全这两个概念经常能听到,但大家不一定能理解对。通过这两张图可以更快地分清它们:上图是保护人免遭系统的伤害,因为人是最重要的,最需要保护的,功能安全更多指的是我们要保护人,来避免人受到汽车的伤害。
下图是保护系统免遭人的伤害,这个人就是黑客,需要避免网络入侵操纵系统。现在再单独提功能安全,已经没有什么意义了。即便安全方面达到的等级再高,一旦黑客入侵了,他就可以操控汽车破坏任何东西,这就不能再称之为安全。
图片来源:维克多
回到今天的主题,信息安全大概有四个目标:
第一点是真实性,简单理解就是收发信息的时候,发送方和接收方一定要是确定的,收信人可以明确对面是不是要接收的信息来源。
第二点是机密性,也就是明文变暗文,当有黑客去截取信息之后,它没有办法读到真正的具体内容。因为信息已经通过密钥和算法库进行了加密。
第三点是完整性,其实完整性在网络安全当中是非常重要的一点,信息是不会允许其他人篡改的,或者说当信息被篡改之后,接收方可以知道,从而选择将信息直接弃用,或者采取其他措施来避免风险。
最后一点是不可抵赖性。网络安全会要求对数据进行签名,从而使信息的发布方透明化。
图片来源:维克多
在使用过程中,数据安全和信息安全的关系非常密切,首先,要保障里程和计数等基本信息的安全储存、不被篡改。整体而言,保证系统的通信节点可靠,传输过程需要进行加密与完整新的确认,保证数据不会来自第三方/黑客。
车外互联方面,比如车辆与基站的通信等需要连接外部网络,那么连接过程中肯定要有措施进行保护。再比如升级,升级方是否允许和授权,升级后软件是否被篡改,这些都是要考虑到的问题。
维克多针对网络安全的具体方案:MICROSAR Crypto Stack
维克多企业总部位于德国,着力于为ECU开发符合AUTOSAR标准的基础软件,在网络安全标准上有丰富经验。其产品MICROSAR包含与AUTOSAR兼容的加密协议栈(CSM、CRYIF、Crypto SW/HW)。
基础协议站在MICROSAR的网络安全部署中居于关键地位:上文提到信息安全的四点目标会通过基础协议站落地。右侧简单模块内容在AUTOSAR的规范当中有明确的定义,而且定义随着智能网联的不断推进而逐步完善。
图片来源:维克多
图片上方的加密协议站也是在AUTOSAR上已经进行了定义。
图片的左下方带有红色ve标志的部分,更多是维克多的解决方案,是主机厂可进行定义的内容:主机厂对密钥相关的处理、认证等,维克多所提供的服务会根据主机厂的需求来定制和开发。
下图是对模块的概览,这里我会把基础和信息安全相关的模块给大家列出来,右半部分是基础软件协议站,包括诊断和协议。左侧大家可以看到是FBL和veHSM,也就是说,右侧是提供基础和支撑,支撑之上可以再去提供相应的安全更新下载,然后通过veHSM提供更多的软件算法和加速支持。
图片来源:维克多
接下来具体看一下这里面AUTOSAR定义的三个模块的关系与作用。
AUTOSAR整个从上到下的架构都是很类似,最上面是应用也就是SWCs中的算法,最下面的深灰色模块是和硬件相关的驱动,中间的模块是为了做解耦,最上面是个偏管理的模块。
Csm模块可以直接调取上层的算法,比如说这个应用需要做算法和保护数据,可以直接通过函数调用。里面的内容包括优先级和处理方式,还会包括具体用到的算法:是对称加密算法AES还是非对称算法,都会在我们这里进行配置和使用。
再往下,通过中间模块对下层硬件/软件进行抽象和解耦,解耦之后对上层来说接口就完全统一。最下方是和硬件强相关的,这边适用于各种芯片,这层也会针对不同芯片去提供加密驱动。
图片来源:维克多
要谈数据安全,就需要对数据进行加密,保证完整性且避免重放攻击。如何保证ECU之间的通信数据完整性?比如说左侧是我们发送方,右侧是接收方,发送的时候我们会有原始数据,配合新鲜值更多是防止的数据重放:截取一部分数据之后会再进行发送。
这里用到的是对称算法:两边的密钥完全一样,进行MAC值的生成,会和数据新鲜值打包在一起,然后发送给接收方,接收方接收以后会进行逆向操作然后解读,这一流程没有问题的话,数据就可以进行完整的接收和继续往下传输,如果有问题则会把数据进行遗弃或者进行其他措施。
图片来源:维克多
接下来是KeyM,AR4.4会引入KeyM。证书的解析都会通过KeyM处理,它有一部分内容需要由主机厂去做、定义具体实施内容和逻辑,但底层接口有一定的标准可以参考。KeyM本身的密钥和证书安全等级很高,所以我们这边建议直接把它存到加密的HSM中,有单独的加密储存空间,这也是我们认为HSM的安全等级高的原因。
图片来源:维克多
接下来是介绍IdsM,其规范落地是在2020年10月份,但维克多在2017年就已经开发了这个模块,到目前,维克多的这个模块技术已经很成熟,可以直接供用户使用。如果有需求可以找到我们维克多,我们会给大家提供具体落地的方案。
具体来看内容,相当于IdsM是基础软件和应用层的安全传感器,它的作用是收集一些必要的安全事件SEM,事件之后会做过滤,过滤的内容可以自己定义,过滤的QSEv会发给idsR,idsR这一节点会帮助上传到云端,然后通过安全相关的平台或者云端进行分析。
图片来源:维克多
HSM硬件安全模块优势为何?
最后介绍一下HSM(Hardware Security Modules),其实在以前维克多更多做的是纯软件,也就是左边这种形式,但纯软件的弊端会比较多,它没有自己的CPU和升级,虽然在之后不断演变的外挂路径解决了纯软件的大部分弊端,但软件方案的安全性还是不够:没有单独自己独立存储的区域。
图片来源:维克多
SHE是基于两种方案的进一步扩展,SHE方案已经有单独用于储存的部分了,可以存储密钥、证书。安全等级也是硬件级别的。但SHE的性能也有限,因为它本身是在MCU这一端共享处理器,所以去处理密钥或者加密和解密需要进行额外的部署。
图片来源:维克多
HSM应该是维克多当前阶段会采用的一种方式,现在基本新的芯片或者成熟一点的芯片都可以完整支持HSM。它自己有独立的CPU,还有独立的存储区域,因此进行计算处理时占用的资源也是独立CPU的资源,不会和主核资源有任何冲突,这部分性能也能支持的更多,包括非对称的算法,包括对算法的加速,也都会支持的更好。
图片来源:维克多
下图的红色模块是维克多可以为大家提供的,此外,中间的FBL Application,升级相关服务,安全启动相关服务,也都由维克多提供。在这些做数据安全的时候可能会到的加密算法、加速支持,维克多可以通过veHSM Application针对不同芯片去提供服务。
图片来源:维克多
下图显示了完整的安全下载流程:首先会对文件进行相应的加密或者签名,做了个hash,因为hash的长度是固定的,这里会用私钥来签名,用公钥进行验签。签名之后,会实施刷写流程,实施过程中ECU会对签名进行验签,验签之后如果一致性没有问题,才会把文件下载至到ECU当中。
下载的同时,会计算CMAC,被储存至HSM中,那么在下一次启动的时候,HSM可以再去核对当下的数据值是否和上次存的一致,如果是一致那说明是安全的。
图片来源:维克多
这里对veHSM做一下总结,刚才讲的后半部分主要是针对HSM这块,它在网络安全也占了很重要的地位。这里支持的算法和安全启动,功能和证书类型我也简单罗列了一下,维克多的工具的完整性和一致性是没有任何问题的。
图片来源:维克多
我今天和大家分享的内容大概是这些,因为本身时间有限我也没办法展开讲,如果大家感兴趣但又不知道怎么落实,维克多也提供了咨询服务:比如说这边需要分析,或者以后需要过信息安全认证,维克多会有全套的流程,以及基础软件可以提供更强大的支撑。
(以上内容来自维克多汽车技术(上海)有限公司商业开发经理郝子鉴于2022年8月5日由盖世汽车、AUTOSAR组织联合主办的2022第三届软件定义汽车论坛暨AUTOSAR中国日发表的《汽车中的网络安全解决方案》主题演讲。)