欢迎光临第四届中国汽车网络信息安全峰会2019!

降低系统级风险,确保连网汽车安全

发布日期:2017-12-22

视觉传感器 / 汽车电子

随着业界朝向智能车辆控制的方向迈进,人类的生命正交由传感器、MCU和算法来掌控。因此,转向先进驾驶辅助系统的下一步,必须谨慎考虑隐藏的系统级风险以及由此导致的安全隐患…

过去一百多年来,汽车产业一直是经济成长的推动力。汽车产业持续带领着技术的变革,让汽车成为安全、舒适和高效率的运输方法。但是,到目前为止,这些都只是一点一点地在增加和演变,而不是革命性的重大变革。随着自动驾驶车(self-driving car)的出现,我们也踏上了革命性变化的起点。为了带领这种变革且不至于减损安全的性能,我们需要仔细地研究从设计时间到IC层面的系统级风险及其减缓措施。

自动驾驶汽车确实酷炫。毕竟,谁不想以150MPH的速度在高速公路上飞驰,同时观赏《哈利波特》(Harry Potter),而不需要担心驾驶呢?但是,它们并不只是酷这么简单。它们可为某些棘手的重要问题提供解决方案──有助于减少车祸,节省在交通拥挤中所浪费的数百万小时以及停车场所浪费的城市空间,而这些还只是其中一小部份的例子而已。

为了使自动驾驶汽车的美梦成真,需要将几种技术结合起来,相互搭配运作。先进驾驶辅助系统(ADAS)能够实现更好的情境感知和控制,使驾驶变得更简单、更安全。ADAS技术可以采用车辆内建的系统──也就是车辆常驻系统,如视觉和摄影机系统,以及传感器技术,或是在车对车(V2V)或车对基础设施(V2I)系统(合称为V2X)情况下,采用以智能、互连为基础的网络。

V2X通讯利用电路板上的专用短距离无线通信组件,将有关车辆速度和车身大小、前进方向、煞车状态等安全相关信息传送给其他车辆,并从这些信息中接收关于其他车辆的相同信息。V2X网络采用多点跳跃(multi-hop) 技术,透过其他节点传送这些信息,从而实现远距离的通讯。更远的检测距离以及观察角落或其他车辆的能力,有助于让配备V2X的车辆比传感器、摄影机或雷达更早发现威胁,并据此对驾驶者发出警示。

图1:自动驾驶架构图

随着这些技术的成熟,要能够成功部署的最重要因素是可靠性和现场性能。车用电子系统的历史记录一直都是问题重重,特别是最近的记录。我们已经了解了电子访问控制系统的脆弱,也听闻过自动加速车辆(self-accelerating car)造成伤亡的事件。两名“道德”黑客因展现远程访问的脆弱性,进而成功控制了Jeep Grand Cherokee并使其失控而登上了媒体头条。这些和其他事件,都暴露出我们需要克服的潜在挑战。

三种最常见的威胁领域是:

  • V2V和V2I通讯

  • 使用移动设备、U盘或MP3设备

  • 售后市场和维修/诊断

安全挑战随着与外部世界连接的每一节点而升高。连网汽车中存在几个这样的节点,若不是与因特网连接,就是与作为V2V网络一部份的另一辆车辆通讯。在这些车辆中,必须确保与外界的通讯取自经过验证的来源,而且在传输过程中未被篡改过。

为了确保安全,设计人员必须从底层硬件着手,通常需要解决的问题如下:

  • 硬件完整性——以硬件预防/检测篡改

  • 车用软件和数据的完整性和真实性——不容许未经授权更改任何车用软件,或者必须是可查明修改的

  • 车载通讯的完整性和真实性——接收器必须能检测出未经授权的数据更改

  • 车载通讯和数据的保密性——不容许传输或储存的机密数据未经授权揭露

  • 向其他(远程)实体证明平台的完整性和真实性——有能力证明该平台配置的完整性和真实性

  • 车用数据和资源的访问控制——实现可用性和定义良好的存取方式

