登录| 注册 退出
驭捷智能

浅谈汽车网络安全(Cyber Security)-MCU

2021-04-25       浏览:  
分享到:

为何要引入汽车网络安全

随着汽车新四化的发展,尤其是网联化及自动驾驶的推进,汽车网络安全显得越来越重要。

一方面,汽车在使用过程中会产生大量用户数据,比如你什么时间去了什么地方,以及日常车辆行驶路线规律等信息,这些数据都是用户的隐私。假如你每个月的某一天都会驾车去一个固定的酒店(此处省略一万字),而你的车辆行驶信息被人窃取会带来什么样的后果。

另一方面,随着高级驾驶辅助(ADAS)及自动驾驶的推出,车辆动力及制动控制需要部分或全部授权给智能驾驶系统,而车辆又暴露在互联网当中,此时如果智能驾驶系统被黑客攻破,后果将不堪设想。所以汽车网络安全非常重要。

看过《升级》这部电影的朋友应该会对一个情景记忆犹新,男主Grey和女友Asha乘坐的自动驾驶汽车突然失控,车辆脱离预定驾驶路线,驶向一处暴民聚集的贫民窟。在那里,两人遭到了袭击,Asha不幸丧生,而Grey身受重伤下半身瘫痪。

这样的情景不只是发生在影视剧里,早在2015年黑客就能通过攻破车辆的通信系统从而控制汽车。

在以70英里/小时的速度行驶过程中,一辆吉普车的空调系统突然被打开,开始吹冷风;然后车的无线电开关自动开启,雨刮器也突然动了起来,雨刷液喷射到挡风玻璃上;最后车自动驶离了原来的路线。甚至可以远程控制车辆的制动系统,导致车毁人亡。

上述车辆奇怪的行为是IOActive的研究员Charlie Miller 和Chris Valasek 利用Jeep车Uconnect信息娱乐系统中的0-day漏洞,远程攻击车辆导致的后果。以上的例子无不突出汽车网络安全在未来的汽车上显得越来越重要。

今天来介绍一下MCU上有哪些网络安全相关的技术手段,虽然车载MCU一般不会直接通过网络与互联网连接,但是黑客一旦攻破车载无线通信系统(WIFI, 蓝牙等),之后就可以通过CAN网络访问MCU。因此在MCU上使用网络安全措施也是非常有必要的。

安全启动 - 检查Bootloader的完整性和可靠性

下图展示了如何检测和防止bootloader被篡改。

浅谈汽车网络安全(Cyber Security)-MCU(图1)

1)MCU上电之后,CSE模块(Cryptographic Services Engine - 加密服务引擎)会从Code Flash读取bootloader。

2)CSE模块使用boot key通过AES-128加密算法为bootloader计算出一个MAC值(Message Authentication Code)。

3)CSE模块比较第2步计算出来的MAC与存储在CSE寄存器中的MAC(该MAC值是刷写bootloader时写入的)是否相同。如果相同,则安全启动认证成功 -> 表示安全启动成功的数据位会被置位并解锁。

4)黑色箭头处,开始执行bootloader程序。

安全通信

下图展示了如何防止非法的消息发送。左侧是主ECU,右侧是传感器ECU,二者通过CAN网络进行通信。

浅谈汽车网络安全(Cyber Security)-MCU(图2)

1)主ECU的CSE模块会生成一个随机数并把它发送给传感器ECU。

2)传感器ECU读取传感器的值,把传感器的值、从主ECU收到的随机数和key #x输入给AES-128加密算法进行加密。

3)传感器ECU发送加密后的消息给主ECU。

4)主ECU的CSE模块使用key #x对收到的消息进行解密。

5)主ECU把解密出来的随机数和自己发送给传感器ECU的随机数进行对比,如果一致则认为该消息是合法的,否则丢弃该消息。

部件保护

ECU的替换或篡改会改变它唯一的ID或key。下面的例子将会展示这二者的改变是如何被检测的。

浅谈汽车网络安全(Cyber Security)-MCU(图3)

1)主ECU生成一个随机数并把它发送给ECU。

2)ECU把它自己特有的ID和收到的随机数进行加密(使用key #x),并把加密后的消息发送给主ECU。

3)主ECU使用key #x对收到的消息进行解密。

4)主ECU检查解密出来的随机数是否和自己发出去的相一致,解密出来的ID是否和本地存储的ECU的ID相一致。如果二者都一致,则认为ECU 正常,否则认为ECU被非法替换或者篡改了。

上面简单介绍了MCU上使用到的几个常用的Cyber security的手段,以后有机会再介绍更多相关技术。

总之汽车网络安全在未来汽车上显得越来越重要,对汽车网络安全的研究也会越来越多。

————————————————

版权声明:本文摘自CSDN博主「汽车软件后花园」文章



在线
客服

在线客服 - 驭捷智能周一至周日 10:00-24:00(欢迎呼叫)

选择下列服务马上在线沟通:

客服
热线

18917451722
6*12小时客服服务热线