JP2023515104A 审中 密钥更新方法及相关设备
【技术领域】 【0001】 [0001] 本发明涉及通信技术领域,尤其涉及短距离通信技术领域,例如驾驶座域通信。 具体而言,本发明涉及一种密钥更新方法及相关装置。 【背景技术】 【0002】 通信技术渗透到人们的生活中。 人们在享受通讯便利的同时,也面临着安全漏洞和隐私泄露的威胁。 为了保证通信过程中数据传输和存储的安全,节点通常在存储或传输数据之前对传输的数据进行加密。 接收节点收到数据后,对密文进行解密,恢复明文。 此外,节点还可以对数据进行完整性保护(或简称完整性保护)。 接收节点收到数据后对报文进行完整性校验。 成功的完整性验证表明消息在传输过程中没有被修改。 在进行安全数据通信时,通信双方都需要有加解密密钥、完整性保护密钥等密钥。 如果加密/解密和完整性保护密钥等密钥被吊销或破解,使用该密钥进行的加密或完整性保护的信息很可能会被泄露,从而危及数据传输,影响安全。 【0003】 密钥的使用期限是有限的。 为了防止密钥被泄露或破解,通常使用密钥更新机制。 也就是说,当密钥的有效期接近其有效期结束时,旧密钥被替换为新密钥。 在密钥更新过程中,节点发送的用于密钥更新的消息容易受到中间人攻击,影响数据安全。 【0004】 因此,本领域技术人员正在研究如何提高密钥更新过程中的数据安全性的问题。 【发明概要】 【0005】 本申请实施例公开了一种密钥更新方法及相关装置,用于提高密钥更新过程中的数据安全性。 【0006】 第一方面,本申请实施例公开了一种密钥更新方法,包括以下步骤。 【0007】 向第二节点发送第一密钥更新请求,其中第一密钥更新请求包括第一密钥协商参数和第一身份凭证,第一身份凭证使用生成的第一共享密钥 第一个共享密钥是存储在通信的两个节点中的相同秘密值,可以是主密钥、会话密钥、预共享密钥 PSK 或类似密钥。 会话密钥可用于对节点发送的数据或文件进行加密或完整性保护。 另外,可以使用基于第一共享密钥的密码算法来生成第一身份凭证。 密码算法可以是散列算法(也叫散列算法)、认证算法等,比如基于散列的消息认证码HMAC算法(HMAC Secure Hash Algorithm HMAC-SHA256、HMAC-SHA3、HMAC中文密码算法 HMAC -SM3 等)。 另外,密码算法还可以包括快速cDNA末端扩增RACE完整性原语评估消息摘要RIPEMD算法。 【0008】 从第二节点接收第一响应消息,第一响应消息包括第二身份认证信息。 第二身份凭证的生成原理与第一身份凭证的生成原理相同,此处不再赘述。 【0009】 使用第一共享密钥对第二身份凭证进行验证。 【0010】 如果第二身份凭证验证成功,则根据第一密钥协商参数确定第一目标密钥。 【0011】 上述方法中,第一节点和第二节点在原始密钥过期前基于第一共享密钥生成身份凭证。 一个节点在收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据主密钥协商参数更新密钥,得到第一个目标密钥. 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0012】 在第一方面的一种可能的实现方式中,第一密钥更新请求用于指示第一目标密钥的第一更新时间和有效期中的至少一个。 【0013】 在传统的密钥更新过程中,密钥更新时间点是在协议中预定义的,不能灵活选择。 但是,此处的密钥更新方法中,第一节点可以自定义第一目标密钥的更新时间点和/或第一目标密钥的有效期,并向第二节点指示更新时间点和/或有效期。 ,因此,可以相应地验证第一目标键。 【0014】 在第一方面的又一种可能的实现方式中,所述第一密钥更新请求包括第一帧号,所述第一帧号由多个比特指示,例如F比特。 第一密钥更新请求用于通过第一帧号来指示第一次更新时间。 备选地,第一密钥更新请求包含媒体访问控制序列号(MAC SN),其由M比特指示,M比特是F比特的一部分,其中M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0015】 在第一方面的又一种可能的实现方式中,第一目标密钥在从第一更新时间开始的第一目标密钥的有效期内应用。 【0016】 在第一方面的又一种可能的实现方式中,第一密钥协商参数包括第一密钥协商算法参数,第一响应消息还包括第二密钥协商算法参数,基于第一密钥协商参数,确定第一目标密钥包括生成第一目标密钥基于第一密钥协商算法参数和第二密钥协商算法参数。 【0017】 第一密钥协商算法参数和第二密钥协商算法参数为密钥协商过程中产生的算法参数。 密钥协商是通信双方交换一些参数,通过协商获得密钥的过程。 用于密钥协商的算法称为密钥协商算法或密钥交换算法。 本发明实施例中,第一节点生成第一密钥协商算法参数,第二节点生成第二密钥协商算法参数。 第一目标密钥是利用双方提供的密钥协商算法参数确定的。 以DH算法为例,两个节点分别使用相同的大素数p和相同的生成数g生成随机数a和b。 第一个节点将g的a mod P次幂生成的值A发送给第二个节点,第二个节点将g的b mod P次幂生成的值B发送给第一个节点,接下来,第一个节点执行a对接收值A进行a次幂运算,第二节点对接收值B进行a次幂运算。 K=A b mod p=(g a 模式 p) b mod p=g ab mod p=(g b 模式 p) a 模数p=B a 由于 mod p,第一和第二节点生成的密钥 K 是相同的。 【0018】 在第一方面的又一种可能的实现方式中,第一密钥协商参数包括新参数,根据第一密钥协商参数确定第一目标密钥是根据第二目标密钥和新参数生成第一目标密钥。 . 【0019】 第二目标密钥可以是第一节点和第二节点之间共享的秘密值,或者可以称为第一节点和第二节点之间的共享密钥、主密钥、会话包含密钥、预共享密钥PSK , ETC。 另外,可以根据第二目标密钥和新参数,使用密钥推导算法KDF生成第一目标密钥。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是新的参数和用于更新的参数,它可能包括一个计数器值(counter),序号(number)、随机值(rand)、帧号(frame number)等。 【0020】 在第一方面的又一种可能的实现方式中,第一目标密钥是主密钥。 【0021】 主密钥是节点的高级秘密值,主要用于保护会话密钥等密钥。 在一个可选方案中,会话密钥是通过基于主密钥的密钥推导函数(KDF)获得的。 可选地,可以使用主密钥来加密会话密钥。 【0022】 在第一方面的又一种可能的实现方式中,第一密钥协商参数包括新参数,根据第一密钥协商参数确定第一目标密钥包括:第二目标密钥、新参数和生成第一目标的算法基于标识符的密钥,算法标识符用于标记用于确定加密或完整性保护密钥的算法; 【0023】 在第一方面的又一种可能的实现方式中,第一目标密钥为完整性保护密钥或加密密钥。 【0024】 在第一方面的又一种可能的实现方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个采用基于所述第二目标密钥确定的加密密钥进行加密;和/或对至少一个进行完整性保护通过使用基于第二目标密钥确定的完整性保护密钥来处理第一密钥更新请求和第一响应消息。 【0025】 可以理解,传统的密钥更新方法是在旧密钥(即第二目标密钥)过期时更新密钥。 由于第二目标密钥已经过期,因此在确定新密钥的过程中不进行加密和完整性保护。 然而,在本发明实施例中,可以在第二目标密钥到期之前确定第一目标密钥。 相应地,可以利用基于第二目标密钥确定的密钥对第一密钥更新请求和第一响应消息进行加密,从而提高数据安全性。 【0026】 在第一方面的又一种可能的实现方式中,向第二节点发送第一密钥更新请求包括通过第一通信帧向第二节点发送第一密钥更新请求。包含,第一通信帧的第二帧号为小于上次密钥更新时使用的密钥更新请求中保存的第三帧号,第三帧号为上次更新密钥的开始时间,其中第一帧号大于第二帧号且小于第三个帧数。 在通信过程中对通信帧进行安全保护时,采用的加密方式可以是根据帧号和最后更新的密钥进行加密。 因此,在帧号迭代到最后更新的密钥的帧号之前确定第一目标密钥,从而使用第一目标密钥对数据帧进行加密。 这样就可以对帧号相同的数据帧使用不同的密钥进行两次加密,提高了数据的安全性。 在一种可选方案中,第一密钥更新请求中包含MAC序号(MAC SN)而不是第一帧号,MAC SN用M比特指示,M比特是F比特中的一个部分,M小于F。 或者,上一次密钥更新时使用的密钥更新请求中保存的第3帧号也可以由MAC SN指定,MAC SN是用于指示第3帧号的比特的一部分,可以用指示的MAC SN代替。 在该可选方案中,第一帧号、第二帧号和第三帧号的取值关系不变。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0027】 在第一方面的又一种可能的实现方式中,所述通信帧包括信令面上行帧、信令面下行帧、用户面上行帧或用户面下行帧中的至少一个。 另外,本申请中的帧号为通信帧的帧号。 【0028】 在第一方面的又一种可能的实现方式中,该方法还包括,如果第二身份信息验证失败,则断开与第二节点的通信连接或者向第二节点发送更新失败信息。 【0029】 如果对第二身份凭证验证失败,则可以看出第二节点的身份不可信。 因此,第一节点可以断开与第二节点的通信连接,也可以向第二节点发送更新失败信息,导致需要进行密钥更新的节点的访问请求重新初始化,从而保证数据安全。密钥更新过程。 【0030】 在第一方面的又一种可能的实现方式中,在使用第一共享密钥对第二身份凭证进行验证之前,该方法还包括: 如果完整性验证成功,则使用第一共享密钥对第二身份凭证进行验证。共享密钥; 如果完整性验证失败,则断开与第二节点的通信连接或者向第二节点发送更新失败信息。 【0031】 上述方法中,第一节点在对身份信息进行验证之前,首先对第一响应消息进行完整性验证,确定第一响应消息中的信息未被篡改。 如果完整性验证失败,则说明第一响应信息中的数据被篡改,无法更新密钥。 因此,第一节点断开与第二节点的通信连接或者向第二节点发送更新失败信息,使得第一节点重新发送访问,从而保证密钥更新过程中的数据安全。 【0032】 第二方面,本申请实施例公开了一种密钥更新方法,包括以下步骤。 【0033】 从第一节点接收第一密钥更新请求,第一密钥更新请求包括第一密钥协商参数和第一身份认证信息。 第一身份凭证可以使用基于第一共享密钥的密码算法生成。 密码算法可以是散列算法(也叫散列算法)、认证算法等,比如基于散列的消息认证码HMAC算法(HMAC Secure Hash Algorithm HMAC-SHA256、HMAC-SHA3、HMA中文密码算法 HMAC -SM3 等)。 另外,密码算法还可以包括快速cDNA末端扩增RACE完整性原语评估消息摘要RIPEMD算法。 【0034】 使用第一共享密钥对第一身份凭证执行验证。 第一个共享密钥是存储在通信的两个节点中的相同秘密值,可以是主密钥、会话密钥、预共享密钥 PSK 或类似密钥。 会话密钥可用于对节点发送的数据或文件进行加密或完整性保护。 另外,可以使用基于第一共享密钥的密码算法来生成第一身份凭证。 相应地,第二节点可以基于第一共享密钥使用密码算法对第一身份凭证进行验证。 如果第一身份凭证验证成功,则根据第一密钥协商参数确定第一目标密钥。 【0035】 第一响应消息被发送到第一节点,其中第一响应消息包括第二身份凭证,第二身份凭证使用第一共享密钥生成。 第二身份凭证的生成原理与第一身份凭证的生成原理相同,此处不再赘述。 【0036】 上述方法中,第一节点和第二节点在原始会话密钥过期前基于第一共享密钥生成身份凭证。 一个节点在收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据主密钥协商参数更新密钥,得到第一个目标密钥. 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0037】 在第二方面的一种可能的实现方式中,第一密钥更新请求用于指示第一目标密钥的第一更新时间和有效期中的至少一个。 【0038】 在传统的密钥更新过程中,密钥更新时间点是在协议中预定义的,不能灵活选择。 但是,此处的密钥更新方法中,第一节点可以自定义第一目标密钥的更新时间点和/或第一目标密钥的有效期,并向第二节点指示更新时间点和/或有效期。 ,因此,可以相应地验证第一目标键。 【0039】 在第二方面的又一种可能的实现方式中,第一密钥更新请求包括第一帧号,第一密钥更新请求使用第一帧号来指示第一更新时间。 第一帧号用多个比特表示,例如F比特。 备选地,第一密钥更新请求包含媒体访问控制序列号(MAC SN),其由M比特指示,M比特是F比特的一部分,其中M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0040】 在第二方面的又一种可能的实现方式中,第一目标密钥在从第一更新时间开始的第一目标密钥的有效期内应用。 【0041】 在第二方面的又一种可能的实现方式中,第一密钥协商参数包括第一密钥协商算法参数,第一响应消息还包括第二密钥协商算法参数,基于第一密钥协商参数,确定第一目标密钥包括生成第一目标密钥基于第一密钥协商算法参数和第二密钥协商算法参数。 【0042】 第一密钥协商算法参数和第二密钥协商算法参数为密钥协商过程中产生的算法参数。 密钥协商是通信双方交换一些参数,通过协商获得密钥的过程。 用于密钥协商的算法称为密钥协商算法或密钥交换算法。 本发明实施例中,第一节点生成第一密钥协商算法参数,第二节点生成第二密钥协商算法参数。 第一目标密钥是利用双方提供的密钥协商算法参数确定的。 以DH算法为例,两个节点分别使用相同的大素数p和相同的生成数g生成随机数a和b。 第一个节点向第二个节点发送一个g对a的幂模P产生的值A,第二个节点向第一个节点发送一个g对b的幂模p产生的值B,接下来,第一个节点执行a对接收值A进行a次幂运算,第二节点对接收值B进行a次幂运算。 K=A b mod p=(g a 模式 p) b mod p=g ab mod p=(g b 模式 p) a 模数p=B a 由于 mod p,第一和第二节点生成的密钥 K 是相同的。 【0043】 在第二方面的又一种可能的实现方式中,第一密钥协商参数包括新参数,根据第一密钥协商参数确定第一目标密钥是根据第二目标密钥和新参数生成第一目标密钥。 . 【0044】 第二目标密钥可以是第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥、预共享密钥PSK等。 另外,可以根据第二目标密钥和新参数,使用密钥推导算法KDF生成第一目标密钥。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是新的参数和用于更新的参数,它可能包括一个计数器值(counter),序号(number)、随机值(rand)、帧号(frame number)等。 【0045】 在第二方面的又一种可能的实现方式中,第一目标密钥是主密钥。 【0046】 主密钥是节点的高级秘密值,主要用于保护会话密钥等密钥。 在一个可选方案中,会话密钥是通过基于主密钥的密钥推导函数(KDF)获得的。 可选地,可以使用主密钥来加密会话密钥。 【0047】 在第二方面的又一种可能的实现方式中,第一密钥协商参数包括新参数,根据第一密钥协商参数确定第一目标密钥包括:第二目标密钥、新参数和生成第一目标的算法基于标识符的密钥,算法标识符用于标记用于确定加密或完整性保护密钥的算法; 【0048】 在第二方面的又一种可能的实现方式中,第一目标密钥为完整性保护密钥或加密密钥。 【0049】 在第二方面的又一种可能的实现方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个采用基于所述第二目标密钥确定的加密密钥进行加密;和/或对至少一个进行完整性保护通过使用基于第二目标密钥确定的完整性保护密钥来处理第一密钥更新请求和第一响应消息。 【0050】 可以理解,传统的密钥更新方法是在旧密钥(即第二目标密钥)过期时更新密钥。 由于第二目标密钥已经过期,因此在确定新密钥的过程中不进行加密和完整性保护。 然而,在本发明实施例中,可以在第二目标密钥到期之前确定第一目标密钥。 相应地,可以利用基于第二目标密钥确定的密钥对第一密钥更新请求和第一响应消息进行加密,从而提高数据安全性。 【0051】 在第二方面的又一种可能的实现方式中,所述方法还包括: 如果第一身份信息验证失败,则断开与第一节点的连接或者向第一节点发送更新失败指示信息。 【0052】 可以看出,如果对第一身份凭证验证失败,则说明第二节点的身份不可信。 因此,第二节点可以断开与第一节点的连接或者向第一节点发送更新失败指示信息,以停止当前的密钥更新过程,从而使第二节点停止密钥更新过程,从而保证节点数据安全。 【0053】 在第二方面的又一种可能的实现方式中,在利用第一共享密钥对第一身份凭证进行验证之前,该方法还对第一密钥更新请求进行完整性验证,如果完整性验证成功,则执行以下步骤:第一节点通过第一共享密钥对第二身份凭证进行验证; 如果完整性验证失败,则第一节点或向第一节点发送更新失败指示信息。 【0054】 上述方法中,第二节点在对身份信息进行验证之前,首先对第一密钥更新请求进行完整性验证,确定第一密钥更新请求中的信息未被篡改。 如果完整性校验失败,说明第一次密钥更新请求中的数据被篡改,无法更新密钥。 因此,第二节点可以断开与第一节点的连接或者向第一节点发送更新失败指示信息,从而保证密钥更新过程中的数据安全。 【0055】 第三方面,本申请实施例公开了一种装置,该装置为发送单元,用于向第二节点发送第一密钥更新请求,所述第一密钥更新请求发送单元包括一个密钥协商参数和一个第一身份凭证,所述第一身份凭证是通过第一共享密钥生成的; 接收来自所述第二节点的第一响应消息,其中,所述第一响应消息包括第二身份凭证,所述接收单元用于对所述第二身份凭证进行验证利用所述第一共享密钥;确定单元,用于如果所述第二身份凭证验证成功,则根据所述第一密钥协商参数确定第一目标密钥。 【0056】 在密钥更新过程中,上述节点和第二节点根据第一共享密钥生成身份认证信息。 一个节点在收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据主密钥协商参数更新密钥,得到第一个目标密钥. 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0057】 在第三方面的一种可能的实现方式中,第一密钥更新请求用于指示第一目标密钥的第一更新时间和有效期中的至少一个。 【0058】 在传统的密钥更新过程中,密钥更新时间点是在协议中预定义的,不能灵活选择。 但是,此处提供的节点可以自定义第一目标密钥更新时间和/或第一目标密钥有效期,以向第二节点指示更新时间和/或有效期,从而: 可以相应地激活第一目标密钥。 【0059】 在第三方面的又一种可能的实现方式中,第一密钥更新请求包括第一帧号,第一密钥更新请求使用第一帧号来指示第一更新时间。 第一帧号用多个比特表示,例如F比特。 备选地,第一密钥更新请求包含媒体访问控制序列号(MAC SN),其由M比特指示,M比特是F比特的一部分,其中M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0060】 在第三方面的又一种可能的实现方式中,第一目标密钥在第一更新时间开始的第一目标密钥的有效期内被应用。 【0061】 在第三方面的又一种可能的实现方式中,所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息还包括第二密钥协商算法参数,所述确定单元执行所述第一密钥协商,用于生成第一目标密钥基于算法参数和二次密钥协商算法参数。 【0062】 在第三方面的又一种可能的实现方式中,第一密钥协商参数包括新参数,确定单元用于根据第二目标密钥和新参数生成第一目标密钥。 【0063】 第二目标密钥可以是第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥、预共享密钥PSK等。 另外,可以根据第二目标密钥和新参数,使用密钥推导算法KDF生成第一目标密钥。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是新的参数和用于更新的参数,它可能包括一个计数器值(counter),序号(number)、随机值(rand)、帧号(frame number)等。 【0064】 在第三方面的又一种可能的实现方式中,第一目标密钥是节点的主密钥。 【0065】 在第三方面的又一种可能的实现方式中,第一密钥协商参数包括新参数,确定单元用于根据第二目标密钥、新参数和算法标识生成第一目标密钥。其中,算法标识符用于标记用于确定加密或完整性保护密钥的算法。 【0066】 在第三方面的又一种可能的实现方式中,第一目标密钥是节点的完整性保护或加密密钥。 【0067】 在第三方面的又一种可能的实现方式中,所述第一更新密钥请求和所述第一响应消息中的至少一个采用基于所述第二目标密钥确定的加密密钥进行加密;和/或对至少一个进行完整性保护通过使用基于第二目标密钥确定的完整性保护密钥来处理第一密钥更新请求和第一响应消息。 【0068】 可以理解,常规的密钥更新方式是在旧密钥过期时更新密钥。 由于第二目标密钥已经过期,因此在确定新密钥的过程中不进行加密和完整性保护。 但是,本发明实施例提供的节点可以在key过期之前确定第一目标key。 相应地,可以利用基于第二目标密钥确定的密钥对第一密钥更新请求和第一响应消息进行加密,从而提高数据安全性。 【0069】 在第三方面的又一种可能的实现方式中,发送单元用于通过第一通信帧向第二节点发送第一更新密钥请求,其中:第二帧号小于密钥中保存的第三帧号上一次密钥更新时使用的更新请求,第三帧号用于指示上一次更新密钥的开始; 第一帧号大于第二帧号且小于第三帧号。 【0070】 在通信过程中对通信帧进行安全保护时,采用的加密方式可以是根据帧号和最后更新的密钥进行加密。 因此,在帧号迭代到最后更新的密钥的帧号之前确定第一目标密钥,从而使用第一目标密钥对数据帧进行加密。 这样就可以对帧号相同的数据帧使用不同的密钥进行两次加密,提高了数据的安全性。 在一种可选方案中,第一密钥更新请求中包含MAC序号(MAC SN)而不是第一帧号,MAC SN用M比特指示,M比特是F比特中的一个部分,M小于F。 或者,上一次密钥更新时使用的密钥更新请求中保存的第3帧号也可以由MAC SN指定,MAC SN是用于指示第3帧号的比特的一部分,可以用指示的MAC SN代替。 在该可选方案中,第一帧号、第二帧号和第三帧号的取值关系不变。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0071】 在第三方面的又一种可能的实现方式中,所述通信帧包括信令面上行帧、信令面下行帧、用户面上行帧或用户面下行帧中的至少一个。 【0072】 在第三方面的又一种可能的实现方式中,若第二身份信息验证失败,则发送单元和接收单元断开与第二节点的通信连接或向第二节点发送更新失败信息。 【0073】 如果对第二身份凭证验证失败,则可以看出第二节点的身份不可信。 相应地,前述节点可以断开与第二节点的通信连接,或者可以向第二节点发送更新失败信息,导致需要进行密钥更新的节点的访问请求重新初始化,从而保证数据安全在密钥更新过程中。 【0074】 在第三方面的又一种可能的实现方式中,所述验证单元还用于对所述第一响应消息进行完整性验证,如果完整性验证成功,则后续使用所述第一共享密钥,通过执行验证步骤在第二身份凭证上,如果完整性验证失败,则发送单元和接收单元断开与第二节点的通信连接或者通过发送单元这样做,可以将更新失败信息发送给第二节点,或者可以将更新失败信息发送给第二节点。 【0075】 节点可以先对第一响应消息进行完整性验证,确定第一响应消息中的信息没有被篡改,然后再对身份信息进行验证。 如果完整性验证失败,则说明第一响应信息中的数据被篡改,无法更新密钥。 因此,该节点断开与第二节点的通信连接或者向第二节点发送更新失败信息,使得该节点重新接入需要进行密钥更新的节点,保证了密钥更新过程中的数据安全。 【0076】 第四方面,本申请实施例公开了一种装置,该装置为接收单元,用于接收来自第一节点的第一密钥更新请求,所述第一密钥更新请求接收单元包括一个密钥协商参数和一个第一身份凭证; 验证单元, 用于通过第一共享密钥对所述第一身份凭证进行验证; 所述第一身份凭证; 确定单元, 用于如果所述验证信息,则根据所述第一密钥协商参数确定第一目标密钥传输成功; 发送单元,用于向所述第一节点发送第一响应消息; 发送单元, 所述第一响应消息包括第二身份凭证, 所述第二身份凭证由所述第一共享密钥生成。 【0077】 在原始会话密钥到期之前,所述节点和第一节点基于第一共享密钥生成身份凭证。 一个节点在收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据主密钥协商参数更新密钥,得到第一个目标密钥. 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0078】 在第四方面的一种可能的实现方式中,所述第一密钥更新请求用于指示所述第一目标密钥的第一更新时间和有效期中的至少一个。 【0079】 在传统的密钥更新过程中,密钥更新时间点是在协议中预定义的,不能灵活选择。 但是,在本申请的密钥更新方法中,第一节点可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并向节点指示更新时间和/或有效期。 , 这样 , 可以相应地激活第一个目标键。 【0080】 在第四方面的一种可能的实现方式中,第一密钥更新请求包括第一帧号,第一密钥更新请求通过第一帧号指示第一更新时间点。 第一帧号用多个比特表示,例如F比特。 备选地,第一密钥更新请求包含媒体访问控制序列号(MAC SN),其由M比特指示,M比特是F比特的一部分,其中M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0081】 在第四方面的又一种可能的实现方式中,第一目标密钥在第一更新时间开始的第一目标密钥的有效期内被应用。 【0082】 在第四方面的又一种可能的实现方式中,所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息还包括第二密钥协商算法参数,所述确定单元包括: 用于根据所述第一目标密钥生成第一目标密钥关于算法参数和二次密钥协商算法参数。 【0083】 在第四方面的又一种可能的实现方式中,第一密钥协商参数包括新参数,确定单元用于根据第二目标密钥和新参数生成第一目标密钥。 【0084】 第二目标密钥可以是第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥、预共享密钥PSK等。 另外,可以根据第二目标密钥和新参数,使用密钥推导算法KDF生成第一目标密钥。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是新的参数和用于更新的参数,它可能包括一个计数器值(counter),序号(number)、随机值(rand)、帧号(frame number)等。 【0085】 在第四方面的又一种可能的实现方式中,第一目标密钥是节点的主密钥。 【0086】 在第四方面的又一种可能的实现方式中,第一密钥协商参数包括新参数,确定单元用于根据第二目标密钥、新参数和算法标识生成第一目标密钥。,其中算法标识符用于标识用于确定加密或完整性保护密钥的算法。 【0087】 在第四方面的又一种可能的实施方式中,第一目标密钥是第二节点的完整性保护或加密密钥。 在第四方面的又一种可能的实现方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个采用基于所述第二目标密钥确定的加密密钥进行加密;和/或对至少一个进行完整性保护通过使用基于第二目标密钥确定的完整性保护密钥来处理第一密钥更新请求和第一响应消息。 【0088】 常规的密钥更新方法可以理解为在旧密钥过期时更新密钥。 由于第二目标密钥已经过期,因此在确定新密钥的过程中不进行加密和完整性保护。 但是,在本发明实施例中,可以在密钥到期之前确定第一目标密钥。 相应地,可以利用基于第二目标密钥确定的密钥对第一密钥更新请求和第一响应消息进行加密,从而提高数据安全性。 【0089】 在第四方面的又一种可能的实现方式中,若第一身份信息验证失败,则发送单元和接收单元断开与第一节点的连接或者通过发送单元向第一节点发送更新失败指示信息。 【0090】 可以看出,如果对第一身份凭证验证失败,则说明第二节点的身份不可信。 因此,节点可以断开与第一节点的连接或者向第一节点发送更新失败指示信息,以停止当前密钥进程,从而增加节点在密钥更新过程中的数据安全性,以保证 【0091】 在第四方面的又一种可能的实现方式中,所述验证单元还用于对所述第一密钥更新请求进行完整性验证,若完整性验证成功,则后续使用所述第一共享密钥;若完整性验证失败,节点断开与第一节点的连接或通过发送单元向第一节点显示更新失败指示信息。 【0092】 上述节点在对身份信息进行验证之前,首先对第一密钥更新请求进行完整性验证,确定第一密钥更新请求中的信息未被篡改。 如果完整性校验失败,说明第一次密钥更新请求中的数据被篡改,无法更新密钥。 因此,上述节点可以断开与第一节点的连接或者向第一节点发送更新失败指示信息,从而保证密钥更新过程中的数据安全。 【0093】 第五方面,本申请实施例公开了一种装置。 节点包括存储器、处理器和通信接口,存储器存储计算机程序,处理器调用存储在存储器中的计算机程序,并执行以下操作:通过通信接口向第二节点发送第一密钥更新请求;其中,第一密钥更新请求包括第一密钥协商参数和第一身份凭证,第一身份凭证通过使用第一共享密钥生成;通过通信接口从第二节点接收第一响应消息,第一响应消息包括第二身份认证信息; 如果对第二身份凭证验证成功,则根据第一密钥协商参数确定第一目标密钥。 【0094】 在密钥更新过程中,上述节点和第二节点根据第一共享密钥生成身份认证信息。 一个节点在收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据主密钥协商参数更新密钥,得到第一个目标密钥. 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0095】 在第五方面的一种可能的实现方式中,所述第一密钥更新请求用于指示所述第一目标密钥的第一更新时间和有效期中的至少一个。 【0096】 在传统的密钥更新过程中,密钥更新时间点是在协议中预定义的,不能灵活选择。 但是,此处提供的节点可以自定义第一目标密钥更新时间和/或第一目标密钥有效期,以向第二节点指示更新时间和/或有效期,从而: 可以相应地激活第一目标密钥。 【0097】 在第五方面的又一种可能的实现方式中,第一密钥更新请求包括第一帧号,第一密钥更新请求使用第一帧号来指示第一更新时间。 第一帧号用多个比特表示,例如F比特。 备选地,第一密钥更新请求包含媒体访问控制序列号(MAC SN),其由M比特指示,M比特是F比特的一部分,其中M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0098】 在第五方面的又一种可能的实现方式中,第一目标密钥在第一更新时间开始的第一目标密钥的有效期内被应用。 【0099】 在第五方面的又一种可能的实现方式中, 所述第一密钥协商参数包括第一密钥协商算法参数, 所述第一响应消息还包括第二密钥协商算法参数, 基于所述第一密钥协商参数, 在确定所述第一密钥的操作中目标密钥,处理器具体用于根据第一密钥协商算法参数和第二密钥协商算法参数生成第一目标密钥。 【0100】 在第五方面的又一种可能的实现方式中,所述第一密钥协商参数包括新的参数,在根据所述第一密钥协商参数确定所述第一目标密钥的操作中,所述处理器具体包括,用于生成第一目标密钥。基于目标键和新参数的目标键。 【0101】 第二目标密钥可以是第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥、预共享密钥PSK等。 另外,可以根据第二目标密钥和新参数,使用密钥推导算法KDF生成第一目标密钥。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是新的参数和用于更新的参数,它可能包括一个计数器值(counter),序号(number)、随机值(rand)、帧号(frame number)等。 【0102】 在第五方面的又一种可能的实现方式中,所述第一密钥协商参数包括新的参数,所述处理器在根据所述第一密钥协商参数确定所述第一目标密钥的操作中,具体包括: 配置为: 【0103】 在第五方面的又一种可能的实现方式中,第一目标密钥是节点的主密钥。 基于第二目标密钥、新参数和算法标识生成第一目标密钥,其中算法标识用于标记用于确定所使用的加密或完整性保护密钥的算法。 【0104】 在第五方面的又一种可能的实现方式中,第一目标密钥是节点的完整性保护或加密密钥。 【0105】 在第五方面的又一种可能的实现方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个采用基于所述第二目标密钥确定的加密密钥进行加密;和/或对至少一个进行完整性保护通过使用基于第二目标密钥确定的完整性保护密钥来处理第一密钥更新请求和第一响应消息。 【0106】 常规的密钥更新方法可以理解为在旧密钥过期时更新密钥。 由于第二目标密钥已经过期,因此在确定新密钥的过程中不进行加密和完整性保护。 但是,在本发明实施例中,可以在密钥到期之前确定第一目标密钥。 相应地,可以利用基于第二目标密钥确定的密钥对第一密钥更新请求和第一响应消息进行加密,从而提高数据安全性。 【0107】 在第五方面的又一种可能的实现方式中,通信接口通过第一通信帧向第二节点发送第一更新密钥请求,其中,第一通信帧的第二帧的数目小于保存的第三帧的数目。上次密钥更新时使用的密钥更新请求,第3帧号用于表示上一次更新密钥的开始时间,第1帧号大于第二帧号小于第三帧号。 【0108】 在通信过程中对通信帧进行安全保护时,采用的加密方式可以是根据帧号和最后更新的密钥进行加密。 因此,在帧号迭代到最后更新的密钥的帧号之前确定第一目标密钥,从而使用第一目标密钥对数据帧进行加密。 这样就可以对帧号相同的数据帧使用不同的密钥进行两次加密,提高了数据的安全性。 在一种可选方案中,第一密钥更新请求中包含MAC序号(MAC SN)而不是第一帧号,MAC SN用M比特指示,M比特是F比特中的一个部分,M小于F。 或者,上一次密钥更新时使用的密钥更新请求中保存的第3帧号也可以由MAC SN指定,MAC SN是用于指示第3帧号的比特的一部分,可以用指示的MAC SN代替。 在该可选方案中,第一帧号、第二帧号和第三帧号的取值关系不变。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0109】 在第五方面的又一种可能的实现方式中,所述通信帧包括信令面上行帧、信令面下行帧、用户面上行帧或用户面下行帧中的至少一种。 【0110】 在第五方面的又一种可能的实现方式中,处理器还可以在第二身份信息验证失败时,断开与第二节点的通信连接,或者通过通信接口将更新失败信息通知给第二节点。发送到的通信接口 【0111】 如果对第二身份凭证验证失败,则可以看出第二节点的身份不可信。 相应地,前述节点可以断开与第二节点的通信连接,或者可以向第二节点发送更新失败信息,导致需要进行密钥更新的节点的访问请求重新初始化,从而保证数据安全在密钥更新过程中。 【0112】 在第五方面的又一种可能的实现方式中,处理器在接收到来自第二节点的第一响应消息后,还对第一响应消息进行完整性验证,如果完整性验证成功,则继续使用第一共享的第二身份凭证密钥,处理器进一步在完整性验证失败时终止与第二节点的通信连接,或者用于向通信接口指示通过通信接口向第二节点发送更新失败信息。 【0113】 可见,可以通过完整性校验来判断信息是否被篡改。 因此,上述节点在对身份信息进行验证之前,首先对第一响应消息进行完整性验证,以确定第一响应消息中的信息未被篡改。 如果完整性验证失败,则说明第一响应信息中的数据被篡改,无法更新密钥。 因此,该节点断开与第二节点的通信连接或者向第二节点发送更新失败信息,使得该节点重新接入需要进行密钥更新的节点,保证了密钥更新过程中的数据安全。 【0114】 第六方面,本申请实施例公开了一种装置。 节点包括存储器、处理器和通信接口,存储器存储计算机程序,处理器调用存储在存储器中的计算机程序,并执行以下操作:通过通信接口向第二节点发送第一密钥更新请求;其中,第一密钥更新请求包括第一密钥协商参数和第一身份凭证,第一身份凭证通过使用第一共享密钥生成;通过通信接口从第二节点接收第一响应消息,第一响应消息包括第二身份鉴权信息; 如果对第二身份凭证验证成功,则根据第一密钥协商参数确定第一目标密钥。 【0115】 在原始会话密钥到期之前,所述节点和第一节点基于第一共享密钥生成身份凭证。 一个节点在收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据主密钥协商参数更新密钥,得到第一个目标密钥. 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0116】 在第六方面的一种可能的实现方式中,所述第一密钥更新请求用于指示所述第一目标密钥的第一更新时间和有效期中的至少一个。 【0117】 在传统的密钥更新过程中,密钥更新时间点是在协议中预定义的,不能灵活选择。 但是,在本申请中,第一节点可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并向节点指示更新时间和/或有效期,使得第一目标密钥可以相应地启用。 【0118】 在第六方面的又一种可能的实现方式中,第一密钥更新请求包括第一帧号,第一密钥更新请求使用第一帧号来指示第一更新时间。 第一帧号用多个比特表示,例如F比特。 备选地,第一密钥更新请求包含媒体访问控制序列号(MAC SN),其由M比特指示,M比特是F比特的一部分,其中M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0119】 在第六方面的又一种可能的实现方式中,第一目标密钥在第一更新时间开始的第一目标密钥的有效期内被应用。 【0120】 在第六方面的又一种可能的实现方式中, 所述第一密钥协商参数包括第一密钥协商算法参数, 所述第一响应消息中还包括第二密钥协商算法参数, 基于所述第一密钥协商参数, 在确定所述第一密钥的操作中目标密钥,处理器具体用于根据第一密钥协商算法参数和第二密钥协商算法参数生成第一目标密钥。 【0121】 在第六方面的又一种可能的实现方式中,所述第一密钥协商参数包括新的参数,所述处理器在根据所述第一密钥协商参数确定所述第一目标密钥的操作中,具体包括: 用于生成第一目标密钥基于目标键和新参数的键。 【0122】 第二目标密钥可以是第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥、预共享密钥PSK等。 另外,可以根据第二目标密钥和新参数,使用密钥推导算法KDF生成第一目标密钥。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是新的参数和用于更新的参数,它可能包括一个计数器值(counter),序号(number)、随机值(rand)、帧号(frame number)等。 【0123】 在第六方面的又一种可能的实现方式中,第一目标密钥是节点的主密钥。 【0124】 在第六方面的又一种可能的实现方式中,所述第一密钥协商参数包括新的参数,在根据所述第一密钥协商参数确定所述第一目标密钥的操作中,所述处理器具体包括: 用于根据所述第一目标密钥生成第一目标密钥。在目标密钥、新参数和算法标识符上,算法标识符用于标记用于确定加密密钥或完整性保护密钥的算法; 【0125】 在第六方面的又一种可能的实现方式中,第一目标密钥是节点的完整性保护或加密密钥。 【0126】 在第六方面的又一种可能的实现方式中,所述第一密钥更新请求和所述第一响应消息中的至少一个采用基于所述第二目标密钥确定的加密密钥进行加密;和/或对至少一个进行完整性保护通过使用基于第二目标密钥确定的完整性保护密钥来处理第一密钥更新请求和第一响应消息。 【0127】 可以理解,传统的密钥更新方法是在旧密钥到期时更新密钥。 由于第二目标密钥已经过期,因此在确定新密钥的过程中不进行加密和完整性保护。 但是,在本发明实施例中,可以在密钥到期之前确定第一目标密钥。 相应地,可以利用基于第二目标密钥确定的密钥对第一密钥更新请求和第一响应消息进行加密,从而提高数据安全性。 【0128】 在第六方面的又一种可能的实现方式中,处理器还可以在第一身份信息验证失败时,断开与第一节点的通信连接,或者通过通信接口发送更新失败指示信息,用于向通信指示发送给第一个节点的接口。 【0129】 如果第一身份凭证校验失败,节点可以断开与第一节点的连接,也可以向第一节点发送更新失败指示信息,并停止当前密钥进程,从而保证节点中的数据安全。密钥更新过程。 【0130】 在第六方面的又一种可能的实现方式中,处理器在接收到来自第一节点的第一密钥更新请求后,还对第一密钥更新请求进行完整性验证,如果完整性验证成功,则对第一身份进行验证。通过第一共享密钥获取凭证, 处理器还用于在完整性验证失败时断开与第一节点的连接,或者用于向通信接口指示通过通信接口向第一节点发送更新失败指示信息。 【0131】 上述节点在对身份信息进行验证之前,首先对第一密钥更新请求进行完整性验证,确定第一密钥更新请求中的信息未被篡改。 如果完整性校验失败,说明第一次密钥更新请求中的数据被篡改,无法更新密钥。 因此,上述节点可以断开与第一节点的连接或者向第一节点发送更新失败指示信息,从而保证密钥更新过程中的数据安全。 【0132】 第七方面,本申请实施例公开了一种计算机可读存储介质。 该计算机可读存储介质存储计算机程序。 当计算机程序在一个或多个处理器上运行时,执行第一方面和第一方面的任何一种可能的实现方式或者第二方面和第二方面的任何一种可能的实现方式。 【0133】 第八方面,本申请实施例公开了一种芯片系统。 一种芯片系统包括至少一个处理器、存储器和接口电路。 接口电路被配置为为至少一个处理器提供信息输入/输出,至少一个存储器存储计算机程序,并且当计算机程序在一个或多个处理器上执行时,第一方面和方法中的任何一个执行第一方面的一种可能的实现方式或第二和第二方面的任何一种可能的实现方式。 【0134】 第九方面,本申请实施例公开了一种车辆。 车辆包括第一节点(例如,汽车驾驶员的域控制器CDC)。 此外,车辆还包括第二节点(例如,摄像头、屏幕、麦克风、扬声器、雷达、电子钥匙和无钥匙进入中的至少一个,或诸如激活系统控制器的模块)。 第一节点为第三方面的第三种及任一可能的实现方式或第五方面及第五方面的任一可能的实现方式中的节点,第二节点为: 任一可能的实现方式中的节点第四和第四方面,或者第六和第六方面的任何一种可能的实施方式。 【图纸简要说明】 【0135】 下面对本申请实施例中使用的附图进行说明。 【0136】 【图1】 附图说明图1为本申请实施例提供的DH算法原理示意图; 【0137】 【图2】 附图说明图1是根据本申请实施例的密钥推导算法的示意图; 【0138】 [图3] 附图说明图1是本申请实施例的通信系统的架构示意图; 【0139】 【图4】 附图说明图1为本申请实施例提供的密钥更新方法的使用场景示意图; 【0140】 [图5] 图4为本申请实施例提供的密钥更新方法的流程示意图; 【0141】 [图6A] 图4为本申请实施例提供的又一种密钥更新方法的流程示意图。 [图6B] 图4为本申请实施例提供的又一种密钥更新方法的流程示意图。 【0142】 【图7A】 图4为本申请实施例提供的又一种密钥更新方法的流程示意图。 [图 7B] 图4为本申请实施例提供的又一种密钥更新方法的流程示意图。 【0143】 [图8A] 图4为本申请实施例提供的又一种密钥更新方法的流程示意图。 [图8B] 图4为本申请实施例提供的又一种密钥更新方法的流程示意图。 【0144】 [图9] 图4为本申请一个实施例的节点的结构示意图; 【0145】 [图10] 图4为本申请实施例提供的又一种节点的结构示意图; 【0146】 [图11] 图4为本申请实施例提供的又一种节点的结构示意图; 【0147】 [图12] 图4为本申请实施例提供的又一种节点的结构示意图; [实施发明的方式] 【0148】 下面结合本申请实施例中的附图对本申请实施例进行说明。 需要注意的是,在本申请中,诸如“示例”、“例如”等词语用于表示提供示例、说明或解释。 在本申请中被描述为“示例”或“例如”的任何实施例或设计解决方案不应被描述为具有任何优势或优于另一实施例或设计解决方案。 严格地说,使用诸如“示例”、“例如”等词语旨在以特定方式呈现相关概念。 【0149】 首先,为了便于理解,下面对本申请中的相关技术和技术术语进行简要说明。 【0150】 1.节点 【0151】 节点是具有数据接收/发送能力的电子设备。 例如,节点可以是汽车座舱域设备或汽车座舱设备中的模块(驾驶舱域控制器(CDC)、摄像头、屏幕、麦克风、扬声器、电子钥匙、无钥匙进入,或者可以是以下中的一种或多种)模块,例如引导系统控制器)。 在具体实现过程中,节点可以是路由器、中继器、网桥或交换机等数据传输设备,也可以是用户设备(UE)、手机、平板电脑等(pad)、台式电脑、耳机和扬声器、自动驾驶设备、交通安全设备、虚拟现实(VR)终端设备、增强现实(AR)终端设备、机器类型通信(MTC)设备、工业控制设备、远程医疗设备、智能电网设备,以及机器智能设备,例如智能城市设备,还可以包括可穿戴设备(例如,智能手表、智能手环或计步器)等。 在一些技术场景中,具有类似数据接收/传输能力的设备名称可能不被称为节点。 但是,为了便于说明,本文实施例中将具有数据接收/发送能力的电子设备统称为节点。 【0152】 2.钥匙 【0153】 在通信过程中,数据在通信节点之间传输。 如果数据需要保密,则应使用密钥对其进行加密。 由于节点需要保密的内容的保密级别和保密等级可能不同,因此需要使用不同类型的密钥进行加密。 常见的密钥类型包括会话密钥、主密钥和共享密钥。 【0154】 (1)会话密钥 【0155】 会话密钥包括加密密钥、完整性保护密钥、文件密钥等。 加密密钥可用于保护节点传输的数据,也可称为数据加密密钥。 完整性保护密钥可以用于对传输的数据进行完整性保护。 文件密钥可用于保护传输的文件。 可选的,会话密钥可以是通信双方预先配置的,也可以是通信双方协商获得的,也可以是利用原始密钥推导出来的;或者,也可以通过Key Distribution分配中心(KDC)。 可选的,会话密钥可以是对称加密算法的密钥或非对称加密算法的密钥。 【0156】 (2) 万能钥匙 【0157】 主密钥是节点的高级秘密值,可用于派生会话密钥、子主密钥等。 子主密钥是介于主密钥和会话密钥之间的密钥,有时也称为中间密钥。 【0158】 在一些可能的解决方案中,可以通过物理或电子隔离来严格保护主密钥。 【0159】 (3)共享密钥(SK) 【0160】 共享密钥是通信中两个节点存储的相同秘密值。 在一些可选的解决方案中,节点可以使用主密钥、会话密钥或预共享密钥(PSK)作为共享密钥。 一个节点可以有一个或多个共享密钥。 【0161】 例如,节点使用会话密钥作为共享密钥。 例如,如果节点 A 和节点 B 使用对称加密算法(即使用相同的密钥进行加密和解密)相互通信,节点 A 将使用加密密钥 Km 并将明文消息发送给节点 B,节点 B 解密使用解密密钥 Km 发送明文消息。 在这种情况下,加密密钥 Km 可以用作两个节点之间的共享密钥。 【0162】 作为另一个示例,节点可以使用预共享密钥作为共享密钥,它是标识两个节点之间的连接的秘密值。 可以在通信的两个节点处预先配置预共享密钥。 例如,车辆的驾驶舱域控制器(CDC)和车载雷达设备是两个可以相互通信的节点,CDC和车载雷达在部署时预先配置了秘密值,只有车辆的 CDC. 可以连接到车顶雷达或可以将数据传输到车顶雷达。 双方也可以通过通信获得预共享密钥。 例如,在CDC通过Bluetooth®连接到手机之前,通过确认配对可以生成预共享密钥。 此外,预共享密钥可以由可信设备(例如,KDC)分别发送到第一和第二节点。 【0163】 3.密钥协商 【0164】 密钥协商是通信双方交换一些参数,通过协商获得密钥的过程。 用于密钥协商的算法称为密钥协商算法或密钥交换算法。 常见的密钥协商算法包括Diffie-Hellman (DH) 算法、Elliptic Curve Cryptosystems (ECC) Diffie-Hellman (ECDH) 算法、Oakley 算法、中国密码算法(例如SM1、SM2、SM3 和SM4)。 【0165】 以DH算法为例,两个节点分别使用相同的质数p和相同的随机数g生成随机数a和b。 第一节点将g生成的a power mod P的值发送给第二节点,第二节点将g生成的b power mod P的值发送给第一节点,然后,第一节点进行幂运算第二节点对接收到的结果进行幂运算,mod表示取余运算。 最后形成密码,完成密钥交换。 【0166】 图1是根据本申请实施例的DH算法的示意性原理图。 DH 算法中交换密钥的步骤如下。 【0167】 步骤1:第一个节点确定素数p、随机数g和随机数a。 【0168】 步骤2:第一个节点生成第一个计算值A,其中A为以下公式:A=g a 满足 mod p。 【0169】 步骤3:第一节点将质数p、随机数g和第一计算值A发送给第二节点。 【0170】 步骤4:第二个节点确定一个随机数b。 【0171】 步骤5:第二节点计算得到第二计算值B,B例如为下式,即B=g b 满足 mod p。 【0172】 步骤 6:第二个节点协商密钥 s=A b 计算模 p。 【0173】 步骤7:第二节点将第一计算值B发送给第一节点。 【0174】 第 8 步:第一个节点是 s=B a 计算模 p。 【0175】 K=A b mod p=(g a 模式 p) b mod p=g ab mod p=(g b 模式 p) a 模数p=B a 由于 mod p,第一和第二节点计算的密钥 s 是相同的。 另外,密钥s不通过网络传输,算法中选择的素数p、随机数g、随机数a和随机数b的值其实都很大,所以素数p,随机数 根据 g、第一个计算值 A 和第二个计算值 B 导出密钥 s 很困难。 因此,使用DH算法得到的密钥是安全的。 【0176】 4.密钥推导 【0177】 密钥推导是从单个秘密值推导一个或多个密钥。 用于派生密钥的算法称为密钥派生函数 (KDF)。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是更新时使用的fresh参数,一个参数,可以包括至少一个counter值(counter)、序号(number)、随机值(rand)、帧号(frame number)等。 不同时刻的新参数通常是不同的。 帧号是帧的编号,帧是包含多个比特或字段的特定信息结构。 例如,在时分多址(TDMA)通信技术中,时间被分割成周期性的帧,每一帧的帧号从0到2715647循环变化。 【0178】 常见的密钥推导算法有基于密码的密钥推导函数(PBKDF)、scrypt算法等。 PBKDF算法进一步包括第一代PBKDF1和第二代PBKDF2。 可选地,在一些KDF算法的密钥推导过程中,使用哈希算法对输入的秘密值进行哈希更改。 因此,也可以接收算法标识符作为KDF函数中的输入以指示所使用的散列算法。 【0179】 以PBKDF2为例,利用PBKDF2算法中的秘值Key导出的新密钥DK可以表示为DK=PBKDF2(PRF, Key, salt, c, dk_len),其中参数PRF为 ,表示使用的hash算法,salt是随机生成的salt,可以看作是一个新的参数,c是迭代次数,dk_len是生成的DK的长度。对,也可以称为block size和可能是默认值。 图2是根据本申请实施例的密钥推导算法的示意图。 派生密钥1可以通过秘密值201、算法标识符1和新参数fresh1得到,派生密钥2可以通过秘密值201、算法标识符1和新参数fresh2得到。其中迭代次数和块尺寸是预设的。 【0180】 5.密码算法 【0181】 密码算法可以是用于加密和/或解密的数学函数并且也可以称为密码函数。 常见的密码算法包括哈希算法、认证算法等。 哈希算法也称为散列函数或散列算法。 哈希算法可以将任意长度的信息转化为标识符,反向规则很难发现。 常见的哈希算法有基于哈希的消息认证码(HMAC)、HMAC中文密码算法HMAC-SM(如HMAC-SM3)、HMAC安全哈希算法如HMAC-SHA256或HMAC-SHA3算法(HMAC Secure Hash Algorithm,HMAC-SHA ) 等,也可能包括消息摘要 (MD) 算法,例如 MD2、MD4 或 MD5。 另外,密码算法还可以包括cDNA末端快速扩增(RACE)完整性原语评估消息摘要(RIPEMD)算法。 【0182】 下面对本申请实施例的系统架构和业务场景进行说明。 本申请中所描述的系统架构和服务场景旨在更加清楚地说明本申请中的技术方案,不构成对本申请中提供的技术方案的限制,请注意。 本领域技术人员可以意识到,随着系统架构的发展和新的业务场景的出现,本申请提供的技术方案同样适用于类似的技术问题。 【0183】 图3是根据本申请实施例的通信系统的架构示意图; 通信系统包括第一节点301和第二节点302。 第一节点301可以通过数据链路与第二节点302通信。 为了防止窃听者(或攻击者)获取信息的内容,可以使用加密密钥对传输中的信息进行加密。 例如,第一节点301使用加密密钥305对需要发送的明文消息303进行加密,得到密文消息304。 第一节点301向第二节点302发送密文消息304。 相应地,第二节点302接收到密文报文304后,可以利用密钥对密文报文304进行解密,得到明文报文303,从而完成数据传输。 第一节点301和第二节点302除了加解密密钥外,还可以包括完整性保护密钥、文件密钥、主密钥等密钥。 【0184】 注意,第一节点301和第二节点302可以是不同的设备。 例如,图4为本申请实施例提供的密钥更新方法的使用场景示意图。 CDC 401和摄像头402是智能出租车设备中的两个节点。 CDC 401可以被认为是第一节点301并且照相机402可以被认为是第二节点302。 摄像头402使用密钥对视频数据进行加密,通过蓝牙将加密后的视频数据发送给CDC401,CDC401通过蓝牙接收加密后的视频数据,对加密后的视频数据进行解密,拍摄得到视频数据。 第一节点301和第二节点302可以备选地是相同类型的节点。 例如,第一节点301为手机A,第二节点302为手机B,则手机A对本地语音数据进行加密,将加密后的语音数据通过网络通话发送给B端。 【0185】 可选地,第一节点301和第二节点302之间传输数据的数据链路可以是各种类型的连接介质,例如有线链路、无线链路(例如Wi-Fi或蓝牙)或光纤链路。 【0186】 可选的,第一节点301可以是发起通信的一方,可以称为主节点。 相应地,第二节点302是通信的接收方,可以称为次节点。 【0187】 密钥使用期限通常是有限的,以保证节点处的加密内容不被泄露。 因此,有必要引入密钥更新机制。 例如CDC 401和摄像头402通过蓝牙连接,如果采用E0加密方式,则CDC 401和摄像头402会有2个 28密钥需要在 10 个蓝牙滴答(约 23.3 小时)内更新一次。 当使用高级加密标准 (AES) 加密算法时,CDC401 和摄像机 402 38 密钥需要以滴答为单位更新一次(大约 2.72 年)。 又如,在包含主密钥和会话密钥的节点,当使用主密钥和计数器值生成会话密钥时,翻转计数器值(或重新开始新一轮计数)。密钥需要更新。 在密钥更新过程中,节点间发送的用于密钥更新的消息容易受到中间人攻击,影响数据安全。 为解决该问题,本申请实施例提供了以下方法。 【0188】 图5是根据本申请实施例的密钥更新方法的示意性流程图。 密钥更新方法可以基于图3所示的架构来实现。 该方法包括但不限于以下步骤。 【0189】 步骤: S501:第一节点向第二节点发送第一密钥更新请求。 【0190】 具体地,第一密钥更新请求包括第一密钥协商参数和第一身份认证信息。 第一密钥协商参数是用于生成第一目标密钥的密钥参数。 下面描述几种可选的情况。 【0191】 情况1:第一密钥协商参数可以包含密钥协商算法的参数KEm。 为了便于说明,可以将密钥协商算法参数KEm称为第一密钥协商算法参数。 【0192】 在密钥协商算法为DH算法的例子中,第一节点确定的DH算法的参数包括素数p、随机数g、随机数a和计算值A。 计算值 A 由以下公式给出:A=g a 满足mod p,素数p和随机数g进一步被第二节点用来生成DH算法的另一个参数。 可选的,可以将素数p、随机数g和计算值A作为第一节点的公钥,因为需要将素数p、随机数g和计算值A发送给第二节点。 相应地,随机数a可以看作是第一节点的私钥,因为随机数a并没有发送给第二节点。 可选地,第一节点在发送第一密钥更新请求之前,将计算出的值A作为第一密钥协商算法参数KEm,并向第二节点发送素数p和随机数g;或者,使用素数p,随机数数g,计算出的值A作为第一密钥协商算法参数KEm,可以通过第一密钥更新请求将第一密钥协商算法参数KEm发送给第二节点。 【0193】 情况2:第一关键协商参数可能包含新参数。 【0194】 本发明实施例中,第一密钥更新请求中的第一身份凭证可以通过第一节点和第二节点之间的共享密钥生成。 为了便于说明,将产生第一密钥更新请求的共享密钥称为第一共享密钥,第一共享密钥可以是主密钥或预共享密钥PSK等密钥。 【0195】 在一个可选方案中,第一身份凭证可以通过密码算法生成。 在密码算法为HMAC的示例中,HMAC接收一个或多个字符参数的输入并用于输出标识符,该标识符可以用作第一身份凭证。 下面以哈希函数为HMAC为例进行说明。 【0196】 示例一: 第一节点生成的第一身份凭证AUTHm可以为HMAC(PSK),即AUTHm=HMAC(PSK)。 【0197】 实施例2:若第一密钥协商参数为S1,则第一节点生成的第一身份凭证AUTHm可以为HMAC(PSK,S1),即AUTHm=HMAC(PSK,S1)。 S1可以是上述情况1中的第一密钥协商算法参数KEm,也可以是上述情况2中的新参数(例如,计数器值、序列号、随机值和帧号中的至少一个)。 【0198】 示例3:如果主键更新请求中还包含一个随机值(a number used once, NONCE),则主节点生成的主身份凭证AUTHm为HMAC(PSK, S1, NONCEm) 可能(NONCEm为生成的随机值由第一个节点),或者换句话说,AUTHm = HMAC(PSK,S1,NONCEm)。 【0199】 在本发明实施例中,第一密钥更新请求还可以指示第一目标密钥的有效期信息和第一更新时间中的至少一个。 第一更新时间用于指示第一目标键被激活的时间,也可以称为激活时间或开始时间。 【0200】 例如,第一密钥更新请求包括指示第一目标密钥的有效期的第一指示信息。 第一指示信息可以是具体的日期和时间。 例如,如果第一指示信息为2020年2月6日00:52:50,则第一目标密钥的有效日期和时间结束于2020年2月6日00:52:50,或者,可以表示无效日期时间从2020年2月6日0时52分50分开始计算。 可选地,第一指示信息可以是指示有效时间或无效时间的字符串,例如时间戳“1590921570”指示2020年2月6日00:52:50。 第一指示信息也可以是定时器等。 例如,如果第一目标密钥的有效期为1000秒,则表示第一目标密钥在生成或验证后的有效期为1000秒。 第二指示信息还可以包括帧号等。 【0201】 又例如,第一密钥更新请求包括指示第一更新时间的第二指示信息。 第二指示信息可以是帧号、具体日期和时间、字符串、定时器等中的一种或多种。 帧号是通信帧的编号或索引,通信帧是第一节点与第二节点通信时的消息结构。 通信帧包括信令平面上行链路帧、信令平面下行链路帧、用户平面上行链路帧或用户平面下行链路帧中的至少一个。 通信帧的帧号通常在预设的帧号值范围内循环。 例如,在时分多址TDMA通信技术中,时间被分割成周期性的帧,每帧的帧号从0到2715647循环变化。 第一节点可以通过更新请求中保留的帧号来指示第一更新时间。 为了便于说明,将第一密钥更新请求中保存的帧号称为第一帧号。 例如,如果第一个帧号为2345,则表示在以帧号2345开始的通信帧之后应用第一个目标密钥; 可选的,第一帧号可以为多个帧号。 例如,如果第一帧号可以包括用户面下行帧的帧号A和用户面上行帧的帧号B,则第一目标键是用户 可以指示它适用于普通下行帧,以及第一个目标密钥适用于以帧号 B 开始及之后的用户平面上行链路帧。 【0202】 可选的,如果第一密钥更新请求通过第一帧号指示第一更新时间点,则第一帧号可以通过多个比特指示,例如F比特。 可选地,第一密钥更新请求包括媒体访问控制序列号(MAC SN),其通过M比特指示,该M比特为F比特部分,M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 为便于说明,此处以第一帧号为例进行说明,但不用于限制本发明。 【0203】 如果第一密钥更新请求还包括有效期和/或第一更新时间,则第一身份凭证还可以存在如下示例。 【0204】 示例4:如果第一密钥更新请求中包含指示第一目标密钥有效期的expiration信息,则第一节点生成的身份认证信息AUTHm可以为HMAC(PSK,S1,expiration),即AUTHm= HMAC(PSK,S1,到期)。 【0205】 示例5:如果第一次密钥更新请求中包含指示第一次更新时间的定时器信息,则第一节点生成的身份认证信息AUTHm可以为HMAC(PSK,S1,timer),即AUTHm=HMAC( PSK、S1、定时器)。 激活时间计时器指示新密钥何时启动。 【0206】 示例6:如果第一个密钥更新请求包含随机值NONCEm,第一个目标密钥有效期的信息expiration,第一个更新时间的信息timer AUTHm,则第一节点生成的身份凭证可以是HMAC (PSK, S1, NONCEm, expiration, timer),或者换句话说 AUTHm=HMAC(PSK, S1, NONCEm, expiration, timer)。 【0207】 当然,在生成第一身份凭证时,除了第一共享密钥外,还需要其他信息(例如第一节点的编号,第一节点的地址,或者两者之间的连接标识等)。 如果第一密钥更新请求中包含随机值NONCEm、指示第一目标密钥有效期的信息expiration、指示第一次更新时间的信息timer等参数,则第一节点可选地执行第一注部分或全部世代身份认证信息AUTHm中的参数可以不使用。 【0208】 可选地,第一节点可以通过第一通信帧向第二节点发送第一密钥更新请求,其中,第一通信帧的第二帧号为先前密钥小于所使用的密钥更新请求中持有的第三帧号在更新过程中,第三个帧号用于指示最后更新密钥的开始。 第一密钥更新请求中保存的第一帧号大于第二帧号且小于第三帧号。 例如,如果第三个帧号为2365,则在帧号以2365开头的通信帧之后应用最后更新的密钥,第一节点收到需要重新确定第一目标密钥的指示。 因此,第一节点可以在帧号为2345的第一通信帧中发送第一密钥更新请求,第一帧号2355表示第一密钥更新请求中的第一目标密钥的起始时间,用于 在通信过程中对通信帧进行安全保护时,所采用的加密方法可以是基于帧号和最后更新的密钥进行加密。 因此,在帧号重复到最后更新密钥的帧号之前,确定第一目标密钥,从而使用第一目标密钥对数据帧进行加密。 这样就可以对帧号相同的数据帧使用不同的密钥进行两次加密,提高了数据的安全性。 【0209】 在一种可选方案中,第一密钥更新请求中包含MAC序号(MAC SN)而不是第一帧号,MAC SN用M比特指示,M比特是F比特中的一个部分,M小于F。 或者,上一次密钥更新时使用的密钥更新请求中保存的第3帧号也可以由MAC SN指定,用于指示第3帧号的部分比特可以用指示的MAC SN代替。 在该可选方案中,第一帧号、第二帧号和第三帧号的取值关系不变。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0210】 可选地,第一目标密钥和最后更新的密钥是同一类型的密钥。 例如,当第一密钥更新请求中请求更新的第一目标密钥为加密密钥时,最后一次更新加密密钥的密钥更新请求中保留的第三帧号为帧号。 【0211】 可选的,第一节点可以记录通信帧的帧号,当通信帧的帧号和第三帧号小于或等于第一阈值时,发送第一密钥更新请求。 例如,第一节点将第一阈值预设为二十。 如果第三帧号为2365,则第一节点可以在记录帧号为2345的通信帧时发送第一密钥更新请求; 进一步地,第一节点可以记录一个或多个通信帧的帧号,例如可以记录至少两个帧号。 如果一个通信帧的帧号与第三帧号的差值达到第一阈值,则发送第一密钥更新请求。 【0212】 可选的,如果在上一次密钥更新过程中没有保留指示密钥开始时间的信息或者第一节点之前没有进行过密钥更新,则第一节点预先配置目标帧号即可。 如果第一节点检测到当前通信帧号与目标帧号的差值小于或等于第一阈值,则第一节点发送第一密钥更新请求。 第一节点除了获取上次密钥更新时保留的第三个帧号外,还获取上次密钥更新时发送的密钥更新请求中的帧号,即上次收到响应报文时的帧号。注意,帧number,或者是上次更新的key第一次使用通信帧的帧号,可以记录下来,用来检测当前key是否需要更新。 【0213】 步骤S502,第二节点根据第一共享密钥对第一身份凭证进行验证。 【0214】 具体地,第一身份凭证由第一节点根据第一节点与第二节点之间的第一共享密钥生成。 相应地,第二节点可以根据第一共享密钥验证第一身份凭证是否正确。 【0215】 在一个可选的方案中,协议要求第一节点使用一定的参数来生成第一身份凭证,使得第二节点也使用相同的参数来用于验证。指定应该生成身份凭证。 如果用于验证的身份凭证与第一身份凭证相同,则认为验证成功。 例如,第一身份凭证是使用HMAC生成的。 因此,第二节点通过HMAC生成用于验证的身份凭证,也称为校验值check1,然后利用该用于验证的身份凭证,可以验证第一身份凭证是否正确。 下面举例说明。 【0216】 例如,第一身份认证信息AUTHm为HMAC(PSK),则第二节点根据第二节点与第一节点之间的预共享密钥PSK,使用HMAC得到校验值check1=Get HMAC(PSK)。 如果校验值 check1 等于 AUTHm,则验证成功。 【0217】 又例如,若第一身份凭证AUTHm为HMAC(PSK,S1),则第二节点可以使用第二节点与第一节点之间的预共享密钥PSK和第一密钥协商参数S1获取校验值check1=HMAC(PSK, S1) 通过使用基于 HMAC 如果校验值 check1 等于 AUTHm,则验证成功。 第一密钥协商参数S1请参见步骤S501中的相应描述。 【0218】 可选的,第一身份信息验证失败表明第一节点的身份不可信。 因此,第二节点可以不执行后续的密钥更新步骤。 在这种情况下,第二节点可以断开与第一节点的通信连接,或者第二节点可以向第一节点发送更新失败指示信息,或者第二节点可以1丢弃不响应rekey请求,从而保证第二节点的数据安全。 【0219】 可选的,第二节点可以对第一密钥更新请求进行消息完整性验证,以防止第一密钥更新请求中的信息被其他设备篡改。 第一密钥更新请求可以包括完整性保护验证标识符。 第二节点使用完整性保护验证标识对第一rekey请求进行消息完整性验证。 如果验证成功,则第二节点执行对第一身份凭证进行验证的步骤。 如果验证失败,则第二节点可以断开与第一节点的通信连接,或者向第一节点发送更新失败指示信息,或者第二节点可以放弃rekey请求不响应,从而保证数据安全。第二个节点。 【0220】 步骤S503、若第一身份凭证验证成功,则第二节点根据第一密钥协商参数确定第一目标密钥。 【0221】 具体地,第二节点根据第一密钥更新请求中的第一密钥协商参数确定第一目标密钥,至少采用以下四种可选方法。 【0222】 方法一:第一密钥协商参数满足上述情况一,即第一密钥协商参数包括第一密钥协商算法参数KEm,第二节点包括第二密钥协商算法参数KEs,可以确定密钥协商算法。 第二节点可以基于第一密钥协商算法参数KEm和第二密钥协商算法参数KEs生成第一目标密钥。 【0223】 以密钥协商算法为DH算法为例,第二节点从第一节点接收的DH算法的参数可以包括素数p、随机数g、第一计算值A,由第一节点确定。第二个节点,得到的DH算法的参数包括随机数b和计算出的值B,即第二个密钥协商算法参数KEs,其中B为下式,B=g b 满足 mod p。 第二节点可以根据随机数b、计算值A和素数p确定第一目标密钥K1,其中K1为下式,K1=A b 满足 mod p。 【0224】 可选地,在第二节点确定的DH算法的参数中,随机数b被第二节点用于生成第一目标密钥,因此随机数b被认为是第二节点的密钥。计算出的值B被传输到第一个节点,因此计算出的值 B 可以被认为是第二个节点的公钥。 【0225】 方式二:第一密钥协商参数满足上述情况二,即第一密钥协商参数中包含新参数,第二节点根据第二目标密钥选择第一目标密钥,生成新参数。 第二目标密钥可以是第一节点和第二节点之间的共享密钥。 【0226】 可选的,第二节点可以通过KDF生成第一目标密钥。 【0227】 例如,第二节点根据第二目标密钥K2和新参数fresh,利用KDF算法确定第一目标密钥K1为K1=KDF(K2,fresh)。 【0228】 方式三:第一密钥协商参数满足上述情况二,即第一密钥协商参数中包含新参数。 如果从第二节点获取到算法标识tag,则第二节点根据第二目标密钥K2、新参数fresh和算法标识tag,采用KDF算法确定第一目标密钥K1。可以确定K1 =KDF(K2,新鲜,标签)。 【0229】 算法标识符可用于指示用于生成第一目标密钥的算法。 例如,字符串“encryption”用于指示用于生成加密密钥的算法。 作为另一个例子,字符串“integrity”用于指示用于生成完整性保护密钥的算法。 算法标识符可以替代地用于指示所使用的散列算法的标识符。 例如,字符串“SHA256”用于表示用于确定第一目标密钥为SHA256算法的算法。 算法标识符也可以用数字表示。 例如,01 表示 AES 加密算法,10 表示 AES-cypher-based 消息验证代码 (AES-CMAC) 完整性算法。 【0230】 算法标识可以预先配置在第一节点和第二节点之间,也可以由第一节点确定后发送给第二节点。 【0231】 方式四:第一密钥协商参数满足上述情况二,即第一密钥协商参数中包含新参数。 如果从第二节点获取到算法标识tag和算法类型type,则第二节点确定第一目标key K1为 可以确定K1=KDF(K2, fresh, tag, type),其中type表示key类型. 例如,字符串“encryption”用于表示生成加密密钥。 又例如,字符串“integrity”用于指示生成完整性保护密钥。 算法标识符用于指示用于生成第一目标密钥的算法。 【0232】 密钥类型可以在第一密钥更新请求中指示,或者可以在生成第一目标密钥之前由第一节点和第二节点预先协商。 【0233】 可选地,在方法2、方法3和方法4中的任一种或多种确定第一目标密钥的过程中,第二节点首先根据第一目标密钥K2和新参数fresh确定中间密钥,以及然后基于中间密钥,可以通过算法标识标签和密钥类型type中的至少一个来确定第一目标密钥K1。 例如,第二个节点通过密钥推导函数KDF1得到中间密钥Kmid:Kmid=KDF1(K2, fresh),然后根据中间密钥Kmid,使用密钥推导函数KDF2确定第一个目标键 K1:K1=KDF2(Kmid, tag, type)。 KDF1和KDF​​2可以是相同的密钥推导函数,也可以是不同的密钥推导函数。 在这种情况下,第一节点只需要在确定中间密钥Kmid时生成一个新的新参数,而不需要每次确定第一目标时都生成一个新的新参数,这样新的参数,减少了生成 的次数,便于管理生成的新参数。 需要说明的是,这里为了更清楚的描述方案,分两步描述了如何获取第一目标密钥。 在实际处理中,也可以通过一步得到第一目标键。 中间密钥 Kmid 只是一个中间结果。 也就是说,确定第一目标的方案满足K1=KDF2(KDF1(K2, fresh), tag, type)。 【0234】 可选的,当第一密钥更新请求携带第一更新时间的信息时,在从第一更新时间开始的时间后应用第二节点生成的第一目标密钥。 可选地,当第一更新时间由第一帧号指示时,在从第一更新时间开始的通信帧之后应用第一目标密钥。 【0235】 可选的,第二节点可以获取上一次密钥更新时使用的密钥更新请求中携带的第三帧号(或第三帧号对应的MAC序号)。 如果第二节点检测到该通信帧的帧号被翻转一次(或重新开始新一轮计数),则将当前通信帧的帧号更改为第三帧号(或该通信帧对应的MAC序号) number) 并且此时没有接收到 rekey 请求或者没有应用新的密钥,第二个节点可以断开第一个节点的连接,并且可以删除安全上下文并恢复与另一个节点的连接,从而确保安全沟通过程。 安全上下文包括共享密钥、密钥有效期、密钥更新时间等至少一项安全信息。 【0236】 可选的,第二节点还可以获取第一次使用最后更新的密钥进行通信时使用的通信帧的帧号。 如果第二节点检测到该通信帧的帧号被翻转过一次,则将当前通信帧的帧号更改为最后更新的密钥第一次通信时使用的通信帧号。帧号或更大,此时没有接收到重新生成密钥请求或没有应用新密钥,第二个节点可以断开与第一个节点的连接并删除安全上下文。这确保了通信过程中的安全性。 【0237】 步骤S504,第二节点向第一节点发送第一响应消息。 【0238】 具体地,第一响应消息中包括用于对第二节点的身份进行认证的第二身份认证信息。 如果第二节点通过方法一生成第一目标密钥,则第一响应消息还包括第二密钥协商算法参数KEs。 可选的,第一响应消息还包括第二节点生成的随机值NONCEs。 【0239】 在本发明实施例中,第二身份凭证可以由第二节点基于第一节点与第二节点之间的第一共享密钥生成。 【0240】 在一个可选方案中,第二身份凭证可以通过密码算法生成。 在密码算法为HMAC的示例中,HMAC接收一个或多个字符参数的输入并用于输出标识符,该标识符可用作身份凭证。 下面以密码算法为HMAC为例进行说明。 【0241】 示例一: 第二节点生成的第二身份凭证AUTHs可以为HMAC(PSK),即AUTHs=HMAC(PSK)。 【0242】 示例二:当第一响应消息中还包括第二密钥协商参数KEs时,第二节点生成的第二身份认证信息AUTHs可以为HMAC(PSK,KEs),即AUTHs=HMAC(PSK,KEs)。 【0243】 示例3:当第一响应消息还包括第二节点生成的随机值NONCEs时,第二节点生成的身份认证信息AUTHs为HMAC(PSK,KEs,NONCEs),或者说例如AUTHs= HMAC(PSK、K1、NONCE)。 【0244】 自然地,在用于生成第二身份凭证的参数中,除了第一共享密钥之外,还包括其他信息(例如第二节点的编号、第二节点的地址或与第一节点的连接的标识符)节点)。 如果第一响应消息中包含第二密钥协商参数KEs和/或随机值NONCEs等参数,则第二节点可以不使用这些参数生成身份凭证AUTH。 【0245】 可选的,第一响应消息为第二节点根据第一密钥协商参数和第一共享密钥能够验证第一身份凭证后发送的响应消息。 【0246】 步骤S505,第一节点使用第一共享密钥对第二身份凭证进行验证。 【0247】 具体地,第二身份信息由第二节点根据第一节点与第二节点之间的第一共享密钥生成。 相应地,第一节点可以根据第一共享密钥验证第二身份凭证是否正确。 【0248】 在一个可选的方案中,协议要求第二节点使用一定的参数生成第二身份凭证,因此第一节点也使用相同的参数用于验证,指定生成身份凭证。 如果用于验证的身份凭证与第二身份凭证相同,则认为验证成功。 【0249】 例如,第二身份凭证可以通过HMAC生成。 因此,第一节点通过HMAC生成用于验证的身份凭证,也称为校验值check2,然后利用该用于验证的身份凭证,可以验证第二身份凭证是否正确。 下面举例说明。 【0250】 例如,第二身份认证信息AUTHs为HMAC(PSK),则第一节点根据第一节点与第二节点之间的预共享密钥PSK,使用HMAC得到校验值check2=Get HMAC(PSK)。 如果校验值check2与AUTHs相同,则验证成功。 【0251】 又例如,若第一身份认证信息AUTHs为HMAC(PSK,KEs),则第一节点可以包含第一节点与第二节点之间的预共享密钥PSK,并得到校验值check2=HMAC(PSK, KEs)通过使用基于第二密钥协商参数KEs的HMAC。 如果校验值check2与AUTHs相同,则验证成功。 【0252】 可选地,如果对第二身份凭证验证失败,则第二节点的身份被指示为不可信的。 相应地,第一节点可以断开与第二节点的连接,也可以向第二节点发送更新失败指示信息,也可以丢弃第一响应消息不进行响应。这样可以保证数据更新过程中的数据安全,便于进行连接到需要执行密钥更新的节点。 【0253】 可选的,第一节点可以对第一响应消息进行消息完整性验证,以防止第一响应消息中的信息被其他设备篡改。 第二节点可以在第一响应消息中添加完整性保护验证标识。 第一节点通过完整性保护验证标识对第一响应消息的消息完整性进行验证。 如果验证成功,则第一节点继续对第二身份凭证进行验证。 如果验证失败,则第一节点可以断开与第二节点的连接,或者向第二节点发送更新失败指示信息,或者丢弃第一响应消息并且可以不响应,保证了数据更新过程中的数据安全。 【0254】 步骤S506,若第二身份凭证验证成功,则第一节点根据第一密钥协商参数确定第一目标密钥。 【0255】 具体地,第一节点根据第一密钥协商参数,至少采用以下可选方法确定第一目标密钥。 【0256】 方法一:第一密钥协商参数满足上述情况一,即第一密钥协商参数包括密钥协商算法的参数,第一响应消息包括第二密钥协商参数KEs。 第一节点可以基于第一密钥协商算法参数KEm和第二密钥协商算法参数KEs生成第一目标密钥。 【0257】 以密钥协商算法为DH算法为例,第一节点生成的DH算法的参数包括质数p、随机数g、随机数a和第一计算值A。 第一节点从第二节点接收到的DH算法的参数包括第一计算值B。 第一节点可以根据随机数a、计算值B和素数p确定第一目标密钥K1,其中K1为以下公式:K1=B a 满足 mod p。 K1=A b mod p=(g a 模式 p) b mod p=g ab mod p=(g b 模式 p) a =乙 a mod p,第一节点和第二节点确定的第一目标密钥K1相同。 【0258】 方式二:第一密钥协商参数满足上述情况二,即第一密钥协商参数中包含新参数,第一节点根据第二目标密钥和新参数生成第一目标密钥。 【0259】 可选的,第一节点可以通过KDF生成第一目标密钥。 【0260】 例如,第一节点根据第二目标键K2和新参数fresh,利用KDF确定第一目标键K1为K1=KDF(K2,fresh)。 【0261】 方式三:第一密钥协商参数满足上述情况二,即第一密钥协商参数中包含新参数。 如果从第一节点获取到算法标识tag,则第一节点根据第二目标密钥K2、新参数fresh、算法标识tag,利用KDF算法确定第一目标密钥K1,可以确定K1 =KDF(K2,新鲜,标签)。 【0262】 算法标识符可用于指示用于生成第一目标密钥的算法。 例如,字符串“encryption”用于指示用于生成加密密钥的算法。 作为另一个例子,字符串“integrity”用于指示用于生成完整性保护密钥的算法。 算法标识符可以替代地用于指示所使用的散列算法的标识符。 例如,字符串“SHA256”用于表示用于确定第一目标密钥为SHA256算法的算法。 算法标识符也可以用数字表示。 例如,01 表示 AES 加密算法,10 表示 AES-cypher-based 消息验证代码 (AES-CMAC) 完整性算法。 【0263】 算法标识可以预先配置在第一节点和第二节点之间,或者由第一节点确定。 【0264】 方式四:第一密钥协商参数满足上述情况二,即第一密钥协商参数中包含新参数。 若从第一节点获取到算法标识tag和算法类型type,则第一节点根据第二目标key K2、新参数fresh、算法标识tag、key类型type确定第一目标key K1。确定K1=KDF(K2, fresh, tag, type),其中type表示key类型。 例如,字符串“encryption”用于表示生成加密密钥。 又例如,字符串“integrity”用于指示生成完整性保护密钥。 算法标识符用于指示用于生成第一目标密钥的算法。 【0265】 密钥类型可以在第一密钥更新请求中指示,或者可以在生成第一目标密钥之前由第一节点和第二节点预先协商。 【0266】 可选地,在方法2、方法3和方法4中的任一种或多种确定第一目标密钥的过程中,第一节点首先根据第一目标密钥K2和确定的新参数fresh确定中间密钥,然后基于中间密钥,可以通过算法标识标签和密钥类型type中的至少一个确定第一目标密钥K1。 例如,第一节点利用密钥推导函数KDF1得到中间密钥Kmid:Kmid=KDF1(K2, fresh),然后利用基于中间密钥Kmid的密钥推导函数KDF2确定第一目标密钥K1 =KDF2(Kmid,标签,类型)。 KDF1和KDF​​2可以是相同的密钥推导函数,也可以是不同的密钥推导函数。 这里为了更清楚的说明该方案,分两步说明如何获取第一目标密钥。 在实际处理中,也可以通过一步得到第一目标键。 中间密钥 Kmid 只是一个中间结果。 也就是说,确定第一目标的方案满足K1=KDF2(KDF1(K2, fresh), tag, type)。 【0267】 可选的,第一目标密钥可以应用于第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥等。 【0268】 可选地,如果第一密钥更新请求指示第一更新时间,则可以在从第一更新时间开始的时间段内应用第一目标密钥。 例如,第一目标密钥为主密钥,第一密钥更新请求中包含的指示第一秘钥的信息为时间戳“1590921570”,则第一目标密钥激活时间为00:52:50 2020年2月6日,所以第一节点和第二节点将在2020年2月6日00:52:50开始的时间后收到第一个目标密钥。表示将用作主密钥。 【0269】 可选的,如果第一密钥更新请求指示第一目标密钥的有效期,则可以在第一目标密钥的有效期内应用第一目标密钥。 例如,第一目标密钥为主密钥,第一密钥更新请求中包含的指示第一秘钥的信息为时间戳“1590952447”,则第一目标密钥的有效期为20202 09:28:26 Feb 6, 2020, 以便第一节点和第二节点可以在2020年2月6日09:28:26使用第一目标密钥作为主密钥。 显示。 【0270】 可选的,第二节点还可以检测第一目标密钥的有效期,并在第一目标密钥的有效期之前确定新的目标密钥。 【0271】 可以理解的是,当主键更新请求指示第一目标键的第一更新时间和有效期时,第一目标键在从第一更新时间开始的第一目标键的有效期内申请。 【0272】 可选地,第二目标密钥可以是加密密钥。 在这种情况下,可以使用第二目标密钥对第一密钥更新请求进行加密。 相应地,第二节点在接收到第一密钥更新请求后,可以使用第二目标密钥进行解密。 类似地,可以使用第二目标密钥对第一响应请求进行加密。 相应地,第一节点在接收到第一响应消息后,可以使用第二目标密钥进行解密。 【0273】 可选的,第二目标密钥可以是完整性保护密钥。 此时,可以通过第二目标密钥对第一密钥更新请求进行完整性保护。 相应地,第二节点可以在接收到第一节点的第一密钥更新请求后,使用第二目标密钥来检查数据完整性。 类似地,可以使用第二目标密钥对第一响应请求进行完整性保护。 相应地,第一节点可以在接收到第一响应消息后,使用第二目标密钥来检查数据完整性。 在传统的密钥更新过程中,配置密钥更新点。 因此,当更新新密钥时,由于旧密钥已经过期,必须在密钥更新期间暂停加密过程,并在密钥更新完成后恢复加密过程。 但是,暂停加密进程和重启加密进程影响密钥更新效率,暂停加密进程影响安全性。 然而,在本申请的密钥更新方法中,在旧密钥到期之前更新密钥。 由于旧密钥没有过期,加密过程无需暂停,提高了密钥更新效率,提高了数据安全性。 【0274】 可选地,第二目标密钥可以是主密钥。 在这种情况下,可以使用第二目标密钥来确定加密密钥或完整性保护密钥。 因此,可以通过使用基于第二目标密钥确定的加密密钥和/或使用基于第二目标密钥确定的完整性保护密钥来对第一密钥更新请求进行加密和/或完整性保护。 相应地,第二节点在接收到第一密钥更新请求后,可以使用基于第二目标密钥确定的加密密钥对第一密钥更新请求进行解密,和/或可选地,基于第二目标密钥确定的完整性保护密钥可以用于通过使用基于第二目标密钥确定的完整性保护密钥来检查数据完整性。 类似地,可以使用基于第二目标密钥确定的加密密钥和/或基于第二目标密钥确定的完整性保护密钥对第一响应请求进行加密和/或完整性保护。 相应地,第一节点接收到第一响应消息后,可以利用基于第二目标密钥确定的加密密钥对第一响应消息进行解密,和/或,可以利用基于第二目标密钥确定的完整性保护密钥来使用基于第二目标密钥确定的完整性保护密钥检查数据完整性。 【0275】 可选地,当使用方法2和3确定第一目标密钥时,如果第一目标密钥是会话密钥,则加密或完整性保护使用第一目标密钥可以通过以下方式对第一响应消息执行: 【0276】 可选地,当第一节点使用主密钥和计数器值更新会话密钥时,第一节点检查计数器值是否被反转(或重新开始新一轮计数),检测并发送第一密钥更新请求在计数器值反转之前到第二个节点(确定的第一个目标密钥是主密钥)。 可选的,如果第一节点在计数器值取反前没有发送第一密钥更新请求,则第一节点可以断开与第二节点的通信连接,重新访问第二节点,从而保证过程的安全性。与第二个节点通信。 【0277】 可选的,第一节点可以获取上一次密钥更新时使用的密钥更新请求中携带的第三帧号(或第三帧号对应的MAC序号)。 若第一节点检测到该通信帧的帧号被反转一次,则当前通信帧的帧号大于或等于第三帧号(或第三帧号对应的MAC序号)。 ,此时还没有发送rekey请求或者没有应用新的密钥,第一节点可以断开与第二节点的连接,进一步删除对其他连接的安全上下文,从而保证通信过程中的安全。 【0278】 在图5所示的方法中,在密钥更新过程中,第一节点和第二节点基于第一共享密钥生成身份凭证。 一个节点收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,身份认证成功后才根据第一个密钥协商参数进行密钥更新,得到第一个目标钥匙。 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0279】 上述图5所示的方法实施例包括多种可能的实施方案。 下面结合图6A、6B、7A、7B、8A和8B分别描述一些实施方案。 需要说明的是,对于图6A、6B、7A、7B、8A和8B中未描述的相关概念或操作或逻辑关系,请参考图海鲷中的相应描述。 因此,将不再描述细节。 【0280】 图6A和6B示出了根据本申请实施例的又一种密钥更新方法。 该方法至少包括以下步骤。 【0281】 步骤S601,第一节点向第二节点发送第一密钥更新请求。 【0282】 本发明实施例中,可以通过使用基于第二目标密钥确定的加密密钥和/或使用基于第二目标密钥确定的完整性密钥,对第一密钥更新进行加密认证和/或完整性保护。要求。 第二目标密钥是第一节点和第二节点之间的共享密钥。 【0283】 在本发明实施例中,第一密钥更新请求包括第一密钥协商参数和第一身份认证信息。 第一密钥协商参数可以是第一密钥协商算法参数KEm。 可选的,第一密钥更新请求还可以包括随机值NONCEm、指示第一更新时间点的信息定时器、指示第一目标密钥有效期的信息expiration中的至少一个。 【0284】 在本申请实施例中,第一密钥更新请求中的第一身份凭证可以通过第一节点和第二节点之间的第一共享密钥生成,第一共享密钥为: 可以包括主密钥、预共享密钥PSK等 【0285】 可选的,生成第一身份凭证的函数可以是密码算法。 以密码算法为HMAC,第一共享密钥为预共享密钥PSK为例,生成的第一身份凭证AUTHm可以表示为AUTHm=HMAC(PSK, KEm, NONCEm, expiration, timer),参数可以不同。 当然,当第一密钥更新请求中包含第一密钥协商算法参数KEm、随机值NONCEm、指示第一目标密钥有效期的信息expiration或指示第一次更新时间的信息定时器等参数时,第一A节点可以不使用部分或全部参数来生成第一身份凭证AUTHm。 【0286】 可选地,第一节点可以通过第一通信帧向第二节点发送第一密钥更新请求,其中,第一通信帧的第二帧号为先前密钥小于所使用的密钥更新请求中持有的第三帧号在更新过程中,第三个帧号用于指示最后更新密钥的开始。 第一密钥更新请求中保存的第一帧号大于第二帧号且小于第三帧号。 例如,如果第三个帧号为2365,则在帧号以2365开头的通信帧之后应用最后更新的密钥,第一节点收到需要重新确定第一目标密钥的指示。 因此,第一节点可以在帧号为2345的第一通信帧中发送第一密钥更新请求,第一帧号2355表示第一密钥更新请求中的第一目标密钥的起始时间,用于 在通信过程中对通信帧进行安全保护时,所采用的加密方法可以是基于帧号和最后更新的密钥进行加密。 因此,在帧号重复到最后更新密钥的帧号之前,确定第一目标密钥,从而使用第一目标密钥对数据帧进行加密。 这样就可以对帧号相同的数据帧使用不同的密钥进行两次加密,提高了数据的安全性。 【0287】 可选的,如果在上一次密钥更新过程中没有保留指示密钥开始时间的信息或者第一节点之前没有进行过密钥更新,则第一节点预先配置目标帧号即可。 如果第一节点检测到当前通信帧号与目标帧号的差值小于或等于第一阈值,则第一节点发送第一密钥更新请求。 【0288】 步骤S602,第二节点对第一密钥更新请求进行解密。 【0289】 具体地,第二节点可以使用基于第二目标密钥确定的加密密钥对第一密钥更新请求进行解密。 【0290】 步骤S603,第二节点对第一密钥更新请求的消息完整性进行验证。 【0291】 可选的,如果验证失败,则第二节点可以断开与第一节点的通信连接,或者第二节点向第一节点发送更新失败指示信息,或者可以丢弃第一密钥更新请求。 【0292】 可选地,在图6A和6B所示的实施例中,第二节点可以不执行步骤S603。 此时,第二节点在执行完步骤S602之后,可以后续执行步骤S604及步骤S604的后续步骤。 【0293】 步骤S604,第二节点对第一身份凭证进行验证。 【0294】 具体地,第一身份凭证由第一节点根据第一节点与第二节点之间的第一共享密钥生成。 相应地,第二节点可以根据第一共享密钥验证第一身份凭证是否正确。 【0295】 在一个可选的方案中,协议要求第一节点使用一定的参数生成第一身份凭证,使得第二节点也使用相同的参数用于验证。指定应该生成身份凭证。 如果用于验证的身份凭证与第一身份凭证相同,则认为验证成功。 例如,第一身份凭证是使用HMAC生成的。 因此,第二节点可以通过HMAC生成用于验证的身份凭证,也称为校验值check1,然后使用该用于验证的身份凭证来验证第一身份凭证是否正确。 下面举例说明。 【0296】 例如,第一身份认证信息AUTHm为HMAC(PSK),则第二节点根据第二节点与第一节点之间的预共享密钥PSK,使用HMAC得到校验值check1=Get HMAC(PSK)。 如果校验值 check1 等于 AUTHm,则验证成功。 【0297】 又例如,如果第一身份凭证AUTHm为HMAC(PSK,KEm),则第二节点可以包括第二节点与第一节点之间的预共享密钥PSK和第一密钥协商参数KEm来获取校验值check1=HMAC(PSK, KEm) 通过使用基于 HMAC 如果校验值 check1 等于 AUTHm,则验证成功。 【0298】 可选的,第二节点在验证第一身份信息失败时,可以断开与第一节点的通信连接或者第二节点向第一节点发送更新失败指示信息;或者,第二节点丢弃第一密钥更新请求。 【0299】 可选的,第二节点可以先执行S604的操作,再执行S603的操作。 【0300】 步骤S605,若第一身份凭证验证成功,则第二节点根据第一密钥协商算法参数和第二密钥协商算法参数生成第一目标密钥。 【0301】 具体地,第二节点可以确定密钥协商算法的第二密钥协商算法参数KEs。 第二节点根据第一密钥协商算法参数KEm和第二密钥协商算法参数KEs生成第一目标密钥。 【0302】 以密钥协商算法为DH算法为例,第二节点从第一节点接收的DH算法的参数可以包括素数p、随机数g、第一计算值A,由第一节点确定。第二个节点,得到的DH算法的参数包括随机数b和计算出的值B,即第二个密钥协商算法参数KEs,其中B为下式,B=g b 满足 mod p。 第二节点可以根据随机数b、计算值A和素数p确定第一目标密钥K1,其中K1为下式,K1=A b 满足 mod p。 【0303】 步骤S606,第二节点向第一节点发送第一响应消息。 【0304】 本发明实施例中,可以通过使用基于第二目标密钥确定的加密密钥和/或使用基于第二目标密钥确定的完整性密钥,对第一响应消息进行加密认证和/或完整性保护。 . 第二目标密钥是第二节点和第一节点之间的共享密钥。 【0305】 第一响应消息包括第二身份凭证和第二密钥协商算法参数KEs,第二身份凭证用于验证第二节点的身份,第一节点和第二节点可以通过第一共享密钥生成之间 可选的,第一响应消息还可以包括随机值NONCEs。 【0306】 本发明实施例中,第二身份凭证可以采用密码算法生成。 在加密算法为HMAC的例子中,生成的第二身份凭证AUTHs可以表示为AUTHs=HMAC(PSK,KEs,NONCEs),参数的顺序可以不同。 自然地,当第一密钥更新请求中包含第二密钥协商算法参数KEs和随机值NONCEs等参数时,第二节点使用部分或全部参数生成第二身份凭证AUTHs是不可以的。 【0307】 可选的,第二节点可以先执行S606的操作,再执行S605的操作。 【0308】 步骤S607,第一节点对第一响应消息进行解密。 【0309】 具体地,第一节点可以使用基于第二目标密钥确定的加密密钥对第一响应消息进行解密。 【0310】 可选的,第一节点可以先执行S607的操作,再执行S606的操作。 【0311】 步骤S608,第一节点对第一响应消息的消息完整性进行验证。 【0312】 可选的,如果消息完整性验证失败,则第一节点可以断开与第二节点的连接,或者向第二节点发送更新失败指示信息,或者可以丢弃该响应消息。 【0313】 可选地,在图6A和6B所示的实施例中,第一节点可以不执行步骤S608。 此时,第一节点在执行完步骤S607之后,可以后续执行步骤S609及步骤S609的后续步骤。 【0314】 步骤S609,第一节点对第二身份凭证进行验证。 【0315】 具体地,第二身份信息由第二节点根据第一节点与第二节点之间的第一共享密钥生成。 相应地,第一节点可以根据第一共享密钥验证第二身份凭证是否正确。 【0316】 在一个可选的方案中,协议要求第二节点使用一定的参数生成第二身份凭证,因此第一节点也使用相同的参数用于验证,指定生成身份凭证。 如果用于验证的身份凭证与第二身份凭证相同,则认为验证成功。 【0317】 例如,第二身份凭证可以通过HMAC生成。 因此,第一节点通过HMAC生成用于验证的身份凭证,也称为校验值check2,然后利用该用于验证的身份凭证,可以验证第二身份凭证是否正确。 下面举例说明。 【0318】 例如,第二身份认证信息AUTHs为HMAC(PSK),则第一节点根据第一节点与第二节点之间的预共享密钥PSK,使用HMAC得到校验值check2=Get HMAC(PSK)。 如果校验值check2与AUTHs相同,则验证成功。 【0319】 又例如,若第一身份认证信息AUTHs为HMAC(PSK,KEs),则第一节点可以包含第一节点与第二节点之间的预共享密钥PSK,并得到校验值check2=HMAC(PSK, KEs)通过使用基于第二密钥协商参数KEs的HMAC。 如果校验值check2与AUTHs相同,则验证成功。 【0320】 可选的,如果第二身份凭证验证失败,第一节点可以断开与第二节点的连接或者向第二节点发送更新失败指示信息;或者,可以丢弃第一响应消息。 【0321】 可选的,第一节点可以先执行S609的操作,再执行S608的操作。 【0322】 步骤S610,若第二身份凭证验证成功,则第一节点根据第一密钥协商算法参数和第二密钥协商算法参数生成第一目标密钥。 【0323】 具体地,由于第一响应消息中包含第二密钥协商算法参数KEs,因此第一节点根据第一密钥协商算法参数KEm和第二密钥协商算法参数KEs.do生成第一目标密钥。 【0324】 以密钥协商算法为DH算法为例,第一节点生成的DH算法的参数包括质数p、随机数g、随机数a和第一计算值A。 第一节点从第二节点接收到的DH算法的参数包括第一计算值B。 第一节点可以根据随机数a、计算值B和素数p确定第一目标密钥K1,其中K1为以下公式:K1=B a 满足 mod p。 K1=A b mod p=(g a 模式 p) b mod p=g ab mod p=(g b 模式 p) a 模数p=B a mod p,第一节点和第二节点确定的第一目标密钥K1相同。 【0325】 可选的,第一目标密钥可以应用于第一节点和第二节点之间的共享密钥,也可以应用于主密钥或会话密钥。 【0326】 在图6A和6B所示的方法中,在密钥更新过程中,第一节点和第二节点基于第一共享密钥生成身份凭证。 一个节点收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,身份认证成功后才根据第一个密钥协商参数进行密钥更新,得到第一个目标钥匙。 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0327】 图7A和7B示出了根据本申请实施例的又一种密钥更新方法。 该方法至少包括以下步骤。 【0328】 步骤S701,第一节点向第二节点发送第一密钥更新请求。 【0329】 本发明实施例中,可以通过使用基于第二目标密钥确定的加密密钥和/或使用基于第二目标密钥确定的完整性密钥,对第一密钥更新进行加密认证和/或完整性保护。要求。 第二目标密钥是第二节点和第一节点之间的共享密钥。 【0330】 在本发明实施例中,第一密钥更新请求包括第一密钥协商参数和第一身份认证信息。 第一关键协商参数可以是新参数fresh。 可选的,第一密钥请求还可以包括随机值NONCEm、指示第一更新时间的信息定时器、指示第一目标密钥有效期的信息expiration中的至少一个。 【0331】 在本申请实施例中,第一密钥更新请求中的第一身份凭证可以通过第一节点和第二节点之间的第一共享密钥生成,第一共享密钥为: 可以包括主密钥、预共享密钥PSK等 【0332】 可选的,生成第一身份凭证的函数可以是密码算法。 以密码算法为HMAC,第一共享密钥为预共享密钥PSK为例,生成的第一身份凭证AUTHm可以表示为AUTHm=HMAC(PSK, fresh, NONCEm, expiration, timer),参数可以不同。 自然地,当第一密钥更新请求中包含新参数fresh、随机值NONCEm、指示第一目标密钥有效期的信息expiration或指示第一次更新时间的信息定时器等信息时,第一节点部分或全部参数可以不用于生成第一身份凭证AUTHm。 【0333】 可选地,第一节点可以通过第一通信帧向第二节点发送第一密钥更新请求,其中,第一通信帧的第二帧号为先前密钥小于所使用的密钥更新请求中持有的第三帧号在更新过程中,第三个帧号用于指示最后更新密钥的开始。 第一密钥更新请求中保存的第一帧号大于第二帧号且小于第三帧号。 例如,如果第三个帧号为2365,则在帧号以2365开头的通信帧之后应用最后更新的密钥,第一节点收到需要重新确定第一目标密钥的指示。 因此,第一节点可以在帧号为2345的第一通信帧中发送第一密钥更新请求,第一帧号2355表示第一密钥更新请求中的第一目标密钥的起始时间,用于 在通信过程中对通信帧进行安全保护时,所采用的加密方法可以是基于帧号和最后更新的密钥进行加密。 因此,在帧号重复到最后更新密钥的帧号之前,确定第一目标密钥,从而使用第一目标密钥对数据帧进行加密。 这样就可以对帧号相同的数据帧使用不同的密钥进行两次加密,提高了数据的安全性。 【0334】 可选的,如果在上一次密钥更新过程中没有保留指示密钥开始时间的信息或者第一节点之前没有进行过密钥更新,则第一节点预先配置目标帧号即可。 如果第一节点检测到当前通信帧号与目标帧号的差值小于或等于第一阈值,则第一节点发送第一密钥更新请求。 【0335】 步骤S702,第二节点对第一密钥更新请求进行解密。 【0336】 具体地,第二节点可以使用基于第二目标密钥确定的加密密钥对第一密钥更新请求进行解密。 【0337】 步骤S703,第二节点对第一密钥更新请求的消息完整性进行验证。 【0338】 可选的,如果消息完整性验证失败,第二节点可以断开与第一节点的通信连接或者第二节点向第一节点发送更新失败指示信息;或者,第二节点可以丢弃第一密钥更新请求。 【0339】 可选地,在图7A和7B所示的实施例中,第二节点可以不执行步骤S703。 此时,第二节点在执行完步骤S702后,可以后续执行步骤S704及步骤S704的后续步骤。 【0340】 步骤S704,第二节点对第一身份凭证进行验证。 【0341】 具体地,第一身份凭证由第一节点根据第一节点与第二节点之间的第一共享密钥生成。 相应地,第二节点可以根据第一共享密钥验证第一身份凭证是否正确。 【0342】 在一个可选的方案中,协议要求第一节点使用一定的参数生成第一身份凭证,使得第二节点也使用相同的参数用于验证。指定应该生成身份凭证。 如果用于验证的身份凭证与第一身份凭证相同,则认为验证成功。 例如,第一身份凭证是使用HMAC生成的。 因此,第二节点通过HMAC生成用于验证的身份凭证,也称为校验值check1,然后利用该用于验证的身份凭证,可以验证第一身份凭证是否正确。 下面举例说明。 【0343】 例如,第一身份认证信息AUTHm为HMAC(PSK),则第二节点根据第二节点与第一节点之间的预共享密钥PSK,使用HMAC得到校验值check1=Get HMAC(PSK)。 如果校验值check1等于AUTHm,则验证成功。 【0344】 又如,若第一密钥协商参数包括新参数fresh,且第一身份凭证AUTHm为HMAC(PSK,fresh),则第二节点基于与新参数fresh之间的预共享密钥PSK,得到使用 HMAC 校验值 check1=HMAC(PSK, fresh)。 如果校验值check1等于AUTHm,则验证成功。 【0345】 可选的,第二节点在验证第一身份信息失败时,可以断开与第一节点的通信连接或者第二节点向第一节点发送更新失败指示信息;或者,第二节点丢弃第一密钥更新请求。 【0346】 可选的,在具体实施过程中,第二节点可以先执行S704的操作,再执行S703的操作。 【0347】 步骤S705,若第一身份凭证验证成功,则第二节点根据第二目标密钥和新参数生成第一目标密钥。 【0348】 可选的,第二节点在验证第一身份信息失败时,可以断开与第一节点的通信连接或者第二节点向第一节点发送更新失败指示信息;或者,第二节点丢弃第一密钥更新请求。 【0349】 具体地,第二节点可以根据第二目标键和新参数生成第一目标键。 例如,第二节点可以根据第二目标键K2和新参数fresh确定第一目标键K1为K1=KDF(K2,fresh)。 【0350】 步骤S706,第二节点向第一节点发送第一响应消息。 【0351】 本发明实施例中,可以通过使用基于第二目标密钥确定的加密密钥和/或使用基于第二目标密钥确定的完整性密钥,对第一密钥更新进行加密认证和/或完整性保护。要求。 第二目标密钥是第二节点和第一节点之间的共享密钥。 【0352】 第一响应消息包括第二身份凭证,第二身份凭证用于使用第一节点和第二节点之间的第一共享密钥来验证第二节点的身份,可以通过生成 可选的,第一响应消息还可以包括随机值NONCEs。 【0353】 在本发明实施例中,生成第二身份凭证的算法可以为密码算法。 在加密算法为HMAC的例子中,生成的第二身份凭证AUTHs可以表示为AUTHs=HMAC(PSK,NONCEs),参数的顺序可以不同。 当然,当第一响应消息中包含随机值NONCEs等参数时,第二节点可以不使用这些参数生成第二身份认证信息AUTHs。 【0354】 可选的,在具体实现过程中,第二节点可以先执行S706的操作,再执行S705的操作。 【0355】 步骤S707,第一节点对第一响应消息进行解密。 【0356】 具体地,第一节点可以使用基于第二目标密钥确定的加密密钥对第一响应消息进行解密。 【0357】 步骤S708,第一节点对第一响应消息的消息完整性进行验证。 【0358】 可选的,如果消息完整性验证失败,则第一节点可以断开与第二节点的连接,或者向第二节点发送更新失败指示信息,或者可以丢弃该响应消息。 【0359】 可选地,在图7A和7B所示的实施例中,第一节点可以不执行步骤S708。 此时,第一节点在执行完步骤S707之后,可以后续执行步骤S709及步骤S709的后续步骤。 【0360】 步骤S709,第一节点对第二身份凭证进行验证。 【0361】 具体地,第二身份信息由第二节点根据第一节点与第二节点之间的第一共享密钥生成。 相应地,第一节点可以根据第一共享密钥验证第二身份凭证是否正确。 【0362】 在一个可选的方案中,协议要求第二节点使用一定的参数生成第二身份凭证,因此第一节点也使用相同的参数用于验证,指定生成身份凭证。 如果用于验证的身份凭证与第二身份凭证相同,则认为验证成功。 【0363】 例如,第二身份凭证可以通过HMAC生成。 因此,第一节点通过HMAC生成用于验证的身份凭证,也称为校验值check2,然后利用该用于验证的身份凭证,可以验证第二身份凭证是否正确。 下面举例说明。 【0364】 例如,第二身份认证信息AUTHs为HMAC(PSK),则第一节点根据第一节点与第二节点之间的预共享密钥PSK,使用HMAC得到校验值check2=Get HMAC(PSK)。 如果校验值check2与AUTHs相同,则验证成功。 【0365】 又如,若第一身份凭证AUTHs为HMAC(PSK, NONCEs),则第一节点使用第一节点与第二节点之间的预共享密钥PSK,得到校验值check2=HMAC(PSK, NONCEs ) 通过使用基于随机值 NONCE 的 HMAC。 如果校验值check2与AUTHs相同,则验证成功。 【0366】 可选的,第一节点可以在第二身份凭证验证失败时断开与第二节点的通信连接或者向第二节点发送更新失败指示信息,或者可以丢弃第一响应消息。 【0367】 可选的,在具体实施过程中,第一节点可以先执行S709的操作,再执行S708的操作。 【0368】 步骤S710,若第二身份凭证验证成功,则第一节点根据第二目标密钥和新参数生成第一目标密钥。 【0369】 具体地,第一节点可以根据第二目标密钥和新参数使用密钥推导函数生成第一目标密钥。 例如,第二节点可以根据第二目标键K2和新参数fresh确定第一目标键K1为K1=KDF(K2,fresh)。 【0370】 可选的,第一目标密钥可以应用于第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥等。 【0371】 在图7A和图7B所示的方法中,在密钥更新过程中,第一节点和第二节点基于第一共享密钥生成身份凭证。 一个节点在收到对方节点的消息后首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据第二目标密钥和新参数更新密钥并得到第一目标钥匙。 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0372】 图8A和8B示出了根据本申请实施例的又一种密钥更新方法。 该方法包括但不限于以下步骤。 【0373】 步骤S801,第一节点向第二节点发送第一密钥更新请求。 【0374】 本发明实施例中,可以通过使用基于第二目标密钥确定的加密密钥和/或使用基于第二目标密钥确定的完整性密钥,对第一密钥更新进行加密认证和/或完整性保护。要求。 第二目标密钥是第二节点和第一节点之间的共享密钥。 【0375】 在本发明实施例中,第一密钥更新请求包括第一密钥协商参数、新参数fresh和第一身份凭证。 第一关键协商参数可以是新参数fresh。 可选的,第一密钥请求还可以包括随机值NONCEm、指示第一更新时间的信息定时器、指示第一目标密钥有效期的信息expiration中的至少一个。 【0376】 在本申请实施例中,第一密钥更新请求中的第一身份凭证可以通过第一节点和第二节点之间的第一共享密钥生成,第一共享密钥为: 可以包括主密钥、预共享密钥PSK等 【0377】 可选的,生成第一身份凭证的算法可以是密码算法。 在密码算法为HMAC的例子中,生成的第一身份凭证AUTHm可以表示为AUTHm=HMAC(PSK, fresh, NONCEm, expiration, timer),参数顺序可以不同。 自然地,当第一密钥更新请求中包含新参数fresh、随机值NONCEm、指示第一目标密钥有效期的信息expiration或指示第一次更新时间的信息定时器等信息时,第一节点部分或全部参数可以不用于生成第一身份凭证AUTHm。 【0378】 可选地,第一节点可以通过第一通信帧向第二节点发送第一密钥更新请求,其中,第一通信帧的第二帧号为先前密钥小于所使用的密钥更新请求中持有的第三帧号在更新过程中,第三个帧号用于指示最后更新密钥的开始。 第一密钥更新请求中保存的第一帧号大于第二帧号且小于第三帧号。 例如,如果第三个帧号为2365,则在帧号以2365开头的通信帧之后应用最后更新的密钥,第一节点收到需要重新确定第一目标密钥的指示。 因此,第一节点可以在帧号为2345的第一通信帧中发送第一密钥更新请求,第一帧号2355表示第一密钥更新请求中的第一目标密钥的起始时间,用于 在通信过程中对通信帧进行安全保护时,所采用的加密方法可以是基于帧号和最后更新的密钥进行加密。 因此,在帧号重复到最后更新密钥的帧号之前,确定第一目标密钥,从而使用第一目标密钥对数据帧进行加密。 这样就可以对帧号相同的数据帧使用不同的密钥进行两次加密,提高了数据的安全性。 【0379】 可选的,如果在上一次密钥更新过程中没有保留指示密钥开始时间的信息或者第一节点之前没有进行过密钥更新,则第一节点预先配置目标帧号即可。 如果第一节点检测到当前通信帧号与目标帧号的差值小于或等于第一阈值,则第一节点发送第一密钥更新请求。 【0380】 步骤S802,第二节点对第一密钥更新请求进行解密。 【0381】 具体地,第二节点可以使用基于第二目标密钥确定的加密密钥对第一密钥更新请求进行解密。 【0382】 步骤S803,第二节点对第一密钥更新请求的消息完整性进行验证。 【0383】 可选的,如果消息完整性验证失败,第二节点可以断开与第一节点的通信连接,或者第二节点向第一节点发送更新失败指示信息;或者,第二节点丢弃第一密钥更新请求,不进行更新。回应。 【0384】 可选地,在图8A和8B所示的实施例中,第二节点可以不执行步骤S803。 此时,第二节点在执行完步骤S802后,可以后续执行步骤S804及步骤S804的后续步骤。 【0385】 步骤S804,第二节点对第一身份凭证进行验证。 【0386】 可选的,第二节点在验证第一身份信息失败时,可以断开与第一节点的通信连接或者第二节点向第一节点发送更新失败指示信息;或者,第二节点丢弃第一密钥更新请求。 【0387】 可选的,在具体实施过程中,第二节点可以先执行S804的操作,再执行S803的操作。 【0388】 步骤S805,若第一身份凭证验证成功,则第二节点根据第二目标密钥、新参数和算法标识生成第一目标密钥。 【0389】 具体地,可以使用算法标识来指示生成密钥的算法。 算法标识可以用来表示生成主密钥、加密密钥或完整性保护密钥等密钥的算法的标识。 例如,字符串“encryption”用于表示生成加密密钥。 在另一示例中,字符串“integrity”用于指示生成完整性保护密钥。 算法标识也可以用于指示所使用的哈希算法的标识等。 例如,字符串“SHA256”用于表示确定第一目标密钥的算法为SHA256算法。 算法标识可以预先配置在第一节点和第二节点之间,也可以由第一节点确定后发送给第二节点。 【0390】 第二节点可以根据第二目标密钥K2、新参数fresh和算法标识标签确定第一目标密钥K1。 【0391】 例如,第二节点根据第二目标密钥K2、新参数fresh、算法标识tag,利用密钥推导函数KDF确定第一目标密钥K1为K1=KDF(K2,fresh,tag。) . 【0392】 可选的,第二节点还根据第二目标密钥K2、新参数fresh、算法标识标签和密钥类型type,利用密钥推导函数KDF确定第一目标密钥K1为K1=KDF。(K2, fresh, tag, type),其中 type 表示键类型。 例如,字符串“encryption”用于表示生成加密密钥。 又例如,字符串“integrity”用于指示生成完整性保护密钥。 【0393】 可选的,第二节点首先根据第一目标密钥K2和新参数fresh确定中间密钥,然后根据中间密钥使用算法标识标签和密钥类型type中的至少一个第一目标密钥K1可以由 例如,第二节点利用密钥推导函数KDF1得到中间密钥Kmid:Kmid=KDF1(K2, fresh),然后根据中间密钥Kmid利用密钥推导函数KDF2确定第一目标密钥K1= KDF2(Kmid,标签,类型)。 注意,这里为了更清楚地说明这个方案,我们描述了如何通过两个步骤来获取第一个目标密钥。 在实际处理中,也可以通过一步得到第一目标键。 中间密钥 Kmid 只是一个中间结果。 也就是说,确定第一目标的方案满足K1=KDF2(KDF1(K2, fresh), tag, type)。 【0394】 步骤S806,第二节点向第一节点发送第一响应消息。 【0395】 本发明实施例中,可以通过使用基于第二目标密钥确定的加密密钥和/或使用基于第二目标密钥确定的完整性密钥,对第一响应消息进行加密认证和/或完整性保护。 . 第二目标密钥是第二节点和第一节点之间的共享密钥。 【0396】 第一响应消息包括第二身份凭证,第二身份凭证用于验证第二节点的身份。 可选的,第二身份凭证可以通过第一节点和第二节点之间的第一共享密钥生成。 可选的,第一响应消息还包括随机值NONCEs。 【0397】 在本发明实施例中,生成第二身份凭证的算法可以为密码算法。 在加密算法为HMAC的例子中,生成的第二身份凭证AUTHs可以表示为AUTHs=HMAC(PSK,NONCEs),参数的顺序可以不同。 当然,当第一响应消息中包含随机值NONCEs等参数时,第二节点可以不使用这些参数生成第二身份认证信息AUTHs。 【0398】 可选的,在具体实施过程中,第二节点可以先执行S806的操作,再执行S805的操作。 【0399】 步骤S807,第一节点对第一响应消息进行解密。 【0400】 具体地,第一节点可以使用基于第二目标密钥确定的加密密钥对第一响应消息进行解密。 【0401】 步骤S808,第一节点对第一响应消息的消息完整性进行验证。 【0402】 具体地,第一身份凭证由第一节点根据第一节点与第二节点之间的第一共享密钥生成。 相应地,第二节点可以根据第一共享密钥验证第一身份凭证是否正确。 【0403】 可选地,在图8A和8B所示的实施例中,第一节点可以不执行步骤S808。 此时,第一节点在执行完步骤S807之后,可以后续执行步骤S809及步骤S809的后续步骤。 【0404】 步骤S809,第一节点对第二身份凭证进行验证。 【0405】 具体地,第二身份信息由第二节点根据第一节点与第二节点之间的第一共享密钥生成。 相应地,第一节点可以根据第一共享密钥验证第二身份凭证是否正确。 【0406】 在一个可选的方案中,协议要求第一节点使用一定的参数来生成第一身份凭证,使得第二节点也使用相同的参数来用于验证。指定应该生成身份凭证。 如果用于验证的身份凭证与第一身份凭证相同,则认为验证成功。 例如,第一身份凭证是使用HMAC生成的。 因此,第二节点通过HMAC生成用于验证的身份凭证,也称为校验值check1,然后利用该用于验证的身份凭证,可以验证第一身份凭证是否正确。 下面举例说明。 【0407】 例如,第一身份认证信息AUTHm为HMAC(PSK),则第二节点根据第二节点与第一节点之间的预共享密钥PSK,使用HMAC得到校验值check1=Get HMAC(PSK)。 如果校验值 check1 等于 AUTHm,则验证成功。 【0408】 又如,若第一密钥协商参数包括新参数fresh,且第一身份凭证AUTHm为HMAC(PSK,fresh),则第二节点基于与新参数fresh之间的预共享密钥PSK,得到使用 HMAC 校验值 check1=HMAC(PSK, fresh)。 如果校验值check1等于AUTHm,则验证成功。 【0409】 可选地,对消息完整性的验证失败指示第二节点的身份不可信。 相应地,第一节点可以断开与第二节点的连接,或者向第二节点发送更新失败指示信息,或者丢弃第一响应消息。 【0410】 步骤S809,第一节点使用第一共享密钥对第二身份凭证进行验证。 【0411】 具体地,第二身份信息由第二节点根据第一节点与第二节点之间的第一共享密钥生成。 相应地,第一节点可以根据第一共享密钥验证第二身份凭证是否正确。 【0412】 在一个可选的方案中,协议要求第二节点使用一定的参数生成第二身份凭证,因此第一节点也使用相同的参数用于验证,指定生成身份凭证。 如果用于验证的身份凭证与第二身份凭证相同,则认为验证成功。 【0413】 例如,第二身份凭证可以通过HMAC生成。 因此,第一节点通过HMAC生成用于验证的身份凭证,也称为校验值check2,然后利用该用于验证的身份凭证,可以验证第二身份凭证是否正确。 下面举例说明。 【0414】 例如,第二身份认证信息AUTHs为HMAC(PSK),则第一节点根据第一节点与第二节点之间的预共享密钥PSK,使用HMAC得到校验值check2=Get HMAC(PSK)。 如果校验值check2与AUTHs相同,则验证成功。 【0415】 又如,若第一身份凭证AUTHs为HMAC(PSK, NONCEs),则第一节点使用第一节点与第二节点之间的预共享密钥PSK,得到校验值check2=HMAC(PSK, NONCEs ) 通过使用基于随机值 NONCE 的 HMAC。 如果校验值check2与AUTHs相同,则验证成功。 【0416】 可选的,如果第二身份凭证验证失败,第一节点可以断开与第二节点的连接或者向第二节点发送更新失败指示信息;或者,可以丢弃第一响应消息。 【0417】 可选的,在具体实施过程中,第一节点可以先执行S809的操作,再执行S808的操作。 【0418】 步骤S810,若第二身份凭证验证成功,则第一节点根据第二目标密钥和新参数生成第一目标密钥。 【0419】 具体地,可以使用算法标识来指示生成密钥的算法。 算法标识可以用来表示生成主密钥、加密密钥或完整性保护密钥等密钥的算法的标识。 例如,字符串“encryption”用于表示生成加密密钥。 在另一示例中,字符串“integrity”用于指示生成完整性保护密钥。 算法标识也可以用于指示所使用的哈希算法的标识等。 例如,字符串“SHA256”用于表示确定第一目标密钥的算法为SHA256算法。 算法标识可以预先配置在第一节点和第二节点之间,也可以由第一节点确定。 【0420】 第一节点根据第二目标密钥K2,利用KDF算法确定第一目标密钥K1为K1=KDF(K2,fresh,tag),可以确定新参数fresh,算法标识tag。 【0421】 可选的,第一节点首先根据第一目标密钥K2和新参数fresh确定中间密钥,然后根据中间密钥使用算法标识标签和密钥类型type中的至少一个第一目标密钥K1可以由 例如,第一节点利用密钥推导函数KDF1得到中间密钥Kmid:Kmid=KDF1(K2, fresh),然后利用基于中间密钥Kmid的密钥推导函数KDF2确定第一目标密钥K1 =KDF2(Kmid,标签,类型)。 KDF1和KDF​​2可以是相同的密钥推导函数,也可以是不同的密钥推导函数。 需要说明的是,这里为了更清楚的描述方案,分两步描述了如何获取第一目标密钥。 在实际处理中,也可以通过一步得到第一目标键。 中间密钥 Kmid 只是一个中间结果。 也就是说,确定第一目标的方案满足K1=KDF2(KDF1(K2, fresh), tag, type)。 【0422】 可选的,第一目标密钥可以应用于第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥等。 在图8A和8B所示的方法中,在密钥更新过程中,第一节点和第二节点基于第一共享密钥生成身份凭证。 一个节点在接收到另一节点的消息后,首先利用身份认证信息确定另一节点的身份,只有在身份认证成功后,第二个目标密钥,新的参数,并根据更新密钥算法标识符并获得第一个目标密钥。 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0423】 可选地,在图6A-6B、7A-7B或8A-8B所示的实施例中,第一节点发送的第一密钥更新请求可以不携带第一身份凭证。 相应地,第二节点可以不执行对第一身份信息进行验证的过程。 同理,第一响应消息也可以不携带第二身份凭证。 相应地,第二节点可以不执行对第二身份凭证进行验证的过程。 在这种情况下,第一个密钥更新请求通过使用第二个目标密钥(或从第二个目标密钥派生的会话密钥)来加密以验证两个身份。 【0424】 在一种可能的方案中,第一节点和第二节点包含主密钥和会话密钥。 如果会话密钥是基于主密钥确定的密钥,则当主密钥过期时,可以使用图6A和6B或图7A和7B所示的密钥更新方法替换主密钥,更新主密钥。 随着主密钥的更新,基于主密钥确定的会话密钥也需要更新。 相应地,第一节点和第二节点可以使用图8A和8B所示的密钥更新方法来更新会话密钥。 【0425】 以上对本申请实施例的方法进行了详细描述。 下面提供本申请实施例中的装置。 【0426】 图9为本申请实施例的装置90的结构示意图。 装置90可以是具有数据收发能力的电子设备,也可以是具有数据收发能力的电子设备中的芯片、集成电路等部件。 装置90可以包括发送单元901、接收单元902、验证单元903和确定单元904。 单位说明如下。 【0427】 发送单元901,用于向第二节点发送第一密钥更新请求,第一密钥更新请求包括第一密钥协商参数和第一身份凭证,第一身份凭证由第一共享密钥生成。 【0428】 接收单元902用于接收来自第二节点的第一响应消息,第一响应消息包括第二身份认证信息。 【0429】 验证单元903,用于通过第一共享密钥对第二身份凭证进行验证。 【0430】 确定单元904,用于若第二身份凭证验证成功,则根据第一密钥协商参数确定第一目标密钥。 【0431】 在密钥更新过程中,上述设备90和第二节点根据第一共享密钥生成身份认证信息。 一个节点在收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据主密钥协商参数更新密钥,得到第一个目标密钥. 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0432】 在此需要说明的是,上述的多个单元的划分仅仅是基于功能的逻辑划分,并不用于限定设备90的具体结构。 在某些实施方式中,可以将一些功能模块细分为更细的功能模块,也可以将一些功能模块合并为一个功能模块。 然而,无论功能模块是被细分还是合并,设备90在密钥更新过程中执行的一般过程是相同的。 例如,上述各单元可以简化为通信单元和处理单元。 通信单元用于实现发送单元901和接收单元902的一种或多种功能,处理单元用于实现验证单元903和判断单元904的一种或多种功能。 每个单元通常对应于相应的程序代码(或程序指令)。 当一个单元对应的程序代码在处理器上执行时,该单元执行相应的流程,实现相应的功能。 【0433】 在一种可能的实现方式中,第一密钥更新请求用于指示第一目标密钥的第一更新时间和有效期中的至少一个。 【0434】 在传统的密钥更新过程中,密钥更新时间点是在协议中预定义的,不能灵活选择。 但此处提供的装置90可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并向第二节点指示更新时间和/或有效期,从而得到第一目标密钥。可以相应地激活。 【0435】 在又一种可能的实现方式中,第一密钥更新请求包括第一帧号,第一密钥更新请求通过第一帧号指示第一更新时间。 第一帧号用多个比特表示,例如F比特。 备选地,第一密钥更新请求包含媒体访问控制序列号(MAC SN),其由M比特指示,M比特是F比特的一部分,其中M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0436】 例如,第一个key更新请求中保存的第一个帧号为2345,这可能表示第一个目标key是在帧号为2345开始的通信帧之后应用的。 【0437】 在又一种可能的实现方式中,第一目标密钥在从第一更新时间开始的第一目标密钥的有效期内应用。 【0438】 在传统的密钥更新过程中,配置密钥更新点。 因此,当旧密钥过期时更新新密钥。 由于旧密钥已经过期,更新密钥时必须暂停加密过程,更新完成后恢复加密过程。 但是,暂停加密进程和重启加密进程影响密钥更新效率,暂停加密进程影响安全性。 而在本申请的装置90中,由于旧密钥没有过期,因此在更新密钥时不需要暂停加密过程,提高了密钥更新的效率,提高了数据的安全性。 【0439】 在又一种可能的实现方式中,第一密钥协商参数包括第一密钥协商算法参数,第一响应消息还包括第二密钥协商算法参数,确定单元904确定第一密钥协商算法参数,并用于生成第一目标密钥基于第二个密钥协商算法参数。 【0440】 在又一种可能的实现方式中,第一密钥协商参数包括新参数,确定单元904用于根据第二目标密钥和新参数生成第一目标密钥。 【0441】 第二目标密钥可以是第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥、预共享密钥PSK等。 另外,可以根据第二目标密钥和新参数,使用密钥推导算法KDF生成第一目标密钥。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是新的参数和用于更新的参数,它可能包括一个计数器值(counter),序号(number)、随机值(rand)、帧号(frame number)等。 【0442】 在又一个可能的实现中,第一目标密钥是设备90的主密钥。 【0443】 在又一种可能的实现方式中,第一密钥协商参数包括新参数,确定单元904用于根据第二目标密钥、新参数和算法标识生成第一目标密钥,其中,算法标识用于标记用于确定加密或完整性保护密钥的算法。 【0444】 在又一个可能的实现中,第一目标密钥是设备90的完整性保护或加密密钥。 【0445】 在又一种可能的实现方式中,第一更新密钥请求和第一响应消息中的至少一个使用基于第二目标密钥确定的加密密钥进行加密,和/或对第一更新中的至少一个进行完整性保护使用基于第二目标密钥确定的完整性保护密钥发送密钥请求和第一响应消息。 【0446】 可以理解,传统的密钥更新方法是在旧密钥到期时更新密钥。 由于第二目标密钥已经过期,因此在确定新密钥的过程中不进行加密和完整性保护。 但是,本发明实施例提供的装置90可以在密钥过期之前确定第一目标密钥。 相应地,可以利用基于第二目标密钥确定的密钥对第一密钥更新请求和第一响应消息进行加密,从而提高数据安全性。 【0447】 在又一种可能的实现方式中,发送单元901用于通过第一通信帧向第二节点发送第一密钥更新请求,其中,第一通信帧中的第二帧数小于保存的第三帧数。上次密钥更新时使用的密钥更新请求,第3帧号用于表示上一次更新密钥的开始时间,第1帧号大于第二帧号小于第三帧号。 【0448】 在通信过程中对通信帧进行安全保护时,采用的加密方式可以是根据帧号和最后更新的密钥进行加密。 因此,在帧号迭代到最后更新的密钥的帧号之前确定第一目标密钥,从而使用第一目标密钥对数据帧进行加密。 这样就可以对帧号相同的数据帧使用不同的密钥进行两次加密,提高了数据的安全性。 在一种可选方案中,第一密钥更新请求中包含MAC序号(MAC SN)而不是第一帧号,MAC SN用M比特指示,M比特是F比特中的一个部分,M小于F。 或者,上一次密钥更新时使用的密钥更新请求中保存的第3帧号也可以由MAC SN指定,MAC SN是用于指示第3帧号的比特的一部分,可以用指示的MAC SN代替。 在该可选方案中,第一帧号、第二帧号和第三帧号的取值关系不变。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0449】 在又一种可能的实现方式中,所述通信帧包括信令面上行帧、信令面下行帧、用户面上行帧或用户面下行帧中的至少一个。 【0450】 在又一种可能的实现方式中,如果第二身份信息验证失败,则发送单元901和接收单元902断开与第二节点的通信连接,或者通过发送单元901向第二节点发送更新失败信息。 【0451】 如果对第二身份凭证验证失败,则可以看出第二节点的身份不可信。 相应地,上述装置90可以断开与第二节点的通信连接,或者可以向第二节点发送更新失败信息,使得需要进行密钥更新的节点的访问请求被重新初始化,从而保证数据安全。密钥更新过程。 【0452】 在又一种可能的实现方式中,验证单元903还用于对第一响应消息进行完整性验证,若完整性验证成功,则后续使用第一共享密钥: 执行对第二身份凭证进行验证的步骤,如果完整性验证失败,则发送单元901和接收单元902断开与第二节点的通信连接,或者使用发送单元901;这样,可以将更新失败信息发送给第二节点,或者可以向第二节点发送更新失败信息。 【0453】 设备90可以先对第一响应消息进行完整性验证,确定第一响应消息中的信息未被篡改,然后再对身份信息进行验证。 如果完整性验证失败,则第一响应信息中的数据已被篡改,表明密钥无法更新。 因此,设备90断开与第二节点的通信连接或者向第二节点发送更新失败信息,使得设备90重新接入需要进行密钥更新的节点,从而保证密钥更新中的数据安全。过程。 【0454】 各单元的实现请参见图5、6A和6B、7A和7B或8A和8B所示实施例中的相应描述。 设备90是图5、6A和6B、7A和7B或8A和8B中所示的任何实施例中的第一节点。 【0455】 图10为本申请实施例的装置100的结构示意图。 装置100可以是具有数据接收/传输能力的电子设备,也可以是具有数据接收/传输能力的电子设备中的芯片或集成电路等部件。 装置100可以包括接收单元1001、验证单元1002、确定单元1003和发送单元1004。 单位说明如下。 【0456】 接收单元1001用于接收来自第一节点的第一密钥更新请求,第一密钥更新请求包括第一密钥协商参数和第一身份认证信息。 【0457】 验证单元1002,用于通过第一共享密钥对第一身份凭证进行验证。 【0458】 确定单元1003,用于若第一身份凭证验证成功,则根据第一密钥协商参数确定第一目标密钥。 【0459】 发送单元1004,用于向第一节点发送第一响应消息,第一响应消息包括第二身份凭证,第二身份凭证使用第一共享密钥生成。 【0460】 在原始会话密钥到期之前,上述设备100和第一节点基于第一共享密钥生成身份凭证。 一个节点在收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据主密钥协商参数更新密钥,得到第一个目标密钥. 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0461】 在本说明书中,需要说明的是,上述划分为多个单元仅仅是基于功能的逻辑划分,并不用于限定设备100的具体结构。 在某些实施方式中,可以将一些功能模块细分为更细的功能模块,也可以将一些功能模块合并为一个功能模块。 然而,无论功能模块是被细分还是组合,设备100在密钥更新过程中执行的一般过程是相同的。 例如,上述各单元可以简化为通信单元和处理单元。 通信单元用于实现接收单元1001和发送单元1004的功能,处理单元用于实现验证单元1002和判断单元1003的一个或多个功能。 每个单元通常对应于相应的程序代码(或程序指令)。 当一个单元对应的程序代码在处理器上执行时,该单元执行相应的流程,实现相应的功能。 【0462】 在一种可能的实现方式中,第一密钥更新请求用于指示第一目标密钥的第一更新时间和有效期中的至少一个。 【0463】 在传统的密钥更新过程中,密钥更新时间点是在协议中预定义的,不能灵活选择。 然而,在本申请的密钥更新方法中,第一节点可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,将更新时间和/或有效期指示给设备100 , 从而可以相应地激活第一目标键。 【0464】 在又一种可能的实现方式中,第一密钥更新请求包括第一帧号,第一密钥更新请求通过第一帧号指示第一更新时间。 第一帧号用多个比特表示,例如F比特。 备选地,第一密钥更新请求包含媒体访问控制序列号(MAC SN),其由M比特指示,M比特是F比特的一部分,其中M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0465】 例如,第一个key更新请求中保存的第一个帧号为2345,这可能表示第一个目标key是在帧号为2345开始的通信帧之后应用的。 【0466】 在又一种可能的实现方式中,第一目标密钥在从第一更新时间开始的第一目标密钥的有效期内应用。 【0467】 在又一种可能的实现方式中,第一密钥协商参数包括第一密钥协商算法参数,第一响应消息包括第二密钥协商算法参数,确定单元1003确定第一密钥协商算法参数和第二密钥协商算法参数。配置为基于双密钥协商算法参数生成第一目标密钥。 【0468】 在又一种可能的实现方式中,第一密钥协商参数包括新参数,确定单元1003用于根据第二目标密钥和新参数生成第一目标密钥。 【0469】 第二目标密钥可以是第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥、预共享密钥PSK等。 另外,可以根据第二目标密钥和新参数,使用密钥推导算法KDF生成第一目标密钥。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是新的参数和用于更新的参数,它可能包括一个计数器值(counter),序号(number)、随机值(rand)、帧号(frame number)等。 【0470】 在又一个可能的实现中,第一目标密钥是设备100的主密钥。 【0471】 在又一种可能的实现方式中,第一密钥协商参数包括新参数,确定单元1003用于根据第二目标密钥、新参数和算法标识生成第一目标密钥,其中,算法标识用于标识用于确定加密或完整性保护密钥的算法。 【0472】 在又一个可能的实现中,第一目标密钥是设备100的完整性保护或加密密钥。 【0473】 在又一种可能的实现方式中,第一更新密钥请求和第一响应消息中的至少一个使用基于第二目标密钥确定的加密密钥进行加密,和/或对第一更新中的至少一个进行完整性保护使用基于第二目标密钥确定的完整性保护密钥发送密钥请求和第一响应消息。 【0474】 传统的密钥更新方法可以理解为在旧密钥过期时更新密钥。 由于第二目标密钥已经过期,因此在确定新密钥的过程中不进行加密和完整性保护。 然而,在本申请实施例中,设备100可以在密钥过期之前确定第一目标密钥。 相应地,可以利用基于第二目标密钥确定的密钥对第一密钥更新请求和第一响应消息进行加密,从而提高数据安全性。 【0475】 在又一种可能的实现方式中,发送单元1004还可以在第一身份信息验证失败时,使设备100断开与第一节点的通信连接,或者向第一节点发送更新失败指示信息。节点。 【0476】 可以看出,如果对第一身份凭证验证失败,则说明第二节点的身份不可信。 因此,设备100可以断开与第一节点的连接或者可以向第一节点发送更新失败指示信息以停止当前密钥过程,从而使处于密钥更新过程中的设备能够保证100%的数据安全。 【0477】 在又一种可能的实现方式中,验证单元1002还对第一响应消息进行完整性验证,如果完整性验证成功,则后续使用第一共享密钥验证第二身份凭证。发送单元1004还用于使设备100在完整性验证失败时断开与第一节点的通信连接或发送更新失败指示信息,用于发送给第一节点; 【0478】 在对身份信息进行验证之前,上述设备100首先对第一密钥更新请求进行完整性验证,以确定第一密钥更新请求中的信息未被篡改。 如果完整性校验失败,说明第一次密钥更新请求中的数据被篡改,无法更新密钥。 因此,上述设备100可以断开与第一节点的连接,或者可以向第一节点发送更新失败指示信息,从而保证密钥更新过程中的数据安全。 【0479】 各单元的实现请参见图5、6A和6B、7A和7B或8A和8B所示实施例中的相应描述。 设备100是图5、6A和6B、7A和7B或8A和8B所示的任何实施例中的第二节点。 【0480】 图11为本申请实施例的装置110的结构示意图。 装置110可以是具有数据接收/发送能力的电子设备,也可以是具有数据接收/发送能力的电子设备中的芯片、集成电路等部件。 设备110可以包括存储器1101、处理器1102和通信接口1103。 进一步可选地,还可以包括总线1104。 存储器1101、处理器1102和通信接口1103通过总线1104连接。 【0481】 存储器1101,用于提供存储空间,可以存储操作系统、计算机程序等数据。 存储器1101包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、或光盘只读存储器(CD-ROM)。 【0482】 处理器1102是中央处理单元(CPU)、图形处理单元(GPU)或微处理器单元(MPU)等进行算术和逻辑运算的模块,可以是一个或多个处理模块的组合。 【0483】 通信接口 1103,用于接收外部设备发送的数据和/或向外部设备发送数据,可以是网线等有线链路接口,也可以是无线链路。可以是接口(Wi-Fi 、蓝牙或类似设备)。 可选地,通信接口还可以包括耦合到接口的发射器(例如,射频发射器)、接收器等。 【0484】 设备110中的处理器1102读取存储在存储器1101中的计算机程序代码,并执行以下操作: 通过通信接口1103向第二节点发送第一密钥更新请求; 该请求包括第一密钥协商参数和第一身份认证信息, 其中, 第一身份认证信息通过第一共享密钥生成; 从节点接收包括第二身份凭证的第一响应消息; 通过第一共享密钥对第二身份凭证进行验证; 如果验证针对身份凭证成功,用于根据第一密钥协商参数确定第一目标密钥。 【0485】 在密钥更新过程中,上述设备110和第二节点基于第一共享密钥生成身份认证信息。 一个节点在收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据主密钥协商参数更新密钥,得到第一个目标密钥. 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0486】 在一种可能的实现方式中,第一密钥更新请求用于指示第一目标密钥的第一更新时间和有效期中的至少一个。 【0487】 在传统的密钥更新过程中,密钥更新时间点是在协议中预定义的,不能灵活选择。 但是,此处提供的装置110可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并向第二节点指示更新时间和/或有效期,从而得到第一目标密钥。可以相应地激活。 【0488】 在又一种可能的实现方式中,第一密钥更新请求包括第一帧号,第一密钥更新请求通过第一帧号指示第一更新时间。 第一帧号用多个比特表示,例如F比特。 备选地,第一密钥更新请求包含媒体访问控制序列号(MAC SN),其由M比特指示,M比特是F比特的一部分,其中M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0489】 例如,第一个key更新请求中保存的第一个帧号为2345,这可能表示第一个目标key是在帧号为2345开始的通信帧之后应用的。 【0490】 在又一种可能的实现方式中,第一目标密钥在从第一更新时间开始的第一目标密钥的有效期内应用。 【0491】 常规密钥更新流程,配置密钥更新时间点。 因此,当旧密钥过期时更新新密钥。 由于旧密钥已经过期,更新密钥时必须暂停加密过程,更新完成后恢复加密过程。 但是,暂停加密进程和重启加密进程影响密钥更新效率,暂停加密进程影响安全性。 然而,在本文提供的装置110中,由于旧密钥没有过期,因此在密钥更新过程中不需要暂停加密过程,从而提高了密钥更新效率,提高了数据安全性。 【0492】 在又一种可能的实现方式中,第一密钥协商参数包括第一密钥协商算法参数,第一响应消息还包括第二密钥协商算法参数,根据第一密钥协商参数选择第一目标密钥,处理器1102为具体用于根据第一密钥协商算法参数和第二密钥协商算法参数生成第一目标密钥。 【0493】 在又一种可能的实现方式中,第一密钥协商参数包括新的参数,在根据第一密钥协商参数确定第一目标密钥的操作中,处理器1102具体包括第二目标密钥和用于生成第一目标的基于新参数的密钥。 【0494】 第二目标密钥可以是第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥、预共享密钥PSK等。 另外,第一目标密钥可以通过基于第二目标密钥和新参数的密钥推导算法生成。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是新的参数和用于更新的参数,它可能包括一个计数器值(counter),序号(number)、随机值(rand)、帧号(frame number)等。 【0495】 在又一个可能的实施方式中,第一目标密钥是设备110的主密钥。 【0496】 在又一种可能的实现方式中,第一密钥协商参数包括新的参数,在根据第一密钥协商参数确定第一目标密钥的操作中,处理器1102具体包括: 用于根据新的第一目标密钥生成第一目标密钥。参数和算法标识符,算法标识符用于标记用于确定加密密钥或完整性保护密钥的算法。 【0497】 在又一个可能的实现中,第一目标密钥是设备110的完整性保护或加密密钥。 【0498】 在又一种可能的实现方式中,第一更新密钥请求和第一响应消息中的至少一个使用基于第二目标密钥确定的加密密钥进行加密,和/或对第一更新中的至少一个进行完整性保护使用基于第二目标密钥确定的完整性保护密钥发送密钥请求和第一响应消息。 【0499】 传统的密钥更新方法可以理解为在旧密钥过期时更新密钥。 由于第二目标密钥已经过期,因此在确定新密钥的过程中不进行加密和完整性保护。 然而,在本申请的实施例中,设备110可以在密钥过期之前确定第一目标密钥。 相应地,可以利用基于第二目标密钥确定的密钥对第一密钥更新请求和第一响应消息进行加密,从而提高数据安全性。 【0500】 在又一种可能的实现方式中,通信接口1103通过第一通信帧向第二节点发送第一更新密钥请求,第一通信帧的第二帧号为: 小于密钥中保存的第三帧号update request在上次key更新时使用,第3帧号用于表示上一次更新key的开始,第1帧号大于第二帧号小于第三帧号。 【0501】 在通信过程中对通信帧进行安全保护时,采用的加密方式可以是根据帧号和最后更新的密钥进行加密。 因此,在帧号迭代到最后更新的密钥的帧号之前确定第一目标密钥,从而使用第一目标密钥对数据帧进行加密。 这样就可以对帧号相同的数据帧使用不同的密钥进行两次加密,提高了数据的安全性。 【0502】 在一种可选方案中,第一密钥更新请求中包含MAC序号(MAC SN)而不是第一帧号,MAC SN用M比特指示,M比特是F比特中的一个部分,M小于F。 或者,上一次密钥更新时使用的密钥更新请求中保存的第3帧号也可以由MAC SN指定,MAC SN是用于指示第3帧号的比特的一部分,可以用指示的MAC SN代替。 在该可选方案中,第一帧号、第二帧号和第三帧号的取值关系不变。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0503】 在又一种可能的实现方式中,所述通信帧包括信令面上行帧、信令面下行帧、用户面上行帧或用户面下行帧中的至少一个。 【0504】 在又一种可能的实现方式中,处理器1102还可以在第二身份信息验证失败时断开与第二节点的通信连接或者通过通信接口1103将更新失败信息通知第二节点。接口1103用于传输。 【0505】 如果对第二身份凭证验证失败,则可以看出第二节点的身份不可信。 相应地,上述装置110可以断开与第二节点的通信连接,或者可以向第二节点发送更新失败信息,使得需要进行密钥更新的节点的访问请求被重新初始化,从而保证数据安全。密钥更新过程。 【0506】 在又一种可能的实现方式中,处理器1102在接收到来自第二节点的第一响应消息后,还对第一响应消息进行完整性验证,如果完整性验证成功,则第一处理器1102还用于执行以下步骤在使用共享密钥对第二身份凭证进行验证时,处理器1102还用于若完整性验证失败,则断开与第二节点的通信连接;或者,用于向通信接口1103指示发送:通过通信接口1103向第二节点更新故障信息。 【0507】 可见,可以通过完整性校验来判断信息是否被篡改。 因此,上述装置110在对身份信息进行验证之前,首先对第一响应消息进行完整性验证,以确定第一响应消息中的信息未被篡改。 如果完整性验证失败,则说明第一响应信息中的数据被篡改,无法更新密钥。 因此,设备110断开与第二节点的通信连接或者向第二节点发送更新失败信息,使得设备110重新接入需要进行密钥更新的节点,从而保证密钥更新中的数据安全。过程。 【0508】 各单元的实现请参见图5、6A和6B、7A和7B或8A和8B所示实施例中的相应描述。 节点10是图5、6A和6B、7A和7B或8A和8B所示的任何实施例中的第一节点。 【0509】 图12为本申请实施例的装置120的结构示意图。 装置120可以是具有数据接收/传输能力的电子设备,也可以是具有数据接收/传输能力的电子设备中的芯片或集成电路等部件。 设备120可以包括存储器1201、处理器1202和通信接口1203。 进一步可选地,还可以包括总线1204。 存储器1201、处理器1202和通信接口1203通过总线1204连接。 【0510】 内存1201,用于提供存储空间,可以存储操作系统、计算机程序等数据。 存储器1201包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、或光盘只读存储器(CD-ROM)。 【0511】 处理器1202是中央处理单元(CPU)、图形处理单元(GPU)或微处理器单元(MPU)等进行算术和逻辑运算的模块,可以是一个或多个处理模块的组合。 【0512】 通信接口1203,用于接收外部设备发送的数据和/或向外部设备发送数据,可以是以太网线缆等有线链路接口,也可以是无线链路接口(Wi-Fi)。蓝牙或类似的)。 可选地,通信接口还可以包括耦合到接口的发射器(例如,射频发射器)、接收器等。 【0513】 设备120中的处理器1202读取存储在存储器1201中的计算机程序代码,并执行以下操作:通过通信接口1203向第二节点发送第一密钥更新请求;该请求包括第一密钥协商参数和第一标识credential,使用第一共享密钥生成的第一身份凭证; 接收节点发送的包含第二身份凭证的第一响应消息; 使用第一共享密钥对第二身份凭证进行验证; 如果对身份凭证进行验证成功,用于根据第一密钥协商参数确定第一目标密钥。 【0514】 在原始会话密钥到期之前,上述装置120与第一节点基于第一共享密钥生成身份凭证。 一个节点在收到对方节点的消息后,首先利用身份认证信息确定对方节点的身份,只有在身份认证成功后才根据主密钥协商参数更新密钥,得到第一个目标密钥. 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了密钥更新过程中的数据安全性。 【0515】 在一种可能的实现方式中,第一密钥更新请求用于指示第一目标密钥的第一更新时间和有效期中的至少一个。 【0516】 在传统的密钥更新过程中,密钥更新时间点是在协议中预定义的,不能灵活选择。 但是,在本申请中,第一节点可以自定义第一目标密钥的更新时间和/或第一目标密钥的有效期,并将更新时间和/或有效期指示给设备120,使得第一节点可以相应地激活目标键。 【0517】 在又一种可能的实现方式中,第一密钥更新请求包括第一帧号,第一密钥更新请求通过第一帧号指示第一更新时间。 第一帧号用多个比特表示,例如F比特。 备选地,第一密钥更新请求包含媒体访问控制序列号(MAC SN),其由M比特指示,M比特是F比特的一部分,其中M小于F。 具体地,用于指示第一帧号的比特包括上部和下部两部分。 下半部分是用于指示MAC SN的M位。 高阶部分用N位表示。 可选的,N比特为用于指示超帧号的多个比特。 在该替代方案中,可以在密钥更新请求中保留尽可能少的信息,从而减少信令消耗,提高通信效率。 【0518】 例如,第一个key更新请求中保存的第一个帧号为2345,这可能表示第一个目标key是在帧号为2345开始的通信帧之后应用的。 【0519】 在又一种可能的实现方式中,第一目标密钥在从第一更新时间开始的第一目标密钥的有效期内应用。 【0520】 在传统的密钥更新过程中,配置密钥更新点。 因此,当旧密钥过期时,更新新密钥。 由于旧密钥已经过期,更新密钥时必须暂停加密过程,更新完成后恢复加密过程。 但是,暂停加密进程和重启加密进程影响密钥更新效率,暂停加密进程影响安全性。 然而,在本文提供的装置120中,由于旧密钥未过期,因此在密钥更新期间无需暂停加密过程,从而提高了密钥更新效率并提高了数据安全性。 【0521】 在又一种可能的实现方式中,第一密钥协商参数包括第一密钥协商算法参数,第一响应消息还包括第二密钥协商算法参数,根据第一密钥协商参数选择第一目标密钥,处理器1202为具体用于根据第一密钥协商算法参数和第二密钥协商算法参数生成第一目标密钥。 【0522】 在又一种可能的实现方式中,第一密钥协商参数包括新的参数,在根据第一密钥协商参数确定第一目标密钥的操作中,处理器1202具体包括第二目标密钥,用于生成第一目标密钥基于新的参数。 【0523】 第二目标密钥可以是第一节点和第二节点之间的共享密钥,包括主密钥、会话密钥、预共享密钥PSK等。 另外,可以根据第二目标密钥和新参数,使用密钥推导算法KDF生成第一目标密钥。 例如,利用秘值Key导出的新密钥DK可以表示为DK=KDF(Key, fresh),其中fresh是新的参数和用于更新的参数,它可能包括一个计数器值(counter),序号(number)、随机值(rand)、帧号(frame number)等。 【0524】 在又一个可能的实施方式中,第一目标密钥是设备120的主密钥。 【0525】 在又一种可能的实现方式中,第一密钥协商参数包括新的参数,在根据第一密钥协商参数确定第一目标密钥的操作中,处理器1202具体包括: 第二目标密钥; 用于生成第一目标密钥基于新参数和算法标识符,算法标识符用于标记用于确定加密密钥或完整性保护密钥的算法。 【0526】 在又一个可能的实现中,第一目标密钥是设备120的完整性保护或加密密钥。 【0527】 在又一种可能的实现方式中,第一更新密钥请求和第一响应消息中的至少一个使用基于第二目标密钥确定的加密密钥进行加密,和/或对第一更新中的至少一个进行完整性保护使用基于第二目标密钥确定的完整性保护密钥发送密钥请求和第一响应消息。 【0528】 可以理解,常规的密钥更新方式是在旧密钥过期时更新密钥。 由于第二目标密钥已经过期,因此在确定新密钥的过程中不进行加密和完整性保护。 但是,在本发明实施例中,可以在密钥到期之前确定第一目标密钥。 相应地,可以利用基于第二目标密钥确定的密钥对第一密钥更新请求和第一响应消息进行加密,从而提高数据安全性。 【0529】 在又一种可能的实现方式中,处理器1202还可以在第一身份信息验证失败时断开与第一节点的通信连接,或者通过通信接口1203向第一节点发送更新失败指示信息。配置如下所示通信接口1203用于传输到节点。 【0530】 如果第一身份凭证验证失败,则设备120可以断开与第一节点的连接或者向第一节点发送更新失败指示信息,并停止当前密钥进程。可见,这样保证了数据的安全性。密钥更新过程中的节点。 【0531】 在又一种可能的实现方式中,处理器1202在接收到来自第一节点的第一密钥更新请求后,还对第一密钥更新请求进行完整性验证,如果完整性验证成功,则后续处理器1202用于执行以下步骤:通过第一共享密钥对第一身份凭证进行验证, 处理器1202还用于若完整性验证失败,则断开第一节点;或者, 用于指示通信接口1203向通信接口1203发送更新失败指示信息。第一节点通过通信接口1203; 【0532】 上述设备120首先对第一密钥更新请求进行完整性验证,确定第一密钥更新请求中的信息未被篡改,然后再对身份信息进行验证。 如果完整性校验失败,说明第一次密钥更新请求中的数据被篡改,无法更新密钥。 因此,上述设备120可以断开与第一节点的连接或者向第一节点发送更新失败指示信息,从而保证密钥更新过程中的数据安全。 【0533】 各单元的实现请参见图5、6A和6B、7A和7B或8A和8B所示实施例中的相应描述。 设备120是图5、6A和6B、7A和7B或8A和8B所示的任何实施例中的第一节点。 【0534】 本申请实施例还提供了一种计算机可读存储介质。 该计算机可读存储介质存储计算机程序。 当计算机程序运行在一个或多个处理器上时,执行图5、6A和6B、7A和7B或8A和8B所示任一实施例的方法。 【0535】 本申请实施例还提供芯片系统。 一种芯片系统包括至少一个处理器、存储器和接口电路。 接口电路被配置为为至少一个处理器提供信息输入/输出,至少一个存储器存储计算机程序,当计算机程序在一个或多个处理器上执行时,图1中任一种的密钥更新方法。执行图6A和6B、图7A和7B或图8A和8B所示的实施例。 【0536】 本申请的某些实施例还提供了智能出租车产品。 智能出租车产品包括第一节点(例如,汽车驾驶室域控制器CDC),如图5、6A和6B、7A和7B或8A和8B所示,在任一实施例中均为第一节点。 此外,该车辆还包括第二节点(例如,诸如摄像头、屏幕、麦克风、扬声器、雷达、电子钥匙以及无钥匙进入和激活系统控制器等模块中的至少一个),该第二节点包括:在图6A和6B、图7A和7B或图8A和8B中所示的任何实施例中的第二节点。 【0537】 本申请实施例还提供了一种车辆。 车辆包括第一节点(例如,汽车驾驶员的域控制器CDC)。 此外,车辆还包括第二节点(例如,摄像头、屏幕、麦克风、扬声器、雷达、电子钥匙和无钥匙进入中的至少一个,或诸如激活系统控制器的模块)。 第一节点为图5、6A和6B、7A和7B或8A和8B所示任一实施例中的第一节点,第二节点为图6A和6B、7A和7B中的第一节点,或者在图8A和8B所示的任何实施例中的第二节点。 本申请实施例还提供了一种计算机程序产品。 当计算机程序产品在一个或多个处理器上执行时,可以执行图5、6A和6B、7A和7B或8A和8B所示任一实施例中的密钥更新方法。 【0538】 综上所述,本申请实施例提供的密钥更新方法,在更新密钥之前,通信双方都需要基于第一共享密钥生成身份凭证。 一个节点收到另一个节点的消息后,首先利用身份认证信息确定另一个节点的身份,身份认证成功后,根据密钥协商参数确定第一个目标密钥。 在这种情况下,即使窃听者破解了原始会话密钥,窃听者也无法伪造身份信息,从而避免了中间人攻击,提高了数据更新过程中的数据安全性。 【0539】 注意,为了简洁起见,上述方法实施例被呈现为组合的一系列动作。 然而,本领域的技术人员应该理解,本申请不限于所描述的操作顺序,因为一些步骤可以根据本申请以不同顺序或同时执行。 本领域技术人员还应该知悉,此处所描述的实施例均属于优选实施例,所关联的动作和模块并不一定是本申请所必须的。 【0540】 本申请实施例的方法的步骤顺序可以根据实际需要进行调整、合并或删减。 【0541】 本申请实施例的装置中的模块可以根据实际需要进行组合、划分或删除。 【0542】 本领域普通技术人员可以理解,上述实施例方法的全部或部分步骤可以通过程序指令相关硬件来实现。 该程序可以存储在计算机可读存储介质上。 存储介质可以包括闪存、只读存储器(ROM)、随机存取存储器(RAM)、磁盘、光盘等。 【0543】 以上所公开的仅为本申请的优选实施例而已。 本领域的技术人员可以理解,为实现上述实施例而进行的全部或部分过程,以及根据本申请权利要求做出的等同修改,都包含在本申请的保护范围之内。 [其他可能的项目] (第 1 项) 一键更新方法, 向第二节点发送第一密钥更新请求,所述第一密钥更新请求包括第一密钥协商参数和第一身份凭证,所述第一身份凭证为第一共享密钥;通过使用生成的阶段 接收来自第二节点的第一响应消息,第一响应消息包括第二身份认证信息; 利用第一共享密钥对第二身份凭证进行验证; 若第二身份凭证验证成功,则根据第一密钥协商参数确定第一目标密钥; 如何准备。 (第 2 项) 如第1项所述的方法,其中,所述第一密钥更新请求用于指示所述第一目标密钥的第一更新时间和有效期中的至少一个。 (第 3 项) 第一密钥更新请求包括第一帧号或第一媒体访问控制MAC序列号,第一密钥更新请求使用第一帧号或第一MAC序列号执行第一密钥更新请求。第2项的方法用于指示更新点。 (第 4 项) 3.如第2项所述的方法,其中在从第一更新时间开始的第一目标密钥的有效期内应用第一目标密钥。 (第 5 项) 所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息进一步包括第二密钥协商算法参数,所述基于所述第一密钥协商参数确定第一目标密钥的步骤;包括基于第一目标密钥生成第一目标密钥密钥协商算法参数和第二密钥协商算法参数。 (第 6 项) 第一密钥协商参数包括新参数,并且基于第一密钥协商参数确定第一目标密钥的步骤基于第二目标密钥和新参数生成第一目标密钥。5.根据任一项所述的方法第 1 至 4 项,包括以下步骤 (第 7 项) 第一密钥协商参数包括新参数,根据第一密钥协商参数确定第一目标密钥的步骤包括: 根据第二目标密钥、新参数和算法标识确定第一目标密钥; 5.第1至4项中任一项,包括生成密钥,其中算法标识符用于标记用于确定加密密钥或完整性保护密钥的算法,或第1段中描述的方法。 (第 8 项) 所述第一密钥更新请求和所述第一响应消息中的至少一个是通过使用基于所述第二目标密钥和/或完整性保护确定的所述加密密钥来加密的,用于所述第一密钥更新请求和中的至少一个的项目1至7所述第一响应消息通过使用基于所述第二目标密钥确定的所述完整性保护密钥。 (第 9 项) 第一密钥更新请求包括第一帧号,第一帧号用于指示第一目标密钥的更新时间点,第一密钥更新请求发送给第二节点。 通过第一通信帧向第二节点发送第一密钥更新请求,其中第一通信帧的第二帧号在上一次密钥更新时使用;小于密钥更新请求中保存的第三帧号,所述第三帧号用于指示最后更新密钥的开始时间,所述第一帧号大于所述第二帧号, 9.根据项目1至8中任一项所述的方法,包括小于所述第三帧号的步骤. (第 10 项) 10.根据第9项所述的方法,其中所述通信帧包括信令平面上行链路帧、信令平面下行链路帧、用户平面上行链路帧或用户平面下行链路帧中的至少一者。 (第 11 项) 一键更新方法, 从第一节点接收第一密钥更新请求,所述第一密钥更新请求包括第一密钥协商参数和第一身份凭证; 通过第一共享密钥对第一身份凭证进行验证; 若第一身份凭证验证成功,则根据第一密钥协商参数确定第一目标密钥; 向第一节点发送第一响应消息,第一响应消息包括第二身份凭证,第二身份凭证是使用第一共享密钥生成的;完成,阶段和 如何准备。 (第 12 项) 12.根据第11项所述的方法,其中,第一密钥更新请求用于指示第一目标密钥的第一更新时间和有效期中的至少一个。 (第 13 项) 第一密钥更新请求包括第一帧号或第一媒体访问控制MAC序列号,并且第一密钥更新请求使用第一帧号或第一MAC序列号执行第一密钥更新请求。第12项的方法, 用于表示更新点。 (第 14 项) 13.如第12项所述的方法,其中在从第一更新时间开始的第一目标密钥的有效期内应用第一目标密钥。 (第 15 项) 所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息进一步包括第二密钥协商算法参数,所述基于所述第一密钥协商参数确定第一目标密钥的步骤;包括基于所述第一目标密钥生成所述第一目标密钥密钥协商算法参数和所述第二密钥协商算法参数。 (第 16 项) 第一密钥协商参数包括新参数,并且基于第一密钥协商参数确定第一目标密钥的步骤基于第二目标密钥和新参数生成第一目标密钥。 15.根据任一项所述的方法第 11 至 14 项,包括以下步骤 (第 17 项) 第一密钥协商参数包括新参数,基于第一密钥协商参数确定第一目标密钥的步骤是基于第二目标密钥、新参数和算法标识确定第一目标密钥。第11项,包括生成目标密钥,其中算法标识符用于标识用于确定加密密钥或完整性保护密钥的算法。 15.如14中任一项所述的方法。 (第 18 项) 所述第一密钥更新请求和所述第一响应消息中的至少一个通过使用基于所述第二目标密钥和/或完整性保护确定的所述加密密钥对所述第一密钥更新请求和所述第一响应消息中的至少一个进行加密通过使用基于所述第二目标密钥确定的所述完整性保护密钥,项目11至17。根据任一项的方法。 (第 19 项) 一个装置, 发送单元,用于向第二节点发送第一密钥更新请求,所述第一密钥更新请求包括第一密钥协商参数和第一身份凭证,所述第一身份凭证为发送单元使用第一共享密钥生成的; 接收单元,用于接收来自所述第二节点的第一响应消息,所述第一响应消息包括第二身份认证信息; 验证单元,用于使用所述第一共享密钥对所述第二身份凭证进行验证; 确定单元,用于若所述第二身份凭证验证成功,则根据所述第一密钥协商参数确定第一目标密钥; 一种装置包括 (第 20 项) 20、根据第19项所述的装置,其中,所述第一密钥更新请求用于指示所述第一目标密钥的第一更新时间和有效期中的至少一个。 (第 21 项) 第一密钥更新请求包括第一帧号或第一媒体访问控制MAC序号,第一密钥更新请求使用第一帧号或第一MAC序号执行第一密钥更新请求。 20.一种装置,根据到第19项,用于指示更新点。 (第 22 项) 21.如第20项所述的装置,其中在从第一更新时间开始的第一目标密钥的有效期内应用第一目标密钥。 (第 23 项) 所述第一密钥协商参数包括第一密钥协商算法参数,所述第一响应消息还包括第二密钥协商算法参数,所述确定单元确定所述第一密钥协商算法参数和第二密钥协商参数。 23、根据任一所述的装置项目19至22的,布置成基于算法参数生成所述第一目标密钥。 (第 24 项) 23.根据第19至22项中的任一项,其中所述第一密钥协商参数包括新参数,并且所述确定单元被配置为基于第二目标密钥和所述新参数生成所述第一目标密钥。 (第 25 项) 第一密钥协商参数包括新参数,确定单元被配置为基于第二目标密钥、新参数和算法标识符生成第一目标密钥,算法标识符被加密 23.根据项目中任一项的装置19~22,用于标识用于确定密钥或完整性保护密钥的算法。 (第 26 项) 所述第一密钥更新请求和所述第一响应消息中的至少一个是通过使用基于所述第二目标密钥和/或完整性保护确定的所述加密密钥来加密的,用于所述第一密钥更新请求中的至少一个的项目19至25和根据前述权利要求中任一项所述的设备,通过使用基于所述第二目标密钥确定的所述完整性保护密钥,来处理所述第一响应消息。 (第 27 项) 第一密钥更新请求包括第一帧号,第一帧号用于指示第一目标密钥的更新时间点,发送单元使用第一通信帧向第二节点发送第一密钥更新请求其中,上一次密钥更新时使用的密钥更新请求中保存了第一个通信帧的第二个帧号,小于第三个帧号的帧号用于表示上一次更新密钥的开始时间,第一个帧号大于第二帧数且小于第三帧数; 27.根据项目19-26中任一项的设备。 (第 28 项) 28.根据项目27所述的装置,其中所述通信帧包括信令平面上行链路帧、信令平面下行链路帧、用户平面上行链路帧或用户平面下行链路帧中的至少一者。 (第 29 项) 一个装置, 接收单元,用于接收来自第一节点的第一密钥更新请求,所述第一密钥更新请求包括第一密钥协商参数和第一身份认证信息; 验证单元,用于通过第一共享密钥对所述第一身份凭证进行验证; 确定单元,用于如果所述第一身份凭证验证成功,则根据所述第一密钥协商参数确定第一目标密钥; 发送单元,用于向第一节点发送第一响应消息,第一响应消息包括第二身份凭证,第二身份凭证包括第一共享密钥; 一种装置包括 (第 30 项) 30、根据项29所述的装置,其中,所述第一密钥更新请求用于指示所述第一目标密钥的第一更新时间和有效期中的至少一个。 (第 31 项) 第一密钥更新请求包括第一帧号或第一媒体访问控制MAC序号,第一密钥更新请求使用第一帧号或第一MAC序号执行第一密钥更新请求。 31.一种装置,根据到第30项,用于指示更新点。 (第 32 项) 31.如第30项所述的装置,其中在从第一更新时间开始的第一目标密钥的有效期内应用第一目标密钥。 (第 33 项) 第一密钥协商参数包括第一密钥协商算法参数,第一响应消息包括第二密钥协商算法参数,确定单元确定第一密钥协商算法参数和第二密钥协商算法。 33.根据项目中任一项的装置30-32,用于根据参数生成所述第一目标密钥。 (第 34 项) 33.项目30至32中的任一项,其中所述第一密钥协商参数包括新参数并且所述确定单元被配置为基于第二目标密钥和所述新参数生成所述第一目标密钥。 (第 35 项) 第一密钥协商参数包括新参数,确定单元被配置为基于第二目标密钥、新参数和算法标识符生成第一目标密钥,其中算法标识符是33。 根据项目30中任一项的装置至32,用于标识用于确定加密密钥或完整性保护密钥的算法。 (第 36 项) 所述第一密钥更新请求和所述第一响应消息中的至少一个是通过使用基于所述第二目标密钥和/或完整性保护确定的所述加密密钥来加密的,用于所述第一密钥更新请求和/或中的至少一个的项目30至32根据前述权利要求中任一项所述的设备,通过使用基于所述第二目标密钥确定的所述完整性保护密钥,来处理所述第一响应消息。 (第 37 项) 11.一种设备,包括至少一个处理器和通信接口,所述至少一个处理器被设置为调用存储在存储器中的至少一个计算机程序,根据项目1至10中任一项所述的方法一种设备,其使得所述设备能够实现A (第 38 项) 19. 包括至少一个处理器和通信接口的设备,所述至少一个处理器被布置成调用存储在存储器中的至少一个计算机程序,根据项目 11 至 18 中任一项的方法。 (第 39 项) 一种存储计算机程序的计算机可读存储介质,其中当所述计算机程序在一个或多个处理器上运行时,执行根据第1至18项中任一项所述的方法。
现在,一起体验智慧芽的产品和服务
自动注册,无需人工审核,即可立即开始查询专利
立即注册
澳门正版图库

AI助手