基于多密钥组合量子密钥中继的密钥分发方法及其系统与流程

文档序号:21405640发布日期:2020-07-07 14:39阅读:262来源:国知局
基于多密钥组合量子密钥中继的密钥分发方法及其系统与流程

本发明属于量子通信的技术领域,具体涉及一种基于多密钥组合量子密钥中继的密钥分发方法及其系统。



背景技术:

伴随着网络信息的发展,网络影响着人们生活的各个方面,随之而来的安全性的要求也越来越高,对人们在网络活动上的保密性要求也越来越高,业务数据的加密或认证技术保证了人们在网络活动中对自己数据和一些相关资料的保密的要求,保证了网络的安全性和保密性。量子通信因其具有无条件安全和高效率等特点,给信息安全带来了革命式的发展,是目前数据保密传输的主要研究方向。

随着目前量子通信网络越建越多,网络越来越大,相距几千公里的两个量子密钥管理设备要通过密钥中继业务产生共享的对称密钥。传统密钥中继的基本思想是利用相邻节点间共享的量子密钥,对中继密钥进行加解密,实现中继密钥在一个或多个中继节点之间的加密中转,最终到达目的用户。

值得注意的是,因为中继密钥在中继节点以明文的形式存在,所以任何参与密钥中继的节点都知道这次保密通信的内容(即中继密钥),也就是说其安全性是相对的,前提是必须信任所有中继节点;因此,这种节点叫做可信中继(trustedrelay)节点。量子密钥在多个可信中继之间中继传输的时候,在信道上是处于加密状态,而在可信中继端时,则往往会有一段以明文存在的时间。如果可信中继设备在现实运行的过程中出现了安全瑕疵,那么量子密钥在这段以明文形式存在于可信中继端的时期,被攻击者窃取了在其上传输的密钥,则可信中继将变得不再“可信”,用于保密通信的密钥存在被窃取的危险。

为了解决上述可信中继存在的安全性问题,现有方法如专利方案《基于可信中继的量子密钥分发系统、方法及装置》(申请号:201510009615.5)提出了一些解决方案,比如在源节点和目的节点之间通过路由设备构建多条可供中继密钥的路径,然后通过协商的方式,可将密钥通过多个路径传过去再组合,这样,只要有一条路径上的所有节点都没有被攻破,那么密钥就是安全的。然而,通过构建多个中继路径来规避中间节点不安全的方法,存在以下诸多问题:

第一、成本较高,需要多个路由设备在源和目的节点之间搭建起不止一条的传输路径;

第二、抗攻击能力不足,一条路径上,只要有一个节点被攻破,那么此后整条路径上传输的信息就立刻不安全了。换句话说,如果整个系统中有两条路径,那么攻击者只需要在这两条路径中各拿下一个节点,就相当于拿下了这两条路径,这种方法虽然比之前攻击者只需要拿下一个节点要好一点,但其安全性的提升仍然有限。

因此,在量子密钥中继过程中,如何在不提高硬件数量和成本的情况下,提高在可信中继端的安全冗余,使得即使某些密钥在中继过程中被窃取,仍然能保证数据的通信安全,是目前需要本领域技术人员迫切解决的技术问题。



技术实现要素:

为了解决上述问题,本发明提供了一种基于多密钥组合量子密钥中继的密钥分发方法及其系统,在密钥分发过程中,通过对多个密钥的组合计算,有效实现了在不提高硬件数量和成本的情况下,提高在可信中继端的安全冗余,使得即使某些密钥在中继过程中被窃取,仍然能保证数据的通信安全。

本发明的第一目的是提供了一种基于多密钥组合量子密钥中继的密钥分发方法。

为了实现上述目的,本发明采用如下一种技术方案:

一种基于多密钥组合量子密钥中继的密钥分发方法,该方法包括:

源节点与目的节点通过中继节点按照密钥分发顺序依次共享量子密钥;

在每次共享量子密钥后,源节点与目的节点采用相同算法分别计算最终密钥,所述最终密钥是根据历史分发的量子密钥进行至少一轮的组合计算得到的。

作为进一步的优选方案,所述源节点与目的节点通过中继节点共享量子密钥的具体步骤包括:

源节点将其与中继节点间的共享密钥加密本次分发的量子密钥,并将加密后的量子密钥分发至中继节点进行解密得到该量子密钥;

中继节点将其与下一节点间的共享密钥加密该量子密钥,并将加密后的量子密钥分发至下一节点进行解密得到该量子密钥,重复该步骤直至目的节点;

目的节点得到该量子密钥,完成源节点与目的节点共享该量子密钥。

作为进一步的优选方案,所述计算最终密钥的具体步骤包括:

在每次共享量子密钥后,源节点与目的节点采用相同算法分别计算至少一层中间密钥,所述中间密钥是根据历史分发的量子密钥和/或历史中间密钥进行至少一轮的组合计算得到的;

源节点与目的节点采用相同算法分别计算最终密钥,所述最终密钥是根据历史中间密钥和/或历史最终密钥进行至少一轮的组合计算得到的。

作为进一步的优选方案,采用单向函数计算所述中间密钥和最终密钥。

作为进一步的优选方案,所述单向函数包括hash运算函数和单向陷门函数。

