首页> 中国专利> 基于PUF的车内网络CAN总线轻量级安全通信方法

基于PUF的车内网络CAN总线轻量级安全通信方法

摘要

本发明公开了一种基于PUF的车内网络CAN总线轻量级安全通信方法,包括:在车内CAN总线上建立会话密钥,使得基于会话密钥进行总线通信;对于未注册外部设备,在车内网关ECU上注册未注册外部设备的身份信息,并协商密钥;对于已注册车外设备,根据已注册车外设备的身份信息和密钥计入车内CAN总线。该方法可以在实现CAN总线的内部安全密钥协商,以及与外部设备的安全认证接入。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-11-08

    授权

    发明专利权授予

说明书

技术领域

本发明涉及信息安全技术领域,特别涉及一种基于PUF的车内网络CAN总线轻量级安全通信方法。

背景技术

现代汽车已经从单纯的交通运输工具发展为面向多种连接方式的移动计算平台,无论是车辆内部控制单元的协同工作还是车辆与外部设备的连接都需要通过工业总线或无线通信协议进行信息的交互。在车辆内部存在的众多种类总线中,控制器局域网(Controller Area Network,CAN)占有举足轻重的地位,尤其是承担了众多安全关键功能,如碰撞预测和防抱死制动系统。近年来,车内集成的服务变得越发复杂和庞大,CAN总线肩负的功能也在快速扩展。它负责将车内上百个电子控制单元(Electronic Control Unit,ECU)连接起来,综合多个传感器、执行器和控制器完成复杂的驾驶指令,同时可通过车载诊断系统(On-Board Diagnostics,OBD-II)接口,以及车载蓝牙、蜂窝网络和互联网连接(如Wi-Fi和4G)接口等与外部设备相连接,传递消息和指令。

随着车辆通信功能的不断增强,车辆通信接口种类的增长,针对现代汽车的攻击手段正在迅速扩展,CAN总线面临的安全威胁也愈发严峻。在过去的十年里,有大量的研究表明,在实际道路测试中,攻击者已经具备了通过物理有线接入甚至无线远程接入等方式恶意控制汽车的能力。作为最重要的汽车接口,OBD-II接口提供了对车辆内部CAN总线网络的直接访问功能,CAN总线会在物理上暴露给来自外部接入设备的攻击者。此外,蓝牙、蜂窝网络等无线接口也可通过车内网关间接地连入CAN总线,攻击者可以通过以上接口实现车内通信的监听、恶意操控车辆的转向、制动、加速等功能,甚至篡改固件和内置代码。

目前,车辆面临的最常见的两类攻击手段分别为重放攻击和中继攻击。重放攻击是指攻击者重新发送一个目的主机已接收过的包,以此达到欺骗系统的目的。重放攻击用于身份认证过程时,可以伪装合法身份获得授权;当用于消息传输过程时可以充当一条可通过系统认证的非法消息,干扰系统的正常通信。

由于CAN总线在设计之初没有考虑到通信过程中的安全需求,面对着攻击者可以任意接入网络内部的现实情况,CAN总线的以下三大漏洞成为了亟待解决的安全问题:访问控制薄弱、缺乏认证机制和缺乏保密通信机制。同时,随着车内ECU设备的增长,总线上传输的消息更复杂,通信负载更大,这也要求为CAN总线设计的安全解决方案要保证高实时性,最低程度地影响总线传输的通信时延。

目前针对CAN总线的安全解决方案分为两类,入侵检测系统(IntrusionDetection System,IDS)和密码协议。入侵检测系统可以在不改变CAN总线消息帧结构的条件下,检测总线中的异常行为。然而,IDS系统只有在攻击者发出攻击行为后才能发现异常,难以具备预防攻击的能力,同时很难对攻击行为做出相应的防御动作。此外,总线上传输的消息依旧没有进行机密性保护,对于被动的窃听者不具备防范能力。相比较而言,密码协议提供了完备的保密性和完整性保护功能,覆盖了初始密钥协商、密钥更新、加密传输、外部设备接入等车辆通信各方面的安全需求。然而,现有面向CAN总线的密码协议在外部设备接入阶段,由于存在认证的需求,往往会采用计算复杂度很高的非对称密码算法,这会引入较大的计算开销和通信时延。而车内的ECU设备的会话密钥建立,也只依赖于GECU与各ECU间共享的长期对称密钥。这使得一旦长期密钥被窃取,协议的安全性将无法得到保障。因此,CAN总线密码协议需要更为轻量级,安全等级更高的解决方案。

发明内容

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的目的在于提出一种基于PUF的车内网络CAN总线轻量级安全通信方法,该方法可用于车内CAN总线内部设备间的身份认证与密钥建立,以及与外部设备的身份认证与密钥建立过程。

为达到上述目的,本发明实施例提出了一种基于PUF的车内网络CAN总线轻量级安全通信方法,包括以下步骤:建立车内CAN总线上会话密钥,使得基于所述会话密钥进行总线通信;对于未注册外部设备,在车内网关ECU上注册所述未注册外部设备的身份信息,并协商密钥;对于已注册车外设备,根据所述已注册车外设备的身份信息和密钥计入所述车内CAN总线。

本发明实施例的基于PUF的车内网络CAN总线轻量级安全通信方法,具有以下优势:

1)提出了一种基于PUF的轻量级车内CAN总线初始密钥分发模块,减少了初始会话密钥分配过程中的计算开销和通信开销,面向更多ECU连接的CAN总线提供良好可扩展性。

2)在外部设备接入的密钥建立环节中,除了外部设备的初始注册阶段外,不再依赖非对称密码学工具提供身份认证功能。仅需调用外部设备内部的PUF功能、对称加密功能和杂凑函数,大大降低了计算的复杂度,同时减少了协议的交互轮数,有效降低通信时延。

3)由于外部设备中不再保存密钥等秘密信息,而仅使用基于硬件结构实现的PUF进行身份认证,从根本上杜绝了攻击者进行密钥窃取攻击的可能,安全性提升明显。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明一个实施例的基于PUF的车内网络CAN总线轻量级安全通信方法流程图;

图2为根据本发明一个实施例的初始密钥分发模块执行流程图;

图3为根据本发明一个实施例的外部设备注册模块执行流程图;

图4为根据本发明一个实施例的外部设备接入模块执行流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

物理不可克隆函数(Physical Unclonable Function,PUF)是一种利用芯片制造过程中不可避免的随机差异,使得每个芯片根据输入的激励输出不可预测的响应的函数。因此,可以利用基于PUF产生的挑战响应对(Challenge-Response Pair,CRP)作为硬件指纹,完成对硬件的身份认证。由于PUF认证技术可以与硬件绑定,同时结构简单、计算开销小,非常适合在嵌入式设备上进行实现,目前已经在射频识别(Radio FrequencyIdentification,RFID)领域的安全认证中得到广泛采用:通过预共享的CRP,服务器可以对RFID设备完成单向认证。由于RFID设备内部没有对密钥明文存储,而仅存在PUF这一硬件结构,因此也不会出现针对密钥的窃取攻击。

本方案借助可在CAN总线设备内实现的PUF技术,可以实现车辆内部的轻量级认证与密钥协商协议,同时满足对总线设备的对等实体认证等安全需求,可以确保重放、伪造等攻击无法对认证和密钥协商造成威胁及损失。此外,基于PUF的CAN总线外部设备接入协议仅需在车辆与外部设备首次连接时使用基于非对称密码技术。

先介绍本发明中的概念及参数。

(1)车内CAN总线网络划分

通常,车内CAN网络分为三个子网络,例如动力传动子网包含安全关键性操作,包括控制发动机、制动器和底盘控制部件。为了保证实时通信速率,信息娱乐子网通常具有高带宽和稳定的通信能力。这些子网之间的ECU的通信通过网关ECU(GECU)来实现,网关ECU被认为比通常的ECU具备更强大的计算能力以及对车外CAN总线设备的通信能力。

(2)物理不可克隆函数

物理不可克隆函数(PUF)是一种新型的半导体安全技术,它可以作为芯片等半导体器件的唯一标识。PUF依赖于芯片制造过程中自然产生的物理微观结构。物理微观结构依赖于不可预测和不可控的随机物理因素。由于物理微结构的随机变化,不同的PUF对于相同的挑战值具有不同的输出响应。由于这些物理微结构通常是难以复制的,PUF的行为很难预测或提取。因此,攻击者很难伪造一个PUF电路,或者生产出完全相同的两个芯片,这表明PUF技术具有良好的抗克隆攻击能力。目前使用中最经典的PUF架构是仲裁器PUF电路,它可以简单的在FPGA等硬件环境下实现。此外,与加密函数相比,PUF需要更少的硬件计算资源,这适合于轻量级硬件设备的安全认证需求。由于PUF依赖于所制造电路的模拟物理特性来获得秘密信息,很容易受到噪声与其他环境因素的影响,使得输入相同的激励得到的响应有一定差异。为了解决这个问题,使用模糊提取器从噪声和非均匀随机PUF响应中生成具有适当熵的辅助信息。

