摘要
在汽车行业,网络安全的实施程度很低。一辆汽车有多个电子控制单元(ECU),每个ECU通过控制区网络(CAN)与另一个ECU进行大量的信息交流。如果黑客入侵系统,那么它就像一个开放的资源来源,任何有价值的信息都可以被操纵。这可能会导致巨大的损失。这是一个验证各种现有网络安全功能的动机,了解系统,然后实施网络安全功能。
本文讨论了密钥槽验证设计、最大权威计数器验证设计和用户模式实现。汽车工业的发展采用了汽车开放系统架构(AUTOSAR)平台。
I.简介
近年来,正如人们所看到的,机械系统正在被电子元件所取代。现在,汽车不再是一个机械装置和一个电子设备,连接性使它成为一个物联网(IOT)设备。在汽车行业,一辆汽车有许多电子控制单元(ECU)。这些ECU已被编程以执行许多功能。
早期的网络安全问题只是用计算机进行各种攻击的黑客。如今,有许多网络安全功能在非计算机上实现,例如,家用电器、交通、公用事业以及各行业。随着每个设备都在向自动化和物联网方向发展,许多工厂和行业都在发展。随着连接性的增加,物联网概念在汽车行业得到了广泛的应用。
这种连接性的增加也增加了网络风险,这是一个严重的问题,也是一个社会问题。ECU被编程了许多功能,这些功能被用于汽车中,如驾驶辅助、安全气囊和许多其他应用。这些ECU通过控制区网络(CAN)相互连接,这是广泛用于车辆的通信协议。在CAN总线上有许多信息传输,而某些信息与安全有非常重要的关系。如果这些安全信号在CAN总线上被操纵,对车辆的影响是危险的,车辆没有安全保障将导致巨大的风险。
II.理论和方法
A.安全通信
发射器ECU和接收器ECU通过CAN总线连接。发射器有硬件安全模块(HSM),它能够计算出信息验证码(MAC)。HSM计算MAC的输入是时间戳和信息或有效载荷。MAC被生成并与信息和时间戳一起发送给接收方ECU。接收器也与HSM相关联,它有能力验证发射器通过CAN总线发送的MAC。一旦MAC被HSM验证,信息就被接收器接受。
在这种情况下,时间戳显示为7'O clock,如图1所示。有一个黑客ECU监视着总线,并有意在总线上捕获信息。当黑客ECU捕获信息时,很明显,MAC和时间戳7'O时钟也从总线上被捕获。现在,黑客ECU以不同的时间戳发送相同的信息。图1中的不同时间戳是9'O时钟。
在9点钟,黑客ECU通过CAN总线向接收器发送相同的信息。当接收方在验证MAC时,时间戳不匹配。接收者没有关于不同时间戳的信息。因此,该信息被拒绝。
图1. 信息认证
现在,可能有这样的情况:发射器和接收器之间有时间延迟,信息连同MAC和时间戳到达接收器时有一些延迟。这不会有任何问题,因为时间戳只不过是一个计数器而已。计算MAC的计数值和接收方关于该计数值的信息将保持不变。接收方的计数器值不会递增。因此,即使总线上有一定的延迟,MAC也会被接收器验证。
B.基于密码的信息验证码
基于密码的信息验证码(CMAC)是一种用于MAC生成和验证的算法。这种算法在ECU的硬件安全模块(HSM)中进行。如图2所示,CMAC算法与发射器的对应密钥槽相耦合。有效载荷或信息和防重放计数器被作为输入给CMAC算法以生成MAC。
这是与安全信息相关的计数器。因此,CMAC算法的输入是有效载荷和防重放计数器。每一个安全发射器信息都与一个密钥槽相关。
图2. CMAC生成钥匙槽也被称为密钥ID。密钥ID是提供钥匙的槽位。在提供的钥匙槽中提供钥匙,然后设置MAC标志。有一些内部值被设置为MAC Only flag。该标志用于生成MAC。这些生成的密钥与CMAC算法相连,该算法将生成以有效载荷和防重放计数器为输入的MAC。
用于MAC验证的值是不同的,该标志值只能验证MAC。与安全发射器信息相比,安全接收者信息被赋予不同的密钥ID。“MAC验证”的值在提供密钥后设置。MAC验证标志有一个设置好的内部值。这个过程将生成MAC验证的密钥。因此,这些密钥被耦合到CMAC层,用于MAC生成或MAC验证。
C.用户模式和管理模式
两种特权模式的操作是管理模式和用户模式。监督员模式将可以访问所有的资源控制操作。它就像一个管理员,拥有所有内存位置的读、写和可执行权限。 所有的任务都在一个单一的平台上运行,除了管理员,没有人可以改变任何任务、任何代码或任何配置。这使得该系统非常僵硬。
在汽车工业中,汽车中的电子设备之一是ECU。这个ECU只在监督员模式下运行。寄存器和内存位置只能在监督员模式下访问。所有的应用程序都在监督员模式下运行。 当处理器在用户模式下运行时,它对系统的访问将受到限制。如果实施了用户模式,那么在这种模式下,用户将有对资源控制操作有限的访问权,某些内存位置将有有限的权限。要了解从管理模式切换到用户模式,并检索到管理模式。
了解机器状态寄存器(MSR)是很重要的。这个MSR决定了处理器的状态。MSR是一个32位的寄存器。MSR中的问题状态寄存器(PR)位表示处理器是处于用户模式还是监督模式。如果PR位=0,处理器处于管理模式。如果PR位=1,处理器在用户模式下运行。
ECU在监督员模式下运行。其中一个功能将被定义为在用户模式下运行。因此,代码是在该功能中开发的,以便ECU在用户模式下运行该特定功能。当代码正在执行时,MSR的PR位被设置为1,而不会干扰MSR中的任何其他位。将PR位改为1后,ECU现在在用户模式下运行。
如果ECU必须切换回管理模式,则必须执行系统调用或中断,以将MSR寄存器的PR位更改为零。
图3. 用户模式概念
MSR将其值存储在特殊用途寄存器(SPR)中,同时执行系统调用。SPR的作用是将MSR值的PR位位置改为1。当MSR从SPR中检索到它的值时。对它的指示,是保持在管理模式,因为MSR的PR位将是1。这个概念证明了可以从管理模式切换到用户模式,反之亦然。通过使用这个概念,用户和管理模式可以在ECU中成功实现。
III.设计
本节将解释网络安全三个功能的设计,前两个设计将证明现有的代码运行良好。第三个设计是ECU中用户模式的实现。
A.钥匙槽验证
验证任何一个ECU都不得使用安全外围设备内的同一密钥槽来生成和验证MAC。ECU已被校准以生成有效的非零MAC。已使用不同的密钥来生成和验证MAC。
行动
触发ECU发送安全信息。选择由ECU在总线上发送的安全发射器信息,并形成必要的数据发送到MAC生成接口操纵应用程序代码,将密钥槽号为4的数据发送至MAC 生成与接收方信息密钥槽号相对应的密钥槽接口。密钥槽验证的设计如图4所示。
图4. 密钥槽验证设计
设计显示,密钥槽号11、12、13、14、15是接收信息的密钥槽号,这些密钥槽被强制放在密钥槽号4上,一次一个。MAC生成的密钥闪光,这些密钥与密钥槽11、12、13、14、15相关。这些钥匙应该被生成。这个动作将触发错误。这个错误就是无效的钥匙。
所有的钥匙槽都经过验证,每次使用不同的接收器钥匙槽时,应用程序代码都会提供相同的错误。
B.最具权威性的反核查
确保ECU在权威性计数器达到最大值时设置一个DTC,并发送零MAC。
行动
触发ECU来发送安全信息。验证ECU正在发送它所支持的所有发送器信息。选择一个安全的发送器信息,并操作应用程序代码,将相应的权威计数器设置为其最大值。
图5. 最具权威性计数器验证设计图
权威的计数器是与安全发射器信息相关的内部计数器。如果该计数器达到其最大值,那么应用代码应该设置诊断故障代码(DTC)。还可以观察到,选定的安全发射器信息中的MAC值应该是零。
当代码中出现错误时,DTC就是设定的。DTC可以被设置为各种错误,通过这个应用层提示某些内容没有按照预期工作。
IV.用户模式验证
最初,ECU将在管理模式下执行功能。在管理模式的功能结束时,会引入一个链式任务,并将一个用户模式定义的功能作为参数给出。这些函数不能在用户模式下访问寄存器,因为它们是不被信任的函数,所以引入了包装器,如图6所示,它显示了用户模式的实现设计。
这些是映射到可信函数的不信任函数,以调用原始函数,在用户模式下执行。当包装器在函数中被调用时。它应该在实时操作系统(RTOS)中进行配置,这些函数被配置为可信函数。
这样就可以访问寄存器和函数,在用户模式下执行。现在,为了将运行在用户模式下的ECU切换到管理模式,在用户模式函数的末端调用一个链式任务,传递给它的参数是管理模式函数。
图6. 用户模式的实现设计
因此,ECU将以管理模式运行。在函数执行结束时,会调用一个终止链任务,该任务将终止该进程。
V.结果
所有三种设计的结果都显示在本节中。
A.密钥槽位验证结果
CAN总线通常在传输所有的发射器和接收器信息,如ECU所规定的。这些信息将包含分配给每个信息的原始密钥槽。选定的安全发射器信息包含密钥槽ID为4,这是最初分配的密钥ID。不会有任何错误。该测试案例也没有启用。
图7. 密钥槽验证的结果 现在,测试案例被启用,接收器的钥匙槽ID,一次一个被强制送到特定选择的发射器信息的应用代码中。
在图7中,接收器的钥匙槽号11、12、13、14、15是强制的。在提供钥匙后,应用程序代码会出现错误。出现的错误是INVALID KEY。在这种情况下,发射器信息2被迫接受改变了的钥匙槽11、12、13、14、15。所有的接收器钥匙槽ID都给出了同样的错误,因此,这将证明,当接收器钥匙槽被强制取代发射器钥匙槽时,没有一个ECU能够发挥作用。
B.最具权威性的计数器结果
发射器指数2的选择是为了使权威的计数器达到最大。这将导致为安全发送器信息2设置DTC,并且传输的MAC值也为零。这在图8中显示。
图8. 最大权威性计数器的验证结果 结果证明,测试案例是经过验证成功的。DTC也被设置,并且该特定信息的MAC值为零。其他信息通常会执行一个有效的MAC。
C.用户模式的结果
图9显示了管理模式的结果。决定ECU状态的寄存器是MSR。在图9中,MSR的值是00009000。这表明第17位是0,也就是确定监督员模式的PR位。
图9. 管理模式的结果 如图10所示,MSR寄存器的值是00029000。 这清楚地表明,MSR的PR位等于1,这代表处理器运行在用户模式下。
图10. 管理模式的结果
所有其他的位子都没有受到影响,ECU有能力在用户和监管理模式下切换和执行功能。它甚至能够访问所需的特权寄存器和内存位置。
VI.总结
由于攻击率高,网络安全只出现在计算机中。现在,车辆通信中的网络安全已经成为汽车行业不可或缺的一部分。没有钥匙,就没有安全。因此,钥匙在有关安全的HSM中起着重要作用。
目前只讨论、设计和实现了三个功能,但汽车行业的网络安全是一项巨大的研究课题。实现了许多功能,每一个功能都需要对AUTOSAR、CAN通信和许多其他功能的平台有深入的了解。一旦理解了这些特性,就可以设计和实现其他安全特性。
上一篇:为何芯片对智能电动汽车很重要?
下一篇:分析吉利 EV450 高压互锁故障原因
推荐阅读最新更新时间:2024-11-12 12:28
- STEVAL-IPM15B,基于 IGBT IPM 的 SLLIMM 第二系列模块 STGIB15CH60TS-L 的电机控制电源板
- RDR-752 - 具有83%待机效率的15W双输出电源
- LTM4636EY 四相 0.9V 160A 设计的典型应用电路
- MC33166 三路输出转换器的典型应用
- AD8627AKSZ-R2精密放大器用于8极Sallen-Key低通滤波器的典型应用电路
- SlimeVR
- 使用 Analog Devices 的 LTC3588IDD-1 的参考设计
- LTC4367HDD-1 用于滞后调节的过压电源控制器的典型应用
- TTP229触摸按键模块
- LR645LG-G 大电流调节的典型应用