CN116155625A - 密钥交换方法、装置、电子设备、存储介质及程序产品 - Google Patents

密钥交换方法、装置、电子设备、存储介质及程序产品 Download PDF

Info

Publication number
CN116155625A
CN116155625A CN202310418163.0A CN202310418163A CN116155625A CN 116155625 A CN116155625 A CN 116155625A CN 202310418163 A CN202310418163 A CN 202310418163A CN 116155625 A CN116155625 A CN 116155625A
Authority
CN
China
Prior art keywords
key
authentication
node
information
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310418163.0A
Other languages
English (en)
Other versions
CN116155625B (zh
Inventor
徐国爱
廖清
徐国胜
王晨宇
朱煜成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute Of Technology shenzhen Shenzhen Institute Of Science And Technology Innovation Harbin Institute Of Technology
Beijing University of Posts and Telecommunications
Original Assignee
Harbin Institute Of Technology shenzhen Shenzhen Institute Of Science And Technology Innovation Harbin Institute Of Technology
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute Of Technology shenzhen Shenzhen Institute Of Science And Technology Innovation Harbin Institute Of Technology, Beijing University of Posts and Telecommunications filed Critical Harbin Institute Of Technology shenzhen Shenzhen Institute Of Science And Technology Innovation Harbin Institute Of Technology
Priority to CN202310418163.0A priority Critical patent/CN116155625B/zh
Publication of CN116155625A publication Critical patent/CN116155625A/zh
Application granted granted Critical
Publication of CN116155625B publication Critical patent/CN116155625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种密钥交换方法、装置、电子设备、存储介质及程序产品包括:接收节点的认证请求;获取本地密钥信息,根据本地密钥信息和认证请求,通过哈希函数和异或运算进行计算确定认证信息;获取本地认证信息,根据本地认证信息对认证信息进行对比验证,并根据对比结果进行节点认证;响应于确定完成节点认证,根据本地密钥信息和认证请求,确定会话密钥;根据会话密钥与节点进行密钥交换。本申请通过本地密钥信息和认证请求进行安全计算完成认证,进而确定会话密钥进行密钥交换,一方面可以有效保证计算过程的轻量化,另一方面还能够抵御认证过程中短期密钥资料泄漏所带来的安全威胁。

Description

密钥交换方法、装置、电子设备、存储介质及程序产品
技术领域
本申请涉及技术领域,尤其涉及一种密钥交换方法、装置、电子设备、存储介质及程序产品。
背景技术
近几年随着消费者对汽车安全性和舒适性要求的进一步提高,车企越来越重视车辆的安全配置以及驾乘体验,为了实现更丰富的功能,车企向车辆内部安装的传感器和ECU(电子控制单元)数量也越来越多。同时新能源车辆的普及也将整个汽车行业带入了智能化、网联化的时代。汽车行业经过数十年的发展已经形成了一套以CAN总线协议(Controller Area Network,即控制器局域网总线)为标准的完整开发框架。
然而,CAN协议在设计时的目标是运行在较为封闭的网络环境中,协议本身没有任何加密和认证机制来保证协议的安全。当CAN协议应用于不封闭的网络环境中时,就会因为缺乏安全认证机制而被攻击者入侵,给网络中的密钥交换带来威胁。
发明内容
有鉴于此,本申请的目的在于提出一种密钥交换方法、装置、电子设备、存储介质及程序产品。
基于上述目的,本申请提供了一种密钥交换方法,应用于车载网络的网关侧,包括:
接收节点的认证请求;
获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;
获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;
响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;
根据所述会话密钥与所述节点进行密钥交换。
可选的,所述认证请求包括:第一节点密钥掩码、第二节点密钥掩码、初始节点密钥存放槽位以及网关密钥掩码;
所述本地密钥信息包括:初始节点密钥K、主密钥Km以及认证序号;
所述获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息,包括:
根据所述第一节点密钥掩码、所述第二节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定所述认证信息。
可选的,所述根据所述第一节点密钥掩码、所述第二节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定所述认证信息,包括:
根据所述第一节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定所述节点的第一随机数;
根据所述第一随机数、所述第二节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定第一认证序列号;
根据所述第一随机数、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码、所述网关密钥以及所述第一认证序列号,通过所述哈希函数和所述异或运算进行计算,确定所述认证信息。
可选的,所述认证信息包括验证码,所述本地认证信息包括认证码;
所述获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,根据对比结果进行节点认证,包括:
将所述验证码与所述认证码进行对比验证,确定对比结果;
响应于确定所述对比结果为所述验证码与所述认证码相同,完成所述节点认证。
可选的,所述根据所述本地密钥信息和所述认证请求,确定会话密钥,包括:
根据所述第一随机数、所述第一认证序列号、所述初始节点密钥、所述网关密钥掩码以及所述网关密钥,确定所述会话密钥。
可选的,所述方法,还包括:
响应于确定完成所述认证,获取认证序列号,并对所述认证序列号的编号进行更新。
基于同一发明构思,本申请实施例还提供了一种密钥交换装置,应用于车载网络的网关侧,包括:
请求接收模块,被配置为接收节点的认证请求;
信息确定模块,被配置为获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;
认证模块,被配置为获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;
密钥确定模块,被配置为响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;
密钥交换模块,被配置为根据所述会话密钥与所述节点进行密钥交换。
基于同一发明构思,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项所述的密钥交换方法。
基于同一发明构思,本申请实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述任一所述的密钥交换方法。
基于同一发明构思,本申请实施例还提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述任一所述的密钥交换方法。
从上面所述可以看出,本申请提供了密钥交换方法、装置、电子设备、存储介质及程序产品,其中,所述密钥交换方法包括:响应于确定完成初始化和注册,接收节点的认证请求;获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;根据所述会话密钥与所述节点进行密钥交换。本申请通过本地密钥信息和认证请求进行安全计算完成认证,进而确定会话密钥进行密钥交换,一方面可以有效保证计算过程的轻量化,另一方面还能够抵御认证过程中短期密钥资料泄漏所带来的安全威胁。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的密钥交换方法流程的示意图;
图2为本申请实施例的密钥交换方法注册阶段的流程示意图;
图3为本申请实施例的密钥交换方法认证阶段的流程示意图;
图4为本申请实施例的密钥交换装置结构示意图;
图5为本申请实施例的电子设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如背景技术部分所述,近几年随着消费者对汽车安全性和舒适性要求的进一步提高,车企越来越重视车辆的安全配置以及驾乘体验,为了实现更丰富的功能,车企向车辆内部安装的传感器和ECU(电子控制单元)数量也越来越多。同时新能源车辆的普及也将整个汽车行业带入了智能化、网联化的时代。汽车行业经过数十年的发展已经形成了一套以CAN总线协议为标准的完整开发框架。
然而,现有的CAN总线协议存在以下问题,首先,CAN总线网络内没有控制节点,在总线空闲时,所有节点都能够向总线发送消息,最先获得总线所有权的节点有线发送消息。当多节点同时发送消息时,会通过仲裁机制选择优先级更高的节点发送消息。其次,CAN总线报文中并不包含消息的源地址和目标地址,仅通过ID段标识消息的功能。在发送时,发送方向网络中广播这条消息,此时消息中的每个节点都能够监听到此条消息。接收方在监听到总线上由报文发送时会检查消息的ID,如果过滤器中配置了此条消息的ID就会保存下来并进行进一步的处理。最后,CAN协议在设计时的目标是运行在较为封闭的网络环境中,协议本身没有任何加密和认证机制来保证协议的安全,如果攻击者能够访问到总线,就能够自由的接收和发送任何消息。
因此,当CAN协议应用于不封闭的网络环境中时,就会因为缺乏安全机制而被攻击者入侵,给网络带来威胁,导致安全问题的存在,具体的,安全问题主要包括:认证过程依赖预置密钥且缺乏密钥更新机制:在实际使用中,同一密钥使用的时间和次数越长,密钥泄漏的概率也越大,最终导致车内网络的安全机制随着密钥的泄漏而瓦解,缺乏密钥更新机制使得密钥长期得不到更新,无法避免长期密钥泄漏的问题。(2)不能保证前向安全,部分安全协议仅通过对主密钥的运算就得到了会话密钥,进行密钥交换的流程中缺乏随机变量。在这类协议中,一旦攻击者成功窃取主密钥,就能够推出前面每一轮密钥交换得到的会话密钥,不能保证前面加密信息的机密性。(3)部分协议为了实现认证,向车内总线网络引入了PKI等认证体系,过大的通信开销和计算开销不能满足车内总线网络轻量级、低时延的特点,会影响到网络的正常功能。
有鉴于此,本申请实施例提供了一种密钥交换方法、装置、电子设备、存储介质及程序产品。其中,密钥交换方法,应用于车载网络的网关侧,包括:响应于确定完成初始化和注册,接收节点的认证请求;获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;根据所述会话密钥与所述节点进行密钥交换。本申请通过本地密钥信息和认证请求进行安全计算完成认证,进而确定会话密钥进行密钥交换,一方面可以有效保证计算过程的轻量化,另一方面还能够抵御认证过程中短期密钥资料泄漏所带来的安全威胁。
如图1所示,所述密钥交换方法,包括:
步骤S102、接收节点的认证请求;
步骤S104、获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;
步骤S106、获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;
步骤S108、响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;
步骤S110、根据所述会话密钥与所述节点进行密钥交换。
在步骤S102之前,本申请需要确定ECU节点是否完成了初始化和注册,在本申请中只有在完成初始化和注册后,ECU节点才可以向网关发送认证请求。其中,初始化过程具体包括:在车辆制造时通过烧录的方式向参与认证的ECU节点中预置协议相关的算法程序和每台设备唯一的身份标识,同时为网关生成一个主密钥KM;由于算法程序和密钥本身对保密性有一定的要求,因此节点的初始化要求在车辆制造过程中通过可控、可信的环境和生产设备完成。注册过程包括:初始化阶段完成后,网关和各ECU节点中将包含用于认证的身份标识和注册、认证阶段所需的密钥。
具体的,如图2所示,注册过程具体包括:ECU节点将自己的身份标识
Figure SMS_1
打包成注册请求后发送给网关,网关收到后会对注册请求进行处理。其中,注册请求的格式可以是
Figure SMS_2
在步骤S102中,网关收到ECU节点传来的请求后会为发起请求的ECU生成一系列密钥资料,包括随机数R1、初始密钥K和标识网关侧密钥槽位的ff有0或1两个值,分别表示当前哪个位置存储的密钥有效的。然后网关将计算需要发送给ECU的密钥资料,通过将初始密钥与随机数组合后哈希的方法确定节点的当前密钥K1,其中当前密钥K1为ECU生成了唯一的密钥 (生成密钥的同时,将当前密钥K1传回ECU节点),避免了真正的密钥在不可信网络中传递;最后主密钥KM通过异或运算的方式生成主密钥掩码MR。完成上述流程后,网关将得到的密钥资料打包成响应传回ECU节点,并在本地存储该ECU节点的注册信息。
需要说明的是,上述的f也可以理解为f具有指向性,用于指向密钥的存放槽位(位置),即,f=0,代表 0号槽位存放的密钥有效;f=1,代表1号槽位存放的密钥有效。其中,f=0可以表示为
Figure SMS_3
在一些可选的实施方式中,如图2所示,当0号槽位存放的密钥有效,即f=0时,即
Figure SMS_4
,首先根据随机生成器生成随机数R1和节点的初始密钥K(本申请中其他地方也称节点初始密钥),然后,根据节点的初始密钥K、密钥存放槽位f、随机数R1以及主密钥KM(本申请中其他地方也称网关密钥),通过如下所示公式确定当前密钥K1和主密钥掩码MR
Figure SMS_5
Figure SMS_6
其中,H()为哈希函数,
Figure SMS_7
为异或运算。
进一步的,当确定当前密钥K1和主密钥掩码MR后,将网关密钥KM、节点的身份标识
Figure SMS_8
、认证序列号n、节点的初始密钥K,其中,存储格式为
Figure SMS_9
。同时,将当前密钥K1、密钥存放槽位f、认证序列号n、主密钥掩码MR,以
Figure SMS_10
格式进行输出,并发送给节点。
在一些可选的实施方式中,将节点的身份标识IDGW、认证序列号n、K与接收到的认证请求进行哈希函数和异或运算,确定认证信息。
在一些可选的实施方式中,ECU收到网关发来的注册响应后,将注册响应
Figure SMS_11
中的当前密钥K1、密钥存放槽位f、认证序列号n、主密钥掩码MR、身份标识
Figure SMS_12
,以
Figure SMS_13
格式进行存储。进一步的,响应于确定完成密钥资料的存储,则注册成功。
在步骤S104中,经过初始化及注册阶段后,合法网关内都存储了认证所需的密钥资料(即本地密钥信息)和节点注册资料(即注册请求中包含的信息),因此在步骤S106中的认证阶段只需要通过一定的算法验证网关侧和节点侧双方所持有的资料,即网关侧收到的节点侧的认证信息和网关侧已存储的本地认证信息是否相同,相同即可判断参与认证的节点是合法的,否则,与收到的认证信息对应的节点则不合法。其中,本地密钥信息包括:初始节点密钥K、主密钥Km以及认证序号n。
进一步的,步骤S106中,如图3所示,认证阶段由ECU节点(即图中的子网关侧)发起,ECU(即图中的主网关侧)首先生成需要的随机数R2(即本申请中的第一随机数),并计算出用于在不可信网络环境传输密钥资料的掩码I,J(I为第一节点密钥掩码,J为第二节点密钥掩码);随后计算出F1,并将认证序列号加一后即可将计算出的密钥中间变量打包成认证请求发送给网关。其中,认证请求的格式为
Figure SMS_14
。其中,IDGW为节点的身份标识、I为第一节点密钥掩码、J为第二节点密钥掩码、MR为主密钥掩码、F1为节点发出的认证请求中的用于认证验证的验证码(验证码根据密钥资料计算确定)、f为密钥存放槽位。
具体的,根据当前密钥K1、随机数R2、认证序列n、密钥存放槽位f,通过如下所示公式确定第一节点密钥掩码I,第二节点密钥掩码J,认证验证码F1
Figure SMS_15
Figure SMS_16
Figure SMS_17
其中,H()为哈希函数,
Figure SMS_18
为异或运算。
进一步的,确认发出认证请求后,获取认证序列号n,对认证序列号的编号进行更新,即n=n+1。其中,认证序列号n=1,2,3,…,n。
在步骤S106中,网关收到来自ECU的认证请求后,会对认证请求中携带的密钥中间变量进行还原,同时结合本地储存的认证信息(也才可以称认证资料)对比验证,如果验证通过即可进行下面的密钥交换和密钥更新环节,而认证不通过则直接退出认证。其中,在对比验证环节中,网关对请求中的第一节点密钥掩码I、网关密钥掩码MR和本地存储的初始密钥K、网关密钥KM进行一系列的异或和哈希操作,能够还原出随机数R2,然后再使用掩码J、随机数R2和上一步的中间值还原出认证序列号n。此时在网关一侧也可以计算得到一个F1(记为F1*),至此只需要对比ECU携带在请求中的F1和网关本地计算出的F1*,若相同则认证通过,不同则认证失败。其中,认证请求表示为
Figure SMS_19
,网关侧存储的本地认证信息表示为
Figure SMS_20
具体的,根据第一节点密钥掩码I、初始节点密钥K、密钥存放槽位f、网关密钥掩码MR以及网关密钥KM,通过如下所示公式进行计算,确定所述节点的第一随机数R2
Figure SMS_21
其中,H()为哈希函数,
Figure SMS_22
为异或运算。
根据第一随机数R2、第二节点密钥掩码J、初始节点密钥K、密钥存放槽位f、网关密钥掩码MR以及网关密钥KM,通过如下所示公式进行计算,确定第一认证序列号n*
Figure SMS_23
其中,H()为哈希函数,
Figure SMS_24
为异或运算。
根据第一随机数R2、初始节点密钥K、密钥存放槽位f、网关密钥掩码MR、网关密钥KM以及第一认证序列号n*,通过如下所示公式进行计算,确定认证信息F1 *
Figure SMS_25
其中,H()为哈希函数,
Figure SMS_26
为异或运算,所述认证信息可以为验证码。
进一步的,当认证信息为验证码时,在确定第一随机数R2、第一认证序列号n*以及认证信息F1 *后,将认证信息F1 *(即验证码)与本地存储的认证码F1进行对比,响应于确定认证信息F1 *与本地存储的认证码F1相等,则进一步确定第一认证序列号n*是否符合预设阈值,即
Figure SMS_27
,当同时确定认证信息F1 *与本地存储的认证码F1相等,且n*符合预设阈值,则完成认证,可以继续进行后续密钥交换和密钥更新流程,否则,认证失败,退出流程。
在一些可选的实施方式中,响应于确定完成节点认证,对当前的第一认证序列号n*的编号进行+1操作,并将进行+1操作后的n*作为最新的认证序列号进行存储。
在一些可选的实施方式中,通过对比验证环节后,已经可以确认认证双方的合法性,此时可以继续进行密钥交换流程。根据前述内容可以知道,认证双方已经在本地直接或间接存储了一部分共同的密钥资料,所以只要对这些共同资料进行运算,就可以在不传输密钥本身的情况下在两边得到相同的会话密钥(也称对称密钥,同一密钥用于加密和解密),从而完成密钥的交换。在流程中会话密钥用KS表示。
在一些可选的实施方式中,在确定会话密钥时,根据第一随机数R2、更新后的认证序列n、初始节点密钥K、网关密钥掩码MR、网关密钥KM进行计算以确定会话密钥KS。其中,第一随机数R2和更新后的认证序列n在节点认证过程中计算得到,初始节点密钥K、网关密钥掩码MR、网关密钥KM从本地存储的信息中提取。
具体的,根据第一随机数R2、更新后的认证序列n、初始节点密钥K、网关密钥掩码MR以及网关密钥KM通过如下所示公式进行计算,确定会话密钥:
Figure SMS_28
其中,H()为哈希函数,
Figure SMS_29
为异或运算。
进一步的,通过会话密钥KS完成密钥交换后,为了避免协议进行过程中出现问题导致双方会话密钥不一致,在协议的实现过程中还增加了对KS计算哈希的步骤,得到的验证数值F2会随密钥更新流程的交互发送到ECU,然后在ECU同样对KS进行哈希得到F2 *后对比哈希值去验证密钥交换的正确性。
具体的,通过如下所示公式确定验证数值F2
Figure SMS_30
其中,H()为哈希函数。
在一些可选的实施方式中,为了进一步提高车载网络的安全性,协议在设计上也考虑了密钥更新的需求。在完成密钥交换后,网关会发起密钥更新流程,与注册阶段的过程类似,首先网关会选择一个随机数R3并生成一个新的密钥Knew,然后对这两个变量的组合进行哈希操作得到实际发送到ECU中存储的K1 new。由于密钥更新发生在不可信的网络环境中,在传输时不能像注册阶段一样直接传递密钥,所以协议在设计时就使K1 new与旧的密钥资料进行异或运算后得到了掩码D1,这样ECU收到D1后只需要使用相同的密钥资料再次进行异或运算就可以得到更新后的密钥K1 new
具体的,密钥更新的流程为:首先,输入先前流程还原出的R2,本地存储的K、MR、KM、生成随机数R3和新密钥Knew,然后,计算发送给ECU的更新密钥
Figure SMS_31
和掩码
Figure SMS_32
,最后,更新未使用密钥槽位中的密钥
Figure SMS_33
,并将掩码D1发送给ECU。其中,H()为哈希函数,
Figure SMS_34
为异或运算,Knew为新的密钥, R3为随机数, K1 new为更新后的密钥,K为节点的初始密钥,MR为网关密钥掩码,KM为网关密钥,R2为第一随机数,f为密钥存放槽位。
在一些可选的实施方式中,响应于确定网关完成验证、密钥交换和密钥更新流程后,将用于验证密钥交换结果的本地第二验证码F2和包含更新密钥的掩码D1打包成认证阶段的响应返回给ECU。
进一步的,ECU收到响应后通过如下所示的异或操作进行计算,还原出更新后的密钥,然后将本地生成的会话密钥KS进行哈希操作得到F2 *,若与F2一致,则证明双方密钥交换成功。最后,使用K1 new的值替换原来的K1的值,并将表示密钥槽位的f更新。
具体的,ECU收到响应后通过如下所示的异或操作进行计算,还原出更新后的密钥:
Figure SMS_35
其中, D1为掩码,K1为节点的当前密钥,R2为第一随机数,
Figure SMS_36
为异或运算。
如下所示的哈希函数进行计算,将本地生成的会话密钥KS进行哈希操作得到用于对ECU节点侧进行密钥交换的第二验证码F2 *,包括:
Figure SMS_37
其中, KS为会话密钥,H()为哈希函数。
在一些可选的实施方式中,将第二验证码F2 *与第二本地验证码F2进行比对,响应于确定第二验证码F2 *等于第二本地验证码F2,则确定ECU节点侧密钥交换成功,否则密钥交换流程失败。
进一步的,当确定密钥交换成功后对当前的节点密钥K1进行更新,并根据如下公式
Figure SMS_38
更新节点侧的密钥槽位f
从上面所述可以看出,本申请提供了密钥交换方法、装置、电子设备、存储介质及程序产品,其中,所述密钥交换方法包括:响应于确定完成初始化和注册,接收节点的认证请求;获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;其中,所述认证请求包括密钥信息;获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;根据所述会话密钥与所述节点进行密钥交换。本申请通过本地密钥信息和认证请求进行安全计算完成认证,进而确定会话密钥进行密钥交换,一方面可以有效保证计算过程的轻量化,另一方面还能够抵御认证过程中短期密钥资料泄漏所带来的安全威胁。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种密钥交换装置。
参考图4,所述密钥交换装置,包括:
请求接收模块402,被配置为接收节点的认证请求;
信息确定模块404,被配置为获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;
认证模块406,被配置为获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;
密钥确定模块408,被配置为响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;
密钥交换模块410,被配置为根据所述会话密钥与所述节点进行密钥交换。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的密钥交换方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的密钥交换方法。
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图, 该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的密钥交换方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的密钥交换方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的密钥交换方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例所述的密钥交换方法相对应的,本公开还提供了一种计算机程序产品,其包括计算机程序指令。在一些实施例中,所述计算机程序指令可以由计算机的一个或多个处理器执行以使得所述计算机和/或所述处理器执行所述的色彩矫正方法。对应于所述的色彩矫正方法各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
上述实施例的计算机程序产品用于使所述计算机和/或所述处理器执行如上任一实施例所述的密钥交换方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种密钥交换方法,其特征在于,应用于车载网络的网关侧,包括:
接收节点的认证请求;
获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;
获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;
响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;
根据所述会话密钥与所述节点进行密钥交换。
2.根据权利要求1所述的方法,其特征在于,所述认证请求包括:第一节点密钥掩码、第二节点密钥掩码、初始节点密钥存放槽位以及网关密钥掩码;
所述本地密钥信息包括:初始节点密钥、主密钥以及认证序号;
所述获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息,包括:
根据所述第一节点密钥掩码、所述第二节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定所述认证信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一节点密钥掩码、所述第二节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定所述认证信息,包括:
根据所述第一节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定所述节点的第一随机数;
根据所述第一随机数、所述第二节点密钥掩码、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码以及所述网关密钥,通过所述哈希函数和所述异或运算进行计算,确定第一认证序列号;
根据所述第一随机数、所述初始节点密钥、所述初始节点密钥存放槽位、所述网关密钥掩码、所述网关密钥以及所述第一认证序列号,通过所述哈希函数和所述异或运算进行计算,确定所述认证信息。
4.根据权利要求1所述的方法,其特征在于,所述认证信息包括验证码,所述本地认证信息包括认证码;
所述获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,根据对比结果进行节点认证,包括:
将所述验证码与所述认证码进行对比验证,确定对比结果;
响应于确定所述对比结果为所述验证码与所述认证码相同,完成所述节点认证。
5.根据权利要求3所述的方法,其特征在于,所述根据所述本地密钥信息和所述认证请求,确定会话密钥,包括:
根据所述第一随机数、所述第一认证序列号、所述初始节点密钥、所述网关密钥掩码以及所述网关密钥,确定所述会话密钥。
6.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
响应于确定完成所述认证,获取认证序列号,并对所述认证序列号的编号进行更新。
7.一种密钥交换装置,其特征在于,应用于车载网络的网关侧,包括:
请求接收模块,被配置为接收节点的认证请求;
信息确定模块,被配置为获取本地密钥信息,根据所述本地密钥信息和所述认证请求,通过哈希函数和异或运算进行计算,确定认证信息;
认证模块,被配置为获取本地认证信息,根据所述本地认证信息对所述认证信息进行对比验证,并根据对比结果进行节点认证;
密钥确定模块,被配置为响应于确定完成所述节点认证,根据所述本地密钥信息和所述认证请求,确定会话密钥;
密钥交换模块,被配置为根据所述会话密钥与所述节点进行密钥交换。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现根据权利要求1至6中任意一项所述的方法。
9.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至6中任意一项所述的方法。
10.一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的方法。
CN202310418163.0A 2023-04-19 2023-04-19 密钥交换方法、装置、电子设备、存储介质及程序产品 Active CN116155625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310418163.0A CN116155625B (zh) 2023-04-19 2023-04-19 密钥交换方法、装置、电子设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310418163.0A CN116155625B (zh) 2023-04-19 2023-04-19 密钥交换方法、装置、电子设备、存储介质及程序产品

Publications (2)

Publication Number Publication Date
CN116155625A true CN116155625A (zh) 2023-05-23
CN116155625B CN116155625B (zh) 2023-07-07

Family

ID=86350930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310418163.0A Active CN116155625B (zh) 2023-04-19 2023-04-19 密钥交换方法、装置、电子设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN116155625B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357681A (zh) * 2016-11-02 2017-01-25 合肥工业大学 一种车载远程诊断服务的安全接入与保密通信方法
CN106790053A (zh) * 2016-12-20 2017-05-31 江苏大学 一种can总线中ecu安全通信的方法
CN107204850A (zh) * 2017-06-06 2017-09-26 北京溢思得瑞智能科技研究院有限公司 一种轻量级车联网安全通信方法
US20180212937A1 (en) * 2017-01-25 2018-07-26 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and Device for Communicating Securely between T-Box Device and ECU Device in Internet of Vehicles System
CN109600747A (zh) * 2018-12-06 2019-04-09 电子科技大学 一种无线传感器网络动态凭证认证密钥协商方法
CN110351272A (zh) * 2019-07-11 2019-10-18 北京电子科技学院 一种通用的抗量子双向认证密钥协商方法(laka)
CN111478923A (zh) * 2020-04-28 2020-07-31 华为技术有限公司 访问请求的响应方法、装置和电子设备
CN112929179A (zh) * 2021-01-22 2021-06-08 西安电子科技大学 基于区块链的车联网设备身份认证及密钥协商方法
WO2022050241A1 (ja) * 2020-09-02 2022-03-10 大日本印刷株式会社 鍵共有方法、鍵共有システム、認証デバイス、認証対象デバイス、コンピュータプログラム及び認証方法
CN115694835A (zh) * 2022-10-23 2023-02-03 兰州理工大学 一种基于can的车载认证及密钥交换方法
CN115883130A (zh) * 2022-10-24 2023-03-31 广州大学 一种通过密钥的车载ecu身份认证方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357681A (zh) * 2016-11-02 2017-01-25 合肥工业大学 一种车载远程诊断服务的安全接入与保密通信方法
CN106790053A (zh) * 2016-12-20 2017-05-31 江苏大学 一种can总线中ecu安全通信的方法
US20180212937A1 (en) * 2017-01-25 2018-07-26 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and Device for Communicating Securely between T-Box Device and ECU Device in Internet of Vehicles System
CN107204850A (zh) * 2017-06-06 2017-09-26 北京溢思得瑞智能科技研究院有限公司 一种轻量级车联网安全通信方法
CN109600747A (zh) * 2018-12-06 2019-04-09 电子科技大学 一种无线传感器网络动态凭证认证密钥协商方法
CN110351272A (zh) * 2019-07-11 2019-10-18 北京电子科技学院 一种通用的抗量子双向认证密钥协商方法(laka)
CN111478923A (zh) * 2020-04-28 2020-07-31 华为技术有限公司 访问请求的响应方法、装置和电子设备
WO2022050241A1 (ja) * 2020-09-02 2022-03-10 大日本印刷株式会社 鍵共有方法、鍵共有システム、認証デバイス、認証対象デバイス、コンピュータプログラム及び認証方法
CN112929179A (zh) * 2021-01-22 2021-06-08 西安电子科技大学 基于区块链的车联网设备身份认证及密钥协商方法
CN115694835A (zh) * 2022-10-23 2023-02-03 兰州理工大学 一种基于can的车载认证及密钥交换方法
CN115883130A (zh) * 2022-10-24 2023-03-31 广州大学 一种通过密钥的车载ecu身份认证方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
QI PAN: ""A Dynamic Key Generation Scheme Based on CAN Bus"", 《2019 10TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY IN MEDICINE AND EDUCATION (ITME)》 *
YING QIU: ""Critical Analysis of New Protocols on Lightweight Authentication"", 《2018 24TH ASIA-PACIFIC CONFERENCE ON COMMUNICATIONS (APCC)》 *
王晨宇: ""面向多网关的无线传感器网络多因素认证协议"", 《计算机学报》 *

Also Published As

Publication number Publication date
CN116155625B (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
CN110678770B (zh) 定位信息验证
JP5958535B2 (ja) 認証システム及び認証方法
JP5818392B2 (ja) 無線通信装置
CN110324335B (zh) 一种基于电子移动证书的汽车软件升级方法及系统
CN107086981B (zh) 受控安全代码认证
CN112913189B (zh) 一种ota升级方法及装置
CN110896390B (zh) 一种发送消息的方法、验证消息的方法、装置及通信系统
CN111342963A (zh) 数据上链方法、数据存储方法及装置
WO2021147100A1 (zh) 报文传输方法及装置
US20180310173A1 (en) Information processing apparatus, information processing system, and information processing method
CN104904156A (zh) 认证处理装置、认证处理系统、认证处理方法以及认证处理程序
CN111654481B (zh) 一种身份认证方法、装置和存储介质
CN111491272B (zh) 一种车辆解锁方法及系统
US11265161B2 (en) System and method for computing an escrow session key and a private session key for encoding digital communications between two devices
CN114565378A (zh) Nft所有权转移方法、计算机设备和存储介质
CN116155625B (zh) 密钥交换方法、装置、电子设备、存储介质及程序产品
CN114173327B (zh) 基于5g行业专网的认证方法及终端
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
US10263976B2 (en) Method for excluding a participant from a group having authorized communication
CN111600704B (zh) 基于sm2的秘钥交换方法、系统、电子设备及存储介质
CN110881176B (zh) 用于改善车对x通信装置的利用率的方法及车对x通信装置
CN116033415A (zh) 基准站数据传输方法、装置、基准站、服务器及介质
CN114265815A (zh) 交通媒体数据存储方法、服务器、存储介质及系统
CN114978645B (zh) 基于区块链的数据处理方法、装置、服务器及存储介质
CN117176335B (zh) 基于联盟链的数据追踪方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant