【论文阅读】TACAN:控制器局域网中通过隐蔽通道的发送器认证

news2024/11/27 2:42:27

文章目录

  • 摘要
  • 一、引言
  • 二、相关工作
  • 三、系统和对手模型
    • 3.1 系统模型
    • 对手模型
  • 四、TACAN
    • 4.1 TACAN 架构
    • 4.2 发送方认证协议
    • 4.3 基于IAT的隐蔽通道
    • 4.4 基于偏移的隐蔽通道(本节公式格式暂未整理)
    • 4.5 基于LSB的隐蔽通道

摘要

如今,汽车系统与现代数字设备的互联为驾驶员提供了先进的用户体验。电子控制单元(ecu)在汽车信息物理系统(cps)中使用不安全的控制器局域网(CAN)总线执行大量操作。因此,危险的攻击,如失灵的刹车,是可能的,乘客的安全处于危险之中。在本文中,我们提出了TACAN (CAN中的发送器认证),它通过利用隐蔽通道提供ecu的安全认证,而不引入CAN协议修改或流量开销(即不使用额外的比特或消息)。TACAN颠覆了最初恶意的隐蔽通道概念,并利用它建立了一种有效的防御技术,通过可信的监控节点促进发射器身份验证。TACAN由三种不同的ECU认证隐蔽通道组成:1)基于到达间时间(IAT),利用CAN消息的IAT;2)基于偏移量,利用CAN报文的时钟偏移量;3)基于LSB (Least Significant Bit),将认证消息隐藏到正常CAN数据的LSB中。

我们在华盛顿大学(UW)的EcoCAR测试台上实现了隐蔽通道,并通过大量的实验评估了它们的性能。我们演示了TACAN的可行性,强调没有交通开销,并证明了ecu的正常功能。特别是,基于IAT的隐蔽信道和基于偏移量的隐蔽信道的误码率分别在0.1%和0.42%以内。此外,基于LSB隐蔽通道的误码率等于普通CAN总线的误码率,为3.1 × 10−7%

一、引言

控制器局域网(CAN)使封闭车载网络中的电子控制单元(ecu)之间能够通信[2,16]。CAN总线的安全性对于当今汽车和未来自动驾驶汽车的功能和安全性至关重要[1,34]。由于CAN总线是一种无需身份验证的广播媒体,因此受损的ECU可以通过发送带有伪造消息ID的消息来伪装成任何目标ECU(伪装攻击[3])。具有蜂窝、Wi-Fi或蓝牙等附加连接接口的现代外部可访问ecu打破了封闭车载网络的假设。因此,CAN总线已被证明容易受到网络攻击,如禁用刹车[3]和远程控制转向[30]。

使用诸如消息身份验证之类的加密原语是防御CAN总线上的攻击(特别是伪装攻击)的一种方法。然而,由于can协议的低吞吐量和紧张的位预算,在实践中可能具有挑战性,并且目前的解决方案,如[14,20,26,33]需要修改协议或引入流量开销。另一种选择是部署基于异常的入侵检测系统(ids),而不修改CAN协议[5 - 7,25],包括基于定时和基于电压的入侵检测系统。[5]中基于时间的IDS利用CAN消息的周期性来估计时钟偏差,作为检测伪装攻击的唯一指纹。然而,后来证明它对修改传输时间间隔以模拟目标ECU的时钟偏差的隐形攻击无效[28,35]。基于电压的ids[6,7,17,24]试图通过电压信号特征来识别攻击者。然而,如果攻击者使用的是被攻破的ECU在正常情况下允许使用的id,那么攻击将不会被检测到。
在这里插入图片描述

图1:TACAN的示意图。合法ecu传输唯一的身份验证消息,这些消息嵌入到正常CAN消息(例如,A1, B2和C3)的定时和LSB中,使用建议的隐蔽通道方法。Monitor Node通过验证接收到的认证消息对发送ecu进行认证。如果被入侵的ecu无法生成有效的身份验证消息,则该攻击将被监控节点检测到。

在这项工作中,我们开发了TACAN,允许可信监控节点(MN)验证传输ECU的真实性并检测CAN总线异常,如图1所示。在TACAN中,主密钥在ECU和MN之间共享,用于生成共享会话密钥。与[14,26,33]一致,我们假设密钥存储在安全模块(如可信平台模块(TPM))[12]的防篡改内存中。每个ECU将唯一的认证消息嵌入到CAN消息中,并通过隐蔽通道连续传输,这些消息可以被MN接收和验证。

因此,如果攻击者无法访问目标ECU的TPM,则无法使用被入侵的ECU或外部设备生成有效的认证消息,从而导致验证失败并触发MN侧告警。此外,TACAN将检测攻击(例如,拒绝服务(DoS)攻击),这些攻击会中断用于嵌入认证消息的CAN消息的传输。为TACAN使用隐蔽通道的主要好处是它们不会引入协议修改或流量开销(即额外的比特或消息)。此外,通过要求 ECU 传输认证消息的频率远低于每条消息认证方案,TACAN可以显著减少资源受限的 ECU 的计算负担。

在本文中,我们做出了以下贡献:

  • 我们识别和利用隐蔽通道,以方便在CAN总线上的ECU认证。因此,隐蔽通道用于安全而不是恶意通信。
  • 我们提出了TACAN,它由一套用于传输认证消息的三个隐蔽通道组成,包括两个基于时间的隐蔽通道,它们修改CAN消息的传输间隔时间,以影响MN观察到的到达间隔时间(IATs)和偏移量,以及一个基于存储的隐蔽通道,该隐蔽通道将信息隐藏在正常CAN消息的数据负载的lbs中。
  • 我们在真实的车辆试验台(UW EcoCAR[10])中实现了TACAN的隐蔽通道。我们还进行了大量的实验来证明这种隐蔽通道的可行性,使用两个真实的CAN交通数据集,公开可用的丰田数据集[8]和EcoCAR数据集。我们的研究结果表明,基于IAT和基于偏移量的隐蔽信道的误码率分别在0.1%和0.42%以内。LSB隐蔽通道的误码率为3.1×10−7%,为正常CAN总线的误码率。

章节组织。本文的其余部分组织如下。
第2节回顾了相关工作。
第3节介绍了我们的系统和对立模型。
第4节介绍了TACAN。
第5节提供了关于TACAN的安全性讨论。
第6节给出了实验评价。
第七部分对本文进行总结。

二、相关工作

最近的实验研究表明,攻击者能够物理或远程渗透到车载ecu中,并发动网络攻击,通过使刹车失灵或控制转向,造成潜在的危及生命的后果[3,22]。保护CAN总线的一种方法是部署基于异常的IDS,该IDS可基于流量分析(例如,定时/频率[15])、熵[25]或物理不变量(如时钟偏差[5,28]和信号特性[6,7,17,24])。虽然基于电压的ids对正在进行的伪装攻击者有效,但它们无法在攻击发起之前检测到受损的ECU(例如,隐形攻击者可能在汽车进入驾驶模式之前不会发起攻击)。此外,最近在[27]中显示,基于电压的ids所需的额外导线可能会引入新的攻击。

研究人员还尝试在CAN总线上添加消息认证码(MAC)等加密原语,包括CANAuth[33]、LCAP[14]、CaCAN[20]和LeiA[26]。由于CAN的比特预算紧张,吞吐量低,认证信息通常嵌入到现有的CAN消息中(即ID或数据字段),并通过额外的CAN消息传输,从而引入流量开销或增加总线负载[14,20,26]。在这项工作中,我们将重点放在发送器身份验证而不是每条消息身份验证上,以避免此类流量开销这项工作的关键新颖之处在于使用隐蔽通道,这是一种众所周知的恶意技术,可转换为用于身份验证目的的防御应用程序。与以前的认证方案相比,我们的方案不需要修改协议,也不需要引入额外的比特或CAN消息。

在文献中,隐蔽信道主要有两类:基于时间的和基于存储的。在基于时间的隐蔽信道中,仅修改事件或流量的时间以在双方之间共享信息,而数据流的内容保持不变。基于存储的隐蔽通道将数据隐藏在共享资源中,而该共享资源的设计不是为了传输数据而设计,例如,通过利用数据包中保留或使用的字段或在有效载荷中隐藏数据。与需要某种形式的内容作为掩护的隐写技术相比,隐蔽通道利用网络协议作为载体[36]。在[32]中,Taylor等人提出了一种利用隐蔽信道增强工业控制系统应用中Modbus/TCP协议安全性的方法。据我们所知,这是第一篇探讨汽车CAN总线隐蔽通道的论文。

表1:常用的符号。
在这里插入图片描述

三、系统和对手模型

在本节中,我们将介绍CAN总线的系统(第3.1节)和对手(第3.2节)模型。表1列出了常用的记号。

