欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種有效抵御黑洞攻擊的SAODV優(yōu)化方法與流程

文檔序號:11158033閱讀:726來源:國知局
一種有效抵御黑洞攻擊的SAODV優(yōu)化方法與制造工藝

本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種有效抵御黑洞攻擊的SAODV優(yōu)化方法,適用于Ad-Hoc自組織網(wǎng)絡(luò)。



背景技術(shù):

Ad-Hoc(自組織網(wǎng)絡(luò))是一種由獨(dú)立的節(jié)點(diǎn)構(gòu)成且每個節(jié)點(diǎn)都可以自由地加入、離開和移動的無線網(wǎng)絡(luò)。其網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)會隨節(jié)點(diǎn)的狀態(tài)變化而頻繁變化。此外,網(wǎng)絡(luò)中的每個節(jié)點(diǎn)都有相同可能性受到攻擊,故在Ad-Hoc網(wǎng)絡(luò)中,需引入一種確定的機(jī)制來防止惡意攻擊者肆意篡改路由數(shù)據(jù)或丟棄數(shù)據(jù),保證網(wǎng)絡(luò)的安全性能。

目前Ad-Hoc網(wǎng)絡(luò)多采用按需路由協(xié)議——AODV協(xié)議,各節(jié)點(diǎn)不需要維護(hù)準(zhǔn)確的路由消息,即只有當(dāng)源節(jié)點(diǎn)要發(fā)送數(shù)據(jù)但找不到目的節(jié)點(diǎn)時才會發(fā)起路由查詢。當(dāng)一個路由無法到達(dá)目的節(jié)點(diǎn),或者之前本可以工作的路由現(xiàn)在變?yōu)椴换顒拥穆酚蓵r,源節(jié)點(diǎn)就會在網(wǎng)絡(luò)中廣播RREQ路由請求數(shù)據(jù)包。每個中間節(jié)點(diǎn)在收到RREQ后會檢查自身路由表,若節(jié)點(diǎn)本身就是目的地,則給源節(jié)點(diǎn)回復(fù)一個RREP應(yīng)答包;否則,廣播RREQ請求包給其鄰居節(jié)點(diǎn)。若沒有出現(xiàn)RREP路由應(yīng)答,此過程一直重復(fù),直到目的節(jié)點(diǎn)或者可通過最新路由到達(dá)目的節(jié)點(diǎn)的中間節(jié)點(diǎn)收到RREQ。最終,目的節(jié)點(diǎn)收到RREQ后產(chǎn)生一個RREP反饋信息,并且通過逆向路由將信息發(fā)送回源節(jié)點(diǎn),逆向路由在路由建立過程中由中間節(jié)點(diǎn)建立。

盡管AODV協(xié)議較為成熟,但仍存在缺陷。它會受到一系列不同的攻擊,例如黑洞攻擊:由于Ad Hoc網(wǎng)絡(luò)存在信號暴露性和節(jié)點(diǎn)不穩(wěn)定性,一些安全節(jié)點(diǎn)會因外部感染變?yōu)閻阂夤?jié)點(diǎn)(黑洞節(jié)點(diǎn)屬于一種惡意節(jié)點(diǎn))。在路由建立階段,黑洞節(jié)點(diǎn)在接收到的路由請求包中加入虛假信息(虛假信息主要包括錯誤的跳數(shù)、目的節(jié)點(diǎn)序號),騙取網(wǎng)絡(luò)中其他節(jié)點(diǎn)同黑洞節(jié)點(diǎn)建立路由連接,而后在數(shù)據(jù)傳輸階段,丟掉需要轉(zhuǎn)發(fā)的數(shù)據(jù)包,造成數(shù)據(jù)包丟失。黑洞攻擊對網(wǎng)絡(luò)的危害極大,故提出抵御黑洞攻擊的安全控制方法是Ad-Hoc網(wǎng)絡(luò)通信中極為重要的問題之一。

目前已經(jīng)有幾種基于AODV協(xié)議的方法以保護(hù)網(wǎng)絡(luò)不受黑洞攻擊。其中,基于哈希函數(shù)和數(shù)字簽名的SAODV協(xié)議,可為Ad-Hoc網(wǎng)絡(luò)提供安全認(rèn)證的功能,確保數(shù)據(jù)完整性:哈希函數(shù)用于保證數(shù)據(jù)中的可變部分——跳數(shù)的安全性,當(dāng)中間或目的節(jié)點(diǎn)接收信息時,可驗證跳數(shù)是否因惡意節(jié)點(diǎn)而遞減。數(shù)字簽名用于鑒別RREQ和RREP包中的非可變部分,可驗證路由信息的安全性。但SAODV協(xié)議仍存在不足,因為哈希函數(shù)不能阻擋所有對于跳數(shù)的攻擊。惡意節(jié)點(diǎn)可以通過不斷宣稱高跳數(shù)來獲取路由,并發(fā)送一個假的RREP來仿冒另一節(jié)點(diǎn)。因此,僅依靠SAODV協(xié)議中數(shù)字簽名和哈希函數(shù)的安全控制方法不足以解決黑洞節(jié)點(diǎn)造成的的數(shù)據(jù)包丟失問題。

綜上,現(xiàn)有協(xié)議都無法有效的抵御黑洞攻擊。我們需要一種新的優(yōu)化方案來解決Ad-Hoc中的黑洞攻擊問題。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有技術(shù)無法有效抵御黑洞攻擊的不足,本發(fā)明提出一種有效抵御黑洞攻擊的SAODV優(yōu)化方法,適用于Ad-Hoc自組織網(wǎng)絡(luò)。在原有SAODV協(xié)議基礎(chǔ)上,引入節(jié)點(diǎn)“保真度”的概念,創(chuàng)新對黑洞節(jié)點(diǎn)的識別方法:在路由建立階段,有效地發(fā)現(xiàn)網(wǎng)絡(luò)中的黑洞節(jié)點(diǎn),將黑洞節(jié)點(diǎn)移出網(wǎng)絡(luò),使黑洞節(jié)點(diǎn)失去接收信息的能力;在數(shù)據(jù)傳輸階段,通過不斷的動態(tài)更新節(jié)點(diǎn)保真度,監(jiān)測各個節(jié)點(diǎn),一旦出現(xiàn)黑洞節(jié)點(diǎn),立即對全網(wǎng)進(jìn)行聲明并將黑洞節(jié)點(diǎn)移出網(wǎng)絡(luò),保證以丟包率和端到端時延為主要指標(biāo)的網(wǎng)絡(luò)特性不會產(chǎn)生負(fù)面影響。

為實現(xiàn)上述發(fā)明目的,本發(fā)明所提供的技術(shù)方案是:

一種有效抵御黑洞攻擊的SAODV優(yōu)化方法,包括以下步驟:(1)路由建立;(2)數(shù)據(jù)傳輸。

進(jìn)一步根據(jù)所述抵御黑洞攻擊的SAODV優(yōu)化方法,網(wǎng)絡(luò)中每一個節(jié)點(diǎn)引入保真度,描述節(jié)點(diǎn)在Ad-Hoc網(wǎng)絡(luò)中的參與度與可靠性的大小,即通過該節(jié)點(diǎn)可以成功轉(zhuǎn)發(fā)數(shù)據(jù)包的能力的大小,本發(fā)明所述的保真度為一個整數(shù),并且在相鄰節(jié)點(diǎn)間周期性交換,在路由建立階段,若節(jié)點(diǎn)的保真度大于保真度門限值,則該節(jié)點(diǎn)可以作為多跳路徑中的一跳傳輸數(shù)據(jù),否則不選用該節(jié)點(diǎn)建立路由;在數(shù)據(jù)傳輸階段,更新節(jié)點(diǎn)保真度值的大小,若節(jié)點(diǎn)成功轉(zhuǎn)發(fā)一個數(shù)據(jù)包,保真度增加,否則減小,當(dāng)某節(jié)點(diǎn)的保真度減至0,表明該節(jié)點(diǎn)無法向網(wǎng)絡(luò)中其他節(jié)點(diǎn)正確轉(zhuǎn)發(fā)數(shù)據(jù)包,則認(rèn)定該節(jié)點(diǎn)為黑洞節(jié)點(diǎn),并將該節(jié)點(diǎn)從網(wǎng)絡(luò)中移出。

進(jìn)一步根據(jù)所述抵御黑洞攻擊的SAODV優(yōu)化方法,步驟(1)中路由建立,Ad-Hoc網(wǎng)絡(luò)中節(jié)點(diǎn)分為三類:發(fā)送數(shù)據(jù)的源節(jié)點(diǎn)、轉(zhuǎn)發(fā)數(shù)據(jù)的中間節(jié)點(diǎn)和接受數(shù)據(jù)的目的節(jié)點(diǎn),在發(fā)送數(shù)據(jù)前,根據(jù)網(wǎng)絡(luò)狀態(tài),通過從源節(jié)點(diǎn)到目的節(jié)點(diǎn)廣播RREQ請求包和從目的節(jié)點(diǎn)到源節(jié)點(diǎn)單播RREP應(yīng)答包,建立從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路由;RREQ請求包中信息分為兩部分,第一部分是最短路由信息,用于尋找從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的最短路由,主要包括源節(jié)點(diǎn)IP地址、目的節(jié)點(diǎn)IP地址、源節(jié)點(diǎn)序列號、目的節(jié)點(diǎn)序列號,第二部分是安全控制信息,用于確保路由建立階段請求信息的完整性和安全性,包括跳數(shù)、最大跳數(shù)、哈希函數(shù)、哈希值、最終哈希值、數(shù)字簽名和公鑰,其中跳數(shù)和哈希值為變量,最大跳數(shù)、哈希函數(shù)、最終哈希值、數(shù)字簽名、公鑰為常量,路由建立過程按以下步驟進(jìn)行:

(1-1)源節(jié)點(diǎn)對RREQ請求包中的信息進(jìn)行初始化;

(1-2)中間節(jié)點(diǎn)對RREQ請求包進(jìn)行處理并建立路由。

進(jìn)一步根據(jù)所述抵御黑洞攻擊的SAODV優(yōu)化方法,步驟(1-1)中所述源節(jié)點(diǎn)對RREQ請求包中的信息進(jìn)行初始化,按如下過程進(jìn)行:

(1-1-1)初始化跳數(shù)為0,即hop=0;初始化最大跳數(shù)為正整數(shù),具體數(shù)值根據(jù)網(wǎng)絡(luò)規(guī)模要求設(shè)定;初始化哈希函數(shù),并隨機(jī)生成一個隨機(jī)數(shù)seed,令第0跳即源節(jié)點(diǎn)處的哈希值hash=H(seed);

