基于量子密钥生成工作密钥的加密方法、装置及存储介质与流程

未命名 10-16 阅读:115 评论:0


1.本发明涉及量子加密通信技术领域,尤其涉及一种基于量子密钥生成工作密钥的加密方法、装置及存储介质。


背景技术:

2.量子密钥分发(quantum key distribution,qkd)技术是指利用量子力学特性来保证通信安全性,使通信双方能够并分享一个随机的、安全的密钥来加密和解密消息。量子密钥具有独特的特征,若存在第三方试图窃听密码,则通信双方便会察觉。该特征基于量子力学的基本原理,即任何对量子系统的测量都会对系统产生干扰。第三方试图窃听密码,必须用某种方式测量加密方法,而这些测量就会带来可察觉的异常。通过量子叠加态或量子纠缠态来传输信息,通信系统便可以检测是否存在窃听。当窃听低于一定标准,即可产生一个有安全保障的密钥。
3.安全套接层(secure sockets layer protocol,ssl)协议是一种传输层安全协议,用于构建证书客户端和服务器之间的安全通道。目前ssl协议采用公钥算法实现身份认证和密钥协商,具备较高的安全性,其产生的主密钥是通信安全的关键。
4.随着计算机的不断更新换代,逐渐出现具有超强计算能力的量子计算机,未来甚至会出现更高性能的计算机,其强大的计算能力和信息处理能力对现有的基于数学算法产生的密钥产生威胁,导致通信链路不再安全,进而导致通信双方传输信息泄露。因此,现有技术中存在网络安全协议容易被量子计算机攻击,导致信息泄露的技术问题。


技术实现要素:

5.本发明提供了一种基于量子密钥生成工作密钥的加密方法、装置及存储介质,旨在有效解决现有技术中当面临量子计算机的网络攻击时,网络安全协议容易出现信息泄露的技术问题。
6.根据本发明的一方面,本发明提供一种基于量子密钥生成工作密钥的加密方法,所述方法包括:证书客户端向证书服务端发送客户端随机数和会话标识,所述证书服务端向所述证书客户端发送服务端随机数和服务端加密证书;所述证书客户端生成预主密钥,对所述预主密钥进行加密并发送至所述证书服务端;所述证书服务端根据所述会话标识向第一量子密钥分发设备获取量子密钥,所述证书客户端根据所述会话标识向第二量子密钥分发设备获取量子密钥;所述证书客户端和所述证书服务端分别基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,所述证书客户端和所述证书服务端根据所述工作密钥进行通信。
7.进一步地,所述证书客户端向证书服务端发送客户端随机数和会话标识包括:
所述证书客户端根据随机数生成算法生成所述客户端随机数和所述会话标识,基于所述客户端随机数和所述会话标识生成第一握手协商报文,将所述第一握手协商报文发送至所述证书服务端。
8.进一步地,所述证书服务端向所述证书客户端发送服务端随机数和服务端加密证书包括:所述证书服务端根据随机数生成算法生成所述服务端随机数,并基于所述服务端随机数、所述会话标识、服务端签名证书、服务端加密证书生成第二握手协商报文,将所述第二握手协商报文发送至所述证书客户端。
9.进一步地,所述方法还包括:在所述证书服务端向所述证书客户端发送服务端随机数、服务端签名证书和服务端加密证书之后,所述证书客户端对所述服务端签名证书进行验证,并在验证通过后根据所述服务端加密证书获得服务端加密公钥。
10.进一步地,所述对所述预主密钥进行加密并发送至所述证书服务端包括:所述证书客户端基于所述服务端加密公钥对所述预主密钥进行加密以生成加密预主密钥,根据所述加密预主密钥和客户端签名证书生成第三握手协商报文,并将所述第三握手协商报文发送至所述证书服务端。
11.进一步地,所述方法还包括:在所述将所述第三握手协商报文发送至所述证书服务端之后,所述证书服务端对所述客户端签名证书进行验证,并在验证通过后根据服务端私钥对所述加密预主密钥进行解密以获得所述预主密钥。
12.进一步地,所述证书客户端和所述证书服务端分别基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥包括:根据伪随机数生成方法以及所述预主密钥、所述客户端随机数和所述服务端随机数生成原主密钥;对所述原主密钥和所述量子密钥进行异或运算以得到所述新主密钥。
13.进一步地,所述证书客户端和所述证书服务端分别基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥包括:根据所述量子密钥、所述客户端随机数和所述服务端随机数生成第一随机数参数;根据伪随机数生成方法以及所述预主密钥和所述第一随机数参数生成所述新主密钥。
14.进一步地,所述工作密钥包括校验密钥和加密密钥,所述基于所述新主密钥生成工作密钥包括:根据所述客户端随机数和所述服务端随机数生成第二随机数参数;根据伪随机数生成方法以及所述新主密钥和所述第二随机数参数生成工作密钥块;根据预设字符串长度对所述工作密钥块进行拆分以获得所述校验密钥和所述加密密钥。
15.进一步地,所述证书客户端和所述证书服务端根据所述工作密钥进行通信包括:
所述证书客户端和所述证书服务端根据所述工作密钥建立vpn加密隧道,并基于所述vpn加密隧道进行通信。
16.进一步地,所述方法还包括:在所述证书服务端根据所述会话标识向第一量子密钥分发设备获取量子密钥之前,所述第一量子密钥分发设备向所述第二量子密钥分发设备发送光量子信息,所述第一量子密钥分发设备和所述第二量子密钥分发设备分别基于所述光量子信息生成所述量子密钥。
17.进一步地,所述证书服务端为ssl vpn服务端,所述证书服务端与服务器设备相连接,所述证书客户端为ssl vpn客户端,所述证书客户端与客户端设备相连接。
18.根据本发明的另一方面,本发明还提供了一种基于量子密钥生成工作密钥的加密方法,用于证书客户端,所述方法包括:向证书服务端发送客户端随机数和会话标识,接收所述证书服务端发送的服务端随机数和服务端加密证书;基于所述客户端随机数、所述服务端随机数、所述会话标识生成预主密钥,对所述预主密钥进行加密并发送至所述证书服务端;根据所述会话标识向第二量子密钥分发设备获取量子密钥;基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书服务端进行通信。
19.根据本发明的另一方面,本发明还提供了一种基于量子密钥生成工作密钥的加密方法,用于证书服务端,所述方法包括:接收证书客户端发送的客户端随机数和会话标识,向所述证书客户端发送服务端随机数和服务端加密证书;接收所述证书客户端发送的加密后的预主密钥;根据所述会话标识向第一量子密钥分发设备获取量子密钥;基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书客户端进行通信。
20.根据本发明的另一方面,本发明还提供了一种基于量子密钥生成工作密钥的加密装置,用于证书客户端,所述装置包括:第一参数交互模块,用于向证书服务端发送客户端随机数和会话标识,接收所述证书服务端发送的服务端随机数和服务端加密证书;预主密钥发送模块,用于生成预主密钥,对所述预主密钥进行加密并发送至所述证书服务端;第一量子密钥获取模块,用于根据所述会话标识向第二量子密钥分发设备获取量子密钥;第一工作密钥生成模块,用于基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书服务端进行通信。
21.根据本发明的另一方面,本发明还提供了一种基于量子密钥生成工作密钥的加密装置,用于证书服务端,所述装置包括:第二参数交互模块,用于接收证书客户端发送的客户端随机数和会话标识,向所述证书客户端发送服务端随机数和服务端加密证书;预主密钥接收模块,用于接收所述证书客户端发送的加密后的预主密钥;第二量子密钥获取模块,用于根据所述会话标识向第一量子密钥分发设备获取量子密钥;第二工作密钥生成模块,用于基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书客户端进行通信。
22.根据本发明的另一方面,本发明还提供了一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上所述的任一基于量子密钥生成工作密钥的加密方法。
23.通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:在本发明所公开的技术方案中,在加密协商中融合量子密钥来增强主密钥安全性,通信双方完成握手协商流程之后,将协商得到的主密钥与量子密钥基于预设的融合算法生成新主密钥。在基于公钥算法计算复杂度之上增加了量子密钥的安全特性,提高了密钥抵御量子计算机攻击的能力。另外,本方案无需修改握手过程中的标准数据传输协议,在握手数据交互完成后,通信双方本地完成密钥融合,不涉及修改握手协商的数据结构,提高了加密算法的兼容性。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
24.图1为本发明实施例提供的一种基于量子密钥生成工作密钥的加密方法的步骤流程图;图2为本发明实施例提供的一种在线获取量子密钥的示意图;图3为本发明实施例提供的一种离线获取量子密钥的示意图;图4为本发明实施例提供的一种应用于证书客户端的基于量子密钥生成工作密钥的加密方法的步骤流程图;图5为本发明实施例提供的一种应用于证书服务端的基于量子密钥生成工作密钥的加密方法的步骤流程图;图6为本发明实施例提供的一种应用于证书客户端的基于量子密钥生成工作密钥的加密装置的结构示意图;图7为本发明实施例提供的一种应用于证书服务端的基于量子密钥生成工作密钥的加密装置的结构示意图。
具体实施方式
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
26.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
27.图1所示为本发明实施例所提供的基于量子密钥生成工作密钥的加密方法的步骤流程图,根据本发明的一方面,本发明提供一种基于量子密钥生成工作密钥的加密方法,所述方法包括:步骤101:证书客户端向证书服务端发送客户端随机数和会话标识,所述证书服务端向所述证书客户端发送服务端随机数和服务端加密证书;步骤102:所述证书客户端生成预主密钥,对所述预主密钥进行加密并发送至所述证书服务端;步骤103:所述证书服务端根据所述会话标识向第一量子密钥分发设备获取量子密钥,所述证书客户端根据所述会话标识向第二量子密钥分发设备获取量子密钥;步骤104:所述证书客户端和所述证书服务端分别基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,所述证书客户端和所述证书服务端根据所述工作密钥进行通信。
28.为了提高通信过程中的数据安全,抵御量子计算机带来的风险,本发明在ssl协商的过程中通过量子密钥来增强主密钥的安全性。将量子密钥引入到传统密钥协商过程中,基于ssl的流程基础上,在完成vpn握手协商流程之后,基于预设的融合算法对协商得到的密钥与qkd量子密钥进行运算,将产生的数据作为新主密钥,再用新主密钥生成工作密钥,建立传输数据的vpn隧道。使得密钥的安全性在基于公钥算法计算复杂度之上再融合增加量子密钥基于量子力学基本原理的安全特性,让ssl通信具备更好的安全特性。
29.以下对上述步骤101~104进行具体描述。
30.在步骤101中,证书客户端向证书服务端发送客户端随机数和会话标识,所述证书服务端向所述证书客户端发送服务端随机数和服务端加密证书。
31.示例性地,该过程为ssl握手协商流程,证书客户端和证书服务端相互发送报文,在报文中装载有多个参数。双方可以根据参数确定所需的加密算法和加密数据,以及通过证书进行相互验证。
32.在步骤102中,所述证书客户端生成预主密钥,对所述预主密钥进行加密并发送至所述证书服务端。
33.示例性地,在身份认证通过后,证书客户端和证书服务端双方继续发送报文,证书客户端首先根据获取的数据生成预主密钥,并在加密后将预主密钥发送至证书服务端。
34.在步骤103中,所述证书服务端根据所述会话标识向第一量子密钥分发设备获取量子密钥,所述证书客户端根据所述会话标识向第二量子密钥分发设备获取量子密钥。
35.示例性地,ssl通信的双方分别与量子密钥分发设备相连接,或者通过中间层的量子密钥管理设备实现密钥传输,但密钥源来自量子密钥分发设备。客户端和服务端所连接的两个量子密钥分发设备生成相同的量子密钥,以供各自连接的设备获取使用。
36.在步骤104中,所述证书客户端和所述证书服务端分别基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,所述证书客户端和所述证书服务端根据所述工作密钥进行通信。
37.示例性地,证书客户端和证书服务端分别将预主密钥与量子密钥基于预设的融合算法运算得到新主密钥,然后根据预设的加密算法生成工作密钥。ssl通信双方使用工作密钥对应用数据进行加解密传输。
38.进一步地,所述证书客户端向证书服务端发送客户端随机数和会话标识包括:所述证书客户端根据随机数生成算法生成所述客户端随机数和所述会话标识,基于所述客户端随机数和所述会话标识生成第一握手协商报文,将所述第一握手协商报文发送至所述证书服务端。
39.示例性地,证书客户端向证书服务端发送第一握手协商报文,其中,载荷为client hello消息,包含客户端随机数(client_random)、会话标识、算法套件等参数,等待证书服务端回应server hello消息。
40.进一步地,所述证书服务端向所述证书客户端发送服务端随机数和服务端加密证书包括:所述证书服务端根据随机数生成算法生成所述服务端随机数,并基于所述服务端随机数、所述会话标识、服务端签名证书、服务端加密证书生成第二握手协商报文,将所述第二握手协商报文发送至所述证书客户端。
41.示例性地,证书服务端发送第二握手协商报文,该报文中包括多个载荷。例如,载荷1为server hello消息,包含服务端随机数(server_random)、会话标识、已匹配的算法套件等参数,作为对client hello消息的回复。载荷2为sever certificate消息,包含服务端签名证书和服务端加密证书。载荷3为server key exchange消息,传送的信息用于客户端计算产生48字节的预主密钥(pre_master_secret)。载荷4为certificate request消息,证书服务端根据该信息对认证客户端进行验证。载荷5为server hello done消息,表示握手过程的服务端hello消息阶段完成,发送完该消息后证书服务端会等待证书客户端的响应消息。不同于其它方法将qkd量子密钥与ssl工作密钥进行融合,本方法是将qkd量子密钥与ssl主密钥进行融合,即基于预设的融合算法方法运算,使用运算结果作为新的主密钥。由于主密钥由48个固定长度字节组成,表示一次最多只消耗48字节的量子密钥,对于目前制取量子密钥仍有瓶颈的现状来说,是更好的方案。
42.进一步地,所述方法还包括:在所述证书服务端向所述证书客户端发送服务端随机数、服务端签名证书和服务端加密证书之后,所述证书客户端对所述服务端签名证书进行验证,并在验证通过后根据所述服务端加密证书获得服务端加密公钥。
43.示例性地,证书客户端解析第二握手协商报文,获取服务端加密公钥、客户端随机数(client_random)、服务端随机数(server_random)等参数,根据服务端加密证书能够得到服务端加密公钥,进而根据多个参数生成预主密钥(pre_master_secret)。
44.进一步地,所述对所述预主密钥进行加密并发送至所述证书服务端包括:所述证书客户端基于所述服务端加密公钥对所述预主密钥进行加密以生成加密预主密钥,根据所述加密预主密钥和客户端签名证书生成第三握手协商报文,并将所述第三握手协商报文发送至所述证书服务端。
45.示例性地,证书客户端发送握手协商报文,报文包括多个载荷,例如,载荷1为client certificate消息,包含客户端签名证书和客户端加密证书。载荷2为client key exchange消息,用于服务端对客户端证书进行认证。第三握手协商报文包含预主密钥,使用服务端加密公钥进行加密,以确保预主密钥的保密性。载荷3为certificate verify消息,该消息用于鉴别客户端是否为证书的合法持有者,只有client certificate消息发送时才发送此消息。载荷4为change cipher spec消息,通知对方使用刚协商好的安全参数来保护接下来的数据。载荷5为finshed消息,使用本次握手过程中协商出的算法和新主密钥保护。
46.进一步地,所述方法还包括:在所述将所述第三握手协商报文发送至所述证书服务端之后,所述证书服务端对所述客户端签名证书进行验证,并在验证通过后根据服务端私钥对所述加密预主密钥进行解密以获得所述预主密钥。
47.示例性地,证书服务端解析第三握手协商报文,获取到加密的预主密钥后,使用服务端私钥进行解密,以获取预主密钥的明文(pre_master_secret)。
48.可选地,所述证书客户端和所述证书服务端分别基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥包括:根据伪随机数生成方法以及所述预主密钥、所述客户端随机数和所述服务端随机数生成原主密钥;对所述原主密钥和所述量子密钥进行异或运算以得到所述新主密钥。
49.示例性地,可以通过两种方式获得新主密钥,一种是先基于预主密钥生成原主密钥,然后将原主密钥和量子密钥进行融合得到新主密钥。另外一种是直接对预主密钥和量子密钥进行融合得到新主密钥。
50.可选地,在该方式中,通过两步计算得到新主密钥,首先使用伪随机函数(pseudorandom function, prf)得到原主密钥,伪随机函数是一种密码学函数,对应的公式如下:master_secret = prf ( pre_master_secret ,
ꢀ“
master_secret
”ꢀ
, client_random + server_random) [0..47]。
[0051]
其中,master_secret表示原主密钥,pre_master_secret表示预主密钥,“master_seret
”ꢀ
表示常量字符串,client_random表示客户端随机数,server_random表示服务端随机数,prf表示伪随机函数,[0..47]表示取结果的前48个字节。原主密钥由预主密钥、常量字符串、客户端随机数、服务端随机数,经过伪随机函数prf计算,取结果的前48个字节。
[0052]
然后,通信双方分别将量子密钥qkey与原主密钥master_secret进行异或操作,得到的结果作为新的主密钥master_secret_qkey,公式如下所示:master_secret_qkey = master_secret
ꢀ⊕ꢀ
qkey[0..47]。
[0053]
其中,master_secret_qkey指新主密钥,master_secret表示原主密钥,qkey表示量子密钥,