3.1 系统模型

CAN总线。作为一种广播媒介,CAN总线将所有ECU连接到同一条共享总线上,并允许它们向任何ECU传输任何消息,并观察所有正在进行的传输。每个CAN帧(或消息)都有一组预定义的字段,包括仲裁字段(包括消息ID)和数据字段(最多8个字节)。有关CAN框架结构的更多细节请参见附录A.1。
如果两个(或两个以上)ECU试图同时发送消息,则采用基于优先级(消息ID越小优先级越高)的仲裁方案来确定哪个ECU先发送消息CAN消息没有传输时间戳,也不支持加密或身份验证

时钟脉冲相位差。在汽车CAN中,大多数消息都是按照发送ECUs的本地时钟周期性传输的。由于ecu之间不存在时钟同步,本地时钟的频率由于时钟偏差而不同,时钟偏差是由时钟硬件晶体变化引起的物理特性。
设 CA(t) 为时钟 A 报告的时间,Ctrue(t) = t为真实时间。根据网络时间协议(NTP)[23],时钟A的时钟偏移量定义为 OA(t) = CA(t)−Ctrue(t),时钟偏差是时钟偏移量的一阶导数,即SA(t) = OA(t) = CA(t)−1,通常以微秒每秒(μs/s)或百万分之一(ppm)来测量。在没有真时钟的情况下,相对时钟偏移和相对时钟偏差可以根据参考时钟来定义。

时间模型。如图2所示,我们设 ti 为消息 i 的发送时间(假设 t0 = 0), Δti = t i − t i − 1为根据发送方时钟的发送间隔时间。如果消息每 T 秒传输一次,我们有 Δti = T 和 ti = iT。接收方时钟作为参考时钟。在实际操作中,发射机的时钟相对于参考时钟存在时钟偏差,这在两个时钟之间引入了偏移量Oi。因此,根据参考时钟,实际传输时间为 t'i = ti − Oi
在这里插入图片描述
图2:时序模型的说明。

虽然时钟偏差可能由于温度等因素而缓慢变化,但时钟偏差在短时间内几乎是恒定的。给定恒定的时钟偏差S,发送端经过的时间 ti 与接收端经过的时间 t'i 之间的关系为 S = (ti - t'i ) / t'i 。因此,我们有 t'i = ti / (1 +S) 和 Oi = ti - t'i = (S / (1+S)) ti。为了解释由于抖动引起的偏移偏差,我们对实际时钟偏移Oi = (S / (1+S)) ti + ϵi 进行建模,其中 ϵi 被假设为 i.i.d 零均值随机变量。
经过网络延迟 di (由于消息的传输、传播、仲裁和接收)和零均值量化噪声 ni [37]后,消息 i 的到达时间戳为
在这里插入图片描述
其中 ηi = - ϵi + di + ni 为总噪声。由于周期性 CAN 消息的数据长度随时间的变化是恒定的,因此可以合理地假设网络延迟为恒定均值,即E[di] = d。因此,ηi's可以建模为 i.i.d 随机变量,其均值为 d,方差为 σ2η

对手模型

我们考虑一个对手,能在渗透CAN总线并在不被发现的情况下发动隐形攻击。我们假设对手可以被动地监视和观察所有正在进行的can传输。此外,它完全了解已部署的隐蔽通道,还可以观察正在传输的所有身份验证消息。实际上,通常有两种方法可以获得对CAN总线的未经授权的访问:1)物理或远程破坏车载ECU[3],或者2)将外部设备(恶意ECU)插入CAN总线[18]。我们假设攻击者无法访问存储在受损ECU和其他合法ECU的TPM中的密钥。
在这里插入图片描述
图3:CAN总线上的三种典型攻击

攻击者可以使用受损(妥协的)或恶意的ECU执行三种基本攻击:1)暂停,2)注入,和3)伪装攻击,如[5,21,28]所考虑的。如图3(a)所示,暂停攻击者阻止受损ECU传输某些消息,而注入攻击者可以伪造并注入任意选择消息ID、内容和时间的can消息,如图3(b)所示。注入攻击可以导致更复杂的攻击,如DoS攻击[15]和bus-off攻击[4]。在(隐形)伪装攻击中,对手需要妥协两个ecu——一个是弱妥协(充当只能发动暂停攻击的强攻击者),另一个是完全妥协(充当既能发动暂停攻击又能发动注入攻击的强攻击者)。在图3©的示例中,攻击者暂停弱受损的ECU2传输消息0xB2,并使用完全受损的ECU1注入声称来自ECU2的消息0xB2。与暂停和注入攻击相比,隐形伪装攻击的检测难度要大得多

