一种量子安全的密钥服务方法与系统与流程

专利2022-06-29  72


本发明涉及密钥服务或协商技术领域,尤其涉及一种量子安全的密钥服务方法与系统。



背景技术:

密钥服务或协商是保密通信系统中的关键保密技术,通常所采用的基于经典密码算法的密钥协商的安全性基于计算复杂度的安全性,而不具有量子安全性;并且,中心化的密钥服务管理系统需要存储和管理所有用户的用户密钥,存在密钥安全管理难题。



技术实现要素:

为了解决背景技术中的密钥服务技术所存在的问题,本发明提供了一种量子安全的密钥服务方法,包括:第一服务器为客户端提供用户随机数序列(或多个用户密钥分组)并建立服务关联列表;第二服务器创建或选择任意两个第一服务器的随机数分组的异或值;第二服务器基于一个所述异或值创建两个客户端的用户密钥分组的异或值并分别发送给两个客户端,或,所关联的两个第一服务器分别创建一个随机数分组与客户端的一个用户密钥分组的异或值并分别发送给两个客户端。

可选地,上述方法还包括:两个客户端分别基于所接收到的上述异或值产生一个共享密钥;或,进一步地,两个客户端分别把上述基于上述异或值所产生的共享密钥作为共享密钥生成算法的一个参数;其中,所述共享密钥生成算法包括但不限于:把所述多个共享密钥参数作为一个密码算法的输入参数进行密码运算,并得到一个随机密钥。

可选地,上述方法还包括:两个客户端分别基于所接收到的上述异或值产生一个共享密钥,并把上述共享密钥编排为两个或多个子密钥。

可选地,上述方法还包括:上述第一服务器把其与第二服务器之间的一个共享密钥分发给客户端,上述共享密钥用于加密客户端与第二服务器之间的通信数据,或/和,用于客户端与第二服务器之间的身份认证。

本发明还提供了一种量子安全的密钥服务系统,包括:客户端装置、服务器装置,其中,服务器装置用于为任意两个客户端装置提供关联用户密钥分组的异或值。

本发明具有如下创新性:本发明方法的服务器只存储关联密钥的异或值,服务过程具有量子安全性,可以解决传统的中心化密钥服务系统碰到的密钥安全及其管理安全难题。本发明实施例在移动保密通信、区块链交易、vpn网络等应用领域具有良好的应用推广前景。

附图说明

图1为本发明提供的一种量子安全的密钥服务方法示意图;

图2为本发明实施例提供的一种量子安全的密钥服务方法实施例示意图;

图3为本发明实施例提供的另一种量子安全的密钥服务方法实施例示意图;

图4为本发明实施例提供的一种创建异或值方法示意图;

图5为本发明实施例提供的另一种创建异或值方法示意图;

图6为本发明实施例提供的一种虚拟网络状态示意图;

图7为本发明实施例提供的一种量子安全的密钥服务系统示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,作为本发明的一部分,以下结合附图及具体实施例,对本发明作进一步详细的说明。

图1为本发明提供的一种量子安全的密钥服务方法示意图,包括:s101:二级服务器为客户端提供多个用户密钥分组并建立服务关联列表;s102:密钥服务服务器创建或选择一个所关联的两个二级服务器的随机数分组的异或值;s103:密钥服务服务器基于上述异或值创建两个客户端的用户密钥分组的异或值并分别发送给两个客户端,或,所关联的两个二级服务器分别创建一个随机数分组与客户端的一个用户密钥分组的异或值并分别发送给两个客户端。

为了进一步说明上述方法,图2给出了本发明实施例提供的一种量子安全的密钥服务方法实施例示意图,该方法包括如下步骤:

步骤1:客户端u和客户端v分别向区域服务器a和区域服务器b申请注册并获得id标识,分别向a和b申请并获得一定量的用户随机数序列(或把一定量的用户随机数序列分割为多个用户密钥分组,或多个用户密钥分组;为方便起见,分别记为kui和kvj,其中,i和j是自然数,用于相应的编号);a和b分别创建关联u和v的服务关联列表并上传到密钥服务服务器;其中,服务关联列表由若干条记录组成,每一条记录代表一个已注册客户端的关联信息,包括但不限于客户端的id标识、关联区域服务器的id标识、用户密钥分组的余量信息;