作为进一步的优选方案,所述中间密钥是根据历史分发的量子密钥和/或历史中间密钥进行至少一轮的组合计算得到的,包括:

当中间密钥为一层时,根据本轮分发的量子密钥与其历史分发全部量子密钥按照分发顺序进行至少一轮的组合计算。

作为进一步的优选方案,当中间密钥由一层扩展为两层或多层时,后一层中间密钥是根据前一层本轮计算的中间密钥与其历史计算的全部中间密钥按照计算先后顺序进行至少一轮的组合计算得到的。

作为进一步的优选方案,所述源节点与目的节点的量子终端存储历史分发全部量子密钥用于计算中间密钥。

作为进一步的优选方案,所述中间密钥是根据历史分发的量子密钥和/或历史中间密钥进行至少一轮的组合计算得到的,包括:

当中间密钥为一层时,根据本轮分发的量子密钥与上一轮计算的历史中间密钥进行至少一轮的组合计算。

作为进一步的优选方案,当中间密钥由一层扩展为两层或多层时,后一层中间密钥是根据前一层本轮分发的量子密钥与上一轮计算的历史中间密钥进行至少一轮的组合计算得到的。

作为进一步的优选方案,所述源节点与目的节点的量子终端存储上一轮计算的历史中间密钥用于计算中间密钥。

作为进一步的优选方案,所述源节点与目的节点的量子终端存储本轮中间密钥并替换上一轮计算的历史中间密钥。

作为进一步的优选方案,所述最终密钥是根据历史中间密钥和/或历史最终密钥进行至少一轮的组合计算得到的,包括:

当中间密钥为一层时,根据本轮计算的中间密钥与其历史计算的全部中间密钥按照计算先后顺序进行至少一轮的组合计算。

作为进一步的优选方案,当中间密钥由一层扩展为两层或多层时,最终密钥是根据最后一层本轮计算的中间密钥与其历史计算的全部中间密钥按照计算先后顺序进行至少一轮的组合计算得到的。

作为进一步的优选方案,所述源节点与目的节点的量子终端存储历史计算的全部中间密钥用于计算最终密钥。

作为进一步的优选方案,所述源节点与目的节点的量子终端存储历史分发全部量子密钥用于计算中间密钥和最终密钥。

作为进一步的优选方案,所述最终密钥是根据历史中间密钥和/或历史最终密钥进行至少一轮的组合计算得到的,包括:

当中间密钥为一层时,根据本轮计算的中间密钥与上一轮计算的历史最终密钥进行至少一轮的组合计算。

作为进一步的优选方案,当中间密钥由一层扩展为两层或多层时,最终密钥是根据最后一层本轮计算的中间密钥与上一轮计算的历史最终密钥进行至少一轮的组合计算得到的。

作为进一步的优选方案,所述源节点与目的节点的量子终端存储上一轮计算的历史最终密钥用于计算最终密钥。

作为进一步的优选方案,所述源节点与目的节点的量子终端存储本轮最终密钥并替换上一轮计算的历史最终密钥。

作为进一步的优选方案,所述源节点与目的节点的量子终端存储一定数量的历史分发的量子密钥、历史计算的中间密钥和最终密钥,存储的数量根据计算的中间密钥和/或最终密钥调节。

作为进一步的优选方案,所述组合包括拼接、异或、错位异或和错位拼接中的任意一种或几种。

作为进一步的优选方案,当所述组合为线性运算时,单向函数为具有非线性性质的函数。

作为进一步的优选方案,当所述源节点与目的节点间通过最终密钥进行数据保密传输时,抛弃按照计算顺序最先计算出来的一定数量的最终密钥,不用于实际通信。

作为进一步的优选方案,若在每次密钥分发时,窃听者以不高于某一数值ε的概率成功获取密钥,则预设阈值δ,正整数n和k,且满足:

在计算中间密钥时,使用的历史密钥不超过n个。

作为进一步的优选方案,所述在计算中间密钥时,使用的历史密钥不超过n个,具体步骤包括:

当量子终端节点计算第i个中间密钥时使用的历史密钥累积达到k个时,将当前分发的量子密钥作为起始密钥,开始计算第i+1个中间密钥,同时不停止对第i个中间密钥的继续计算;直到计算第1个中间密钥使用的历史密钥累积达到n个时,将所有中间密钥的序号减一,并抛弃原有的第1个中间密钥,此后用新的第1个中间密钥来计算最终密钥;所述i为正整数。

作为进一步的优选方案,

本发明的第二目的是提供了一种基于多密钥组合量子密钥中继的密钥分发系统。

为了实现上述目的,本发明采用如下一种技术方案:

一种基于多密钥组合量子密钥中继的密钥分发系统,该系统基于上述任意一种基于多密钥组合量子密钥中继的密钥分发方法。

本发明的有益效果:

1.本发明通过对量子终端之间多个共享密钥的组合计算,使得每个具体用于量子终端节点间数据保密传输的最终密钥,其生成过程都与二者间的全部共享密钥有关,也就是说,即使可信中继节点在实际运行中出现了纰漏,只要攻击者没有拿到所有分发的量子密钥,哪怕只有一个密钥没拿到,那么就无法对使用最终密钥加密的数据构成实质威胁,从而进一步提高了量子保密通信中数据的安全性。

