南寧職業技術學院 鄧小明
針對MANET無線網絡環境中基于網絡編碼的移動自組網安全密鑰生成、分配算法復雜度高、節點資源消耗大等問題,本文設計了基于網絡編碼的信道時域密鑰生成與分發方案,結合網絡路由節點中繼校驗,在16個通信節點以下的小規模MANET網絡中,基于網絡信道特征密鑰安全通信方案對比SPNC網絡編碼通信方案,在收斂時間和誤碼率等指標上體現出較好的網絡特性。
MANET網絡(移動自組網)是由一些具有自主通信能力的移動節點形成的自組織網絡,具有無中心、分布式、多跳中繼、動態路由、覆蓋范圍大、擴展性好、網絡健壯自適應性強等特點,被廣泛應用在軍用通信、公共安全、應急通信和無線監控等領域。在帶來使用便利的同時,由于移動自組網又具有無線網絡的廣播特性、開放性、移動性等特點,動態拓撲頻繁變化、能量受限、算力弱等缺點使得移動自組網面臨諸多安全挑戰,如信息泄露、高丟包率、高傳輸時延等問題。因此保證無線自組網絡的安全性與可靠性這兩個基本的要求成為了研究熱點。
MANET網絡具有移動性、無固定拓撲、資源有限等特點,使得其比傳統網絡更容易受到安全威脅。如主動攻擊方式中的拒絕服務攻擊(DOS)、蟲洞攻擊、黑洞攻擊、槽洞攻擊、女巫攻擊,被動攻擊中的信息竊取,流量分析等。保證網絡的可用性、機密性和完整性仍然是MANET網絡的主要安全目標。
針對MANET網絡的安全問題,當前主要的網絡安全技術包括:
楊官霞等采用單向Hash函數以及消息認證碼來判斷路由數據的完整性,采用μTESLA協議傳輸加密數據包,對稱密鑰的延遲來模擬非對稱機制,降低認證廣播的資源消耗。劉金龍等提出密鑰管理是移動自組網安全最核心、最困難和最薄弱的環節,通過融合ElGamal的方案和密鑰管理預分配方案,提出身份預分配非對稱密鑰管理方案,提高了網絡安全性。Ren等提出改進的自組織密鑰管理方案,節點之間通過認證公鑰,建立信任。Omar等改進了自組織密鑰管理方案的安全性,提高了系統的安全性。Zhou等提出基于CA的認證方案。Lou等提出將所有網絡節點參與到證書發放認證的方案。Bing等構造公鑰基礎設施(PKI),加強了分布式CA系統的健壯性。Zhang等提出基于身份的密鑰管理協議(IKM),安全性更高。以上加密和身份認證安全方案措施提高了無線網絡的安全性能,對于信息機密性、真實性提供了很好的保護,在提升安全性能的同時也存在密鑰管理和發放復雜度高,過多的認證信息在多跳網絡中傳輸造成了信息量的增加,對于能量有限的小規模的MANET自組網絡中,復雜的算法意味著計算量的增加,多余的信息傳遞會造成節點的網絡帶寬和能量消耗。
對于基于信道特征的密鑰方案,張啟星等提出信道特征參數的物理層密鑰生成方案,降低了密鑰分發、更新和維護的難度,降低了遭受竊聽攻擊的風險。丁佳蓉等基于信道特征的密鑰提取,有效消除復雜的密鑰分發過程和計算開銷。歐敏晟等提出自適應的低密度奇偶校驗碼(Low Density Parity Check Code,LDPC)糾正通信雙方密鑰協商方案。基于信道特征的物理層密鑰生成將有效降低密鑰生成的復雜度,為小規模MANET網絡的密鑰生成和分發降低生成算法復雜度。
網絡編碼可以有效提升無線網絡的性能,陳超等針對在多跳中繼通信中時延較高的問題,提出了一種適用于低信噪比場景下多跳中繼通信的網絡編碼傳輸方案。徐卓等提出了基于滑動窗口網絡編碼低時延廣播重傳算法,仿真結果表明基于滑動窗口網絡編碼廣播重傳降低了重傳時延。楊大偉等建立了基于時間復雜度的無線網絡編碼數據包傳輸次數優化網絡模型,獲得更高的數據包傳輸次數。Vilela等提出SPNC方案,利用對稱加密技術、網絡編碼的線性特性,主張在信源處預編碼,編碼信息與預編碼矩陣一同傳輸,從而實現抗竊聽,但存在編譯碼復雜度高,帶寬開銷大的缺陷。
小規模MANET網絡的安全通信設計思想是在滿足無線自組網的可靠性和安全性基礎上。能夠實現信息加密密鑰算法簡單,生成快速、密鑰分發通信次數少(或密鑰分發產生的通信量小),同時在面臨被動攻擊和主動攻擊時,能相對安全的還原出原始信息。結合基于信道特征的物理層密鑰生成和網絡編碼分發密鑰,通過在中繼節點處對數據包進行校驗,丟棄已被破壞的數據包,可以有效提高MANET網絡整體吞吐量,詳細設計與實現如下:
小規模MANET網絡的安全通信模型如圖1所示,信源和中繼節點通過探測信道特征參數,在相干時間內生成原始密鑰,經過協商后,密鑰加密原始信息,由于無線網絡的時變性特征,密鑰基本可以做到一次一鑰,通過在加密后的數據包中增加校驗碼字段,最終形成發送的數據包,數據包經過信號調制后通過信道傳輸至中繼節點進行解調還原出數據包,在中繼節點進行校驗操作的目的是避免傳輸過程中錯誤的數據包或者被惡意節點破壞的數據包再次進入正常網絡進行傳輸,減小了由于錯誤信息引起的多余流量。中繼節點的數據經過網絡編碼發往下一站,每經過一個中繼節點,進行一次校驗操作,直到數據包正常到達信宿節點。

圖1 網絡安全模型圖Fig.1 The diagram of network security model
3.2.1 密鑰生成
提取信道參數生成密鑰的過程主要經歷三個階段,即信道探測過程、特征參數提取與量化過程、密鑰協商過程。信道探測過程主要是利用通信節點間當發射信號的頻率間隔小于信道的相干帶寬,信道傳輸函數具有相似性,提取相關特征參數,時頻域信道沖激響應、信號強度(RSS)、信號的相位等;特征參數量化過程主要是將特征參數轉換為二進制密鑰,即使獲得了高度相似的信道特征參數,在進行量化后,節點雙方得到的初始密鑰仍有差別;密鑰協商過程主要是針對節點雙方不一致的密鑰進行協商,確保雙方密鑰的一致性。這里以3個正常通信節點和1個攻擊節點來說明基于時域的無線信道密鑰生成過程,假設節點N和節點N通過中繼節點R進行通信,節點A作為攻擊節點,時刻監聽信道,等待捕獲信道中的信息。某個時刻,節點N發出探測信號,獲取信道N-R之間時域響應為h,中繼節點R獲取R-N的信道時域沖擊響應為h,在信道發送數據的連續時隙,無線信道互易性使得h=h,同時根據信道沖擊響應得到密鑰k,同時由于無線信道的時變特性,基本可以做到一次一鑰。由于無線信道的空變性,對于攻擊節點A來說,竊聽信道A-N、R-A、A-N上的信道特征參數與合法信道N-R、N-R上的特征參數不一致,即使A節點知道了信道密鑰的算法,由于無線信道的空間性也無法獲取相同密鑰,密鑰生成圖如圖2所示。

圖2 密鑰生成圖Fig.2 The diagram of key generation
3.2.2密鑰分發
基于信道參數的密鑰分發過程如圖3所示。

圖3 密鑰分發過程圖Fig.3 Process of key distribution
密鑰分發步驟:
Step1:第一時隙內,信源節點N向中繼節點R發送探測信號,中繼節點R采集信道時域相應信號,計算得到N和R的信道密鑰K=K(因信道互易性);
Step2:第二個時隙內,中繼節點R向信源節點N和信宿節點N廣播發送探測信號,N、N兩個節點分別采集無線信道的特征參數,并計算得到密鑰K、K;
Step3:第三個時隙內,節點N發出探測信號給中繼節點R,中繼節點R得到信道參數后生成密鑰K。
Step4:第四個時隙內,中繼節點R廣播k⊕k,節點N通過k⊕(k⊕k)運算得到節點N的信道密鑰,同理,節點N也可以得到密鑰對端N的密鑰。
可見,利用網絡編碼基本思想使基于無線信道特征的密鑰生成和分發在4個時隙內將密鑰分發到通信的雙方。
3.2.3 中繼節點校驗
由于中繼節點對來自不同信源的信息進行無差別網絡編碼時(不對源信息進行校驗),網絡編碼的傳遞將有可能將惡意節點生的破壞性數據帶入在網絡中傳輸,浪費大量的網絡資源。中繼節點如果增加校驗,則可以檢測中繼節點接收數據包的正確性,防止惡意節點發送的破壞性數據進入正常網絡消耗帶寬。下面是關于中繼節點對源數據包構造與數據包進入中繼節點時檢查過程:
(1)構造數據包。構造一個由信源N發出的無線數據包,數據包的結構由5個字段組成(如表1所示),分別是加密后的數據、源數據分片號(如果數據包過大,需要分片)、發送的序列號、經過的中繼節點個數和校驗碼。

表1 無線節點數據包格式Tab.1 The packet format of wireless node
其中:
E(data):表示被節點N密鑰加密后的數據;
F_Num:表示無線節點收到的數據包被分割成小的數據片的第幾片(數據包過大造成分片);
Seq:表示無線節點發出的數據包的批次號;
HOP:表示該數據包經過了幾個中繼節點(或者被驗證的次數);
V_code:表示該數據包采用的校驗碼。
通過構造數據報中的Seq批次字段信息,可以識別出數據包是否為攻擊節點竊聽信道后帶入的正常數據包。對于CRC校驗無誤的數據包,中繼節點驗證數據包批次號Seq、分片號F_Num兩個字段的信息,通過將數據包Seq、F_Num與中繼節點的緩存數據進行對比,若節點緩存中Seq與當前傳輸Seq不同,節點丟棄該數據包。在CRC 校驗時,構造數據包中的分片號F_Num標識是用來標識當前數據包是第Seq個批次第F_Num號數據包,在網絡編碼時,有效避免相同的數據包在網絡編碼的異或操作以及惡意節點將正常數據包再次帶入網絡將數據包清除。
(2)中繼節點校驗過程。下面以網絡中常見的CRC校驗碼作為數據包的校驗方式,這里先做三個假設:假設密鑰k中有n位,則n位的密鑰k={k,k, k...,k};這里為了簡化計算和安全,不使用標準的生成多項式,假設使用信道生成密鑰k來生成CRC校驗的多項式G(x)。同時的第i位(0<i<n)是1,同時是密鑰序列位中的第一個1,則生成CRC校驗的多項式G(x)={1,k,k,k,k,k,k,1};假定加密后原始數據共有x位,則E(Data)={ED,ED,ED,ED,ED...ED};發送方發出構造數據包及中繼節點校驗完整過程如下:
Step1:信源節點生成校驗碼CRC{Crc,Crc,Crc,Crc,Crc,Crc,Crc,Crc}={E(data),F_Num,Seq,Hop,00000000}mod{1,k,k,k,k,k,k,1};
Step2:信源節點發出構造數據包{E(data),F_Num,Seq,Hop,CRC};
Step3:中繼節點接收信源節點的構造數據包,并根據校驗碼計算CRC_result={Edata),F_Num,Seq,Hop,CRC}mod{1,k,k,k,k,k, k,1};
Step4:如果CRC_result=0,則數據沒有出錯;CRC_ result<>0,則數據包被丟棄。
無線信道通過在信源數據包增加CRC校驗碼字段,在中繼節點檢查數據包是否出錯,提升了節點間通信的安全性,同時由于對數據校驗避免了潛在的網絡通信威脅,避免錯誤數據包被后續網絡編碼再次帶入網絡,提升了通信過程的整體質量。
參考RFC 2501中對MANET自組網路由的評價標準,結合實際網絡環境,基于滿足小規模MANET網絡的安全性和可靠性要求,本文測試指標選取自組網收斂時間和誤碼率作為評價指標。網絡收斂時間是指從網絡拓撲開始建立到形成最終拓撲的時間間隔。網絡收斂時間越短,代表了節點間建立通信的時間快慢。誤碼率是指在節點之間進行數據傳輸時,錯誤的碼元占總傳輸數據的比例。指標反應了數據傳輸精確性。誤碼率越高,說明網絡環境越差,安全性能越差。測試對比數據采用本文設定的方案和SPNC網絡編碼進行對比。
選擇移動自組網中常見的星型拓撲結構如圖4所示,使用無線網絡仿真軟件NS2,逐個配置網絡節點(N......N),無線網絡節點主要參數單個節點的最大功率10W,帶寬設置為16M。

