量子密钥分发网络端到端可用密钥速率的测量方法与流程

文档序号:15151697发布日期:2018-08-10 21:10阅读:290来源:国知局

本发明属于通信技术领域,涉及一种测量量子密钥分发qkd网络端到端可用密钥速率的方法,可为qkd网络合理利用网络资源提供依据。



背景技术:

量子保密通信是量子力学与经典密码学结合的一种通信方式。基于海森堡不确定性原理和量子态不可克隆定理,量子密钥分发技术在用户间建立共享的密钥,再结合一次一密的加密策略,可实现绝对安全通信。

基于qkd的量子保密通信系统主要包括qkd系统、量子信道、经典保密系统和经典信道。qkd系统在经典保密系统的辅助下进行密钥协商,双方获得安全的共享密钥。然后经典保密系统利用qkd系统协商出来的密钥对信息进行一次一密加密,通过经典信道传输。最后接收方在收到加密的信息后,利用共享的密钥进行解密,最终完成双方信息的安全传输。但是由于现有技术的限制,qkd系统协商密钥的速率较低,因此qkd网络中密钥的合理利用尤为重要。

qkd网络因其实现方式不同,主要分为三种类型,包括光学节点qkd网络、量子纠缠qkd网络和可信中继qkd网络。其中光学节点qkd网络和量子纠缠qkd网络分别因为通信距离受限、技术难度大等问题无法满足大规模组网需求。可信中继qkd网络通过受信任的中间节点构建qkd链路,安全性可得到保证,网络规模不受限制,成为当前首选的组网方式。

在qkd网络中,端到端路径是指通信双方由可信中继节点连接起来的一条路由。端到端密钥速率的基本度量参数包括:瓶颈密钥速率和可用密钥速率。链路的密钥速率是指在没有背景流量的情况下,链路两端可信中继为信息提供密钥的速率。端到端路径的瓶颈密钥速率是指在一条包含多条链路的路径中,密钥速率最小的那条链路的密钥速率值。端到端路径的可用密钥速率是指在一条包含多条链路的路径,为新的通信过程所能提供的最大可用密钥速率,即路径的所有链路中可用密钥速率最小的那条链路的可用密钥速率。在没有其他业务的情况下,可用密钥速率等于瓶颈密钥速率。

在qkd网络中,对于一次一密的逐跳加解密方式,到达可信中继的信息均是先解密,然后再利用与下一个可信中继协商出的密钥进行加密,发给下一个可信中继,持续这样的操作直到接收端进行解密,恢复得到原始信息,因此,信息从源端到目的端每一条链路都要消耗密钥。如果数据包中数据的速率大于可用密钥速率,会导致密钥不足,信息若不加密,容易泄露引起安全问题,若是数据包继续等待密钥,会造成网络阻塞,网络性能降低。如果数据的速率小于可用密钥速率,会导致密钥不能充分被利用,密钥的新鲜度降低,一部分密钥不得不丢弃。由以上分析可知,需要对可用密钥速率进行估计,否则网络资源得不到合理地利用。

现有技术中,比较精确地测量可用密钥速率的方法一般是基于探测发送速率模型prm进行的,prm的测量方法原理为:源端发送一定速率的数据包,目的端根据数据包的端到端时延有无上升趋势,来决定下一次测量的发送速率,发送速率依次收敛到与可用密钥速率相等的情况。这种方法虽然能测出端到端可用密钥速率的值,但在目的端判断数据包的端到端时延趋势时,一旦判断错误,测量过程中没有进行弥补,会引起较大误差。误差较大的测量值不能精确地反映网络的可用密钥量,从而不能使qkd网络中的密钥被合理利用,网络的性能降低。若是为了提高准确性而增加数据包的数目和发送次数,收敛时间和收敛次数又没有得到保证。

因此,在基于可信中继的qkd网络中测量端到端路径的可用密钥速率时,不仅要保证准确性还要兼顾收敛次数不能太多的问题。

发表内容

本发明的目的在于针对上述现有技术存在的缺陷,提出一种量子密钥分发网络端到端可用密钥速率的测量方法,以提高测量精度。

为了实现上述目的,本发明采取的技术方案包括如下:

1)设置待测路径的源端和目的端,已知端到端瓶颈密钥速率r,待测可用密钥速率a的范围(0,r],根据测量需求设置测量精度b,区间调整参数flag=0。根据测量精度b将整个(0,r]分成收敛次数n相同的区间,n为奇数时,收敛区间门限值n为偶数时,

2)源端发送q个间隔为0、长度均为256字节的测试数据包;

3)目的端接收测试数据包,并按顺序记录相邻数据包之间的间隔:若记录的数据为q-1个,且测试数据包的长度为256字节,再执行步骤4),否则,减小q的值,返回步骤2);

4)在目的端分析数据包的到达间隔,决定后续所用测试数据包的包长:

若记录的相邻数据包的到达间隔之比出现大于100或者小于0.01的情况,则后续测试数据包的长度取128字节;否则,后续测试数据包的长度取1024字节;

5)结合端到端瓶颈密钥速率r,在源端重新设置测试数据的发送速率r;

6)在源端发送m组数据包,每组个数为n,组内数据发送速率为r,不同组之间设有间隔,避免组与组之间的相互影响;

7)在目的端收集数据包的端到端时延,对m组数据包的端到端时延趋势进行判断:

若有一半以上为上升趋势,则判定时延处于上升趋势,记录时延趋势变化,设置收敛区间的最大值r_max=r,最小值r_min不变,记录r_max的值并调整下一次的发送速率r_next,执行步骤8);

若有一半以上为无上升趋势,则判定时延处于无上升趋势,记录时延趋势变化,设置收敛区间的最小值r_min=r,最大值r_max不变,记录r_min的值并调整下一次的发送速率r_next,执行步骤8);

否则,时延趋势为不确定,返回步骤6);

8)判断收敛区间及发送速率是否满足测量精度要求:

若收敛区间[r_min,r_max]收敛到使得|r-r_next|/r_next<b时,获得可用密钥速率的测量值r_next,结束测量;若不满足精度要求,则执行步骤9);

9)结合时延趋势和收敛区间的关系,判断是否需要重新调整收敛区间:

若flag=1,返回步骤6);

若测量过程中出现无上升、连续两次上升或连续三次上升趋势,且在第二次或第三次上升趋势时满足[r_min,r_max]<=a,则执行步骤10);

若测量过程中出现上升、连续两次无上升或连续三次无上升趋势,且在第二次或第三次无上升趋势时满足[r_min,r_max]<=a,则执行步骤11);

若测量过程中出现无上升、连续四次上升趋势,并且在第四次上升趋势时满足[r_min,r_max]>a,则执行步骤10);

若测量过程中出现上升、连续四次无上升趋势,且在第四次无上升趋势时满足[r_min,r_max]>a,则执行步骤11);

若测量一开始就出现无上升、连续四次上升的趋势,则执行步骤12);

若测量一开始就出现上升、连续四次无上升的趋势,则执行步骤13);

否则,返回步骤6);

10)将新收敛区间的最大值改为本次记录的r_min,将新区间的最小值改为上一次记录的r_min,执行步骤14);

11)将新收敛区间的最小值改为本次记录的r_max,将新区间的最大值改为上一次记录的r_max,执行步骤14);

12)将新收敛区间的最大值改为本次记录的r_max,将新区间的最小值改为测量最初发送速率的一半,执行步骤14);

13)将新收敛区间的最小值改为本次记录的r_min,将新区间的最大值改为测量最初发送速率的1.5倍,执行步骤14);

14)调整r_next,flag=1,返回步骤6)。

本发明与现有技术相比,具有如下优点:

(1)本发明由于把端到端时延趋势和可用密钥速率收敛区间结合起来,重新调整测试数据包的发送速率,重新测量,提高了可用密钥速率的测量精度。

(2)本发明由于重新调整收敛区间的步骤只执行一次,收敛次数不会增加太多,进而不会对原网络造成太大影响。

(3)本发明由于利用|r-r_next|/r_next<b作为精度满足条件,使得网络在轻重负载下,精度要求相对公平。

附图说明

图1为本发明的测试流程图。

具体实施方式

以下结合附图1,对本发明的技术方案作进一步详细描述。

一、测试场景介绍

本测试方法适用于量子密钥分发网络,该网络由可信中继及量子密钥分发链路构成。在该网络中,量子密钥分发qkd单元在经典保密系统的辅助下协商出密钥,密文通过经典信道传输,用户间的通信密钥通过逐跳传输建立。链路密钥速率与每次更新的密钥量的关系为:每次更新的密钥量等于链路密钥速率与密钥更新间隔的乘积。

二、测试原理

在量子密钥分发网络中,由于量子密钥分发qkd单元每次提供的密钥量不定,导致数据包加密发送的情况也不同。qkd单元每次提供的密钥量较小时,测试数据包是一个一个加密发送出去的;若qkd单元每次提供的密钥量较大,此时的密钥量足够加密一组数据包,因此数据包是一组一组发送出去的。

本发明测量时使用的门限值为100和0.01,若相邻数据包的间隔之比出现大于100或小于0.01,说明数据包是一组一组加密发送,后续采用小包长数据包,一组内数据包越多,对密钥量的估计越准确;反之,数据包是一个一个加密发送的,后续采用大包长数据包,对密钥量的估计越准确。

现有的测量可用密钥速率的方法中,当结果的收敛区间越小,理论上每次调整后的发送速率越接近准确值,时延趋势不应该出现持续的无上升或持续的上升趋势。造成这种错误情况出现的绝大部分原因是某次时延趋势判断错误,导致收敛区间的最大值偏小或最小值偏大,后续一直收敛不到正确区间。

为了避免这种错误情况影响最后结果的准确性,本发明设定收敛区间门限值a用于判断调整后的发送速率接近准确值的程度,利用a及时延趋势的关系,改变收敛区间,减小误差。

测量前已知路径的瓶颈密钥速率为r,且已设置好测量精度b,利用二分法调整发送速率,每次更新后收敛区间的大小一定是n为收敛次数。设待测的可用密钥速率a在测量中需要n次收敛才能达到精度满足条件|r-r_next|/r_next<b,又因为|r-r_next|的大小为结束测量时,r_next=a,因此即在测量前,若要测可用密钥速率a,根据精度要求b及瓶颈密钥速率r,就可计算得出需要的收敛次数n。但测量前并不知a的具体取值,且a取不到0,因此,具体可用密钥速率的测量范围可设为m为可用密钥速率最小值系数,结合n的计算,a=r时,收敛次数最少,为次,时,收敛次数最多,为次,因此可将分为段,每段内可用密钥速率的收敛次数相同。即段区间为时,n为段区间为时,n为段区间为时,n为依次类推,除了第一个和最后一个段区间,其他段区间的最大值均是最小值的两倍。最后一个段区间的收敛次数n为本发明中a的值应为一半收敛次数所对应的收敛区间大小。n为奇数时,n为偶数时,

因此测量前可先计算出不同可用密钥速率范围对应的a值,测量过程中用于进行时延趋势和收敛区间的关系判断。

当qkd单元每次提供的密钥量较小,即每次更新的密钥量小于数据包的长度时,若数据包中数据的发送速率小于路径的可用密钥速率,数据包的端到端时延无上升趋势,若数据包发送速率大于路径的可用密钥速率,时延呈上升趋势。

当qkd单元每次提供的密钥量较大,即每次更新的密钥量大于数据包的长度时,数据包一组一组地加密发送。若数据包中数据的发送速率小于路径的可用密钥速率,数据包不需要排队等待,组内数据包的端到端时延呈下降趋势,不同组之间的时延无上升趋势;若数据的发送速率大于路径的可用密钥速率,组内数据包的端到端时延呈下降趋势,组间时延呈上升趋势。

本发明中,对端到端可用密钥速率的测量,就是通过在测试路径一端发送无间隔的等长测试数据包,在另一端接收测试数据包并观察端到端的时延趋势与可用密钥速率的收敛区间的关系从而重新调整发送速率,最终让发送速率收缩到可用密钥速率的测量精度范围内来实现的。

三、实现方案

参照图1,本发明的具体实现如下:

步骤1,设置待测路径的源端、目的端及测量参数。

本实例将待测的端到端路径的两端分别称为源端和目的端,测试数据包在源端发送,在目的端接收,单向测量;

设置待测路径的源端和目的端,已知端到端瓶颈密钥速率r,待测可用密钥速率a的范围(0,r];

根据测量需求设置测量精度b,区间调整参数flag=0,根据测量精度b将整个(0,r]分成收敛次数n相同的区间,n为奇数时,收敛区间门限值n为偶数时,

步骤2,设置测试数据包包长,并发送测试数据包。

设置测试数据包长度为256字节,并发送q个间隔为0的等长测试数据包。发送这一串无间隔的等长测试包的目的是为了获知数据包不同的加密情况,即一个一个加密发送还是一组一组加密发送,以便根据不同的加密情况确定后续测试数据包的长度。

步骤3,目的端接收测试数据包并记录相邻数据包的到达间隔。

目的端接收测试数据包并记录测试数据包的到达时刻,相邻数据包的时刻之差即为到达间隔;

由于步骤2中源端发送了q个测试数据包,所以在此步骤中目的端应统计到q-1个到达间隔:

若统计的数据小于q-1个,说明测试数据包可能因为网络阻塞而丢包,统计的数据误差较大,则需要减少发送的测试数据包数目,返回步骤2重新发送测试数据包;

若统计的数据为q-1个,说明发送过程中测试数据包没有丢包,执行步骤4。

步骤4,在目的端分析数据包的到达间隔,决定后续所用测试数据包的包长。

根据步骤3统计的相邻数据包的到达间隔,计算出相邻数据包的到达间隔之比,据此判断出测试数据包包长与每次更新的密钥量的关系,从而决定后续所用测试数据包的长度:

若记录的相邻数据包的到达间隔之比出现大于100或者小于0.01的情况,说明链路每次更新的密钥量大于测试数据包的长度,即测试数据包是一组一组加密发送的,为了提高测量精度,长度要减小,因此后续测试数据包长度取128字节;

