基于预置量子密钥绑定验证的TLS混合抗量子密钥协商方法与流程

摘要: 本发明涉及车联网通信,具体是一种基于预置量子密钥绑定验证的tls混合抗量子密钥协商方法,以及应用这种方法的计算机终端和计算机可读存储介质。背景技术:1、随着云计...
基于预置量子密钥绑定验证的TLS混合抗量子密钥协商方法与流程

本发明涉及车联网通信,具体是一种基于预置量子密钥绑定验证的tls混合抗量子密钥协商方法,以及应用这种方法的计算机终端和计算机可读存储介质。

背景技术:

1、随着云计算、物联网、车联网、工业互联网和移动互联网等应用场景的快速发展,大量业务系统需要通过开放网络进行数据传输。为了保证通信过程中的机密性、完整性和身份可信性,传输层安全协议tls(transport layer security)已成为当前互联网安全通信中最常用的基础协议,广泛应用于https、云服务访问、api接口调用、终端接入、边缘节点通信及专网业务系统中。以tls 1.3为例,客户端和服务器在正式传输应用数据前,需要通过握手过程完成协议版本协商、密码套件协商、身份认证和会话密钥生成。客户端首先发送clienthello消息,服务器返回serverhello消息,双方基于密钥交换结果生成共享秘密,并通过hkdf等密钥派生机制生成握手密钥和应用数据加密密钥。握手后续的finished消息用于验证双方所见握手消息是否一致,并确认双方已经派生出相同的密钥。因此,tls握手中的密钥交换、握手消息摘要和finished验证共同构成了安全信道建立的核心基础。

2、现有tls协议通常采用ecdhe、rsa、ecdsa等传统公钥密码算法实现密钥交换和身份认证,这些算法主要依赖整数分解或离散对数等数学困难问题。随着量子计算技术的发展,传统公钥密码体系可能受到量子算法攻击,导致tls长期安全性面临威胁。针对该问题,后量子密码pqc(post-quantum cryptography)逐渐被引入tls握手过程,例如通过pqc密钥封装机制替代或混合传统密钥交换方式,使通信双方在公开网络中生成具备抗量子能力的共享密钥材料。然而,pqc本质上仍属于基于数学困难问题的计算安全机制,其安全性依赖具体算法假设、参数选择和密码分析进展。如果未来某类pqc算法受到新的分析攻击,仅依赖pqc的tls握手仍可能存在安全风险。同时,现有tls混合密钥交换方案多侧重于将不同密钥交换结果进行组合,对外部高安全密钥材料如何可靠参与tls握手、如何证明其实际参与密钥派生、以及如何防止被攻击者删除、替换或降级等问题考虑不足。

3、量子密钥分发qkd通常可为通信双方提供高安全性的对称密钥材料,但传统qkd多依赖光纤或自由空间量子信道,实时部署成本较高,且受到距离、链路质量和网络拓扑限制。为降低实际部署难度,可以采用预置量子密钥方式,即由量子密钥服务平台qks在tls握手前基于量子随机数发生器qrng生成高随机性的量子密钥材料,并通过可信注入流程将成对密钥分别预置到客户端和服务器的硬件安全模块或可信安全模块中。后续双方建立tls连接时,不再依赖实时光纤量子信道,也不需要qks参与每一次实时握手,而是通过密钥标识或密钥引用从本地安全模块中调用对应的预置量子密钥。预置量子密钥直接应用于tls握手仍存在若干问题。通信双方需要在不泄露密钥本身的情况下确认双方选择的是同一份量子密钥;tls握手过程需要证明该量子密钥确实参与了本次会话密钥派生,而不是仅在消息中声明支持qkd;攻击者还可能删除、替换或重放qkd相关协商信息,使连接退化为仅使用pqc的模式,或者导致双方使用不同密钥材料。此外,预置密钥还涉及密钥池状态同步、密钥重复使用防护、握手失败后的密钥处理以及密钥耗尽后的安全策略等问题。

技术实现思路

1、为解决现有tls通信在量子计算威胁下长期安全性不足、单独依赖pqc算法安全冗余有限,以及预置量子密钥难以可靠参与tls握手并被验证的问题,本发明提供了基于预置量子密钥绑定验证的tls混合抗量子密钥协商方法。

2、为实现上述目的,本发明提供如下技术方案:

3、本发明公开一种基于预置量子密钥绑定验证的tls混合抗量子密钥协商方法,包括以下步骤:

4、s1.量子密钥服务平台生成成对的预置量子密钥,将成对的预置量子密钥分别安全注入并存储至客户端本地的硬件安全模块和服务器本地的硬件安全模块中;

5、s2.客户端与服务器在建立tls连接的过程中,通过网络交互tls握手消息,在tls握手消息中协商后量子密码的共享密钥参数,并传递预置量子密钥调用依据,以使客户端和服务器基于所述预置量子密钥调用依据分别从各自本地的硬件安全模块中获取对应的预置量子密钥,同时客户端和服务器各自生成一致的后量子共享密钥材料;

6、s3.客户端和服务器分别基于各自获取的预置量子密钥、tls握手消息摘要以及密钥调用相关信息派生出量子绑定密钥材料;随后将所述量子绑定密钥材料与所述后量子共享密钥材料进行组合,派生出混合共享密钥,并基于所述混合共享密钥生成用于本次tls连接的握手密钥与应用数据密钥;

7、s4.客户端和服务器基于各自生成的握手密钥相互发送并验证结束验证消息,若验证均通过,则确认双方的tls握手消息摘要、后量子共享密钥材料以及调用的预置量子密钥均一致,完成tls握手并使用所述应用数据密钥建立tls安全通道进行应用数据加密通信;

8、其中,在握手成功后,客户端和服务器各自本地的硬件安全模块将本次使用的预置量子密钥标记为已消耗状态,禁止重复使用。

9、作为上述方案的进一步改进,步骤s1具体包括:

10、s11.量子密钥服务平台调用量子随机数发生器生成量子随机数,并基于所述量子随机数生成成对的预置量子密钥以及对应的密钥元数据;其中,所述密钥元数据包含预置量子密钥标识、密钥池编号、密钥版本信息、适用对端标识以及预置量子密钥的有效期;

11、s12.量子密钥服务平台分别与客户端本地的硬件安全模块、服务器本地的硬件安全模块进行身份认证,认证通过后建立安全注入通道;

12、s13.量子密钥服务平台通过所述安全注入通道,向客户端侧注入客户端预置量子密钥及其密钥元数据,向服务器侧注入服务器预置量子密钥及其密钥元数据,客户端和服务器本地的硬件安全模块在完成安全存储后根据密钥元数据建立本地密钥池索引,并将注入确认返回至量子密钥服务平台。

13、作为上述方案的进一步改进,步骤s12具体包括:

14、量子密钥服务平台向对应的硬件安全模块发送身份认证请求;

15、对应的硬件安全模块接收到所述身份认证请求后,生成并返回设备身份标识、设备证书、随机挑战值以及设备签名;

16、量子密钥服务平台接收硬件安全模块的返回信息,并验证所述设备身份标识、设备证书和设备签名的有效性,若验证通过,则建立安全注入通道。

17、作为上述方案的进一步改进,步骤s2具体包括:

18、s21.客户端生成客户端随机数和客户端侧密钥交换材料,读取本地量子密钥使用策略,并向服务器发送包含后量子协商能力和量子密钥支持声明的客户端tls握手请求消息;

19、s22.服务器接收到客户端tls握手请求消息后,确定采用tls混合抗量子握手模式,生成服务器侧响应,计算后量子共享密钥材料,并向服务器本地的硬件安全模块查询可用的预置量子密钥;

20、s23.服务器本地的硬件安全模块向服务器返回服务器预置量子密钥或对应的调用结果;随后服务器生成服务器随机数,并向客户端发送包含后量子响应结果和预置量子密钥调用依据的服务器tls握手响应消息;

21、s24.客户端接收到服务器tls握手响应消息后,根据所述预置量子密钥调用依据从客户端本地的安全模块中定位并获取客户端预置量子密钥,同时根据所述后量子响应结果计算与服务器一致的后量子共享密钥材料。

22、作为上述方案的进一步改进,步骤s3中,所述混合共享密钥的派生过程通过以下计算公式实现:

23、kq = hkdf(qkc/qks, th || meta || qkdref)

24、kh = hkdf(th, kpqc || kq)

25、式中,kq为量子绑定密钥材料;qkc、qks分别表示客户端预置量子密钥、服务器预置量子密钥;th为tls握手消息摘要;meta为密钥元数据;qkdref为预置量子密钥调用依据;||表示拼接处理;kh为混合共享密钥;kpqc为后量子共享密钥材料;hkdf(·)为密钥派生函数。

26、作为上述方案的进一步改进,步骤s21中,所述本地量子密钥使用策略包括强制启用策略、优先启用策略和禁用策略;当遇到预置量子密钥不可用、本地密钥池未命中或本地安全模块无法返回对应密钥的情况时:

27、若当前配置为强制启用策略,则直接终止tls握手;

28、若当前配置为优先启用策略,则允许连接降级,仅基于所述后量子共享密钥材料派生握手密钥与应用数据密钥,同时将降级原因写入tls握手消息摘要中;

29、若当前配置为禁用策略,则不调用预置量子密钥,直接基于所述后量子共享密钥材料派生握手密钥与应用数据密钥以完成tls握手。

30、作为上述方案的进一步改进,步骤s21中,所述量子密钥支持声明用于说明所述客户端是否支持预置量子密钥参与密钥派生、支持的密钥池范围以及本地量子密钥使用策略,且不包含预置量子密钥本体。

31、作为上述方案的进一步改进,步骤s4中,tls握手的具体过程包括:

32、s41.服务器基于本地生成的混合共享密钥和tls握手消息摘要,生成服务器侧tls握手密钥,并使用该握手密钥生成服务器结束验证消息发送给客户端;

33、s42.客户端基于本地生成的混合共享密钥和tls握手消息摘要,生成客户端侧tls握手密钥,并使用该握手密钥对接收到的服务器结束验证消息进行验证;若客户端验证失败,则终止tls连接;若客户端验证通过,客户端生成客户端结束验证消息并发送给服务器;

34、s43.服务器使用服务器侧tls握手密钥对客户端结束验证消息进行验证;若验证失败,则终止tls连接;若验证通过,则表明客户端和服务器所见tls握手消息摘要一致、后量子共享密钥材料一致且调用的预置量子密钥对应一致。

35、本发明还公开一种计算机终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的基于预置量子密钥绑定验证的tls混合抗量子密钥协商方法的步骤。

36、本发明还公开一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时,实现如上所述的基于预置量子密钥绑定验证的tls混合抗量子密钥协商方法的步骤。

37、与现有技术相比,本发明的有益效果是:

38、在本发明中,通信双方通过pqc共享密钥材料和预置量子密钥材料共同生成tls会话密钥,使会话密钥不再单独依赖传统公钥密码算法或单一后量子密码算法,从而提高了tls通信在量子计算威胁下的安全性和抗攻击能力。同时,本发明由量子密钥服务平台qks在tls握手前生成并注入成对预置量子密钥,后续握手过程中客户端和服务器仅从本地hsm/可信安全模块调用对应密钥,qks不参与每一次实时tls握手,降低了对实时量子信道和外部密钥系统的依赖,提高了工程部署的灵活性。

39、另外,本发明将预置量子密钥的调用依据、密钥元数据、qkd使用策略和握手消息摘要共同绑定到tls密钥派生过程中,并通过finished消息验证双方是否生成一致的握手密钥。由此可以证明预置量子密钥已经实际参与本次tls会话密钥派生,防止攻击者删除、替换、重放qkd相关协商信息或将连接静默降级为纯pqc模式。握手成功后,客户端和服务器侧hsm将本次使用的预置量子密钥标记为已消耗,禁止重复使用,进一步提高了密钥使用过程的安全性和可控性。本发明在保持tls 1.3原有握手结构和应用数据加密流程兼容的基础上,提高了tls安全信道的抗量子能力、可验证性和工程可部署性。