表示进行异或运算,[0..47]表示取结果的前48个字节。
[0054]
因为工作密钥是由主密钥经过数学运算得到的,主密钥由48个固定长度字节组成,工作密钥比主密钥要长很多,与主密钥异或运算表示一次最多只消耗48字节的量子密钥,对于目前制取量子密钥仍有瓶颈的现状来说,是更好的方案。
[0055]
可选地,所述证书客户端和所述证书服务端分别基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥包括:根据所述量子密钥、所述客户端随机数和所述服务端随机数生成第一随机数参数;根据伪随机数生成方法以及所述预主密钥和所述第一随机数参数生成所述新主密钥。
[0056]
示例性地,该步骤为第二种获取新主密钥的方法,直接对预主密钥和量子密钥进行融合得到新主密钥,通信双方分别将量子密钥qkey作为master_secret_qkey运算的一个引入参数,得到的结果作为新主密钥的master_secret_qkey,具体根据下式生成新主密钥:master_secret_qkey = prf ( pre_master_secret ,
ꢀ“
master_secret
”ꢀ
, client_random + server_random + qkey ) [0..47]。
[0057]
其中,master_secret_qkey表示新主密钥,pre_master_secret表示预主密钥,“master_seret
”ꢀ
表示常量字符串,client_random表示客户端随机数,server_random表示服务端随机数,qkey表示量子密钥,prf表示伪随机函数, [0..47] 表示取结果的前48个字节。新主密钥由预主密钥、常量字符串、客户端随机数、服务端随机数、量子密钥,经过伪随机函数prf计算,取结果的前48个字节。
[0058]
进一步地,所述工作密钥包括校验密钥和加密密钥,所述基于所述新主密钥生成工作密钥包括:根据所述客户端随机数和所述服务端随机数生成第二随机数参数;根据伪随机数生成方法以及所述新主密钥和所述第二随机数参数生成工作密钥块;根据预设字符串长度对所述工作密钥块进行拆分以获得所述校验密钥和所述加密密钥。
[0059]
示例性地,通信双方分别采用新主密钥master_secret_qkey通过标准流程的密钥生成算法得到工作密钥,其中,工作密钥为校验密钥和加密密钥的合称。
[0060]
工作密钥包括校验密钥和加密密钥,具体密钥长度由选用的密码算法决定。其中未划分的工作密钥块计算公式如下:key_block = prf ( master_secret_qkey ,
ꢀ“
key expansion
”ꢀ
, client_random + server_random )。
[0061]
其中,key_block表示工作密钥块,master_secret_qkey表示新主密钥,“key expansion
”ꢀ
表示常量字符串,client_random表示客户端随机数,server_random表示服务端随机数,prf表示伪随机函数。未划分的工作密钥块由主密钥、常量字符串、客户端随机数、服务端随机数,经过伪随机函数prf计算生成。
[0062]
然后将未划分的工作密钥块划分为与校验密码算法等长的校验密钥和与加密密码算法等长的加密密钥。工作密钥包括校验密钥和加密密钥,应用数据在ssl发送端,使用校验密钥生成hmac值,使用加密密钥加密,ssl接收端使用对应的解密密钥解密,使用校验
密钥校验hmac值。
[0063]
进一步地,所述证书客户端和所述证书服务端根据所述工作密钥进行通信包括:所述证书客户端和所述证书服务端根据所述工作密钥建立vpn加密隧道,并基于所述vpn加密隧道进行通信。
[0064]
示例性地,通信双方完成ssl协商所有后续流程,ssl使用工作密钥进入业务数据传输加密工作阶段,证书客户端和证书服务端建立vpn隧道。业务客户端与业务服务器之间跨网络访问时,可以通过vpn隧道加密保证业务数据的安全。
[0065]
进一步地,所述方法还包括:在所述证书服务端根据所述会话标识向第一量子密钥分发设备获取量子密钥之前,所述第一量子密钥分发设备向所述第二量子密钥分发设备发送光量子信息,所述第一量子密钥分发设备和所述第二量子密钥分发设备分别基于所述光量子信息生成所述量子密钥。
[0066]
示例性地,两个量子密钥分发设备之间不传输密钥,靠传递光量子信息得到相同的密钥。两个ssl通信方的量子密钥分别来自两个量子密钥分发设备,即可在不传输双方密钥信息的情况下得到相同的密钥。
[0067]
ssl通信双方利用ssl握手协商中通信双方相同的ssl会话标识,分别访问对应的量子密钥分发设备,获取到相同的量子密钥qkey。图2为本发明实施例提供的一种在线获取量子密钥的示意图,业务服务端与证书服务端相连,证书服务端与第一量子密钥分发设备相连,同理,业务客户端与证书客户端相连,证书客户端与第二量子密钥分发设备相连。ssl vpn通信双方各自向绑定的量子密钥分发设备获取相同的量子密钥。第一量子密钥分发设备qkd-a通过向第二量子密钥分发设备qkd-b传递光量子信息,例如使用量子密钥分发协议bb84协议,达到各自生成相同的量子密钥的目的。
[0068]
此处的“在线”体现在ssl vpn通信双方协商的同时也在实时从qkd网络获取量子密钥。这种方式需要量子密钥分发设备和ssl vpn设备在一个安全域内,以保证获取量子密钥的安全。该方式一般适用于企业总部和分支之间的通信安全。
[0069]
另外还有离线获取量子密钥的方式,图3为本发明实施例提供的一种离线获取量子密钥的示意图,在该方式中,通过中间层的密钥管理设备间接连接量子密钥分发设备。
[0070]
量子密钥管理设备和量子密钥充注设备分别绑定各自的量子密钥分发设备,当有安全介质装载到量子密钥充注设备上执行充注量子密钥指令时,量子密钥管理设备也会从绑定的量子密钥分发设备上获取相同的量子密钥。此处的安全介质可以是带安全加密芯片的u盾、tf卡、sim卡等。
[0071]
将已经充注完量子密钥的安全介质安装到移动终端上,ssl vpn服务端和移动终端向对应的量子密钥分发设备申请量子工作密钥,移动终端跨互联网密钥传输,通过安全介质内的量子密钥保护量子工作密钥的申请和导入。
[0072]“离线”体现在安全介质导入量子密钥后,通过离线方式安装到移动终端上。该方式适用于移动终端通过互联网访问企业内网的通信安全。
[0073]
进一步地,所述证书服务端为ssl vpn服务端,所述证书服务端与服务器设备相连接,所述证书客户端为ssl vpn客户端,所述证书客户端与客户端设备相连接。
[0074]
通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技
术效果:在本发明所公开的技术方案中,在加密协商中融合量子密钥来增强主密钥安全性,通信双方完成握手协商流程之后,将协商得到的主密钥与量子密钥基于预设的融合算法生成新主密钥。在基于公钥算法计算复杂度之上增加了量子密钥的安全特性,提高了密钥抵御量子计算机攻击的能力。另外,本方案无需修改握手过程中的标准数据传输协议,在握手数据交互完成后,通信双方本地完成密钥融合,不涉及修改握手协商的数据结构,提高了加密算法的兼容性。
[0075]
图4为本发明实施例提供的一种应用于证书客户端的基于量子密钥生成工作密钥的加密方法的步骤流程图,根据本发明的另一方面,本发明还提供了一种基于量子密钥生成工作密钥的加密方法,用于证书客户端,如图4所示,所述方法包括:步骤201:向证书服务端发送客户端随机数和会话标识,接收所述证书服务端发送的服务端随机数和服务端加密证书;步骤202:生成预主密钥,对所述预主密钥进行加密并发送至所述证书服务端;步骤203:根据所述会话标识向第二量子密钥分发设备获取量子密钥;步骤204:基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书服务端进行通信。
[0076]
图5为本发明实施例提供的一种应用于证书服务端的基于量子密钥生成工作密钥的加密方法的步骤流程图,根据本发明的另一方面,本发明还提供了一种基于量子密钥生成工作密钥的加密方法,用于证书服务端,如图5所示,所述方法包括:步骤301:接收证书客户端发送的客户端随机数和会话标识,向所述证书客户端发送服务端随机数和服务端加密证书;步骤302:接收所述证书客户端发送的加密后的预主密钥;步骤303:根据所述会话标识向第一量子密钥分发设备获取量子密钥;步骤304:基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书客户端进行通信。
[0077]
图6为本发明实施例提供的一种应用于证书客户端的基于量子密钥生成工作密钥的加密装置的结构示意图,根据本发明的另一方面,本发明还提供了一种基于量子密钥生成工作密钥的加密装置,用于证书客户端,所述装置包括:第一参数交互模块401,用于向证书服务端发送客户端随机数和会话标识,接收所述证书服务端发送的服务端随机数和服务端加密证书;预主密钥发送模块402,用于生成预主密钥,对所述预主密钥进行加密并发送至所述证书服务端;第一量子密钥获取模块403,用于根据所述会话标识向第二量子密钥分发设备获取量子密钥;第一工作密钥生成模块404,用于基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书服务端进行通信。
[0078]
图7为本发明实施例提供的一种应用于证书服务端的基于量子密钥生成工作密钥的加密装置的结构示意图,根据本发明的另一方面,本发明还提供了一种基于量子密钥生成工作密钥的加密装置,用于证书服务端,所述装置包括:第二参数交互模块501,用于接收证书客户端发送的客户端随机数和会话标识,向所述证书客户端发送服务端随机数和服务端加密证书;预主密钥接收模块502,用于接收所述证书客户端发送的加密后的预主密钥;第二量子密钥获取模块503,用于根据所述会话标识向第一量子密钥分发设备获取量子密钥;第二工作密钥生成模块504,用于基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书客户端进行通信。
[0079]
根据本发明的另一方面,本发明还提供了一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上所述的任一基于量子密钥生成工作密钥的加密方法。
[0080]
通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:在本发明所公开的技术方案中,在加密协商中融合量子密钥来增强主密钥安全性,通信双方完成握手协商流程之后,将协商得到的主密钥与量子密钥基于预设的融合算法生成新主密钥。在基于公钥算法计算复杂度之上增加了量子密钥的安全特性,提高了密钥抵御量子计算机攻击的能力。另外,本方案无需修改握手过程中的标准数据传输协议,在握手数据交互完成后,通信双方本地完成密钥融合,不涉及修改握手协商的数据结构,提高了加密算法的兼容性。综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

技术特征:
1.一种基于量子密钥生成工作密钥的加密方法,其特征在于,所述方法包括:证书客户端向证书服务端发送客户端随机数和会话标识,所述证书服务端向所述证书客户端发送服务端随机数和服务端加密证书;所述证书客户端生成预主密钥,对所述预主密钥进行加密并发送至所述证书服务端;所述证书服务端根据所述会话标识向第一量子密钥分发设备获取量子密钥,所述证书客户端根据所述会话标识向第二量子密钥分发设备获取量子密钥;所述证书客户端和所述证书服务端分别基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,所述证书客户端和所述证书服务端根据所述工作密钥进行通信。2.如权利要求1所述的方法,其特征在于,所述证书客户端向证书服务端发送客户端随机数和会话标识包括:所述证书客户端根据随机数生成算法生成所述客户端随机数和所述会话标识,基于所述客户端随机数和所述会话标识生成第一握手协商报文,将所述第一握手协商报文发送至所述证书服务端。3.如权利要求1所述的方法,其特征在于,所述证书服务端向所述证书客户端发送服务端随机数和服务端加密证书包括:所述证书服务端根据随机数生成算法生成所述服务端随机数,并基于所述服务端随机数、所述会话标识、服务端签名证书、服务端加密证书生成第二握手协商报文,将所述第二握手协商报文发送至所述证书客户端。4.如权利要求3所述的方法,其特征在于,所述方法还包括:在所述证书服务端向所述证书客户端发送服务端随机数、服务端签名证书和服务端加密证书之后,所述证书客户端对所述服务端签名证书进行验证,并在验证通过后根据所述服务端加密证书获得服务端加密公钥。5.如权利要求4所述的方法,其特征在于,所述对所述预主密钥进行加密并发送至所述证书服务端包括:所述证书客户端基于所述服务端加密公钥对所述预主密钥进行加密以生成加密预主密钥,根据所述加密预主密钥和客户端签名证书生成第三握手协商报文,并将所述第三握手协商报文发送至所述证书服务端。6.如权利要求5所述的方法,其特征在于,所述方法还包括:在所述将所述第三握手协商报文发送至所述证书服务端之后,所述证书服务端对所述客户端签名证书进行验证,并在验证通过后根据服务端私钥对所述加密预主密钥进行解密以获得所述预主密钥。7.如权利要求6所述的方法,其特征在于,所述证书客户端和所述证书服务端分别基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥包括:根据伪随机数生成方法以及所述预主密钥、所述客户端随机数和所述服务端随机数生成原主密钥;对所述原主密钥和所述量子密钥进行异或运算以得到所述新主密钥。8.如权利要求6所述的方法,其特征在于,所述证书客户端和所述证书服务端分别基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥包括:
根据所述量子密钥、所述客户端随机数和所述服务端随机数生成第一随机数参数;根据伪随机数生成方法以及所述预主密钥和所述第一随机数参数生成所述新主密钥。9.如权利要求7或8所述的方法,其特征在于,所述工作密钥包括校验密钥和加密密钥,所述基于所述新主密钥生成工作密钥包括:根据所述客户端随机数和所述服务端随机数生成第二随机数参数;根据伪随机数生成方法以及所述新主密钥和所述第二随机数参数生成工作密钥块;根据预设字符串长度对所述工作密钥块进行拆分以获得所述校验密钥和所述加密密钥。10.如权利要求1所述的方法,其特征在于,所述证书客户端和所述证书服务端根据所述工作密钥进行通信包括:所述证书客户端和所述证书服务端根据所述工作密钥建立vpn加密隧道,并基于所述vpn加密隧道进行通信。11.如权利要求1所述的方法,其特征在于,所述方法还包括:在所述证书服务端根据所述会话标识向第一量子密钥分发设备获取量子密钥之前,所述第一量子密钥分发设备向所述第二量子密钥分发设备发送光量子信息,所述第一量子密钥分发设备和所述第二量子密钥分发设备分别基于所述光量子信息生成所述量子密钥。12.如权利要求1所述的方法,其特征在于,所述证书服务端为ssl vpn服务端,所述证书服务端与服务器设备相连接,所述证书客户端为ssl vpn客户端,所述证书客户端与客户端设备相连接。13.一种基于量子密钥生成工作密钥的加密方法,用于证书客户端,其特征在于,所述方法包括:向证书服务端发送客户端随机数和会话标识,接收所述证书服务端发送的服务端随机数和服务端加密证书;基于所述客户端随机数、所述服务端随机数、所述会话标识生成预主密钥,对所述预主密钥进行加密并发送至所述证书服务端;根据所述会话标识向第二量子密钥分发设备获取量子密钥;基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书服务端进行通信。14.一种基于量子密钥生成工作密钥的加密方法,用于证书服务端,其特征在于,所述方法包括:接收证书客户端发送的客户端随机数和会话标识,向所述证书客户端发送服务端随机数和服务端加密证书;接收所述证书客户端发送的加密后的预主密钥;根据所述会话标识向第一量子密钥分发设备获取量子密钥;基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书客户端进行通信。15.一种基于量子密钥生成工作密钥的加密装置,用于证书客户端,其特征在于,所述
装置包括:第一参数交互模块,用于向证书服务端发送客户端随机数和会话标识,接收所述证书服务端发送的服务端随机数和服务端加密证书;预主密钥发送模块,用于生成预主密钥,对所述预主密钥进行加密并发送至所述证书服务端;第一量子密钥获取模块,用于根据所述会话标识向第二量子密钥分发设备获取量子密钥;第一工作密钥生成模块,用于基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书服务端进行通信。16.一种基于量子密钥生成工作密钥的加密装置,用于证书服务端,其特征在于,所述装置包括:第二参数交互模块,用于接收证书客户端发送的客户端随机数和会话标识,向所述证书客户端发送服务端随机数和服务端加密证书;预主密钥接收模块,用于接收所述证书客户端发送的加密后的预主密钥;第二量子密钥获取模块,用于根据所述会话标识向第一量子密钥分发设备获取量子密钥;第二工作密钥生成模块,用于基于所述量子密钥、所述预主密钥、所述客户端随机数和所述服务端随机数生成新主密钥,并分别基于所述新主密钥生成工作密钥,根据所述工作密钥与所述证书客户端进行通信。17.一种存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如权利要求13至14中任一项所述的方法。

技术总结
本发明公开了一种基于量子密钥生成工作密钥的加密方法、装置及存储介质,包括:证书客户端向证书服务端发送客户端随机数和会话标识,证书服务端向证书客户端发送服务端随机数和服务端加密证书;证书客户端生成预主密钥,并对预主密钥进行加密并发送至证书服务端;证书客户端和证书服务端分别根据会话标识向各自对应的量子密钥分发设备获取量子密钥;证书客户端和证书服务端分别基于量子密钥、预主密钥、客户端随机数和服务端随机数生成新主密钥,进而生成工作密钥,证书客户端和证书服务端根据工作密钥进行通信。本发明所提供的技术方案能够解决现有技术中当面临量子计算机的网络攻击时,网络安全协议容易出现信息泄露的技术问题。技术问题。技术问题。


技术研发人员:项飞飞
受保护的技术使用者:中量科(南京)科技有限公司
技术研发日:2023.09.04
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