四、TACAN

在本节中,我们将在(第4.1节)详细介绍TACAN架构,并在(第4.2节)介绍发送器身份验证协议。然后,我们提出了三种传输身份验证消息的隐蔽通道:1)基于IAT(第4.3节),2)基于偏移量(第4.4节),以及 3)基于LBS(第4.5节)。

4.1 TACAN 架构

如图4所示,TACAN由车载 ECU 和连接到同一 CAN 总线的可信MN组成。我们假设 MN 是由制造商在生产过程中预先安装的,并且需要授权方(例如,授权维修店)直接进行物理访问,以防止潜在的篡改和妥协。我们进一步假设部署的隐蔽通道在生产期间预配置或在维护期间重新配置,因此可以成功建立从 ECU 到 MN 的身份验证信息的单向通信。

与[14,26,33]类似,假设主密钥(MK)在每个 ECU 和 MN 之间是预共享的,主密钥存储在 TPM 中。更新 MK (例如,当添加或更换ECU时)应再次要求授权方直接访问所涉及的ECU。密钥更新的过程不在本文的讨论范围之内在操作过程中,每个 ECU 将从 MK 和全局计数器生成一个会话密钥(SK),并进一步使用它来生成认证消息。我们将在下一节中更详细地描述发送器身份验证协议。
在这里插入图片描述图4:TACAN体系结构和发送者身份验证协议的说明

4.2 发送方认证协议

受[26]中工作的启发,MN 对每个发送ECU进行单向认证。TACAN 对 n 个 ECU 使用的参数汇总如下:

  • 主密钥 MKi,其中i∈{1,…,n}是 ECUi 和 MN 之间的预共享密钥,安全存储在双方的 TMPs 中。
  • 会话密钥 SKi,其中i∈{1,…,n}用于生成 ECUi 的鉴权消息。
  • 本地计数器 li, i∈{1,…,n}是一个增量值,用于存储 ECUi 发送的认证消息数。该值包含在身份验证消息中。
  • 全局计数器 gi,其中i∈{1,…,n}表示在特定情况下(例如,汽车点火,li 溢出)更新的值,并用于生成 SKi

我们假设 SKi 和 gi 都存储在 TPM 中,这样攻击者就无法篡改它们并发起重放攻击。

会话密钥生成。每个 ECUi 存储自己的主密钥 MKi, MN 存储所有 ECU 的主密钥。n 个 ecu 的会话密钥通过 MKi 和 gi 生成,如下所示:
在这里插入图片描述
其中 HMAC(·)为基于哈希的消息验证码算法[19]。可以为 HMAC 使用不同的哈希算法(例如,HMAC- sha256)来满足期望的安全要求。
每次 SKi 更新时,li 将重置为零。在接收端,MN 使用相同的 MKi 和 gi 为 ECUi 计算相应的 SKi。当 gi 值增加时,执行计数器同步。由于计数器的非同步可能引起身份验证消息验证失败,因此可以执行重新同步过程。更多细节见[26]。

认证消息生成。ECUi 首先增加 li,然后计算认证消息 Am,如下所示:
在这里插入图片描述

其中“||”表示位字符串连接。对于我们的工作范围,我们假设为 TACAN 设想的所有参数(键和计数器)都是二进制值。正如我们所看到的,Am 与任何正常的can消息无关,只是作为 ECUi 的标识符
在这里插入图片描述
图5:基于时序的隐蔽通道示意图

至于 li,即使在每条消息验证中,对于一条10毫秒的消息,一个24位计数器也可以持续46个小时以上,这对于我们以更小的频率传输 Am 的发送器验证协议来说已经足够了。TACAN 的实现可以自由地使用 HMAC 的散列算法和被认为足够强的密钥大小。发送者可以将每个 digest 截断为几个比特来减少传输时间,而不是传输通常长达数百位的整个 digest (例如,使用最低有效的8位或将所有字节 XORing 在一起,以创建浓缩的8位 digest 版本,如[20,31])。

在信息安全领域,digest通常指的是消息摘要,它是一个固定长度的二进制字符串,通常用来表示对消息的加密哈希值。消息摘要通常由哈希函数计算得出,用于验证数据的完整性和一致性。在信息安全中,消息摘要可用于验证数据的完整性,以及防止数据被篡改。