若记录的相邻数据包的到达间隔之比没有出现大于100或者小于0.01的情况,说明链路每次更新的密钥量小于测试数据包的长度,即测试数据包是一个一个加密发送的,为了提高测量精度,长度要增加,因此后续测试数据包长度取1024字节。

步骤5,设置后续测试数据包的发送速率。

根据步骤4所取测试数据包的包长并结合端到端瓶颈密钥速率r,在源端重新设置测试数据的发送速率r,本实例r是取瓶颈密钥速率r的一半,即r=r/2。

步骤6,源端发送后续测试数据包。

根据步骤5所重设的发送速率r,在源端发送m组数据包,每组个数为n,不同组之间设有间隔,以避免组与组之间相互影响。

步骤7,目的端接收来自源端的测试数据包并对数据包的端到端时延进行处理。

目的端接收来自源端的测试数据,并统计接收到的每组数据包的端到端时延,对m组数据包的时延趋势均进行判断:

若有一半以上为上升趋势,则判定时延处于上升趋势,记录时延趋势变化,设置收敛区间的最大值r_max=r,最小值r_min不变,记录r_max的值并调整下一次的发送速率r_next,r_next取收敛区间的均值,即r_next=r=(r_min+r_max)/2,执行步骤8;

若有一半以上为无上升趋势,则判定时延处于无上升趋势,记录时延趋势变化,设置收敛区间的最小值r_min=r,最大值r_max不变,记录r_min的值并调整下一次的发送速率r_next,r_next取收敛区间的均值,即r_next=r=(r_min+r_max)/2,执行步骤8;

否则,时延趋势为不确定,需要重新测量,返回步骤6。

步骤8,判断收敛区间及发送速率是否满足测量精度要求。

若调整过的发送速率满足条件|r-r_next|/r_next<b,则测量结束,获得最终的可用密钥速率的测量值r_next;

若不满足精度要求条件,则继续执行步骤9。

步骤9,结合时延趋势和收敛区间的关系,判断是否重新调整收敛区间。

若区间调整参数flag=1,说明已经调整过收敛区间,返回步骤6;

若测量过程中出现无上升、连续两次上升或连续三次上升趋势,且在第二次或第三次上升趋势时满足[r_min,r_max]<=a,则认为由于无上升趋势这种情况判断错误,导致收敛区间较小时,时延还在呈现持续的上升趋势,因而收敛区间整体值偏大。因此,应该减小收敛区间的整体值,执行步骤10;

若测量过程中出现上升、连续两次无上升或连续三次无上升趋势,且在第二次或第三次无上升趋势时满足[r_min,r_max]<=a,则认为由于上升趋势这种情况判断错误,导致收敛区间较小时,时延还在呈现持续的无上升趋势,因而收敛区间的整体值偏小,因此,应该增大收敛区间的整体值,执行步骤11;

若测量过程中出现无上升、连续四次上升趋势,且在第四次上升趋势时满足[r_min,r_max]>a,则认为由于无上升趋势这种情况判断错误,后续时延还在呈现持续的上升趋势,但是错误出现较早,因此应该减小收敛区间的整体值,执行步骤10;

若测量过程中出现上升、连续四次无上升趋势,且在第四次无上升趋势时满足[r_min,r_max]>a,则认为由于上升趋势这种情况判断错误,后续时延还在呈现持续的无上升趋势,但是错误出现较早,因此应该增大收敛区间的整体值,执行步骤11;

若测量一开始就出现无上升、连续四次上升趋势,则认为由于发送速率与可用密钥速率相近,导致最开始的无上升时延趋势判断错误,后续出现持续一致的时延趋势,因此,应该扩大收敛区间的范围,执行步骤12;

若测量一开始就出现上升、连续四次无上升的趋势,则认为由于发送速率与可用密钥速率相近,导致最开始的上升时延趋势判断错误,后续出现持续一致的时延趋势,因此,应该扩大收敛区间的范围,执行步骤13;

否则,重新测量,返回步骤6。

步骤10,将新收敛区间的最大值改为本次记录的r_min,将新区间的最小值改为上一次记录的r_min,执行步骤14;

步骤11,将新收敛区间的最小值改为本次记录的r_max,将新区间的最大值改为上一次记录的r_max,执行步骤14;

步骤12,将新收敛区间的最大值改为本次记录的r_max,将新区间的最小值改为测量最初发送速率的一半,执行步骤14;

步骤13,将新收敛区间的最小值改为本次记录的r_min,将新区间的最大值改为测量最初发送速率的1.5倍,执行步骤14;

步骤14,调整r_next,flag=1,重新测量,返回步骤6。

以上描述仅是本发明的一个具体实例,并未构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本

技术实现要素:
和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

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