徐 晨,王 彪
(江蘇科技大學,江蘇 鎮(zhèn)江 212003)
隨著人類對海洋的探索開發(fā),水下通信逐漸引起了人們的廣泛關注。水下無線傳感器網絡(Underwater Wireless Sensor network,UWSN)憑借極大的通信的自由度被廣泛的應用于環(huán)境檢測、資源開采、軍事等領域[1]。但是,由于水下聲信道的開放性和聲傳輸的廣播特性,UWSN很容易遭受敵手的偵聽[2]。傳統(tǒng)的UWSN安全機制主要依靠以數學難題為基礎的對稱加密和非對稱加密體制,試圖通過計算的復雜程度來防止需要傳輸的密文信息被竊取[3-5]。這種安全手段毫無疑問會帶來較高的能耗,而且,隨著傳感器節(jié)點個數的增加,需要的密鑰數量呈指數級上升,密鑰的分發(fā)、存儲和管理等過程也會帶來巨大的開銷。然而,UWSN是由電池供電,節(jié)點的內存、計算能力十分有限,并且密鑰管理設施一旦被攻破,那么其所服務的節(jié)點將不再安全。利用水聲信道固有的隨機傳播特性完成密鑰分發(fā)的物理層安全方案不需要進行數學難題的運算,避免了不必要的開銷,是一種輕量級的方案。因此,該物理層安全方案逐漸引起了學者們的重視。文獻[6]將物理層安全方案引入水下通信系統(tǒng),首次提出了具有魯棒性的基于水下信道特征的密鑰生成方案。文獻[7]將信息隱藏技術和文獻[6]中的密鑰生成技術相結合,確保水聲信息的隱蔽傳輸,為水聲隱蔽通信提供了加密支持。文獻[8]利用接收信號強度RSS以及OFDM系統(tǒng)來生成密鑰。然而RSS是一種粗粒度的信道測量值,不能完全使用信道信息,且變化緩慢,容易造成長連1或長連0。文獻[9]中提到一種基于量化保護帶的信道量化(CQG)算法。這種算法高效的量化出信道特征值,然而大量保護帶的設立造成了信道資源的浪費。文獻[10]中提出了另一種信道量化方案,利用相位的均勻特性實現MAQ算法。然而相位容易受到噪聲、頻偏的影響,實際情況下很難維持相位的穩(wěn)定性,量化出的密鑰很大概率不能使用。上述文獻都是基于水下信道特征實現對數據的加密,本文主要是在文獻[9]的基礎上,對文獻[9]中的算法進行改進。改進的CQG算法減少了信道特征的不必要浪費,并且在密鑰不一致率幾乎不變的條件下,大大提高了密鑰的生成效率。
水下無線信道是一個復雜的隨機信道,聲源發(fā)出的信號由不同聲線向水中擴散,經過反射和折射最終到達接收端,產生豐富的多途效應,其表達式如下
(1)
其中,N代表多途路徑數,a(i)代表第i條信道的傳輸衰減,δ(t-τi)代表第i條信道的傳輸時延。同時,無線信道具有短時互易性,系統(tǒng)工作在時分雙工(Time Division Dual,TDD)模式的一個相干時間Tc內,信道幾乎不產生變化。即在相干時間Tc內hab=hba;而超過一個相干時間Tc,無線信道呈現出時變性,由于多途效應的存在,信道將會發(fā)生劇烈的變化,即hab≠hba。信道的這種隨機變化為無線密鑰的生成提供了天然的隨機源;信道還具有空變性,兩個節(jié)點之間的距離如果超過λ/2,其中λ代表聲波的波長。則從同一主節(jié)點發(fā)送來的信道探測序列表現出不同的信道特征。
(2)
v代表聲波速度,f代表通信頻率。聲波在水中傳播的速度約為1500m/s,中距離水聲通信頻段為10kHz數量級,意味著只要竊聽節(jié)點在合法節(jié)點0.015~0.15m以外的位置,就無法提取與合法節(jié)點相同的信道特征。因而,通信雙方間的信道被非法節(jié)點竊聽的概率非常低。無線信道固有的特性充分的保證了物理層通信的安全。倘若非法節(jié)點想要有效地竊取該信道信息,就必須非??拷戏ㄍㄐ殴?jié)點的任意一方,這時非法節(jié)點暴露的風險也非常高。
考慮一般UWSN物理層安全模型如圖1所示。該模型由合法傳感器節(jié)點Alice和Bob,竊聽器節(jié)點Eve以及水聲多途信道構成,系統(tǒng)的工作模式為TDD模式。為了側重分析密鑰生成環(huán)節(jié),假定Alice和Bob之間的信道探測滿足信道互易性即T1+T2< 下面對物理層安全模型進行分析,不失一般性地,設Alice為主節(jié)點Bob為從節(jié)點,主節(jié)點Alice在T1時隙向Bob發(fā)送信道探測序列sa(t),Yab(t)為從節(jié)點Bob接收到的探測信號,Yae(t)為竊聽節(jié)點Eve接收到的信號。 Yab(t)=hab(t)*sa(t)+nab(t) (3) Yae(t)=hab(t)*sa(t)+nab(t) (4) Yba(t)=hba(t)*sb(t)+nba(t) (5) Ybe(t)=hbe(t)*sb(t)+nbe(t) (6) 根據第2節(jié)所述的物理層安全原理及模型,提出一種改進的CQG算法。其步驟可總結如下: 1) 合法通信雙方互發(fā)探測序列進行信道特征提取; 2) 對估計信號進行預處理; 3) 對預處理后的信號提取GIB序列并進行量化; 4) 保留GIB=0的量化值,提取GIB=1的CIR進行二次平滑量化。 根據2.2節(jié)所述,接收端接收到的信號可以概括為以下表達式 y(t)=h(t)*s(t)+n(t) (7) Alice根據接收的信號估計信道特征值CIR: hab(t)*sab(t)=yab(t)-nab(t) (8) hab(t)=yab(t)/sab(t)-nab(t)/sab(t) (9) (10) 同理,Bob根據接收的信號估計信道特征值 CIR: (11) 由式(11)可知,估計信號包含信道增益和經過處理的加性干擾,因此必須對估計信號的噪聲進行去除處理,考慮到水下節(jié)點的能耗與計算存儲能力,采用簡單可靠的滑動平均(SMA)算法進行去噪處理。SMA算法是對時間序列前N個點的通用平滑方式。每一個點在時間序列中占有相同的權重值。 (12) 其中,hk表示估計序列的第K個值,N表示滑動平均濾波窗口的大小,將 SMA 的值作為估計CIR序列去除噪聲后的值。 經過預處理后的CIR可以作為隨機源進行量化處理。CIR是一種非均勻分布,采用等間隔均勻劃分會降低密鑰熵。因此采用等概率量化使密鑰熵值最大,即每一塊量化區(qū)間等概率出現。從信息論的角度,密鑰熵可以表示為 (13) 密鑰熵值在等概率時達到最大,密鑰熵越大,單符號的不確定性越高。等概率劃分時 (14) H(X1)=log2 (15) 等間隔劃分時P(X1=0)≠P(X1=1),顯然H(X2) 多比特量化帶來的問題是:量化邊界處的信道特征值對波動異常敏感,細微的差錯就容易使合法雙方的信道特征值量化到不同的區(qū)間。加性噪聲是引起這一現象的主要原因,盡管預處理平滑了大部分隨機噪聲,但是不能使得合法雙方處理后的信號完全一致,這就導致了判決錯誤。單個信號特征值量化的比特位數越多,量化的區(qū)間也隨之增大,通信雙方對信道測量的精確程度就有更高的要求,信道估計差異造成了較高的密鑰不一致率(Key Disagreement Rate,KDR),這會嚴重影響密鑰生成算法的性能。因此在量化區(qū)間邊界處增設量化保護帶并引入保護帶指示位(GIB),用l=(l1,l2,…li),i=2m+1表示沒有加入量化保護帶的量化區(qū)間。保護帶比例為可調參數r(0 (16) Alice和Bob通過比較CIR序列與量化保護帶,分別得到一組GIB序列,當CIR值在區(qū)間[g(j),g(j+1)],i mod 2=1之間時,GIB=0;當CIR值在區(qū)間[g(j),g(j+1)],i mod 2=0之間時,GIB=1。并通過信道進行傳輸,假設GIB序列的交互是無差錯進行的。當合法節(jié)點接收到對方的GIB值時,經典的做法如表1。 表1 GIB序列對 CIR的影響 通過表1可知,當節(jié)點觀察到特征值落入保護帶內GIB=1,意味著這個特征值可能會發(fā)生不匹配,因此節(jié)點不應該使用該信道特征值來量化密鑰,該特征值將被丟棄。只有GIB序列同時為0的CIR得到保留。即同時落在保護隔離帶外的CIR才能最終根據格雷碼(Gray code)進行編碼。值得注意的是GIB序列沒有向竊聽者提供任何關于密鑰符號的信息,因此不會影響保密性能。通過適當調整保護帶的大小,可以減小節(jié)點在量化區(qū)域邊緣附近出錯的可能性。實際上,信噪比在不是特別惡劣的情況下,經過平滑處理的特征值表現出良好的相關性,大范圍的測量值偏移很難發(fā)生。如圖2所示,是一個CIR值量化成兩位密鑰比特的例子,需要4個等概率量化區(qū)間。等概率量化區(qū)間在圖2中用實線表示,并對等概率區(qū)間加入量化隔離帶,在圖2中用虛線表示。任意取出經過平滑處理的Alice和Bob的100個CIR測量值做對比??梢?,如果沒有量化保護帶,由于編碼采用格雷碼且沒有CIR值發(fā)生突變。直接量化落入量化保護帶的值,大概率會量化成完全一致的密鑰比特,或者密鑰比特只含有一位錯誤。這雖然使得KDR大大降低。但是這樣的做法造成了大量的信道特征序列浪費,密鑰生成速率(Key Generation Rate,KGR)隨之降低。 為了提高CQG算法的KGR,考慮合法通信雙方在生成初始密鑰并發(fā)送GIB序列后,都為0的密鑰保留;只要有一方GIB序列為1,仍然刪除對應的密鑰。同時記錄下只要有一方GIB序列為1的對應信道特征值,這些信道特征值構成新的向量LA和LB,LA和LB各自在本地進行二次平滑濾波,同時落入量化隔離帶的信道特征值具有較強的相關性保證了二次平滑依然會有良好的濾波效果。對二次平滑后的LA,LB重新劃分等概率區(qū)間并增設量化保護帶,按照表1的方式進行處理,將新得到的密鑰比特置于初始密鑰比特后方。量化后生成的密鑰比特僅是未加工的密鑰,還需要進行密鑰協(xié)商和隱私放大2個步驟來獲取最終密鑰。由于本文的重點在于探究量化算法,對于密鑰協(xié)商與隱私放大僅采用簡單的Cascade協(xié)議[11]以及散列函數分塊確認機制。 圖2 合法節(jié)點CIR值的對比 本文采用Matlab R2016b進行仿真。Alice和Bob互相發(fā)送探測序列,探測序列經過多途信道后到達接收端。根據接收到的信號提取CIR值后,首先對CIR進行平滑濾波去噪處理,再對去噪后的CIR進行改進的CQG算法得到最終密鑰。仿真參數由表2給出。本次仿真分別從密鑰生成速率KGR、密鑰不一致率KDR、密鑰隨機性這三個方面將本文改進算法與CQG算法進行對比分析。 表2 仿真參數 在CQG量化算法中,量化保護帶r影響著KGR與KDR,當r升高時,有利于保證生成密鑰的一致性;當r降低時,密鑰速度有所提升,但是一致度不夠,本次仿真選取量化保護帶r為0.2,選取量化比特數m=2和m=4分別比較本文算法與CQG算法的KGR與KDR情況。KGR如圖3所示,KDR如圖4所示。 圖3 信噪比與密鑰生成速率的關系 圖4 信噪比與密鑰不一致率的關系 從圖3中可以看到,隨著信噪比的提高,所有量化算法的KGR均呈現上升態(tài)勢。這是因為外界加性干擾減弱,對量化算法的影響逐漸減小,Alice和Bob的CIR值相關性提高。然而相關性提高,不應該被刪除的密鑰比特數仍然被刪除,浪費的密鑰比特率反而提高。理論上來說這種重新平滑機制可以通過無限制重傳來提高KGR。然而這會造成額外的通信開銷,兩個算法中合法節(jié)點都需要互發(fā)一次GIB序列,本文算法通過接收到的GIB序列進行二次平滑避免刪除造成的浪費,在沒有額外付出通信開銷的情況下,實現了KGR的大幅提升。例如,在信噪比都取15dB的情況下,本文算法比CQG算法的生成效率提高了32.44%。由圖4可以看到,隨著信噪比的提高,所有量化算法的KDR均呈現下降態(tài)勢。這是因為Alice和Bob的CIR值相關性增大,且CQG算法只量化雙方同時在量化保護帶外的特征值,因此KDR足夠的低,可以明顯看到本文算法與CQG算法相比,KDR基本保持不變,甚至在低信噪比時,優(yōu)于CQG算法。在KDR基本不變甚至略微優(yōu)于CQG算法的前提下,KGR大幅提升是本文算法的優(yōu)勢所在。 除了密鑰生成速率KGR和密鑰不一致率KDR,密鑰隨機性也是衡量密鑰質量的標準,本文通過美國國家標準與技術研究所(NIST,NationalInstituteofStandardsandTechnology)隨機性測驗中的九項測試[12],說明本方案生成的密鑰的隨機性。輸入密鑰串進測試指標都會輸出一個P-value值,P-value>0.01即為通過測試,密鑰隨機性越好代表生成的密鑰安全系數越高,越不容易被敵手破解。測試結果如表3所示。 表3 NIST隨機性測試結果 針對水下無線傳感器網絡計算能力有限的問題,本文提出了一種輕量級的物理層加密算法來規(guī)避復雜的計算。該算法通過平滑處理的方式保留了大部分相關性高的信道特征值,并將信道特征值作為量化源進行量化。將GIB序列中本該刪除的信道特征值提取出來,進行二次平滑量化。通過仿真,證實了該算法在密鑰不一致率基本不變的情況下,可以大幅提升密鑰生成速率。但是,在低信噪比時,密鑰不一致率仍然在一個較高的水平,下一步將繼續(xù)研究密鑰協(xié)商算法來進一步降低密鑰不一致率。3 基于改進CQG的密鑰生成方案
3.1 信道特征提取
3.2 預處理
3.3 改進的CQG算法
4 仿真結果分析
5 結束語