双向认证密钥交换方法、装置、计算机设备和存储介质与流程

摘要: 本技术涉及计算机,特别是涉及一种双向认证密钥交换方法、装置、计算机设备和存储介质。背景技术:1、随着云计算、物联网和分布式系统的普及,网络安全通信的规模与复杂度...
双向认证密钥交换方法、装置、计算机设备和存储介质与流程

本技术涉及计算机,特别是涉及一种双向认证密钥交换方法、装置、计算机设备和存储介质。

背景技术:

1、随着云计算、物联网和分布式系统的普及,网络安全通信的规模与复杂度急剧增长。认证密钥交换(authenticated key exchange,ake)协议作为保障网络通信安全的核心基础设施,能够在公开信道上为通信双方建立安全的会话密钥,同时提供双向身份认证,其安全性直接关系到整个信息系统的安全根基。

2、基于菲亚特-沙米尔变换的格基签名与ake组合方案。该类方案将格基数字签名与密钥封装机制进行组合,通过签名实现认证。然而,其组合方式往往较为直接,缺乏底层原语间的深度融合,导致协议消息臃肿、带宽开销大。同时,其安全性证明通常将ake安全性与签名安全性及密钥封装机制(key encapsulation mechanism,kem)安全性作为独立模块分别归约,最终总损失因子为各模块损失因子之乘积,进一步恶化了归约紧致性。此外,签名验证过程涉及大范数多项式的计算和拒绝采样,增加了协议的计算延迟,难以适用于低时延通信场景。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提高安全性的双向认证密钥交换方法、装置、计算机设备和存储介质。

2、第一方面,本技术提供了一种双向认证密钥交换方法,包括:

3、获取第一认证消息;第一认证消息用于使得第二通信方验证第一通信方的身份信息,包括第一通信方的第一公钥;

4、向第二通信方发送第一认证消息,以供第二通信方根据第一认证消息中的第一公钥和第二通信方的第二公钥,生成第二认证消息;第二认证消息包括第二通信方的第二公钥;

5、根据第二公钥和第一通信方的第一私钥之间的乘积,还原第二通信方的通信密钥种子;

6、对第二通信方的通信密钥种子和第一通信方的通信密钥种子间的拼接结果进行密钥派生处理,得到第二通信方的参考通信密钥;

7、向第二通信方发送参考通信密钥,以供第二通信方根据自身的标准通信密钥验证参考通信密钥的正确性;

8、在接收到第二通信方发送的确认码的情况下,完成第一通信方和第二通信方的通信密钥交换;确认码用于表征参考通信密钥正确。

9、在其中一个实施例中,第二认证消息还包括第二通信方的协调信号;根据第二公钥和第一通信方的第一私钥之间的乘积,还原第二通信方的通信密钥种子,包括:

10、根据第二公钥和第一通信方的第一私钥之间的乘积,确定第一通信方与第二通信方之间的共享参数;

11、根据共享参数和协调信号,还原第二通信方的通信密钥种子;

12、其中,协调信号用于消除第一通信方与第二通信方之间由于噪声导致的共享参数偏差。

13、在其中一个实施例中,获取第一认证消息,包括:

14、获取信任中心方发送的公共参数和第二通信方发送的第二公钥;公共参数为信任中心方、第一通信方和第二通信方中共有且固定不变的参数;

15、根据公共参数,生成第一通信方的第一公钥和第一私钥;

16、根据第一公钥、第一私钥,以及,第一通信方的协调信号,生成向第二通信方发送的第一认证消息。

17、第二方面,本技术提供了一种双向认证密钥交换方法,包括:

18、获取第二通信方的第二公钥和第一通信方发送的第一认证消息;第一认证消息包括第一通信方的第一公钥;

19、根据第一认证消息中的第一公钥和第二公钥之间的乘积,生成第二认证消息;

20、向第一通信方发送第二认证消息,以供第一通信方根据第二认证消息中的第二公钥和第一通信方的第一私钥,生成第二通信方的参考通信密钥;

21、接收第一通信方发送的参考通信密钥,并确定参考通信密钥与第二通信方的标准通信密钥之间的一致性;

22、在参考通信密钥与标准通信密钥一致的情况下,向第一通信方发送确认码。

23、在其中一个实施例中,第一认证消息中还包括第一通信方的协调信号;根据第一认证消息中的第一公钥和第二公钥之间的乘积,生成第二认证消息,包括:

24、根据第一公钥和第二公钥之间的乘积,确定第一通信方与第二通信方之间的共享参数;

25、根据共享参数和第一通信方的协调信号,还原第一通信方的通信密钥种子;

26、对第一通信方的通信密钥种子和第二通信方的通信密钥种子的拼接结果进行密钥派生处理,得到第一通信方的参考通信密钥;

27、根据第一通信方的参考通信密钥和第二通信方的协调信号,生成第二认证消息。

28、第三方面,本技术还提供了一种双向认证密钥交换装置,应用于第一通信方,包括:

29、第一获取模块,用于获取第一认证消息;第一认证消息用于使得第二通信方验证第一通信方的身份信息,包括第一通信方的第一公钥;

30、第一收发模块,用于向第二通信方发送第一认证消息,以供第二通信方根据第一认证消息中的第一公钥和第二通信方的第二公钥,生成第二认证消息;第二认证消息包括第二通信方的第二公钥;

31、第一解密模块,用于根据第二公钥和第一通信方的第一私钥之间的乘积,还原第二通信方的通信密钥种子;对第二通信方的通信密钥种子和第一通信方的通信密钥种子间的拼接结果进行密钥派生处理,得到第二通信方的参考通信密钥;

32、第一收发模块,还用于向第二通信方发送参考通信密钥,以供第二通信方根据自身的标准通信密钥验证参考通信密钥的正确性;在接收到第二通信方发送的确认码的情况下,完成第一通信方和第二通信方的通信密钥交换;确认码用于表征参考通信密钥正确。

33、第四方面,本技术还提供了一种双向认证密钥交换装置,应用于第二通信方,包括:

34、第二获取模块,用于获取第二通信方的第二公钥和第一通信方发送的第一认证消息;第一认证消息包括第一通信方的第一公钥;

35、第二解密模块,用于根据第一认证消息中的第一公钥和第二公钥之间的乘积,生成第二认证消息;

36、第二收发模块,用于向第一通信方发送第二认证消息,以供第一通信方根据第二认证消息中的第二公钥和第一通信方的第一私钥,生成第二通信方的参考通信密钥;接收第一通信方发送的参考通信密钥,并确定参考通信密钥与第二通信方的标准通信密钥之间的一致性;在参考通信密钥与标准通信密钥一致的情况下,向第一通信方发送确认码。

37、第五方面,本技术还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

38、获取第一认证消息;第一认证消息用于使得第二通信方验证第一通信方的身份信息,包括第一通信方的第一公钥;

39、向第二通信方发送第一认证消息,以供第二通信方根据第一认证消息中的第一公钥和第二通信方的第二公钥,生成第二认证消息;第二认证消息包括第二通信方的第二公钥;

40、根据第二公钥和第一通信方的第一私钥之间的乘积,还原第二通信方的通信密钥种子;

41、对第二通信方的通信密钥种子和第一通信方的通信密钥种子间的拼接结果进行密钥派生处理,得到第二通信方的参考通信密钥;

42、向第二通信方发送参考通信密钥,以供第二通信方根据自身的标准通信密钥验证参考通信密钥的正确性;

43、在接收到第二通信方发送的确认码的情况下,完成第一通信方和第二通信方的通信密钥交换;确认码用于表征参考通信密钥正确。

44、第六方面,本技术还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

45、获取第二通信方的第二公钥和第一通信方发送的第一认证消息;第一认证消息包括第一通信方的第一公钥;

46、根据第一认证消息中的第一公钥和第二公钥之间的乘积,生成第二认证消息;

47、向第一通信方发送第二认证消息,以供第一通信方根据第二认证消息中的第二公钥和第一通信方的第一私钥,生成第二通信方的参考通信密钥;

48、接收第一通信方发送的参考通信密钥,并确定参考通信密钥与第二通信方的标准通信密钥之间的一致性;

49、在参考通信密钥与标准通信密钥一致的情况下,向第一通信方发送确认码。

50、第七方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

51、获取第一认证消息;第一认证消息用于使得第二通信方验证第一通信方的身份信息,包括第一通信方的第一公钥;

52、向第二通信方发送第一认证消息,以供第二通信方根据第一认证消息中的第一公钥和第二通信方的第二公钥,生成第二认证消息;第二认证消息包括第二通信方的第二公钥;

53、根据第二公钥和第一通信方的第一私钥之间的乘积,还原第二通信方的通信密钥种子;

54、对第二通信方的通信密钥种子和第一通信方的通信密钥种子间的拼接结果进行密钥派生处理,得到第二通信方的参考通信密钥;

55、向第二通信方发送参考通信密钥,以供第二通信方根据自身的标准通信密钥验证参考通信密钥的正确性;

56、在接收到第二通信方发送的确认码的情况下,完成第一通信方和第二通信方的通信密钥交换;确认码用于表征参考通信密钥正确。

57、第八方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

58、获取第二通信方的第二公钥和第一通信方发送的第一认证消息;第一认证消息包括第一通信方的第一公钥;

59、根据第一认证消息中的第一公钥和第二公钥之间的乘积,生成第二认证消息;

60、向第一通信方发送第二认证消息,以供第一通信方根据第二认证消息中的第二公钥和第一通信方的第一私钥,生成第二通信方的参考通信密钥;

61、接收第一通信方发送的参考通信密钥,并确定参考通信密钥与第二通信方的标准通信密钥之间的一致性;

62、在参考通信密钥与标准通信密钥一致的情况下,向第一通信方发送确认码。

63、第九方面,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

64、获取第一认证消息;第一认证消息用于使得第二通信方验证第一通信方的身份信息,包括第一通信方的第一公钥;

65、向第二通信方发送第一认证消息,以供第二通信方根据第一认证消息中的第一公钥和第二通信方的第二公钥,生成第二认证消息;第二认证消息包括第二通信方的第二公钥;

66、根据第二公钥和第一通信方的第一私钥之间的乘积,还原第二通信方的通信密钥种子;

67、对第二通信方的通信密钥种子和第一通信方的通信密钥种子间的拼接结果进行密钥派生处理,得到第二通信方的参考通信密钥;

68、向第二通信方发送参考通信密钥,以供第二通信方根据自身的标准通信密钥验证参考通信密钥的正确性;

69、在接收到第二通信方发送的确认码的情况下,完成第一通信方和第二通信方的通信密钥交换;确认码用于表征参考通信密钥正确。

70、第十方面,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

71、获取第二通信方的第二公钥和第一通信方发送的第一认证消息;第一认证消息包括第一通信方的第一公钥;

72、根据第一认证消息中的第一公钥和第二公钥之间的乘积,生成第二认证消息;

73、向第一通信方发送第二认证消息,以供第一通信方根据第二认证消息中的第二公钥和第一通信方的第一私钥,生成第二通信方的参考通信密钥;

74、接收第一通信方发送的参考通信密钥,并确定参考通信密钥与第二通信方的标准通信密钥之间的一致性;

75、在参考通信密钥与标准通信密钥一致的情况下,向第一通信方发送确认码。

76、上述双向认证密钥交换方法、装置、计算机设备和存储介质,通过第一通信方主动发起基于公钥的身份认证流程,并结合第二通信方反馈的第二认证消息,实现了双向身份验证与通信密钥种子的安全还原;利用第二公钥与第一私钥的乘积进行密钥种子还原,并进一步对双方密钥种子进行拼接与密钥派生处理,显著提升了通信密钥的随机性和抗破解能力;同时,通过发送参考通信密钥供第二通信方自身验证正确性,并在验证通过后以确认码形式反馈,确保了双方最终建立的通信密钥在数值上的严格一致性,有效防止了中间人篡改和密钥协商不一致的风险,从而在保证双向认证可靠性的同时,显著增强了密钥交换过程的安全性与稳定性。

77、另外,通过第二通信方主动获取并利用第一通信方发送的第一认证消息中的第一公钥,结合自身的第二公钥进行乘积运算以生成第二认证消息,从而实现了对第一通信方身份的隐含验证,并在此基础上构建安全的双向认证应答机制;进一步地,通过向第一通信方反馈第二认证消息以触发对方生成参考通信密钥,并在本地独立确定该参考通信密钥与自身标准通信密钥的一致性,仅在完全匹配时才向第一通信方发送确认码,从而确保了通信双方在密钥协商过程中能够以主动且对等的方式参与身份认证与密钥验证;整个方案有效保障了会话密钥在双方之间的数值一致性和认证完整性,杜绝了因密钥分歧或伪造身份导致的通信安全隐患,显著提升了密钥交换过程的安全性和可靠性。