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

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

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

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

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

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

圖5 網(wǎng)絡(luò)收斂時間對比圖Fig.5 The diagram of comparison of network convergence time

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