摘要
现代车辆包含数百个电子控制单元(ECU)和传感器,以增强众多与安全和舒适性相关的功能。电子控制单元(ECU)通过控制器局域网(CAN)总线执行实时信息交换,例如汽车指令传输。然而,CAN 总线架构仅支持非常有限的安全功能,因此,通过 CAN 进行的车载通信易受严重安全威胁。此外,由于 ECU 本质上资源受限,若认证方案不具备成本效益,ECU 间通信过程中的持续消息传输会导致能量耗尽。本文提出一种轻量级方案 AutoSec,该方案利用低成本的按位异或(XOR)和连接(concatenation)运算,为联网车辆提供安全高效的车载通信。定性分析表明,AutoSec 能够保障消息完整性、用户认证和消息机密性等安全属性。我们在树莓派 3B+(Raspberry Pi 3B+)上实现了 AutoSec,并通过大量实验验证了其安全稳健性和轻量性。结果显示,AutoSec 将计算时间减少了约 99%,能量消耗降低了约 99%。
1、引言
控制器局域网(CAN)总线技术通过广泛部署,已在车载网络(IVN)中变得相当普及。CAN 为现代车辆中不同电子控制单元(ECU)之间的广播通信提供支持。近年来的技术发展使现代车辆能够访问云服务,并通过移动蜂窝网络与其他车辆进行通信。这些接口不仅提供实用服务,还可能引入新的攻击面,导致车辆 ECU 的安全漏洞增加。攻击者可通过被攻陷的 ECU 控制车辆,造成严重后果,例如更改车辆速度或使车辆完全停止。
研究工作表明,CAN 缺乏安全机制,导致车载网络(IVN)暴露于攻击者之下。例如,研究人员在吉普切诺基(Jeep Cherokee)上进行的实验表明,远程攻击者可轻易从被攻陷的 ECU 发送伪造消息,从而控制车辆的不同功能。另一项研究揭示了不同宝马(BMW)车型存在的安全威胁,包括通过 CAN 远程控制联网 ECU 的能力。由于缺乏加密技术且访问控制不足,CAN 极易受到攻击者攻击。此外,CAN 总线的广播特性使其更易遭受攻击,且访问控制难度加大。ECU 与外部网络之间的通信应采用稳健的加密技术设计,以保护车载网络(IVN)免受内部和外部攻击者的威胁。在车载通信中,ECU 通过 CAN 总线广播消息,以管理自动驾驶汽车的运行操作。此外,自动驾驶车辆通过专用短程通信(DSRC)、4G/5G 或 Wi-Fi 技术与其他车辆、行人、无线传感器和其他智能设备等不同组件连接,确保车辆在道路上平稳行驶。因此,在向 ECU 传递关键消息以使其采取进一步行动时,保障关键安全属性至关重要;否则,可能会对车载运行操作造成严重损害。因此,本研究旨在解决车载消息传输中的重要安全挑战,即(i)发送方验证、(ii)消息机密性和(iii)数据正确性。我们明确了与 CAN 相关的主要安全问题如下:・由于 CAN 中发送方身份未知且无法验证发送方真实性,攻击者可伪装成任何具有相似消息标识符的 ECU。因此,所有连接到 CAN 总线的 ECU 都可能在系统中发起伪装攻击,从而影响车辆功能。ECU 通过 CAN 总线连接,为车辆提供各种汽车服务。CAN 通过网关 ECU(GECU)与无线接口关联,这使得攻击者无需接触车辆即可发起攻击。此外,CAN 无法保证对被攻陷的 ECU 或其他 ECU 进行持续监控。因此,攻击者可发送虚假消息,误导 CAN 总线。
・CAN 中的消息广播未采用任何加密措施。所有连接到 CAN 总线的 ECU 都能监听任何消息,这可能导致数据机密性问题,或使攻击者能够向系统注入虚假数据 [13]。考虑到 CAN 的安全缺陷,攻击者可能试图盗窃车辆、停用汽车系统、发送错误消息以及掩盖故障功能。因此,在自动驾驶车辆的消息交换过程中,保障重要安全属性至关重要。
研究贡献
我们提出一种用于自动驾驶车辆 CAN 数据传输的安全轻量级方案。本文的贡献主要体现在以下三个方面:
-
提出一种安全轻量级方案 AutoSec,用于 CAN 上的安全数据传输,保障消息完整性、用户认证和消息机密性等安全属性。由于 ECU 处理能力有限,我们采用 SHA-512、按位异或(XOR)和连接(concatenation)运算,以实现高效的计算和验证。
-
对 AutoSec 进行分析,确认其在抵御消息完整性攻击、用户认证攻击、消息机密性攻击和会话密钥攻击方面的安全稳健性。
-
从计算时间、能量消耗和通信开销等开销指标方面评估 AutoSec 的性能。实验结果表明,与其他相关现有方案相比,AutoSec 显著提升了计算效率并降低了能量消耗。
文章结构
本文其余部分组织如下:第 2 节讨论相关工作;第 3 节介绍系统概述、攻击者模型和所提协议 AutoSec 的安全需求;第 4 节详细阐述所提方案 AutoSec;第 5 节对 AutoSec 进行全面的安全分析;第 6 节呈现 AutoSec 的性能评估结果;最后,第 7 节对研究进行总结。
2、相关工作
已有许多旨在保障车载网络(IVN)消息通信安全的方案被提出。以下介绍一些与本文研究背景相关度较高的工作。提出一种名为 TACAN(CAN 中的发送方认证)的方案,该方案利用隐蔽信道的概念,为 CAN 总线上的 ECU 提供安全认证。该方案不使用额外的比特或 CAN 消息,也无需修改 CAN 协议。TACAN 利用隐蔽信道的概念开发防御技术,通过集中式可信监控节点实现发送方认证。TACAN 由三个用于 ECU 认证的隐蔽信道组成。作者在华盛顿大学的 EcoCAR(2016 款雪佛兰科迈罗)测试平台上实现了 TACAN,并从比特错误、吞吐量和检测性能等方面进行了全面评估。结果表明,TACAN 在检测 CAN 总线攻击和验证 ECU 的一般功能方面具有较高的有效性。但该方案基于共享加密密钥和消息到达时间间隔,导致计算开销较大,且安全级别较低,无法满足当今的安全需求。由于带宽降低、有效载荷小以及计算资源受限等因素,CAN 中的帧认证通常具有局限性。为解决这一问题,提出一种通过观察 CAN 信号差异来确定实际发送方身份的方法。
该方案能够大幅减少所需资源,且识别率高达 99.98%。作者将其方案与最轻量级方案进行比较,结果表明该方案具有更小的内存占用和更低的计算需求,并且能够适应运行过程中的增量信号变化。该工作在一个原型车和两辆量产车上进行了评估,在一周的时间内,在不同电子设备运行的变化条件下开展了相关测试。然而,该方案需要高性能的模数转换器和较强的计算能力,这会显著增加实现成本,对汽车行业产生重要影响。帕拉尼瓦米等分析了当前 CAN 总线的帧级认证协议,指出了其中的不足和局限性。作者提出一套协议套件,包括实体认证、密钥管理、远程传输请求帧的安全消息流以及车辆与外部设备通信所需的会话密钥更新等功能。通过随机预言机模型验证所提协议的安全性,并评估其抵御已知攻击的能力。仿真结果表明,与其他现有方案相比,该协议具有更高的效率。利用真实车辆和恶意智能手机应用程序,证明了在联网汽车环境中远程无线攻击的可行性。他们根据当前的 CAN 规范设计了一种 CAN 安全协议,并通过 CANoe 软件和 DSP-F28335 微控制器对该协议进行了评估。评估结果表明,所提安全协议在认证延迟和通信负载方面具有良好的性能。但该技术的主要缺点是,由于应用程序运行在移动设备上,攻击者可能通过蜂窝网络发起攻击。
在系统设计阶段提出一种新颖高效的方案,以提供最佳的安全性和安全性。该设计优化确保每个实时应用程序都能在截止日期前执行,并减少 CAN 总线上的传输消息数量。优化操作后,作者对特定消息应用哈希消息认证码,以确保 ECU 之间的安全通信并抵御网络攻击。安全分析和实验结果证明,所提方案能够及时有效地抵御 CAN 总线攻击。尽管该技术通过选择性消息认证减少了汽车 CAN 的通信开销,但额外数据包的传输会引入延迟。格罗扎等利用有序的 CMAC 缓冲区对 CAN 帧的标识符进行认证,并验证发送方节点的合法性。此外,作者考虑了实际场景,结果表明,尽管存在排序带来的约束,但所达到的安全级别非常接近 ID 字段的长度。采用的方法能够抵御重放攻击和总线上的模糊测试。作者在汽车级微控制器和高端车辆的 CAN 总线流量分配上进行了实际实现。用于保障 CAN 总线安全的计算需求也相对较低。
3、系统概述
本节将介绍本研究的系统模型和相关背景知识。具体而言,3.1 节讨论系统架构;3.2 节介绍攻击者模型,包括攻击者的目标和能力;最后,3.3 节列出安全需求。
3.1 系统架构
系统模型的设计目的是明确车载通信的总体框架以及不同实体的功能。图 1 展示了车载网络的基本概述,其中网关 ECU(GECU)和各种类型的 ECU 通过单一 CAN 总线连接。各组件的作用描述如下:

