返回

摘要
当今世界,在互联网多模式发展和工业智能化趋势的背景下,传统制造业逐渐向“智能制造”转型升级。因此,汽车产业在移动互联、大数据及云计算等技术的推动下向智能化、网联化发展的趋势愈发明显。当前,CAN总线作为汽车行业专用的总线,已暴露出了越来越多的车联网信息安全问题,无法适应汽车的发展趋势。


对此,传统的CAN总线引入一套通信认证的方法,即SecOC(Secure Onboard Communication)。SecOC作为新一代车内网络安全总线方案,美亚网安已将该技术集成在车联网信息安全自动化检测试验设备中,通过在国内主机厂进行SecOC总线验证性测试,积累了测试用例,并取得了良好的效果。

CAN,是控制器局域网络(Controller Area Network, CAN)的简称,它作为汽车行业专用的总线已经存在多年,该协议由博世(Bosch)公司发起,并且已经成为车内最主要的总线架构,同时也为博世带来源源不断的授权费。

1628216270103618.png

CAN通信协议在诞生之初,核心设计理念就是低成本和高稳定性。虽然它也有提及高通信速率的需求,但是在当时技术人员眼里的高速率,也不过是125Kbps~1Mbps,这保守的速度区间放在当今,已经无法适应汽车的发展趋势。



在智能化、网联化这个大背景下,汽车开放性也逐渐加大,CAN总线在设计之初本身就没有考虑过信息安全问题,明文传输、报文广播传输、极少网络分段、无内容校验等特性,让CAN总线的劫持、篡改、伪造、重放等攻击变得异常容易,攻击者可以轻松通过这些攻击方式实现对车辆的控制。这也是2015年Charlie Miller和ChrisValasek通过某种远程方法连上JEEP大切诺基的车内网后,能够随意地控制车辆运行的根本原因所在。



因此提升CAN总线的安全性以便适应智能网联汽车对信息安全的需求,博世在AUTOSAR中补充了Secure Onboard Communication(SecOC)组件,为传统的CAN总线引入一套通信认证的方法。

1628216297317716.png

虽然在SecOC总线推出之前,汽车开发的技术人员为了提升通信的稳定性,尝试在标准CAN报文的负载中加入CRC或做一个报文顺序计数器,前者能够防止伪造报文,后者通常用来防御重放攻击,但是对于恶意入侵来说,这些技术手段仍然太过脆弱。



由于标准的CAN报文数据载荷有限,仅有8个字节,因此CRC和计数器被设计的尽可能占用更少的载荷,这就使攻击者可以很容易地逆向出CRC算法,或者很大概率被随机CRC猜出正确值。此外加入计数器,对于ECU来说仅作为参考,很多ECU是不关注计数器数值的,即使计数器被篡改,CAN总线报文依然可以被ECU执行。因此SecOC是目前为止车内CAN网络中唯一有效的信息安全方案。

1628216320413904.png

SecOC是在AUTOSAR软件包中添加的信息安全组件,增加了加解密运算、秘钥管理、新鲜值管理和分发等一系列功能和新要求。SecOC占用CAN报文载荷中的若干字节,在其中填入身份认证和新鲜值字段。于是CAN总线通信变为如下过程:



(1)报文的原始数据切片,加上秘钥、新鲜值,使用AES128生成身份认证信息;



(2)将身份认证信息的切片和新鲜值切片,插入CAN报文载荷的指定字段中,CAN协议可以是传统CAN,也可以是CAN-FD。其中新鲜值切片长度可以为0,但是身份认证信息切片是必须存在的;



(3)接收方首先验证MAC,然后根据同步到的新鲜值,进行新鲜值验证,全部通过后才会是真正使用数据载荷,否则则丢弃报文,同时记录一条错误信息,存储在NVRAM中。 

 1628216366298571.png

从上面的通信过程可以看出,SecOC的核心思想在于通信认证,但不涉及到报文加密,在应用SecOC协议后,虽然CAN总线通信依然是明文通信,但是攻击者伪造报文的难度已经被大大提升了,实施SecOC后,仍然会占用一定量的CAN报文载荷,从而导致总线负载率提升、通信实时性下降,甚至正常功能影响等问题。因此在实际应用中,在CAN报文载荷中尽量减少MAC和新鲜值占用就变得尤为重要。



目前国外主机厂普遍都会搭载SecOC或同等水平的车内总线信息安全技术方案。国内主机厂相对来说比较保守,大部分仍然处于PoC阶段,不过相信不久的将来,SecOC总线也将会在国内主机厂中得到应用。

注释: 

1、SecOC,全称Secure Onboard Communication,主要用于对车内敏感信息进行认证。

2、CAN,是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。

3、CRC,循环冗余校验(Cyclic Redundancy Check)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。

4、ECU,是电子控制单元(Electronic Control Unit)的简称,又称“行车电脑”、“车载电脑”等。

5、AUTOSAR,全称为Automotive Open System Architecture,即汽车开放系统架构。

6、POC,全称Proof of Concept,意思是为观点提供证据,它是一套建议的电子模型,它可用于论证团队和客户的设计,允许评估和确认概念设计方案,POC的评价可能引起规格和设计的调整。


当前,美亚网安在汽车信息安全与汽车取证方面已经有了深度的研究,全面理解汽车电子电气架构和总线协议。未来,北京美亚网安将持续性的输出车联网信息安全技术的能力,加强同国内外主机厂的合作,提升整个汽车行业的信息安全能力,为整个汽车行业做出自己的贡献。