一种密钥确定方法、装置、电子设备及存储介质制造方法及图纸

技术编号:35596097 阅读:8 留言:0更新日期:2022-11-16 15:15
本申请提供了一种密钥确定方法、装置、电子设备及存储介质,该方法包括:在与数据接收端确定会话密钥时,生成第一随机数;通过第一密钥对第一数据进行加密,得到加密后的第一数据,并向数据接收端发送加密后的第一数据;接收数据接收端所发送的第二数据;对第二数据进行解密,得到解密数据;在解密数据包括第一随机数时,通过第二密钥对第四数据进行加密,得到第五数据,并向数据接收端发送第五数据;将第二密钥确定为与数据接收端通信时的会话密钥。在本方案中通过通信双方在协商会话密钥的过程中,借助通信双方产生的随机数进行协议确认,不需要依赖其他完整性校验方式,增加了协商协议的可重放性,简化了协商会话密钥的流程。程。程。

【技术实现步骤摘要】
一种密钥确定方法、装置、电子设备及存储介质


[0001]本申请涉及通信
,特别是涉及一种密钥确定方法、装置、电子设备及存储介质。

技术介绍

[0002]随着通信环境的日益复杂和信息技术的不断发展,通信环境中的攻击手段也不断发展,使得通信双方之间传输的数据存在不同程度的安全隐患,因此,需要对传输数据进行加密,以防止传输数据被攻击。
[0003]相关技术中,通信双方协商密钥需要依赖其他完整性校验方式。例如,通信双方中的数据发送方在向数据接收方传输数据的同时,还会携带散列值,数据接收方接收到传输数据和散列值后,进行md5校验。具体的,数据接收方通过对接收的传输数据执行散列运算,得到散列值;并将计算出的散列值与随数据传输的散列值进行比较;如果两个散列值相同,确定传输数据完整无误、没有被窜改过。
[0004]由上述描述可知,相关技术中,相当于通过散列值实现了对传输数据进行加密,通信双方确定通信密钥需要依赖于md5校验等完整性校验方式,流程复杂。

技术实现思路