图 1、基于 CAN 总线的汽车车载通信系统模型
· 网关 ECU(GECU):作为主要 ECU,它充当外部世界与车载网络之间的中介。GECU 与远程信息处理系统和车载诊断系统 - II(OBD-II)连接,以执行车辆的各种功能。它作为中央授权机构,负责在 ECU 之间建立 / 更新会话密钥,并记录车辆中所有已安装 ECU 的 ID。
· 电子控制单元(ECU):每个 ECU 从传感器(连接到发动机、制动系统、变速箱、冷却系统、车轴、转向系统等汽车部件)收集数据,并通过 CAN 总线与其他 ECU 和 GECU 广播相关消息。由于 ECU 配置的处理能力较低,执行满足高安全级别的高级加密运算需要花费更多时间。
· 攻击者:系统主要包括内部攻击者和外部攻击者两种类型,他们可能在车载通信过程中发起被动攻击和主动攻击。其中,恶意 ECU 指的是系统的合法组件,但在车载通信过程中试图伪造消息。3.2 节将详细讨论攻击者的目标。
3.2 攻击者模型
CAN 消息通过 CAN 总线广播到所有 ECU的研究表明,攻击者可通过本地或远程访问连接到汽车联网系统。因此,我们考虑攻击者的以下意图,其目的是在车载通信中执行恶意活动:
・攻击者希望拦截或中断车载通信,以实现各种目标,例如停止传输关键信息、追踪车辆用户、修改消息、延迟实时数据、传播错误 / 虚假消息、丢失重要消息、未经授权访问系统消息以及窃取通信消息内容。攻击者的最终目的是对车载通信发起远程攻击,以破坏其功能。
・攻击者试图通过在 CAN 总线上发送多条虚假消息来降低 CAN 总线的性能效率,导致所有 ECU 忙于验证收到的多条消息的正确性。基于研究,我们对攻击者的安全能力做出以下假设:
・所有 ECU 都直接与网关 ECU(GECU)连接,而 GECU 与无线接口相关联以实现不同功能,这使得攻击者能够向 CAN 总线注入错误消息。
・攻击者可在短时间内定期通过 CAN 发送多条消息,造成混淆,即接收方 ECU 难以确定应遵循哪条指令继续执行操作,从而导致 CAN 总线上的消息被覆盖。
・攻击者可故意在 CAN 总线上发送多条消息,以增加接收方的验证开销,最终导致 ECU 与总线断开连接。
・若任何恶意 ECU 连接到 CAN 总线,它都能在 CAN 总线上广播帧,因此攻击者可对车载网络发起恶意攻击。
・我们假设攻击者了解目标汽车系统的设计和规格。
3.3 安全需求
本研究的目标是通过实现认证、完整性和机密性,保障车载通信的重要安全属性。这一目标通过以下方式实现:采用秘密组密钥通信和不可修改的标识符来验证发送方身份,同时使用单向哈希函数计算消息,以保障消息的完整性和机密性。考虑到这些安全属性,所提方案能够防止消息的未授权访问、消息篡改和数据伪造。以下讨论 CAN 中不同安全属性的重要性:
· 认证:当消息发送到 CAN 时,接收方通过数据帧中的发送方 ID 提取发送方信息,但 CAN 中没有用于确认发送方身份的验证机制。若任何被攻陷 / 恶意的 ECU 使用其他 ECU 的发送方 ID 进行伪造,则很难确定伪造消息的原始发送方。因此,认证在 CAN 中起着关键作用,通过验证消息的发送方,防止非法消息的传输。
· 完整性:CAN 中的消息以明文形式发送,仅靠循环冗余校验(CRC)校验和不足以检查 CAN 消息的正确性,因为攻击者可相应地替换 CRC 信息。结果,ECU 可能会遵循被修改的消息来控制车辆功能,从而引发事故。因此,在执行后续操作之前,最好先确认 CAN 消息的准确性。
机密性:根据 CAN 标准,消息在 CAN 上广播。因此,至少所有连接到 CAN 总线的 ECU 都会收到这些传输的消息,这可能导致重要信息泄露。因此,系统在通过 CAN 总线发送消息时应保障消息的机密性。
4、所提方案:AutoSec
自动驾驶车辆的运行完全依赖于汽车操作的及时性和准确性。因此,在车辆行驶过程中,在网关 ECU(GECU)和各 ECU 之间安全高效地传输关键信息(即汽车指令),对于快速做出更好的决策至关重要。现有的车载通信协议无法抵御关键安全问题,例如会话密钥更新泄露、认证攻击、私钥存储问题和加密密钥泄露等。此外,这些协议的设计成本相对较高,例如采用椭圆曲线密码学(ECC)且包含较多运算操作,导致执行时间较长。
现代车辆具备更多功能,例如远程信息处理、高级驾驶辅助系统和信息娱乐系统。因此,每辆车所需的 ECU 数量不断增加,这些 ECU 需要在车载网络(IVN)中执行更多的计算操作。因此,设计一种在执行各种操作时计算时间短且满足重要安全需求的协议至关重要。我们提出一种安全数据传输方案(命名为 AutoSec),该方案采用 SHA-512、按位异或(⊕)和连接(||)运算,实现安全且经济高效的数据交换,保护关键信息免受各种安全威胁。AutoSec 结合轻量级运算(|| 和⊕)和 SHA-512,通过适当的协议设计,在满足 256 位安全级别的同时,快速完成各种计算。由于 AutoSec 旨在通过低成本的加密运算保护车载消息通信,因此不需要任何硬件修改和网络改进。因此,所提方案可轻松应用于现有的 CAN 架构。AutoSec 主要包括两个阶段:(i)基本设置和(ii)消息通信协议。4.1 节讨论基本设置过程,以在 ECU 中生成和加载长期密钥。4.2 节详细讨论与 AutoSec 相关的安全通信协议。表 1 描述了 AutoSec 设计中使用的各种符号。

