汽车安全的核心组件:电子控制单元(ECU)
要谈论安全,首先需要谈论电子控制单元(ECU),过去,车辆安全策略常常依赖多个ECU。ECU 就像是汽车的 “小管家”,负责控制汽车各个不同的功能。但如今,汽车制造商越来越倾向于使用单个功能更强大的 ECU。这是因为单个增强型 ECU 能够提升汽车的性能和电源效率。
不过,这样一来,冗余性就降低了。为了弥补这一不足,汽车制造商采取了多种措施。一方面增加数据加密功能,让黑客难以窥探和篡改;另一方面引入强大的安全IP,筑牢安全防线。同时,还要求更多类型的工程师接受一定程度的安全培训,让整个汽车制造团队都具备更强的安全意识。
英飞凌汽车美洲市场副总裁Bill Stewart提到,汽车的转向系统、制动系统、动力系统,无论是内燃机汽车还是电动汽车中的这些系统,都属于关键任务系统。就连许多先进驾驶辅助系统(ADAS)也不例外,ADAS 会采集传感器数据,然后将其转换为车辆行驶方向的指令,进而转化为制动或油门指令。这些关键系统的正常运行关乎行车安全,所以需要高质量且具备安全防护功能的设备,而且随着技术发展,安全标准也在不断变化和提高。
识别攻击向量:找出汽车安全的薄弱点
一支优秀的运动队要想防守出色,就得清楚了解对手的进攻计划一样,保障汽车信息安全的关键也在于找出系统的薄弱环节,也就是识别攻击向量。
Cadence计算解决方案集团副总裁David Glasco指出,从严格意义上讲,汽车有一个直接攻击向量,那就是用于上传所有软件更新的 WiFi。一旦恶意行为者突破了这个 WiFi 防线,就如同打开了汽车系统的 “大门”,他们便能找到无数方法对汽车系统造成破坏。比如,黑客进入汽车系统后,就能接触到芯片,通过监测芯片的电磁辐射来推断密钥,这就是一种可怕的侧信道攻击。如果安全系统没有侧信道防护,这种攻击实施起来相当容易。所以,汽车不仅要有信任根来建立安全基础,信任根还必须具备所有必要的侧信道防御能力,才能有效抵御这类攻击。
西门子数字化工业软件混合与虚拟系统副总裁David Fritz也表示,威胁可能来自计算系统本身之外的任何外部事物。汽车中的众多传感器就可能成为一种非常规的攻击途径,黑客可以利用这些传感器将不良数据输入中央计算系统。不过,在如今的汽车架构中有一个安全岛,它是 ISO/SAE 21434 标准所要求的,通常以 ECU 的形式存在。安全岛就像是一个严格的 “审查官”,所有外部输入的数据都必须经过它验证为合法后,才能传递到中央计算系统。
过去汽车设计中常部署多个 ECU,而现在的趋势是采用一个计算能力更强的 ECU 来运行管理程序,进而运行多个操作系统。比如,可能有一个安全操作系统专门处理关键任务,像控制制动、转向等,而在同一个 ECU 上还有另一个操作系统,可为后座播放视频等非关键任务服务。这种情况被称为混合关键性,将不同关键性的任务整合在一起,带来了诸多好处,如减轻了汽车重量、降低了功耗,从而增加了电动汽车的续航里程,成本也大幅降低。但同时,由于非关键任务与关键任务在同一环境中运行,所以确保进入这个整合后的 ECU 的数据没有被损坏,不会携带破坏关键任务的数据或程序就变得非常重要。
加密:汽车信息安全的核心防线
ECU 可以看作是一个强化的网关,在这里会进行加密操作。加密就像是给数据加上了一把特殊的锁,只有拥有正确钥匙(密钥)的人才能打开读取数据。同时,ECU 还需要不断增强功能,以防止任何潜在故障,不管是人为攻击还是其他原因导致的。
Fritz提到,汽车系统会进行各种纠错、加密 / 解密、公私钥管理等常规安全操作。但要是硬件本身存在能绕过这些安全机制的途径,那所有的安全措施都白搭。所以,需要专门设计的安全芯片,确保即使遇到电池电量低等情况,安全防护也不会停止工作。
所有安全措施的核心是正确且强大的加密技术。加密算法和软件会不断变化,这就更加凸显了对可靠硬件的需求。在 ECU 中,加密尤为重要,同时车辆内部的数据也可以加密作为一种故障安全措施。例如,英飞凌使用一个独立于同一芯片上其他组件运行的专用安全处理器,它通过对车内数据流进行加密来提供一层冗余保护。
英飞凌的Stewart说,要从外部到内部全面保障车辆系统的安全,车辆内部的网络流量也需要加密,这主要在内置硬件安全模块的微控制器上进行。由于汽车中有大量数据在流动,像以太网消息、雷达数据、摄像头数据等,如果对每个数据都进行加密和解密,就需要大量密集的处理。而软件定义汽车(SDV)最大的特点就是硬件和软件功能的解耦方式,这使得需要来回传输更多数据,也就意味着对安全的要求更高,需要同时对这些数据进行加密。拥有高效处理器就显得很有优势,这些处理器有隔离区域,可以在不中断主处理器的情况下处理所有这些加密任务。
如今,汽车向整体安全转变的一个重要体现是在汽车系统的各个集成电路中安装信任根。信任根就像是汽车安全网络的 “基石”,用于在车辆内建立安全网络。通过它可以确定车辆的安全性,还能将车辆身份与制造商的网络关联起来,为软件认证和安全更新提供方法,而且这一切都源于芯片中的硬件信任根。即便向软件定义汽车转型,这种安装信任根保障安全的方式也会持续下去。
安全 IP 在软件定义汽车安全中的关键作用
在软件定义汽车的安全保障中,安全 IP 发挥着关键作用。有些安全关键问题可以在软件层面解决,但相比基于硬件的解决方案,软件层面可能会带来更多漏洞。Imagination产品管理高级总监Rob Fisher表示,在 GPU 中创建虚拟环境能带来更好的安全效果。他们公司最先在手机中采用这种方法,现在将其应用到了汽车领域。
在 GPU 中,他们允许非安全关键任务与安全关键任务并行运行且互不干扰。简单来说,就是在 GPU 中创建多个相互之间无法通信的环境,实现了隔离,这完全是出于安全考虑。在片上系统(SoC)上创建安全环境的策略之一,是对这些环境进行分区,并设置权限级别。这样一来,特殊应用程序可以访问架构的不同部分,而正在运行的第三方应用程序则没有相同的访问级别。
在汽车领域实施这种安全IP,能使 SoC 通过执行周期拆分任务,执行一系列不同的任务,比如信息娱乐任务或者与 ADAS 相关的任务。这两个任务会分布在物理上分离的硬件寄存器中。这种方式不仅在功能安全方面有明显贡献,对车辆的网络安全也有积极影响。
Fisher举例说,拥有多个环境就如同在 CPU 结构中设置不同的特权级别,这样可以把非常低的特权级别分配给第三方应用程序。比如在自己的车里下载一个寻找停车场的新应用程序,我们并不清楚是谁编写的这个程序,也不确定编写者是否以合理、安全的方式编写。这个程序甚至可能是一个试图入侵汽车的应用程序。所以,我们可以在 SoC 中一个高度隔离的区域运行它,给它分配一个非常低的特权级别,使其不允许访问 GPU,也不允许访问车辆总线、传感器总线等关键部分,从而保障汽车系统的安全。
软件定义汽车设计师的安全使命
从强大的 ECU、多层冗余到安全 IP,实施这些安全功能虽然需要成本,但却是十分必要的。在软件定义汽车的背景下,安全应被放在首位,优先于对性能、功耗和面积(PPA)等其他因素的考虑。
Cadence的Glasco强调,安全对于汽车就如同汽车本身的安全性能一样至关重要,是首要任务。如果有人能够侵入汽车系统,那后果不堪设想,可能会导致严重的交通事故。所以,必须拥有优秀的安全架构师,深入思考各种威胁向量。如今,互联网连接汽车、WiFi 连接汽车和 OTA 更新的普及,使得攻击向量大幅增加,攻击者可能会想尽办法寻找新的攻击途径。
Rambus汽车行业业务开发总监Adiel Bahrouch认为,汽车是一个非常复杂的系统,而复杂性恰恰是功能安全和信息安全的大敌。现在的汽车与外界 24 小时不间断连接,并且为了 ADAS 和自动驾驶,会从传感器收集大量数据并进行处理。因此,这两类安全变得极其重要。在汽车设计中加入安全功能,会影响到特定的系统选择和系统架构选择。
Glasco也认同这一点,虽然攻击者试图远程访问车辆时大概率要通过 ECU,但汽车仍需要多层冗余来保障安全。这些冗余可以硬件安全模块(HSM)的形式存在于整个汽车系统中。虽然考虑到所有传入数据最终都要通过 ECU,设置这么多 HSM 可能看起来有些过度,但这对于保障汽车信息安全却是必不可少的。英飞凌的Stewart说,安全是一个系统级的决策,不能说某个部分安全,而其周围的部分却不安全。在区域控制器、制动模块、转向模块等各个部分都设置 HSM,就是为了确保所有网络流量都是安全的。
另外,汽车的使用寿命通常远远超过十年,所以加强安全防护尤为重要。新思科技的Borza指出,在汽车制造时实施的安全措施必须足够灵活,以便能够执行可能在遥远未来才上传的更新。至少要有一个计划,在车辆的前十年使用寿命内持续进行更新,确保在安全问题出现、被发现以及威胁出现时能够及时解决。这涉及硬件信任根与软件的相互作用,以此来验证所有下载内容,以及车辆内部、车辆与网络之间的所有通信。
结语
网络安全对于软件定义汽车来说至关重要。我们不能把汽车看作是孤立组件的集合,而要将其视为一个整体系统。过去,汽车通过多个 ECU 实现安全防护,如今趋势转变为在汽车最大的薄弱点采用单个强大的 ECU,并在车辆的整个生命周期中辅以不同的冗余和新的更新。汽车制造商面临的挑战是深入了解这些系统如何单独和协同工作,这或许需要将安全培训作为汽车设计各个方面的先决条件。未来,汽车只会变得更加复杂,所以安全也日益成为汽车行业每个人的责任,关乎每一位驾驶者和乘客的安全与权益。