步骤2:u向密钥服务服务器请求u与v的之间的密钥服务;密钥服务服务器首先对u进行身份鉴别,通过身份鉴别后,分别根据u和v的id标识查找相应的服务关联列表,并根据服务关联列表查找到所关联的区域服务器a和b;

步骤3:密钥服务服务器从异或值数据库中选择一个与a和b关联的一个异或值(为方便起见,记为ka⊕kb),并把该异或值标识分别发送给a和b;其中,该异或值标识包括但不限于:该异或值的全局标识、a和b的id标识。

步骤4:a把与上述异或值关联的随机数分组ka与u的一个用户密钥分组(例如选择ku2)的异或值以及该用户密钥分组的标识发送给密钥服务服务器;b把与上述异或值关联的随机数分组kb与v的一个用户密钥分组(例如选择kv5)的异或值以及该用户密钥分组的标识发送给密钥服务服务器;

步骤5:密钥服务服务器把上述两个异或值的异或值再与上述a和b关联的异或值再进行异或运算,例如,计算:(ka⊕ku2)⊕(kb⊕kv5)⊕(ka⊕kb)=ku2⊕kv5;然后,把ku2⊕kv5及其相应的用户密钥分组标识分别发送给u和v。

在一种可能的实施例中,在上述实施例的基础上,还可以包括:

步骤6:两个客户端分别基于上述异或值产生一个共享密钥,例如,u和v协商采用ku2或kv5作为共享密钥。或者,在一种可能的设计中,u把ku2⊕ku2⊕kv5⊕r=kv5⊕r和r的校验值发送给v;v计算:kv5⊕r⊕kv5=r,再计算r的校验值,如果这两个校验值相同,则成功共享r;否则,重新协商;其中,r可以是明文数据,也可以是随机密钥。

在一种可能的实施例中,在上述实施例中,如果上述两个客户端关联同一个区域服务器,则,密钥服务服务器把相应请求转发给该区域服务器;该区域服务器把两个客户端的用户密钥分组的异或值及其相应的标识发送给两个客户端,或发送给密钥服务服务器,密钥服务服务器再转发给两个客户端;两个客户端基于上述异或值产生一个共享密钥。

图3为本发明实施例提供的另一种量子安全的密钥服务方法实施例示意图,该方法包括如下步骤:

步骤1:客户端u和客户端v分别向区域服务器a和区域服务器b申请注册并获得id标识,分别向a和b申请并获得一定量的用户随机数序列(或把一定量的用户随机数序列分割为多个用户密钥分组,或多个用户密钥分组,为方便起见,分别记为kui和kvj,其中,i和j是自然数,用于相应的编号);a和b分别创建关联u和v的服务关联列表并上传到密钥服务服务器;其中,服务关联列表由若干条记录组成,每一条记录代表一台已经注册的客户端的关联信息,包括但不限于客户端的id标识、关联区域服务器的标识、用户密钥分组的余量信息;

步骤2:u向密钥服务服务器请求u与v的之间的密钥服务;密钥服务服务器首先对u进行身份鉴别,通过身份鉴别后,分别根据u和v的id标识查找相应的服务关联列表,并根据服务关联列表查找到所关联的区域服务器a和b;

步骤3:密钥服务服务器从异或值数据库中选择一个与a和b关联的一个异或值(为方便起见,记为ka⊕kb),并把该异或值及其标识发送给a,把该异或值的标识发送给b;其中,该异或值标识包括但不限于:该异或值的全局标识、a和b的id标识。

步骤4:a把与上述异或值关联的随机数分组ka与上述异或值进行异或运算并得到kb,再把kb与u的一个用户密钥分组(例如选择ku3)的异或值(记为x=kb⊕ku3)以及ku3的标识发送给u;b把与上述异或值关联的随机数分组kb与v的一个用户密钥分组(例如选择kv2)的异或值(记为y=kb⊕kv2)以及kv2的标识发送给v。

在一种可能的实施例中,在上述实施例的基础上,还可以包括:步骤5:两个客户端分别基于上述异或值产生一个共享密钥,例如,u计算上述x与ku3的异或值并得到密钥kb,即,计算:(kb⊕ku3)⊕ku3=kb;v计算上述y与kv2的异或值并得到密钥kb,即:(kb⊕kv2)⊕kv2=kb。

