本发明涉及通信,尤其涉及短距离通信,例如座舱域通信。具体涉及一种密钥更新方法及相关装置。
背景技术:
1、通信技术已经深入了人们的生活,我们在享受通信便利的同时也会面临安全漏洞和隐私泄露的威胁。为确保通信过程中数据的传输、存储安全,节点通常都会对传输的数据加密后存储或传输,接收方的节点接收到数据后解密密文,还原明文。另外,节点还可以对数据进行完整性保护(或者简称为完保),接收方的节点收到数据后回验证消息的完整性,完整性验证成功说明消息在传输过程中没有被修改。在安全的数据通信中,通信的双方必须分别具有加解密的密钥、完整性保护密钥等密钥。一旦加解密的密钥、完整性保护密钥等密钥到期或者被破解,由其加密或完保的信息就容易被泄漏,影响传输数据的安全性。
2、密钥的使用寿命是有期限的,为了保证密钥不被泄漏或破解,通常会采用密钥更新机制,即在密钥有效期快要结束时,由一个新的密钥取代旧密钥。而密钥更新过程中,节点传输的用于更新密钥的消息容易受到中间人攻击,影响数据安全性。
3、因此,如何提高密钥更新过程中的数据安全性的是本领域技术人员正在研究的问题。
技术实现思路
1、本技术实施例公开了一种密钥更新方法及相关装置,能够提高密钥更新过程中的数据安全性。
2、第一方面,本技术实施例公开了一种密钥更新方法,其特征在于,包括:
3、向第二节点发送第一密钥更新请求,其中,所述第一密钥更新请求包括第一密钥协商参数和第一身份认证信息,所述第一身份认证信息是通过第一共享密钥生成的。其中,第一共享密钥是通信双方的节点中保存的相同的秘密值,可以是主密钥、或者会话密钥、或者预共享密钥psk等,其中,会话密钥可以用来对节点传输的数据、文件进行加密或完整性保护。另外,第一身份认证信息可以是根据第一共享密钥通过密码算法生成的。其中,密码算法可以为散列算法(又称为哈希算法)或者认证算法等,如哈希运算消息认证码hmac算法(包括hmac安全散列算法hmac-sha256、hmac-sha3、或者hmac国密算法hmac-sm3等)。进一步的,密码算法还可以包括末端快速扩增race原始完整性校验消息摘要ripemd算法。
4、接收来自所述第二节点的第一响应消息,其中,所述第一响应消息包括第二身份认证信息;该第二身份认证信息的生成的原理与第一身份认证信息的原理相同,此处不再赘述。
5、通过所述第一共享密钥验证所述第二身份认证信息;
6、若第二身份认证信息验证通过,根据所述第一密钥协商参数,确定第一目标密钥。
7、上述方法中,在原有的密钥到期之前,第一节点和第二节点根据第一共享密钥生成身份认证信息,其中一个节点在接收来自另一个节点的消息后先通过身份认证信息确定另一个节点的身份,在身份认证通过后,才根据密钥协商参数进行密钥更新,得到第一目标密钥,在这种情况下,即便窃听者已经攻破了原有的会话密钥,仍然无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。
8、在第一方面的一种可能的实施方式中,所述第一密钥更新请求用于指示第一更新时间和第一目标密钥的有效期中的至少一项。
9、传统密钥更新过程中,更新密钥的时间是协议中预先定义好的,不能灵活选择。而本技术的密钥更新方法中,第一节点可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并指示给第二节点,有利于按需求来决定何时启用第一目标密钥。
10、在第一方面的又一种可能的实施方式中,所述第一密钥更新请求包括第一帧号,所述第一帧号通过多个比特指示,例如f个比特。所述第一密钥更新请求用于通过所述第一帧号指示所述第一更新时间。可替代的,所述第一密钥更新请求包括媒体接入控制序列号(mac sn),所述mac sn通过m个比特指示,所述m个比特为所述f个比特中的部分比特,m小于f。具体的,用于指示所述第一帧号的多个比特包含两个部分:高位部分和低位部分,其中所述低位部分为用于指示所述mac sn的m个比特。所述高位部分通过n个比特指示。可选的,所述n个比特为用于指示超帧号的多个比特。通过该可替代的方式,可以在密钥更新请求中携带尽可能少的信息,减少信令消耗,提供通信效率。
11、在第一方面的又一种可能的实施方式中,所述第一目标密钥应用于从所述第一更新时间开始的所述第一目标密钥的有效期内。
12、在第一方面的又一种可能的实施方式中,所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息还包括第二密钥协商算法参数;所述根据所述第一密钥协商参数,确定第一目标密钥,包括:
13、根据所述第一密钥协商算法参数和所述第二密钥协商算法参数,生成所述第一目标密钥。
14、其中,第一密钥协商算法参数和第二密钥协商算法参数是密钥协商过程中产生的算法参数。而密钥协商是通信双方通过交互一部分参数,从而协商得到密钥的过程。用于密钥协商的算法称为密钥协商算法,也可以称为密钥交换算法。本技术实施例中,第一节点生成第一密钥协商算法参数,第二节点生成第二密钥协商算法参数,通过双方提供的密钥协商算法参数确定第一目标密钥。其中,以dh算法为例,两个节点使用同一个大素数p和生成数g,各自产生的随机数a和b。第一节点将g的a次方mod p产生的数值a发送给第二节点,第二节点将g的b次方mod p产生的数值b发送给第一节点,第一节点再对接收的数值a做a次方运算,第二节点对接收的数值b做a次方运算,由于k=ab mod p=(ga mod p)b mod p=gabmod p=(gb mod p)a mod p=ba mod p,因此第一节点与第二节点生成的密钥k是相同的。
15、在第一方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;所述根据所述第一密钥协商参数,确定第一目标密钥,包括:
16、根据第二目标密钥和所述新鲜参数,生成所述第一目标密钥。
17、其中,第二目标密钥可以是第一节点与第二节点中共享的一个秘密值,也可以称为第一节点与第二节点的共享密钥,包括主密钥、会话密钥和预共享密钥psk等。另外,根据第二目标密钥和所述新鲜参数,可以通过密钥派生算法kdf生成所述第一目标密钥。例如,通过秘密值key派生的新密钥dk可以表示为:dk=kdf(key,fresh)。其中,fresh是新鲜参数,用于更新的参数,可以包括计数器值(counter)、序列号(number)、随机值(rand)、帧号(frame number)等等。
18、在第一方面的又一种可能的实施方式中,所述第一目标密钥为主密钥。
19、主密钥是节点中等级较高的一个秘密值,主要用于对会话密钥等密钥的保护。在一种可选的方案中,会话密钥是根据主密钥通过密钥派生函数(key derivationfunction,kdf)得到的。可选的,主密钥可以对会话密钥进行加密。
20、在第一方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;所述根据所述第一密钥协商参数,确定第一目标密钥,包括:
21、根据第二目标密钥、所述新鲜参数和算法标识,生成所述第一目标密钥,所述算法标识用于标记确定加密密钥或者完整性保护密钥所使用的算法。
22、在第一方面的又一种可能的实施方式中,所述第一目标密钥为完整性保护密钥或者加密密钥。
23、在第一方面的又一种可能的实施方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据第二目标密钥确定的加密密钥加密,和/或,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据所述第二目标密钥确定的完整性保护密钥进行完整性保护。
24、可以理解,传统的密钥更新方法是在旧密钥(即第二目标密钥)到期时更新密钥,由于第二目标密钥已到期,因此确定新密钥的过程没有进行加密和完整性保护。而本技术实施例中,可以在第二目标密钥到期之前确定第一目标密钥,因此第一密钥更新请求和第一响应消息可以使用根据第二目标密钥确定的密钥进行加密,从而提高了数据安全性。
25、在第一方面的又一种可能的实施方式中,所述向第二节点发送第一密钥更新请求,包括:通过第一通信帧向第二节点发送第一密钥更新请求,其中,所述第一通信帧的第二帧号小于上一次更新密钥时用到的密钥更新请求中携带的第三帧号,所述第三帧号用于指示上一次更新的密钥的启动时间,所述第一帧号大于所述第二帧号且小于所述第三帧号。由于对通信过程中的通信帧进行安全保护时,使用的加密方法可以是根据帧号和上次更新的密钥进行加密的,因此,在帧号重复到上一次更新密钥的帧号之前确定第一目标密钥,从而通过第一目标密钥来加密数据帧,这样可以使得两次相同的帧号的数据帧是通过不同的密钥进行加密的,提高了数据的安全性。在可替代的方案中,所述第一密钥更新请求包括mac序列号(mac sn),并非所述第一帧号,所述mac sn通过m个比特指示,所述m个比特为所述f个比特中的部分比特,m小于f。那么可替代的,上一次更新密钥时用到的密钥更新请求中携带的第三帧号也可以替代为mac sn,即用于指示所述第三帧号的多个比特中的部分比特所指示的mac sn。在该可替代的方案中,第一、第二以及第三帧号之间的大小关系不变。具体的,用于指示所述第一帧号的多个比特包含两个部分:高位部分和低位部分,其中所述低位部分为用于指示所述mac sn的m个比特。所述高位部分通过n个比特指示。可选的,所述n个比特为用于指示超帧号的多个比特。通过该可替代的方式,可以在密钥更新请求中携带尽可能少的信息,减少信令消耗,提供通信效率。
26、在第一方面的又一种可能的实施方式中,所述通信帧包括信令面上行帧、信令面下行帧、用户面上行帧或者用户面下行帧中的至少一项。进一步,本技术中所涉及的帧号为所述通信帧的帧号。
27、在第一方面的又一种可能的实施方式中,所述方法还包括:
28、若第二身份信息验证不通过,则断开与第二节点之间的通信连接或向第二节点发送更新失败的信息。
29、可以看出,若第二身份认证信息验证不通过,表明第二节点的身份不可信,因此第一节点可以断开与第二节点之间的通信连接或向第二节点发送更新失败的信息,便于重新向需要进行密钥更新的节点发起接入请求,从而保证了密钥更新过程中的数据安全性。
30、在第一方面的又一种可能的实施方式中,所述通过所述第一共享密钥验证所述第二身份认证信息之前,还包括:
31、对所述第一响应消息进行完整性验证;
32、若完整性验证通过,则继续执行所述通过所述第一共享密钥验证所述第二身份认证信息这一步骤;
33、若完整性验证不通过,则断开与第二节点之间的通信连接或向第二节点发送更新失败的信息。
34、上述方法中在验证身份信息之前,第一节点先对第一响应消息进行完整性验证,确定第一响应消息中的信息没有被篡改。若完整性验证不通过,表明第一响应信息中的数据已经被篡改,不能继续更新密钥,因此第一节点断开与第二节点之间的通信连接或向第二节点发送更新失败的信息,便于第一节点重新接入需要进行密钥更新的节点,也保证了密钥更新过程中的数据安全性。
35、第二方面,本技术实施例公开了一种密钥更新方法,其特征在于,包括:
36、接收来自第一节点的第一密钥更新请求,其中,所述第一密钥更新请求包括第一密钥协商参数和第一身份认证信息;其中,第一身份认证信息可以是根据第一共享密钥通过密码算法生成的。其中,密码算法可以为散列算法(又称为哈希算法),或者认证算法等,如哈希运算消息认证码hmac算法(包括hmac安全散列算法hmac-sha256、hmac-sha3、或者hma国密算法hmac-sm3等)。进一步的,密码算法还可以包括末端快速扩增race原始完整性校验消息摘要ripemd算法。
37、通过第一共享密钥验证所述第一身份认证信息;其中,第一共享密钥是通信双方的节点中保存的相同的秘密值,可以是主密钥、或者会话密钥、或者预共享密钥psk等,其中,会话密钥可以用来对节点传输的数据、文件进行加密或完整性保护。另外,第一身份认证信息是根据第一共享密钥通过密码算法生成的,因此第二节点可以根据该第一共享通过密码算法来验证第一身份认证信息。若第一身份认证信息验证通过,根据所述第一密钥协商参数,确定第一目标密钥;
38、向所述第一节点发送第一响应消息,其中,所述第一响应消息包括第二身份认证信息,所述第二身份认证信息是通过所述第一共享密钥生成的;该第二身份认证信息的生成的原理与第一身份认证信息的原理相同,此处不再赘述。
39、上述方法中,在原有的会话密钥到期之前,第一节点和第二节点根据第一共享密钥生成身份认证信息,其中一个节点在接收来自另一个节点的消息后先通过身份认证信息确定另一个节点的身份,在身份认证通过后,才根据密钥协商参数进行密钥更新,得到第一目标密钥,在这种情况下,即便窃听者已经攻破了原有的会话密钥,仍然无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。
40、在第二方面的一种可能的实施方式中,所述第一密钥更新请求用于指示第一更新时间和第一目标密钥的有效期中的至少一项。
41、传统密钥更新过程中,更新密钥的时间是协议中预先定义好的,不能灵活选择。而本技术的密钥更新方法中,第一节点可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并指示给第二节点,有利于按需求来决定何时启用第一目标密钥。
42、在第二方面的又一种可能的实施方式中,所述第一密钥更新请求中包括第一帧号,所述第一密钥更新请求通过所述第一帧号指示所述第一更新时间。所述第一帧号通过多个比特指示,例如f个比特。可替代的,所述第一密钥更新请求包括媒体接入控制序列号(mac sn),所述mac sn通过m个比特指示,所述m个比特为所述f个比特中的部分比特,m小于f。具体的,用于指示所述第一帧号的多个比特包含两个部分:高位部分和低位部分,其中所述低位部分为用于指示所述mac sn的m个比特。所述高位部分通过n个比特指示。可选的,所述n个比特为用于指示超帧号的多个比特。通过该可替代的方式,可以在密钥更新请求中携带尽可能少的信息,减少信令消耗,提供通信效率。
43、在第二方面的又一种可能的实施方式中,所述第一目标密钥应用于从所述第一更新时间开始的所述第一目标密钥的有效期内。
44、在第二方面的又一种可能的实施方式中,所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息还包括第二密钥协商算法参数;所述根据所述第一密钥协商参数,确定第一目标密钥,包括:
45、根据所述第一密钥协商算法参数和所述第二密钥协商算法参数,生成所述第一目标密钥。
46、其中,第一密钥协商算法参数和第二密钥协商算法参数是密钥协商过程中产生的算法参数。而密钥协商是通信双方通过交互一部分参数,从而协商得到密钥的过程。用于密钥协商的算法称为密钥协商算法,也可以称为密钥交换算法。本技术实施例中,第一节点生成第一密钥协商算法参数,第二节点生成第二密钥协商算法参数,通过双方提供的密钥协商算法参数确定第一目标密钥。其中,以dh算法为例,两个节点使用同一个大素数p和生成数g,各自产生的随机数a和b。第一节点将g的a次方mod p产生的数值a发送给第二节点,第二节点将g的b次方mod p产生的数值b发送给第一节点,第一节点再对接收的数值a做a次方运算,第二节点对接收的数值b做a次方运算,由于k=ab mod p=(ga mod p)b mod p=gabmod p=(gb mod p)a mod p=ba mod p,因此第一节点与第二节点生成的密钥k是相同的。
47、在第二方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;所述根据所述第一密钥协商参数,确定第一目标密钥,包括:
48、根据第二目标密钥和所述新鲜参数,生成所述第一目标密钥。
49、其中,第二目标密钥可以是第一节点与第二节点中的一个共享密钥,包括主密钥、会话密钥和预共享密钥psk等。另外,根据第二目标密钥和所述新鲜参数,可以通过密钥派生算法kdf生成所述第一目标密钥。例如,通过秘密值key派生的新密钥dk可以表示为:dk=kdf(key,fresh)。其中,fresh是新鲜参数,用于更新的参数,可以包括计数器值(counter)、序列号(number)、随机值(rand)、帧号(frame number)等等。
50、在第二方面的又一种可能的实施方式中,所述第一目标密钥为主密钥。
51、主密钥是节点中等级较高的一个秘密值,主要用于对会话密钥等密钥的保护。在一种可选的方案中,会话密钥是根据主密钥通过密钥派生函数(key derivationfunction,kdf)得到的。可选的,主密钥可以对会话密钥进行加密。
52、在第二方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;所述根据所述第一密钥协商参数,确定第一目标密钥,包括:
53、根据第二目标密钥、所述新鲜参数和算法标识,生成所述第一目标密钥,所述算法标识用于标记确定加密密钥或者完整性保护密钥所使用的算法。
54、在第二方面的又一种可能的实施方式中,所述第一目标密钥为完整性保护密钥或者加密密钥。
55、在第二方面的又一种可能的实施方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据第二目标密钥确定的加密密钥加密,和/或,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据所述第二目标密钥确定的完整性保护密钥进行完整性保护。
56、可以理解,传统的密钥更新方法是在旧密钥(即第二目标密钥)到期时更新密钥,由于第二目标密钥已到期,因此确定新密钥的过程没有进行加密和完整性保护。而本技术实施例中,可以在第二目标密钥到期之前确定第一目标密钥,因此第一密钥更新请求和第一响应消息可以使用根据第二目标密钥确定的密钥进行加密,从而提高了数据安全性。
57、在第二方面的又一种可能的实施方式中,所述方法还包括:
58、若第一身份信息验证不通过,则断开与第一节点的连接或向第一节点发送更新指示更新失败的信息。
59、可以看出,若第一身份认证信息验证不通过,表明第二节点的身份不可信,因此第二节点可以断开与第一节点的连接或向第一节点发送更新指示更新失败的信息,从而停止此次密钥过程,以保证密钥更新过程中第二节点的数据安全性。
60、在第二方面的又一种可能的实施方式中,所述通过所述第一共享密钥验证所述第一身份认证信息之前,还包括:
61、对所述第一密钥更新请求进行完整性验证;
62、若完整性验证通过,则继续执行所述通过所述第一共享密钥验证所述第二身份认证信息这一步骤;
63、若完整性验证不通过,则断开与第一节点的连接或者向第一节点发送更新指示更新失败的信息。
64、上述方法中,在验证身份信息之前,第二节点先对第一密钥更新请求进行完整性验证,确定第一密钥更新请求中的信息没有被篡改。若完整性验证不通过,表明第一密钥更新请求中的数据已经被篡改,不能继续更新密钥,因此第二节点可以断开与第一节点的连接或者向第一节点发送更新指示更新失败的信息,保证了密钥更新过程中的数据安全性。
65、第三方面,本技术实施例公开一种装置,包括:
66、发送单元,用于向第二节点发送第一密钥更新请求,其中,所述第一密钥更新请求包括第一密钥协商参数和第一身份认证信息,所述第一身份认证信息是通过第一共享密钥生成的;
67、接收单元,用于接收来自所述第二节点的第一响应消息,其中,所述第一响应消息包括第二身份认证信息;
68、验证单元,用于通过所述第一共享密钥验证所述第二身份认证信息;
69、确定单元,用于若第二身份认证信息验证通过,根据所述第一密钥协商参数,确定第一目标密钥。
70、在密钥更新过程中,上述节点和第二节点根据第一共享密钥生成身份认证信息,其中一个节点在接收来自另一个节点的消息后先通过身份认证信息确定另一个节点的身份,在身份认证通过后,才根据密钥协商参数进行密钥更新,得到第一目标密钥,在这种情况下,即便窃听者已经攻破了原有的会话密钥,仍然无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。
71、在第三方面的一种可能的实施方式中,所述第一密钥更新请求用于指示第一更新时间和第一目标密钥的有效期中的至少一项。
72、传统密钥更新过程中,更新密钥的时间是协议中预先定义好的,不能灵活选择。而本技术提供的所述节点,可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并指示给第二节点,有利于按需求来决定何时启用第一目标密钥。
73、在第三方面的又一种可能的实施方式中,所述第一密钥更新请求中包括第一帧号,所述第一密钥更新请求通过所述第一帧号指示所述第一更新时间。所述第一帧号通过多个比特指示,例如f个比特。可替代的,所述第一密钥更新请求包括媒体接入控制序列号(mac sn),所述mac sn通过m个比特指示,所述m个比特为所述f个比特中的部分比特,m小于f。具体的,用于指示所述第一帧号的多个比特包含两个部分:高位部分和低位部分,其中所述低位部分为用于指示所述mac sn的m个比特。所述高位部分通过n个比特指示。可选的,所述n个比特为用于指示超帧号的多个比特。通过该可替代的方式,可以在密钥更新请求中携带尽可能少的信息,减少信令消耗,提供通信效率。
74、在第三方面的又一种可能的实施方式中,所述第一目标密钥应用于从所述第一更新时间开始的所述第一目标密钥的有效期内。
75、在第三方面的又一种可能的实施方式中,所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息还包括第二密钥协商算法参数;所述确定单元,用于根据所述第一密钥协商算法参数和所述第二密钥协商算法参数,生成所述第一目标密钥。
76、在第三方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;所述确定单元,用于根据第二目标密钥和所述新鲜参数,生成所述第一目标密钥。
77、其中,第二目标密钥可以是第一节点与第二节点中的一个共享密钥,包括主密钥、会话密钥和预共享密钥psk等。另外,根据第二目标密钥和所述新鲜参数,可以通过密钥派生算法kdf生成所述第一目标密钥。例如,通过秘密值key派生的新密钥dk可以表示为:dk=kdf(key,fresh)。其中,fresh是新鲜参数,用于更新的参数,可以包括计数器值(counter)、序列号(number)、随机值(rand)、帧号(frame number)等等。
78、在第三方面的又一种可能的实施方式中,所述第一目标密钥为所述节点的主密钥。
79、在第三方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;所述确定单元,用于根据第二目标密钥、所述新鲜参数和算法标识,生成所述第一目标密钥,所述算法标识用于标记确定加密密钥或者完整性保护密钥所使用的算法。
80、在第三方面的又一种可能的实施方式中,所述第一目标密钥为所述节点的完整性保护密钥或者加密密钥。
81、在第三方面的又一种可能的实施方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据第二目标密钥确定的加密密钥加密,和/或,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据所述第二目标密钥确定的完整性保护密钥进行完整性保护。
82、可以理解,传统的密钥更新方法是在旧密钥到期时更新密钥,由于第二目标密钥已到期,因此确定新密钥的过程没有进行加密和完整性保护。而本技术实施例提供的所述节点,可以在密钥到期之前确定第一目标密钥,因此第一密钥更新请求和第一响应消息可以使用根据第二目标密钥确定的密钥进行加密,从而提高了数据安全性。
83、在第三方面的又一种可能的实施方式中,所述发送单元,用于通过第一通信帧向第二节点发送第一密钥更新请求,其中,所述第一通信帧的第二帧号小于上一次更新密钥时用到的密钥更新请求中携带的第三帧号,所述第三帧号用于指示上一次更新的密钥的启动时间,所述第一帧号大于所述第二帧号且小于所述第三帧号。
84、由于对通信过程中的通信帧进行安全保护时,使用的加密方法可以是根据帧号和上次更新的密钥进行加密的,因此,在帧号重复到上一次更新密钥的帧号之前确定第一目标密钥,从而通过第一目标密钥来加密数据帧,这样可以使得两次相同的帧号的数据帧是通过不同的密钥进行加密的,提高了数据的安全性。在可替代的方案中,所述第一密钥更新请求包括mac序列号(mac sn),并非所述第一帧号,所述mac sn通过m个比特指示,所述m个比特为所述f个比特中的部分比特,m小于f。那么可替代的,上一次更新密钥时用到的密钥更新请求中携带的第三帧号也可以替代为mac sn,即用于指示所述第三帧号的多个比特中的部分比特所指示的mac sn。在该可替代的方案中,第一、第二以及第三帧号之间的大小关系不变。具体的,用于指示所述第一帧号的多个比特包含两个部分:高位部分和低位部分,其中所述低位部分为用于指示所述mac sn的m个比特。所述高位部分通过n个比特指示。可选的,所述n个比特为用于指示超帧号的多个比特。通过该可替代的方式,可以在密钥更新请求中携带尽可能少的信息,减少信令消耗,提供通信效率。
85、在第三方面的又一种可能的实施方式中,所述通信帧包括信令面上行帧、信令面下行帧、用户面上行帧或者用户面下行帧中的至少一项。
86、在第三方面的又一种可能的实施方式中,若第二身份信息验证不通过,则所述发送单元与所述接收单元断开与第二节点之间的通信连接或向第二节点发送更新失败的信息。
87、可以看出,若第二身份认证信息验证不通过,表明第二节点的身份不可信,因此上述节点可以断开与第二节点之间的通信连接或向第二节点发送更新失败的信息,便于重新向需要进行密钥更新的节点发起接入请求,从而保证了密钥更新过程中的数据安全性。
88、在第三方面的又一种可能的实施方式中,所述验证单元还用于对所述第一响应消息进行完整性验证;若完整性验证通过则继续执行所述通过所述第一共享密钥验证所述第二身份认证信息这一步骤;
89、若完整性验证不通过,则所述发送单元和所述接收单元断开与第二节点之间的通信连接或向第二节点发送更新失败的信息或者通过所述发送单元向第二节点发送更新失败的信息。
90、所述节点可以在验证身份信息之前,先对第一响应消息进行完整性验证,确定第一响应消息中的信息没有被篡改。若完整性验证不通过,表明第一响应信息中的数据已经被篡改,不能继续更新密钥,因此所述节点断开与第二节点之间的通信连接或向第二节点发送更新失败的信息,便于所述节点重新接入需要进行密钥更新的节点,也保证了密钥更新过程中的数据安全性。
91、第四方面,本技术实施例公开了一种装置,包括
92、接收单元,用于接收来自第一节点的第一密钥更新请求,其中,所述第一密钥更新请求包括第一密钥协商参数和第一身份认证信息;
93、验证单元,用于通过第一共享密钥验证所述第一身份认证信息;
94、确定单元,用于若第一身份认证信息验证通过,根据所述第一密钥协商参数,确定第一目标密钥;
95、发送单元,用于向所述第一节点发送第一响应消息,其中,所述第一响应消息包括第二身份认证信息,所述第二身份认证信息是通过所述第一共享密钥生成的。
96、在原有的会话密钥到期之前,上述节点和第一节点根据第一共享密钥生成身份认证信息,其中一个节点在接收来自另一个节点的消息后先通过身份认证信息确定另一个节点的身份,在身份认证通过后,才根据密钥协商参数进行密钥更新,得到第一目标密钥,在这种情况下,即便窃听者已经攻破了原有的会话密钥,仍然无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。
97、在第四方面的一种可能的实施方式中,所述第一密钥更新请求用于指示第一更新时间和第一目标密钥的有效期中的至少一项。
98、传统密钥更新过程中,更新密钥的时间是协议中预先定义好的,不能灵活选择。而本技术的密钥更新方法中,第一节点可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并指示给所述节点,这样有利于按需求来决定何时启用第一目标密钥。
99、在第四方面的一种可能的实施方式中,所述第一密钥更新请求中包括第一帧号,所述第一密钥更新请求通过所述第一帧号指示所述第一更新时间。所述第一帧号通过多个比特指示,例如f个比特。可替代的,所述第一密钥更新请求包括媒体接入控制序列号(macsn),所述mac sn通过m个比特指示,所述m个比特为所述f个比特中的部分比特,m小于f。具体的,用于指示所述第一帧号的多个比特包含两个部分:高位部分和低位部分,其中所述低位部分为用于指示所述mac sn的m个比特。所述高位部分通过n个比特指示。可选的,所述n个比特为用于指示超帧号的多个比特。通过该可替代的方式,可以在密钥更新请求中携带尽可能少的信息,减少信令消耗,提供通信效率。
100、在第四方面的又一种可能的实施方式中,所述第一目标密钥应用于从所述第一更新时间开始的所述第一目标密钥的有效期内。
101、在第四方面的又一种可能的实施方式中,所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息包括第二密钥协商算法参数;所述确定单元,用于根据所述第一密钥协商算法参数和所述第二密钥协商算法参数,生成所述第一目标密钥。
102、在第四方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;所述确定单元,用于根据第二目标密钥和所述新鲜参数,生成所述第一目标密钥。
103、其中,第二目标密钥可以是第一节点与第二节点中的一个共享密钥,包括主密钥、会话密钥和预共享密钥psk等。另外,根据第二目标密钥和所述新鲜参数,可以通过密钥派生算法kdf生成所述第一目标密钥。例如,通过秘密值key派生的新密钥dk可以表示为:dk=kdf(key,fresh)。其中,fresh是新鲜参数,用于更新的参数,可以包括计数器值(counter)、序列号(number)、随机值(rand)、帧号(frame number)等等。
104、在第四方面的又一种可能的实施方式中,所述第一目标密钥为所述节点的主密钥。
105、在第四方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;所述确定单元,用于根据第二目标密钥、所述新鲜参数和算法标识,生成所述第一目标密钥,所述算法标识用于标识确定所述加密密钥或者所述完整性保护密钥所使用的算法。
106、在第四方面的又一种可能的实施方式中,所述第一目标密钥为所述第二节点的完整性保护密钥或者加密密钥。在第四方面的又一种可能的实施方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据第二目标密钥确定的加密密钥加密,和/或,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据所述第二目标密钥确定的完整性保护密钥进行完整性保护。
107、可以理解,传统的密钥更新方法是在旧密钥到期时更新密钥,由于第二目标密钥已到期,因此确定新密钥的过程没有进行加密和完整性保护。而本技术实施例中,可以在密钥到期之前确定第一目标密钥,因此第一密钥更新请求和第一响应消息可以使用根据第二目标密钥确定的密钥进行加密,从而提高了数据安全性。
108、在第四方面的又一种可能的实施方式中,若第一身份信息验证不通过,则所述发送单元与所述接收单元断开与第一节点的连接或通过所述发送单元向第一节点发送更新指示更新失败的信息。
109、可以看出,若第一身份认证信息验证不通过,表明第二节点的身份不可信,因此所述节点可以断开与第一节点的连接或向第一节点发送更新指示更新失败的信息,从而停止此次密钥过程,以保证密钥更新过程中节点的数据安全性。
110、在第四方面的又一种可能的实施方式中,所述验证单元,还用于对所述第一密钥更新请求进行完整性验证;若完整性验证通过则继续执行所述通过所述第一共享密钥验证所述第二身份认证信息这一步骤;
111、若完整性验证不通过,则所述节点断开与第一节点的连接或者向通过所述发送单元向第一节点发送更新指示更新失败的信息。
112、在验证身份信息之前,上述节点先对第一密钥更新请求进行完整性验证,确定第一密钥更新请求中的信息没有被篡改。若完整性验证不通过,表明第一密钥更新请求中的数据已经被篡改,不能继续更新密钥,因此上述节点可以断开与第一节点的连接或者向第一节点发送更新指示更新失败的信息,保证了密钥更新过程中的数据安全性。
113、第五方面,本技术实施例公开一种装置,所述节点包括存储器、处理器和通信接口,所述存储器中存储有计算器程序,所述处理器调用所述存储器中存储的计算机程序,用于执行如下操作:
114、通过所述通信接口向第二节点发送第一密钥更新请求,其中,所述第一密钥更新请求包括第一密钥协商参数和第一身份认证信息,所述第一身份认证信息是通过第一共享密钥生成的;
115、通过所述通信接口接收来自所述第二节点的第一响应消息,其中,所述第一响应消息包括第二身份认证信息;
116、通过所述第一共享密钥验证所述第二身份认证信息;
117、若第二身份认证信息验证通过,根据所述第一密钥协商参数,确定第一目标密钥。
118、在密钥更新过程中,上述节点和第二节点根据第一共享密钥生成身份认证信息,其中一个节点在接收来自另一个节点的消息后先通过身份认证信息确定另一个节点的身份,在身份认证通过后,才根据密钥协商参数进行密钥更新,得到第一目标密钥,在这种情况下,即便窃听者已经攻破了原有的会话密钥,仍然无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。
119、在第五方面的一种可能的实施方式中,所述第一密钥更新请求用于指示第一更新时间和第一目标密钥的有效期中的至少一项。
120、传统密钥更新过程中,更新密钥的时间是协议中预先定义好的,不能灵活选择。而本技术所提供的所述节点,可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并指示给第二节点,有利于按需求来决定何时启用第一目标密钥。
121、在第五方面的又一种可能的实施方式中,所述第一密钥更新请求中包括第一帧号,所述第一密钥更新请求通过所述第一帧号指示所述第一更新时间。所述第一帧号通过多个比特指示,例如f个比特。可替代的,所述第一密钥更新请求包括媒体接入控制序列号(mac sn),所述mac sn通过m个比特指示,所述m个比特为所述f个比特中的部分比特,m小于f。具体的,用于指示所述第一帧号的多个比特包含两个部分:高位部分和低位部分,其中所述低位部分为用于指示所述mac sn的m个比特。所述高位部分通过n个比特指示。可选的,所述n个比特为用于指示超帧号的多个比特。通过该可替代的方式,可以在密钥更新请求中携带尽可能少的信息,减少信令消耗,提供通信效率。
122、在第五方面的又一种可能的实施方式中,所述第一目标密钥应用于从所述第一更新时间开始的所述第一目标密钥的有效期内。
123、在第五方面的又一种可能的实施方式中,所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息还包括第二密钥协商算法参数;在根据所述第一密钥协商参数,确定第一目标密钥方面,所述处理器具体用于:
124、根据所述第一密钥协商算法参数和所述第二密钥协商算法参数,生成所述第一目标密钥。
125、在第五方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;在根据所述第一密钥协商参数,确定第一目标密钥方面,所述处理器具体用于:
126、根据第二目标密钥和所述新鲜参数,生成所述第一目标密钥。
127、其中,第二目标密钥可以是第一节点与第二节点中的一个共享密钥,包括主密钥、会话密钥和预共享密钥psk等。另外,根据第二目标密钥和所述新鲜参数,可以通过密钥派生算法kdf生成所述第一目标密钥。例如,通过秘密值key派生的新密钥dk可以表示为:dk=kdf(key,fresh)。其中,fresh是新鲜参数,用于更新的参数,可以包括计数器值(counter)、序列号(number)、随机值(rand)、帧号(frame number)等等。
128、在第五方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;在用于根据所述第一密钥协商参数,确定第一目标密钥方面,所述处理器具体用于:
129、在第五方面的又一种可能的实施方式中,所述第一目标密钥为所述节点的主密钥。
130、根据第二目标密钥、所述新鲜参数和算法标识,生成所述第一目标密钥,所述算法标识用于标记确定加密密钥或者完整性保护密钥所使用的算法。
131、在第五方面的又一种可能的实施方式中,所述第一目标密钥为所述节点的完整性保护密钥或者加密密钥。
132、在第五方面的又一种可能的实施方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据第二目标密钥确定的加密密钥加密,和/或,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据所述第二目标密钥确定的完整性保护密钥进行完整性保护。
133、可以理解,传统的密钥更新方法是在旧密钥到期时更新密钥,由于第二目标密钥已到期,因此确定新密钥的过程没有进行加密和完整性保护。而本技术实施例中,可以在密钥到期之前确定第一目标密钥,因此第一密钥更新请求和第一响应消息可以使用根据第二目标密钥确定的密钥进行加密,从而提高了数据安全性。
134、在第五方面的又一种可能的实施方式中,所述通信接口通过第一通信帧向第二节点发送第一密钥更新请求,其中,所述第一通信帧的第二帧号小于上一次更新密钥时用到的密钥更新请求中携带的第三帧号,所述第三帧号用于指示上一次更新的密钥的启动时间,所述第一帧号大于所述第二帧号且小于所述第三帧号。
135、由于对通信过程中的通信帧进行安全保护时,使用的加密方法可以是根据帧号和上次更新的密钥进行加密的,因此,在帧号重复到上一次更新密钥的帧号之前确定第一目标密钥,从而通过第一目标密钥来加密数据帧,这样可以使得两次相同的帧号的数据帧是通过不同的密钥进行加密的,提高了数据的安全性。在可替代的方案中,所述第一密钥更新请求包括mac序列号(mac sn),并非所述第一帧号,所述mac sn通过m个比特指示,所述m个比特为所述f个比特中的部分比特,m小于f。那么可替代的,上一次更新密钥时用到的密钥更新请求中携带的第三帧号也可以替代为mac sn,即用于指示所述第三帧号的多个比特中的部分比特所指示的mac sn。在该可替代的方案中,第一、第二以及第三帧号之间的大小关系不变。具体的,用于指示所述第一帧号的多个比特包含两个部分:高位部分和低位部分,其中所述低位部分为用于指示所述mac sn的m个比特。所述高位部分通过n个比特指示。可选的,所述n个比特为用于指示超帧号的多个比特。通过该可替代的方式,可以在密钥更新请求中携带尽可能少的信息,减少信令消耗,提供通信效率。
136、在第五方面的又一种可能的实施方式中,所述通信帧包括信令面上行帧、信令面下行帧、用户面上行帧或者用户面下行帧中的至少一项。
137、在第五方面的又一种可能的实施方式中,所述处理器,还用于若第二身份信息验证不通过,则指示通信接口断开与第二节点之间的通信连接或者通过所述通信接口向第二节点发送更新失败的信息。
138、可以看出,若第二身份认证信息验证不通过,表明第二节点的身份不可信,因此上述节点可以断开与第二节点之间的通信连接或向第二节点发送更新失败的信息,便于重新向需要进行密钥更新的节点发起接入请求,从而保证了密钥更新过程中的数据安全性。
139、在第五方面的又一种可能的实施方式中,在接收来自第二节点的第一响应消息之后,所述处理器还用于:对所述第一响应消息进行完整性验证;若完整性验证通过则继续执行所述通过所述第一共享密钥验证所述第二身份认证信息这一步骤;
140、所述处理器还用于若完整性验证不通过,则指示通信接口断开与第二节点之间的通信连接或者通过所述通信接口向第二节点发送更新失败的信息。
141、可以看出,完整性验证可以确定信息是否被篡改过,因此在验证身份信息之前,上述节点先对第一响应消息进行完整性验证,确定第一响应消息中的信息没有被篡改。若完整性验证不通过,表明第一响应信息中的数据已经被篡改,不能继续更新密钥,因此所述节点断开与第二节点之间的通信连接或向第二节点发送更新失败的信息,便于所述节点重新接入需要进行密钥更新的节点,也保证了密钥更新过程中的数据安全性。
142、第六方面,本技术实施例公开一种装置,所述节点包括存储器、处理器和通信接口,所述存储器中存储有计算器程序,所述处理器调用所述存储器中存储的计算机程序,用于执行如下操作:
143、通过所述通信接口向第二节点发送第一密钥更新请求,其中,所述第一密钥更新请求包括第一密钥协商参数和第一身份认证信息,所述第一身份认证信息是通过第一共享密钥生成的;
144、通过所述通信接口接收来自所述第二节点的第一响应消息,其中,所述第一响应消息包括第二身份认证信息;
145、通过所述第一共享密钥验证所述第二身份认证信息;
146、若第二身份认证信息验证通过,根据所述第一密钥协商参数,确定第一目标密钥。
147、在原有的会话密钥到期之前,上述节点和第一节点根据第一共享密钥生成身份认证信息,其中一个节点在接收来自另一个节点的消息后先通过身份认证信息确定另一个节点的身份,在身份认证通过后,才根据密钥协商参数进行密钥更新,得到第一目标密钥,在这种情况下,即便窃听者已经攻破了原有的会话密钥,仍然无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。
148、在第六方面的一种可能的实施方式中,所述第一密钥更新请求用于指示第一更新时间和第一目标密钥的有效期中的至少一项。
149、传统密钥更新过程中,更新密钥的时间是协议中预先定义好的,不能灵活选择。而本技术中,第一节点可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并指示给所述节点,有利于按需求来决定何时启用第一目标密钥。
150、在第六方面的又一种可能的实施方式中,所述第一密钥更新请求中包括第一帧号,所述第一密钥更新请求通过所述第一帧号指示所述第一更新时间。所述第一帧号通过多个比特指示,例如f个比特。可替代的,所述第一密钥更新请求包括媒体接入控制序列号(mac sn),所述mac sn通过m个比特指示,所述m个比特为所述f个比特中的部分比特,m小于f。具体的,用于指示所述第一帧号的多个比特包含两个部分:高位部分和低位部分,其中所述低位部分为用于指示所述mac sn的m个比特。所述高位部分通过n个比特指示。可选的,所述n个比特为用于指示超帧号的多个比特。通过该可替代的方式,可以在密钥更新请求中携带尽可能少的信息,减少信令消耗,提供通信效率。
151、在第六方面的又一种可能的实施方式中,所述第一目标密钥应用于从所述第一更新时间开始的所述第一目标密钥的有效期内。
152、在第六方面的又一种可能的实施方式中,所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息还包括第二密钥协商算法参数;在根据所述第一密钥协商参数,确定第一目标密钥方面,所述处理器具体用于:
153、根据所述第一密钥协商算法参数和所述第二密钥协商算法参数,生成所述第一目标密钥。
154、在第六方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;在根据所述第一密钥协商参数,确定第一目标密钥方面,所述处理器具体用于:
155、根据第二目标密钥和所述新鲜参数,生成所述第一目标密钥。
156、其中,第二目标密钥可以是第一节点与第二节点中的一个共享密钥,包括主密钥、会话密钥和预共享密钥psk等。另外,根据第二目标密钥和所述新鲜参数,可以通过密钥派生算法kdf生成所述第一目标密钥。例如,通过秘密值key派生的新密钥dk可以表示为:dk=kdf(key,fresh)。其中,fresh是新鲜参数,用于更新的参数,可以包括计数器值(counter)、序列号(number)、随机值(rand)、帧号(frame number)等等。
157、在第六方面的又一种可能的实施方式中,所述第一目标密钥为所述节点的主密钥。
158、在第六方面的又一种可能的实施方式中,所述第一密钥协商参数包括新鲜参数;在用于根据所述第一密钥协商参数,确定第一目标密钥方面,所述处理器具体用于:
159、根据第二目标密钥、所述新鲜参数和算法标识,生成所述第一目标密钥,所述算法标识用于标记确定加密密钥或者完整性保护密钥所使用的算法。
160、在第六方面的又一种可能的实施方式中,所述第一目标密钥为所述节点的完整性保护密钥或者加密密钥。
161、在第六方面的又一种可能的实施方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据第二目标密钥确定的加密密钥加密,和/或,所述第一密钥更新请求和所述第一响应消息中的至少一个通过根据所述第二目标密钥确定的完整性保护密钥进行完整性保护。
162、可以理解,传统的密钥更新方法是在旧密钥到期时更新密钥,由于第二目标密钥已到期,因此确定新密钥的过程没有进行加密和完整性保护。而本技术实施例中,可以在密钥到期之前确定第一目标密钥,因此第一密钥更新请求和第一响应消息可以使用根据第二目标密钥确定的密钥进行加密,从而提高了数据安全性。
163、在第六方面的又一种可能的实施方式中,所述处理器,还用于若第一身份信息验证不通过,则指示通信接口断开与第一节点的通信连接或者通过通信接口向第一节点发送指示更新失败的信息。
164、可以看出,若第一身份认证信息验证不通过,所述节点可以断开与第一节点的连接或向第一节点发送更新指示更新失败的信息,从而停止此次密钥过程,以保证密钥更新过程中节点的数据安全性。
165、在第六方面的又一种可能的实施方式中,在接收来自第一节点的第一密钥更新请求之后,所述处理器还用于:对所述第一密钥更新请求进行完整性验证;若完整性验证通过则继续执行所述通过所述第一共享密钥验证所述第一身份认证信息这一步骤;
166、所述处理器,还用于若完整性验证不通过,则指示通信接口断开与第一节点的连接或者通过通信接口向第一节点发送指示更新失败的信息。
167、在验证身份信息之前,上述节点先对第一密钥更新请求进行完整性验证,确定第一密钥更新请求中的信息没有被篡改。若完整性验证不通过,表明第一密钥更新请求中的数据已经被篡改,不能继续更新密钥,因此上述节点可以断开与第一节点的连接或者向第一节点发送更新指示更新失败的信息,保证了密钥更新过程中的数据安全性。
168、第七方面,本技术实施例公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行第一方面、第一方面的任意一种可能的实施方式、第二方面或者第二方面的任意一种可能的实施方式所述的方法。
169、第八方面,本技术实施例公开了一种芯片系统,所述芯片系统包括至少一个处理器,存储器和接口电路,所示接口电路用于为所述至少一个处理器提供信息输入/输出,所述至少一个存储器中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行第一方面、第一方面的任意一种可能的实施方式、第二方面或者第二方面的任意一种可能的实施方式所述的方法。
170、第九方面,本技术实施例公开了一种车辆,所述车辆包括第一节点(例如,汽车座舱域控制器cdc)。进一步,所述车辆还包括第二节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入或启动系统控制器等模块中的至少一个),其中所述第一节点为上述第三方面或第三方面的任意一种可能的实施方式、或者上述第五方面或上述第五方面的任意一种可能的实施方式所述的节点,所述第二节点为上述第四方面或第四方面的任意一种可能的实施方式、或者上述第六方面或上述第六方面的任意一种可能的实施方式所述的节点。