圖4 網絡拓撲圖Fig.4 The diagram of network topology
(1)網絡收斂時間測試:網絡拓撲加載時,記錄網絡收斂時間,在兩種安全網絡編碼算法下逐漸增加節點個數,記錄下不同節點個數下兩種安全網絡編碼的網絡收斂時間。
(2)網絡誤碼率測試:在節點數為10的星型拓撲下,待網拓拓撲穩定后,部署攻擊節點,攻擊節點配置干擾信號并向網絡注入,逐漸提高信道噪聲的強度,記錄下不同噪聲強度下兩種安全網絡編碼網絡的誤碼率。
4.3.1 測試結果
本文設定的方案和SPNC網絡編碼收斂時間和誤碼率測試結果如圖5、圖6所示。

圖5 網絡收斂時間對比圖Fig.5 The diagram of comparison of network convergence time

圖6 誤碼率性能對比圖Fig.6 The diagram of BER performance between two schemes
4.3.2結果分析
(1)網絡收斂時間對比分析。仿真結果顯示,當網絡的節點個數小于16個以下時,本文網絡編碼方案平均收斂時間為10.3s,SPNC的編碼方案平均收斂時間為13.6s,本文的網絡安全編碼方案整體收斂時間上小于SPNC的編碼方案,網絡節點數超過16時,本文網絡安全編碼方案收斂時間出現突變,在網絡節點達到20個時整個無線網絡收斂時間趨于正無窮。主要的原因在于本文的網絡編碼方案在節點數小于16個的拓撲下使用網絡編碼方案提升了整體密鑰分發效率,節點數的增加使得中繼節點在數據包的校驗時形成了瓶頸,節點數達到20個時,中繼節點處理能力達到飽和,無法正常工作,所以收斂時間趨近正無窮。SPNC方案在中繼節點不進行數據包驗證,只單純進行編碼轉發工作,節點數量在20個時,仍能保持網絡收斂時間的線性。
(2)誤碼率對比分析。仿真結果顯示,在節點數都為10的網絡拓撲下,本文網絡編碼方案和SPNC網絡編碼方案隨著信道噪聲注入強度的增大。誤碼率都在提升,本文的網絡編碼方案在噪聲強度達到-60dBm 時,節點接收數據誤碼率接近80%,相同信道條件下,SPNC網絡編碼方案在噪聲強度達到-55dBm時,誤碼率接近80%,可以看出,本文的網絡編碼方案在同等噪聲情況下,網絡誤碼率整體優于SPNC網絡編碼方案。主要原因在于,本文的網絡編碼方案在中繼節點處采用了數據包的校驗,錯誤、重復的數據包在中繼節點處被扔掉,減少了注入網絡的數據包,提高了通信的質量,SPNC網絡編碼方案中的中繼節點只單純進行網絡編碼和數據包的轉發,不對錯誤和重復的數據包進行處理,當網絡節點數量固定,網絡噪聲強度增加的情況下,數據包出錯概率增加,網絡誤碼率提高。
本文網絡編碼方案的設計在小規模節點的前提下,在一定程度上能夠抵御針對無線MANET網絡的被動和主動攻擊,同時由于在中繼節點實施了數據包的校驗,有效防止了錯誤、惡意的數據包進入網絡傳輸,提升了網絡的安全性能和網絡質量。