2.本发明的一种基于多密钥组合量子密钥中继的密钥分发方法成本低,相对于多中继路径方案“以空间换安全”(增加路径)的思想,本方案的思想则是“以时间换安全”,不需要增加额外的路径硬件成本。

3.本发明的一种基于多密钥组合量子密钥中继的密钥分发方法安全性高,除非是该中继节点在投入正式运行后的第一次分发(量子终端a通过中继节点r第一次向量子终端b分发共享密钥)前就被攻击者攻破(这在现实中很难发生),否则,即使中继节点r在第i次传输时被攻击者攻破,他获得的也只是ki及以后的中继密钥,而缺失ki之前的密钥导致其仍然无法计算出保密通信使用的最终密钥。因此,即使中继节点被攻击者攻破,但使用这个中继节点来中继密钥仍然是安全的。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为本发明的密钥分发示意图。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

本发明中所称的量子终端节点,指的是具有量子密钥存储、加解密、密钥分发等功能,包括一个或多个物理设备的逻辑节点。在文中也可简称量子终端、终端节点、节点。

实施例1

图1为本发明实施例1提供的一种基于多密钥组合量子密钥中继的密钥分发方法流程图,在本实施例中,存在一层中间密钥,如图1所示,包括以下步骤:

s1:作为源节点的量子终端节点a与作为目的节点的量子终端节点b通过中继节点r进行量子密钥k1的共享;

在本实施例中,所述步骤s1具体包括以下步骤:

s11:作为源节点的量子终端节点a将量子密钥k1用量子终端节点a与中继节点r之间的共享密钥进行加密,得到k1(a-r),并发送至中继节点r;

s12:中继节点r接收作为源节点的量子终端节点a发送的加密后的密钥k1(a-r),将其解密得到k1,将量子密钥k1用中继节点r与作为目的节点的量子终端节点b之间的共享密钥进行加密,得到k1(r-b),并发送至量子终端节点b;

s13:量子终端节点b接收中继节点r发送的加密后的密钥k1(r-b),将其解密得到k1,完成作为源节点的量子终端节点a与作为目的节点的量子终端节点b之间量子密钥k1的共享。

在本实施例的s1中,作为源节点的量子终端节点a与作为目的节点的量子终端节点b分别存储共享的量子密钥k1。其中,k1(a-r)、k1(r-b)代表该密钥是该符号前后两个节点间的共享密钥,k1(a-r)表示量子终端节点a与中继节点r之间的共享密钥,k1(r-b)表示中继节点r与量子终端节点b之间的共享密钥。

s2:作为源节点的量子终端节点a依次计算中间密钥k1'和最终密钥k1",所述中间密钥k1'根据量子密钥k1采用hash运算函数计算,k1'=h1(k1);其中,h1为hash运算函数;所述最终密钥k1"根据中间密钥k1'采用hash运算函数计算,k1"=h2(k1'),其中,h2为hash运算函数;

在本实施例的s2中,作为源节点的量子终端节点a存储共享的中间密钥k1'。

s3:在步骤s2计算的同时,作为目的节点的量子终端节点b同样依次计算中间密钥k1'和最终密钥k1",所述中间密钥k1'根据量子密钥k1采用hash运算函数计算,k1'=h1(k1);其中,h1为hash运算函数;所述最终密钥k1"根据中间密钥k1'采用hash运算函数计算,k1"=h2(k1'),其中,h2为hash运算函数;

在本实施例的s3中,作为目的节点的量子终端节点b存储共享的中间密钥k1'。

s4:按照步骤s1的密钥共享方法,作为源节点的量子终端节点a与作为目的节点的量子终端节点b通过中继节点r继续进行对量子密钥k2的共享;

在本实施例的s4中,作为源节点的量子终端节点a与作为目的节点的量子终端节点b分别存储共享的量子密钥k2。

s5:作为源节点的量子终端节点a依次计算中间密钥k2'和最终密钥k2",所述中间密钥k2'根据量子密钥k1和量子密钥k2采用hash运算函数计算,k2'=h1(k1+k2);其中,h1为hash运算函数,量子密钥k1和量子密钥k2之间的符号“+”表示把密钥按照顺序将量子密钥k1和量子密钥k2进行拼接;所述最终密钥k2"根据中间密钥k1'和中间密钥k2'采用hash运算函数计算,k2"=h2(k1'+k2'),其中,h2为hash运算函数,中间密钥k1'和中间密钥k2'之间的符号“+”表示把密钥按照顺序将中间密钥k1'和中间密钥k2'进行拼接;

在本实施例的s5中,作为源节点的量子终端节点a存储共享的中间密钥k2'。

s6:在步骤s5计算的同时,作为目的节点的量子终端节点b同样依次计算中间密钥k2'和最终密钥k2",所述中间密钥k2'根据量子密钥k1和量子密钥k2采用hash运算函数计算,k2'=h1(k1+k2);其中,h1为hash运算函数,量子密钥k1和量子密钥k2之间的符号“+”表示把密钥按照顺序将量子密钥k1和量子密钥k2进行拼接;所述最终密钥k2"根据中间密钥k1'和中间密钥k2'采用hash运算函数计算,k2"=h2(k1'+k2'),其中,h2为hash运算函数,中间密钥k1'和中间密钥k2'之间的符号“+”表示把密钥按照顺序将中间密钥k1'和中间密钥k2'进行拼接;

在本实施例的s6中,作为目的节点的量子终端节点b存储共享的中间密钥k2'。

s7:按照步骤s1的密钥共享方法,作为源节点的量子终端节点a与作为目的节点的量子终端节点b通过中继节点r继续实现共享量子密钥k3、k4……km;

在本实施例的s7中,作为源节点的量子终端节点a与作为目的节点的量子终端节点b分别存储共享的量子密钥k3、k4……km-1。

s8:根据步骤s2或s4,作为源节点的量子终端节点a与作为目的节点的量子终端节点b每新共享一个量子密钥km,作为源节点的量子终端节点a依次计算中间密钥km'和最终密钥km";

所述中间密钥km'根据该共享量子密钥km与其之前共享的所有量子密钥k1、

k2……km-1采用hash运算函数计算:

其中,h1为hash运算函数,量子密钥之间的符号“+”表示把密钥按照顺序将量子密钥进行拼接;σ符号表示多个量子密钥按顺序逐个拼接;

所述最终密钥km"根据中间密钥km'和其之前共享的所有量子密钥的中间密

钥k1'、k2'……km-1'采用hash运算函数计算:

其中,h2为hash运算函数,中间密钥之间的符号“+”表示把密钥按照顺序将中间密钥进行拼接;σ符号表示多个中间密钥按顺序逐个拼接;

在本实施例的s8中,作为源节点的量子终端节点a存储共享的中间密钥k3'、k4'……km-1'。

s9:在步骤s7计算的同时,根据步骤s3或s5,作为源节点的量子终端节点a与作为目的节点的量子终端节点b每新共享一个量子密钥km,作为目的节点的量子终端节点b依次计算中间密钥km'和最终密钥km";

所述中间密钥km'根据该共享量子密钥km与其之前共享的所有量子密钥k1、

k2……km-1采用hash运算函数计算:

其中,h1为hash运算函数,量子密钥之间的符号“+”表示把密钥按照顺序将量子密钥进行拼接;σ符号表示多个量子密钥按顺序逐个拼接;

所述最终密钥km"根据中间密钥km'和其之前共享的所有量子密钥的中间密

钥k1'、k2'……km-1'采用hash运算函数计算:

其中,h2为hash运算函数,中间密钥之间的符号“+”表示把密钥按照顺序将中间密钥进行拼接;σ符号表示多个中间密钥按顺序逐个拼接;

在本实施例的s9中,作为目的节点的量子终端节点b存储共享的中间密钥k3'、k4'……km-1'。

需要注意的是,在本实施例中,hash运算函数可以用任意的单向函数来替换,例如单向陷门函数。

实施例2

实施例1对中间密钥和最终密钥的计算需要作为源节点的量子终端节点a与作为目的节点的量子终端节点b分别存储共享的量子密钥k1到km-1以及计算得到的中间密钥k1'到km-1',为了节约量子终端的存储空间,本发明在实施例1的基础上作出进一步改进。

在实施例1的基础上,对其做如下变形:

1、中间密钥km'的计算方式改为km'=h1(km+km-1');

2、最终密钥km"的计算方式改为km"=h2(km'+km-1")。

在本实施例中,如果仅从计算角度考虑,为了算出新的中间密钥km',量子终端只需要存储km-1'即可与新共享的km一起计算出结果,而不一定需要存储之前共享的k1到km-1以及计算得到的km-2'之前的中间密钥;同理,为了计算新的最终密钥km",量子终端只需要存储上一轮计算得到的km-1"即可与新计算出的km'一起计算得到结果,而不一定需要存储之前计算得到的中间密钥k1'到km-1'以及计算得到的km-2"之前的最终密钥。

本发明实施例2提供的一种基于多密钥组合量子密钥中继的密钥分发方法,包括以下步骤:

s1:作为源节点的量子终端节点a与作为目的节点的量子终端节点b通过中继节点r进行量子密钥k1的共享;

在本实施例中,所述步骤s1具体包括以下步骤:

s11:作为源节点的量子终端节点a将量子密钥k1用量子终端节点a与中继节点r之间的共享密钥进行加密,得到k1(a-r),并发送至中继节点r;

s12:中继节点r接收作为源节点的量子终端节点a发送的加密后的密钥k1(a-r),将其解密得到k1,将量子密钥k1用中继节点r与作为目的节点的量子终端节点b之间的共享密钥进行加密,得到k1(r-b),并发送至量子终端节点b;

s13:量子终端节点b接收中继节点r发送的加密后的密钥k1(r-b),将其解密得到k1,完成作为源节点的量子终端节点a与作为目的节点的量子终端节点b之间量子密钥k1的共享。

s2:作为源节点的量子终端节点a依次计算中间密钥k1'和最终密钥k1",所述中间密钥k1'根据本次共享的量子密钥k1采用hash运算函数计算,k1'=h1(k1);其中,h1为hash运算函数;所述最终密钥k1"根据中间密钥k1'采用hash运算函数计算,k1"=h2(k1'),其中,h2为hash运算函数;

在本实施例的s2中,作为源节点的量子终端节点a存储共享的中间密钥k1'和最终密钥k1"。

s3:在步骤s2计算的同时,作为目的节点的量子终端节点b同样依次计算中间密钥k1'和最终密钥k1",所述中间密钥k1'根据量子密钥k1采用hash运算函数计算,k1'=h1(k1);其中,h1为hash运算函数;所述最终密钥k1"根据中间密钥k1'采用hash运算函数计算,k1"=h2(k1'),其中,h2为hash运算函数;

在本实施例的s3中,作为目的节点的量子终端节点b存储共享的中间密钥k1'和最终密钥k1"。

s4:按照步骤s1的密钥共享方法,作为源节点的量子终端节点a与作为目的节点的量子终端节点b通过中继节点r继续进行对量子密钥k2的共享;

s5:作为源节点的量子终端节点a依次计算中间密钥k2'和最终密钥k2",所述中间密钥k2'根据量子终端中存储的中间密钥k1'和本次共享的量子密钥k2采用hash运算函数计算,k2'=h1(k2+k1');其中,h1为hash运算函数,中间密钥k1'和量子密钥k2之间的符号“+”表示把密钥按照顺序将中间密钥k1'和量子密钥k2进行拼接;所述最终密钥k2"根据最终密钥k1"和中间密钥k2'采用hash运算函数计算,k2"=h2(k2'+k1"),其中,h2为hash运算函数,最终密钥k1"和中间密钥k2'之间的符号“+”表示把密钥按照顺序将最终密钥k1"和中间密钥k2'进行拼接;

在本实施例的s5中,将共享的中间密钥k2'和最终密钥k2"替换作为源节点的量子终端节点a中存储的中间密钥k1'和最终密钥k1"。

s6:在步骤s5计算的同时,作为目的节点的量子终端节点b同样依次计算中间密钥k2'和最终密钥k2",所述中间密钥k2'根据量子终端中存储的中间密钥k1'和本次共享的量子密钥k2采用hash运算函数计算,k2'=h1(k2+k1');其中,h1为hash运算函数,中间密钥k1'和量子密钥k2之间的符号“+”表示把密钥按照顺序将中间密钥k1'和量子密钥k2进行拼接;所述最终密钥k2"根据最终密钥k1"和中间密钥k2'采用hash运算函数计算,k2"=h2(k2'+k1"),其中,h2为hash运算函数,最终密钥k1"和中间密钥k2'之间的符号“+”表示把密钥按照顺序将最终密钥k1"和中间密钥k2'进行拼接;

在本实施例的s5中,将共享的中间密钥k2'和最终密钥k2"替换作为目的节点的量子终端节点b中存储的中间密钥k1'和最终密钥k1"。

s7:按照步骤s1的密钥共享方法,作为源节点的量子终端节点a与作为目的节点的量子终端节点b通过中继节点r继续实现共享量子密钥k3、k4……km;

s8:根据步骤s2或s4,作为源节点的量子终端节点a与作为目的节点的量子终端节点b每新共享一个量子密钥km,作为源节点的量子终端节点a依次计算中间密钥km'和最终密钥km";

所述中间密钥km'根据该共享量子密钥km与量子终端存储的km-1'采用hash运算函数计算:km'=h1(km+km-1'),

其中,h1为hash运算函数,量子密钥之间的符号“+”表示把密钥按照顺序将量子密钥进行拼接;

所述最终密钥km"根据中间密钥km'和存储的上一轮计算得到的最终密钥km-1"采用hash运算函数计算:km"=h2(km'+km-1"),

其中,h2为hash运算函数,中间密钥与最终密钥之间的符号“+”表示把密钥按照顺序将中间密钥与最终密钥进行拼接;

在本实施例的s8中,将共享的中间密钥km'和最终密钥km"替换作为目的节点的量子终端节点b中存储的中间密钥km-1'和最终密钥km-1"。

s9:在步骤s7计算的同时,根据步骤s3或s5,作为源节点的量子终端节点a与作为目的节点的量子终端节点b每新共享一个量子密钥km,作为目的节点的量子终端节点b依次计算中间密钥km'和最终密钥km";

所述中间密钥km'根据该共享量子密钥km与量子终端存储的km-1'采用hash运算函数计算:km'=h1(km+km-1'),

其中,h1为hash运算函数,量子密钥之间的符号“+”表示把密钥按照顺序将量子密钥进行拼接;

所述最终密钥km"根据中间密钥km'和存储的上一轮计算得到的最终密钥km-1"采用hash运算函数计算:km"=h2(km'+km-1"),

其中,h2为hash运算函数,中间密钥与最终密钥之间的符号“+”表示把密钥按照顺序将中间密钥与最终密钥进行拼接;

在本实施例的s9中,将共享的中间密钥km'和最终密钥km"替换作为目的节点的量子终端节点b中存储的中间密钥km-1'和最终密钥km-1"。

需要注意的是,在本实施例中,hash运算函数可以用任意的单向函数来替换,例如单向陷门函数。

在本实施例中,为了节约量子终端的存储空间,量子终端也可以采用另外一种存储模式,在实施例1的基础上作出进一步改进:

作为源节点的量子终端节点a与作为目的节点的量子终端节点b的量子终端只保存共享的量子密钥k1到km,而不保存历次生成的中间密钥和最终密钥,当需要生成新的最终密钥的时候,按照实施例1中的公式临时迭代计算得到。

在本实施例中,为了节约量子终端的存储空间,量子终端还可以采用另外一种存储模式,在实施例1的基础上作出进一步改进:

量子终端在“保存历次生成的中间密钥和最终密钥”的技术方案与“只保存共享的量子密钥k1到km”的技术方案之间做一个平衡,按照实际情况视情况保存一定数量的共享密钥、中间密钥和最终密钥,但不全部保存,各种密钥的保存数量以能通过公式临时迭代得到最终密钥为底线。

实施例3

在实施例1或实施例2的基础上作出进一步改进:

在计算中间密钥或最终密钥的公式中,两个或多个密钥之间的组合,不仅可以通过拼接方式实现,还可以将其改为其他的组合方式,例如异或操作、错位异或操作、错位拼接操作等等。

需要注意的是,当组合为线性运算时,hash函数应当优先选择具有非线性性质的hash函数。

例如,在本实施例中将实施例1中的步骤s8作出如下改进:

s8:根据步骤s2或s4,作为源节点的量子终端节点a与作为目的节点的量子终端节点b每新共享一个量子密钥km,作为源节点的量子终端节点a依次计算中间密钥km'和最终密钥km";

所述中间密钥km'根据该共享量子密钥km与其之前共享的所有量子密钥k1、

k2……km-1采用hash运算函数计算:

其中,h1为hash运算函数,量子密钥之间的符号“⊕”表示把密钥按照顺序将量子密钥进行异或;

所述最终密钥km"根据中间密钥km'和其之前共享的所有量子密钥的中间密

钥k1'、k2'……km-1'采用hash运算函数计算:

其中,h2为hash运算函数,中间密钥之间的符号“⊕”表示把密钥按照顺序将中间密钥进行异或。

例如,在本实施例中将实施例2中的步骤s8作出如下改进:

s8:根据步骤s2或s4,作为源节点的量子终端节点a与作为目的节点的量子终端节点b每新共享一个量子密钥km,作为源节点的量子终端节点a依次计算中间密钥km'和最终密钥km";

所述中间密钥km'根据该共享量子密钥km与量子终端存储的km-1'采用hash运算函数计算:km'=h1(km⊕km-1'),

其中,h1为hash运算函数,量子密钥之间的符号“⊕”表示把密钥按照顺序将量子密钥进行异或;

所述最终密钥km"根据中间密钥km'和存储的上一轮计算得到的最终密钥km-1"采用hash运算函数计算:km"=h2(km'⊕km-1"),

其中,h2为hash运算函数,中间密钥之间的符号“⊕”表示把密钥按照顺序将中间密钥进行异或。

需要注意的是,计算中间密钥和最终密钥时,多密钥之间的组合方式可以相同也可以不同,例如在计算中间密钥时多密钥之间的组合方式采用拼接,在计算最终密钥时多密钥之间的组合方式采用异或。

实施例4

在实施例1-3的基础上,进一步地,使用相同的算法,可以将中间密钥的层级数由一层扩展为两层或多层,

以实施例1为例:可以继续计算得到km"'=h3(k1"+k2"+k3"+……+km");其中,h3为hash运算函数;

以实施例2为例:可以继续计算得到km"'=h3(km"+km-1"');其中,h3为hash运算函数;

此时,km"由最终密钥变为第二层中间密钥,而km"'则是用于数据保密通信的最终密钥。

本发明实施例4在实施例2的基础上提供的一种基于多密钥组合量子密钥中继的密钥分发方法,包括以下步骤:

s1:作为源节点的量子终端节点a与作为目的节点的量子终端节点b通过中继节点r进行量子密钥k1的共享;

在本实施例中,所述步骤s1具体包括以下步骤:

s11:作为源节点的量子终端节点a将量子密钥k1用量子终端节点a与中继节点r之间的共享密钥进行加密,得到k1(a-r),并发送至中继节点r;

s12:中继节点r接收作为源节点的量子终端节点a发送的加密后的密钥k1(a-r),将其解密得到k1,将量子密钥k1用中继节点r与作为目的节点的量子终端节点b之间的共享密钥进行加密,得到k1(r-b),并发送至量子终端节点b;

s13:量子终端节点b接收中继节点r发送的加密后的密钥k1(r-b),将其解密得到k1,完成作为源节点的量子终端节点a与作为目的节点的量子终端节点b之间量子密钥k1的共享。

