楊海斌
(湖南理工職業(yè)技術(shù)學(xué)院,湘潭 411004)
移動自組網(wǎng)絡(luò)(MANET)是沒有固定的路由器且所有節(jié)點(diǎn)都能移動并以任意方式動態(tài)連接的網(wǎng)絡(luò)。在利用MMANET 網(wǎng)絡(luò)進(jìn)行通信之前,需設(shè)計(jì)部署路由協(xié)議以找到一個合適的路徑將數(shù)據(jù)包從源節(jié)點(diǎn)發(fā)送到目的節(jié)點(diǎn)。按需平面距離向量路由協(xié)議(AODV),是為MANET 網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)的一種按需路由協(xié)議,它提供動態(tài)鏈路狀況的快速自適應(yīng),而且實(shí)現(xiàn)簡單,是一個比較成熟且被廣泛接受的路由協(xié)議。AOMDV 路由協(xié)議是AODV 的多路徑擴(kuò)展,它更適合高移動和動態(tài)網(wǎng)絡(luò)。但由于缺乏基礎(chǔ)設(shè)施,節(jié)點(diǎn)往往無人照管,所以容易受到惡意節(jié)點(diǎn)的攻擊,丟棄數(shù)據(jù)包或打亂網(wǎng)絡(luò)的路由過程。為了加強(qiáng)AOMDV 協(xié)議的安全性,學(xué)者們提出了不同的解決方案。Dhyani 等人[1]提出了一種利用信任因子通過檢測節(jié)點(diǎn)的錯誤行為來防止黑洞攻擊的方案。文獻(xiàn)[2]討論了使用具有較小密鑰大小的橢圓曲線加密技術(shù)來保護(hù)移動自組織網(wǎng)絡(luò)數(shù)據(jù)包,但其需要復(fù)雜的雙線性對數(shù)學(xué)運(yùn)算。Borkar 等人[3]根據(jù)信任度量選擇多個路徑,然后選擇一個最佳可行的路徑提出了信任多路徑路由方案,但其不適用于高移動性和動態(tài)拓?fù)浣Y(jié)構(gòu)。Bendale 等人[4]通過比較發(fā)送和接收數(shù)據(jù)包之間的計(jì)算時間戳提出了一種防止黑洞攻擊的安全解決辦法,但沒有考慮車輛網(wǎng)絡(luò)的高機(jī)動性對時間戳計(jì)算的影響。文獻(xiàn)[5,6]通過引入入侵檢測系統(tǒng)來觀察節(jié)點(diǎn)路由行為,提出了一種可信AOMDV 協(xié)議,其觀察到的路由發(fā)現(xiàn)和數(shù)據(jù)轉(zhuǎn)發(fā)階段的統(tǒng)計(jì)數(shù)據(jù)可有效探測攻擊行為,但引入監(jiān)控過程時增加了路由代價。文獻(xiàn)使用相鄰節(jié)點(diǎn)信任驗(yàn)證模型提出了一種安全的AOMDV路由協(xié)議,但其在節(jié)點(diǎn)通信時采用節(jié)點(diǎn)真實(shí)id,可能向攻擊者透露節(jié)點(diǎn)的身份和位置信息。綜上所述,現(xiàn)有方法的缺點(diǎn)主要有:①未考慮MANET 網(wǎng)絡(luò)的高機(jī)動性及節(jié)點(diǎn)的儲存和計(jì)算能力;②節(jié)點(diǎn)的身份和位置信息未能得到保護(hù)。針對現(xiàn)有方法的不足,本文提出了一個有效的數(shù)據(jù)聚合方案。該方案基于橢圓曲線加密而不使用雙線性映射等復(fù)雜的數(shù)學(xué)運(yùn)算,且水下無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)與數(shù)據(jù)中心間使用動態(tài)變化的偽身份和私鑰進(jìn)行通信,以實(shí)現(xiàn)身份和位置的私秘性。性能分析和比較表明,新方案與相關(guān)的聚合簽名算法相比,計(jì)算開銷更低。
在AODV 中,在源節(jié)點(diǎn)沒有到達(dá)目的節(jié)點(diǎn)路由的時候,源節(jié)點(diǎn)會廣播一個路由請求消息包RREQ,RREQ 包括路由請求編號rid、源節(jié)點(diǎn)地址sip,源節(jié)點(diǎn)序列號sse、目標(biāo)節(jié)點(diǎn)地址dip、目標(biāo)節(jié)點(diǎn)序列號dse、當(dāng)前節(jié)點(diǎn)到達(dá)源節(jié)點(diǎn)的跳數(shù)hopi。當(dāng)中間節(jié)點(diǎn)收到轉(zhuǎn)發(fā)的RREQ 包時,首先復(fù)制一個RREQ 數(shù)據(jù)包,并使用RREQ 的上一跳作為下一跳添加到反向路徑,并將自己的IP 地址加入節(jié)點(diǎn)路徑表rlist。此外,如果中間節(jié)點(diǎn)有一條有效的路由到目的節(jié)點(diǎn),它將沿反向路徑給源節(jié)點(diǎn)發(fā)送路由回復(fù)包;否則,它重新廣播RREQ 數(shù)據(jù)包。當(dāng)目的節(jié)點(diǎn)收到RREQ 包時,通過rid判斷該包是否接收過,是則不動作,否便將沿反向路徑給源節(jié)點(diǎn)發(fā)送路由應(yīng)答消息包RREP。當(dāng)源節(jié)點(diǎn)收到RREP 后,則在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間建立了一條有效路由。然而在路由發(fā)現(xiàn)階段惡意節(jié)點(diǎn)向接收到的路由請求包RREQ 中加入虛假可用信道信息,騙取其他節(jié)點(diǎn)同其建立路由連接,然后丟掉需要轉(zhuǎn)發(fā)的數(shù)據(jù)包。針對此問題,本文采用基于橢圓曲線加密而不使用雙線性映射的加密方案來防止惡意節(jié)點(diǎn)的攻擊。
為保證認(rèn)證和隱私,我們采用第三方服務(wù)器(受信任的權(quán)威TA)和私鑰生成中心KGC 為節(jié)點(diǎn)生成假名標(biāo)識符 {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 首先隨機(jī)選取兩個安全的大質(zhì)數(shù)p,q和一個由等式y(tǒng)2=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 個抗碰撞哈希函數(shù):。②隨機(jī)選擇并計(jì)算Ppub=s?P,其中s是 TA 的主密匙,而Ppub是系統(tǒng)公開密鑰。公布系統(tǒng)參數(shù)param=(p,q,a,b,P,Ppub,h,h1,h2)。
節(jié)點(diǎn)i向TA 提交其真實(shí)身份標(biāo)識,TA 隨機(jī)選取秘密數(shù)并分別計(jì)算和。其中||表示串拼接操作,表示異或操作,IDKGC、IDTA分別為KGC 和TA 的身份標(biāo)識字符串。然后TA 將元組發(fā)送給KGC,將發(fā)送給節(jié)點(diǎn)i。
節(jié)點(diǎn)i向 KGC 提交和其真實(shí)身份標(biāo)識,KGC 收到和后,通過下式驗(yàn)證節(jié)點(diǎn)合法性[7]:
如果驗(yàn)證通過,KGC 根據(jù)下述步驟為節(jié)點(diǎn)i生成假名pseudoNi和私鑰:
(1) KGC 選 取 秘 密 數(shù)并 計(jì) 算,將元組保存到其數(shù)據(jù)庫并將元組發(fā)送給TA。
源節(jié)點(diǎn)i選取隨機(jī)秘密數(shù),并定義ts為用以阻止重放攻擊的當(dāng)前時間戳,RREQ為需簽密的路由請求消息。令ξ1=αi+βi,ξ2=αi βi,,然 后 計(jì) 算Ppub),Δi=λi?P,源節(jié)點(diǎn)對路由請求消息RREQ的 簽 名 為。 源 節(jié) 點(diǎn)σi?P=(λi+hi?Ωi)?P=λi?P+hi?Ωi?P= Δi+hi?θi?s?P= Δi+hi?θi?PKKGC將發(fā) 送 給 其 他節(jié)點(diǎn)。
如果等式(1)不成立,節(jié)點(diǎn)則丟棄該路由請求消息包。如果等式(1)成立,節(jié)點(diǎn)則比較其IP 地址與RREQ中目的地址是否相等,若相等,節(jié)點(diǎn)則向源節(jié)點(diǎn)發(fā)送路由回復(fù)消息包RREP,否則,節(jié)點(diǎn)向下一節(jié)點(diǎn)繼續(xù)廣播路由請求消息包。
使用NS2.35 對本文算法和AOMDV 路由的性能進(jìn)行比較,仿真參數(shù)見表1。
表1 仿真參數(shù)
分組遞交率(pdr)圖(圖1)顯示了黑洞攻擊和灰洞攻擊導(dǎo)致了AODV 協(xié)議性能的下降。仿真開始時,黑洞攻擊和灰洞攻擊網(wǎng)絡(luò)的分組遞交率與正常網(wǎng)絡(luò)性能相當(dāng),隨仿真過程的進(jìn)行,遭到攻擊的網(wǎng)絡(luò)性能逐漸下降,當(dāng)仿真時間達(dá)到200s 時,遭到灰洞攻擊和黑洞攻擊的pdr 僅為33.72%和15.65%,而正常網(wǎng)絡(luò)的pdr 為86.82%。從圖1 還可看出,采用SEAODV 協(xié)議后,遭到灰洞攻擊和黑洞攻擊的分組傳遞率與正常網(wǎng)絡(luò)性能接近,當(dāng)仿真時間達(dá)到200s 時,pdr 分別為80.04%和82.30%,相對于正常網(wǎng)絡(luò)拓?fù)洌瑑H降低5.78%和4.52%。
圖1 分組遞交率比較
網(wǎng)絡(luò)吞吐量:網(wǎng)絡(luò)吞吐量圖(圖2)顯示灰洞攻擊和黑洞攻擊會導(dǎo)致AODV 協(xié)議的網(wǎng)絡(luò)吞吐量大大降低。當(dāng)仿真時間達(dá)到200s 時,在遭受灰洞攻擊和黑洞攻擊下,AODV 協(xié)議的網(wǎng)絡(luò)吞吐量僅得到 11495bit/s 和24191bit/s。當(dāng)采用SEAODV 協(xié)議后,網(wǎng)絡(luò)吞吐量明顯提高,遭受灰洞攻擊和黑洞攻擊時,網(wǎng)絡(luò)吞吐量可達(dá)到59295bit/s 和57553bit/s,與正常網(wǎng)絡(luò)采用AODV 協(xié)議時的網(wǎng)絡(luò)吞吐量相當(dāng)。
本文針對海上移動自組網(wǎng)絡(luò)的安全問題,重點(diǎn)研究了自組織網(wǎng)絡(luò)的安全路由協(xié)議,將基于橢圓曲線的簽名方案應(yīng)用到按需路由協(xié)議的路由請求消息中,得到了一種安全的AODV 協(xié)議(SEAODV),該協(xié)議不使用雙線性映射等復(fù)雜的數(shù)學(xué)運(yùn)算,且在路由發(fā)現(xiàn)過程中節(jié)點(diǎn)使用動態(tài)變化的偽身份和私鑰,實(shí)現(xiàn)了身份和位置的私密性。利用網(wǎng)絡(luò)仿真軟件NS2,我們比較了SEAODV 與AODV 路由協(xié)議在黑洞和灰洞攻擊下的性能。仿真結(jié)果表明,在在黑洞和灰洞攻擊網(wǎng)絡(luò)中拓?fù)鋵W(xué),SEAODV 協(xié)議的分組遞交率和網(wǎng)絡(luò)吞吐量有了顯著的改進(jìn),接近于沒有攻擊時的AODV 協(xié)議性能。