基于车内网的预置密钥分发方法、系统、终端及存储介质转让专利

申请号 : CN202311606295.2

文献号 : CN117318941B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程腾江文杰张强王文冲石琴

申请人 : 合肥工业大学

摘要 :

本发明涉及车联网技术领域,公开了基于车内网的预置密钥分发方法、系统、终端及存储介质。方法为:KEU在每次更新预置密钥前,生成第一随机数并共享至ECU和网关;ECU和网关生成各自的第二随机数作为哈希次数;当KEU更新预置密钥后,ECU和网关分别将各自的哈希次数发送给KEU;KEU利用各个ECU和网关的哈希次数对第一随机数进行哈希运算,获取所有ECU和网关的第二哈希值;KEU使用各个第二哈希值分别对预置密钥进行加密,将加密后的预置密钥发送回各自网关与ECU;网关与ECU接收密文后,利用各自哈希次数对第一随机数进行相应次的哈希运算,得到第二哈希值并据此对预置密钥的密文进行解密以获得预置密钥。本发明可有效提高车内网的预置密钥在分发过程的安全性。

权利要求 :

1.基于车内网的预置密钥分发方法,其特征在于,包括以下步骤:

S1.车内的KEU在每次更新预置密钥之前,生成第一随机数并共享至ECU和网关;

S2.ECU和网关分别生成各自的第二随机数以作为哈希次数;

S3.当KEU更新预置密钥后,ECU和网关分别将各自的哈希次数发送给KEU;

S4.KEU分别利用各个ECU和网关的哈希次数对第一随机数进行相应次的哈希运算,依次获取所有ECU和网关的第二哈希值;

S5.KEU使用各个第二哈希值作为对称密钥分别对预置密钥进行加密,并将加密后的预置密钥发送回各自对应的网关与ECU;

S6.网关与ECU接收到预置密钥的密文后,分别利用各自的哈希次数对第一随机数进行相应次的哈希运算,得到各自的第二哈希值并据此对预置密钥的密文进行解密以获得预置密钥;

步骤S2中,ECU和网关还分别将各自的身份信息与第一随机数进行异或操作,得到第一异或值XOR1;随后,ECU和网关分别将各自的身份信息、第一异或值XOR1和哈希次数合并,形成“身份信息|第一异或值XOR1|哈希次数”明文,并使用第一哈希值对该明文进行对称加密;第一哈希值由第一随机数经过哈希运算一次后得到;

步骤S3中,当KEU更新预置密钥后,网关与ECU分别向KEU发送附带有“身份信息|第一异或值XOR1|哈希次数”密文的身份认证请求;KEU接收到身份认证请求后,通过第一哈希值对网关和ECU的密文进行解密,利用解密得到的身份信息和第一异或值XOR1进行身份验证,在身份验证合格后,KEU得到各个ECU和网关的哈希次数。

2.根据权利要求1所述的基于车内网的预置密钥分发方法,其特征在于,步骤S2中,采用AES、DES、Blowfish中的任意一种对称加密算法对“身份信息|第一异或值|哈希次数”明文进行对称加密;

步骤S2和步骤S6中,均通过SHA‑256算法实现哈希运算。

3.根据权利要求1所述的基于车内网的预置密钥分发方法,其特征在于,KEU利用解密得到的身份信息和第一异或值XOR1进行身份验证具体包括以下步骤:KEU将解密得到的身份信息与自身预存储的验证信息进行对比,

当身份信息与所述验证信息相同时,则KEU将身份信息与第一随机数进行异或操作,得到第二异或值XOR2,并将第二异或值XOR2与第一异或值XOR1进行对比,当第二异或值XOR2与第一异或值XOR1相同时则判定身份验证合格,否则判定身份验证失败;

当身份信息与所述验证信息不同时,则直接判定身份验证失败。