s2:作为源节点的量子终端节点a依次计算第一层中间密钥k1'、第二层中间密钥k1"和最终密钥k1"',所述第一层中间密钥k1'根据本次共享的量子密钥k1采用hash运算函数计算,k1'=h1(k1);其中,h1为hash运算函数;所述第二层中间密钥k1"根据第一层中间密钥k1'采用hash运算函数计算,k1"=h2(k1'),其中,h2为hash运算函数;所述最终密钥k1"'根据第二层中间密钥k1"采用hash运算函数计算,k1"'=h3(k1”),其中,h3为hash运算函数;

在本实施例的s2中,作为源节点的量子终端节点a存储共享的第一层中间密钥k1'、第二层中间密钥k1"和最终密钥k1"'。

s3:在步骤s2计算的同时,作为目的节点的量子终端节点b同样依次计算第一层中间密钥k1'、第二层中间密钥k1"和最终密钥k1"',所述第一层中间密钥k1'根据本次共享的量子密钥k1采用hash运算函数计算,k1'=h1(k1);其中,h1为hash运算函数;所述第二层中间密钥k1"根据第一层中间密钥k1'采用hash运算函数计算,k1"=h2(k1'),其中,h2为hash运算函数;所述最终密钥k1"'根据第二层中间密钥k1"采用hash运算函数计算,k1"'=h3(k1”),其中,h3为hash运算函数;

在本实施例的s3中,作为目的节点的量子终端节点b存储共享的第一层中间密钥k1'、第二层中间密钥k1"和最终密钥k1"'。

s4:按照步骤s1的密钥共享方法,作为源节点的量子终端节点a与作为目的节点的量子终端节点b通过中继节点r继续进行对量子密钥k2的共享;

s5:作为源节点的量子终端节点a依次计算第一层中间密钥k2'、第二层中间密钥k2"和最终密钥k2"',所述第一层中间密钥k2'根据量子终端中存储的第一层中间密钥k1'和本次共享的量子密钥k2采用hash运算函数计算,k2'=h1(k2+k1');其中,h1为hash运算函数,第一层中间密钥k1'和量子密钥k2之间的符号“+”表示把密钥按照顺序将第一层中间密钥k1'和量子密钥k2进行拼接;所述第二层中间密钥k2"根据第二层中间密钥k1"和第一层中间密钥k2'采用hash运算函数计算,k2"=h2(k1"+k2'),其中,h2为hash运算函数,第二层中间密钥k1"和第一层中间密钥k2'之间的符号“+”表示把密钥按照顺序将第二层中间密钥k1"和第一层中间密钥k2'进行拼接;所述最终密钥k2"'根据最终密钥k1"'和第二层中间密钥k2”采用hash运算函数计算,k2"'=h2(k1"'+k2”),其中,h2为hash运算函数,最终密钥k1"'和第二层中间密钥k2”之间的符号“+”表示把密钥按照顺序将最终密钥k1"'和第二层中间密钥k2”进行拼接;

在本实施例的s5中,将共享的第一层中间密钥k2'、第二层中间密钥k2"和最终密钥k2"'替换作为源节点的量子终端节点a中存储的第一层中间密钥k1'、第二层中间密钥k1"和最终密钥k1"'。

s6:在步骤s5计算的同时,作为目的节点的量子终端节点b同样依次计算第一层中间密钥k2'、第二层中间密钥k2"和最终密钥k2"',所述第一层中间密钥k2'根据量子终端中存储的第一层中间密钥k1'和本次共享的量子密钥k2采用hash运算函数计算,k2'=h1(k2+k1');其中,h1为hash运算函数,第一层中间密钥k1'和量子密钥k2之间的符号“+”表示把密钥按照顺序将第一层中间密钥k1'和量子密钥k2进行拼接;所述第二层中间密钥k2"根据第二层中间密钥k1"和第一层中间密钥k2'采用hash运算函数计算,k2"=h2(k1"+k2'),其中,h2为hash运算函数,第二层中间密钥k1"和第一层中间密钥k2'之间的符号“+”表示把密钥按照顺序将第二层中间密钥k1"和第一层中间密钥k2'进行拼接;所述最终密钥k2"'根据最终密钥k1"'和第二层中间密钥k2”采用hash运算函数计算,k2"'=h2(k1"'+k2”),其中,h2为hash运算函数,最终密钥k1"'和第二层中间密钥k2”之间的符号“+”表示把密钥按照顺序将最终密钥k1"'和第二层中间密钥k2”进行拼接;

在本实施例的s6中,将共享的第一层中间密钥k2'、第二层中间密钥k2"和最终密钥k2"'替换作为目的节点的量子终端节点b中存储的第一层中间密钥k1'、第二层中间密钥k1"和最终密钥k1"'。

s7:按照步骤s1的密钥共享方法,作为源节点的量子终端节点a与作为目的节点的量子终端节点b通过中继节点r继续实现共享量子密钥k3、k4……km;

s8:根据步骤s2或s4,作为源节点的量子终端节点a与作为目的节点的量子终端节点b每新共享一个量子密钥km,作为源节点的量子终端节点a依次计算第一层中间密钥km'、第二层中间密钥km"和最终密钥km"';

所述第一层中间密钥km'根据该共享量子密钥km与量子终端存储的km-1'采用hash运算函数计算:km'=h1(km+km-1'),

其中,h1为hash运算函数,量子密钥之间的符号“+”表示把密钥按照顺序将量子密钥进行拼接;

所述第二层中间密钥km"根据第一次中间密钥km'和存储的上一轮计算得到的第二层密钥km-1"采用hash运算函数计算:km"=h2(km'+km-1"),

其中,h2为hash运算函数,中间密钥之间的符号“+”表示把密钥按照顺序将中间密钥进行拼接;

所述最终密钥km"'根据第二次中间密钥km”和存储的上一轮计算得到的最终密钥km-1"'采用hash运算函数计算:km"'=h2(km”+km-1"'),

其中,h2为hash运算函数,密钥之间的符号“+”表示把密钥按照顺序将中间密钥进行拼接;

在本实施例的s8中,将共享的第一层中间密钥km'、第二层中间密钥km"和最终密钥km"'替换作为源节点的量子终端节点a中存储的第一层中间密钥km-1'、第二层中间密钥km-1"和最终密钥km-1"'。

s9:在步骤s7计算的同时,根据步骤s3或s5,作为源节点的量子终端节点a与作为目的节点的量子终端节点b每新共享一个量子密钥km,作为目的节点的量子终端节点b依次计算第一层中间密钥km'、第二层中间密钥km"和最终密钥km"';

所述第一层中间密钥km'根据该共享量子密钥km与量子终端存储的km-1'采用hash运算函数计算:km'=h1(km+km-1'),

