一种融合后量子密码PQC和量子密钥的TLS握手方法与流程

摘要: 本发明涉及量子通信与网络安全,尤其涉及一种融合后量子密码pqc和量子密钥的tls握手方法。背景技术:1、现有tls1.3协议采用psk+(ec)dh模式时,需要...
一种融合后量子密码PQC和量子密钥的TLS握手方法与流程

本发明涉及量子通信与网络安全,尤其涉及一种融合后量子密码pqc和量子密钥的tls握手方法。

背景技术:

1、现有tls1.3协议采用psk+(ec)dh模式时,需要通过带外方式预置对称psk作为身份认证凭证,同时利用(ec)dhe临时密钥交换实现前向保密。握手时,双方交换(ec)dhe公钥计算临时共享密钥,客户端基于psk计算binder值供服务端验证身份,最后通过hkdf将临时共享密钥与psk混合派生主密钥,进而衍生出业务数据加密密钥。

2、然而上述方案存在以下不足:其一,psk通过离线预置且长期不变,增大了泄露风险和密钥管理难度,一旦泄露将导致身份被冒充和历史会话被解密;其二,(ec)dhe的安全性依赖椭圆曲线离散对数难题,随着量子计算技术的发展,足够强大的量子计算机能够在多项式时间内求解该难题,攻击者可以先记录当前的加密数据,待算力成熟后解密全部历史通信数据,使该模式在面对量子计算攻击时丧失前向保密能力。

技术实现思路

1、为解决上述技术问题,本发明采用的技术方案是:提供一种融合后量子密码pqc和量子密钥的tls握手方法,包括以下步骤:

2、s1:客户端与服务端分别从量子密钥分发设备获取共享量子密钥,所述共享量子密钥包括预共享量子密钥、握手流量量子密钥和业务流量量子密钥,所述预共享量子密钥在每次握手前获取更新;

3、s2:所述客户端向所述服务端发送携带pqc临时公钥和所述预共享量子密钥的密钥标识的客户端问候消息,所述服务端基于所述预共享量子密钥校验绑定值,并使用pqc密钥封装算法依据所述pqc临时公钥完成共享密钥交换;

4、s3:所述客户端与所述服务端分别派生握手流量密钥,将派生出的握手流量密钥与所述握手流量量子密钥异或得到新的握手流量密钥,并据其派生握手流量写密钥后完成握手认证;

5、s4:所述客户端与所述服务端分别派生业务流量密钥,将派生出的业务流量密钥与所述业务流量量子密钥异或得到新的业务流量密钥,并据其派生业务流量写密钥用于业务数据加密传输。

6、进一步地,所述客户端与服务端从量子密钥分发设备获取共享量子密钥的步骤包括:一端的量子密钥分发设备从其量子密钥池中按读指针读取指定长度的量子密钥并后移所述读指针,将该量子密钥的读指针、长度及哈希值发送至对端;对端的量子密钥分发设备按所述读指针从其量子密钥池读取等长量子密钥并后移所述读指针,计算哈希值并与所接收的哈希值比对,比对一致则确认获取成功。

7、进一步地,所述预共享量子密钥的长度l不小于32字节,所述客户端在每次发起握手前从其侧量子密钥分发设备的量子密钥池中读取长度为l的量子密钥作为所述预共享量子密钥,并将该预共享量子密钥在量子密钥池中的读指针、长度l及哈希值发送至所述服务端,所述服务端按所述读指针获取等长量子密钥并对比哈希值一致后返回获取成功消息。

8、进一步地,所述pqc密钥封装算法为ml-kem类算法,所述ml-kem类算法采用kyber算法;量子密钥获取过程中的身份认证采用dilithium算法,量子密钥传输加密采用kyber算法。

9、进一步地,所述客户端与所述服务端派生握手流量密钥的步骤包括:由pqc密钥封装算法交换得到的共享密钥和早期密钥,经提取步骤得到握手根密钥,经hkdf-expand-label函数派生客户端握手流量密钥和服务端握手流量密钥,分别与所述握手流量量子密钥异或得到所述新的握手流量密钥,再经hkdf-expand-label函数派生握手流量写密钥和握手流量写密钥初始向量。

10、进一步地,完成所述握手认证的步骤包括:所述服务端基于所述新的握手流量密钥中的服务端握手流量密钥派生完成密钥,并以第一握手记录哈希计算服务端完成消息后发送,所述第一握手记录哈希由客户端问候消息、服务端问候消息和加密扩展消息构成;所述客户端基于所述新的握手流量密钥中的客户端握手流量密钥派生完成密钥,并以第二握手记录哈希计算客户端完成消息后发送,所述第二握手记录哈希在所述第一握手记录哈希基础上追加所述服务端完成消息构成;双方对所述服务端完成消息和所述客户端完成消息互为比对验证。

11、进一步地,当业务流量密钥更新时,所述客户端与所述服务端分别重新获取业务流量量子密钥,将新一轮派生的业务流量密钥与所述业务流量量子密钥异或,得到更新后的业务流量密钥,并据其重新派生业务流量写密钥和业务流量写密钥初始向量。

12、相比于现有技术,本发明具有如下有益技术效果:

13、首先,在预共享密钥、握手流量和业务流量三层注入量子密钥,并与hkdf派生出的密钥异或融合,使各层密钥同时受到pqc计算安全和量子密钥物理安全的双重保护,单一手段被攻破不会导致会话密钥泄露,且该两层异或注入结构是单一pqc技术或单一量子密钥技术无法导引出的协同效果。

14、其次,预共享量子密钥在每次握手前均从量子密钥分发设备重新获取更新,替代现有tls1.3中离线预置且长期不变的静态psk,避免了psk长期不变所造成的泄露和身份冒充风险。

15、再者,密钥交换采用pqc密钥封装算法替代依赖椭圆曲线离散对数难题的(ec)dhe,从计算复杂度层面抵抗量子计算攻击,消除攻击者先存储加密数据后解密的威胁。

16、最后,本方案不改变tls1.3原有握手流程与消息结构,兼容现有tls1.3的应用场景,包括但不限于网页浏览、电子邮件传输、远程登录、即时消息通信等,在保持协议兼容性的同时获得抗量子计算攻击的能力。

1.一种融合后量子密码pqc和量子密钥的tls握手方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的融合后量子密码pqc和量子密钥的tls握手方法,其特征在于,客户端与服务端从量子密钥分发设备获取共享量子密钥的步骤包括:一端的量子密钥分发设备从其量子密钥池中按读指针读取指定长度的量子密钥并后移所述读指针,将该量子密钥的读指针、长度及哈希值发送至对端;对端的量子密钥分发设备按所述读指针从其量子密钥池读取等长量子密钥并后移所述读指针,计算哈希值并与所接收的哈希值比对,比对一致则确认获取成功。

3.根据权利要求2所述的融合后量子密码pqc和量子密钥的tls握手方法,其特征在于,所述预共享量子密钥的长度l不小于32字节,所述客户端在每次发起握手前从其侧量子密钥分发设备的量子密钥池中读取长度为l的量子密钥作为所述预共享量子密钥,并将所述预共享量子密钥在量子密钥池中的读指针、长度l及哈希值发送至所述服务端,所述服务端按所述读指针获取等长量子密钥并对比哈希值一致后返回获取成功消息。

4.根据权利要求1所述的融合后量子密码pqc和量子密钥的tls握手方法,其特征在于,所述pqc密钥封装算法为ml-kem类算法,所述ml-kem类算法采用kyber算法;量子密钥获取过程中的身份认证采用dilithium算法,量子密钥传输加密采用kyber算法。

5.根据权利要求1所述的融合后量子密码pqc和量子密钥的tls握手方法,其特征在于,客户端与所述服务端派生握手流量密钥的步骤包括:由pqc密钥封装算法交换得到的共享密钥和早期密钥,经提取步骤得到握手根密钥,经hkdf-expand-label函数派生客户端握手流量密钥和服务端握手流量密钥,分别与所述握手流量量子密钥异或得到所述新的握手流量密钥,再经hkdf-expand-label函数派生握手流量写密钥和握手流量写密钥初始向量。

6.根据权利要求5所述的融合后量子密码pqc和量子密钥的tls握手方法,其特征在于,完成所述握手认证的步骤包括:所述服务端基于所述新的握手流量密钥中的服务端握手流量密钥派生完成密钥,并以第一握手记录哈希计算服务端完成消息后发送,所述第一握手记录哈希由客户端问候消息、服务端问候消息和加密扩展消息构成;所述客户端基于所述新的握手流量密钥中的客户端握手流量密钥派生完成密钥,并以第二握手记录哈希计算客户端完成消息后发送,所述第二握手记录哈希在所述第一握手记录哈希基础上追加所述服务端完成消息构成;双方对所述服务端完成消息和所述客户端完成消息互为比对验证。

7.根据权利要求1所述的融合后量子密码pqc和量子密钥的tls握手方法,其特征在于,当业务流量密钥更新时,所述客户端与所述服务端分别重新获取业务流量量子密钥,将新一轮派生的业务流量密钥与所述业务流量量子密钥异或,得到更新后的业务流量密钥,并据其重新派生业务流量写密钥和业务流量写密钥初始向量。