1.量子密钥分发网络端到端瓶颈密钥速率测量方法,包括以下步骤:(1)设置测试数据包,该测试数据包的长度为L取256字节;(2)将待测试路径的两端分为源端和目的端,将测试数据包置于源端;(3)源端发送N个间隔为0的等长测试数据包;(4)目的端接收源端发送的测试数据包,并按顺序统计相邻数据包之间的到达间隔,若统计的数据小于N-1个,则返回步骤(3)重新进行测试;若统计出的数据为N-1个,则判断此时测试数据包的长度,若为256字节,则执行步骤(5),否则,执行步骤(6);(5)根据统计数据的到达间隔,决定后续测量所用的数据包大小,并进行测量:若统计到的相邻数据包的到达间隔之比小于或等于2,则改变数据包的长度,分别取包长L1j=1450-10j,j=0,1…5,重复步骤(3)-(4)进行测量;若统计到的相邻数据包的到达间隔之比大于2,则改变数据包的长度,分别取包长L2j=45-5j,重复步骤(3)-(4)进行测量;(6)根据包长对测得的数据进行处理:若包长为L1j,则记录数据包的到达间隔Δτi,先计算出N-1个密钥速率值i=1,2…N-1,再对这N-1个密钥速率值求均值计算出包长为L1j时测得的密钥速率若包长为L2j,则记录两组数据包的到达间隔Δτk,k=1,2…M,其中Δτk为当前一组数据包中最后一个数据包的到达时刻与下一组数据包中第一个数据包的到达时刻之差,M为数据包分组间隔的数目;记录第k个到达间隔与第k-1个到达间隔之间数据包个数nk,先计算出M个密钥速率值再对这M个密钥速率值求均值计算出包长为L2j时测得的密钥速率(7)对不同包长测得的密钥速率rj求取均值,获得瓶颈链路的密钥速率
技术领域
本发明属于通信技术领域,特别涉及一种测量端到端瓶颈密钥速率的测量方法,可用于为量子密钥分发网络的性能优化提供依据。
背景技术
量子通信起源于对通信保密的要求,自古以来人们对于通信安全非常重视。而对信息进行加密是保证信息通信安全的重要方法之一。基于量子力学的海森堡不确定性原理和量子态不可克隆定理,量子密钥分发技术在双方之间建立共享的密钥,通过一次一密的加密策略,实现绝对安全通信。因此,基于量子密钥分发QKD技术的量子密钥分发网络应运而生。在量子通信系统中,通信双方有经典保密通信系统和量子密钥分发系统,QKD系统用来产生密钥,作为经典保密通信系统的密钥,因此是量子密钥分发网络的重要组成部分。由于现有技术的限制,QKD系统协商密钥的速率较低,因此在量子密钥分发网络中对密钥的合理利用至关重要。
量子密钥分发网络中,密钥使用策略有端到端加密和逐跳加密两种方式。
端到端加密方式是在通信双方进行加密、解密,在中间的中继器处不需要解密再加密,只在源端加密,在收端解密,即在中继器处只能获得密文,而无法解密。这种策略有初始接入的延时,需确定每次协商的密钥长度,协商时间滞后于通话结束时间。
对于逐跳加密的方式,量子加密数据包到达中继器先进行解密,恢复原始信息,在转发给下一跳前,为防止泄密,会利用新的密钥再一次加密,发给下一个可信中继,可信中继会继续解密再加密,最后在收端进行解密,得到原始信息。
端到端加密方式,需要先形成端到端密钥,经典网络的流量翻倍;而逐跳加密,是直接利用密钥对信息加解密,经典网络的流量不变,而且逐跳加密也不需要事先确定密钥块的长度以及总长度。本发明讨论的加密方式是逐跳加密方式。
在量子密钥分发网络中,对于一次一密的逐跳加密方式,从通信源端到目的端,每经过一条链路,都要消耗密钥,如果数据的速率远大于密钥速率,则密钥不足,造成一部分数据不能及时加密,若继续等待密钥,则可能造成网络拥塞,若不直接加密,则这部分数据就会泄露,引起安全问题,而量子密钥分发网络对安全性要求比较高,所以如果密钥不足,则网络性能就会降低。如果数据的发送速率远小于密钥速率,则密钥不能充分得到使用,有时为了保证密钥的新鲜度,一部分密钥会被丢弃。由以上分析可知无论数据包速率大于密钥速率还是小于密钥速率,网络都不能处于最优的状态,因此需要对密钥速率进行估计。在端到端瓶颈密钥速率未知的情况下,若业务量大于瓶颈处的密钥,则会出现因密钥不足而引起的安全问题,不能合理利用网络资源。
发明内容:
本发明的目的是针对以上的不足,提出一种量子密钥分发网络端到端瓶颈密钥速率的测量方法,以获得瓶颈密钥速率,可用于为合理分配网络资源,优化网络性能提供依据。
为实现上述目的,本发明的技术方案包括如下:
(1)设置测试数据包,该测试数据包的长度为L取256字节;
(2)将待测试路径的两端分为源端和目的端,将测试数据包置于源端;
(3)源端发送N个间隔为0的等长测试数据包;
(4)目的端接收源端发送的测试数据包,并按顺序统计相邻数据包之间的到达间隔,若统计的数据小于N-1个,则返回步骤(3)重新进行测试;若统计出的数据为N-1个,则判断此时测试数据包的长度,若为256字节,则执行步骤(5),否则,执行步骤(6);
(5)根据统计数据的到达间隔,决定后续测量所用的数据包大小,并进行测量:
若统计到的相邻数据包的到达间隔之比小于或等于2,则改变数据包的长度,分别取包长L1j=1450-10j,j=0,1…5,重复步骤(3)-(4)进行测量;
若统计到的相邻数据包的到达间隔之比大于2,则改变数据包的长度,分别取包长L2j=45-5j,重复步骤(3)-(4)进行测量;
(6)根据包长对测得的数据进行处理:
若包长为L1j,则记录数据包的到达间隔Δτi,先计算出N-1个密钥速率值i=1,2…N-1,再对这N-1个密钥速率值求均值计算出包长为L1j时测得的密钥速率
若包长为L2j,则记录两组数据包的到达间隔Δτk,k=1,2…M,其中Δτk为当前一组数据包中最后一个数据包的到达时刻与下一组数据包中第一个数据包的到达时刻之差,记录第k个到达间隔与第k-1个到达间隔之间数据包个数nk,先计算出M个密钥速率值再对这M个密钥速率值求均值计算出包长为L2j时测得的密钥速率
(7)对不同包长测得的密钥速率rj求取均值,获得瓶颈链路的密钥速率
本发明具有如下优点:
1、本发明由于推导出了瓶颈密钥速率与数据包到达间隔的关系,故可根据测得的数据包到达间隔计算出瓶颈链路的密钥速率,避免了现有技术因为瓶颈密钥速率未知而带来的资源分配不当问题,可用于为量子密钥分发网络的性能优化提供依据。
2、本发明在测试时由于先发送一组测试数据包,再根据测得的数据特点更改数据包长度后进行测试,提高了密钥速率的测量精度。
附图说明:
图1为本发明的测试流程图。
具体实施方式
以下结合附图对本发明做进一步详细描述。
一、测试场景介绍:
本测试方法针对量子密钥分发QKD网络,该QKD网络由可信中继及量子密钥分发链路构成。可信中继之间通过QKD链路建立链路密钥,各链路协商的密钥按需应用,但不在可信中继处存储,两个用户间的端到端通信密钥可通过链路密钥逐跳传输而建立。若第i条链路可以提供的密钥速率为Ribit/s,密钥更新间隔为τ,每次更新的密钥量为Ni比特,则密钥速率与更新间隔和更新密钥量之间的关系为Ni=Riτ。
对于数据包的加密方式,数据包到达可信中继后,将数据包存入列表,数据包等待密钥更新,QKD一直处于工作的状态,在密钥更新时查看列表中是否存在数据包,若存在则密钥进行更新,当更新的密钥量大于等于数据包的长度时将数据包加密后转发。由于实际中量子密钥分发网络中可信中继之间的链路密钥速率要远小于链路的经典信道带宽,因此在量子密钥分发网络中对密钥速率的关注度要高于带宽。本发明就是对量子密钥分发网络中端到端的瓶颈密钥速率进行测量。
二、测试原理:
对端到端瓶颈密钥速率的测量,是通过测试路径一端发送无间隔的等长测试数据包,在另一端接收测试数据包实现的。在瓶颈链路处,若每次更新的密钥量小于数据包的长度,则多次更新的密钥量才能够发送一个数据包,使两个数据包之间的到达间隔近似等于更新一个数据包所需密钥量的时间,故可根据包长和到达间隔便可计算出密钥速率。若每次更新的密钥量大于数据包的长度,则每次更新的密钥量足够发送几个数据包,称之为可以发送一组数据包,使两组数据包之间的到达间隔近似等于更新一组数据包所需密钥量的时间,故可根据一组数据包的总包长与到达间隔便可计算出密钥速率。
若数据包的长度大于每次更新的密钥量,则需要m个更新周期更新的密钥量才可以发送一个数据包,这时候数据包的包长实际是介于m-1个更新周期更新的密钥量和m个更新周期更新的密钥量之间的,当m的值越大时,m-1/m的值越接近1,对密钥量的估计越准确,这时可近似认为数据包的包长就是m个更新周期更新的密钥量。
若数据包的长度小于每次更新的密钥量,则每次更新的密钥量足够n个数据包发送,这时候更新的密钥量实际是介于n个数据包的总包长和n+1个数据包的总包长之间的,当n的值越大时,n/n+1的值越接近1,对密钥量的估计越准确,这时可近似认为n个数据包的总包长就是一个更新周期更新的密钥量。
三、实现方案
参照图1,本发明的具体实现如下:
步骤1,设置测试数据包长。
本发明利用数据包的包长与数据包之间的到达间隔来获得密钥速率,因此需要对数据包包长进行设置,即设置测试数据包长度L为256字节。
步骤2,设置测试路径源端和目的端。
测试时需要有测试路径,本发明将待测试路径的两端分为源端和目的端,且源端用于发送测试数据包,目的端用于接收测试数据包。
步骤3,发送测试数据包。
将测试数据包置于源端,并发送N个间隔为0的等长测试数据包。
步骤4,接收测试数据包。
目的端接收源端发送的测试数据包,并记录数据包的到达时刻,相邻两个数据包的到达时刻之差即为数据包之间的到达间隔;
按顺序统计相邻数据包之间的到达间隔,源端发送了N个测试数据包,则接收端应统计到N-1个到达间隔,若统计的数据小于N-1个,说明此时网络负载较大,得到的数据误差较大,因此需要返回步骤3重新进行测试。若统计出的数据为N-1个,则判断此时测试数据包的长度,若为256字节,则执行步骤5,否则,执行步骤6。
步骤5,测试数据分析并重新测量。
根据步骤4统计数据的到达间隔,判断出瓶颈链路每次更新的密钥量与测试数据包长度的关系,进而决定后续测量所用的数据包大小,并根据数据包长度进行测量:
若统计到的相邻数据包的到达间隔之比小于或等于2,说明此时瓶颈链路每次更新的密钥量要小于或等于测试数据包的长度,为了提高密钥速率的测量精度,需要增加数据包的长度,因此取包长L1j=1450-10j,j=0,1…5,重复步骤(3)-(4)对不同包长进行测量;
若统计到的相邻数据包的到达间隔之比大于2,说明此时瓶颈链路每次更新的密钥量大于测试数据包的长度,即一次更新的密钥量可以发送一组数据包,为了提高密钥速率的测量精度,需要减小数据包的长度,因此取包长L2j=45-5j,重复步骤(3)-(4)对不同包长进行测量。
步骤6,根据包长对测得的数据进行处理。
由于步骤5是根据不同包长进行的测试,因此也需要根据不同包长对测得的数据进行处理:
若测试所用的数据包长度为L1j=1450-10j,则说明需要进行多次密钥更新来加密发送一个测试数据包,此时相邻数据包的到达间隔为多次更新密钥所用时间,测试数据包的长度为多次更新的密钥量,则根据测试数据包的长度和相邻数据包的到达间隔计算出密钥速率,即先计算出N-1个密钥速率值再对这N-1个密钥速率值求均值计算出包长为L1j时测得的密钥速率其中i=1,2…N-1,L1j为测试数据包的长度,Δτi为记录的相邻数据包的到达间隔;
若测试所用的数据包长度为L2j=45-5j,则说明每次更新的密钥量可以加密发送一组数据包,根据一组数据包的长度和到达间隔便可计算出密钥速率,即:
先计算出M个密钥速率值k=1,2…M,其中L2j为测试数据包的长度,Δτk为记录的相邻两组数据包之间的到达间隔,其定义为当前一组数据包中最后一个数据包的到达时刻与下一组数据包中第一个数据包的到达时刻之差,nk为记录的第k个到达间隔与第k-1个到达间隔之间数据包个数;
再对这M个密钥速率值求取均值计算出包长为L2j时测得的密钥速率
改变j的值,分别对不同包长测得的数据进行计算。
步骤7,计算最终密钥速率。
对不同包长测得的密钥速率rj求取均值,获得瓶颈链路的密钥速率
以上描述仅是本发明的一个具体实例,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。


评论
全部评论
共{{commentCount}}条{{rs.Msg_Content}}