登录| 注册 退出
驭捷智能

面向下一代汽车嵌入式系统的安全意识网络控制器

2021-03-24       浏览:  
分享到:

现今的汽车上搭载了上百个,甚至更多的电子控制单元(ECU)。这些ECU共同负责处理车辆的娱乐功能,舒适性以及关键性动力传动系统等诸多功能。这些网络组件以模块化的方式构建,并随着时间的推移而不断升级,每个ECU通过网络控制器连接到所需的网络。

随着日益增多的车内连接和车外连接,人们开始担心这些以封闭的方式而构建起来的网络是否安全。事实上,现代汽车已经发生了多起侵入性和非侵入性攻击事件,包括简单的模糊攻击和重放攻击,以及对ECU软件的更为复杂的攻击。模糊攻击涉及在网络上注入命令/数据,以迫使ECU进入某些易受攻击的模式(如启用闪光灯),或使ECU因意外的命令-数据集而停止正常运行。重放攻击包括捕获网络信息,并随后利用这些信息向ECU发送虚假命令。随着无线通信在现代车辆、无线传感器系统、互联网服务或未来车对车(V2V)通信中的普及,潜在的攻击者甚至不需要物理访问就能获得新的攻击路径。

汽车网络系统原本是封闭的,唯一能够与外部连接的端口,只有一个车载诊断(OBD)端口。这些OBD端口支持对关键和非关键网络的直接和/或桥接访问,黑客往往通过这些(受感染的)OBD加密锁获取访问,于是,这些OBD端口便成为了黑客攻击的理想突破口。此外,一些恶意软件和硬件提供了其他攻击途径,主要是通过未经批准的售后市场升级引入的。由于整个车载网络提供了对所有组件的隐式完整总线访问,所以,这些攻击会对信息或其他ECU发起内部攻击(观察或操作)。

面向下一代汽车嵌入式系统的安全意识网络控制器(图1)

图1:攻击者通过破坏车辆网关,以被动黑客(观察者)或主动黑客(注入消息/命令)的身份获取内部网络消

图1为攻击者通过受损的网关获取信息的示例图。一旦获得对网络的访问权,攻击者就可以利用网络在关键性ECU组件上安装恶意软件,从而损害汽车功能。这些攻击场景都是有可能的,因为车辆网络没有提供任何机制来授权相关设备在特定网络上进行集成和通信(除了物理连接),也没有办法防止受损的ECU访问网络。而通过软件来解决这些问题目前还存在一定的挑战性,因为ECU中的计算和网络控制器中的物理总线访问在逻辑上是分离的。

本文提出了一种新的方法来解决这个问题。结合应用认证和网络访问控制,我们采用一种可重新配置的网络控制器。在启用网络接口之前,先对ECU网络启动内容(引导程序、应用程序和配置)的真实性进行验证,防止被入侵的ECU访问网络。此外,网络接口集成了数据加密技术,并使用混淆和跨层技术对网络访问进行限制,从而防止未经授权的设备通过网络进行集成和通信。该方法将这些功能集成在一个可重新配置的控制器中,同时还不会影响网络的实时特性。利用Xilinx Zynq平台,通过时间触发FlexRay网络演示了这种方法。该方法建立了一个可配置的硬件安全层,并在此基础上提供了一种可改写的安全方案。

01研究背景

根据功能的关键性、延迟要求和通信带宽等因素,车辆网络在物理上被分为高性能和低性能网络,并通过中央网关进行桥接。高性能网络将安全关键性ECU和传感器连接在一起,如发动机控制和线控系统,而低性能网络则连接非关键性ECU,如车窗控制和门锁。这些网络由不同的协议提供服务,例如高性能网络采用高速CAN(HS-CAN)和FlexRay,而低性能网络则采用低速CAN(LS-CAN)和本地互联网络(LIN);每种协议都能提供各自所需的带宽和可靠性保证。然而,远程信息处理系统和驾驶员辅助系统往往同时需要这两种网络信息且需要直接连接到这两种网络,从而产生了不必要的桥接。

车载通信(IVC)的安全性近年来受到越来越多的关注。在一些文献中,研究人员通过探索实际车辆的不同攻击向量,分析了计算和通信系统的安全性。在实验中,强调了现有网络架构的一些常见弱点,如网络桥接、低优先级网络的配置请求接受,以及协议限制,这些都为潜在的黑客攻击提供了可能。这些研究方法揭示了许多实际攻击的可能性,并对威胁和影响后果进行评估分析。这些分析或基于多种因素(严重性、成功概率)对威胁和损害进行评估,或根据威胁的安全影响等级对ECU进行分类,并扩展到无线接口。同样,EVITA也专注于车辆系统的安全性评估,重点关注未来V2V和智能车辆概念。该项目评估了未来通信系统的形式化验证和高效硬件/软件协同设计的可能性。

注:EVITA是智能网联汽车风险评估方法之一,EVITA全称E-Safety Vehicle Intrusion Protected Applications,电子安全车辆入侵防护应用。EVITA本身是由欧盟委员会资助的一个项目,始于2008年,起初该项目的参与者都是欧洲的整车厂和汽车电子产业相关的厂商,比如宝马、博世、大陆、ESCRYPT、富士通和英飞凌等。该项目的主要目标是为汽车车载网络设计、验证和原型架构提供参考,依据和参考ISO/IEC 15408和ISO/DIS 26262相关标准,保护重要电控单元免受篡改,并且也会保护其敏感数据免受损害。

此外,人们还提出了一些技术方法在一定程度来应对这些挑战。例如:

方法一:密码学和异常检测等标准方法来保障数据的安全性,不过这些方法并不能抵抗重放攻击。

方法二:一种基于信任和访问控制列表的方案,用来验证基于CAN的ECU系统的消息真实性。这种方法提供了更高的安全性,但却不能防止未经授权的设备(无论是新插入的设备还是被入侵的设备)访问网络流量。

方法三:基于软件的汽车安全解决方案,但必须保护此类软件以防被入侵和篡改。

方法四:基于汽车硬件的安全模块(HSMs)和安全硬件扩展(SHEs),为V2V和IVC提供高水平的篡改保护。这种HSMs以协处理器的方式进行连接,其安全模块以更高层次(接受到信息后)被调用,但这会产生延迟和功率成本。

本研究的目的是在ECU系统的网络接口(NI)内集成应用安全和网络保护,从而将这些细节从实际应用中抽象出来,实现向安全域的无缝迁移。NI扩展可以提供一些软件层面无法实现的功能,例如利用智能网络接口提高能效,让各自的ECU休眠,或者提供数据层扩展以增强通信。

在可重构硬件上对标准网络接口(NI)进行扩展可以在不产生额外延迟的情况下实现网络保护的集成,从而保持时间保证。在接口处进行安全集成还可以使我们能够利用网络属性提供动态运行时安全,并在应用授权期间消除软件干预。

02概念

一个有效的安全机制应当:(1)对所有ECU(在安全网络中)上的软件进行认证和授权,(2)只允许授权设备访问广播网络。虽然HSM/SHEs提供了软件认证/授权的方法,但总线协议的广播性质允许任何插入的现成组件对总线进行访问,并通过推断网络参数将其整合到总线上。我们的方法旨在利用增强型NI将通信控制器(协议实现)内部和周围的安全性紧密结合,从而避免这些问题。

为验证软件的真实性,必须有一个ECU的外部代理参与其中,比如作为协处理器的HSM单元。我们将此功能集成到定制NI中,通过该接口逻辑读取网络启动的内容,并使用单向散列函数验证内容的真实性,其期望值在硬件生产中被嵌入其中。如果真实性得到验证,则会根据硬件的唯一标识对应用程序使用该硬件的授权进行验证;该标识由电路生成,该电路将设备的内在属性映射到其唯一标识上。由于制造工艺无法精确控制设备的内在属性,所以没有两个相同的设备可以利用这种电路生成相同的标识符,从而提供了独特的方法将软件绑定到特定的硬件平台。只有网络启动的内容经过认证并授权给该硬件后,通信控制器(CC)才会被启用,从而防止被入侵的ECU访问网络。

一旦ECU得到NI授权,就可以通过共享总线启动正常通信。然而,由于总线的广播性质,总线上的恶意硬件仍然可以解码通信并集成到总线上。为解决这一问题,我们在CC中使用轻量级密码集成同步时间戳和跨层加密,从而提供可配置的数据安全性,并混淆协议头信息。时间戳可以防止重放攻击,因为过期数据会在接收ECU的CC中被拒绝;而模糊数据头则意味着未经授权的设备无法通过观察协议参数来解码。因此,只有获得预共享密钥(来自OEM)授权的设备才能在网络上进行集成和通信。我们还加入了一种在运行时使用对称加密技术更新密钥的方法,该方法可以通过使用轻量级非对称方案得以改进。

03案例

在本节中,我们描述了Xilinx Zynq平台上基于FlexRay 的ECU案例的系统架构。我们使用局部重新配置(PR)实现认证和CC模块的动态调用,从而优化了面积和功耗。我们集成了SHA-1散列函数和轻量级密码技术,用于软件加密和数据加密。本概念可用于其他时间触发的网络架构,这些架构最终可能会取代车辆中的FlexRay,并使用其他标准的散列/密码函数。

硬件结构: 图2为基于Xilinx Zynq平台的系统架构。Zynq处理系统(PS)集成了高性能ARM内核和一些外围设备,如DDR内存接口、非易失性内存接口(通过SPI)等、以太网等。PS与可编程逻辑(PL)紧密结合,可用于自定义功能和/或加速器,并通过高性能(HP)端口或通用(GP)端口进行通信。在汽车ECU中,应用代码、启动加载器和PL位流通常会存储在非易失性存储器(NVM)中。

面向下一代汽车嵌入式系统的安全意识网络控制器(图2)

图2:Xilinx Zynq高级系统架构

在PL中,我们将在局部可配置区域(PRR)对软件认证模式或FlexRay CC进行例示。在启动过程中,PRR默认对认证逻辑进行例示。认证逻辑包括一个SHA-1单向散列函数、一个基于环形振荡器的物理不可克隆功能(RO-PUF)以及静态区域的支持逻辑,从而实现与PS的通信。UID寄存器是一个可配置宽度寄存器(8位到128位),它存储了ECU上的硬件和软件组合的唯一标识符,被FlexRay网络用作特定的ECU标识符。状态寄存器保存软件的认证过程状态,用于启动MUXes端口,从而将PRR和FlexRay总线连接至PS(用于配置FlexRay CC)。控制状态机(CSM)负责对PS和PL之间的数据传送(用于授权)进行初始化;同时还负责在ECU软件通过认证后对PRR的重新配置进行初始化,以便加载FlexRay接口。配置模块负责对PRR的重新配置进行管理。

认证功能: 在系统初始化过程中,在Zynq PS完成启动顺序并以默认数码流对PL进行编程后,sysAnitQ函数对PL逻辑接口进行初始化。然后,PL逻辑中的控制状态机(CSM)对非易失性存储器中的DMA读取进行初始化,以计算存储内容的哈希值,包括引导程序、PL默认数码流和应用软件(称为引导映像)。DMA读取内容直接被导入哈希函数,并进行双重缓冲以提高性能。SHA-1内核为定制设计,在16个32位数据块(DMA数据串的大小)上运行,并迭代计算整个引导映像的SHA哈希值。