挑战可归纳成以下三个主要领域:

  • 安全硬件——底层硬件非常安全,必须无法被篡改,并且能够形成信任根源;

  • 设计安全——硬件上所建置的设计十分安全,且无法被篡改;

  • 数据安全——所有数据通讯类型都是安全的和可靠的。

    图2:多个分层的途径对于确保硬件,强化设计安全性和锁定数据安全性至关重要

确保系统安全可从确保硬件安全开始。安全且受信任的硬件构成了安全系统的基础。它提供了必要的建构模块,可用来验证、授权通讯与行动等。对任何系统都是如此,而对于V2X系统来说尤其重要。

确保V2X安全

为了实现可靠的V2V/V2I通讯,必须确保通讯来自于已知的来源,而且不至于在传输过程中被更改。

为了证明真实性,信息发送者必须向接收者提供能够验证的某些辨识形式,以确认信息来自正确的来源。这可以利用对称或非对称的加密技术实现。

对V2X网络来说,由于网络的复杂性和规模,通常不能使用对称加密,而是采用不对称加密,并提供一种可扩展的方法来连接网络可能需要的节点数量。为了实现这一点,每个节点都会采用一种私钥,对每一笔传输的信息签署数字签名。接收端则以传输给所有接收节点的相关公钥(public key)来验证这种数字签名。这种方法不仅扩展性比对称加密方案好,也比较容易更换出错的节点。

但是这种方法也带来了另一个问题:如何确保每个节点所使用的密钥和公共密钥是真实且未被篡改?

问题第一部份的最佳可能解决方案是采用硅IC的生物签名,这种签名方式的基础是每个组件生产工艺中的微小实体变化。这些工艺变化永远不可能相同、无法被复制,也没有两个IC具有相同的工艺变化,从而为每一组件提供了****的签名。这种签名被称为实体****功能(PUF)。除了****之外,采用PUF的密钥通常是在原子的层级上实现的,因而很难被黑客撷取。IC可以将PUF的基础建立在几种实体因素上,如内存组件、逻辑延迟和电阻。基于SRAM的IC利用SRAM单元**的随机启动状态产生密钥,由于该单元的状态会在断电时被擦除,因此更加安全。

问题的第二部份可透过公钥基础架构(PKI)解决。PKI是一种创建、储存和分配数字证书的系统,用于验证属于某一实体的特定公钥。PKI可创建出一种将公钥映像到实体的数字证书,并将这些凭证安全地储存在中央储存库,必要时还可加以撤除。

在PKI系统中,认证机构(CA)利用自己的密钥对其公钥签署数字签名,从而为所有的节点进行认证。最常见的公钥认证格式是X.509。当一个设备利用其密钥传送信息并以数字方式签署时,该信息可采用设备的公钥验证。该设备也可以将其X.509凭证发送给接收其信息的所有节点,让它们都可拥有其公钥。X.509凭证,包括设备的公钥,也能以CA的公钥在接收端进行验证;CA的公钥会事先放在所有的节点之处,而且是本质受信任的。采用这种方案,由于发射器采用的签名可以由接收器验证,因而能够建立经过验证、以凭证为基础的分级信任链。这种方案还能确保易于检测出造的设备。

当今车辆中的电气与/或电子内容增加的规模,已经将业界的注意力转移到确保这些内容不会对系统或接口设备造成任何威胁,以及如果造成威胁的话,可以采取预防或纠正的措施。

特别是随着业界朝向智能车辆控制的方向迈进,正将人类的生命交由传感器、微控制器(MCU)和算法来掌控;同时,随着电动车的出现,电气与/或电子内容的规模增加还更胜以往。因此,转向先进驾驶辅助系统的下一步,必须认真考虑隐藏的系统级风险以及由此导致的安全隐患。从设计时间开始一直延伸到IC层面,整个系统都必须采取安全的措施。