表 1、符号列表及其描述
4.1 AutoSec:基本设置
网关 ECU(GECU)作为中央 ECU,向道路运输管理局(RTA)注册,以在车载网络中执行各种操作。所有已安装 ECU 的 ID 列表和相应的长期密钥都安全地存储在 GECU 的受保护内存中。所有 ECU 最初都在防篡改的可信平台模块中加载长期密钥(K_i、GK 和 K_rs)。为了验证固件的完整性,ECU_i 计算固件摘要 H (K_i || ID_ECU_i || Image_Firmware) 并将其发送给 GECU,其中 Image_Firmware 包含该 ECU 软件的不同详细信息。GECU 收到后,将收到的固件摘要与计算值进行确认,以进行验证。
4.2 AutoSec:消息通信协议
ECU 与车辆中的不同汽车部件相连,通过 CAN 总线在 ECU 之间交换实时信息,以实现汽车操作。AutoSec 结合时间戳、每个 ECU 的不同密钥、随机数和单向哈希函数进行设计,增强了对会话密钥泄露的防御能力,防止加密密钥泄露,并加强了新鲜度验证,保护车载网络(IVN)中的消息通信过程免受各种安全攻击。该阶段包括三个协议:(i)初始会话密钥计算与验证协议(ISCVP)、(ii)远程帧传输请求协议(RFTRP)和(iii)会话密钥更新协议(SKUP)。以下详细描述这些协议:
4.2.1 所提初始会话密钥计算与验证协议(ISCVP)
每个 ECU 与 GECU 执行以下步骤,以进行初始会话密钥计算和验证。由于车辆包含多个 ECU,此过程按固定顺序与 GECU 执行。该过程如图 2 所示。

图 2、AutoSec:初始会话密钥计算与验证协议(ISCVP)设计描述
4.2.2 所提远程帧传输请求协议(RFTRP)
当某个 ECU(例如 ECU_r)需要从另一个 ECU(例如 ECU_s)获取某些信息时,接收方 ECU(ECU_r)向发送方 ECU(ECU_s)发送请求,以建立它们之间的数据交换连接。图 3 展示了远程帧传输请求协议(RFTRP)过程,以确认双方(ECU_s 和 ECU_r)的合法性以及各自在数据传输连接建立前发送的消息的合法性。

图 3、AutoSec:远程帧传输请求协议(RFTRP)设计描述
4.2.3 所提会话密钥更新协议(SKUP)
ECU_i 和 GECU 之间的会话密钥会定期更新,以使用新计算的会话密钥提高系统安全性。然而,若采用会话密钥更新协议(SKUP),则所有连接的 ECU 都能轻易获取 ECU_i 的新会话密钥。因此,我们设计了一种增强的会话密钥更新协议(SKUP),以解决当前会话密钥更新过程中存在的这一问题。所提会话密钥更新协议(SKUP)如图 4 所示。

图 4、AutoSec:会话密钥更新协议(SKUP)设计描述
5、安全分析
我们对所提协议进行安全分析,以验证其抵御关键安全攻击的稳健性。基于随机预言机模型(ROM),我们讨论与 AutoSec 相关的定义、定理及其相应证明。在该模型中,构建攻击者(A)和挑战者(C)之间的游戏,以确认在多项式时间内,攻击者(A)是否能以不可忽略的概率赢得挑战者(C)给定的挑战。AutoSec 基于 SHA-512 构建,考虑到 n 位输出哈希运算的广义生日攻击成本为 O (2^(n/2)),该方案在多项式时间内实现 256 位安全级别。考虑到在不久的将来计算能力要达到如此高的水平,SHA-512 具有抗碰撞性。
定义
若攻击者(A)在多项式时间内仅具有微不足道的优势,则所提协议在构建的游戏中是安全的。
远程帧传输请求协议(RFTRP)- 预言机
我们假设攻击者(A)充当 ECU_s,想要为 {ID_ECU_r, P_rs, Q_rs, T_i1} 发送虚假 / 修改的响应消息。因此,攻击者(A)向 ECU_r 发送 {CT_rs^A, R_rs^A, T_i2^A}。在所提远程帧传输请求协议(RFTRP)中,ECU_r(充当挑战者 C)通过 T_i3 - T_i2 ≤ ∆T 确认收到消息的新鲜度,并将收到的 R_rs 与计算的 R_rs 进行验证。
会话密钥更新协议(SKUP)- 预言机
我们假设攻击者(A)充当 GECU,想要更新 ECU_i 和 GECU 之间的会话密钥。因此,ECU_i 充当挑战者(C),以确认会话密钥更新过程中与原始 GECU 的连接。攻击者(A)向 ECU_i 发送 {ID_ECU_i^A, X_i^A, Y_i^A, T_i1^A}。在所提会话密钥更新协议(SKUP)设计中,ECU_i 端分别通过∆T 和 Y_i 验证有效性和合法性,以确认真实性。若满足条件,ECU_i 向请求的 ECU 发送 {Z_i, T_i2}。在接收端,通过验证确认交换参数的正确性。
定理 1
基于随机预言机模型(ROM),所提协议能够抵御基于消息完整性的攻击。
证明:我们假设攻击者(A)想要在远程帧传输请求协议(RFTRP)阶段,在不了解 ECU_s 的情况下,向 ECU_r(充当挑战者 C)发送针对 {ID_ECU_r, P_rs, Q_rs, T_i1} 的修改 / 虚假消息响应。因此,攻击者(A)需要计算 R_rs [=h (EK_rs || AK_rs || Q_rs || T_i2)] 和 CT_rs [=M ⊕ h (R_rs || p_i || ID_ECU_s)]。我们认为,攻击者可从公共通信信道获取 P_rs 和 Q_rs,但无法计算 K_rs(仅 ECU_s 和 ECU_r 知晓)和 p_i(缺少所有必要值)。因此,攻击者(A)无法正确计算 R_rs 和 CT_rs。此外,若攻击者(A)向 ECU_r 发送 {CT_rs^A, R_rs^A, T_i2^A},则挑战者 C 通过 T_i3 - T_i2^A ≤ ∆T 以及 R_rs 与 R_rs^A 的比较进行验证。若攻击者(A)对计算参数进行任何修改,则在 R_rs 是否等于 R_rs^A 的验证中,无法证明消息的合法性。因此,在所提远程帧传输请求协议(RFTRP)中,攻击者(A)没有机会在消息传输过程中进行任何修改。
定理 2
所提方案能够保障用户认证属性。
证明:攻击者(A)可能试图在远程帧传输请求协议(RFTRP)中通过伪装 ECU_r 或 ECU_s 来破坏认证属性。要伪装 ECU_r,攻击者(A)需要向 ECU_s 发送有效的计算参数,以便接收实体在验证后继续执行后续操作。若攻击者(A)向 ECU_s 发送伪造参数,则由于 Q_rs' 是否等于 Q_rs 的验证失败,请求将被丢弃。在所提远程帧传输请求协议(RFTRP)中,攻击者(A)需要计算 P_rs^A、Q_rs^A,以向 ECU_s 发送 {ID_ECU_r, P_rs^A, Q_rs^A, T_i1^A},但攻击者(A)不知道 / 没有 K_rs(仅 ECU_r 和 ECU_s 知晓)。因此,在所提远程帧传输请求协议(RFTRP)中,攻击者(A)无法进一步伪装 ECU_r。要对 ECU_s 发起伪装攻击,攻击者(A)需要知晓 ID_ECU_s 和 K_rs,因为这些值用于计算 P_rs 和 Q_rs。此外,攻击者(A)需要 p_i(由 ECU_r 选择)来生成 EK_rs 和 AK_rs。然而,在所提远程帧传输请求协议(RFTRP)中,攻击者(A)无法计算所有必要值以执行恶意活动。若攻击者(A)向 ECU_r 发送伪造参数(CT_rs^A、R_rs^A 和 T_i2^A),则通过∆T 和 R_rs 是否等于 R_rs^A 可直接识别。因此,在所提远程帧传输请求协议(RFTRP)中,攻击者(A)无法伪装 ECU_s。
定理 3
所提远程帧传输请求协议(RFTRP)在传输汽车指令时能够保障消息机密性。
证明:攻击者(A)希望在远程帧传输请求协议(RFTRP)中获取消息(M)。M 用于计算 CT_rs,因此,攻击者(A)需要 R_rs、p_i、CT_rs 和 ID_ECU_s。攻击者(A)可从 {CT_rs, R_rs, T_i2} 中获取 R_rs 和 CT_rs,但不知道 p_i 和 ID_ECU_s。且若没有 K_rs 和 ID_ECU_s,很难计算 p_i。因此,在所提远程帧传输请求协议(RFTRP)中,由于缺少所有必要值,攻击者(A)无法获取 M。□
定理 4
基于随机预言机模型(ROM),所提方案能够抵御会话密钥攻击。
证明:我们假设攻击者(A)想要通过充当 GECU,非法更新 ECU_i 和 GECU 之间的会话密钥。因此,在这种情况下,ECU_i 充当挑战者(C),以确认收到参数的真实性。攻击者(A)需要计算 X_i [=h (ID_ECU_i || T_i1 || K_i || GK) ⊕ x_i] 和 Y_i [=h (GK || ID_ECU_i || x_i || ID_GECU)],以进行会话密钥更新。我们假设攻击者(A)作为内部攻击者获取了 GK,但不知道 K_i(仅 ECU_i 和 GECU 知晓)。此外,攻击者(A)需要 x_i 和 K_i 来计算 Z_i^A,以发送响应消息(即 {Z_i, T_i2}),用于会话密钥更新确认。然而,GECU 将(GECU 端计算的)Z_i 与(攻击者 A 发送的)Z_i^A 进行确认。若交互参数发生任何变化,则 Z_i 是否等于 Z_i^A 的验证过程将失败。因此,攻击者(A)无法更新 GECU 和 ECU_i 之间的会话密钥。表 2 总结了和 AutoSec 的对比分析,展示了不同属性下的安全优势。方案基于组密钥认证的概念,使得攻击者能够通过被攻陷的 ECU 发起认证攻击。此外,由于第 i 次会话的加密密钥对所有 ECU 都相同,会话密钥可能会全部或部分泄露。而且,需要可信平台模块(TPM)来存储关键值,而 AutoSec 不需要 TPM。由于 AutoSec 基于 SHA-512 构建,且每个会话中每个 ECU 的会话密钥计算值都不同,因此 AutoSec 在各种安全属性方面具有稳健性。