同时,物理不可克隆功能(PUF)模块会生成一个128位的硬件标识符(HID),该标识符与SHA哈希相结合以认证硬件上的软件。根据设计,我们使用一个包含128个可配置环形振荡器(RO)实例的可配置RO-PUF,每个实例都包含在一个逻辑块(CLB)中。由于每个RO的路由完全限制在CLB及其相关的开关盒(互连)内,因此这种设计可以准确地复制硬件的签名。一旦生成SHA-1散列和HID,软件散列将根据硬编码的SAR寄存器值进行验证,同时HID和软件散列被结合起来进行散列;通过与硬编码的SHAR寄存器值进行匹配来确定软件是否被授权在特定硬件上运行。一旦软件和硬件经过认证和授权(确定为有效或无效),状态寄存器就会被更新,并根据其值触发重新配置。如果得到授权,CSM会触发配置控制器来读取FlexRay CC对应的(缓存)数码流数据,并启用总线接口;否则就会被禁用,即便PS强制重新配置也无效。图3为PRR块扩展的认证功能架构。

面向下一代汽车嵌入式系统的安全意识网络控制器(图3)

图3:硬件-软件认证逻辑

一旦开启授权,受损软件将被迫接入到正在运行的PS(比如通过JTAG);不过,此类编程操作将触发PS进行重置,其将导致PS断线并进入硬件运行逻辑。而运行时的重置操作将使界面多路复用器失效(从通信协议到PL以及通信协议到FlexRay总线),直到循环启动硬件并强制使系统自非易失性存储器(NVM)中被重新启动。这样一来,便可以防止受到由于在应用节点上使用非持续运行操作而引起的入侵式攻击。此外,散列函数将对任何持续性更改检测为违反行为,以防止系统对软件进行授权并负载至通信协议。

安全FlexRay网络界面:FlexRay 通信协议指的是运行FlexRay通信协议,且该协议由协议引擎(PE)与主机接口(HI)组建组成。PE将运行施如同步,编码/解码等在内的协议细节,而主机接口将运行通用地址-数据接口至应用/主机处理器。

为使通信系统具有数据安全性,我们已经在一条标准的FlexRay通信协议总线上接入了时间戳组件与轻量的当前密码至编码/解码模块的数据途径。通过利用常规数据宽度与广泛的流水线技术,我们目前确定的一点是:此类操作不会使系统中的数据流出现额外的滞后性,且其也受到协议界限的限制。即使时间戳的引入会增加交换数据的熵从而使系统不易受到攻击,人们也无法阻止插入式(受损)未授权设备进入通信网络。

为实现这一点,我们必须阻止未授权设备接入至网络。协议的帧头包含了通信时间表以及在纯文本状态下的网络配置信息,而我们可以通过未授权设备恢复参数的情况下知晓上述信息。我们可以利用上述信息以及通信时间表来对未授权设别进行有效配置操作,并将该设别接入至网络以对其所接收的信息进行操作。

为了规避这一情况,我们对控制器进行了扩展操作从而协议帧头会因密码逻辑而出现混淆。包含标志位的协议帧头的第一个字节保持不变,而其随后的由槽号,循环号和有效载荷长度(以及帧头CRC)组成的四个字节与4个字节时间戳相结合(Tx_TS)组成了第一个64位字块。而接着便通过预共享密钥对该字块进行8个循环(可配置,直至32位)的加密,电子控制单元(ECU)数据的第一个64位字块则被预取至缓存区。为增加熵,人们需在牺牲带宽的前提下利用时间戳(2或4个字节)对数据进行覆盖(可选项)。该数据由一个时间戳密钥所加密,而这一时间戳密钥由时间戳帧头与预分享密钥组成。此种方法可以确保即使带有相同数据(无任何时间戳覆盖),也存在一个较大的熵并且当数据被熵所覆盖时熵还将继续增加。这一情况在时间触发网络中可被实现,其原因是由于所有节点都已被同步。此外,数据还有可能以较大循环数(多达482个循环)的方式被加密,且对系统的滞后性无任何影响。产生这一情况的原因则是因为这一现象可能会被前面的64位字节的编码/解码延迟所隐藏。

在接收终端,字节-解码数据将被直接读入至当前解码缓冲区。帧头的第一个字节将通过并不产生任何变化,从而允许协议所定义的启动与同步化逻辑运行而不发生任何变化。时间戳的剩余4个字节将通过相同的预分享密钥被解密,以对认证协议信息(槽,循环以及有效载荷大小)进行确认。而通常来说,节点也会利用上述信息以接入网络。由于只有授权设备预配置有预分享密钥,本方案可确保未授权设备无法接入网络。产生这一情况的原因则是因为未授权设备无法通过观察总线而对网络参数进行确认。