其中,h1为hash运算函数,量子密钥之间的符号“+”表示把密钥按照顺序将量子密钥进行拼接;

所述第二层中间密钥km"根据第一次中间密钥km'和存储的上一轮计算得到的第二层密钥km-1"采用hash运算函数计算:km"=h2(km'+km-1"),

其中,h2为hash运算函数,中间密钥之间的符号“+”表示把密钥按照顺序将中间密钥进行拼接;

所述最终密钥km"'根据第二次中间密钥km”和存储的上一轮计算得到的最终密钥km-1"'采用hash运算函数计算:km"'=h2(km”+km-1"'),

其中,h2为hash运算函数,密钥之间的符号“+”表示把密钥按照顺序将中间密钥进行拼接;

在本实施例的s9中,将共享的第一层中间密钥km'、第二层中间密钥km"和最终密钥km"'替换作为目的节点的量子终端节点b中存储的第一层中间密钥km-1'、第二层中间密钥km-1"和最终密钥km-1"'。

需要注意的是,在本实施例中,hash运算函数可以用任意的单向函数来替换,例如单向陷门函数。

实施例5

在实施例1-4的基础上,进一步地,在作为源节点的量子终端节点a与作为目的节点的量子终端节点b使用最终密钥进行数据保密传输时,最先计算出来的少数最终密钥可以抛弃掉,不用于实际通信。以避免先期的密钥由于第三方原因暴露,而影响后续密钥的安全性。

实施例6

在实施例1-5的基础上,进一步地,若存在某个小值ε,在每一次密钥分发时,窃听者以不高于ε的概率成功知晓所分发的量子共享密钥。则设定某个阈值δ,正整数n和k,且其之间符合:

作为源节点的量子终端节点a与作为目的节点的量子终端节点b将按照实施例1-5所述的方法将历史共享密钥进行组合计算,得到的中间密钥k1m'称为第一中间密钥。当量子终端节点计算第一中间密钥k1m'时使用的历史共享密钥达到k个时,终端节点将把当前共享密钥作为起始密钥,开始计算第二中间密钥k2m',同时不停止对第一中间密钥的继续计算。类似地,当量子终端节点计算第一中间密钥k1m'时使用的历史共享密钥达到k×(i-1)个时,把当前共享密钥作为起始密钥,开始计算第i中间密钥,同时不停止对第一、第二、……、第i-1中间密钥的继续计算。直到计算第一中间密钥使用的历史密钥达到n个时,抛弃该第一中间密钥,同时将第i中间密钥(i>=2)重命名为第i-1中间密钥,此后用新的第一中间密钥来计算最终密钥km",其中,i为正整数,指即将开始计算的第i中间密钥的序号。

以上过程将重复进行,以保证在计算中间密钥时,所使用的历史密钥不会超过n个。

在使用某些多密钥组合方案时,比如异或拼接方案时,每一次的密钥泄露都会累积到最终的拼接密钥中,采用本实施例可以避免信息泄露一直累积下去。

同时本实施例也可以避免某次的密钥不一致错误一直影响后续的密钥一致性。

实施例7

基于实施例1-6的方法,本发明还提供了一种基于多密钥组合量子密钥中继的密钥分发系统,该系统包括:

本实施例的该系统采用现有的密钥分发系统,在系统中应用上述任意一种基于多密钥组合量子密钥中继的密钥分发方法。

本发明的有益效果:

1.本发明通过对量子终端之间多个共享密钥的组合计算,使得每个具体用于量子终端节点间数据保密传输的最终密钥,其生成过程都与二者间的全部共享密钥有关,也就是说,即使可信中继节点在实际运行中出现了纰漏,只要攻击者没有拿到所有分发的量子密钥,哪怕只有一个密钥没拿到,那么就无法对使用最终密钥加密的数据构成实质威胁,从而进一步提高了量子保密通信中数据的安全性。

2.本发明的一种基于多密钥组合量子密钥中继的密钥分发方法成本低,相对于多中继路径方案“以空间换安全”(增加路径)的思想,本方案的思想则是“以时间换安全”,不需要增加额外的路径硬件成本。

3.本发明的一种基于多密钥组合量子密钥中继的密钥分发方法安全性高,除非是该中继节点在投入正式运行后的第一次分发(量子终端a通过中继节点r第一次向量子终端b分发共享密钥)前就被攻击者攻破(这在现实中很难发生),否则,即使中继节点r在第i次传输时被攻击者攻破,他获得的也只是ki及以后的中继密钥,而缺失ki之前的密钥导致其仍然无法计算出保密通信使用的最终密钥。因此,即使中继节点被攻击者攻破,但使用这个中继节点来中继密钥仍然是安全的。

本领域技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,基于本发明上述的实施例方案基础上的简单变形、功能框架的重新组合等,都应当在本发明的保护范围内。即,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1