(1-1-2)對已產(chǎn)生的隨機(jī)數(shù)seed,運(yùn)用初始化后的哈希函數(shù)H(x)重復(fù)計算最大跳數(shù)hop_max次得到最終哈希值,有top_hash=Hhop_max(seed),其中Hn(x)=H(H(…H(x)));

(1-1-3)用源節(jié)點(diǎn)的私鑰簽名哈希值進(jìn)行數(shù)字簽名的初始化。

進(jìn)一步根據(jù)所述抵御黑洞攻擊的SAODV優(yōu)化方法,步驟(1-2)中所述中間節(jié)點(diǎn)對RREQ請求包進(jìn)行處理并建立路由,按如下過程進(jìn)行:

(1-2-1)中間節(jié)點(diǎn)對接收的RREQ請求包信息進(jìn)行更新,更新跳數(shù)信息:hop_this=hop_last+1;更新哈希值:hash=hash_this_hop=H(hash_last_hop);

(1-2-2)中間節(jié)點(diǎn)對接收的RREQ請求包進(jìn)行安全驗證,對RREQ請求包中的哈希值和數(shù)字簽名進(jìn)行驗證:

驗證哈希值,中間節(jié)點(diǎn)從收到的RREQ請求包中提取出跳數(shù)hop、哈希函數(shù)H(x)、哈希值hash和最終哈希值top_hash,哈希值hash為用哈希函數(shù)H(x)對隨機(jī)數(shù)seed重復(fù)計算跳數(shù)次后所得的結(jié)果,最終哈希值top_hash為用哈希函數(shù)H(x)對隨機(jī)數(shù)seed重復(fù)計算最大跳數(shù)次后所得的結(jié)果,故若跳數(shù)正確無誤未被惡意更改,則哈希值hash與最終哈希值top_hash應(yīng)滿足H(hop_max-hop)(hash)=top_hash,若不滿足上式,表明驗證出錯,跳數(shù)信息已被惡意更改,則丟棄該RREQ請求包,若驗證無誤,則進(jìn)一步驗證數(shù)字簽名;

驗證數(shù)字簽名,中間節(jié)點(diǎn)從收到的RREQ請求包中提取出公鑰和數(shù)字簽名,并用公鑰對數(shù)字簽名進(jìn)行驗證,若驗證有誤,則說明該RREQ包已被篡改,節(jié)點(diǎn)不能繼續(xù)轉(zhuǎn)發(fā)該錯誤RREQ包,故丟棄該RREQ請求包;若驗證無誤,則進(jìn)一步查看目的地址;

(1-2-3)中間節(jié)點(diǎn)從RREQ請求包中提取目的地址,判斷自己是否為目的節(jié)點(diǎn)或是否有目的節(jié)點(diǎn)的路由信息,若是,則直接回復(fù)RREP應(yīng)答包給源節(jié)點(diǎn),若不是,則更新計算該節(jié)點(diǎn)當(dāng)前的保真度數(shù)值φ_avg,本發(fā)明中φ_avg的計算方法如下:

φ_avg=(φ_this+φ_next)/2

其中,φ_this為該節(jié)點(diǎn)原保真度數(shù)值,φ_next為下一跳節(jié)點(diǎn)的保真度數(shù)值,最初的φ_this與φ_next具體數(shù)值根據(jù)網(wǎng)絡(luò)規(guī)模要求設(shè)定;

(1-2-4)比較φ_avg與門限值Φc的大小,Φc具體數(shù)值根據(jù)網(wǎng)絡(luò)規(guī)模要求設(shè)定,若φ_avg<Φc,表明節(jié)點(diǎn)不受信任,無法進(jìn)行安全可靠的信息傳輸,則丟棄RREQ請求包,若φ_avg≥Φc,則節(jié)點(diǎn)繼續(xù)廣播RREQ請求包;

(1-2-5)目的節(jié)點(diǎn)接收與應(yīng)答,當(dāng)目的節(jié)點(diǎn)收到RREQ請求包后,產(chǎn)生一個RREP應(yīng)答包用以反饋信息,并通過逆向路由將該信息發(fā)送回源節(jié)點(diǎn),逆向路由是在上述路由建立過程中由中間節(jié)點(diǎn)建立,最終實現(xiàn)了路由建立。

進(jìn)一步根據(jù)所述抵御黑洞攻擊的SAODV優(yōu)化方法,步驟(2)中數(shù)據(jù)傳輸,節(jié)點(diǎn)保真度動態(tài)更新,當(dāng)目的節(jié)點(diǎn)正確收到一個數(shù)據(jù)包時就返回一個ACK包,若源節(jié)點(diǎn)也能正確收到該ACK包,則路徑的所有中間節(jié)點(diǎn)保真度均加1,否則減1,具體按如下步驟進(jìn)行:

(2-1)正向數(shù)據(jù)傳輸;

(2-2)ACK逆向應(yīng)答。

進(jìn)一步根據(jù)所述抵御黑洞攻擊的SAODV優(yōu)化方法,步驟(2-1)中正向數(shù)據(jù)傳輸,源節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,源節(jié)點(diǎn)將數(shù)據(jù)打包,沿最新建立的路由,將數(shù)據(jù)包發(fā)送給下一跳;中間節(jié)點(diǎn)依次沿建立的最新路由轉(zhuǎn)發(fā)數(shù)據(jù)包;目的節(jié)點(diǎn)接收與應(yīng)答,建立連接后,目的節(jié)點(diǎn)處于等待接收狀態(tài),若目的節(jié)點(diǎn)正確接收數(shù)據(jù)包,則目的節(jié)點(diǎn)返回一個確認(rèn)ACK包,ACK包逆向沿原路徑返回源節(jié)點(diǎn),目的節(jié)點(diǎn)將ACK包發(fā)送給下一跳的中間節(jié)點(diǎn)。

進(jìn)一步根據(jù)所述抵御黑洞攻擊的SAODV優(yōu)化方法,步驟(2-2)中ACK逆向應(yīng)答,本發(fā)明中ACK包用于動態(tài)調(diào)整節(jié)點(diǎn)保真度,若源節(jié)點(diǎn)接收到目的節(jié)點(diǎn)反饋的ACK包,則沿途中的所有中間節(jié)點(diǎn)保真度值均增加,否則減小,若中間節(jié)點(diǎn)正確接收來自目的節(jié)點(diǎn)的確認(rèn)ACK包,則節(jié)點(diǎn)的保真度數(shù)值φ_avg加1,且查找路由信息傳遞給下一跳;若中間節(jié)點(diǎn)未能正確接收來自目的節(jié)點(diǎn)的確認(rèn)ACK包,則節(jié)點(diǎn)的保真度數(shù)值φ_avg減1;當(dāng)某個中間節(jié)點(diǎn)發(fā)現(xiàn)其保真度數(shù)值φ_avg等于0,則判定此節(jié)點(diǎn)為黑洞節(jié)點(diǎn),黑洞節(jié)點(diǎn)會發(fā)出一個ALARM包廣播給全網(wǎng)節(jié)點(diǎn),其他節(jié)點(diǎn)收到來自黑洞節(jié)點(diǎn)的ALARM包,全網(wǎng)節(jié)點(diǎn)將不再與黑洞節(jié)點(diǎn)聯(lián)系,系統(tǒng)對黑洞節(jié)點(diǎn)進(jìn)行的刪除操作,此時源節(jié)點(diǎn)會重新建立路由以實現(xiàn)數(shù)據(jù)傳輸。

本發(fā)明的有益效果:

1、本發(fā)明解決了SAODV協(xié)議無法解決的黑洞攻擊問題。在發(fā)現(xiàn)黑洞節(jié)點(diǎn)后將其從網(wǎng)絡(luò)中移出,使其不再參與網(wǎng)絡(luò)中數(shù)據(jù)的轉(zhuǎn)發(fā),阻止了Ad-Hoc網(wǎng)絡(luò)中的黑洞節(jié)點(diǎn)通過仿冒其他正常節(jié)點(diǎn)隨意增加路由長度的方式來對網(wǎng)絡(luò)進(jìn)行攻擊,提高了網(wǎng)絡(luò)的可靠性與安全性。

2、本發(fā)明引入節(jié)點(diǎn)保真度的概念,為每一個中間節(jié)點(diǎn)增加一個節(jié)點(diǎn)保真度參數(shù),并在路由建立和數(shù)據(jù)傳輸階段,通過對該參數(shù)的動態(tài)計算、不斷更新,實現(xiàn)黑洞節(jié)點(diǎn)的識別,在不影響吞吐量的前提下,降低了網(wǎng)絡(luò)丟包率,提高了數(shù)據(jù)的傳輸效率。

3、本發(fā)明所述方案在不改變Ad-Hoc網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包的格式、且不額外增加需要傳輸?shù)男畔⒌拈L度的前提下,僅為中間節(jié)點(diǎn)增加一個保真度概念,方案實現(xiàn)簡單,可利用現(xiàn)有SAODV協(xié)議,擴(kuò)展性強(qiáng),具有顯著的社會效益和推廣應(yīng)用前景。

附圖說明

圖1是本發(fā)明所述一種抵御黑洞攻擊的SAODV優(yōu)化方法的總流程圖;

圖2是本發(fā)明所述一種抵御黑洞攻擊的SAODV優(yōu)化方法路由建立的請求階段中間節(jié)點(diǎn)處理RREQ請求包的流程圖;

圖3是本發(fā)明所述一種抵御黑洞攻擊的SAODV優(yōu)化方法數(shù)據(jù)傳輸?shù)哪嫦驊?yīng)答階段中間節(jié)點(diǎn)處理ACK包的流程圖;

圖4是仿真實驗網(wǎng)絡(luò)端到端時延對比圖;

圖5是仿真實驗網(wǎng)絡(luò)丟包率對比圖;

圖6是仿真實驗網(wǎng)絡(luò)吞吐量對比圖。

具體實施方式

以下結(jié)合附圖對本發(fā)明的技術(shù)方案給出進(jìn)一步詳細(xì)的描述,以使本領(lǐng)域技術(shù)人員能夠更加清楚地理解本發(fā)明的方案,但并不因此限制本發(fā)明的保護(hù)范圍。

為便于理解,首先簡要給出本發(fā)明抵御黑洞節(jié)點(diǎn)攻擊的原理:在Ad-hoc網(wǎng)絡(luò)中,采用路由選擇方式時,在路由發(fā)現(xiàn)階段惡意節(jié)點(diǎn)向接收到的路由請求包中加入虛假可用信道信息,騙取其他節(jié)點(diǎn)同其建立路由連接,然后丟掉需要轉(zhuǎn)發(fā)的數(shù)據(jù)包,造成數(shù)據(jù)包丟失的惡意攻擊。

