车载联网的制作方法

文档序号:14022794阅读:239来源:国知局
车载联网的制作方法
本公开涉及网络,更具体地涉及提供车辆网络上的安全通信的协议。
背景技术
:车载网络由汽车制造商开发,以减少尾气排放,提高燃油经济性和改善车辆驾驶性能。网络的点对点连接在车辆组件之间传输数据。但随着组件和功能的增加,网络的复杂性和大小变得更大、不切实际而且昂贵。为了降低复杂性和成本,开发了串行总线,其促进与嵌入式车辆系统的通信。被称为控制器域网(can)的一个这样的系统是一种低成本的轻量协议(lightprotocol)系统,其允许微控制器彼此开放式地进行通信。该协议包括内置特征,例如周期冗余码(crc)校验,其允许车辆应用在传输、存储和检索期间检测错误。附图说明参考以下附图和描述可以更好地理解本发明。图中的组件不一定是按比例绘制的,而是将重点放在了说明本发明的技术的原理。此外,在附图中,类似的参考标记在全部不同视图中表示对应的部分。图1示出了在车载总线上进行通信的电子控制单元。图2示出了多级安全平台。图3是密钥交换的流程图。图4示出了电子控制单元和网关之间的图3的密钥交换。图5是用于更新密钥的消息流程图。具体实施方式尽管被设计为提供用于车载通信的高效的成本效益的结构,然而can网络的商业和开源实现两者本质上是不安全的,因为它们依靠良好的行为来阻止攻击。不需要仲裁者来解决这些网络上的争议,因为保证了良好的行为。虽然良好的行为可能在未连接的汽车中工作良好,但它不提供对通过车载和远程网络连接到汽车的外部的基础设施(v-2-i)、零售商(v-2-r)和个人(v-2-p)的车辆的保护。连接的汽车可能容易地被车辆的网络上窃听攻击。在这些攻击中,攻击者很难检测到,因为攻击者不会影响流经网络的数据,尽管他们未经授权接入。攻击者不一定是陌生人;他或她可以是没有权限的合法用户。备选地,攻击者可积极地介入车辆网络以改变数据或获得恶意的好处。攻击的一个重点是汽车本身以及在任何时刻物理地附接到网络并开始监视和/或攻击的能力。这种物理连接的攻击模式可能发生在攻击者瞄准车辆全体进行学习和评估时。从这个优势来看,攻击者可以计划远程攻击。最近有可能发生的所连接车辆攻击的恶名很有可能是由于作为前提条件的一系列物理连接攻击和所产生的漏洞利用(exploit)。随后,排除或破坏物理连接攻击及其漏洞利用的能力是对解决方案的需求中的一个问题。所公开的系统和过程在不安全的基础设施上提供安全的通信协议。该安全协议允许通过不安全的车载网络进行安全通信,其可以提供与车辆外部的网络的连接,同时确保在其上发送的数据的完整性和来源。这意味着车载系统可以通过车辆中的开放式基础设施彼此通信或与车辆外部的任意远程或本地目的地进行通信,并且可以合理地确保其通信将被完整地接收并在传输中被保护以免受未经授权方或目的地。安全协议提供了一系列步骤,其使两方或多方通过加密安全性来交换信息。使用加密参数,安全协议可与独立程序和库(例如,执行不同任务的软件和数据文件的集合)互操作。通过允许从一个加密原语迁移到下一个加密原语,安全协议是可扩展的、高效的和可更新的,允许其抵御新的威胁,并跟上技术效率带来的改进。图1示出了通过无线网络连接到远程节点或远程目的地的车辆。车辆包括嵌入在车辆中的多个电子控制单元(ecu)和接口,以从车辆内控制车辆的系统或子系统中的一个或多个。示例ecu和接口包括但不限于:电子/引擎控制模块(ecm)、动力总成控制模块(pcm)、变速器控制模块(tcm)、制动控制模块(bcm)、中央控制模块(ccm)、中央定时模块(ctm)、通用电子模块(gem)、车身控制模块(bcm)、悬架控制模块(scm)、娱乐和舒适控制模块(eccm)、无源无钥匙进入(pke)、远程链路应用接口、车辆到车辆(v-2-v)、v-2-i、v-2-r和/或v-2-p的专用短距离通信收发器(dsrct)、引擎和变速器单元、安全气囊模块、照明模块、车辆接入系统、车载诊断接口(obdi)、通用串行总线接口、蓝牙接口、智能手机接口等,其中五个是由图1中的附图标记1至5指定的。在某些系统中,诸如图1所示的那些ecu被整合到一个或多个利用高级多处理器架构的域控制器中。多处理器执行针对其控制的每个电气系统或子系统定制的软件。它能够管理可能彼此不同的并发车辆系统/子系统,使用网关执行一个或多个密码套件(ciphersuite),并且可以提供对加密密钥存储的访问。一个或多个域控制器的使用暴露更少的攻击节点。在图1中,在本公开内容中,ecu1-5连接到车载通信链路,车载通信链路也称为车载网络和车载总线。can总线是车载总线的示例。ecu是嵌入式电子设备(例如,专用数字计算机或信号处理器),其读取从位于车辆各个部分的车载传感器发送的信号,以监视车辆状况。传感器通过将非电能量转换为离散或模拟信号来检测或测量状况。例如,如图2所示的诸如能够用无线电(ota)通信的高级驾驶员辅助系统(adas)、动力总成控制器,制动系统和集群之类的ecu通过信任根(rootoftrust,rot)进行通信,所述信任根可以远离(如图2中的信任锚点所示)网关或是网关的整体部分。rot用作由固有信任的硬件和软件组成的单独的计算引擎。rot控制受信任的计算平台的加密处理器(该加密处理器可以嵌入在车辆内的网关中),可以安全地存储加密密钥,可以安全地存储证书链,可以提供应用和数据隔离,和/或可以安全地签署证书,所述证书由安全协议相关联或验证。如图所示,网关之外的所有车辆内容(例如车身ecu、制动ecu、动力总成ecu、集群ecu、adasecu等)都位于rot的受信任侧(在信任锚点的右边),尽管在其他配置和实现中,一些控制器可能不是如此。例如,具有非常低的处理能力的车身ecu可以连接到不受信任侧(位于信任锚点的左边)上的车载通信链路,因为其功能有限或其功能作为更高级控制器的端点。在图2中,车身ecu被显示在受信任侧,因为其功能可以包括控制头灯、电动窗和/或门锁,所有这些都可能被集成到漏洞利用中(例如,夜间没有头灯,雷暴中打开窗户等)。在图2中,obd接口、远程信息处理控制单元(tcu)和车载信息娱乐(ivi)ecu在车载通信链路上与网关通信。ivi管理和递送音频内容,提供导航数据,递送诸如电影、游戏、社交联网功能等的后座娱乐,收听进来的短消息服务(sms)文本消息和发送外发的短消息服务(sms)文本消息,进行/接收电话呼叫,和/或可以访问例如可以包括交通报告、体育比分和天气预报的互联网启用或智能电话启用的内容。obd提供对通过车载通信链路递送的车辆自诊断和报告能力的接入。与车载通信链路的连接开始于网关,所述网关在车辆中电力或点火轮转时生成对称会话密钥和暂时密钥对。在一些实现中,相同的密钥对被单独用于与每个网络节点的每个加密共享秘密交换。一旦证书和暂时密钥被交换,网关接受针对会话密钥的节点请求。会话密钥是用于一个通信会话(例如在单个点火周期(例如,启动并驾驶汽车且然后停车将会是点火周期)或电力周期(例如,接通设备且然后关断设备)期间发生的通信)的密钥,然后会话密钥被丢弃。当每个节点在线时每个节点所做的第一件事情是在发生不对称握手时检索会话密钥。会话密钥对于车载网络上的所有节点是相同的。然而,由于安全协议处理证书,因此它建立共享秘密,共享秘密是特定的,且在某些情况下对于每个节点(针对每个电力周期/点火周期的网关对或组)是唯一的。只有在安全通信中涉及的设备才知道的共享秘密被用于在将会话密钥被在网络上发送给节点之前对会话密钥进行加密。网络上的每个节点在上线时立即发起会话密钥交换。在302,当车辆启动(powerup)时,网关生成对称会话密钥,并且如图3和图4所示,将你好(hello)消息从每个节点单独且分开地发送给网关和rot(以下称为网关的一部分)。节点包括了通过通信介质或链路耦合的包括ecu、域控制器、处理设备等的任何数据处理设备。在安全协议中,你好消息包括两个字节的数据,其包括例如关于发送节点的信息,例如其标识。你好(id:0x011)作为响应,在304和306处,网关和节点分别向彼此(进行接收的节点和网关)提供证书和暂时公共密钥,如图3所示。304和306序列可以并发执行或不按顺序地执行。当制造车辆时(例如,在车辆组装之前)或在服务期间(例如,在组件修理和/或更换期间),安装证书。它们为跨越车载总线进行通信的每个活跃节点和网关提供认证。认证类似于安全套接字层(ssl)证书的验证。证书和网关的暂时密钥在两个部分(数据1和数据2)中按8字节格式进行格式化。网关的证书和暂时密钥(第一分组)的前两个字节是包含目的地唯一标识符的id字段,使得网关能够与车辆网络上的正确节点进行通信。第三个字节是跟踪发送的分组数量的计数器,剩余的五个字节保留给有效载荷。网关证书(id:0x12)这里,“分组”是用于发送可以包括有效载荷和非有效载荷部分的信息的数据块;“有效载荷”是感兴趣的数据;和“非有效载荷”是并非有效载荷数据的分组数据,例如路由或配置信息。在一些情况下,有效载荷可以包括在can总线上发送的帧,例如数据帧、远程帧、错误帧和/或过载帧。在数据帧(如下所示)中,前两个字节表示网关证书和暂时公共密钥的总长度,接下来的两个字节表示数据1(例如,网关证书,保密的会话密钥等)的长度,剩余的四个字节保留给有效载荷。在第二分组后面的字段保留d2的长度的分组的前两个字节,并且保留剩余字节以用于对应的数据d2。在这种格式下,安全协议根据需要发送尽可能多的分组。在节点处接收到网关消息时,拆开网关消息,重新组合和验证网关的证书,并从证书中提取网关的公共密钥。网关的公共密钥和暂时公共密钥随后由节点处理,以在308处通过加密操作(例如通过椭圆曲线menezes-qu-vanstone(ecmqv)密码套件)生成共享秘密。与网关证书的格式一样,在306处发送给网关的节点或单元证书及其暂时密钥具有与网关的证书消息几乎相同的格式。实质的区别在于目的地id字段使网关能够区分can总线上的节点分组。常规的can协议不使用寻址方案,因此,目的地id服务于该功能。在替代实现中,不使用id字段,特别是当在备用协议中标识位置(例如,地址)时。当在网关处接收到节点消息时,拆开节点消息,重新组合和验证节点的证书,从证书中提取节点的公共密钥。节点的公共密钥和暂时公共密钥随后由网关处理,以在308处通过与在该节点执行的加密操作相同的加密操作来生成共享秘密。在该示例中,是ecmqv密码套件。然后在310处使用共享秘密来通过对称加密操作对现有会话密钥进行加密。图4中发送给节点的会话密钥消息遵守与网关证书类似的格式。实质的区别在于,代替两个数据片段,有效载荷包含一个数据片段:加密的会话密钥。在该实现中,安全协议针对每个电力周期/点火周期使用单个会话密钥。在替代实现中,安全协议可以更新会话密钥。无论版本如何,一旦在节点处发生成功的会话密钥提取,则在312处通知网关。如图4所示,在接收到肯定应答时完成安全连接。肯定应答以两个字节传输。肯定确认(id:0x019)利用所协商的安全协议,ecu和域控制器可以使用在接收目的地进行验证的基于散列的消息认证码(hmac)进行通信。在can或车载总线应用中,安全ecu/域控制器-网关交换的第一分组(未示出)的前8个字节包含由ecu/域控制器生成的数据,其采取ecu/域控制器在车载网络上发送的正常格式。hmac代码通过以下方式来工作:通过散列算法将填塞有总长度8字节的零的第一分组数据与会话密钥和计数器值交织,所述散列算法将输入转换成小的固定长度输出(例如六个或更多个字节)为了读取ecu来验证数据,需要具有计数器和相同的会话密钥。计数器被提供有第二分组。在安全ecu/域控制器-网关交换的第二分组中,该方案附加作为第二分组标识符的3比特的零、节点输出数据的源id的29比特和计数器。在安全协议下,每个认证器消息包含大于在车载网络上直接位于前方的计数器的计数。在一些实现中,计数器可以是随机的或可变的,可以被加密,但是它不是时间戳。该计数器有效地防止重播来自先前执行的响应的重播和抑制重播攻击。在一个实现中,计数器被编程为落在确保计数器在会话期间不归零的范围内;如图所示,要求第二分组保留四个字节或更多以用于计数器。这里,计数器是一个变量,其保持对在车载网络上传输的消息的计数。认证器(第二分组)在安全ecu/域控制器-网关交换的第三分组中,签名允许网关将该分组匹配到第二分组,因为在接收到第二分组之后,读取器可以通过使用计数器、会话密钥和来自第一分组的数据来计算所产生的hmac值。第三分组如下所示。签名(id:0x01)(第三分组)三分组安全ecu/域控制器-网关交换具有许多优点,其包括在不在所有三个分组中传输源id的情况下高效地路由分组(例如,参见第三分组:签名)。它还简化了网关和节点处的验证过程,因此当接收到的分组与先前存储的受信任分组/信息的逐字节比较揭示分组被破坏或损坏时,ecu等待第二分组(具有计数器和canid,将其链接到该数据分组)和第三分组(其不具有该id,而是具有包含数据、会话密钥和计数器的hmac散列值)。第一分组在超时后或者在接收到具有相同canid的另一个数据分组时被忽略和丢弃,。因为例如诸如证书或会话密钥之类的接收分组可能并不总是到达预定的目的地,所以安全协议包括用于重新发送丢失分组的消息。例如,在节点处,如果分组的顺序被破坏或预期的数量小于预期,则节点将通过车载总线向网关发送消息以重新发送丢失的分组。重复单元到网关(id:0x15)这里,源id是报告节点id,分组号是丢失的分组的计数器值。响应于重复单元到网关(repeatunittogateway)消息,网关重新发送分组。像使得重复单元到网关消息被发出的条件一样,例如诸如证书或暂时密钥之类的分组可能并不总是到达网关。在网关处,例如,如果分组的顺序被破坏或预期的数量小于预期,则网关将通过车载总线向节点发送消息,请求节点重新发送丢失的分组。这里,目的地id是网关id,分组号是丢失的分组的计数器值。响应于重复网关到单元(repeatgatewaytounit)消息,节点重新发送分组。重复网关到单元(id:0x16)在某些通信会话中,有时需要在电力周期/点火周期期间更改会话密钥。由于受信任的ecu和网关在通信周期期间共享相同的密钥,并且两者都在相同的单向功能上操作,所以网关可以用旧会话密钥加密或包装新会话密钥(使用随机数生成器或密钥建立过程来生成),并且节点通过如图5所示交换消息来用旧会话密钥来解密新密钥。会话密钥的更新由来自网关的更新密钥(updatekey)消息发起。安全协议的当前实现使用密钥更新功能,例如高级加密标准(aes)128比特密钥算法。更新密钥消息可以包括如下格式化的分组。更新密钥(id:0x17)有效载荷数据可以格式化为:当接收到所有分组并且处理所有重复(repeat)消息(如果需要)时,节点通过发送肯定应答(acknowledge)消息来通知网关成功完成该过程。当所有节点对提取新的会话密钥进行肯定应答时,网关广播单个消息:更新密钥结束(updatekeyend)。更新密钥结束(id:0x18)字节10xff在此期间,当节点正在更新会话密钥时,节点继续使用旧会话密钥对其数据进行签名,直到它们收到更新密钥结束消息为止。在此期间使用旧会话密钥和新会话密钥两者来执行安全消息验证,其中,首先处理新会话密钥,后面是依次处理旧会话密钥。一旦更新密钥结束消息被广播,则所有节点都切换到使用新会话密钥进行签名。任何节点都可以报告错误。例如,节点处的失败证书验证可以标记错误。发生错误时,ecu/域控制器例如可以按以下列格式向网关报告错误。本文中描述的协议的每个方法和描述可以是独立的,并且在替代实现中,可以与其他协议组合,其包括使用保持机密性的端到端加密的车载网络。在一个替代方案中,加密设备(例如,ecu、域控制器、网关等)加密与未加密路由信息重组的安全的非有效载荷数据,诸如例如源标识、目的地标识和填塞的源标识符(例如,在填塞之前的截断的源id)。在替代实现中,安全协议具有不同的范围或更多的总线标识符(id)和/或功能消息。在这种替代方案中,安全协议还用作开发和部署其他id、消息、密码和/或散列功能的框架,其允许迁移到其他车载通信链路/总线和/或后来开发的通信链路/总线。id消息0x11你好0x12网关证书0x13单元证书0x14会话密钥0x15重复单元到网关0x16重复网关到单元0x17更新密钥0x18更新密钥结束0x19肯定应答0x10错误0x01签名在替代方案中,当响应于在can总线上广播的健康状态消息(soh)而在车载总线上检测到ecu/域控制器的存在时,ecu/域控制器加入安全会话。在这种替代方案中,当节点通过soh消息在总线上广播其存在之后,节点通过上述安全协议检索会话密钥。当节点停止广播soh消息时,协议执行密钥更新功能。备选地,soh消息可以补充安全协议。在此实现中,soh通过确立节点正在正确操作来补充安全协议。它用作完整性检查。在另一个替代方案中,安全协议的加密和解密专门在硬件中完成,而不通过执行aes128加密和解密的aes加速器模块将hmac签名附加到ecu/域控制器数据。在这种替代方案中,图3的304和306由aes加速器代替,aes加速器根据在硬件中的aes使用128比特密钥执行加密和解密。此外,另一替代方案可以包括本文(在本公开/申请和专利)中描述的或在一个或多个或每个附图中示出的结构和功能的任何组合。这些系统或方法由所描述的结构和功能的任何组合形成。这种新的安全协议可以应用于现有的拓扑,也可以迁移到开发中的拓扑。例如,虽然已经针对在经典can中使用的八个字节的有限分组大小描述了安全协议的示例实现,但是替代的安全协议确保了灵活的数据速率(fd)和通过实施车辆网络协议提供的分组大小。这意味着安全协议保护具有较大或可变有效负载长度的网络(例如,can13字节、canfd64字节、批量下载协议等),可以使用两个或更多个不同的比特率,并适应于用在正在开发的技术中的较高带宽。在一个示例中,协议确保具有两个不同比特率的can帧,使得网络向后兼容具有更多有限分组长度的控制器。一个示例安全协议具有较大的有效载荷,例如具有多达64比特的数据帧,同时由crc(例如,canfd64字节)保护。本文中描述的元件、系统、引擎、方法、模块、应用和描述也可以通过计算机程序代码在一个或多个控制器、信号处理器、专用处理器和一个或多个处理器和协处理器(例如,协处理器是与主处理器不同的处理器,其执行辅助主处理器的附加功能)中编程。处理器可以被布置成并行处理结构和/或多处理结构。并行处理可以在包含两个或更多个同时运行的处理器的计算机上运行。并行处理与多处理的区别在于可以分配任务的方式。rot、加密和解密引擎可以包括执行或支持所述加密功能的处理器或程序的一部分。描述安全协议的一系列步骤涉及两个或更多个被设计用于完成确保车载总线通信的安全的任务的实体。“一系列步骤”意指该协议具有从开始到结束的顺序。除非另有说明,否则每个步骤依次完成,在上一步完成之前没有采取任何步骤,其中一些步骤是可选的,例如确认肯定应答消息。“涉及两个或更多个实体”意指需要至少两个或更多个实体来建立协议(例如,节点和网关、一个或多个节点和网关等)。最后,“设计为完成确保车载总线通信的安全的任务”意味着协议必须确保车载总线上的通信的安全。看起来像协议但没有完成确保车载总线通信的安全的任务的事物不是安全协议。在一些系统中,本文所描述的元件、系统、方法、引擎和描述可以在非瞬时信号承载存储介质、计算机可读介质中编码,或者可以包括存储在可以通过接口可访问的存储器中的逻辑。一些信号承载存储介质或计算机可读介质包括与车辆一体或分开(例如,本地或远程)的存储器。如果描述由软件执行,则软件可以驻留在存储器中,所述存储器驻留在或接口连接到一个或多个处理器、ecu、域控制器和/或网关。所公开的存储器或存储器可以保留用于实现上述功能的可执行指令的有序列表。机器可读介质可以选择性地但不限于电子、磁性、光学、电磁、红外或半导体介质。机器可读介质的示例的非穷尽列表包括:便携式磁盘或光盘、易失性存储器、诸如随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)或数据库管理系统。当消息、ecu、域控制器、网关和/或其他设备功能或步骤被认为是“响应于”或发生“响应于”功能或消息时,消息、ecu、域控制器、网关和/或其他设备功能或步骤必须作为消息或功能的结果而发生。功能或行为仅仅跟随或发生在另一个之后是不够的。所公开的系统和过程提供了一种安全通信协议,其通过车辆总线在诸如用于车辆的不安全基础设施上确保通信。车辆可以包括但不限于汽车、公共汽车、卡车、拖拉机、摩托车、自行车、三轮车、四轮车或其他轮车、大船、潜艇、小船或其他船舶、直升机、无人机、飞机或其他飞行器、火车、电车或其他有轨车辆、太空飞船或其他航天器,以及任何其他类型的车辆,无论是当前存在还是在本公开之后出现。换句话说,它包括用于运送人或物的设备或结构。该安全协议创建在不安全的车辆总线(例如can总线)上的安全通信,其可以在远程无线和/或固定电话信道上进行通信,同时确保在其上发送的数据的完整性和来源。这意味着车载系统可以在开放的基础设施上彼此通信到任意的远程或本地目的地,并且合理地确保它将完整地被接收并被保护。安全协议提供了一系列步骤,其使两方或更多方能够通过加密操作交换信息,所述加密操作尤其有效地排除或破坏物理连接攻击及其漏洞利用等,因为它们对于加密操作不是私有(privy)的。通过使用加密参数,安全协议可与独立程序和库互操作。通过允许从一个加密原语迁移到下一个加密原语,安全协议是可扩展的、高效的和可更新的,允许其抵御新的威胁,并跟上技术变化带来的改进。其他系统、方法、特征和优点对于本领域技术人员在检查附图和详细描述后将是或将变得显而易见。预期所有这样的附加系统、方法、特征和优点被包括在本描述中,被包括在本发明的范围中,并且由后面的权利要求来保护。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1