[0005]为解决上述技术问题,本申请示出了一种密钥确定方法、装置、电子设备及存储介质。
[0006]第一方面,本申请实施例提供了一种密钥确定方法,应用于数据发送端,包括:
[0007]在与数据接收端确定会话密钥时,生成第一随机数;
[0008]通过第一密钥对第一数据进行加密,得到加密后的第一数据,并向所述数据接收端发送所述加密后的第一数据;所述第一数据包括所述第一随机数,所述第一密钥为所述数据发送端和数据接收端共享的密钥;
[0009]接收所述数据接收端所发送的第二数据;所述第二数据包括通过所述第一密钥加密的第二随机数,以及,通过第二密钥加密的所述第三数据,所述第二随机数是所述数据接收端生成的,且所述第二随机数与所述第一随机数不同,所述第二密钥基于对所述第一密钥、所述第一随机数和所述第二随机数进行运算得到,所述第三数据包括所述第一随机数;
[0010]对所述第二数据进行解密,得到解密数据;
[0011]在所述解密数据包括所述第一随机数时,通过所述第二密钥对第四数据进行加密,得到第五数据,并向所述数据接收端发送所述第五数据,以使得所述数据接收端解密所述第五数据,并在解密所得的数据中包括所述第二随机数时,将所述第二密钥确定为与所述数据发送端通信时的会话密钥;
[0012]将所述第二密钥确定为与所述数据接收端通信时的会话密钥。
[0013]可选的,所述对所述第二数据进行解密,得到解密数据,包括:
[0014]通过所述第一密钥对所述加密的第二随机数进行解密,得到所述第二随机数;
[0015]对所述第一密钥、所述第一随机数和所述第二随机数进行异或运算,得到第二密钥;
[0016]通过所述第二密钥对所述加密的第三数据进行解密,得到所述第一随机数和所述第四数据,所述第四数据包括第二随机数。
[0017]可选的,所述第一数据包括发送所述第一数据对应的第一时间戳;所述第二数据包括发送所述第二数据对应的第二时间戳;所述第五数据包括发送所述第五数据对应的第三时间戳,所述第一时间戳、所述第二时间戳以及所述第三时间戳均不同。
[0018]第二方面,本申请实施例提供了一种密钥确定方法,应用于数据接收端,包括:
[0019]接收数据发送端所发送的加密后的第一数据;所述加密后的第一数据是所述数据发送端通过第一密钥对第一数据进行加密得到,所述第一密钥为所述数据发送端和数据接收端共享的密钥,所述第一数据包括第一随机数,所述第一随机数是所述数据发送端生成的;
[0020]通过所述第一密钥解密所述加密后的第一数据,得到解密后的第一数据,所述解密后的第一数据包括所述第一随机数;
[0021]生成第二随机数,所述第二随机数与所述第一随机数不同;
[0022]基于所述第一密钥、所述第一随机数和所述第二随机数,生成第二密钥;
[0023]通过所述第一密钥对所述第二随机数进行加密,并通过所述第二密钥对第三数据进行加密,得到第二数据;所述第三数据包括所述第一随机数;
[0024]向所述数据发送端发送所述第二数据,并接收所述数据发送端所发送的第五数据;所述第五数据是所述数据发送端对所述第二数据进行解密,得到的解密数据包括所述第一随机数和第四数据时,向所述数据接收端发送的,且所述第五数据通过所述第二密钥对第四数据加密得到,所述第四数据包括所述第二随机数;
[0025]通过所述第二密钥对所述第五数据进行解密,在解密所得的数据中包括所述第二随机数时,将所述第二密钥确定为与所述数据发送端通信时的会话密钥。
[0026]可选的,所述基于所述第一密钥、所述第一随机数和所述第二随机数,生成第二密钥,包括:
[0027]将所述第一密钥与所述第一随机数进行异或运算,得到异或运算结果;
[0028]将所述异或运算结果与所述第二随机数进行异或运算,得到第二密钥。
[0029]可选的,所述第一数据包括发送所述第一数据对应的第一时间戳;所述第二数据包括发送所述第二数据对应的第二时间戳;所述第五数据包括发送所述第五数据对应的第三时间戳,所述第一时间戳、所述第二时间戳以及所述第三时间戳均不同。
[0030]第三方面,本申请实施例提供了一种密钥确定装置,应用于数据发送端,包括:
[0031]第一随机数生成模块,用于在与数据接收端确定会话密钥时,生成第一随机数;
[0032]第一数据发送模块,用于通过第一密钥对第一数据进行加密,得到加密后的第一数据,并向所述数据接收端发送所述加密后的第一数据;所述第一数据包括所述第一随机数,所述第一密钥为所述数据发送端和数据接收端共享的密钥;
[0033]第二数据接收模块,用于接收所述数据接收端所发送的第二数据;所述第二数据包括通过所述第一密钥加密的第二随机数,以及,通过第二密钥加密的所述第三数据,所述第二随机数是所述数据接收端生成的,且所述第二随机数与所述第一随机数不同,所述第
二密钥基于对所述第一密钥、所述第一随机数和所述第二随机数进行运算得到,所述第三数据包括所述第一随机数;
[0034]第二数据解密模块,用于对所述第二数据进行解密,得到解密数据;
[0035]第五数据发送模块,用于在所述解密数据包括所述第一随机数时,通过所述第二密钥对第四数据进行加密,得到第五数据,并向所述数据接收端发送所述第五数据,以使得所述数据接收端解密所述第五数据,并在解密所得的数据中包括所述第二随机数时,将所述第二密钥确定为与所述数据发送端通信时的会话密钥;
[0036]会话密钥确定模块,用于将所述第二密钥确定为与所述数据接收端通信时的会话密钥。
[0037]可选的,所述第二数据解密模块,具体用于:
[0038]通过所述第一密钥对所述加密的第二随机数进行解密,得到所述第二随机数;
[0039]对所述第一密钥、所述第一随机数和所述第二随机数进行异或运算,得到第二本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种密钥确定方法,其特征在于,应用于数据发送端,包括:在与数据接收端确定会话密钥时,生成第一随机数;通过第一密钥对第一数据进行加密,得到加密后的第一数据,并向所述数据接收端发送所述加密后的第一数据;所述第一数据包括所述第一随机数,所述第一密钥为所述数据发送端和数据接收端共享的密钥;接收所述数据接收端所发送的第二数据;所述第二数据包括通过所述第一密钥加密的第二随机数,以及,通过第二密钥加密的所述第三数据,所述第二随机数是所述数据接收端生成的,且所述第二随机数与所述第一随机数不同,所述第二密钥基于对所述第一密钥、所述第一随机数和所述第二随机数进行运算得到,所述第三数据包括所述第一随机数;对所述第二数据进行解密,得到解密数据;在所述解密数据包括所述第一随机数时,通过所述第二密钥对第四数据进行加密,得到第五数据,并向所述数据接收端发送所述第五数据,以使得所述数据接收端解密所述第五数据,并在解密所得的数据中包括所述第二随机数时,将所述第二密钥确定为与所述数据发送端通信时的会话密钥;将所述第二密钥确定为与所述数据接收端通信时的会话密钥。2.根据权利要求1所述方法,其特征在于,所述对所述第二数据进行解密,得到解密数据,包括:通过所述第一密钥对所述加密的第二随机数进行解密,得到所述第二随机数;对所述第一密钥、所述第一随机数和所述第二随机数进行异或运算,得到第二密钥;通过所述第二密钥对所述加密的第三数据进行解密,得到所述第一随机数和所述第四数据,所述第四数据包括第二随机数。3.根据权利要求1或2所述的方法,其特征在于,所述第一数据包括发送所述第一数据对应的第一时间戳;所述第二数据包括发送所述第二数据对应的第二时间戳;所述第五数据包括发送所述第五数据对应的第三时间戳,所述第一时间戳、所述第二时间戳以及所述第三时间戳均不同。4.一种密钥确定方法,其特征在于,应用于数据接收端,包括:接收数据发送端所发送的加密后的第一数据;所述加密后的第一数据是所述数据发送端通过第一密钥对第一数据进行加密得到,所述第一密钥为所述数据发送端和数据接收端共享的密钥,所述第一数据包括第一随机数,所述第一随机数是所述数据发送端生成的;通过所述第一密钥解密所述加密后的第一数据,得到解密后的第一数据,所述解密后的第一数据包括所述第一随机数;生成第二随机数,所述第二随机数与所述第一随机数不同;基于所述第一密钥、所述第一随机数和所述第二随机数,生成第二密钥;通过所述第一密钥对所述第二随机数进行加密,并通过所述第二密钥对第三数据进行加密,得到第二数据;所述第三数据包括所述第一随机数;向所述数据发送端发送所述第二数据,并接收所述数据发送端所发送的第五数据;所述第五数据是所述数据发送端对所述第二数据进行解密,得到的解密数据包括所述第一随机数和第四数据时,向所述数据接收端发送的,且所述第五数据通过所述第二密钥对第四数据加密得到,所述第四数据包括所述第二随机数;
通过所述第二密钥对所述第五数据进行解密,在解密所得的数据中包括所述第二随机数时,将所述第二密钥确定为与所述数据发送端通信时的会话密钥。5.根据权利要求4所述的方法,其特征在于,所述基于所述第一密钥、所述第一随机数和所述第二随机数,生成第二密钥,包括:将所述第一密钥与所述第一随机数进行异或运算,得到异或运算结果;将所述异或运算结果与所述第二随机数进行异或运算,得到第二密钥。6.根据权利要求4或5所述的方法...

【专利技术属性】
技术研发人员:朱小国
申请(专利权)人:视联动力信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1