4.根据权利要求3所述的基于车内网的预置密钥分发方法,其特征在于,对于首次身份验证不合格的网关与ECU,KEU将进行再次的身份验证,若仍不合格,KEU将所有无法通过身份认证的网关与ECU从通信网络中隔离,同时记录失败的身份验证事件并触发警报以通知相应的决策端。

5.根据权利要求1所述的基于车内网的预置密钥分发方法,其特征在于,所述第一随机数和所述第二随机数均为量子随机数。

6.根据权利要求1所述的基于车内网的预置密钥分发方法,其特征在于,步骤S1中,KEU、ECU和网关还分别将第一随机数存储在各自的寄存器中;S4中,KEU还将获取到的各个第二哈希值存储在自身的寄存器中;

其中,在步骤S6之后,所述预置密钥分发方法还包括以下步骤:

S7.网关、ECU与KEU销毁各自寄存器中的随机数、哈希次数与哈希值数据,并返回步骤S1以对下一次更新的预置密钥进行分发。

7.基于车内网的预置密钥分发系统,包括:ECU、KEU以及网关,其特征在于,该分发系统应用如权利要求1至6中任一项所述的基于车内网的预置密钥分发方法。

8.一种计算机终端,其包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器在执行程序时,实现如权利要求1至6中任意一项所述的基于车内网的预置密钥分发方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时,实现如权利要求1至6中任意一项所述的基于车内网的预置密钥分发方法的步骤。

说明书 :

基于车内网的预置密钥分发方法、系统、终端及存储介质

技术领域

[0001] 本发明涉及车联网技术领域,具体是基于车内网的预置密钥分发方法,以及应用该方法的基于车内网的预置密钥分发系统、计算机终端以及计算机可读存储介质。

背景技术

[0002] 随着科技的进步和人们对智能汽车的需求不断增加,现代汽车已经不再是简单的机械设备,而是集成了众多电子控制单元(ECU)和传感器的复杂系统。车内网作为现代汽车中重要的组成部分,实现了车辆内部各个控制单元之间的通信和数据交换。这为车辆的性能优化、功能扩展和用户体验提供了巨大的便利性。然而,随着车内网功能的增加和连接性的提高,也带来了安全风险和威胁。汽车系统的安全性成为一个严峻的挑战,因为黑客可以利用漏洞入侵车内网,从而可能对车辆和乘客的安全构成威胁。
[0003] 车内网中的密钥交换单元(KEU)负责周期性地产生预置密钥,并分发给ECU和网关。当前市场上的预置密钥分发方案,存在以下安全性问题:首先,传统的随机数生成算法可能会收到伪随机数算法的限制,使得密钥的随机性受到威胁;其次,由于缺乏充分保护,密钥的分发过程容易受到中间人攻击的威胁,尤其是对称密钥分发可能存在密钥泄露的风险;另外,在预置密钥的分发环节,还缺少严格的身份认证过程,因准确性和可靠性较低导致身份认证不够严格,从而存在假冒身份的风险。

发明内容

[0004] 为解决现有技术中车内网的预置密钥分发过程的安全性有待提高的技术问题,本发明提供基于车内网的预置密钥分发方法、系统、终端及存储介质。
[0005] 为实现上述目的,本发明提供如下技术方案:
[0006] 本发明公开基于车内网的预置密钥分发方法,包括以下步骤,即S1‑S6。
[0007] S1.车内的KEU在每次更新预置密钥之前,生成第一随机数并共享至ECU和网关。
[0008] S2.ECU和网关分别生成各自的第二随机数以作为哈希次数。
[0009] S3.当KEU更新预置密钥后,ECU和网关分别将各自的哈希次数发送给KEU。
[0010] S4.KEU分别利用各个ECU和网关的哈希次数对第一随机数进行相应次的哈希运算,依次获取所有ECU和网关的第二哈希值。
[0011] S5.KEU使用各个第二哈希值作为对称密钥分别对预置密钥进行加密,并将加密后的预置密钥发送回各自对应的网关与ECU。
[0012] S6.网关与ECU接收到预置密钥的密文后,分别利用各自的哈希次数对第一随机数进行相应次的哈希运算,得到各自的第二哈希值并据此对预置密钥的密文进行解密以获得预置密钥。
[0013] 作为上述方案的进一步改进,步骤S2中,ECU和网关还分别将各自的身份信息与第一随机数进行异或操作,得到第一异或值XOR1。随后,ECU和网关分别将各自的身份信息、第一异或值XOR1和哈希次数合并,形成“身份信息|第一异或值XOR1|哈希次数”明文,并使用第一哈希值对该明文进行对称加密。第一哈希值由第一随机数经过哈希运算一次后得到。
[0014] 步骤S3中,当KEU更新预置密钥后,网关与ECU分别向KEU发送附带有“身份信息|第一异或值XOR1|哈希次数”密文的身份认证请求。KEU接收到身份认证请求后,通过第一哈希值对网关和ECU的密文进行解密,利用解密得到的身份信息和第一异或值XOR1进行身份验证,在身份验证合格后,KEU得到各个ECU和网关的哈希次数。
[0015] 作为上述方案的进一步改进,步骤S2中,采用AES、DES、Blowfish中的任意一种对称加密算法对“身份信息|第一异或值|哈希次数”明文进行对称加密。
[0016] 步骤S2和步骤S6中,均通过SHA‑256算法实现哈希运算。
[0017] 作为上述方案的进一步改进,KEU利用解密得到的身份信息和第一异或值XOR1进行身份验证具体包括以下步骤:
[0018] KEU将解密得到的身份信息与自身预存储的验证信息进行对比,
[0019] 当身份信息与验证信息相同时,则KEU将身份信息与第一随机数进行异或操作,得到第二异或值XOR2,并将第二异或值XOR2与第一异或值XOR1进行对比,当第二异或值XOR2与第一异或值XOR1相同时则判定身份验证合格,否则判定身份验证失败。
[0020] 当身份信息与验证信息不同时,则直接判定身份验证失败。
[0021] 作为上述方案的进一步改进,对于首次身份验证不合格的网关与ECU,KEU将进行再次的身份验证,若仍不合格,KEU将所有无法通过身份认证的网关与ECU从通信网络中隔离,同时记录失败的身份验证事件并触发警报以通知相应的决策端。
[0022] 作为上述方案的进一步改进,第一随机数和第二随机数均为量子随机数。
[0023] 作为上述方案的进一步改进,步骤S1中,KEU、ECU和网关还分别将第一随机数存储在各自的寄存器中。S4中,KEU还将获取到的各个第二哈希值存储在自身的寄存器中。
[0024] 其中,在步骤S6之后,预置密钥分发方法还包括以下步骤:
[0025] S7.网关、ECU与KEU销毁各自寄存器中的随机数、哈希次数与哈希值数据,并返回步骤S1以对下一次更新的预置密钥进行分发。
[0026] 本发明还公开基于车内网的预置密钥分发系统,包括:ECU、KEU以及网关,该分发系统应用上述基于车内网的预置密钥分发方法。
[0027] 本发明还公开一种计算机终端,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序。处理器在执行程序时,实现上述基于车内网的预置密钥分发方法的步骤。
[0028] 本发明还公开一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时,实现上述基于车内网的预置密钥分发方法的步骤。
[0029] 与现有技术相比,本发明的有益效果是:
[0030] 1、本发明公开的基于车内网的预置密钥分发方法,预置密钥是由KEU根据各个ECU和网关提供的哈希次数进行加密后分发的,这种分散密钥分发的方式可以防止密钥的集中存储和传输;由于在ECU与网关中生成一个较小的随机数作为哈希次数,使得哈希次数变得难以预测,增加了攻击者猜测哈希次数的难度,进一步加强了通信的安全性,同时通过每次通信都生成不同的随机哈希次数,可以防止攻击者重放之前的通信数据,从而增加了通信的安全性。
[0031] 2、该分发方法由于随机数在ECU、网关与KEU中都有预存,所以当KEU解密接收到身份信息时,将身份信息与随机数异或,通过与接收异或值进行比较,如果身份信息与异或值中有一点的差异,就可以判定此ECU或者网关不合法,增加了身份认证的准确度。
[0032] 3、该分发方法“身份信息|异或值|哈希次数”的形式可以增加通信过程中身份信息的混淆性,即使黑客获取到了密文信息,如果无法确定其中的哈希次数信息,就很难对预置密钥进行解密,这种方法增加了攻击者的难度,从而提高了系统的安全性。
[0033] 4、该分发方法在预置密钥更新之前,ECU与网关使用预存随机数的哈希值作为密钥,提前完成了“身份信息|异或值|哈希次数”的加密,这样可以在预置密钥更新后立即完成身份验证,节省了时间,提高了通信效率。
[0034] 5、该分发方法采用的真随机数具有真正的随机性,其生成过程不可预测,不受传统随机数生成器的限制,因此使用真随机数的哈希值作为对称密钥可以提供更高的安全性,防止攻击者通过猜测或计算来破解密钥,增强了通信数据的保密性。
[0035] 6、该分发方法在完成预置密钥分发后销毁全部随机数,KEU会再次生成一个预存真随机数,不断更新的随机数使得系统具备更强的动态性和难预测性,这种动态更新随机数的做法增加了系统的动态性和难预测性,使得系统更加抵御攻击,提高了安全性。
[0036] 7、本发明公开的基于车内网的预置密钥分发系统、计算机终端以及计算机可读存储介质,通过应用上述分发方法,能够产生与其相同的有益效果,在此不再赘述。