為避免黑洞節(jié)點(diǎn)修改路由請求包所含信息,本發(fā)明在SAODV協(xié)議安全控制方法的基礎(chǔ)上創(chuàng)新地為每一個節(jié)點(diǎn)引入保真度。保真度描述節(jié)點(diǎn)在Ad-Hoc網(wǎng)絡(luò)中的參與度與可靠性的大小,即通過該節(jié)點(diǎn)可以成功轉(zhuǎn)發(fā)數(shù)據(jù)包的能力的大小。本發(fā)明所述的保真度為一個整數(shù),并且在相鄰節(jié)點(diǎn)間周期性交換。

在路由建立階段,若節(jié)點(diǎn)的保真度大于保真度門限值,則該節(jié)點(diǎn)可以作為多跳路徑中的一跳傳輸數(shù)據(jù),否則不選用該節(jié)點(diǎn)建立路由。在數(shù)據(jù)傳輸階段,更新節(jié)點(diǎn)保真度值的大小,若節(jié)點(diǎn)成功轉(zhuǎn)發(fā)一個數(shù)據(jù)包,保真度增加,否則減小,當(dāng)某節(jié)點(diǎn)的保真度減至0,表明該節(jié)點(diǎn)無法向網(wǎng)絡(luò)中其他節(jié)點(diǎn)正確轉(zhuǎn)發(fā)數(shù)據(jù)包,則認(rèn)定該節(jié)點(diǎn)為黑洞節(jié)點(diǎn),并將該節(jié)點(diǎn)從網(wǎng)絡(luò)中移出。此后,該節(jié)點(diǎn)不再參與網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā),從而成功抵御黑洞攻擊。

附圖1為本發(fā)明所述一種抵御黑洞攻擊的SAODV優(yōu)化方法的總流程圖,下面詳細(xì)敘述本發(fā)明中抵御黑洞攻擊的SAODV優(yōu)化方法,包括步驟(1)路由建立和步驟(2)數(shù)據(jù)傳輸中具體實現(xiàn)。

步驟(1)路由建立。

在路由建立階段,運(yùn)用SAODV中哈希函數(shù)與數(shù)字簽名的方法,并為節(jié)點(diǎn)引入保真度的概念,在此基礎(chǔ)上為路由建立設(shè)定條件,按如下步驟進(jìn)行:

(1-1)源節(jié)點(diǎn)對RREQ請求包中的信息進(jìn)行初始化。

本發(fā)明所述Ad-Hoc網(wǎng)絡(luò)中的節(jié)點(diǎn)分為三類:發(fā)送數(shù)據(jù)的源節(jié)點(diǎn)、轉(zhuǎn)發(fā)數(shù)據(jù)的中間節(jié)點(diǎn)和接受數(shù)據(jù)的目的節(jié)點(diǎn)。在發(fā)送數(shù)據(jù)前,根據(jù)網(wǎng)絡(luò)狀態(tài),通過從源節(jié)點(diǎn)到目的節(jié)點(diǎn)廣播RREQ請求包和從目的節(jié)點(diǎn)到源節(jié)點(diǎn)單播RREP應(yīng)答包,建立從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路由。

RREQ請求包中信息分為兩部分,第一部分是最短路由信息,用于尋找從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的最短路由,主要包括源節(jié)點(diǎn)IP地址、目的節(jié)點(diǎn)IP地址、源節(jié)點(diǎn)序列號、目的節(jié)點(diǎn)序列號;第二部分是安全控制信息,用于確保路由建立階段請求信息的完整性和安全性,包括跳數(shù)、最大跳數(shù)、哈希函數(shù)、哈希值、最終哈希值、數(shù)字簽名和公鑰,其中跳數(shù)和哈希值為變量,最大跳數(shù)、哈希函數(shù)、最終哈希值、數(shù)字簽名、公鑰為常量。最短路由信息部分不屬于本發(fā)明優(yōu)化創(chuàng)新的范圍,故不贅述,以下只說明安全控制信息部分。

安全控制信息部分包含的具體信息概念如下:

跳數(shù)hop:跳數(shù)是一個正整數(shù),表征數(shù)據(jù)包在網(wǎng)絡(luò)中走過的步數(shù),即若RREQ請求包經(jīng)過一個節(jié)點(diǎn)完成一跳,則跳數(shù)加1,hop_this=hop_last+1,其中hop_this為當(dāng)前跳的跳數(shù),hop_last為上一跳的跳數(shù)。

最大跳數(shù)hop_max:最大跳數(shù)是協(xié)議允許一個數(shù)據(jù)包可以經(jīng)過的節(jié)點(diǎn)次數(shù)的最大值。舉例說明最大跳數(shù)的含義,協(xié)議的最大跳數(shù)是N,則協(xié)議傳輸?shù)臄?shù)據(jù)包最多只可以通過N次節(jié)點(diǎn)(重復(fù)通過也算做一次),如果第N+1次到達(dá)某個節(jié)點(diǎn),則該節(jié)點(diǎn)認(rèn)為這個傳送過來的數(shù)據(jù)包不可達(dá)。

哈希函數(shù)H(x)與哈希值hash:哈希函數(shù)H(x)是用于加密的單向函數(shù),將哈希函數(shù)應(yīng)用到任意長度的輸入所得到的輸出長度固定,并稱運(yùn)算所得結(jié)果為哈希值hash。在本發(fā)明中,哈希值隨跳數(shù)增加而變化,當(dāng)前跳的哈希值是對上一跳哈希值進(jìn)行哈希函數(shù)運(yùn)算所得的結(jié)果,即當(dāng)前跳哈希值與上一跳哈希值的關(guān)系滿足下式:hash_this_hop=H(hash_last_hop),其中hash_this_hop為當(dāng)前跳哈希值,hash_last_hop為上一跳哈希值,節(jié)點(diǎn)接收RREQ請求包,獲取上一跳哈希值,按照上式計算當(dāng)前跳哈希值,裝入RREQ請求包,傳給下一跳。

