一种量子密钥分发方法及计算机可读存储介质与流程

文档序号:28959169发布日期:2022-02-19 12:29阅读:143来源:国知局
一种量子密钥分发方法及计算机可读存储介质与流程

1.本发明涉及量子通信技术领域,尤其是指一种量子密钥分发方法及计算机可读存储介质。


背景技术:

2.近年来,基于数学原理的传统加密方法被证实存在安全隐患,这一证实将强化人们对经典密码安全性的忧虑。目前广泛使用单并未得到完备证明的数学密码体制很可能会在人们意想不到的时候被破译或者被发现存在致命安全漏洞。另外,量子计算也给经典密码体制带来了前所未有的潜在威胁。介于此,研究可以抵抗量子计算攻击的密码体制势在必行,所有这些因素都促使保密通信技术向下一阶段发展,而量子通信技术代表了一个技术上可行的发展方向,也是实现信息论安全的重要手段。
3.量子通信是量子信息学的一个重要分支,主要涉及量子密钥分发、量子隐形传态、量子安全直接通信等方面。现有技术中的量子密钥分发主要以相互配合的量子密钥发生模块与量子密钥接收模块功能完成相应的密钥传输。量子密钥分发,是利用量子力学特性来保证通信安全性。它使通信的双方能够产生并分享一个随机的、安全的密钥,来加密和解密消息。
4.目前,对于量子密钥分发技术,大致分为有线和无线两类。有线密钥的分发是通过光纤传输,无线密钥的分发是一般通过光信号传输。
5.传统技术中,服务端和客户端之间会通过心跳保持连接,这样的心跳被叫做心跳包,心跳包一般不包含数据,仅仅用来告诉通信双方通信没有断开且心跳包同样占用程序运行时的机器消耗和传输的网络带宽并需要程序中单独的机制去维护。将量子密钥从服务端分发到客户端时,量子密钥的缓存量较低,分发效率较低。


技术实现要素:

6.本发明要解决的技术问题是提供一种量子密钥分发方法,其能够在保持连接的心跳确认包中加入量子密钥,使得量子密钥能够跟随新的心跳确认包从服务端分发到客户端。在不提高网络负担的情况下,增加了缓存量,提高了分发效率,确保业务通信繁忙时有足够的量子密钥使用。
7.为解决上述技术问题,本发明提供了一种量子密钥分发方法,包括s1、服务端获取量子密钥并对所述量子密钥进行加密,服务端将加密后的所述量子密钥发送至客户端;所述服务端与所述客户端通过量子密钥进行加密通信;s2、所述服务端与所述客户端之间暂停通信,所述客户端向所述服务端发送心跳包,所述服务端反馈心跳确认包至所述客户端,实现服务端与所述客户端之间暂停通信时也能保持连接;s3、向所述心跳确认包中填充量子密钥,获得新的心跳确认包;所述客户端对所述新的心跳确认包中的数据进行解析处理,使所述新的心跳确认包中的量子密钥跟随新的心跳确认包从服务端分发至所述客户端。
8.作为优选的,所述心跳确认包中填充量子密钥,具体包括:对所述量子密钥进行加
密处理;加密后的所述量子密钥为第二数据段,所述心跳包为第一数据段;所述新的心跳确认包中的数据包括第一数据段+第二数据段。
9.作为优选的,采用国密算法对所述新的心跳确认包中的量子密钥进行加密处理。
10.作为优选的,所述心跳确认包中填充的量子密钥不超过128个字节。
11.作为优选的,所述s1中,“加密后的所述量子密钥发送至客户端”具体包括:所述服务端将加密后的所述量子密钥切割为十六份;所述服务端将十六份所述量子密钥通过十六个数据包依次发送至所述客户端;所述客户端对十六个数据包进行拼接,并对拼接后的数据包进行解密。
12.作为优选的,所述新的心跳确认包的数据格式包括数据头字段和数据体字段,所述数据头字段中包括量子密钥索引位置和量子密钥长度。
13.作为优选的,所述客户端通过所述量子密钥索引位置和量子密钥长度对所述数据体字段进行解密。
14.作为优选的,还包括步骤s4、所述服务端获取新的量子密钥,通过新获取的所述量子密钥,所述服务端与客户端之间进行量子加密通信。
15.作为优选的,还包括步骤s5、当所述服务端与客户端之间暂停数据通信时,重复步骤s2-s3。
16.作为优选的,所述计算机程序中存储有程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至9中任一项所述的量子密钥分发方法。
17.本发明的上述技术方案相比现有技术具有以下优点:
18.1、本发明将量子密钥的分发与心跳机制相结合,在心跳确认包中填充量子密钥,服务端能将心跳确认包中填充的量子密钥分发到客户端,不会对网络带宽造成影响,在程序通信闲暇时能够分发量子密钥,减少了程序的负担,分发效率较高。
19.2、本发明的服务端与所述客户端之间暂停数据通信时,通过心跳机制使得服务端与所述客户端之间暂停通信时也能保持连接。
附图说明
20.为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中:
21.图1为本发明的流程示意图。
具体实施方式
22.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
23.参照图1所示,本发明公开了一种量子密钥分发方法及计算机可读存储介质。
24.上述量子密钥分发方法包括以下步骤:步骤一、服务端向客户端发送请求,服务端与客户端建立连接。服务端获取量子密钥并对量子密钥进行加密,加密后的量子密钥被发送至客户端,上述服务器端与客户端通过量子密钥能够进行量子加密通信。
25.步骤二、服务端与客户端之间暂停数据通信,通过心跳机制保持连接,具体方式为:上述客户端主动向服务端发送心跳包,上述服务端每次反馈一个心跳确认包至客户端,
服务端与客户端之间暂停通信时也能保持连接。
26.步骤三、在心跳确认包中填充有一定数量的量子密钥,获得新的心跳确认包,上述客户端能够对新的心跳确认包中的数据进行解析处理,使得服务端与客户端之间暂停通信时也能保持连接,量子密钥能够跟随新的心跳确认包从服务端分发到客户端。
27.具体地,对上述新的心跳确认包中填充的量子密钥进行加密处理,填充在心跳确认包中的量子密钥不超过128个。对填充的量子密钥通过国密算法进行加密,可以配置选择加密的方式,如果对量子密钥的加密要求较高,则使用国密算法sm2对量子密钥进行加密,如果对量子密钥的加密要求较低,则使用国密算法sm1对量子密钥进行加密。在对上述心跳确认包中填充量子密钥时,先对量子密钥进行加密,将加密后的上述量子密钥作为第二数据段,上述心跳包作为第一数据段,新的心跳确认包中的数据由第一数据段和第二数据段拼接而成。
28.进一步地,服务端将加密后的量子密钥发送至客户端时,具体为:服务端将需要分发给客户端的量子密钥进行加密,并将加密后的量子密钥切割为十六份,设定十六份为一组。服务端将切割后的上述十六份量子密钥通过十六个数据包依次发送至客户端,客户端收到上述一组数据包后,拼接起来进行解密。
29.进一步优选的,新的心跳确认包的数据格式由不加密的数据头字段和加密的数据体字段组成。其中,上述数据头中包含有量子密钥索引位置和量子密钥长度,通过量子密钥索引位置和量子密钥长度对加密的数据体字段进行解密,此时,客户端和服务端可以获得相同的解密密钥,使得量子密钥能够跟随心跳包从服务端分发到客户端,确保业务通信繁忙时有足够的量子密钥可以使用。
30.本发明的服务端与所述客户端之间暂停数据通信时,通过心跳机制使得服务端与所述客户端之间暂停通信时也能保持连接,在保持连接的心跳确认包中加入量子密钥,使得量子密钥能够跟随新的心跳确认包从服务端分发到客户端。在不提高网络负担的情况下,增加了缓存量,提高了分发效率,确保业务通信繁忙时有足够的量子密钥使用。
31.步骤四、所述服务端获取新的量子密钥,并对上述新的量子密钥进行加密,服务端将新获取的加密后的量子密钥发送至客户端,服务端与客户端之间进行量子加密通信。
32.步骤五、当服务端与客户端之间暂停数据加密后,进行以下操作:通过心跳机制使得服务端与客户端之间保持连接,具体为,上述客户端主动向服务端发送心跳包,上述服务端每次反馈一个心跳确认包至客户端。在心跳确认包中填充有一定数量的量子密钥,获得新的心跳确认包。对上述心跳确认包中填充的量子密钥进行加密处理,填充在心跳确认包中的量子密钥不超过128个。对填充的量子密钥通过国密算法进行加密,可以配置选择加密的方式,如果对量子密钥的加密要求较高,则使用国密算法sm2对量子密钥进行加密,如果对量子密钥的加密要求较低,则使用国密算法sm1对量子密钥进行加密。在对上述心跳确认包中填充量子密钥时,先对量子密钥进行加密,将加密后的上述量子密钥作为第二数据段,上述心跳包作为第一数据段,新的心跳确认包中的数据由第一数据段和第二数据段拼接而成。进一步地,服务端将加密后的量子密钥发送至客户端时,具体为:服务端将需要分发给客户端的量子密钥进行加密,并将加密后的量子密钥切割为十六份,设定十六份为一组。服务端将切割后的上述十六份量子密钥通过十六个数据包依次发送至客户端,客户端收到上述一组数据包后,拼接起来进行解密。其中,新的心跳确认包的数据格式由不加密的数据头
字段和加密的数据体字段组成。其中,上述数据头中包含有量子密钥索引位置和量子密钥长度,通过量子密钥索引位置和量子密钥长度对加密的数据体字段进行解密,此时,客户端和服务端可以获得相同的解密密钥,使得量子密钥能够跟随新的心跳包从服务端分发到客户端,确保业务通信繁忙时有足够的量子密钥可以使用。
33.即:当上述服务端与客户端之间暂停数据通信,通过心跳机制使得服务端与客户端之间保持连接时,重复步骤二到步骤三。
34.本专利将密钥无线分发与心跳相结合,传统的心跳包是不包含数据的,但是心跳包的发送同样需要占用网络资源,利用程序通信的闲暇时间,在心跳确认包中加入少量的量子密钥,使得量子密钥能够跟随新的心跳确认包从服务端分发到客户端。在不提高网络负担的情况下,增加了缓存量,提高了分发效率,确保业务通信繁忙时有足够的量子密钥使用。
35.基于上述量子密钥的分发方法本专利还公开了一种计算机可读存储介质,其中,在上述计算机可读存储介质中存储有程序代码,上述的程序代码由处理器加载并执行,上述程序代码能够实现量子密钥从服务端分发至客户端。心跳技术中的心跳包本就要占用网络带宽,以及需要程序中单独的机制去维护,在心跳确认包中加入少量数据(加密的量子密钥),不会对网络带宽造成影响,还在程序通信闲暇时分发了量子密钥,这样程序就不需要单独去分发量子密钥了,减少了程序的负担。
36.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
37.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
38.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
39.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
40.显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变
动仍处于本发明创造的保护范围之中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1