附图说明

[0037] 图1为本发明实施例1中基于车内网的预置密钥分发系统的框架图。
[0038] 图2为本发明实施例1中基于车内网的预置密钥分发方法的流程图。

具体实施方式

[0039] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040] 实施例1
[0041] 请参阅图1,本实施例提供基于车内网的预置密钥分发系统,包括:ECU、KEU以及网关。
[0042] 其中,KEU(Key Exchange Unit)即密钥交换单元,负责产生量子随机数和密钥管理。KEU包含有加解密模块、密钥管理模块、量子密钥生成模块、对称密钥生成模块与通信模块。
[0043] ECU(Electronic Control Unit)即电子控制单元,是车辆中的各个控制单元。ECU包含有加解密模块、密钥管理模块、通信模块、量子随机数生成模块。
[0044] 网关即智能网关,用于连接车内网和外部网。网关包含有加解密模块、密钥管理模块、通信模块、量子随机数生成模块。
[0045] 请参阅图2,上述分发系统可以实现一种基于车内网的预置密钥分发方法,该方法可包括如下所示的步骤S1 S7。~
[0046] S1.车内的KEU在每次更新预置密钥之前,生成属性为真随机数的第一随机数并共享至ECU和网关,并将第一随机数存储于三者各自的寄存器中。
[0047] 本实施例中,KEU采用量子随机数发生器生成的量子随机数作为第一随机数。在车内通信过程中,加密密钥对于信息加密有十分重要的影响。密钥的生成往往是基于随机数和口令,随机数的随机性就会影响到生成密钥的安全性。在具有强大算力的计算机面前,通过种子信息、预设函数和常数常量等元素生成的伪随机数将会变得极其的不安全。而真随机数往往是通过一些不可预测的物理现象来产生随机数,例如量子随机数发生器通过光子的物理现象产生随机数。通过使用真随机数来生成量子密钥将会具有更高的安全性。目前较为常用的量子密钥分发是在1984年,Bennett和Brassard提出了一种密钥分发协议,即BB84协议。量子加密通信具有无条件的安全性,这是由量子物理学的不可克隆原理和不确定性原理所决定的。一方面,基于量子随机数所产生的量子密钥更加难以破解,具有更高的安全性。另一方面,量子密钥分发过程已被证明是绝对安全的,且任何第三方窃听行为都将会被及时发现。
[0048] 因此,本实施例采用的量子随机数具有真正的随机性,其生成过程不可预测,不受传统随机数生成器的限制。因此,使用量子随机数的哈希值作为对称密钥可以提供更高的安全性,防止攻击者通过猜测或计算来破解密钥,增强了通信数据的保密性。
[0049] 当然,在其他实施例中,也可以采用其他基于不同物理源的随机数发生器,只要能够产生真随机数即可。
[0050] S2.ECU和网关分别将各自的身份信息与第一随机数进行异或操作(即XOR算法),得到第一异或值XOR1,异或操作的表达式为:第一异或值XOR1=身份信息⊕第一随机数。
[0051] XOR(异或)是一种逻辑运算,用于比较两个二进制数字的每一位。如果两个位相同,则结果为0,如果两个位不同,则结果为1。
[0052] 在步骤S2中,ECU和网关还分别生成各自的第二随机数以作为哈希次数。
[0053] 其中,第二随机数为一个较小的随机数。第二随机数的作用是作为进行哈希算法的次数,这里的“较小”目的是使运行哈希算法的次数少一些,以减轻网关与ECU的计算压力;在一些实施例中,可以对“较小”划定一个范围,如10次以内或者20次以内。第二随机数也为真随机数,例如量子随机数。
[0054] 在ECU与网关中生成一个较小的随机数作为哈希次数,使得哈希次数变得难以预测,增加了攻击者猜测哈希次数的难度,进一步加强了通信的安全性。同时,通过每次通信都生成不同的随机哈希次数,可以防止攻击者重放之前的通信数据,从而增加了通信的安全性。
[0055] S3.当KEU更新预置密钥后,ECU和网关分别将各自的哈希次数发送给KEU。
[0056] 本实施例中,ECU和网关可以分别将各自的身份信息、第一异或值XOR1和哈希次数合并,形成“身份信息|第一异或值XOR1|哈希次数”明文,同时可通过SHA‑256算法将第一随机数转化为第一哈希值H1,并使用第一哈希值H1对该明文进行对称加密,随后等待预置密钥更新。
[0057] 其中,SHA‑256是一种密码学安全的哈希函数,它将输入数据(如第一随机数)转化为固定长度的散列值(如第一哈希值H)1 。SHA‑256的特性包括高度的抗碰撞性,即使输入数据微小的改变也会导致完全不同的哈希值。
[0058] 本实施例中,可采用AES(高级加密标准)算法对明文进行对称加密,AES是一种对称密钥加密算法,它使用相同的密钥(在这里是第一哈希值H1)进行加密和解密。采用AES加密明文可表示为:
[0059] C=AES Encrypt(M,H1)
[0060] 式中,C为对称加密后的密文,AES Encrypt表示对称加密符号,M为明文。
[0061] 当然,在一些实施例中,也可采用DES、Blowfish等对称加密算法对“身份信息|第一异或值|哈希次数”明文进行对称加密。
[0062] 上述“身份信息|异或值|哈希次数”的形式可以增加通信过程中身份信息的混淆性,即使黑客获取到了密文信息,如果无法确定其中的哈希次数信息,就很难对预置密钥进行解密。这种方法增加了攻击者的难度,从而提高了系统的安全性。
[0063] 另外,使用量子随机数(即第一随机数)的哈希值作为密钥进行对称加密,保证了对称密钥在分发过程的安全性,且使用对称密钥,加解密速度快、形式简单、效率高。
[0064] 随后,网关与ECU分别向KEU发送附带有“身份信息|第一异或值XOR1|哈希次数”密文的身份认证请求。
[0065] KEU接收到身份认证请求后,通过第一哈希值H1分别对网关与ECU的“身份信息|第一异或值XOR1|哈希次数”密文进行解密,利用解密得到的身份信息和第一异或值XOR1进行身份验证,在身份验证合格后执行步骤S6。
[0066] 其中,对“身份信息|第一异或值XOR1|哈希次数”密文进行解密可表示为:
[0067] M=AES Decrypt(C,H1)
[0068] 式中,AES Decrypt表示解密符号。
[0069] 随后,利用解密得到的身份信息与第一异或值XOR1进行身份验证,具体过程如下:
[0070] KEU将解密得到的身份信息与自身预存储的验证信息进行对比,当身份信息与所述验证信息相同时,则KEU将身份信息与第一随机数进行异或操作,得到第二异或值XOR2,并将第二异或值XOR2与第一异或值XOR1进行对比,当第二异或值XOR2与第一异或值XOR1相同时则判定身份验证合格,否则判定身份验证失败。
[0071] 当身份信息与所述验证信息不同时,则直接判定身份验证失败。
[0072] 由于随机数在ECU、网关与KEU中都有预存,所以当KEU解密接收到身份信息时,将身份信息与随机数异或,通过与接收异或值进行比较,如果身份信息与异或值中有一点的差异,就可以判定此ECU或者网关不合法,增加了身份认证的准确度。
[0073] 本实施例中,如果身份验证不合格,说明接收到的身份信息与预期的不匹配,这可能是因为信息被篡改或者伪造;对于首次身份验证不合格的网关与ECU,KEU将进行再次的身份验证,若仍不合格,KEU将所有无法通过身份认证的网关与ECU从通信网络中隔离,以防止其对系统造成进一步的威胁,同时记录失败的身份验证事件并触发警报以通知相应的决策端。
[0074] 需要理解的是,在预置密钥的分发受到攻击时,不会出现认证均不合格的情况;若传输过程中出现了通信故障或者丢包等问题,KEU会记录失败的身份验证事件,以便后续的审查和调查;同时触发警报以通知相关的安全团队或人员,以便他们能够及时采取措施。
[0075] S4.KEU利用解密得到的哈希次数对第一随机数进行相应次的哈希运算,依次获取经过身份验证合格后的所有网关和ECU的第二哈希值H2,并将各个第二哈希值H2存储在自身的寄存器中。需要说明的是,每轮预置密钥的下发过程中,第一哈希值唯一,而第二哈希值具有多个。
[0076] 其中,S4的哈希运算也可通过SHA‑256算法实现。
[0077] S5.KEU使用各第二哈希值H2作为对称密钥分别对预置密钥进行加密,并将加密后的预置密钥发送回各自对应的网关与ECU。
[0078] S6.网关与ECU接收到预置密钥的密文后,分别利用各自的哈希次数对第一随机数进行相应次的哈希运算,得到第二哈希值H2并据此对预置密钥的密文进行解密以获得预置密钥。
[0079] S7.网关、ECU与KEU销毁各自寄存器中的随机数、哈希次数与哈希值数据,并返回步骤S1以对下一次更新的预置密钥进行分发。
[0080] 实施例2
[0081] 本实施例提供一种计算机终端,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序。
[0082] 该计算机终端可以是能够执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
[0083] 处理器在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器通常用于控制计算机设备的总体操作。本实施例中,处理器用于运行存储器中存储的程序代码或者处理数据。处理器在执行程序时,可实现实施例1中基于车内网的预置密钥分发方法的步骤。
[0084] 实施例3
[0085] 本实施例提供一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时,可实现实施例1中基于车内网的预置密钥分发方法的步骤。
[0086] 该计算机可读存储介质可以包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储介质也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card  ,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器通常用于存储安装于计算机设备的操作系统和各类应用软件等。此外,存储器还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0087] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。