表 2、CAN 数据传输方案的安全属性对比
6、性能评估
消息通过 CAN 广播,而 ECU 是资源受限的组件,用于处理 / 传输车载通信信息。因此,为了实现经济高效的汽车数据交换,需要考虑计算时间、通信开销和能量消耗。在保障安全的同时,有必要减少不同加密运算和参数的数量,以获得高效结果。因此,我们将所提方案与近年来在车载网络(IVN)中使用 CAN 的相关方案进行比较。
6.1 测试平台配置
自动驾驶车辆中的 ECU 硬件配置 64 位 ARM 内核处理器以执行计算,而树莓派 3B+(Raspberry Pi 3B+)也基于 ARM 处理器设计。因此,我们采用包含两个树莓派 3B + 设备的测试平台环境,以测量 AutoSec 的计算效率。树莓派 3B + 的配置如下:1.4 GHz 四核 64 位 ARM Cortex-A53 处理器,搭载 BCM2837B0 芯片,1 GB 静态随机存取存储器(SRAM),2.5 安培电源和 5 伏电压供应。
6.2 结果分析
我们从计算时间、通信开销和能量消耗方面,呈现 AutoSec 和相关通信方案的性能结果,以分析它们在 CAN 通信中的效率。详细解释如下:
6.2.1 计算时间
计算时间基于数据传输阶段执行所需的加密运算的数量和类型计算。计算时间通常以毫秒(ms)为单位。为了计算不同运算的执行时间,我们在树莓派 3B + 平台上,使用 Python 3.7 中的 Python 库(即 pycrypto 和 py-ecc)执行相应的加密运算(即 128 位 AES 加密 / 解密(AES)、带有 256 位大质数的椭圆曲线小规模乘法(ECSM)、SHA-512 [h (・)] 和 KDF_GK)。其中,KDF_GK 是基于 SHA-512 的密钥派生函数,生成两个 512 位的密钥值,在密钥生成过程中实现更高的安全性。由于 h (・) 和 KDF_GK 的计算均采用 SHA-512,因此两个函数的执行时间相同。经过 100 次运行后,AES 的平均执行时间(T_AES)为 1.1410 毫秒,椭圆曲线小规模乘法(ECSM)的平均执行时间(T_ECSM)为 3.0520 毫秒,h (・)/KDF_GK 的平均执行时间(T_h (・)/KDF_GK)为 0.0014 毫秒。由于异或(⊕)和连接(||)的执行时间极短,所有方案均未将其纳入考虑范围。方案在初始会话密钥计算与验证协议(ISCVP)中需要执行 6T_h (・) + 2T_KDF,在远程帧传输请求协议(RFTRP)中需要执行 2T_AES + 2T_h (・),在会话密钥更新协议(SKUP)中需要执行 2T_AES + 3T_h (・) + 2T_KDF。协议设计在初始会话密钥计算与验证协议(ISCVP)中需要执行 4T_h (・),在远程帧传输请求协议(RFTRP)中需要执行 4T_h (・) + 2T_AES,在会话密钥更新协议(SKUP)中需要执行 8T_h (・) + 4T_ECSM。
而 AutoSec 在初始会话密钥计算与验证协议(ISCVP)、远程帧传输请求协议(RFTRP)和会话密钥更新协议(SKUP)阶段分别仅需要执行 9T_h (・) + 2T_KDF、9T_h (・) + 2T_KDF 和 6T_h (・) + 2T_KDF。基于每个运算的平均执行时间,我们计算了 Woo 等 [8]、帕拉尼瓦米等的方案以及 AutoSec 的计算时间,结果如图 5 所示。由于 AutoSec 采用低成本且运算数量较少的设计,其计算时间相比方案更短。

