本發(fā)明屬于通信技術(shù)領(lǐng)域,特別涉及一種測量端到端瓶頸密鑰速率的測量方法,可用于為量子密鑰分發(fā)網(wǎng)絡(luò)的性能優(yōu)化提供依據(jù)。
背景技術(shù):
量子通信起源于對通信保密的要求,自古以來人們對于通信安全非常重視。而對信息進(jìn)行加密是保證信息通信安全的重要方法之一?;诹孔恿W(xué)的海森堡不確定性原理和量子態(tài)不可克隆定理,量子密鑰分發(fā)技術(shù)在雙方之間建立共享的密鑰,通過一次一密的加密策略,實(shí)現(xiàn)絕對安全通信。因此,基于量子密鑰分發(fā)QKD技術(shù)的量子密鑰分發(fā)網(wǎng)絡(luò)應(yīng)運(yùn)而生。在量子通信系統(tǒng)中,通信雙方有經(jīng)典保密通信系統(tǒng)和量子密鑰分發(fā)系統(tǒng),QKD系統(tǒng)用來產(chǎn)生密鑰,作為經(jīng)典保密通信系統(tǒng)的密鑰,因此是量子密鑰分發(fā)網(wǎng)絡(luò)的重要組成部分。由于現(xiàn)有技術(shù)的限制,QKD系統(tǒng)協(xié)商密鑰的速率較低,因此在量子密鑰分發(fā)網(wǎng)絡(luò)中對密鑰的合理利用至關(guān)重要。
量子密鑰分發(fā)網(wǎng)絡(luò)中,密鑰使用策略有端到端加密和逐跳加密兩種方式。
端到端加密方式是在通信雙方進(jìn)行加密、解密,在中間的中繼器處不需要解密再加密,只在源端加密,在收端解密,即在中繼器處只能獲得密文,而無法解密。這種策略有初始接入的延時(shí),需確定每次協(xié)商的密鑰長度,協(xié)商時(shí)間滯后于通話結(jié)束時(shí)間。
對于逐跳加密的方式,量子加密數(shù)據(jù)包到達(dá)中繼器先進(jìn)行解密,恢復(fù)原始信息,在轉(zhuǎn)發(fā)給下一跳前,為防止泄密,會利用新的密鑰再一次加密,發(fā)給下一個可信中繼,可信中繼會繼續(xù)解密再加密,最后在收端進(jìn)行解密,得到原始信息。
端到端加密方式,需要先形成端到端密鑰,經(jīng)典網(wǎng)絡(luò)的流量翻倍;而逐跳加密,是直接利用密鑰對信息加解密,經(jīng)典網(wǎng)絡(luò)的流量不變,而且逐跳加密也不需要事先確定密鑰塊的長度以及總長度。本發(fā)明討論的加密方式是逐跳加密方式。
在量子密鑰分發(fā)網(wǎng)絡(luò)中,對于一次一密的逐跳加密方式,從通信源端到目的端,每經(jīng)過一條鏈路,都要消耗密鑰,如果數(shù)據(jù)的速率遠(yuǎn)大于密鑰速率,則密鑰不足,造成一部分?jǐn)?shù)據(jù)不能及時(shí)加密,若繼續(xù)等待密鑰,則可能造成網(wǎng)絡(luò)擁塞,若不直接加密,則這部分?jǐn)?shù)據(jù)就會泄露,引起安全問題,而量子密鑰分發(fā)網(wǎng)絡(luò)對安全性要求比較高,所以如果密鑰不足,則網(wǎng)絡(luò)性能就會降低。如果數(shù)據(jù)的發(fā)送速率遠(yuǎn)小于密鑰速率,則密鑰不能充分得到使用,有時(shí)為了保證密鑰的新鮮度,一部分密鑰會被丟棄。由以上分析可知無論數(shù)據(jù)包速率大于密鑰速率還是小于密鑰速率,網(wǎng)絡(luò)都不能處于最優(yōu)的狀態(tài),因此需要對密鑰速率進(jìn)行估計(jì)。在端到端瓶頸密鑰速率未知的情況下,若業(yè)務(wù)量大于瓶頸處的密鑰,則會出現(xiàn)因密鑰不足而引起的安全問題,不能合理利用網(wǎng)絡(luò)資源。
技術(shù)實(shí)現(xiàn)要素:
:
本發(fā)明的目的是針對以上的不足,提出一種量子密鑰分發(fā)網(wǎng)絡(luò)端到端瓶頸密鑰速率的測量方法,以獲得瓶頸密鑰速率,可用于為合理分配網(wǎng)絡(luò)資源,優(yōu)化網(wǎng)絡(luò)性能提供依據(jù)。
為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案包括如下:
(1)設(shè)置測試數(shù)據(jù)包,該測試數(shù)據(jù)包的長度為L取256字節(jié);
(2)將待測試路徑的兩端分為源端和目的端,將測試數(shù)據(jù)包置于源端;
(3)源端發(fā)送N個間隔為0的等長測試數(shù)據(jù)包;
(4)目的端接收源端發(fā)送的測試數(shù)據(jù)包,并按順序統(tǒng)計(jì)相鄰數(shù)據(jù)包之間的到達(dá)間隔,若統(tǒng)計(jì)的數(shù)據(jù)小于N-1個,則返回步驟(3)重新進(jìn)行測試;若統(tǒng)計(jì)出的數(shù)據(jù)為N-1個,則判斷此時(shí)測試數(shù)據(jù)包的長度,若為256字節(jié),則執(zhí)行步驟(5),否則,執(zhí)行步驟(6);
(5)根據(jù)統(tǒng)計(jì)數(shù)據(jù)的到達(dá)間隔,決定后續(xù)測量所用的數(shù)據(jù)包大小,并進(jìn)行測量:
若統(tǒng)計(jì)到的相鄰數(shù)據(jù)包的到達(dá)間隔之比小于或等于2,則改變數(shù)據(jù)包的長度,分別取包長L1j=1450-10j,j=0,1…5,重復(fù)步驟(3)-(4)進(jìn)行測量;
若統(tǒng)計(jì)到的相鄰數(shù)據(jù)包的到達(dá)間隔之比大于2,則改變數(shù)據(jù)包的長度,分別取包長L2j=45-5j,重復(fù)步驟(3)-(4)進(jìn)行測量;
(6)根據(jù)包長對測得的數(shù)據(jù)進(jìn)行處理:
若包長為L1j,則記錄數(shù)據(jù)包的到達(dá)間隔Δτi,先計(jì)算出N-1個密鑰速率值i=1,2…N-1,再對這N-1個密鑰速率值求均值計(jì)算出包長為L1j時(shí)測得的密鑰速率
若包長為L2j,則記錄兩組數(shù)據(jù)包的到達(dá)間隔Δτk,k=1,2…M,其中Δτk為當(dāng)前一組數(shù)據(jù)包中最后一個數(shù)據(jù)包的到達(dá)時(shí)刻與下一組數(shù)據(jù)包中第一個數(shù)據(jù)包的到達(dá)時(shí)刻之差,記錄第k個到達(dá)間隔與第k-1個到達(dá)間隔之間數(shù)據(jù)包個數(shù)nk,先計(jì)算出M個密鑰速率值再對這M個密鑰速率值求均值計(jì)算出包長為L2j時(shí)測得的密鑰速率
(7)對不同包長測得的密鑰速率rj求取均值,獲得瓶頸鏈路的密鑰速率
本發(fā)明具有如下優(yōu)點(diǎn):
1、本發(fā)明由于推導(dǎo)出了瓶頸密鑰速率與數(shù)據(jù)包到達(dá)間隔的關(guān)系,故可根據(jù)測得的數(shù)據(jù)包到達(dá)間隔計(jì)算出瓶頸鏈路的密鑰速率,避免了現(xiàn)有技術(shù)因?yàn)槠款i密鑰速率未知而帶來的資源分配不當(dāng)問題,可用于為量子密鑰分發(fā)網(wǎng)絡(luò)的性能優(yōu)化提供依據(jù)。
2、本發(fā)明在測試時(shí)由于先發(fā)送一組測試數(shù)據(jù)包,再根據(jù)測得的數(shù)據(jù)特點(diǎn)更改數(shù)據(jù)包長度后進(jìn)行測試,提高了密鑰速率的測量精度。
附圖說明:
圖1為本發(fā)明的測試流程圖。
具體實(shí)施方式
以下結(jié)合附圖對本發(fā)明做進(jìn)一步詳細(xì)描述。
一、測試場景介紹:
本測試方法針對量子密鑰分發(fā)QKD網(wǎng)絡(luò),該QKD網(wǎng)絡(luò)由可信中繼及量子密鑰分發(fā)鏈路構(gòu)成??尚胖欣^之間通過QKD鏈路建立鏈路密鑰,各鏈路協(xié)商的密鑰按需應(yīng)用,但不在可信中繼處存儲,兩個用戶間的端到端通信密鑰可通過鏈路密鑰逐跳傳輸而建立。若第i條鏈路可以提供的密鑰速率為Ribit/s,密鑰更新間隔為τ,每次更新的密鑰量為Ni比特,則密鑰速率與更新間隔和更新密鑰量之間的關(guān)系為Ni=Riτ。
對于數(shù)據(jù)包的加密方式,數(shù)據(jù)包到達(dá)可信中繼后,將數(shù)據(jù)包存入列表,數(shù)據(jù)包等待密鑰更新,QKD一直處于工作的狀態(tài),在密鑰更新時(shí)查看列表中是否存在數(shù)據(jù)包,若存在則密鑰進(jìn)行更新,當(dāng)更新的密鑰量大于等于數(shù)據(jù)包的長度時(shí)將數(shù)據(jù)包加密后轉(zhuǎn)發(fā)。由于實(shí)際中量子密鑰分發(fā)網(wǎng)絡(luò)中可信中繼之間的鏈路密鑰速率要遠(yuǎn)小于鏈路的經(jīng)典信道帶寬,因此在量子密鑰分發(fā)網(wǎng)絡(luò)中對密鑰速率的關(guān)注度要高于帶寬。本發(fā)明就是對量子密鑰分發(fā)網(wǎng)絡(luò)中端到端的瓶頸密鑰速率進(jìn)行測量。
二、測試原理:
對端到端瓶頸密鑰速率的測量,是通過測試路徑一端發(fā)送無間隔的等長測試數(shù)據(jù)包,在另一端接收測試數(shù)據(jù)包實(shí)現(xiàn)的。在瓶頸鏈路處,若每次更新的密鑰量小于數(shù)據(jù)包的長度,則多次更新的密鑰量才能夠發(fā)送一個數(shù)據(jù)包,使兩個數(shù)據(jù)包之間的到達(dá)間隔近似等于更新一個數(shù)據(jù)包所需密鑰量的時(shí)間,故可根據(jù)包長和到達(dá)間隔便可計(jì)算出密鑰速率。若每次更新的密鑰量大于數(shù)據(jù)包的長度,則每次更新的密鑰量足夠發(fā)送幾個數(shù)據(jù)包,稱之為可以發(fā)送一組數(shù)據(jù)包,使兩組數(shù)據(jù)包之間的到達(dá)間隔近似等于更新一組數(shù)據(jù)包所需密鑰量的時(shí)間,故可根據(jù)一組數(shù)據(jù)包的總包長與到達(dá)間隔便可計(jì)算出密鑰速率。
若數(shù)據(jù)包的長度大于每次更新的密鑰量,則需要m個更新周期更新的密鑰量才可以發(fā)送一個數(shù)據(jù)包,這時(shí)候數(shù)據(jù)包的包長實(shí)際是介于m-1個更新周期更新的密鑰量和m個更新周期更新的密鑰量之間的,當(dāng)m的值越大時(shí),m-1/m的值越接近1,對密鑰量的估計(jì)越準(zhǔn)確,這時(shí)可近似認(rèn)為數(shù)據(jù)包的包長就是m個更新周期更新的密鑰量。
若數(shù)據(jù)包的長度小于每次更新的密鑰量,則每次更新的密鑰量足夠n個數(shù)據(jù)包發(fā)送,這時(shí)候更新的密鑰量實(shí)際是介于n個數(shù)據(jù)包的總包長和n+1個數(shù)據(jù)包的總包長之間的,當(dāng)n的值越大時(shí),n/n+1的值越接近1,對密鑰量的估計(jì)越準(zhǔn)確,這時(shí)可近似認(rèn)為n個數(shù)據(jù)包的總包長就是一個更新周期更新的密鑰量。
三、實(shí)現(xiàn)方案
參照圖1,本發(fā)明的具體實(shí)現(xiàn)如下:
步驟1,設(shè)置測試數(shù)據(jù)包長。
本發(fā)明利用數(shù)據(jù)包的包長與數(shù)據(jù)包之間的到達(dá)間隔來獲得密鑰速率,因此需要對數(shù)據(jù)包包長進(jìn)行設(shè)置,即設(shè)置測試數(shù)據(jù)包長度L為256字節(jié)。
步驟2,設(shè)置測試路徑源端和目的端。
測試時(shí)需要有測試路徑,本發(fā)明將待測試路徑的兩端分為源端和目的端,且源端用于發(fā)送測試數(shù)據(jù)包,目的端用于接收測試數(shù)據(jù)包。
步驟3,發(fā)送測試數(shù)據(jù)包。
將測試數(shù)據(jù)包置于源端,并發(fā)送N個間隔為0的等長測試數(shù)據(jù)包。
步驟4,接收測試數(shù)據(jù)包。
目的端接收源端發(fā)送的測試數(shù)據(jù)包,并記錄數(shù)據(jù)包的到達(dá)時(shí)刻,相鄰兩個數(shù)據(jù)包的到達(dá)時(shí)刻之差即為數(shù)據(jù)包之間的到達(dá)間隔;
按順序統(tǒng)計(jì)相鄰數(shù)據(jù)包之間的到達(dá)間隔,源端發(fā)送了N個測試數(shù)據(jù)包,則接收端應(yīng)統(tǒng)計(jì)到N-1個到達(dá)間隔,若統(tǒng)計(jì)的數(shù)據(jù)小于N-1個,說明此時(shí)網(wǎng)絡(luò)負(fù)載較大,得到的數(shù)據(jù)誤差較大,因此需要返回步驟3重新進(jìn)行測試。若統(tǒng)計(jì)出的數(shù)據(jù)為N-1個,則判斷此時(shí)測試數(shù)據(jù)包的長度,若為256字節(jié),則執(zhí)行步驟5,否則,執(zhí)行步驟6。
步驟5,測試數(shù)據(jù)分析并重新測量。
根據(jù)步驟4統(tǒng)計(jì)數(shù)據(jù)的到達(dá)間隔,判斷出瓶頸鏈路每次更新的密鑰量與測試數(shù)據(jù)包長度的關(guān)系,進(jìn)而決定后續(xù)測量所用的數(shù)據(jù)包大小,并根據(jù)數(shù)據(jù)包長度進(jìn)行測量:
若統(tǒng)計(jì)到的相鄰數(shù)據(jù)包的到達(dá)間隔之比小于或等于2,說明此時(shí)瓶頸鏈路每次更新的密鑰量要小于或等于測試數(shù)據(jù)包的長度,為了提高密鑰速率的測量精度,需要增加數(shù)據(jù)包的長度,因此取包長L1j=1450-10j,j=0,1…5,重復(fù)步驟(3)-(4)對不同包長進(jìn)行測量;
若統(tǒng)計(jì)到的相鄰數(shù)據(jù)包的到達(dá)間隔之比大于2,說明此時(shí)瓶頸鏈路每次更新的密鑰量大于測試數(shù)據(jù)包的長度,即一次更新的密鑰量可以發(fā)送一組數(shù)據(jù)包,為了提高密鑰速率的測量精度,需要減小數(shù)據(jù)包的長度,因此取包長L2j=45-5j,重復(fù)步驟(3)-(4)對不同包長進(jìn)行測量。
步驟6,根據(jù)包長對測得的數(shù)據(jù)進(jìn)行處理。
由于步驟5是根據(jù)不同包長進(jìn)行的測試,因此也需要根據(jù)不同包長對測得的數(shù)據(jù)進(jìn)行處理:
若測試所用的數(shù)據(jù)包長度為L1j=1450-10j,則說明需要進(jìn)行多次密鑰更新來加密發(fā)送一個測試數(shù)據(jù)包,此時(shí)相鄰數(shù)據(jù)包的到達(dá)間隔為多次更新密鑰所用時(shí)間,測試數(shù)據(jù)包的長度為多次更新的密鑰量,則根據(jù)測試數(shù)據(jù)包的長度和相鄰數(shù)據(jù)包的到達(dá)間隔計(jì)算出密鑰速率,即先計(jì)算出N-1個密鑰速率值再對這N-1個密鑰速率值求均值計(jì)算出包長為L1j時(shí)測得的密鑰速率其中i=1,2…N-1,L1j為測試數(shù)據(jù)包的長度,Δτi為記錄的相鄰數(shù)據(jù)包的到達(dá)間隔;
若測試所用的數(shù)據(jù)包長度為L2j=45-5j,則說明每次更新的密鑰量可以加密發(fā)送一組數(shù)據(jù)包,根據(jù)一組數(shù)據(jù)包的長度和到達(dá)間隔便可計(jì)算出密鑰速率,即:
先計(jì)算出M個密鑰速率值k=1,2…M,其中L2j為測試數(shù)據(jù)包的長度,Δτk為記錄的相鄰兩組數(shù)據(jù)包之間的到達(dá)間隔,其定義為當(dāng)前一組數(shù)據(jù)包中最后一個數(shù)據(jù)包的到達(dá)時(shí)刻與下一組數(shù)據(jù)包中第一個數(shù)據(jù)包的到達(dá)時(shí)刻之差,nk為記錄的第k個到達(dá)間隔與第k-1個到達(dá)間隔之間數(shù)據(jù)包個數(shù);
再對這M個密鑰速率值求取均值計(jì)算出包長為L2j時(shí)測得的密鑰速率
改變j的值,分別對不同包長測得的數(shù)據(jù)進(jìn)行計(jì)算。
步驟7,計(jì)算最終密鑰速率。
對不同包長測得的密鑰速率rj求取均值,獲得瓶頸鏈路的密鑰速率
以上描述僅是本發(fā)明的一個具體實(shí)例,顯然對于本領(lǐng)域的專業(yè)人員來說,在了解了本發(fā)明內(nèi)容和原理后,都可能在不背離本發(fā)明原理、結(jié)構(gòu)的情況下,進(jìn)行形式和細(xì)節(jié)上的各種修正和改變,但是這些基于本發(fā)明思想的修正和改變?nèi)栽诒景l(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。