在一种可能的实施例中,在上述任一个实施例的基础上,还可以包括:两个客户端分别把所产生的共享密钥作为共享密钥生成算法的一个参数,并产生一个新的共享密钥。上述共享密钥生成算法包括但不限于:把多个共享密钥参数作为一个密码算法的输入参数进行加密或解密运算,并得到一个新的随机密钥,其中,上述密码算法包括但不限于对称密码算法、hash函数、异或运算函数中的任一个。

在一种可能的实施例中,上述申请并获得一定量的用户随机数序列(或多个用户密钥分组包括如下方式中的任一种或多种:(1)非加密离线注入:通过本地数据传输接口把多个用户密钥分组发送到客户端装置,并创建上述多个用户密钥分组与上述客户端装置之间的关联列表;(2)加密离线注入:通过本地数据传输接口把多个用户密钥分组加密后发送到客户端装置,并创建上述多个用户密钥分组与上述客户端装置之间的关联列表;(3)加密在线注入:通过网络接口把多个用户密钥分组加密后发送到客户端装置,并创建上述多个用户密钥分组与上述客户端装置之间的关联列表。

在一种可能的实施例中,在上述任一个实施例的基础上,还可以包括:把上述共享密钥编排为两个或多个子密钥。在一种可能的实施例中,把其中一个子密钥用于加密第一客户端发送给第二客户端的数据,另一个子密钥用于加密第二客户端发送给第一客户端的数据。在另一种可能的实施例中,把上述两个子密钥用于区块链交易数据的加密,即,其中一个子密钥用于加密第一客户端发送给第二客户端的交易数据,再对加密后的交易数据进行数字签名,然后把数字签名后的数据发送给第二客户端;第二客户端首先验证所接收到数据的数字签名,通过认证后,选择相应的一个子密钥解密并得到交易数据;然后,第二客户端选择另一个子密钥加密交易确认数据,再对加密后的交易确认数据进行数字签名,然后把数字签名后的数据发送给第一客户端;其中,上述加解密包括但不限于采用异或运算的一次一密乱码本。

在一种可能的实施例中,在上述任一个实施例的基础上,还可以包括:区域服务器把其与密钥服务服务器之间的一个共享密钥分发给客户端,该共享密钥用于加密客户端与密钥服务服务器之间的通信数据,或/和,用于客户端与密钥服务服务器之间的身份认证。

图4为本发明实施例提供的一种创建异或值方法示意图,即,密钥服务服务器创建任意两个区域服务器(lcs)的随机数分组的异或值,包括:密钥服务服务器首先与每一个lcs_i(0<i<n 1,i是整数)分别协商一个共享密钥,然后,计算其中任意两个共享密钥的异或值并创建相应的标识(该标识包括但不限于:全局标识、a和b的id标识,其中,全局标识用于区分不同的异或值集合,或不同时间段所创建的异或值集合或切片)。在一种可能的实施例中,上述协商一个共享密钥包括但不限于:利用密钥服务服务器与lcs之间的量子密钥分发链路协商一个共享量子密钥,或/和,利用经典的密钥协商协议协商一个共享密钥。

图5为本发明实施例提供的另一种创建异或值方法示意图,即,密钥服务服务器创建任意两个量子服务节点(qsn)的量子密钥分组的异或值,包括:基于qsn_i(0<i<n 1,i是整数)及其之间的量子中继网络的虚拟网络状态创建任意两个qsn之间的关联密钥的异或值,其中,上述虚拟网络状态包括:目标量子网络中所有具有相同全局标识的量子中继节点(或,量子中继节点和量子服务节点)的虚拟节点状态,其中,一个虚拟节点状态包括:目标量子节点的具有相同全局标识的一部分或全部虚拟节点路由状态,其中,一个虚拟节点路由状态包括:目标量子节点与两个相邻的目标量子节点分别所协商的共享量子密钥分组的异或值及其标识。

下面结合图6所示的qkd网络进一步说明上述虚拟网络状态的创建与应用方法。如图6所示,目标量子网络中的目标量子节点包含三个量子中继节点1、2和3,包括4个量子服务节点4、5、6和7;其中,任意一个节点与每一个相邻节点分别协商1个共享量子密钥qk_ij(其中,qk_ij=qk_ji,表示节点i与节点j之间协商的共享量子密钥分组),量子中继节点j分别计算每一个节点中继路由状态(记为rrs_ijk,其中,0<j<4,j是整数)。量子服务节点i的节点中继路由状态记为rrs_iij。例如,节点1的一个节点中继路由状态为:rrs_412=rrs_214=(qk_41⊕qk_12),节点4的节点中继路由状态为:rrs_441=(qk_41⊕r_4)。其它节点可以采用类似方法计算。相应的虚拟网络状态包括7个节点的全部节点中继路由状态。其中,上述节点中继路由状态标识的内容包括但不限于:全局标识、当前节点id1、相邻节点id2、相邻节点id3(或,连接当前节点与当前节点的上一个相邻节点及下一个相邻节点的路由标识)。基于上述虚拟网络状态可以创建任意两个qsn之间的关联密钥的异或值,例如,节点4与5之间的关联密钥的异或值为:

xor_45=rrs_441⊕rrs_413⊕rrs_531⊕rrs_553

=(r_4⊕qk_41)⊕(qk_41⊕qk_13)⊕(qk_13⊕qk_53)⊕(qk_53⊕r_5)=r_4⊕r_5;其它节点之间关联密钥的异或值可以采用类似的方法计算。显然,在一种可能的设计中,节点4与5可以基于xor_45直接协商使用r_4或r_5作为共享密钥。

在一种可能的实施例中,在图6所示的实施例中,上述虚拟网络状态也可以不包括4个量子服务节点4、5、6和7的节点中继路由状态,相应地,节点之间的关联密钥的异或值是相应量子服务节点与相邻节点之间的共享量子密钥分组的异或值。

图7为本发明实施例提供的一种量子安全的密钥服务系统示意图,包括:客户端u、客户端v、服务器装置;其中,服务器装置采用图2或图3中的方法为两个客户端装置提供关联用户密钥分组的异或值,客户端u与客户端v基于该异或值产生一个共享密钥,进一步地,客户端u与客户端v基于该共享密钥进行加密通信或/和加密交易数据。

在一种可能的实施例中,上述服务器装置采用图4或/和图5中的方法创建或获取一个或多个相应关联服务节点的随机密钥分组的异或值。

在一种可能的实施例中,上述任一个实施例中的密钥服务服务器可以是中心服务器、分布式服务器、第三方服务器等服务器装置中的任一种或任多种。

本领域内的技术人员应明白,本发明的实施例可提供为方法、装置(或系统)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、装置(或系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。


技术特征:

1.一种量子安全的密钥服务方法,其特征在于,包括:第一服务器为客户端提供用户随机数序列(或多个用户密钥分组)并建立服务关联列表,第二服务器创建或选择任意两个第一服务器的随机数分组的异或值,第二服务器基于一个所述异或值创建两个客户端的用户密钥分组的异或值并分别发送给两个客户端,或,所关联的两个第一服务器分别创建一个随机数分组与客户端的一个用户密钥分组的异或值并分别发送给两个客户端。

2.根据权利要求1所述的一种量子安全的密钥服务方法,其特征在于,包括:两个客户端基于所接收到的所述异或值产生一个共享密钥,或,进一步地,两个客户端分别把所述基于所述异或值所产生的共享密钥作为共享密钥生成算法的一个参数。

3.根据权利要求1所述的一种量子安全的密钥服务方法,其特征在于,包括:两个客户端分别基于所接收到的所述异或值产生一个共享密钥,并把所述共享密钥编排为两个或多个子密钥。

4.根据权利要求1、2或3所述的一种量子安全的密钥服务方法,其特征在于,包括:所述第一服务器把其与第二服务器之间的一个共享密钥分发给客户端,所述共享密钥用于加密客户端与第二服务器之间的通信数据,或/和,用于客户端与第二服务器之间的身份认证。

5.根据权利要求1所述的一种量子安全的密钥服务方法,其特征在于,所述第二服务器创建或选择任意两个第一服务器的随机数分组的异或值,包括以下方法中的任一个:(方法1)所述第二服务器与每一个第一服务器分别协商一个共享密钥,并计算其中任意两个共享密钥的异或值并创建相应的标识,(方法2)基于第一服务器及其之间的中继网络的虚拟网络状态创建任意两个第一服务器之间的关联密钥的异或值,其中,所述虚拟网络状态包括:目标量子网络中所有具有相同全局标识的量子中继节点(或,量子中继节点和量子服务节点)的虚拟节点状态,其中,一个虚拟节点状态包括:目标量子节点的具有相同全局标识的一部分或全部虚拟节点路由状态,其中,一个虚拟节点路由状态包括:目标量子节点与两个相邻的目标量子节点分别所协商的共享量子密钥分组的异或值及其标识。

6.根据权利要求5所述的一种量子安全的密钥服务方法,其特征在于,所述第二服务器与每一个第一服务器分别协商一个共享密钥,包括:利用第二服务器与第一服务器之间的量子密钥分发链路协商一个共享量子密钥,或/和,利用经典的密钥协商协议协商一个共享密钥。

7.根据权利要求1所述的一种量子安全的密钥服务方法,其特征在于,所述第二服务器基于一个所述异或值创建两个客户端的用户密钥分组的异或值,包括:(1)第二服务器响应第一客户端与第二客户端协商密钥的请求,根据所述两个客户端的id标识查找相应的服务关联列表,并根据服务关联列表查找到所关联的一个或多个第一服务器,(2)如果所述两个客户端关联两个不同的第一服务器,则,第二服务器选择一个与所述两个第一服务器关联的异或值(记为第一异或值),并把相应的异或值标识分别发送给第一服务器;第一服务器把与上述异或值关联的随机数分组与客户端的一个用户密钥的异或值(记为第二异或值)及其相应的标识发送给第二服务器;第二服务器计算上述两个第二异或值的异或值(记为第三异或值),如果所述两个客户端关联同一个第一服务器,则,第二服务器把所述请求转发给所述第一服务器,所述第一服务器把两个客户端的用户密钥分组的异或值(记为第三异或值)及其相应的标识发送给第二服务器,(3)第二服务器把第三异或值及其相应的标识分别发送给两个客户端。

8.根据权利要求1所述的一种量子安全的密钥服务方法,其特征在于,所述第一服务器为客户端提供用户随机数序列(或多个用户密钥分组)包括如下方式中的任一种或多种:(8-1)非加密离线注入:通过本地数据传输接口把多个用户密钥分组发送到客户端装置,并创建所述多个用户密钥分组与所述客户端装置之间的关联列表;(8-2)加密离线注入:通过本地数据传输接口把多个用户密钥分组加密后发送到客户端装置,并创建所述多个用户密钥分组与所述客户端装置之间的关联列表;(8-3)加密在线注入:通过网络接口把多个用户密钥分组加密后发送到客户端装置,并创建所述多个用户密钥分组与所述客户端装置之间的关联列表。

9.根据权利要求3所述的一种量子安全的密钥服务方法,其特征在于,包括:把所述两个子密钥用于区块链交易数据的加密,其中,一个子密钥用于加密第一客户端发送给第二客户端的交易数据,再对加密后的交易数据进行数字签名,然后把数字签名后的数据发送给第二客户端,第二客户端首先验证所接收到数据的数字签名,通过认证后,选择相应的一个子密钥解密并得到交易数据,然后,第二客户端选择另一个子密钥加密交易确认数据,再对加密后的交易确认数据进行数字签名,然后把数字签名后的数据发送给第一客户端。

10.一种量子安全的密钥服务系统,其特征在于,包括:客户端装置、服务器装置,其中,服务器装置用于为任意两个客户端装置提供关联用户密钥分组的异或值。

技术总结
本发明提供了一种量子安全的密钥服务方法与系统,方法包括:第一服务器为客户端提供多个用户密钥并建立关联列表,第二服务器创建任意两个第一服务器的随机数分组的异或值,第二服务器创建两个客户端的用户密钥的异或值,两个客户端基于该异或值产生共享密钥;本发明提供的系统包括客户端装置和服务器装置。本发明方法的第二服务器只存储关联密钥的异或值,服务过程具有量子安全性,可以解决传统的中心化密钥服务系统面对的密钥安全及其管理安全难题。本发明实施例在移动保密通信、区块链交易、VPN网络等应用领域具有良好的应用推广前景。

技术研发人员:陈晖;杜明威
受保护的技术使用者:成都量安区块链科技有限公司
技术研发日:2020.03.03
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-20837.html

最新回复(0)