而接下来也是以同样的方式对剩余的预接收信息进行了解密,但是通过使用已解密时间戳(Rx_TS)所再生的时间戳密钥以及预分享密钥而对初始数据进行了恢复。由于加密/解密滞后性具有确定性,时间戳有效系统可将此确定性重置添加至时间-有效接收信息处且若此类信息滞后于已配置阀值时,其同样将会被丢弃。这样做的目的是为了阻止电子控制单元(ECU)受到重放攻击。时间戳系统开销混淆与数据加密的已改变数据路径如图4所示。

面向下一代汽车嵌入式系统的安全意识网络控制器(图4)

图4:密码逻辑层面的加强数据路径以引入帧头混淆

加密属性的运行更改:如前面所述,预分享密钥与默认加密配置已通过供应商传输至关键电子控制单元(ECU)组建的通信协议处以确保仅使用了已授权组件。该密钥是用来在网络集成阶段对时间表以及数据进行混淆。为进一步加强安全性,我们或许也可以在运行期间对加密方案进行更改。一旦接入,安全网关将通过使用一个(加密)网络管理矢量(NMV)信息从而触发一个新的加密配置,且该配置需通过通信协议进行解码。NMV提供了每一字符分段(系统开销/数据)的新轮数以及新的预分享密钥(其可通过使用标准算法得出)。节点从下一循环便开始采用此类新的配置,以确保同步操作。而在通信协议内对此类加密属性进行处理则会将这些详细信息从应用中提取出来,且其不会为软件提供一条获取此类信息的途径或通道。

04实验设定与结果

我们可以通过两个步骤对所述系统进行评估,该步骤包括:首先在ZedboardXilinx Zynq XC7Z020开发板上对软件篡改保护进行评估以测量出启动时间,硬件标示符的确定性,总体滞后性与信息系统开销信息,下一步便是通过接入带有认证软件(由于区域限制而移除了授权块)的电子控制单元(ECU)并在Xilinx AC701 开发板上对运行网络接入控制,数据加密与框架的熵递加进行评估。

表1所示的是相比FlexRay NI(无任何扩展)在Zynq上的标准运行,所述系统的信息帧头的比较信息。在两个渠道内接入加密与数据途径扩展以实现网络接入控制会导致flipflops(FFs)出现115%系统开销以及仅在NI上便出现59%的Logic(LUTs)的系统开销。不过,总体运行(NI包括PR支持)仍在低性能 XC7Z020设备上利用了33%的信息,其结果是仅仅使标准NI(38mW增加)上出现了边际增加。PR允许非同时发生授权与NI模块处于相同物理区域,以减少整体的信息需求。

面向下一代汽车嵌入式系统的安全意识网络控制器(图5)

表1:XC7Z020上的信息比较信息

表1所示的是相比FlexRay NI(无任何扩展)在Zynq上的标准运行,所述系统的信息帧头的比较信息。在两个渠道内接入加密与数据途径扩展以实现网络接入控制会导致flipflops(FFs)出现115%系统开销以及仅在NI上便出现59%的Logic(LUTs)的系统开销。不过,总体运行(NI包括PR支持)仍在低性能 XC7Z020设备上利用了33%的信息,其结果是仅仅使标准NI(38mW增加)上出现了边际增加。PR允许非同时发生授权与NI模块处于相同物理区域,以减少整体的信息需求。