4.3 基于IAT的隐蔽通道

图5 展示了用于周期性CAN消息的两个基于时间的隐蔽通道,其中传输 ECU 将认证消息嵌入到 CAN消息的 ITT(传输时间间隔) 中,后者可以由 MN 从 ITT 或偏移量中提取。通过验证接收到的身份验证消息,MN 可以对发送方进行身份验证。在本节中,我们介绍基于 IAT 的隐蔽信道。

Observations。根据Eq.(1)中的时序模型,观察到的消息 (i−1) 与 i 之间的IAT为
在这里插入图片描述
由于几乎所有CAN消息都是周期性的(如:Δti = T),因此 IAT 的平均值为E[ Δai ] = T /(1+S),方差为Var(Δai) = 2σ2η。在实践中,时钟偏差通常非常小(大约100s ppm)。因此,我们有κ = E[ Δai ]≈T,其中 κ 被认为是 IATs2 的参考水平。

从式(2)中可以看出,ITTs 中 δ 的偏差量会导致 IATs 中 δ/(1+S) 的相应变化,当 IATs 的方差较小时,接收器很容易观察到这一点。在 IATs 方差较大的情况下,接收机可以计算运行平均值来平滑噪声,即:
在这里插入图片描述
其中L为窗口长度。通过运行平均值,IATs 的方差可以通过 L2 因子显著减小。请注意,由于括号中存在1/L,为了保持观测到的 IATs 的相同变化水平,需要将偏离量 δ 添加到 L 个连续的 ITTs 中。

作为示例,我们在图6中绘制了来自丰田数据集[8]的消息0x020 (T = 0.01秒)的 IAT 分布。当 δ = 0.02T = 2·10−4 秒被加到或从IATs中减去时(为了模拟在假定可忽略时钟偏差影响的发射机操作),三个簇(代表比特0或比特1或两者都不是)不能彼此分离(图6(a)),这可能导致接收端出现比特错误。相比之下,当运行平均值为L = 4时,聚类可清晰区分(图6(b)),可以通过阈值分割进行分离。上述观察激发了我们设计基于 IAT 的隐蔽通道。
在这里插入图片描述
图6:来自Toyota数据集的消息ID=0x020的IAT分布示例(a)没有运行平均值(L = 1), (b)有运行平均值(L = 4)。

Am 嵌入到 ITTs 中。给定 nm 位的 Am ,发送端首先通过在 Am 前后插入ns/2 个沉默位来构造一个认证帧。沉默位(设置δ = 0)的主要目的是维持 IAT 的参考电平,并表示 Am 的开始和结束。因此,Af 的总长度为 nf = nm + ns 。例如,如果Am = 0101, ns = 2,我们有 Af = _0101 _ 。每个比特 i 被调制成 L 个连续的 ITTs,如下所示:
在这里插入图片描述
其中 j∈[iL, (i + 1)L)。

从 IATs 中提取 Am。在接收端,MN 记录目标消息的到达时间戳并计算 IAT。然后使用正确选择的 L 执行运行平均,得到{Δa¯[i]}。由于每个比特在 L 个连续的 ITT 中重复,接收器需要对 {Δa¯[i]} 的每个L值进行采样。设采样偏移量为 τ ,第j个样本为 Δa¯[jL+τ] 。如果正确选择 τ,则每个调制样本与参考电平(κ)之间的总距离应最大化,即
在这里插入图片描述
然后接收端通过阈值处理将采样值转换为位,步骤如下
在这里插入图片描述
其中Γl = κ − δ/2、Γu = κ + δ/2 分别为下阈值和上阈值,κ≈T,“_”为沉默位。之后,将输出位连接起来,然后在沉默位处分割以获得 Am

请注意,为了建立一个可靠的基于 IAT 的隐蔽通道,如3.1节所述,需要在发送 ECU 和 MN 之间预共享包括 L 和 δ 在内的参数。我们将在线估计 MN 侧的隐蔽信道参数作为未来的工作。

4.4 基于偏移的隐蔽通道(本节公式格式暂未整理)

基于偏移量的隐蔽通道的思想与基于 IAT 的隐蔽通道非常相似(图5)。主要区别在于前者对 IAT 执行平均(包括添加的偏差)以平滑噪声,而后者旨在累积偏差以区分调制样本和噪声。我们对时钟偏移的观察如下。