哈希值的意義在于檢測可變信息部分(本發(fā)明中指跳數(shù))的安全性。例如,對一篇文章運(yùn)用哈希函數(shù),可得到文章對應(yīng)的正確哈希值,此時即使只更改該文章中的一個字母,并對更改后的文章再一次運(yùn)用哈希函數(shù),得到的哈希值也會與正確的哈希值不同,由此即可判斷文章已被更改,失去了原有數(shù)據(jù)的安全性。故在本發(fā)明中,中間節(jié)點(diǎn)檢測根據(jù)跳數(shù)信息得到的哈希值是否與最終哈希值相同,即可判定跳數(shù)信息是否已被惡意改變。

最終哈希值top_hash:最終哈希值是利用哈希函數(shù),重復(fù)計算最大跳數(shù)次后得到的哈希值。

數(shù)字簽名是發(fā)送方用私鑰將哈希值簽名后的信息,用于接收方通過公鑰對信息進(jìn)行驗證,若驗證無誤,則信息完整,以此保證信息的完整性。

對RREQ請求包的初始化即對其所包含的信息進(jìn)行初始設(shè)定,下面敘述源節(jié)點(diǎn)對RREQ請求包中的信息進(jìn)行初始化的具體步驟:

(1-1-1)初始化跳數(shù)為0,即hop=0;初始化最大跳數(shù)為正整數(shù),具體數(shù)值根據(jù)網(wǎng)絡(luò)規(guī)模要求設(shè)定;初始化哈希函數(shù),并隨機(jī)生成一個隨機(jī)數(shù)seed,令第0跳即源節(jié)點(diǎn)處的哈希值為:hash=H(seed)。

(1-1-2)對已產(chǎn)生的隨機(jī)數(shù)seed,運(yùn)用初始化后的哈希函數(shù)H(x)重復(fù)計算最大跳數(shù)hop_max次得到最終哈希值,有top_hash=Hhop_max(seed),其中Hn(x)=H(H(…H(x)))。

(1-1-3)用源節(jié)點(diǎn)的私鑰簽名哈希值進(jìn)行數(shù)字簽名的初始化,完成源節(jié)點(diǎn)對RREQ請求包中的信息進(jìn)行初始化。

(1-2)中間節(jié)點(diǎn)對RREQ請求包進(jìn)行處理。

附圖4為本發(fā)明所述一種抵御黑洞攻擊的SAODV優(yōu)化方法步驟(1-2)路由建立的請求階段中間節(jié)點(diǎn)處理RREQ包的流程圖,參照附圖2,下面詳細(xì)敘述中間節(jié)點(diǎn)處理RREQ請求包的過程,其中包括以下4個子步驟:

(1-2-1)中間節(jié)點(diǎn)對接收的RREQ請求包信息進(jìn)行更新。

更新跳數(shù)信息:hop_this=hop_last+1;更新哈希值:hash=hash_this_hop=H(hash_last_hop)。

(1-2-2)中間節(jié)點(diǎn)對接收的RREQ請求包進(jìn)行安全驗證。

為保證安全,中間節(jié)點(diǎn)首先對RREQ請求包中的哈希值和數(shù)字簽名進(jìn)行驗證。本發(fā)明中具體的驗證方法如下所述:

驗證哈希值:中間節(jié)點(diǎn)從收到的RREQ請求包中提取出跳數(shù)hop、哈希函數(shù)H(x)、哈希值hash和最終哈希值top_hash,哈希值hash為用哈希函數(shù)H(x)對隨機(jī)數(shù)seed重復(fù)計算跳數(shù)次后所得的結(jié)果,最終哈希值top_hash為用哈希函數(shù)H(x)對隨機(jī)數(shù)seed重復(fù)計算最大跳數(shù)次后所得的結(jié)果,故若跳數(shù)正確無誤未被惡意更改,則哈希值hash與最終哈希值top_hash應(yīng)滿足下式:

H(hop_max-hop)(hash)=top_hash

若不滿足上式,表明驗證出錯,跳數(shù)信息已被惡意更改,則丟棄該RREQ請求包;若驗證無誤,則進(jìn)一步驗證數(shù)字簽名。

驗證數(shù)字簽名:中間節(jié)點(diǎn)從收到的RREQ請求包中提取出公鑰和數(shù)字簽名,并用公鑰對數(shù)字簽名進(jìn)行驗證,若驗證有誤,則說明該RREQ包已被篡改,節(jié)點(diǎn)不能繼續(xù)轉(zhuǎn)發(fā)該錯誤RREQ包,故丟棄該RREQ請求包;若驗證無誤,則進(jìn)一步查看目的地址。

(1-2-3)中間節(jié)點(diǎn)從RREQ請求包中提取目的地址,判斷自己是否為目的節(jié)點(diǎn)或是否有目的節(jié)點(diǎn)的路由信息,若是,則直接回復(fù)RREP應(yīng)答包給源節(jié)點(diǎn),若不是,則更新計算該節(jié)點(diǎn)當(dāng)前的保真度數(shù)值φ_avg,本發(fā)明中φ_avg的計算方法如下:

φ_avg=(φ_this+φ_next)/2

其中,φ_this為該節(jié)點(diǎn)原保真度數(shù)值,φ_next為下一跳節(jié)點(diǎn)的保真度數(shù)值,最初的φ_this與φ_next具體數(shù)值根據(jù)網(wǎng)絡(luò)規(guī)模要求設(shè)定。

(1-2-4)比較φ_avg與門限值Φc的大小。本發(fā)明中Φc為一個值偏小的整數(shù),具體數(shù)值根據(jù)網(wǎng)絡(luò)規(guī)模要求設(shè)定。若φ_avg<Φc,表明節(jié)點(diǎn)不受信任,無法進(jìn)行安全可靠的信息傳輸,則丟棄RREQ請求包;若φ_avg≥Φc,則節(jié)點(diǎn)繼續(xù)廣播RREQ請求包。

上述的4個子步驟為中間節(jié)點(diǎn)對RREQ請求包的處理過程,節(jié)點(diǎn)依次執(zhí)行此步驟直至找到目的節(jié)點(diǎn)路由或RREQ請求包被丟棄。

(1-3)目的節(jié)點(diǎn)接收與應(yīng)答。

當(dāng)目的節(jié)點(diǎn)收到RREQ請求包后,產(chǎn)生一個RREP應(yīng)答包用以反饋信息,并通過逆向路由將該信息發(fā)送回源節(jié)點(diǎn),逆向路由是在上述路由建立過程中由中間節(jié)點(diǎn)建立。

通過上述過程,實現(xiàn)了路由建立。

步驟(2)數(shù)據(jù)傳輸

路由建立后,源節(jié)點(diǎn)沿此路徑向目的節(jié)點(diǎn)傳輸數(shù)據(jù)。為有效抵御黑洞攻擊,本發(fā)明的創(chuàng)新點(diǎn)在于中間節(jié)點(diǎn)保真度的動態(tài)更新。動態(tài)更新的方法是每當(dāng)目的節(jié)點(diǎn)正確收到一個數(shù)據(jù)包時就返回一個ACK包,若源節(jié)點(diǎn)也能正確收到該ACK包,則沿途的所有中間節(jié)點(diǎn)保真度均加1,否則減1。優(yōu)化的SAODV方法中數(shù)據(jù)傳輸,按如下步驟進(jìn)行:

(2-1)正向數(shù)據(jù)傳輸

(2-1-1)源節(jié)點(diǎn)發(fā)送數(shù)據(jù)包。此步驟與SAODV相同,源節(jié)點(diǎn)將數(shù)據(jù)打包,沿最新建立的路由,將數(shù)據(jù)包發(fā)送給下一跳。

(2-1-2)中間節(jié)點(diǎn)依次沿步驟一所述的建立的最新路由轉(zhuǎn)發(fā)數(shù)據(jù)包。

(2-1-3)目的節(jié)點(diǎn)接收與應(yīng)答。建立連接后,目的節(jié)點(diǎn)處于等待接收狀態(tài),若目的節(jié)點(diǎn)正確接收數(shù)據(jù)包,則目的節(jié)點(diǎn)返回一個確認(rèn)ACK包,ACK包逆向沿原路徑返回源節(jié)點(diǎn),目的節(jié)點(diǎn)將ACK包發(fā)送給下一跳的中間節(jié)點(diǎn)。

(2-2)ACK逆向應(yīng)答

本發(fā)明中ACK包用于動態(tài)調(diào)整節(jié)點(diǎn)保真度,若源節(jié)點(diǎn)接收到目的節(jié)點(diǎn)反饋的ACK包,則沿途中的所有中間節(jié)點(diǎn)保真度值均增加,否則減小。參照附圖3,ACK逆向應(yīng)答按如下步驟進(jìn)行。

(2-2-1)一段時間后,若中間節(jié)點(diǎn)正確接收來自目的節(jié)點(diǎn)的確認(rèn)ACK包,則節(jié)點(diǎn)的保真度數(shù)值φ_avg加1,且查找路由信息傳遞給下一跳;

(2-2-2)一段時間后,若中間節(jié)點(diǎn)未能正確接收來自目的節(jié)點(diǎn)的確認(rèn)ACK包,則節(jié)點(diǎn)的保真度數(shù)值φ_avg減1;

(2-2-3)當(dāng)某個中間節(jié)點(diǎn)A發(fā)現(xiàn)其保真度數(shù)值φ_avg等于0(網(wǎng)絡(luò)會認(rèn)為A為黑洞節(jié)點(diǎn)),A會發(fā)出一個ALARM包廣播給全網(wǎng)節(jié)點(diǎn),其他節(jié)點(diǎn)收到來自A節(jié)點(diǎn)的ALARM包則認(rèn)為A為黑洞節(jié)點(diǎn),全網(wǎng)節(jié)點(diǎn)將不再與A節(jié)點(diǎn)聯(lián)系,這便是系統(tǒng)對黑洞節(jié)點(diǎn)進(jìn)行的刪除操作。此時源節(jié)點(diǎn)會重新建立路由以實現(xiàn)數(shù)據(jù)傳輸。(這里需要注意的是,本發(fā)明的保真度數(shù)值的增加或減少均由中間節(jié)點(diǎn)本身完成,全網(wǎng)的中間節(jié)點(diǎn)均按照以上算法流程執(zhí)行該協(xié)議的命令操作。)

通過上述過程,實現(xiàn)了數(shù)據(jù)傳輸,并有效抵御了黑洞攻擊。當(dāng)網(wǎng)絡(luò)運(yùn)作起來后,由于黑洞節(jié)點(diǎn)會大量“吸食”數(shù)據(jù)包,因而此機(jī)制一定能快速找到黑洞節(jié)點(diǎn)并將其刪除。

本發(fā)明的效果可由以下仿真實驗進(jìn)一步說明:

1、實驗條件

本發(fā)明的仿真實驗基于NS2(Network Simulator version 2)網(wǎng)絡(luò)模擬平臺,采用恒定比特率(CBR)數(shù)據(jù)流進(jìn)行仿真實驗。恒定比特率數(shù)據(jù)包在60秒的時間間隔內(nèi)隨機(jī)的在節(jié)點(diǎn)間產(chǎn)生,服從均勻分布。數(shù)據(jù)包大小為512字節(jié)。實驗中采用隨機(jī)移動點(diǎn)模型(RWP)模擬節(jié)點(diǎn)移動,節(jié)點(diǎn)在500米×500米的矩形區(qū)域移動,其中,節(jié)點(diǎn)個數(shù)固定為35,節(jié)點(diǎn)暫停移動時間為10s。

2、實驗內(nèi)容

本發(fā)明的仿真實驗對已經(jīng)設(shè)定好的Ad-Hoc網(wǎng)絡(luò)采用AODV路由協(xié)議進(jìn)行數(shù)據(jù)傳輸,以三個網(wǎng)絡(luò)參數(shù):網(wǎng)絡(luò)吞吐量、端到端時延、丟包率為主要指標(biāo),觀察該Ad-Hoc網(wǎng)絡(luò)在未受攻擊時的網(wǎng)絡(luò)特性,而后向網(wǎng)絡(luò)中加入5型黑洞節(jié)點(diǎn)(指網(wǎng)絡(luò)中有五個黑洞節(jié)點(diǎn)),分別觀測使用AODV協(xié)議、SAODV協(xié)議和本發(fā)明中優(yōu)化的SAODV協(xié)議的三個網(wǎng)絡(luò)特性參數(shù),并將三次測得的網(wǎng)絡(luò)參數(shù)進(jìn)行對比。

3、實驗結(jié)果

實驗結(jié)果如圖4、圖5、圖6。

圖4為當(dāng)?shù)钟?型黑洞攻擊時,不同協(xié)議系統(tǒng)的端到端時延的對比,由圖中曲線對比可見本發(fā)明中優(yōu)化的SAODV協(xié)議的時延最小,分析端到端時延,本發(fā)明中優(yōu)化的SAODV協(xié)議接近于未受黑洞攻擊時的AODV協(xié)議,好于SAODV協(xié)議,遠(yuǎn)好于有黑洞攻擊的AODV協(xié)議。

圖5為當(dāng)?shù)钟?型黑洞攻擊時,不同協(xié)議系統(tǒng)的丟包率的對比,由圖中曲線對比可見本發(fā)明中優(yōu)化的SAODV協(xié)議的丟包率在短時間內(nèi)很高,但當(dāng)網(wǎng)絡(luò)工作起來后,丟包率迅速降低幾近為0,而SAODV協(xié)議與未受黑洞攻擊的AODV協(xié)議的丟包率近似,都在一段時間后丟包率有所增加。這三種協(xié)議均遠(yuǎn)好于有黑洞攻擊的AODV協(xié)議。

圖6為當(dāng)?shù)钟?型黑洞攻擊時,不同協(xié)議系統(tǒng)的吞吐量的對比,圖中曲線對比可見本發(fā)明中優(yōu)化的SAODV協(xié)議的吞吐量略高于SAODV且在10~50s時間內(nèi)均比較穩(wěn)定,雖然低于未受黑洞攻擊的AODV協(xié)議,但當(dāng)面臨但是當(dāng)面臨黑洞攻擊時(黑洞節(jié)點(diǎn)共享信道資源和帶寬),這兩種協(xié)議對AODV協(xié)議的保護(hù)是非常有效的。

綜上,對于考慮的3個參量,本發(fā)明提出的優(yōu)化的SAODV協(xié)議與SAODV協(xié)議都可以成功的為AODV抵御5型黑洞攻擊。另外圖4結(jié)果表明,本發(fā)明提出的優(yōu)化的SAODV協(xié)議比SAODV協(xié)議更為有效。

以上僅是對本發(fā)明的優(yōu)選實施方式進(jìn)行了描述,并不將本發(fā)明的技術(shù)方案限制于此,本領(lǐng)域技術(shù)人員在本發(fā)明的主要技術(shù)構(gòu)思的基礎(chǔ)上所作的任何公知變形都屬于本發(fā)明所要保護(hù)的技術(shù)范疇,本發(fā)明具體的保護(hù)范圍以權(quán)利要求書的記載為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
台北县| 郎溪县| 德清县| 柘城县| 井陉县| 汪清县| 连州市| 安溪县| 太保市| 乌恰县| 大石桥市| 高尔夫| 石屏县| 永康市| 平顶山市| 格尔木市| 大邑县| 扬中市| 宁河县| 双鸭山市| 乐平市| 武义县| 温泉县| 宜良县| 古田县| 正宁县| 铜山县| 海林市| 肥西县| 崇信县| 渝中区| 连云港市| 吉林省| 策勒县| 丰县| 奉节县| 科技| 肥东县| 南丰县| 芜湖市| 达尔|