为对硬件-软件授权进行评估,在多个Zedboards与以相同XC7Z020设备为特色的Xil- inx ZC702开发板上对该执行进行了测试。观察发现,RO-PUF所产生的HID在拥有相同配置挑战值的不同板子之间平均产生了34个比特(最小为16个比特)。而所产生的HID在室温条件下运行了数千次后并未出现任何显著性的变化。另一方面,被篡改软件业导致哈希值出现了很大变化,其单行编辑便导致了多于80比特的变动出现。当直接从非易失性存储器(NVM)处读取启动图像时,系统的授权功能则花了118.3秒对软件进行了授权而再配置操作则用了62.5秒来加载安全的通信协议(一旦被授权之后)。或者,系统初始化操作也可在DDR记忆中对非易失性存储器(NVM)内容造成缓冲(包括通信协议比特流)并进行重复数据操作以使得系统可在66.5秒内完成授权并在4.4秒完成再配置(以加载安全通信协议)。不过,这样可能会导致通信协议R内容被篡改(通过软件或其他方式)。而默认方案则会仅对通信协议比特流造成缓冲,其将在不影响安全性的前提下提供具有合理授权滞后性(118秒)的较大再配置速度(4.4秒)。

通过接入4个电子控制单元(ECU)(3个已授权,1个处于攻击状态),我们对网络安全性与数据加密方案进行了评估且其所有都基于MicroBlaze软核以及 FlexRay 通信协议开发板。此外,每一运行任务都在每一循环过程中,在单一FPGA设备(AC701板上的XC7A200T )上对网络造成了数据交换。为进行评估,我们首先预测电子控制单元(ECU)在运行认证软件,其原因是单一芯片并不会提供任何充足信息以对多种电子控制单元(ECU)进行再配置操作。FlexRay时间表使用了10个Mbps比特率条件下的10秒循环,且通信协议与MicroBlaze分别在80MHz与100MHz条件下运行。

图5所示的是当已授权安全通信协议接入并通过网络开始执行通信时,已发送帧(时间戳准确性为1秒)的标准化熵(关联性)。当时间戳帧头以相同预分享密钥(2到4个格)进行了5,8及16轮加密时,其会导致同一设备的熵高于其标准帧头的熵(单一槽,所有循环)。对于每一未授权设备而言,帧头即为噪音以阻止其接入网络。其原因则是因为人们无法在未对其进行解密的情况下从一堆帧头(临近循环)内提取出同步化参数。事实上,如图5所示,在其失败次数过多时,攻击便无法被迫停止其接入操作。图5表示的是仅由时间戳(案例6)所实现的静止数据(案例5)的熵的增加现象。这样一来,其便可以在存在或不存在时间戳数据(分别是案例7与8)的情况下对时变密钥进行加密。当非时间戳数据由时变密钥所进行加密时,其将产生同加密时间戳数据相同的影响而不消耗在数据段中接入时间戳所需要的额外带宽。

面向下一代汽车嵌入式系统的安全意识网络控制器(图6)

图5:混淆熵方案1:正常帧头,2-4:通过不同循环的帧头,5:静态密钥的静态数据,6:时间戳静态数据(未解密),7:时变密钥静态数据,8:时变密钥时间戳数据

我们观察到,相比标准通信协议,帧头混淆会对协议参数造成比特125ns的帧头字节延迟(帧头的默认8圈解密),其参数包括槽号,循环号以及净负荷长度。不过,不同于标志位,这些参数仅仅用于上层协议(如介质访问)且仅仅需要在接收一个完整帧头(包括CRC帧头)之后对其进行生效。因此,此类延迟并不会对协议造成任何影响。

最终,我们通过迫使其中一个电子控制单元(ECU)发送一条非易失性存储器(NVM)信息而改变密钥与循环数,从而触发了运行加密适应。我们观察到,人们是通过在整个帧头内改变5个循环接收从而对非易失性存储器(NVM)进行解码。圆密钥迭代在此次接收延迟过程中消耗了n个循环(n圈)。同时,人们还在不影响当前加密方案的情况下在双密钥缓冲区产生了新的圆密钥。上述操作使当前循环末端移动至了新的加密参数,同时所有已授权电子控制单元(ECU)也在循环界限内同步移动至新参数处。

在线
客服

在线客服 - 驭捷智能周一至周日 10:00-24:00(欢迎呼叫)

选择下列服务马上在线沟通:

客服
热线

18917451722
6*12小时客服服务热线