观察结果。根据3.1节中的时序模型和Eq.(1),我们得到 ti =⎪i j=1 Δtj, a0 = η0, ai = ti /(1 + S) + ηi。由于接收方只知道目标消息的标准周期(T),因此它将观察到的时钟偏移量计算为发送方期望经过的时间(直到消息i)与接收方实际经过的时间之间的差,即:
在这里插入图片描述
我们可以看到,如果发射机对L个连续的ITTs加上δ (Δtj = T + δ,对于j = 1,…δL/(1 + S)会累积,导致δL/(1 + S)减小。因此,通过监测io的变化,接收器可以确定发送的位并从时钟偏移中提取Am。上述观察激发了我们设计基于偏移的隐蔽信道。

将我嵌入到ITTs中。与基于att的隐蔽信道(第4.3节)不同,发射器将Af的每一位嵌入到L个连续的itt中,如下所示:
在这里插入图片描述
对于j∈[iL, (i + 1)L),和
在这里插入图片描述
forj∈[iL+L/2, (i+1)L),其中假定L为偶数。换句话说,为了传输一个比特0/1,发射机在第一个L/2个ITTs上加上- δ/δ,然后在接下来的L/2 ITTs上减去- δ/δ,以便在每个比特传输后观测到的时钟偏移量返回到参考电平。

从偏移中提取Am。在接收端,监控节点记录到达时间戳,并批量处理iat。由于每个Af有nf位,每个位被调制成L个连续的itt,因此同一Af共有N = nf L个连续的itt,其中N表示批大小。
记k批中的第i个IAT为Δak,i,其中1≤i≤N。然后,观察到的相对于当前批开始到第i个IAT的时钟偏移量为
在这里插入图片描述
设κ = (max(Ok [i]) + min(Ok [i]))/2为中点(假设至少传输了一个0和一个1),作为时钟偏移的参考电平。由于时钟偏差通常非常小(百万分之100),并且我们计算的是批处理时钟偏移量,因此时钟偏差的影响很小,因此我们假设在批处理的持续时间内κ是恒定的3。由于每个比特都会影响L的值,接收器需要以采样偏移量τ对每个L值进行{{Ok [i]}采样,得到第j个样本为{{Ok [jL + τ]。如果正确选择τ,则每个样本与参考水平之间的总距离应最大,即:
在这里插入图片描述
然后,接收器通过以下基于阈值的方案将采样值转换为位:
在这里插入图片描述
其中Γl = κ−1 4 δL和Γu = κ + 1 4 δL分别为下阈值和上阈值,“_”为沉默位。δL的1 4项是由于δ是在L/2个连续的ITTs上加上(或减去)的,因此最大总偏差为±12 δL。选取κ和κ±12 δL之间的中点作为阈值。最终,通过连接所有已解码的比特并在沉默比特处分割它们来提取Am。

对CAN总线可调度性的影响。正如我们所示,在基于IAT和基于偏移量的隐蔽信道中,一定数量的偏差被添加到itt中。因此,它可能会增加CAN消息的最坏情况响应时间,这被定义为从初始事件(将消息放入传输队列)发生到需要它的节点接收消息的最长时间。如果我们将[9]中的可调度性分析应用于TACAN,我们可以发现,TACAN的效果相当于将阻塞延迟增加一个恒定的时间(数百μs),并将消息传输时间增加一个小百分比。因此,为了实现隐蔽信道的有效利用,需要在部署前通过实验获得TACAN参数并进行微调,以确保CAN总线的可调度性。附录A.2提供了更详细的讨论。

4.5 基于LSB的隐蔽通道

在本节中,我们将介绍一种基于存储的隐蔽通道,它将身份验证消息嵌入到ECU传输的正常CAN消息的数据有效负载的 LSB 中,称为基于 LSB 的隐蔽通道(图7)。与基于定时的隐蔽通道不同,基于 LSB 的隐蔽通道可以应用于非周期性CAN消息。对于这项工作的范围,我们使用CAN数据帧来开发我们的方法。
在这里插入图片描述
图7:基于 LSB 的隐蔽通道示意图。发送ECU将认证消息嵌入到多个正常CAN消息(具有相同ID)的 LSBs 中,供Monitor Node提取并验证。

观察结果。为了在CAN总线上传输认证消息,通常利用CAN消息的现有字段,如数据字段13,14,20和扩展ID字段[14],或者简单地引入额外的CAN消息[13,14]。然而,在实践中,如果数据字段中的所有字节都已被使用,或者CAN总线已经负载过重,那么利用CAN消息的现有方法可能会破坏ECU的功能或增加仲裁延迟。
在这里插入图片描述
与现有的试图对消息进行身份验证的方案不同,我们的发送方身份验证方案旨在对发送方而不是每条消息进行身份验证。因此,身份验证消息的传输频率要低得多,这意味着身份验证位可以分布在多个CAN消息中,每个CAN消息只使用几个位。此外,已经意识到某些CAN消息用于携带传感器值,其中大多数是浮点数,我们可以使用L lsb(例如,L = 1或2)用于身份验证目的,而不会导致精度的显着降低。以丰田凯美瑞(Toyota Camry)为例,42条消息中至少有7条消息携带传感器值(例如,轮速、发动机转速、车速、里程表、制动压力、转向角)[8]。我们期望在更新的汽车中有更多的CAN信息携带传感器值。上述观察启发了我们设计基于 LSB 的隐蔽通道。

将 Am 嵌入到 LSBs。嵌入过程是作为应用层和数据链路层之间的子层实现的。对于每个消息Am(加上一个已知的前导来指示Am的开始和结束),它用 Am 中的下一组 L 个位替换 CAN 消息中最不重要的 L 个位。如果L位恰好相同,则不需要修改

从 LSBs 中提取 Am。在接收端,MN 从接收到的 CAN 消息中提取 LSBs,并重新构造认证消息。如果 MN 验证验证消息失败,则会发出警告,表明可能是发送ECU的妥协或恶意利用CAN总线。
与基于时间的隐蔽通道的情况一样,我们假设在生产期间每个 ECU 和 MN 之间预共享基于 LSB 的隐蔽通道的设置,并在必要时在维护期间更新。有关嵌入和提取过程的更多细节见附录A.3。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1259764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【上海大学数字逻辑实验报告】一、基本门电路

一、 实验目的 熟悉TTL中、小规模集成电路的外形、管脚和使用方法;了解和掌握基本逻辑门电路的输入与输出之间的逻辑关系及使用规则。 二、 实验原理 实现基本逻辑运算和常用逻辑运算的单元电路称为逻辑门电路。门电路通常用高电平VH表示逻辑值“1”,…

vim工具以及如何给用户加上sudo的权限

Linux开发工具之vim以及如何给用户配置sudo的权限文件的操作 1.vim概念的介绍 2.vim的多模式的介绍 3.vim的命令模式与低行模式的相关指令操作 4.vim如何配置 5.如何给普通用户配置sudo的权限 本文开始~~~~ 1. vim概念的介绍 vim是一款多模式的文本编辑器,简单…

激光线提取

在做单线激光三维重建,和多线激光三维重建的时候都会设计到激光线提取算法的实现,如何保持高速和高精度是关键 ,最近优化了steger中心线提取算法,通过并行化实现在cpu版本可以做到2m,GPU版本可以做到0.6ms左右,完全可…

Go 中切片(Slice)的长度与容量

切片长度与容量在 Go 中很常见。切片长度是切片中可用元素的数量,而切片容量是从切片中第一个元素开始计算的底层数组中的元素数量。 Go 中的开发者经常混淆切片长度和容量,或者对它们不够了解。理解这两个概念对于高效处理切片的核心操作,比…

S32K3之看门狗(autosar框架中的watchdog)

参考链接:AUTOSAR软件架构 — MCAL Wdg模块解析(nxp为例) 1、注意点 在 autosar 规范中,系统必须能够实现自动喂狗,这就需要使用定时器来实现周期性的定时喂狗。 在实现自动喂狗功能时,需要注意定时器的频…

Linux多路转接select,poll

文章目录 目录 文章目录 一、五种IO模型 1.阻塞IO: 2.非阻塞IO 3.信号驱动IO 4.IO多路转接 5.异步IO 二、高级IO的一些重要概念 1.同步通信和异步通信 2.阻塞和非阻塞 三、其他高级IO 四、非阻塞IO 1.fctl函数 2.实现setNoBlock函数,将文件描述符设置…

OSG编程指南<三>:利用Cmake+VS2019+OSG3.6.5编译osgVerse

目前osgearth的ralease版本和debugx64都已经编译过了并且自测可用,放到资源里osgearth下载,供需要的朋友下载参考。环境配置:win10VS2017OSG3.6.4OSGEarth2.10.2, 1、配置OSG环境 编译好osg,然后在系统变量中配置如下…

微服务--02--Nacos注册中心

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 服务注册和发现手动发送Http请求的方式存在问题注册中心原理 Nacos注册中心配置服务注册服务发现小结: 服务注册和发现 手动发送Http请求的方式存在问题…

windows中打开psql命令行

第一种方式 1.点击下方的psql,打开命令行窗口 2.中括号中的是默认值,直接回车就行 3.成功 第二种方式 双击安装目录中的执行文件 “D:\soft\postgresql\catalogue\scripts\runpsql.bat” 第三种方式 1.加到环境变量 把“D:\soft\postgresql\catalo…

Python爬虫入门课: 如何实现数据抓取 <文字 图片 音频 视频 文档..>

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 环境使用: Python 3.10 解释器 Pycharm 编辑器 模块使用: requests re csv pandas 爬虫实现第一步: 一. 抓包分析 找到对应数据链接地址 套用代码: 修改…

创建JDK8版本的SpringBoot项目的方法

截止到2023.11.24,SpringBoot不再支持3.0X之前的版本,3.0X之后的版本所对应的JDK版本为JDK17,下面介绍如何在idea上继续使用JDK8的版本。 一.通过阿里云下载 https://start.aliyun.com/https://start.aliyun.com/ 点击高级选项进行详细设置…

centos 显卡驱动安装(chatglm2大模型安装步骤一)

1.服务器配置 服务器系统:Centos7.9 x64 显卡:RTX3090 (24G) 2.安装环境 2.1 检查显卡驱动是否安装 输入命令:nvidia-smi(显示显卡信息) 如果有以下显示说明,已经有显卡驱动。否则需要重装。 2.2 下载显卡驱动 第一步:浏览器输入https://www.nvidia.cn/Downloa…

20231127让RK3399的挖掘机开发板在Andorid12系统下休眠唤醒之后禁止锁屏

20231127让RK3399的挖掘机开发板在Andorid12系统下休眠唤醒之后禁止锁屏 2023/11/27 20:55 适用于SOC以及系统版本: RK3399:Android10/11/12 RK3568:Android11/12 RK3588:Android12 当RK3399平台的Android12系统在休眠之后&#x…

SpringBoot定时任务报错Unexpected error occurred in scheduled task原因及其解决方法(亲测有效)

问题 spring boot项目在线上一直正常运行没有错误,然后今天发生了报错,如图 这是一个定时器错误,发生这个报错 主要有两个原因 定时器编写的有错误Scheduled注解方式级别高于资源注入级别,导致了资源注入失败 以下是我的代码 …

企业如何保障跨境金融业务中的数据安全传输?

随着全球化的不断深入,跨境金融业务日益频繁,然而在这些业务中,数据的安全传输一直是企业面临的重大挑战。跨境业务数据传输可能会遇到多种困难,如网络攻击、数据泄露、通信故障等。因此,企业需要采取有效的措施来确保…

centos7 keepalived 探测哪个是当前节点

前提 nginx 默认页面内容中需要加上各节点的ip nginx web页面修改 nginx配置文件路径:/etc/nginx/nginx.conf,该配置文件引用了/etc/nginx/conf.d/default.conf 打开/etc/nginx/conf.d/default.conf配置文件可以看到html页面的路径 /usr/share/nginx…

判断二进制最低位数字

在二进制表示中,偶数的最低位(最右边一位)始终为0,而奇数的最低位始终为1。 当一个数与1进行按位与运算时,实际上是在检查该数的最低位是0还是1。 如果结果为0,则说明这个数是偶数,因为偶数的…

中文编程开发工具高级版全部构件工具箱列表,中文编程自由版下载

中文编程开发工具高级版全部构件工具箱列表,中文编程自由版下载 附:中文编程工具构件工具箱总共22组305个构件,构件明细如下:文本件16个: (普通标签,连接标签,闪动标签,立…

nodejs+vue+elementui网上家电家用电器数码商城购物网站 多商家

基于vue.js的恒捷网上家电商城系统根据实际情况分为前后台两部分,前台部分主要是让用户购物使用的,包括用户的注册登录,查看公告,查看和搜索商品信息,根据分类定位不同类型的商品,将喜欢的商品加入购物车&a…

搭建Appium工具环境

1、安装Java Development Kit(JDK) 前往Oracle官网下载JDK。 在https://www.oracle.com/java/technologies/javase-jdk11-downloads.html 找到最新版本的JDK。根据操作系统选择适合的版本,并根据指示下载安装程序。 安装JDK。运行下载的安…