车载OTA技术研究

2020-07-14 16:55万开明洪雷
时代汽车 2020年11期
关键词:安全

万开明 洪雷

摘 要:OTA技术在满足了智能网联汽车软件快速迭代,也在一定程度上降低车企的售后成本。OTA升级有多种方案策略,车企需要寻找平衡成本和车辆停机时间的策略。本文主要概述了车载OTA,OTA升级流程及安全策略。

关键词:OTA;ECU升级;安全

1 OTA技术简介

OTA(Over-the-Air Technology)空中下载技术,即通过移动网络从远程服务器无线下载新的软件更新包对自身系统进行升级。其最早出应用在手机上。在汽车上的应用,即实现车辆系统的在线升级更新,通过车辆端的网联模块OTA管理器,实现整车模块的数据传输、软件下载、代码更新等。汽车行业应用优势已经确立:节省制造商的资金,可立即修复关键软件漏洞,并允许在其期间随时向车辆添加引人注目的新功能生命周期。

2 车载OTA架构

图为车载OTA系统架构。车辆通过蜂窝网络安全连接到OME服务器,服务器将更新的固件安全地发送到车辆的远程信息处理单元,然后发送到OTA管理器。OTA管理器管理车辆所有ECU的更新。它控制分发ECU固件更新,告知何时执行更新。在需要同时更新多个ECU的情况下,这一点非常重要,例如,向车辆添加涉及多个ECU的新功能。更新完成后,OTA管理器向OEM发送确认。

外部闪存可以安装在运行 OTA管理器的ECU 上,以便存储固件更新,直到需要固件更新。外部闪存还可用于存储车辆ECU 的固件备份,在ECU更新出现重大故障时可调用该备份。备份通过加密和身份验证进行保护,防止被篡改。

OTA管理器存放有车辆所有 ECU序列号和当前固件版本信息表。OTA管理器在收到ECU固件升级时验证固件信息,并确认是否已被授权用于此车。如果ECU没有安全功能,则由OTA管理器负责解密和验证升级文件。

3 ECU升级流程

ECU升级固件包有两种格式:

● 完整固件升级:优点是不依赖以前的固件,因此即使以前的版本已损坏,也可以进行更新。缺點是文件传输时间长,所需接收存储空间大。

● 差分文件升级:在OEM服务器端对比新老固件,并创建一个包含它们之间的差异列表的差分文件。根据更改量(通常为原始固件大小的10%),因此传输速度更快。这也意味着差异依赖于老的固件版本。

无论升级固件文件格式如何,都有两种方法来执行更新:

● “A/B”方法:“主”闪存中包含当前固件,“次”闪存中存放新固件,这会使每个ECU闪存量翻倍。从用户角度来看,此方法是理想的,因为ECU可以使用主存储保持正常运行,而新固件可以在后台写入辅助存储。更新完成后,ECU可以在合适的时间使用新固件(在辅助闪存块中)。由于始终有固件工作,因此不会将ECU置于无法工作的危险状态,因为它始终可以立即“回滚”到以前的工作固件,缺点是在MCU上需要刷新两次。

● “原位”方法:设备上仅存在一个版本的固件,此固件将被擦除和重写。当ECU处于正常运行状态时无法更新,即车辆将在一段时间内无法运行。这一时间段将主要由重刷ECU所需时间决定。车辆中的主要 ECU,如发动机控制器,将具有几兆闪存,如果需要重新刷写完整固件,可能需要几十秒才能完成。由于“原位”方法中只有一个版本的固件存在,因此在更新过程中出现错误或重置可能难以恢复,导致模块甚至车辆无法工作。

4 OTA升级安全保障

远程更新车辆固件为黑客开辟了新的攻击媒介。黑客的两个主要动机是使用 OTA 机制重新编程关键 ECU最终控制或窃取车辆。OEM可通过HMAC、CMAC或数字签名等方法来保护固件的真实性和完整性,避免固件遭到篡改。

固件的真实性检查,可以保证在更新过程中只使用受信任的固件;但是,黑客可能仍然能够读取固件二进制源码来反向设计源代码或窃取数据,这可能会导致 IP 盗窃或隐私问题。可通过固件加密来防止这种情况。

通过完整性检查,可防止"中间人"攻击,保护接收固件镜像的通道安全。同时,应防止协调ECU升级的OTA管理器应用程序被篡改。

总之,应采取以下反制措施:

● 保护固件的真实性和完整性,防止黑客运行修改后的代码。

● 加密固件,防止黑客访问代码(IP)和数据。

● 在车辆和OEM服务器之间建立安全的端到端通信,以防止中间人攻击。

● 确保OTA管理器应用程序的安全。

4.1 安全方案

通常车辆通过T-Box模块与OEM服务器连接,可使用广泛用于成熟应用于网银业务的传输层安全协议来确保移动网络通信安全。OTA管理器在收到安全升级文件请求后,对比存放ECU当前序列号和固件版本号列表,验证升级文件对车辆是否有效。

此外,升级文件从OEM服务器到目标ECU都要受到保护。如果要更新的 ECU 支持固件解密和身份验证,则可以将升级文件直接从OTA管理器发送到目标ECU。但并非所有车辆中的 ECU 都具有安全密钥存储和硬件加速安全功能。此时OTA管理器必须支持对升级文件进行身份验证和解密,并将解密文件通过内部网络发送到目标 ECU。缺少硬件安全功能的ECU无法保护总线传输的升级文件。然而,要对此进行黑客攻击,需要实际访问车辆,并知道需要访问哪条总线。若仍无法承担此风险,则需要升级带有安全功能的ECU硬件后才能使用OTA升级。

4.2 OTA管理器布置节点

OTA 管理器的位置对整车OTA升级的安全性有很大影响。网关作为外部和内部网络的防火墙,且与所有车载网络连接。OTA管理器和网关类似,是管理从外部到内部ECU升级的桥梁软件,因此将其布置运行在网关上,可以在不对现有网络体系结构进行调整下执行其工作。

4.3 ECU微控制器功能

几乎所有车辆 ECU 都能够单独使用软件机制进行更新。但OEM及用户对更新时长和安全性有非常高的要求。通过使用提供特定硬件功能的微控制器,可以更快、更安全、更减少车辆停机时间来处理更新:

读写功能:另一个闪存块擦除或刷写时可读取访问闪存块。允许应用程序在更新过程中继续执行。

重映射闪存:允许在闪存中存储在不同物理位置的新固件镜像和旧固件镜像之间进行即时切换。

加密安全:可存储用于升级解密和身份验证的密钥。

生命周期管理:可安全记录当前固件版本,并防止非法回滚到老版本或安装未授权软件。

小代码闪存块:拥有更小的闪存块可以提高更新速度和效率。就地差分更新通常只会修改少量位置。例如,如果这些位置位于 256K 闪存块中,则由于必须备份整个模块,然后擦除并重新编程,则与该位置位于 16K 闪存块中相比,需要更多备份内存和更多时间才能完成。

可锁定的闪存区域:在更新过程中为关键代码(如引导加载程序)提供额外保护,以防止意外删除。

重置检测:能够在更新过程中检测意外重置。升级更新期间的重置会使闪存处于未定义状态;在退出重置时引导程序需能尝试启动恢复。

多核:可以配置多核设置,允许一个内核执行更新,而另一个内核专用于运行现有应用程序,从而最大限度地减少性能影响。

系统完整性检查:能在更新时检测和防止系统异常。

5 总结

对车辆ECU执行OTA更新是一项基本功能。鉴于车辆中许多不同类型的网络上的各种不同ECU,没有一个更新过程适用于所有ECU。从驾驶员的角度来看,A/B方法具有巨大的优势,因为更新可以在零车辆停机时间下执行,但是这可能是一种相对成本更高的方法,并且不太可能与现有的传统 ECU 配合使用。原位更新方法可能更具成本效益,但代价是要求车辆停机。应评估每个 ECU,寻找平衡成本和车辆停机时间的策略。整个更新过程必须由中央网关管理跟踪固件版本、分发更新、同步固件切换,以确保整个过程安全。

参考文献:

[1]耿琦.基于OTA 技術的车辆远程数据刷写研究与应用[J].电子测试,2017(15).

[2] Subir Halder,Secure OTA Software Updates in Connected Vehicles:A Survey[J].Cryptography and Security,Apr 2019.

[3]Nilsson,Dennis Kengo and Ulf E. Larson. “Secure Firmware Updates over the Air in Intelligent Vehicles”[J]ICC Workshops-2008 IEEE International Conference on Communications Workshops,May 2008.

猜你喜欢
安全
热电公司发电机励磁系统改造
浅谈计算机硬件实验室管理
中国民航HUD的应用和发展浅析