随着人们越来越认识到我们的汽车正在演变为滚动数据中心,制造商面临着保持软件最新的挑战。部分需求是由经济驱动的;召回行动成本的上升使得自动升级变得至关重要。与此同时,消费者开始期待他们的计算机和移动设备会自动升级。因此,一个明显的步骤是使用移动连接进行软件无线 (SOTA) 更新。在汽车信息娱乐系统中使用 SOTA 更新已变得相对普遍,但在汽车的关键功能区域实施之前,需要考虑安全性、安全性和便利性因素。必须保护车辆免受篡改并且更新过程是可靠的,
IHS 的研究人员预测,向 SOTA 更新的运动 将加速,在最近的一份汽车报告中估计,通过 SOTA 节省的潜在成本将从 2015 年的约 27 亿美元增长到 2022 年的超过 350 亿美元(图 1)。降低召回成本、加快功能更新和提高客户满意度是汽车制造商 (OEM) 引入 SOTA 的充分理由。
【图1 | 显着的成本节约是 SOTA 的主要动力]
为电子控制单元 (ECU) 实施 SOTA 比信息娱乐应用要求更高。通常,带有嵌入式闪存的微控制器用于控制汽车中的实时应用程序。执行更新时,必须遵守质量、安全和安保标准。车辆安全绝不能因数据安全性差而受到影响。
如果没有有效的安全性,SOTA 更新很容易受到旨在操纵车辆安全关键应用程序的攻击。这可能会危及整个车辆的安全,在最坏的情况下会危及车内乘客的生命。需要一种支持使用证书和私钥以及加密操作的复杂安全架构来防止这种情况。合适的密码学基于标准算法,例如 RSA、ECC、AES 和 SHA。安全微控制器具有此类安全功能和特性。
SOTA 流程和必要的安全架构
除了 SOTA 集成的安全性和安全性方面,对于汽车制造商来说,将车辆现有系统架构的影响降到最低并保证最大可用性(即车辆必须保持静止的更新时间最小化)是极其重要的。在这方面特别感兴趣的是现有的车载网络架构和 ECU 级别的特殊要求。这些将在下面讨论。
以前,对 ECU(或整车)进行重新编程意味着要去车库。此类更新使用插入车载诊断 (OBD) 插座的诊断工具。诊断工具管理完整的更新过程(特别是新软件或服务包的下载)、分发到目标 ECU 以及最终验证。如果可能,OEM 希望为 SOTA 保留类似的机制。因此,对于 SOTA,诊断工具的功能需要转移到车载网络架构的中心点,并为附加 SOTA 过程提供所需的功能。
SOTA 更新通常在连续的步骤中执行。一旦一个新的软件包被生产出来并被赋予一个安全“包装”(加密和签名),与目标车辆的通信就会发生。在车辆(作为客户端)和 OEM 更新服务器之间建立安全连接。车辆与服务器平台进行相互认证,并建立一个具有传输层安全性(TLS)的安全加密传输通道,将新的软件包交付给车辆。在初始验证后,更新存储在中央存储器中。此更新阶段在后台进行,不会通知驾驶员或影响车辆在驾驶时的行为。实际的更新过程要等到车辆安全停放后由驾驶员启动后才会开始。
SOTA 架构
SOTA 的车辆架构基本上可以细分为三个 ECU 模块,其中不同的安全微控制器执行不同的安全功能:远程信息处理控制器、中央网关和目标控制单元(图 2)。
【图2 | SOTA实现的主要功能块:远程信息处理单元、中央网关和目标ECU]
远程信息处理单元通过其移动无线电接口连接到 OEM 服务器并执行服务认证。出于安全原因,建议为此关键身份验证功能实施专用安全控制器(即可信平台模块或 TPM)。除了实际的应用控制器之外,还使用了一个独立的微控制器 (MCU),以实现与车辆网络的安全连接。
中央网关中的 MCU 支持对接收到的软件进行验证和中间存储。还可以将安全关键的身份验证功能从远程信息处理单元转移到网关中。在这种情况下,建议将 TPM 放置在网关中,然后网关可以承担其他重要的安全功能,例如中央密钥管理。
实际更新是在驱动程序初始化后在目标 ECU 中执行的。数据包从内存传输到目标 ECU,在那里它被解密、再次验证并最终“刷新”。如今,汽车级 MCU 支持所有这些与安全相关的功能。
使用“信任锚”进行安全身份验证和验证
如上所述,被称为“信任锚”的安全控制器执行专门的安全功能以防止操纵和故障,尤其是在更新关键安全相关应用程序期间。TPM 是一种基于标准、经过认证的安全控制器,可专门用于关键身份验证功能。它的任务是确保只有经过授权的设备才能向车辆发送数据。
TPM 执行所有加密算法以进行身份验证。为此,它将长期证书和私钥保存在受保护的域中。TPM 2.0 支持最新的算法,如 ECC、RSA、AES 和 SHA 256。TPM 可以加密链接到应用程序处理器。TPM 的密钥存储器是可扩展的,可以安全地加载到应用处理器的外部存储器中。因此,OEM 能够保存更多的身份验证证书。
TPM 是在经过安全认证的制造过程中生产的,其中第一个密钥安全地保存在 TPM 中。与安全硬件扩展 (SHE) 模块或硬件安全模块 (HSM) 相比,TPM 中的保护级别(例如针对硬件或侧信道攻击)要高得多。但是,所有相关的 MCU 都应具有这些集成安全模块之一,以确保端到端保护。
典型的网络攻击以执行非指定操作的方式操纵系统。为了防止这种情况,系统通常被分解为不同的、隔离的安全域。TPM 是隔离安全域的示例,它将非对称密钥存储在单独的受保护环境中,并将它们用于加密过程。汽车微控制器还定义了隔离的安全域。HSM 可以将安全功能与应用程序域隔离开来。第一个重要步骤是通过安全启动对在驾驶周期开始时涉及的微控制器中的程序存储器进行完整性检查;SHE 和 HSM 都使用加密校验和检查内存内容。
具有嵌入式 HSM 的 MCU 还对接收到的软件进行重要验证。验证过程受益于 HSM 强大的加密加速器和快速通信总线。此验证由网关 MCU 使用 HSM 执行。由于固件验证仅使用公共证书,因此安全要求低于身份验证过程。
在 SOTA 上下文中,HSM 也可用于按需完整性检查。在我们的示例中,远程信息处理单元和网关都安全地交换其完整性状态,然后才开始软件更新。可以在目标 ECU 上实施类似的程序。目标 ECU 也使用 HSM,但安全闪存引导加载程序 (SFBL) 负责接收和验证更新。闪存引导加载程序 (FBL) 和 SFBL 之间的区别在于后者实现了额外的加密算法。引导加载程序本身应从任何 SOTA 更新过程中排除。由于车辆在行驶过程中可能会受到攻击,因此动态检查应用软件的能力是 HSM 优于 SHE 模块的关键优势。
专为最大可用性而设计
身份验证和相关的安全功能通常在网关 ECU 内部执行,新软件包从 OEM 服务器下载后临时存储在中央存储器中。由于新软件必须从网关的中央存储器传输到目标 ECU,因此必须考虑相应的网络拓扑,因为它在 OEM 之间有所不同。本质上存在三种不同的方法(图 3)。
【图3 | 用于安全 OTA 固件更新的各种方法:使用中央网关内存的传统方法、使用两个闪存块的 A/B 交换以及具有额外本地内存的方法]
在“传统”方法中,为了更新单个 ECU,相关的新软件包通过板载网络从中央存储器加载到目标 ECU 微控制器中的嵌入式闪存中。这是一步完成的——无需对 ECU 进行任何硬件更改。主要限制是总线速度,它决定了更新需要多长时间。表 1 显示了常见总线系统的数据速率。让我们假设一个 4 MB 的服务包,如表中所示。在这种情况下,通过 CAN 总线更新单个 ECU 大约需要 5 分钟;带有 20 个 ECU 的车辆将停止运行超过 1.5 小时。尽管有多种方法可以提高吞吐量(集群 CAN 总线子域或数据压缩),但它们都会导致复杂性和成本增加。
[表 1 | 各种总线系统的数据传输率比较]
另一种方法是 A/B 交换。闪存中有两个块(A 和 B)用于执行微控制器内部的代码。软件从中央存储器下载到目标 ECU 并重新编程空闲的内存块(例如块 B)可以在车辆使用时在后台进行,并且需要尽可能长的时间。同时,块 A 不受影响,可以继续用于执行当前代码。一旦所有 ECU 都以这种方式“预编程”,控制器就会将代码执行从块 A 切换到块 B。交换过程在重新启动后完成。这种方法具有几乎不存在停机时间的巨大优势。缺点在于更大的闪存成本更高,并且需要额外的验证机制来排除对功能安全的任何影响。此外,
第三种方法旨在结合前两种方法的优点: 提供额外的“ECU 级别的外部存储器”。新服务在车辆使用时在后台加载到此外部存储器中,并在此处等待实际更新过程。这种方法利用了这样一个事实,即现代微控制器可以非常快速地擦除和重新编程其闪存。例如,可以通过 SPI 接口在 8 秒内从外部本地存储器擦除和重新编程 4 MB。这种方法的主要好处是对现有系统设计的干预最少、可管理的额外成本以及附加存储元件的小尺寸。表 2 对所讨论的三种方法进行了比较。
[表 2 | SOTA固件更新的各种方法的优缺点]
结论
汽车软件的无线更新功能有望为汽车行业节省大量资金,并改善客户的拥有体验。但是,需要制定足够的安全规定,以防止非法访问车辆及其安全关键应用程序。适当的微控制器和关键点的额外专用安全控制器提供优化的功能来保护 SOTA。除了具体的安全措施外,OEM 还需要考虑如何通过优化的网络架构和内存策略,最大限度地减少更新过程中的车辆停机时间,从而减少对驾驶员的影响。
作者:Bjoern Steurich,Martin Klimke,Ines Pedersen
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !