一种QKD网络与经典密码算法融合的量子密钥分发方法转让专利

申请号 : CN202210147531.8

文献号 : CN114221765B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 董智超郑韶辉王士通

申请人 : 浙江九州量子信息技术股份有限公司

摘要 :

一种QKD网络与经典密码算法融合的量子密钥分发方法,包括以下步骤:QKD网络与接入终端之间的网状拓扑建立;对网状拓扑内各QKD节点进行公私钥对签发;通信QKD节点之间相互发起虚拟量子密钥分发链路建立请求;通信QKD节点之间实现量子密钥加密与解密通信过程。与现有技术相比,本发明解决了量子密钥分发网络与基于经典密码算法的信息系统之间的融合问题。通过使用基于非对称密码算法密钥协商过程构建的安全加密信道,实现了量子骨干网络到终端设备的动态密钥分发,解决了离线充注不便的问题。通过使用双向认证的签名算法,解决了域服务器与终端设备、终端设备与终端设备之间的身份鉴别问题。通过在算法中引入时间参数可有效防止重放攻击。

权利要求 :

1.一种QKD网络与经典密码算法融合的量子密钥分发方法,其特征在于,包括以下步骤:

1)QKD网络与接入终端之间的网状拓扑建立,网状拓扑包括若干QKD节点;

2)对网状拓扑内各QKD节点进行公私钥对签发;

3)通信QKD节点之间相互发起量子密钥分发链路建立请求;

4)通信QKD节点之间实现量子密钥加密与解密通信过程,完成量子密钥分发方法,所述步骤1)中:所述QKD网络包括若干QKD服务器,所述QKD服务器与QKD节点一一对应,所述QKD服务器分布在不同的地理位置,并通过由QKD链路和经典网络链路组成的通信线路相互连接,形成网状拓扑,并根据该网状拓扑中的不同QKD节点划分出不同的网络域,所述步骤2)中:QKD服务器用于实现非对称密码服务和QKD服务,各个QKD服务器的公私钥对均由统一的可信服务器签发,接入终端通过网络连接到QKD网络中的QKD服务器,一个接入终端在同一时刻只能连接到一个QKD服务器上,并且接入终端安装有该所接QKD服务器签发的公私钥对;各节点的公私钥对签发过程如下:步骤2‑1,使用可信CA服务器为所有QKD节点创建域服务器证书;

步骤2‑2,为所有QKD节点安装域服务器证书,并安装CA服务;

步骤2‑3,相互通信的接入终端具有经典密码计算能力且均支持SM2、SM3、SM4算法;

步骤2‑4,相互通信的接入终端定义为接入终端A与接入终端B,将接入终端A与接入终端B分别连接到不同的域服务器,对应为域服务器i和域服务器j,并分配好IP地址;

步骤2‑5,使用各自的域服务器分别为连接到其上的终端进行签发证书;

步骤2‑6,将签发好的证书分别安装到设备中;

步骤2‑7,在接入终端A与接入终端B之间分享证书中的公钥,所述步骤4)中两个通信QKD节点之间实现量子密钥加密与解密通信具体过程为:步骤4‑1,由接入终端A生成随机数、时间参数信息,计算请求数据,并发送给接入终端B,其中加密与签名算法使用SM2标准算法,Hash算法使用SM3;

步骤4‑2,由接入终端B验证接入终端A发来的请求,提取信息,计算响应数据回送给接入终端A,其中加密与签名、验签算法使用SM2标准算法,Hash算法使用SM3;

步骤4‑3,由接入终端A验证接入终端B发来的响应数据,并提取信息;

步骤4‑4,接入终端A根据提取到的信息计算请求数据,并使用TCP协议发动给域服务器i;

步骤4‑5,接入终端B根据提取到的信息计算请求数据,并使用TCP协议发动给域服务器j;

步骤4‑6,域服务器i验证接入终端A的身份,并提取Token;

步骤4‑7,域服务器j验证接入终端B的身份,并提取Token;

步骤4‑8,域服务器i与域服务器j确认Token是否一致;

步骤4‑9,域服务器通过TCP连接使用SM2算法与设备协商会话密钥;

步骤4‑10,域服务器i与域服务器j使用诱骗态协议进行量子密钥分发;

步骤4‑11,域服务器i使用会话密钥加密量子密钥,并使用已建立好的TCP通道将加密后的量子密钥发送给接入终端A;

步骤4‑12,域服务器j使用会话密钥加密量子密钥,并使用已建立好的TCP通道将加密后的量子密钥发送给接入终端B;

步骤4‑13,接入终端A使用得到的量子密钥加密信息,将信息与密钥标识一同发送给接入终端B;

步骤4‑14,接入终端B根据标识查找到量子加密密钥,对信息进行解密处理。

说明书 :

一种QKD网络与经典密码算法融合的量子密钥分发方法

技术领域

[0001] 本发明涉及量子通信和密码技术领域,特别涉及一种QKD网络与经典密码算法融合的量子密钥分发方法。

背景技术

[0002] 量子密钥分发(Quantum Key Distribution,QKD)基于量子力学中的不确定性、不可分割、不可克隆原理,使用BB84、B92以及EPR等密钥分发协议,保障密钥在网络中的分发安全。近些年由于QKD技术的高安全性特征,基于QKD技术的量子密钥分发平台在电子政务、金融、能源等对安全需求较高的领域得到了广泛应用。
[0003] 然而在实际应用中,量子密钥分发设备因为成本的原因通常只能在主干通信网络中部署,在量子密钥分发设备小型化和降低成本之前,从终端设备到主干网这一段通信路径上只能依赖经典的密码算法。
[0004] 当前市场上主流的量子密钥分发产品针对从主干网到终端设备的密钥分发方法是采用离线充注的形式,提前将量子密钥充注到安全存储设备之中,将安全存储设备安装到终端设备上,使得终端设备可以获得量子密钥,但这种方法的问题是应用十分不方便,离线密钥数量有限,使用完之后还需要重新充注。
[0005] 市场上也存在将量子密钥离线充注与经典密码算法结合的方法,利用提前充注的量子密钥使用加密算法构建终端到量子密钥分发主干网络的安全信道,进而使用安全信道进行在线的量子密钥更新,而安全信道通常直接使用对称加密算法进行保护,但这种方法的问题是在广域量子密钥分发网络下距离较远的两个终端设备之间,由于离线密钥存储空间限制以及存在QKD路由的原因,密钥协商过程复杂度较高,并且这种方法与现有的应用范围较广的PKI体系融合程度较低,市场推广难度大。。

发明内容

[0006] 本发明提供一种QKD网络与经典密码算法融合的量子密钥分发方法,以解决现有技术中主干网到终端设备量子密钥离线充注应用不方便的缺点,以及当前量子密钥离线充注与经典密码算法结合方法过程复杂与现有PKI体系融合程度低的的技术性缺陷,具体如下:
[0007] 本发明的技术方案是这样实现的:
[0008] 一种QKD网络与经典密码算法融合的量子密钥分发方法,包括以下步骤:
[0009] 1)QKD网络与接入终端之间的网状拓扑建立,网状拓扑包括若干QKD节点;
[0010] 2)对网状拓扑内各QKD节点进行公私钥对签发;
[0011] 3)通信QKD节点之间相互发起虚拟量子密钥分发链路建立请求;
[0012] 4)通信QKD节点之间实现量子密钥加密与解密通信过程,完成量子密钥分发方法。
[0013] 优选地,所述步骤1)中:所述QKD网络包括若干QKD服务器,所述QKD服务器与QKD节点一一对应,所述QKD服务器分布在不同的地理位置,并通过由QKD链路和经典网络链路组成的通信线路相互连接,形成网状拓扑,该网状拓扑中的不同QKD节点划分不同的网络域。
[0014] 优选地,所述步骤2)中:QKD服务器用于实现非对称密码服务和QKD服务,各个QKD服务器的公私钥对均由统一的可信服务器签发,接入终端通过网络连接到QKD网络中的QKD服务器,一个接入终端在同一时刻只能连接到一个QKD服务器上,并且接入终端安装有该所接QKD服务器签发的公私钥对;各节点的公私钥对签发过程如下:
[0015] 步骤1,使用可信CA服务器为所有QKD节点创建域服务器证书;
[0016] 步骤2,为所有QKD节点安装域服务器证书,并安装CA服务;
[0017] 步骤3,相互通信的接入终端具有经典密码计算能力且均支持SM2、SM3、SM4算法;
[0018] 步骤4,相互通信的接入终端定义为接入终端A与接入终端B,将接入终端A与接入终端B分别连接到不同的域服务器,对应为域服务器i和域服务器j,并分配好IP地址;
[0019] 步骤5,使用各自的域服务器分别为连接到其上的终端进行签发证书;
[0020] 步骤6,将签发好的证书分别安装到设备中;
[0021] 步骤7,在接入终端A与接入终端B之间分享证书中的公钥。
[0022] 优选地,所述步骤4)中两个通信QKD节点之间实现量子密钥加密与解密通信具体过程为:
[0023] 步骤1,由接入终端A生成随机数、时间参数信息,计算请求数据,并发送给接入终端B,其中加密与签名算法使用SM2标准算法,Hash算法使用SM3;
[0024] 步骤2,由接入终端B验证接入终端A发来的请求,提取信息,计算响应数据回送给接入终端A,其中加密与签名、验签算法使用SM2标准算法,Hash算法使用SM3;
[0025] 步骤3,由接入终端A验证接入终端B发来的响应数据,并提取信息;
[0026] 步骤4,接入终端A根据提取到的信息计算请求数据,并使用TCP协议发动给域服务器i;
[0027] 步骤5,接入终端B根据提取到的信息计算请求数据,并使用TCP协议发动给域服务器j;
[0028] 步骤6,域服务器i验证接入终端A的身份,并提取Token;
[0029] 步骤7,域服务器j验证接入终端B的身份,并提取Token;
[0030] 步骤8,域服务器i与域服务器j确认Token是否一致;
[0031] 步骤9,域服务器通过TCP连接使用SM2算法与设备协商会话密钥;
[0032] 步骤10,域服务器i与域服务器j使用诱骗态协议进行量子密钥分发;
[0033] 步骤11,域服务器i使用会话密钥加密量子密钥,并使用已建立好的TCP通道将加密后的量子密钥发送给接入终端A;
[0034] 步骤12,域服务器j使用会话密钥加密量子密钥,并使用已建立好的TCP通道将加密后的量子密钥发送给接入终端B;
[0035] 步骤13,接入终端A使用得到的量子密钥加密信息,将信息与密钥标识一同发送给接入终端B;
[0036] 步骤14,接入终端B根据标识查找到量子加密密钥,对信息进行解密处理。
[0037] 与现有技术相比,本发明有以下有益效果:
[0038] 本发明的一种QKD网络与经典密码算法融合的量子密钥分发方法,解决了量子密钥分发网络与基于经典密码算法的信息系统之间的融合问题。通过使用基于非对称密码算法密钥协商过程构建的安全加密信道,实现了量子骨干网络到终端设备的动态密钥分发,解决了离线充注不便的问题。通过使用双向认证的签名算法,解决了域服务器与终端设备、终端设备与终端设备之间的身份鉴别问题。通过在算法中引入时间参数可有效防止重放攻击。

附图说明

[0039] 图1为本发明的QKD网络示意图;
[0040] 图2为本发明公私钥对签发示意图;
[0041] 图3为本发明虚拟量子密钥分发链路建立流程图;
[0042] 图4为本发明实施例网络拓扑图。

具体实施方式

[0043] 下面将结合本发明实施例中的附图,对本发明进行清楚、完整地描述。
[0044] 如图1所示,一种QKD网络与经典密码算法融合的量子密钥分发方法,其主要组成部分包括:QKD网络和接入终端。所述述QKD网络主要由QKD服务器组成,QKD服务器分布在不同的地理位置,通过由QKD链路和经典网络链路组成的通信线路相互连接,形成网状拓扑。
[0045] 更进一步地,如图2所示,QKD服务器包含非对称密码服务和QKD服务两个主要功能,所有QKD服务器的公私钥对由统一的可信服务器签发,接入终端通过专用网络或者互联网连接到QKD网络中的QKD服务器,一个接入终端在同一时刻只能连接到一个QKD服务器上,并且接入终端安装有该QKD服务器签发的公私钥对。
[0046] 定义一个由n台QKD服务器组成的QKD网络S,有:
[0047]
[0048] 任选QKD服务器中的两个域服务器 、域服务器 , ,定义接入终端集合、 , ,分别是接入到域服务器 、域服务器 的所有接入终端,则由域服务器与 , 构成的网络定义为一个密钥分发域,其中域服务器 是该密钥分发域的域服务器,域服务器 拥有公私钥对 。
[0049] 密钥分发域中包含两类设备域服务器和接入终端,定义密钥分发域中的设备标识ID,ID由两个部分拼接而成,一部分是域标识 ,一部分是节点标识   ,即,其中符号“||”表示拼接,域服务器的设备标识为全零,同一个密钥分发域中的接入终端域标识完全相同,不同域中的节点标识可能相同。
[0050] 选择接入终端 、 ,定义接入终端A的设备标识为 ,接入终端B的设备标识为 ,接入终端 拥有公私钥对 和域服务器公钥 ,接入终端B拥有公私钥对 和域服务器公钥 。
[0051] 定义加密算法为:
[0052]
[0053] 表示使用密钥 进行加密, 表示加密之前的明文, 表示加密之后的密文。定义解密算法为:
[0054]
[0055] 表示使用密钥 进行解密。定义签名算法为 , 表示使用私钥 签名, 表示签名使用的数据, 表示生成的签名数据。定义验签算法为:
[0056]
[0057] 表示使用的公钥 验签, 表示需要验签的签名数据,Text表示签名使用的原数据,验签结果有两种,通过P或不通过F。定义HMAC算法表示为:
[0058]
[0059] 表示使用密钥 计算的HMAC算法包括但不限于HMACMD5、HMACSHA256、HMACSM4等, 表示算法输入的消息数据。
[0060] 定义由接入终端A、域服务器 、域服务器 、接入终端B构成的链路为接入终端A与接入终端B之间的密钥分发链路,物理连接上接入终端A与域服务器 、接入终端B与域服务器 之间为经典网络链路,域服务器 、域服务器 之间为QKD链路,逻辑连接上接入终端A与接入终端B之间的密钥分发链路建立过程如下:
[0061] 接入终端A与接入终端B的任一方都可以作为发起方,假设接入终端A为发起方,接入终端A生成一个随机数 ,之后向接入终端B发起建立量子密钥分发链路的请求,请求携带数据 :
[0062]
[0063]
[0064] 其中, 为时间参数用于防止重放攻击,接入终端B使用私钥 对接入终端A发来的请求数据解密,通过签名数据请求数据进行接入终端A的身份鉴别和完整性校验,Hash算法可采用SM3、SHA‑1或SHA‑256等,验证成功后生成随机数 ,并向接入终端A发送响应数据 :
[0065]
[0066]
[0067] 接入终端A使用私钥 对接入终端B发来的请求数据解密,通过签名数据请求数据进行接入终端B的身份鉴别和完整性校验,接入终端A和接入终端B分别向所在域的域服务器 、域服务器 发起请求,建立密码分发链路吗,请求数据定义为:
[0068]
[0069]
[0070]
[0071] 域服务器 、域服务器 分别对接入终端A和接入终端B进行身份鉴别,并对发来的数据解密获得 数据,域服务器 、域服务器 通过QKD安全信道确认 数据的一致性,域服务器 、域服务器 与接入终端A、接入终端B之间使用DH算法或改进的DH算法建立安全信道,域服务器 、域服务器 之间通过QKD协议协商量子密钥,并通过与接入终端A、接入终端B之间的安全信道分别推送给接入终端A和接入终端B,量子密钥信息包含两个部分,密钥标识和密钥值,具体定义如下:
[0072]
[0073] 接入终端A和接入终端B使用获得的量子密钥进行安全通信,并将密钥标识信息附加在通信数据上,会话结束后,由接入终端A、接入终端B主动断开到到域服务器 、 之间的连接,释放资源。
[0074] 更进一步地,当 时,接入终端A、接入终端B连接到了同一个域服务器中,此时不需要构建虚拟量子密钥分发链路,接入终端A与接入终端B直接使用DH算法或改进的DH算法向域服务器发起建立安全信道请求,直接从域服务器中拉取量子密钥即可。
[0075] 为了保证接入终端A和接入终端B之间通信的安全性,可采用一次一密的算法。
[0076] 密钥云服务层还提供量子密钥管理接口,包括但不限于对量子密钥进行产生、查找、使用、销毁等操作,量子密钥来源于虚拟的QKD网络。
[0077] 本发明总体的方法步骤包括:
[0078] 1)QKD网络与接入终端之间的网状拓扑建立,网状拓扑包括若干QKD节点;
[0079] 2)对网状拓扑内各QKD节点进行公私钥对签发;
[0080] 3)通信QKD节点之间相互发起虚拟量子密钥分发链路建立请求;
[0081]  4)通信QKD节点之间实现量子密钥加密与解密通信过程,完成量子密钥分发方法。
[0082] 结合如图3‑4所示,为本发明实施例,具体实施步骤如下:
[0083] 步骤1,建设一张至少包含两个以上节点的QKD网络,节点之间使用QKD技术进行量子保密通信;
[0084] 步骤2,为该QKD网络中的不同节点划分不同的网络域;
[0085] 步骤3,使用可信CA服务器为所有QKD节点创建域服务器证书;
[0086] 步骤4,为所有QKD节点安装域服务器证书,并安装CA服务;
[0087] 步骤5,准备两个具有经典密码计算能力的网络接入终端A、接入终端B,要求至少支持SM2、SM3、SM4算法;
[0088] 步骤6,如图4所示将A、B分别连接到不同的域服务器,域服务器i和域服务器j,并分配好IP地址;
[0089] 步骤7,使用域服务器分别为连接到其上的接入终端A和接入终端B签发证书;
[0090] 步骤8,将签发好的证书分别安装到接入终端A和接入终端B中;
[0091] 步骤9,在接入终端A和接入终端B之间分享证书中的公钥;
[0092] 步骤10,由接入终端A向接入终端B主动发起虚拟量子密钥分发链路建立请求,以下过程如图3所示;
[0093] 步骤11,由接入终端A生成随机数、时间参数等信息,使用(公式1)计算请求数据,并发送给接入终端B,其中加密与签名算法使用SM2标准算法,Hash算法使用SM3;
[0094] 步骤12,由接入终端B验证接入终端A发来的请求,提取信息,并使用(公式2)计算响应数据回送给接入终端A,其中加密与签名、验签算法使用SM2标准算法,Hash算法使用SM3;
[0095] 步骤13,由接入终端A验证接入终端B发来的响应数据,并提取信息;
[0096] 步骤14,接入终端A根据提取到的信息使用(公式3)计算请求数据,并使用TCP协议发动给域服务器i;
[0097] 步骤14,接入终端B根据提取到的信息使用(公式4)计算请求数据,并使用TCP协议发动给域服务器j;
[0098] 步骤15,域服务器i验证接入终端A的身份,并提取Token;
[0099] 步骤16,域服务器j验证接入终端B的身份,并提取Token;
[0100] 步骤17,域服务器i与域服务器j确认Token是否一致;
[0101] 步骤18,域服务器通过TCP连接使用SM2算法与设备协商会话密钥;
[0102] 步骤19,域服务器i与域服务器j使用诱骗态协议进行量子密钥分发;
[0103] 步骤20,域服务器i使用会话密钥加密量子密钥,并使用已建立好的TCP通道将加密后的量子密钥发送给接入终端A;
[0104] 步骤21,域服务器j使用会话密钥加密量子密钥,并使用已建立好的TCP通道将加密后的量子密钥发送给接入终端B;
[0105] 步骤21,接入终端A使用得到的量子密钥加密信息,将信息与密钥标识一同发送给接入终端B;
[0106] 步骤22,接入终端B根据标识查找到加密密钥,对信息进行解密处理。
[0107] 综合本发明的结构与具体过程可知,本发明解决了量子密钥分发网络与基于经典密码算法的信息系统之间的融合问题。通过使用基于非对称密码算法密钥协商过程构建的安全加密信道,实现了量子骨干网络到终端设备的动态密钥分发,解决了离线充注不便的问题。通过使用双向认证的签名算法,解决了域服务器与终端设备、终端设备与终端设备之间的身份鉴别问题。通过在算法中引入时间参数可有效防止重放攻击。