用于与车辆诊断请求源进行数据交换的方法和系统与流程
本发明涉及电信领域,尤其涉及在车辆诊断时保障安全数据交换。对电子控制单元(electronic control unit,以下简称ecu,附图中亦以ecu表示)的安全诊断会话管理,是现代交通系统的关键。随着交通和物流领域通信与自动化技术的发展,保障外部诊断工具与车辆ecu之间的通信安全,对于防止未经授权的访问、数据窃取、网络攻击以及确保车辆本身和整个交通系统的安全性与可靠性,变得日益重要。
背景技术:
1、在车辆诊断领域应用最广泛的协议之一是统一诊断服务(unified diagnosticservice,uds,iso 14229),该协议旨在保障车辆各控制单元与诊断工具之间的安全数据传输。uds的主要目标是确保只有经过授权的设备和用户才能访问车辆内部的关键功能与数据。为实现这一目标,uds中实现了一种使用所谓“种子密钥”方法的认证机制。根据种子密钥方法,电子控制单元(ecu)向诊断工具发送一个唯一标识符(“种子”),诊断工具随后必须使用秘密算法基于该标识符生成正确的“密钥”。只有在密钥验证成功后,ecu才允许访问受保护的功能和数据。
2、在当前环境下,由于数据交换日益频繁以及车辆与各种设备和网络的连接程度不断提高,通过uds进行数据交换的安全性面临着诸多风险,例如未经授权的访问、数据篡改以及使用伪造凭证的攻击。
3、目前,确保车辆诊断数据交换安全的方法,例如us11165851b2中所公开的方案,通过使用安全访问机制,为通过uds进行的通信提供了基础的访问控制。然而,所提出的方法缺乏针对各类新出现的网络威胁的稳健防护机制,在实际应用中,存在某些风险,例如可能出现绕过uds管理器的连接。
4、在保障车辆安全方面,诊断过程中的访问控制也起着重要作用。在uds中,存在不同类型的会话(级别)用于管理诊断通信。每种数据交换会话都有其特定的用途和访问级别。uds标准(iso 14229)规定了四种主要的诊断会话类型,每种类型对应不同的访问级别和目的。默认会话default session(0x01)是一种基本会话,在电子控制单元(ecu)启动后即处于激活状态。它允许执行标准诊断操作,例如读取故障码(dtc)、获取传感器数据和一般系统信息。该会话不提供对敏感或可修改数据(如软件或配置)的访问权限。扩展会话extended session(0x03)提供对默认会话中不可用的附加功能的访问。在此会话下,可以进行执行机构测试、数据写入内存以及执行深入的诊断程序。有时,在此会话下工作需要额外的认证或安全授权。编程会话programming session(0x02)专用于更新ecu的软件。它允许对设备的内存或固件进行安全且经授权的更改。该会话通常需要严格遵守安全协议,包括认证和密钥交换。制造会话manufacturing session(0x04)由制造商在装配或产品发布阶段用于配置和测试控制单元。它提供对普通操作模式下不可用的专用命令和功能的访问。在此会话下工作同样需要高安全级别,并且通常仅限于工厂环境。这些会话通过diagnostic session control(0x10)(诊断会话控制服务)进行管理,该服务允许在满足必要安全条件和访问限制的前提下进行会话切换。
5、每种类型的会话通过使用诊断会话控制服务(0x10)并指定相应的子功能标识符来激活。会话之间的切换需要遵守安全条件并确保通信的正确同步。同时,本领域技术人员将理解,会话之间的切换对车辆的安全性具有重要影响,需要满足特定条件以确保安全,并阻止对车辆及其组件的未经授权的操作。
6、此外,为了对现代车辆中多达约两百个电子控制单元(ecu)进行高效且安全的诊断,会使用诊断会话密钥。利用这些密钥,可以实现对ecu功能及其参数的不同访问级别,使机械师和维护人员能够执行诊断、校准、软件更新以及故障排查等任务。诊断会话密钥的机密性对于原始设备制造商(oem)而言尤为重要,这关系到保修服务、诊断服务的商业化以及所提供车辆设备附加功能的激活等方面。一旦诊断会话密钥遭到泄露,由于相同批次的组件通常被分配相同的出厂诊断会话密钥,因此包含这些组件的众多车辆都将面临风险,因为攻击者可以使用被泄露的密钥与这些组件建立诊断数据交换会话。在这种漏洞下,可能发生获取ecu机密数据、修改标定参数、对单元进行重编程等行为,这将显著降低车辆的安全性,并可能导致车辆功能被未经授权地修改。
7、因此,确保车辆在诊断时的数据交换安全,不仅有助于改善车辆维护、提高运行安全性,也为车辆制造商创造了将其产品进行额外商业化的机会。
8、本发明考虑了车辆安全领域的现有挑战,旨在消除当前存在的漏洞和缺陷。
技术实现思路
1、本发明技术方案的核心在于:在车辆内部建立诊断请求及其响应的控制与路由机制。
2、根据本发明的一个方面,提出了一种车辆与外部诊断请求源进行数据交换的方法,所述方法包括:为车辆中每个具有出厂诊断会话密钥的电子控制单元(ecu)生成该车辆内的唯一诊断会话密钥,并将ecu的出厂诊断会话密钥替换为所生成的唯一诊断会话密钥;设定诊断请求与响应的路由规则;当接收到诊断请求时,首先针对该诊断请求所指向的ecu验证所述唯一诊断会话密钥,若验证通过,则根据车辆及其组件的信息以及所述路由规则,对接收到的诊断请求进行路由;当接收到诊断请求的响应时,同样根据车辆及其组件的信息以及所述路由规则,对该响应进行路由。
3、根据本发明的一些实施方式,所述路由规则至少包括以下信息:是否存在与所请求ecu的已开启诊断会话;当前是否具有发送诊断请求的权限和/或授权;对于诊断请求源,是否具有向所请求ecu发送诊断请求的授权;是否存在基于指示车辆信息安全威胁的标识符对诊断请求及其响应进行路由的限制;是否存在基于车辆位置对诊断请求及其响应进行路由的限制。
4、根据本发明的一些实施方式,所述车辆及其组件的信息至少考虑以下因素:车辆内是否存在具有特定角色的活跃用户、车辆是否处于可行驶状态、车辆是否处于行驶状态、是否存在指示车辆信息安全威胁的标识符。
5、根据本发明的一些实施方式,指示车辆信息安全威胁的标识符是指示以下至少一项的信息:单位时间内的诊断请求数量超过预设阈值;诊断请求之间的时间间隔小于预设阈值;诊断请求与响应之间的时间间隔小于预设阈值;位置发生急剧变化后的诊断请求;车辆处于关闭状态下,通过obd-ii连接的诊断设备发出的诊断请求;通过与车辆信息娱乐系统的会话,由第三方应用程序发出的诊断请求;事故后发出的诊断请求。
6、根据本发明的一些实施方式,所述路由规则基于车辆及其组件的状态信息。
7、根据本发明的一些实施方式,若接收到的诊断请求或响应未设定相应的路由规则,则拒绝接收到的诊断请求或响应。
8、根据本发明的一些实施方式,在接收到相应指令时更新所述路由规则。
9、根据本发明的一些实施方式,通过密钥派生方式,对为车辆的每个电子控制单元(ecu)生成的所述唯一诊断会话密钥进行加密备份,以便在需要时进行恢复。
10、根据本发明的另一个方面,提出了一种用于车辆与诊断请求源进行数据交换的系统,所述系统包括至少一个处理器和至少一个存储设备,并被配置为:连接到车辆的车载网络;为所述车辆的每个电子控制单元生成该车辆内的唯一诊断会话密钥,并以加密形式存储所述唯一诊断会话密钥;将电子控制单元现有的诊断会话密钥替换为所生成的唯一诊断会话密钥;根据设定的路由规则以及车辆及其组件的信息,接收并路由诊断请求及其响应;存储设定的路由规则。
11、根据本发明的一些实施方式,所提出的系统被配置为:对为车辆的每个电子控制单元(ecu)生成的所述唯一诊断会话密钥进行备份,并通过网络请求和获取诊断会话密钥的备份。
12、根据本发明的一些实施方式,所提出的系统还被配置为:通过密钥派生方式,以加密形式执行所述备份,以便在需要时进行恢复。
13、所提出的系统和方法能够对来自不同源并指向车辆组件的诊断请求进行控制和路由,并具有更高的车辆数据交换安全性。如下文所述,本发明提供了在诊断会话框架内可配置且安全的数据交换控制机制,如本领域技术人员所知,诊断会话提供了改变车辆及其组件状态的广泛能力。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com