图 5:相关 CAN 通信方案的计算时间对比
6.2.2 能量消耗
车载网络(IVN)中的数据交换需要执行不同的运算,而会话密钥更新在消息 / 密钥生成和验证过程中会消耗能量。因此,为了实现可持续发展的环境,有必要评估能量需求。能量消耗的计算公式为 EC_CO = T_CT・P_CPU,其中 EC_CO 表示能量消耗,T_CT 表示计算时间,P_CPU = V・I 表示 CPU 最大功率,V 表示电压功率,I 表示电流。能量消耗以毫焦耳(mJ)为单位测量。由于采用树莓派 3B + 作为实现平台,CPU 最大功率为 12.5 瓦。通常,消息的通信阶段(即 4.2 节中的初始会话密钥计算与验证协议(ISCVP)、远程帧传输请求协议(RFTRP)和会话密钥更新协议(SKUP))会针对不同操作常规执行,而基本设置阶段仅在初始时执行一次。因此,消息通信的能量消耗在节能数据交换方案的设计中起着重要作用,我们计算了这些通信协议设计的能耗。图 6 比较了方案以及 AutoSec 的能耗需求。由于 AutoSec 的计算时间相比方案更短,因此其能耗更低。

图 6:相关 CAN 通信协议的能耗对比
6.2.3 通信开销
发送方和接收方都需要交换不同的开销参数,以执行初始会话密钥计算与验证、远程帧传输请求和会话密钥更新(见 4.2 节)。传输这些参数的成本称为通信开销(以字节为单位),根据每个协议期间参数的类型和所需数量计算。单向哈希(即 SHA-512 h (・))、AES 加密(AES)、椭圆曲线乘法(ECMP)、随机数 / 身份标识(RN/ID)和时间戳(TS)分别需要 64 字节、32 字节、64 字节、12 字节和 8 字节。在 AutoSec 中,初始会话密钥计算与验证协议(ISCVP)、远程帧传输请求协议(RFTRP)和会话密钥更新协议(SKUP)的通信开销分别为 280 字节 [4h (・) + 3TS]、284 字节 [4h (・) + 1ID + 2TS] 和 220 字节 [3h (・) + 1ID + 2TS]。方案在初始会话密钥计算与验证协议(ISCVP)中的通信开销为 236 字节 [3h (・) + 1RN + 1AES],在远程帧传输请求协议(RFTRP)中的通信开销为 96 字节 [1h (・) + 1AES],在会话密钥更新协议(SKUP)中的通信开销为 160 字节 [2h (・) + 1AES];而方案在初始会话密钥计算与验证协议(ISCVP)、远程帧传输请求协议(RFTRP)和会话密钥更新协议(SKUP)中的通信开销分别为 152 字节(2h (・) + 2RN)、160 字节 [2h (・) + 1AES] 和 256 字节 [2h (・) + 2ECMP]。图 7 展示了相关工作的通信开销对比研究。[8] 的初始会话密钥计算与验证协议(ISCVP)中,种子值和随机数通过 CAN 总线广播,这些值用作密钥计算和验证的输入,使得被攻陷的 ECU(基于广播值)能够在后续执行恶意活动。
尽管方案最小化了通信开销,但在远程帧传输请求协议(RFTRP)的消息交换过程中未提供双向认证,且其协议设计仅能满足 128 位安全级别。未使用时间戳,攻击者可从会话密钥更新协议(SKUP)中传输的参数中推导出种子值,从而容易发起认证攻击。方案将关键值以明文形式发送,且未使用时间戳,这降低了通信成本,但增加了数据交换过程中的安全漏洞,且该方案仅能实现 128 位安全级别。AutoSec 主要基于 SHA-512 构建,以满足 256 位安全级别,并且在开销参数交换过程中交换不同类型的值(即 SHA-512 和时间戳),能够抵御 CAN 总线上的数据修改、信息泄露和消息新鲜度攻击。因此,AutoSec 的通信开销相比方案更高。然而,在其他关键性能指标方面(计算时间极短且能耗低),AutoSec 相比方案表现更优(参见图 5 和图 6)。安全性和计算效率都是车载网络的重要因素,AutoSec 在这两方面取得了平衡,总体表现更优。

图 7、相关 CAN 通信机制的通信开销对比
7、结论
本文提出一种用于 CAN 车载网络的安全消息通信方案 AutoSec。AutoSec 利用 SHA-512、按位异或(XOR)和连接(concatenation)运算,提供安全的 CAN 消息传输。这些运算满足车辆中资源受限 ECU 的高效计算和验证需求。对 AutoSec 的有效性分析表明,该方案能够保障用户认证、消息完整性、消息机密性,并能抵御会话密钥攻击。所提方案采用低成本的加密运算执行车载消息通信,无需进行硬件修改或网络改进。通过与同类方案的对比分析,AutoSec 的性能评估结果表明,其在能量效率和低通信时间方面表现更优。