车载安全(三):OTA车载软件更新和远程诊断

摘要

随着车载软件规模和复杂性的不断增长,对无线空中下载 (OTA) 更新的需求日益增加。同时,利用无线网络进行远程诊断的需求也在不断增长。运行这些 OTA 更新和远程诊断功能需要一个安全框架。

点击阅读:车载安全(二):用于保护V2V和V2I通信的安全技术

软件缺陷导致的频繁召回

这次,我们将介绍用于更新汽车软件和远程诊断的空中下载(OTA:通过无线网络)的安全措施。

如今,单辆车上安装的软件规模已膨胀至8000万至1亿行代码,据说2015年生产的车辆成本中,超过一半都与电子元件相关。此外,为了管理更高级的功能,车载软件也变得越来越复杂,这增加了软件漏洞的风险。

过去两三年间,数百万辆汽车因软件问题被召回。空中软件更新(SOTA)有望在不久的将来成为汽车制造商的一个很有前景的解决方案。官方名称为SOTA(空中软件更新)。例如,电动汽车制造商特斯拉汽车公司已经开始提供SOTA服务。

SOTA具有多项优势:

  • 由于无需将车辆实际送到经销商或修理厂进行召回,因此可以减少迄今为止因召回而产生的成本。

  • 如果车载软件存在安全漏洞,可以立即分发新软件,从而减少存在安全漏洞、容易受到攻击的车辆在路上行驶的时间。

  • 同时更新多个车载软件程序将变得更加容易。

在实现SOTA(系统级技术)之前,安全需求显而易见。缺乏安全保障,攻击者可以创建具有特殊功能的软件,或者利用SOTA的漏洞制造病毒或蠕虫,从而导致车辆碰撞等事故。此类恶意软件可能触发异常行为,例如车辆达到一定速度时刹车失灵。

远程诊断技术使汽车制造商能够收集有关车辆的信息,然后及时调查和分析这些信息。

远程诊断的优势在于:

  • 在故障车辆被开往修理厂的途中,修理厂的工程师可以远程诊断故障车辆并提前进行分析,并准备好必要的备件。

  • 由于分析是提前完成的,车主可以减少在维修店的等待时间。例如,他们只需等待更换零件所需的时间即可。

  • 它能够及时收集和分析大量数据,以减少未来可能发生的故障,并有效解决现有的故障。

显然,远程诊断需要安全机制来确保只有授权人员才能访问车辆软件并执行某些诊断功能。必须仔细考虑每种诊断功能所需的安全特性。

否则,攻击者可能会利用远程诊断来访问敏感信息,甚至更糟的是,执行与安全相关的功能测试,并可能导致事故发生。

EVITA 安全级别分为三个阶段

为提供SOTA(最新技术升级)和远程诊断的基础设施提供安全解决方案需要适当的身份验证方法。要实现此类安全解决方案,需要一个信任锚点。该信任锚点是硬件安全模块 (HSM),在其之上可以添加更高级的安全解决方案。

EVITA(电子安全车辆入侵保护应用)项目是在欧盟框架计划(FP)7 期间开展的。EVITA 项目的重点是研究适用于汽车环境的硬件安全解决方案。

该项目考虑到了汽车行业面临的几个条件,例如车载系统所需的高温和抗振性能,以及严格的成本限制。

EVITA 的硬件解决方案分为三个级别,使汽车行业能够选择最适合其运营目标的安全级别。

最高安全级别为 EVITA Full,它包含 ECC(椭圆曲线密码学)加密加速器、Whirlpool 哈希引擎、AES(高级加密标准)加密加速器、RAM、ROM、专用安全 CPU、真随机数生成器 (TRNG) 和伪随机数生成器 (PRNG)。EVITA Full 适用于需要 ECC 加密加速器的安全解决方案,例如车联网 (V2V) 和车路通信 (V2X)。

安全级别次之的是 EVITA Medium,它与 EVITA Full 几乎完全相同,只是硬件中缺少 ECC 加密加速器和哈希引擎。EVITA Medium 适用于大多数汽车安全解决方案。虽然它缺少硬件中的 ECC 加密加速器,但如有需要,可以通过软件实现非对称加密。它的速度要慢得多,但可用于对时间要求不高(即对安全性要求不高)的应用场景。

图1、处理器中安装的 EVITA 中型 HSM 的框图

