本申请涉及,尤其涉及一种密钥交换方法、装置、电子设备、存储介质及程序产品。
背景技术:
1、近几年随着消费者对汽车安全性和舒适性要求的进一步提高,车企越来越重视车辆的安全配置以及驾乘体验,为了实现更丰富的功能,车企向车辆内部安装的传感器和ecu(电子控制单元)数量也越来越多。同时新能源车辆的普及也将整个汽车行业带入了智能化、网联化的时代。汽车行业经过数十年的发展已经形成了一套以can总线协议(controller area network,即控制器局域网总线)为标准的完整开发框架。
2、然而,can协议在设计时的目标是运行在较为封闭的网络环境中,协议本身没有任何加密和认证机制来保证协议的安全。当can协议应用于不封闭的网络环境中时,就会因为缺乏安全认证机制而被攻击者入侵,给网络中的密钥交换带来威胁。
技术实现思路
1、有鉴于此,本申请的目的在于提出一种密钥交换方法、装置、电子设备、存储介质及程序产品。
2、基于上述目的,本申请提供了一种密钥交换方法,应用于车载网络的网关侧,包括:
3、接收节点的认证请求;
4、获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;
5、获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;
6、响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;
7、根据所述会话密钥与所述节点进行密钥交换。
8、可选的,所述认证请求包括:第一节点密钥掩码、第二节点密钥掩码、初始节点密钥存放槽位以及网关密钥掩码;
9、所述本地密钥信息包括:初始节点密钥k、主密钥km以及认证序号;
10、所述获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息,包括:
11、根据所述第一节点密钥掩码、所述第二节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定所述认证信息。
12、可选的,所述根据所述第一节点密钥掩码、所述第二节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定所述认证信息,包括:
13、根据所述第一节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定所述节点的第一随机数;
14、根据所述第一随机数、所述第二节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定第一认证序列号;
15、根据所述第一随机数、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码、所述网关密钥以及所述第一认证序列号,通过所述哈希函数和所述异或运算进行计算,确定所述认证信息。
16、可选的,所述认证信息包括验证码,所述本地认证信息包括认证码;
17、所述获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,根据对比结果进行节点认证,包括:
18、将所述验证码与所述认证码进行对比验证,确定对比结果;
19、响应于确定所述对比结果为所述验证码与所述认证码相同,完成所述节点认证。
20、可选的,所述根据所述本地密钥信息和所述认证请求,确定会话密钥,包括:
21、根据所述第一随机数、所述第一认证序列号、所述初始节点密钥、所述网关密钥掩码以及所述网关密钥,确定所述会话密钥。
22、可选的,所述方法,还包括:
23、响应于确定完成所述认证,获取认证序列号,并对所述认证序列号的编号进行更新。
24、基于同一发明构思,本申请实施例还提供了一种密钥交换装置,应用于车载网络的网关侧,包括:
25、请求接收模块,被配置为接收节点的认证请求;
26、信息确定模块,被配置为获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;
27、认证模块,被配置为获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;
28、密钥确定模块,被配置为响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;
29、密钥交换模块,被配置为根据所述会话密钥与所述节点进行密钥交换。
30、基于同一发明构思,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项所述的密钥交换方法。
31、基于同一发明构思,本申请实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述任一所述的密钥交换方法。
32、基于同一发明构思,本申请实施例还提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述任一所述的密钥交换方法。
33、从上面所述可以看出,本申请提供了密钥交换方法、装置、电子设备、存储介质及程序产品,其中,所述密钥交换方法包括:响应于确定完成初始化和注册,接收节点的认证请求;获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;根据所述会话密钥与所述节点进行密钥交换。本申请通过本地密钥信息和认证请求进行安全计算完成认证,进而确定会话密钥进行密钥交换,一方面可以有效保证计算过程的轻量化,另一方面还能够抵御认证过程中短期密钥资料泄漏所带来的安全威胁。
1.一种密钥交换方法,其特征在于,应用于车载网络的网关侧,包括:
2.根据权利要求1所述的方法,其特征在于,所述认证请求包括:第一节点密钥掩码、第二节点密钥掩码、初始节点密钥存放槽位以及网关密钥掩码;
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一节点密钥掩码、所述第二节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定所述认证信息,包括:
4.根据权利要求1所述的方法,其特征在于,所述认证信息包括验证码,所述本地认证信息包括认证码;
5.根据权利要求3所述的方法,其特征在于,所述根据所述本地密钥信息和所述认证请求,确定会话密钥,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
7.一种密钥交换装置,其特征在于,应用于车载网络的网关侧,包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现根据权利要求1至6中任意一项所述的方法。
9.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至6中任意一项所述的方法。
10.一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的方法。