表1 参数含义

下面参照附图描述根据本发明实施例提出的基于PUF的车内网络CAN总线轻量级安全通信方法。

本发明的目的是提供一种基于物理不可克隆函数(PUF)的轻量级CAN总线安全通信密码协议,涵盖车内CAN总线会话密钥建立协议和外部设备接入协议两个安全场景,相较于现有CAN总线安全协议在执行效率和可扩展性方面有明显提升。本发明在设备认证中除外部设备注册阶段外无需使用包含复杂运算的数字证书、公钥加密等非对称密码学技术,计算开销小,易于在嵌入式设备中实现。

在本发明中,通过在每次新会话中利用挑战-响应机制建立新会话密钥的方式,可以有效抵御跨会话的消息重放攻击和认证信息重放攻击;通过进一步细化消息加密的计数器机制则可有效抵御单一会话内的重放攻击。中继攻击则可捕获并放大电子钥匙的电磁信号,制造钥匙就在汽车附近的假象并与车辆通信,从而利用漏洞直接开启车门。本发明在外部设备与车辆交互过程中,定义了一轮有状态的交互过程,当外部设备的状态发生变化并开启通信交互时可以按需进行提示报警,以此成功检出中继攻击的存在。

本方案设计的协议族共包含三个模块,其中初始密钥分发模块可以完成车内CAN总线上会话密钥的建立,为总线上的安全通信创造条件。外部设备注册模块可以提供未注册外部设备在车内网关ECU(GECU)上的身份注册和密钥协商;外部设备介入模块可以对于已注册过的车外设备实现与车内CAN总线的轻量级安全接入。

图1为根据本发明一个实施例的基于PUF的车内网络CAN总线轻量级安全通信方法流程图。

如图1所示,该基于PUF的车内网络CAN总线轻量级安全通信方法包括以下步骤:

在步骤S101中,在车内CAN总线上建立会话密钥,使得基于会话密钥进行总线通信。

在本发明的一个实施例中,在车内CAN总线上建立会话密钥,使得基于会话密钥进行总线通信,包括:

在每次执行初始密钥分发时,从ECU本地挑战-相应数据库随机选取挑战值,并在每次执行完初始密钥分发后对挑战-响应对进行更新;

在发送挑战值至GECU的同时,发送第一新鲜随机值;

在GECU接收到挑战值后,使用自身附带的PUF生成响应值,并从响应值中提取稳定响应值,且生成第二新鲜随机值,并利用第一新鲜随机值和第二新鲜随机值计算认证杂凑值,以认证响应值的正确性,及从本地数据库中预存的挑战-响应对中挑选一个挑战值,以将挑出的挑战值、新生成随机数以及认证杂凑值一同在CAN总线上进行广播;

CAN总线上各ECU在接收到来自GECU的消息后,对认证杂凑值进行正确性验证,其中,若验证通过,则根据GECU发送的挑战值,使用自身附带的PUF生成对应的响应值,并从响应值中提取稳定响应值,利用GECU和ECU各自生成的两个随机数值和两个PUF响应值,各ECU生成一个认证值并发送到CAN总线上;

通过GECU对CAN总线上每一个ECU发送的认证值进行校验,其中,若验证通过,则计算生成会话密钥,且GECU根据由两方生成的两个随机数,确定下一次密钥协商时所需的新挑战值,并使用本地的PUF计算其相对应的响应值,并且将新的响应值使用会话密钥加密后广播到CAN总线上;

ECU从会话中的中间消息计算出会话密钥,并将GECU发来的新响应值解密,保存在本地。

具体地,步骤0:在车辆出厂时,GECU可在本地预先保存1000个挑战值,以及与这些挑战值相对应的总线上各ECU相应的响应值,构建GECU本地挑战-相应数据库。在每次执行初始密钥分发模块时,会从数据库中随机选取一个挑战值。各ECU需要在本地保存GECU对应的相同一对挑战-响应对,并在每次执行完初始密钥分发模块后对该挑战-响应对进行更新。

步骤1:如图2所示,协议由某一指定的ECU发起。该ECU首先发送在上一轮通信中约定好的挑战值发送给GECU,同时还会发送一个新鲜的随机值。

步骤2:GECU接收到挑战值后,使用自身附带的PUF生成响应值,并使用模糊特征提取器从响应值中提取稳定响应值。随后,GECU也生成一个新鲜的随机值,并利用步骤1和步骤2中由两方新生成的随机值计算认证杂凑值,用于认证响应值的正确性。GECU从数据库中预存的若干挑战-响应对中挑选一个挑战值。最终,GECU将挑出的挑战值、新生成随机数以及认证杂凑值一同在CAN总线上进行广播。

步骤3:总线上各ECU在接收到来自GECU的消息后,首先对其认证杂凑值进行正确性验证。若验证通过,则根据GECU发送的挑战值,使用自身附带的PUF生成对应的响应值,并使用模糊特征提取器从响应值中提取稳定响应值。利用GECU和ECU各自生成的两个随机数值和两个PUF响应值,各ECU可以生成一个认证值并发送到总线上。

步骤4:GECU首先对总线上每一个ECU发送的认证值进行校验。若验证通过,则使用上述步骤中涉及到的中间消息计算生成会话密钥。随后,GECU根据由两方生成的两个随机数,确定下一次密钥协商时所需的新挑战值,并使用本地的PUF计算其相对应的响应值。最终,将新的响应值使用会话密钥加密后广播到总线上。

步骤5:ECU同样使用上述会话中的中间消息计算出会话密钥,并将GECU发来的新响应值解密,保存在本地。至此,GECU与总线上其他各ECU完成了双向的身份认证和会话密钥协商,后续总线上传送的消息可以使用会话密钥保护消息的保密性和完整性。

在步骤S102中,对于未注册外部设备,在车内网关ECU上注册未注册外部设备的身份信息,并协商密钥。

在本发明的一个实施例中,对于未注册外部设备,在车内网关ECU上注册未注册外部设备的身份信息,并协商密钥,包括:

GECU生成一个椭圆曲线上的第一随机点,对第一随机点的值使用私钥进行签名,及将己方的数字证书、椭圆曲线上的点以及数字签名一同发送给外部设备;

外部设备在验证GECU发送消息的正确性后,生成一个椭圆曲线上的第二随机点,根据第一随机点和第二随机点计算出面向外部设备PUF的挑战值,并使用本地的PUF计算出相对应的响应值,利用GECU的公钥,通过外部设备将新生成的随机点和PUF响应值进行加密,并对其进行数字签名,以及将己方的数字证书、加密值和数字签名值一同发送给GECU;

在GECU接收到来自外部设备的消息后,使用私钥解密得到由外部设备生成的随机点和PUF响应值,并利用签名校验二者的正确性,其中,若校验通过,则GECU在本地数据库中安全保存外部设备ID、PUF挑战值和PUF响应值三元组数据,随后ECU由Diffie-Hellman协议导出本轮会话密钥,并向外部设备发送一个校验值确认会话密钥和PUF秘密值。

具体地,外部设备注册模块,可以在外部设备第一次与汽车相连接时完成身份注册并协商密钥具体由三个步骤实现,如图3所示:

步骤6:GECU首先生成一个椭圆曲线上的随机点,随后对该点的值使用私钥进行签名以保护该点数据的完整性和消息源认证。最终将己方的数字证书、椭圆曲线上点以及数字签名一同发送给外部设备。

步骤7:外部设备在验证GECU发送消息的正确性后,同样可以生成一个椭圆曲线上的随机点,根据这两个随机点可以计算出面向外部设备PUF的挑战值,并使用本地的PUF计算出相对应的响应值。利用GECU的公钥,外部设备可以将新生成的随机点和PUF响应值进行加密,并对其进行数字签名。最终,外部设备可以将己方的数字证书、加密值和数字签名值一同发送给GECU。此外,在外部设备一方,本轮会话的会话密钥已可以由椭圆曲线上的Diffie-Hellman协议计算生成。

步骤8:GECU在接收到来自外部设备的消息后,首先使用私钥解密得到由外部设备生成的随机点和PUF响应值,并利用签名校验二者的正确性。若校验通过,则GECU在本地数据库中安全保存外部设备ID、PUF挑战值和PUF响应值三元组数据,便于下一次外部设备接入时使用。GECU同样可以由Diffie-Hellman协议导出本轮会话密钥,并向外部设备发送一个校验值完成会话密钥和PUF秘密值的确认。

在步骤S103中,对于已注册车外设备,根据已注册车外设备的身份信息和密钥计入车内CAN总线。

在本发明的一个实施例中,对于已注册车外设备,根据已注册车外设备的身份信息和密钥计入车内CAN总线,包括:

GECU通过待接入外部设备的ID检索数据库,读取上一轮约定好的PUF挑战值和响应值,生成一个随机数,利用该随机数加密PUF响应值并生成一个认证校验值,GECU将PUF挑战值、加密后的PUF响应值和认证校验值一同发送给已注册外部设备;