最后一款产品 EVITA Light 与 EVITA Medium 类似,但它不使用专用的安全 CPU,所需的 RAM 和 ROM 也少得多。它适用于提供基于板载 AES 引擎的安全解决方案,例如数据加密和解密,以及数据 MAC(消息认证码)生成和认证解决方案。

SOTA的典型步骤

根据车辆中不同 ECU 的应用情况,将对其应用不同级别的 EVITA:EVITA Full 用于 V2X 站,EVITA Medium 用于发动机 ECU、网关 ECU 和防盗器,EVITA Light 用于制动 ECU 和车门 ECU。

基于 EVITA 等安全硬件,可以构建安全解决方案,以支持 SOTA 和远程诊断等服务。

对于SOTA(软件更新)而言,防止攻击者篡改软件重写(刷写)数据和过程至关重要。为此,需要使用刷写网关,它从后端接收软件重写数据并临时存储。刷写网关使用硬件安全模块(例如EVITA Medium HSM)来验证请求的合法性,然后重写目标ECU上的软件。

图2、SOTA流程概述

典型步骤如下:

  • ECU供应商和汽车制造商创建软件更新包,OTA后端对该软件更新包进行数字签名。

  • 签名后的软件包通过安全通信线路从 OTA 后端下载到刷写网关。

  • 刷写网关的硬件安全模块 (HSM) 会验证下载包中软件重写数据的签名。刷写网关通过激活 UDS 安全访问服务来获得目标 ECU 的身份验证。

  • HSM 安全地存储加密密钥,用于安全访问目标 ECU 并验证下载数据的签名。

  • 身份验证成功后,目标ECU软件将被重写。在软件重写之前,引导加载程序会验证下载软件的签名。验证签名后,引导加载程序启动新软件。

远程诊断中按功能分类的重要性

远程诊断中,车辆与诊断工具之间的通信是无线的,没有物理连接。

远程诊断的实际步骤如下:

首先,汽车制造商的服务器通过互联网发送诊断指令,目标车辆接收到该指令。该诊断指令可能由汽车制造商的工程师发送(用于收集数据),也可能由经销商的工程师发送(用于在车辆到达维修厂之前对其进行诊断)。

诊断指令被发送到相应的车载网络,并由目标ECU进行处理。然后,诊断结果通过远程信息处理模块发送回汽车制造商的服务器。诊断功能众多,因此有必要确定哪些功能适合远程操作。将这些功能分类非常重要。

图3、诊断分类

诊断程序分为被动式和主动式两类。被动式程序是指工程师无需对车辆进行任何物理操作的程序。相反,主动式程序则需要工程师对车辆进行一些物理操作。物理操作是指实际的操控或检查(例如,目视检查)。无论是被动式还是主动式诊断程序,都不需要车主在场。

表1显示了对每组远程诊断是否可行以及是否适合远程诊断的分析结果。表中还列出了安全属性。所有适合远程诊断的功能都需要具备真实性和完整性。

表1、远程诊断分析结果

从下期开始,我们将介绍实现车载安全的用例,并将其分为作为网络攻击入侵路径的通信连接方式。

相关推荐
数通工程师2 小时前
搞定数通设备账号安全:登录审计、紧急踢线、故障排查与配置规范
运维·网络·网络协议·安全·网络安全
ywfwyht2 小时前
AlpamayoR1 VLA自动驾驶模型解析
人工智能·机器学习·自动驾驶
waper972 小时前
java项目部署上线,安全扫描问题的解决方案
java·安全·nacos·docker compose
Guheyunyi3 小时前
电气安全管理系统有哪些技术升级
大数据·人工智能·安全·架构·能源
科技块儿3 小时前
社交媒体账号安全如何通过IP查询工具检测异常登录?
服务器·网络·数据库·tcp/ip·安全
Qzkj6663 小时前
高效·符合法规·闭环管理——知影API风险监测系统政务行业API安全解决方案
大数据·安全·政务
shandongtianhe3 小时前
隧道能见度检测器:守护隧道安全的“火眼金睛”
安全
深蓝学院3 小时前
港科大沈劭劼团队|VG3S:不微调、不遗忘,即插即用实现高精度3D占用预测
3d·自动驾驶
CodeCraft Studio4 小时前
从车载HMI到数字座舱平台:基于Qt与Qtitan UI组件的汽车嵌入式软件界面开发方案
qt·ui·汽车·嵌入式开发·ui组件·ui框架·数字座舱