楊海斌
(湖南理工職業技術學院,湘潭 411004)
移動自組網絡(MANET)是沒有固定的路由器且所有節點都能移動并以任意方式動態連接的網絡。在利用MMANET 網絡進行通信之前,需設計部署路由協議以找到一個合適的路徑將數據包從源節點發送到目的節點。按需平面距離向量路由協議(AODV),是為MANET 網絡節點設計的一種按需路由協議,它提供動態鏈路狀況的快速自適應,而且實現簡單,是一個比較成熟且被廣泛接受的路由協議。AOMDV 路由協議是AODV 的多路徑擴展,它更適合高移動和動態網絡。但由于缺乏基礎設施,節點往往無人照管,所以容易受到惡意節點的攻擊,丟棄數據包或打亂網絡的路由過程。為了加強AOMDV 協議的安全性,學者們提出了不同的解決方案。Dhyani 等人[1]提出了一種利用信任因子通過檢測節點的錯誤行為來防止黑洞攻擊的方案。文獻[2]討論了使用具有較小密鑰大小的橢圓曲線加密技術來保護移動自組織網絡數據包,但其需要復雜的雙線性對數學運算。Borkar 等人[3]根據信任度量選擇多個路徑,然后選擇一個最佳可行的路徑提出了信任多路徑路由方案,但其不適用于高移動性和動態拓撲結構。Bendale 等人[4]通過比較發送和接收數據包之間的計算時間戳提出了一種防止黑洞攻擊的安全解決辦法,但沒有考慮車輛網絡的高機動性對時間戳計算的影響。文獻[5,6]通過引入入侵檢測系統來觀察節點路由行為,提出了一種可信AOMDV 協議,其觀察到的路由發現和數據轉發階段的統計數據可有效探測攻擊行為,但引入監控過程時增加了路由代價。文獻使用相鄰節點信任驗證模型提出了一種安全的AOMDV路由協議,但其在節點通信時采用節點真實id,可能向攻擊者透露節點的身份和位置信息。綜上所述,現有方法的缺點主要有:①未考慮MANET 網絡的高機動性及節點的儲存和計算能力;②節點的身份和位置信息未能得到保護。針對現有方法的不足,本文提出了一個有效的數據聚合方案。該方案基于橢圓曲線加密而不使用雙線性映射等復雜的數學運算,且水下無線傳感器網絡節點與數據中心間使用動態變化的偽身份和私鑰進行通信,以實現身份和位置的私秘性。性能分析和比較表明,新方案與相關的聚合簽名算法相比,計算開銷更低。
在AODV 中,在源節點沒有到達目的節點路由的時候,源節點會廣播一個路由請求消息包RREQ,RREQ 包括路由請求編號rid、源節點地址sip,源節點序列號sse、目標節點地址dip、目標節點序列號dse、當前節點到達源節點的跳數hopi。當中間節點收到轉發的RREQ 包時,首先復制一個RREQ 數據包,并使用RREQ 的上一跳作為下一跳添加到反向路徑,并將自己的IP 地址加入節點路徑表rlist。此外,如果中間節點有一條有效的路由到目的節點,它將沿反向路徑給源節點發送路由回復包;否則,它重新廣播RREQ 數據包。當目的節點收到RREQ 包時,通過rid判斷該包是否接收過,是則不動作,否便將沿反向路徑給源節點發送路由應答消息包RREP。當源節點收到RREP 后,則在源節點和目的節點之間建立了一條有效路由。然而在路由發現階段惡意節點向接收到的路由請求包RREQ 中加入虛假可用信道信息,騙取其他節點同其建立路由連接,然后丟掉需要轉發的數據包。針對此問題,本文采用基于橢圓曲線加密而不使用雙線性映射的加密方案來防止惡意節點的攻擊。
為保證認證和隱私,我們采用第三方服務器(受信任的權威TA)和私鑰生成中心KGC 為節點生成假名標識符 {pseudo1,i,pseudo2,i,…,pseudon,i} 和臨時密鑰σi?P=(λi+hi?Ωi)?P=λi?P+hi?Ωi?P= Δi+hi?θi?s?P= Δi+hi?θi?PKKGC。其具體步驟為:①TA 首先隨機選取兩個安全的大質數p,q和一個由等式y2=x3+ax+b(modp)定義的非奇異橢圓曲線Ep(a,b),其中a,b∈Fq。定義G是 階 為q的 加 法 群 ,P是λi?P+hi?Ωi?P=Δi+θi?s?P= Δi+hi?θi?PKKGC的一個生成元,并選擇 3 個抗碰撞哈希函數:。②隨機選擇并計算Ppub=s?P,其中s是 TA 的主密匙,而Ppub是系統公開密鑰。公布系統參數param=(p,q,a,b,P,Ppub,h,h1,h2)。
節點i向TA 提交其真實身份標識,TA 隨機選取秘密數并分別計算和。其中||表示串拼接操作,表示異或操作,IDKGC、IDTA分別為KGC 和TA 的身份標識字符串。然后TA 將元組發送給KGC,將發送給節點i。
節點i向 KGC 提交和其真實身份標識,KGC 收到和后,通過下式驗證節點合法性[7]:

如果驗證通過,KGC 根據下述步驟為節點i生成假名pseudoNi和私鑰:
(1) KGC 選 取 秘 密 數并 計 算,將元組保存到其數據庫并將元組發送給TA。
源節點i選取隨機秘密數,并定義ts為用以阻止重放攻擊的當前時間戳,RREQ為需簽密的路由請求消息。令ξ1=αi+βi,ξ2=αi βi,,然 后 計 算Ppub),Δi=λi?P,源節點對路由請求消息RREQ的 簽 名 為。 源 節 點σi?P=(λi+hi?Ωi)?P=λi?P+hi?Ωi?P= Δi+hi?θi?s?P= Δi+hi?θi?PKKGC將發 送 給 其 他節點。

如果等式(1)不成立,節點則丟棄該路由請求消息包。如果等式(1)成立,節點則比較其IP 地址與RREQ中目的地址是否相等,若相等,節點則向源節點發送路由回復消息包RREP,否則,節點向下一節點繼續廣播路由請求消息包。
使用NS2.35 對本文算法和AOMDV 路由的性能進行比較,仿真參數見表1。

表1 仿真參數
分組遞交率(pdr)圖(圖1)顯示了黑洞攻擊和灰洞攻擊導致了AODV 協議性能的下降。仿真開始時,黑洞攻擊和灰洞攻擊網絡的分組遞交率與正常網絡性能相當,隨仿真過程的進行,遭到攻擊的網絡性能逐漸下降,當仿真時間達到200s 時,遭到灰洞攻擊和黑洞攻擊的pdr 僅為33.72%和15.65%,而正常網絡的pdr 為86.82%。從圖1 還可看出,采用SEAODV 協議后,遭到灰洞攻擊和黑洞攻擊的分組傳遞率與正常網絡性能接近,當仿真時間達到200s 時,pdr 分別為80.04%和82.30%,相對于正常網絡拓撲,僅降低5.78%和4.52%。

圖1 分組遞交率比較
網絡吞吐量:網絡吞吐量圖(圖2)顯示灰洞攻擊和黑洞攻擊會導致AODV 協議的網絡吞吐量大大降低。當仿真時間達到200s 時,在遭受灰洞攻擊和黑洞攻擊下,AODV 協議的網絡吞吐量僅得到 11495bit/s 和24191bit/s。當采用SEAODV 協議后,網絡吞吐量明顯提高,遭受灰洞攻擊和黑洞攻擊時,網絡吞吐量可達到59295bit/s 和57553bit/s,與正常網絡采用AODV 協議時的網絡吞吐量相當。
本文針對海上移動自組網絡的安全問題,重點研究了自組織網絡的安全路由協議,將基于橢圓曲線的簽名方案應用到按需路由協議的路由請求消息中,得到了一種安全的AODV 協議(SEAODV),該協議不使用雙線性映射等復雜的數學運算,且在路由發現過程中節點使用動態變化的偽身份和私鑰,實現了身份和位置的私密性。利用網絡仿真軟件NS2,我們比較了SEAODV 與AODV 路由協議在黑洞和灰洞攻擊下的性能。仿真結果表明,在在黑洞和灰洞攻擊網絡中拓撲學,SEAODV 協議的分組遞交率和網絡吞吐量有了顯著的改進,接近于沒有攻擊時的AODV 協議性能。