在已注册外部设备在接收到GECU发送的消息后,利用本地PUF生成与挑战值相对应的PUF响应值,使用该响应值解密得到GECU生成的随机数并验证认证校验值的正确性,若验证正确,则对GECU的身份验证通过,已注册外部设备在本地生成一个新的随机数,本轮会话的会话密钥由两方生成的两个随机数导出,根据导出的两个随机数,计算出下一轮要使用的PUF挑战值,并随即导出相应的PUF响应值,以及已注册外部设备使用GECU生成的随机数分别对新生成的PUF响应值和随机数进行加密,并计算出一个校验值保护数据完整性,将两个加密值和校验值一同发送给GECU;

在GECU在接收到消息后,利用生成的随机数解密得到下一轮要使用的PUF响应值和外部设备生成的随机数,其中,若校验值验证通过,GECU使用新的PUF挑战值和响应值对数据库中的三元组进行更新,且使用两个随机数导出本轮会话的会话密钥,完成身份认证与密钥协商。

具体地,外部设备接入模块,可以为已在GECU完成身份注册的外部设备完成轻量级的身份认证与密钥协商,具体由三个步骤实现,如图4所示:

步骤9:GECU首先通过待接入外部设备的ID检索数据库,读取上一轮约定好的PUF挑战值和响应值。随后生成一个随机数,使用该随机数加密PUF响应值并生成一个认证校验值。最终,GECU将PUF挑战值、加密后的PUF响应值和认证校验值一同发送给外部设备。

步骤10:外部设备在接收到消息后,首先使用本地PUF生成与挑战值相对应的PUF响应值,使用该响应值解密得到GECU生成的随机数并验证认证校验值的正确性。若验证正确,则对GECU的身份验证通过。外部设备在本地生成一个新的随机数,本轮会话的会话密钥即可使用两方生成的两个随机数导出。根据两个随机数,外部设备还可以计算出下一轮要使用的PUF挑战值,并随即导出相应的PUF响应值。随后,外部设备使用GECU生成的随机数分别对新生成的PUF响应值和随机数进行加密,并计算出一个校验值保护数据完整性。最终,外部设备将两个加密值和校验值一同发送给GECU。

步骤11:GECU在接收到消息后,可以用自身在步骤9中生成的随机数,解密得到下一轮要使用的PUF响应值和外部设备生成的随机数。若校验值验证通过,GECU将使用新的PUF挑战值和响应值对数据库中的三元组进行更新。最后,GECU也可使用两个随机数导出本轮会话的会话密钥,完成全部身份认证与密钥协商功能。

下面通过具体实施例介绍本发明的技术方案。

模块一:初始密钥分发模块具体由五个步骤实现:

步骤1:选定的发起方ECU首先生成一个随机数N

步骤2:GECU在接收到挑战值后,使用本地附带的PUF计算其相应的响应值

步骤3:总线上其他ECU在收到来自GECU的消息后,首先验证认证杂凑值Hash

步骤4:GECU在接收到总线上各ECU发送的校验值,即Hash

步骤5:总线上各ECU同样可以导出本轮会话密钥EK和AK,随后从GECU在步骤4发送的消息中解密获得下一轮GECU响应值

模块二:外部设备注册模块具体由三个步骤实现:

步骤6:GECU首先生成一个随机数a,并将其映射到椭圆曲线群上的一个随机点N

步骤7:外部设备在收到消息后,同样生成一个随机数b,并将其映射到椭圆曲线群上得到N

步骤8:GECU在接收到消息后,可以解密得到外部设备新生成的PUF响应值和随机数

模块三:外部设备接入模块具体由三个步骤实现,以外部设备第i次接入车内GECU为例说明:

步骤9:GECU首先通过待接入外部设备的ID检索数据库,读取上一轮约定好的PUF挑战值和响应值(C

步骤10:外部设备接收到消息后,根据PUF挑战值生成对应的响应值R

步骤11:GECU在收到消息后,可以解密得到

根据本发明实施例提出的基于PUF的车内网络CAN总线轻量级安全通信方法,通过借助可在CAN总线设备内实现的PUF技术,可以实现车辆内部的轻量级认证与密钥协商协议,同时满足对总线设备的对等实体认证等安全需求,可以确保重放、伪造等攻击无法对认证和密钥协商造成威胁及损失。基于PUF的CAN总线外部设备接入协议仅需在车辆与外部设备首次连接时使用基于非对称密码技术。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号