本發(fā)明涉及信息安全,具體是一種基于hdlc的密碼同步方法及系統(tǒng)。
背景技術(shù):
1、由于高級數(shù)據(jù)鏈路控制(high?level?data?link?control,hdlc)協(xié)議封裝簡單、具有良好的流量控制能力和差錯檢測能力,被廣泛應(yīng)用于sdh系統(tǒng)、e1中繼線等各類數(shù)字通信領(lǐng)域中。hdlc幀通信是一種面向比特流的數(shù)據(jù)鏈路層協(xié)議,具有高效處理、可靠透明傳輸以及強大的差錯檢測功能,也在衛(wèi)星通信領(lǐng)域中被大量采用。該協(xié)議的頭和尾均采用0x7e作為標(biāo)志位,基于時鐘采用同步傳輸,無有效數(shù)據(jù)信息傳輸時同樣采用0x7e進(jìn)行比特填充,保持?jǐn)?shù)據(jù)鏈路的同步傳輸,而無需通信設(shè)備或功能模塊之間進(jìn)行協(xié)議往復(fù)應(yīng)答或特別的流量控制。
2、在傳統(tǒng)加密系統(tǒng)中,為保證加密過程中密文的隨機性和防止出現(xiàn)密鑰重用問題,收發(fā)雙方的密碼設(shè)備通常需通信系統(tǒng)分配一定的鏈路帶寬用于插入密碼同步信息,該信息通常包括幀同步字、作為初始向量的隨機數(shù)及其他信息。該類信息由發(fā)送端在加密時添加至鏈路協(xié)議中,并通過信道帶內(nèi)發(fā)送,接收端檢索到幀同步字之后,通過初始向量及其他信息產(chǎn)生相同的密碼同步數(shù)據(jù),從而實現(xiàn)收發(fā)雙方的密碼同步。
3、衛(wèi)星通信等信道帶寬及信道質(zhì)量有限的無線通信系統(tǒng)中,傳統(tǒng)加密系統(tǒng)中的密碼同步方式在該類系統(tǒng)中具有較大的局限性。主要表現(xiàn)在:一是無線通信信道穩(wěn)定性較差,無法保障全部數(shù)據(jù)的可靠傳輸;二是在基于hdlc幀通信的應(yīng)用場景時,可能存在通信信息的滿帶寬運行,因同步傳輸?shù)奶攸c導(dǎo)致無冗余長度字段用于密碼同步開銷的直接嵌入,導(dǎo)致同步困難,尤其對于多次同步時會產(chǎn)生累積效應(yīng)使得信道時延加大、處理緩沖堆積溢出等問題。
技術(shù)實現(xiàn)思路
1、為克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于hdlc的密碼同步方法及系統(tǒng),解決現(xiàn)有技術(shù)存在的難以低開銷實現(xiàn)可靠密碼同步等問題。
2、本發(fā)明解決上述問題所采用的技術(shù)方案是:
3、一種基于hdlc的密碼同步方法,基于gold碼及hdlc幀實現(xiàn)發(fā)送方與接收方的密碼同步。
4、作為一種優(yōu)選的技術(shù)方案,包括以下步驟:
5、s1,同步序列構(gòu)建:構(gòu)建通信鏈路的同步序列;
6、s2,同步序列插入:在通信鏈路中插入同步序列;
7、s3,同步序列捕獲:接收端捕獲同步序列,實現(xiàn)密碼同步,完成數(shù)據(jù)解密;
8、s4,7e標(biāo)志位補插及hdlc幀恢復(fù):接收端完成數(shù)據(jù)解密后,在輸出業(yè)務(wù)明文數(shù)據(jù)之前,進(jìn)行7e標(biāo)志位補插及hdlc幀恢復(fù)。
9、作為一種優(yōu)選的技術(shù)方案,步驟s1中,選擇兩個偽隨機m序列按位異或得到gold碼,構(gòu)建作為同步序列。
10、作為一種優(yōu)選的技術(shù)方案,步驟s2中,同步序列插入的方式為:初始建鏈時,在鏈路中插入初始向量及gold碼;在鏈路保持階段,在鏈路中定時連續(xù)插入gold碼作為同步序列。
11、作為一種優(yōu)選的技術(shù)方案,步驟s2中,初始建鏈時,根據(jù)收到建鏈信息時刻采用以下方式建鏈:
12、1)若收到建鏈信息時刻為hdlc的中間部分,則不進(jìn)行數(shù)據(jù)緩存,直接替換掉接收數(shù)據(jù),插入所需字節(jié)的隨機數(shù)作為初始向量;并插入gold碼作為同步序列,在信道上進(jìn)行同步序列傳輸,對后續(xù)碼流信息進(jìn)行加密后信道傳輸;
13、2)若收到建鏈信息時刻為兩幀hdlc之間的空閑部分,則在幀間隙插入所需字節(jié)長度的隨機數(shù)作為初始向量;并插入gold碼作為同步序列,不丟棄插入位置之后的數(shù)據(jù),跟隨同步序列之后進(jìn)行加密傳輸。
14、作為一種優(yōu)選的技術(shù)方案,步驟s2中,在鏈路保持階段,定時插入gold碼作為同步序列,截取上一次加密周期尾部的m字節(jié)密文數(shù)據(jù)作為下一次同步新的初始向量;其中,m表示初始向量字節(jié)長度。
15、作為一種優(yōu)選的技術(shù)方案,步驟s2中,在鏈路保持階段,采用標(biāo)志位滑動抽取池的方式對同步序列所需的字段長度進(jìn)行動態(tài)調(diào)整:標(biāo)志位滑動抽取池根據(jù)同步序列n字節(jié)長度,完成對7e數(shù)據(jù)的丟棄;其中,n表示同步序列g(shù)old碼字節(jié)長度,7e表示hdlc幀間標(biāo)志位。
16、作為一種優(yōu)選的技術(shù)方案,根據(jù)7e標(biāo)志位字節(jié)數(shù)采用以下方式完成7e標(biāo)志位的丟棄:
17、1)若7e標(biāo)志位字節(jié)數(shù)≥n+1,則在一次性插入同步序列后,連續(xù)完成n字節(jié)7e標(biāo)志位丟棄;
18、2)若7e標(biāo)志位字節(jié)數(shù)<n+1,在一次性插入同步序列后,在后續(xù)hdlc幀間繼續(xù)抽取7e標(biāo)志位并丟棄,保證hdlc幀間至少留有1個字節(jié)長度的7e標(biāo)志位用于指示hdlc幀間隔。
19、作為一種優(yōu)選的技術(shù)方案,步驟s3中,接收端實現(xiàn)gold碼判別定位,并截取同步序列之前m字節(jié)長度密文作為本次密碼同步的初始向量,實現(xiàn)密碼同步,完成接收數(shù)據(jù)解密;其中,m表示初始向量字節(jié)長度;
20、步驟s4中,接收端完成數(shù)據(jù)解密后,在輸出接收業(yè)務(wù)明文數(shù)據(jù)之前,進(jìn)行7e標(biāo)志位補插及hdlc幀恢復(fù),按以下方式完成hdlc幀的恢復(fù):
21、1)若gold碼同步序列后的數(shù)據(jù)仍為7e,則直接丟棄同步序列,一次性回填n字節(jié)長度的7e;其中,n表示同步序列g(shù)old碼字節(jié)長度,7e表示hdlc幀間標(biāo)志位;
22、2)若gold碼同步序列后的數(shù)據(jù)不是7e,則直接丟棄同步序列,并在原同步序列位置先行補插1個字節(jié)長度的7e標(biāo)志位;以及,在后續(xù)的明文數(shù)據(jù)中檢測下一個hdlc幀間隔,若下一個幀間隔的7e標(biāo)志位字節(jié)數(shù)>1,則直接在下一個幀間隔中回填n-1個字節(jié)長度的7e,結(jié)束標(biāo)志位補插;若下一個幀間隔的7e標(biāo)志位字節(jié)數(shù)=1,則在下一個幀間隔中補插1個字節(jié)的7e標(biāo)志位,并依次判別之后hdlc幀間隔的7e標(biāo)志位字節(jié)數(shù),直至完成n字節(jié)長度的7e標(biāo)志位回填補插,完成原始hdlc幀數(shù)據(jù)恢復(fù)。
23、一種基于hdlc的密碼同步系統(tǒng),用于實現(xiàn)所述的一種基于hdlc的密碼同步方法,包括依次連接的以下模塊:
24、同步序列構(gòu)建模塊:用以,構(gòu)建通信鏈路的同步序列;
25、同步序列插入模塊:用以,在通信鏈路中插入同步序列;
26、同步序列捕獲模塊:用以,接收端捕獲同步序列,實現(xiàn)密碼同步,完成數(shù)據(jù)解密;
27、7e標(biāo)志位補插及hdlc幀恢復(fù)模塊:用以,接收端完成數(shù)據(jù)解密后,在輸出業(yè)務(wù)明文數(shù)據(jù)之前,進(jìn)行7e標(biāo)志位補插及hdlc幀恢復(fù)。
28、本發(fā)明相比于現(xiàn)有技術(shù),具有以下有益效果:
29、(1)提升密碼同步概率:本發(fā)明采用兩個m序列按位異或所構(gòu)建的gold碼作為同步序列,具有白噪聲偽隨機特性,結(jié)合接收端判決門限的設(shè)定可進(jìn)一步提升密碼同步概率;
30、(2)通信信道零開銷:通過hdlc端標(biāo)志位滑動抽取與補插的方法進(jìn)行與同步序列之間的替換,結(jié)合上一幀尾部密文作為下一幀初始向量的方法,使得hdlc幀通信不額外增加系統(tǒng)信道帶寬,保持鏈路同步時序完整,實現(xiàn)零開銷密碼同步,在向通信系統(tǒng)提供保密服務(wù)的同時不會對既有通信系統(tǒng)造成影響,提高保障效率。
1.一種基于hdlc的密碼同步方法,其特征在于,基于gold碼及hdlc幀實現(xiàn)發(fā)送方與接收方的密碼同步。
2.根據(jù)權(quán)利要求1所述的一種基于hdlc的密碼同步方法,其特征在于,包括以下步驟:
3.根據(jù)權(quán)利要求1所述的一種基于hdlc的密碼同步方法,其特征在于,步驟s1中,選擇兩個偽隨機m序列按位異或得到gold碼,構(gòu)建作為同步序列。
4.根據(jù)權(quán)利要求3所述的一種基于hdlc的密碼同步方法,其特征在于,步驟s2中,同步序列插入的方式為:初始建鏈時,在鏈路中插入初始向量及gold碼;在鏈路保持階段,在鏈路中定時連續(xù)插入gold碼作為同步序列。
5.根據(jù)權(quán)利要求4所述的一種基于hdlc的密碼同步方法,其特征在于,步驟s2中,初始建鏈時,根據(jù)收到建鏈信息時刻采用以下方式建鏈:
6.根據(jù)權(quán)利要求4所述的一種基于hdlc的密碼同步方法,其特征在于,步驟s2中,在鏈路保持階段,定時插入gold碼作為同步序列,截取上一次加密周期尾部的m字節(jié)密文數(shù)據(jù)作為下一次同步新的初始向量;其中,m表示初始向量字節(jié)長度。
7.根據(jù)權(quán)利要求6所述的一種基于hdlc的密碼同步方法,其特征在于,步驟s2中,在鏈路保持階段,采用標(biāo)志位滑動抽取池的方式對同步序列所需的字節(jié)長度進(jìn)行動態(tài)調(diào)整:標(biāo)志位滑動抽取池根據(jù)同步序列n字節(jié)長度,完成對7e數(shù)據(jù)的丟棄;其中,n表示同步序列g(shù)old碼的字節(jié)長度,7e表示hdlc幀間標(biāo)志位。
8.根據(jù)權(quán)利要求7所述的一種基于hdlc的密碼同步方法,其特征在于,根據(jù)7e標(biāo)志位字節(jié)數(shù)采用以下方式完成7e標(biāo)志位的丟棄:
9.根據(jù)權(quán)利要求2至8任一項所述的一種基于hdlc的密碼同步方法,其特征在于,步驟s3中,接收端實現(xiàn)gold碼判別定位,并截取同步序列之前m字節(jié)長度密文作為本次密碼同步的初始向量,實現(xiàn)密碼同步,完成接收數(shù)據(jù)解密;其中,m表示初始向量字節(jié)長度;
10.一種基于hdlc的密碼同步系統(tǒng),其特征在于,用于實現(xiàn)權(quán)利要求1至9任一項所述的一種基于hdlc的密碼同步方法,包括依次連接的以下模塊: