嚴(yán) 志,萬爛軍,蔣國清
(1.長沙民政職業(yè)技術(shù)學(xué)院,湖南 長沙 410004;2. 湖南工業(yè)大學(xué),湖南 長沙 410005)
由于能處理無線網(wǎng)絡(luò)內(nèi)間歇性連接和長時(shí)延問題,時(shí)延容忍網(wǎng)絡(luò)(Delay Tolerant Networks, DTNs)受到廣泛關(guān)注。與傳統(tǒng)網(wǎng)絡(luò)不同,DTNs使用存儲(chǔ)-轉(zhuǎn)發(fā)策略克服缺乏端到端路徑問題[1]。DTNs由受限資源的節(jié)點(diǎn)組成,如緩存空間、節(jié)點(diǎn)功率。這些資源的受限,加上節(jié)點(diǎn)移動(dòng),縮短了節(jié)點(diǎn)的連通時(shí)間。
DTNs廣泛應(yīng)用于多個(gè)領(lǐng)域,包括水下網(wǎng)絡(luò)、車聯(lián)網(wǎng)(Vehicular Ad Hoc Networks, VANETs)、軍事應(yīng)用和災(zāi)難救援[2-3]。這些應(yīng)用均要求網(wǎng)絡(luò)能有效地傳遞數(shù)據(jù)。
目前,研究人員對DTNs進(jìn)行了較深入研究[4]。然而,研究人員并沒有對路由的不正當(dāng)行為進(jìn)行深度關(guān)注。例如,節(jié)點(diǎn)故意將需要轉(zhuǎn)發(fā)的數(shù)據(jù)包進(jìn)行丟棄。這些自私或惡意行為誘導(dǎo)了路由的不正當(dāng)行為。盡管針對移動(dòng)自組織網(wǎng)絡(luò)(Mobile Ad hoc Network, MANET)和無線傳感網(wǎng)絡(luò)(Wireless Sensor Networks, WSNs)內(nèi)的路由不正當(dāng)行為,研究人員提出不同的方案,但是這方案并不適合DTNs[6]。
針對DTNs的路由不正當(dāng)行為的研究表明,惡意節(jié)點(diǎn)降低了消息傳遞成功率。然而,多數(shù)方案是依據(jù)節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)的過程檢測節(jié)點(diǎn)的惡意行為。這些方案并不能有效地濾除惡意節(jié)點(diǎn)不誠實(shí)的推薦。例如,Chen等[7]依據(jù)自信因子計(jì)算間接信任。該方案產(chǎn)生了高的推薦信任值,但容易形成共謀攻擊。此外,僅依據(jù)轉(zhuǎn)發(fā)行為評估節(jié)點(diǎn)的信任值,可能會(huì)產(chǎn)生不準(zhǔn)確的信任估計(jì)。
此外,DTNs也常采用基于相遇路由(Encounter-based Routing, EBR),但EBR路由并不能防御共謀攻擊。盡管研究人員提出采用信任管理機(jī)制[7-8]解決自私行為和共謀攻擊。然而,該方案并不能有效地解決路由的不正當(dāng)行為。
為此,提出基于分布式信任管理的數(shù)據(jù)轉(zhuǎn)發(fā)算法(Distributed Trust Management-based Data Forwarding, DTM-DF)。DTM-DF算法采用分布式信任管理估計(jì)節(jié)點(diǎn)的直接信任和間接信任,并依據(jù)節(jié)點(diǎn)信任值選擇數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)。仿真數(shù)據(jù)表明,提出的DTM-DF算法能夠提高數(shù)據(jù)包傳遞率,并降低了傳輸時(shí)延。
DTM-DF算法依據(jù)相遇記錄(Encounter Record, ER)估計(jì)節(jié)點(diǎn)信任值。假定節(jié)點(diǎn)a與節(jié)點(diǎn)b相遇。節(jié)點(diǎn)a對節(jié)點(diǎn)b的ER可表示為:
(1)
在DTM-DF算法中,節(jié)點(diǎn)的信任值由直接信任和來自ER的推薦信任兩部分組成。同時(shí),DTM-DF算法引用統(tǒng)計(jì)模型表述信任關(guān)系。具體而言,引用Beta分布表述信任關(guān)系。Beta分布引用了有兩個(gè)參數(shù)α、β。
當(dāng)節(jié)點(diǎn)與鄰居節(jié)點(diǎn)接觸后,就能依據(jù)ER計(jì)算Beta分布,如式(2)所示:
(2)
其中0≤p≤1、α≥0、β≥0。
1.1.1直接信任
利用兩節(jié)點(diǎn)(a、b)的ERab表述直接信任關(guān)系。此信任關(guān)系可通過αab、βab表示,其中αab表示節(jié)點(diǎn)a對節(jié)點(diǎn)b的積極觀察。而βab表示節(jié)點(diǎn)a對節(jié)點(diǎn)b的消極觀察。若節(jié)點(diǎn)a與節(jié)點(diǎn)b沒有接觸過,則令節(jié)點(diǎn)a對節(jié)點(diǎn)b的初始信任值設(shè)為0.5。這符合事實(shí)邏輯。過往沒有接觸過,對“陌生”節(jié)點(diǎn)保持半信半疑態(tài)度。
令s、f分別表示節(jié)點(diǎn)a與節(jié)點(diǎn)b間接觸的積極接觸和消極接觸累加的證據(jù)。因此,αab和βab可用式(3)表示:
αab=s+1,βab=f+1
(3)
(4)
由于節(jié)點(diǎn)移動(dòng),需要?jiǎng)討B(tài)更新ER表。為此,DTM-DF算法引入因子λ,減少歷史觀察對節(jié)點(diǎn)a、節(jié)點(diǎn)b的影響。如果節(jié)點(diǎn)a在ERab內(nèi)觀察了一個(gè)額外事件,則對s和f進(jìn)行更新:
s=sold×λ+snew,f=fold×λ+fnew
(5)
其中0≤λ≤1。而sold、fold分別節(jié)點(diǎn)a對節(jié)點(diǎn)b的歷史的積極接觸證據(jù)和消極接觸證據(jù)。
若節(jié)點(diǎn)a與節(jié)點(diǎn)b直接接觸,就依據(jù)式(6)更新:
s=sold×λ,f=fold×λ
(6)
1.1.2能量信任
現(xiàn)存的信任管理并沒有考慮能量信任。能量消耗是資源受限的網(wǎng)絡(luò)基本問題。在資源耗盡攻擊中,惡意節(jié)點(diǎn)能夠向鄰居節(jié)點(diǎn)泛洪消息,進(jìn)而達(dá)到消耗相遇節(jié)點(diǎn)的能量的目的。相反,自私節(jié)點(diǎn)因不轉(zhuǎn)發(fā)數(shù)據(jù)包,就降低了能量消耗。
為此,DTM-DF算法將能量作為一個(gè)因子,評估節(jié)點(diǎn)的行為。引用能量預(yù)測模型評估節(jié)點(diǎn)的可靠性。Rodrigues等[9]分析了DTNs的能量消耗模型。DTM-DF算法也引用該能耗模型。
節(jié)點(diǎn)的剩余能量ER等于初始能量EI減去消耗的能量EC,即ER=EI-EC。其中EC:
EC=Es+Et+Er
(7)
其中Es、Et、Er分別表示掃描(監(jiān)聽)、傳輸和接收數(shù)據(jù)所消耗的能量。通過歸一化處理,使EC滿足:EC∈[0,1]。
最終,能量信任值TE可表示為:
TE=1-EC
(8)
值得注意的是,TE必須大于能量閾值。此外,DTM-DF算法引用懲罰因子。如果Et/Er小于0.6,則就給TE引入懲罰的權(quán)重因子[10]。當(dāng)Et/Er小于0.6,意味著節(jié)點(diǎn)每接收10個(gè)數(shù)據(jù)包,最多只轉(zhuǎn)發(fā)6個(gè)數(shù)據(jù),節(jié)點(diǎn)表現(xiàn)出不轉(zhuǎn)發(fā)數(shù)據(jù)的行為。這也折射出節(jié)點(diǎn)的自私行為。
(9)
稀疏連接是DTNs的重要特性。由于缺乏端到端的連接,DTNs采用存儲(chǔ)-轉(zhuǎn)發(fā)消息的方式。一條消息通過中間節(jié)點(diǎn)轉(zhuǎn)發(fā),直到它達(dá)到目的節(jié)點(diǎn)。在這種情況下,節(jié)點(diǎn)能夠通過鄰居節(jié)點(diǎn)獲取推薦信任,進(jìn)而評估相遇節(jié)點(diǎn)的信任值。
1.2.1間接信任
假定節(jié)點(diǎn)a和c有過歷史接觸,即節(jié)點(diǎn)a具有ERac。而節(jié)點(diǎn)a沒有與節(jié)點(diǎn)b接觸過,但是節(jié)點(diǎn)c與節(jié)點(diǎn)b有過接觸,如圖1所示。
圖1 直接和間接信任
(10)
其中αcb、βcb表示來自ERac的積極、消除事件。而Eac是從ERcb計(jì)算的。然而,來自鄰居節(jié)點(diǎn)的推薦信任可能形成共謀攻擊,為此,引用推薦信譽(yù)值。
1.2.2推薦信譽(yù)值
引用推薦信譽(yù)值的目的在于消除錯(cuò)誤推薦。通過評估節(jié)點(diǎn)和被評估節(jié)點(diǎn)的共同鄰居[11],計(jì)算推薦信譽(yù)值,如圖2所示。
圖2 推薦信任示意圖
節(jié)點(diǎn)a和b有共同鄰居節(jié)點(diǎn)c1,c2,…,cn。對推薦進(jìn)行濾除,再獲取節(jié)點(diǎn)b的推薦信任值:
(11)
(12)
(13)
由于DTNs內(nèi)連接頻繁中斷,需周期地更新節(jié)點(diǎn)的信任值。然而,若更新太過頻繁,就導(dǎo)致過高的能量消耗。而信任記錄窗口太長,也容易形成共謀攻擊 。引用信任記錄窗口更新總體的信任值。信任記錄窗口由多個(gè)時(shí)隙組成。
在時(shí)隙i節(jié)點(diǎn)a評估節(jié)點(diǎn)b的信任值表示為Tab(i),其中i=1,…,ts代表時(shí)隙。依據(jù)式(14),在下一個(gè)信任記錄窗口更新信任值:
Tab(i+1)new=Tab(i)ωab(i)+Tab(i+1)ωab(i+1)
(14)
其中ωab(i)+ωab(i+1)=1。ωab(i)、ωab(i+1)分別代表之前和當(dāng)前的信任值的權(quán)重因子。
提出DTM-DF算法的目的就是在緊急通信網(wǎng)絡(luò),確認(rèn)消息有效地傳輸至目的節(jié)點(diǎn)。假定節(jié)點(diǎn)a、b相遇,且節(jié)點(diǎn)a需向目的節(jié)點(diǎn)d傳輸消息。
首先,節(jié)點(diǎn)a先獲取鄰居節(jié)點(diǎn)的信任值,并計(jì)算鄰居節(jié)點(diǎn)b的信任值。然后,從鄰居節(jié)點(diǎn)中選擇信任值最高的節(jié)點(diǎn)作為轉(zhuǎn)發(fā)節(jié)點(diǎn)。
為了更好地分析DTM-DF算法性能,選擇機(jī)會(huì)網(wǎng)絡(luò)環(huán)境(Opportunistic Network Environment, ONE)仿真軟件[12]。引用災(zāi)后模型(Post-Disaster Model, PDM)[3]。仿真場景:5個(gè)鄰居節(jié)點(diǎn)、4個(gè)中心、10個(gè)救援-疏散營、100個(gè)救援工作人員、10輛供給車、10輛緊急車輛、10艘公安巡邏艇,仿真時(shí)間48 h。
此外,仿真場景大小為4500 m×3400 m。在場景中,行人移動(dòng)速度在0.5~1.5 km/h范圍內(nèi);車輛移動(dòng)速度在2.7~13.9 km/h范圍內(nèi)。場景內(nèi)有100位行人,50輛車。每10 min產(chǎn)生一條消息。消息尺寸在50KB~5MB范圍內(nèi)。
選擇RBTM[6]、CWS[13]和SPRAY[14]作為參照,并對比分析它們的性能。RBTM算法采用貝葉斯濾波摒除不真實(shí)的推薦值;CWS算法采用信譽(yù)模型,并依據(jù)轉(zhuǎn)發(fā)行為對節(jié)點(diǎn)分類。
首先分析數(shù)據(jù)包傳遞率隨惡意節(jié)點(diǎn)百分比的變化情況,其中數(shù)據(jù)包傳遞率等于已成功傳輸?shù)南?shù)與總的消息數(shù)之比。
從圖3可知,數(shù)據(jù)包傳遞率隨惡意節(jié)點(diǎn)百分比的增加而降低。原因在于:惡意節(jié)點(diǎn)丟棄數(shù)據(jù)包。惡意節(jié)點(diǎn)百分比越高,丟棄的數(shù)據(jù)包數(shù)越多。相比于DTM-DF和CWS,SPRAY和RBTM隨惡意節(jié)點(diǎn)數(shù)的增加而下降得更快。SPRAY算法未能采用機(jī)制棄除惡意節(jié)點(diǎn),而RBTM算法通過Beta分布和自信因子估計(jì)直接和間接信任,但RBTM算法是針對MANETs設(shè)計(jì)的。相比于CWS和DTM-DF算法,RBTM算法的數(shù)據(jù)包傳遞率隨惡意節(jié)點(diǎn)的增加而下降得更快。
圖3 數(shù)據(jù)包傳遞率
相比于CWS,DTM-DF算法具有高的數(shù)據(jù)包傳遞率。即使在50%的惡意節(jié)點(diǎn)環(huán)境下,DTM-DF算法仍具有好的數(shù)據(jù)包傳遞率。DTM-DF算法通過推薦信任檢測惡意節(jié)點(diǎn),并利用推薦信譽(yù)對推薦信任進(jìn)行評估。而RBTM和CWS只通過轉(zhuǎn)發(fā)證據(jù)檢測惡意節(jié)點(diǎn)。
開銷反映了傳輸消息成本。從圖4可知,開銷隨惡意節(jié)點(diǎn)數(shù)的增加而下降,原因在于:惡意節(jié)點(diǎn)數(shù)越多,丟失的消息數(shù)越多。而開銷率是依據(jù)已成功傳輸至目的節(jié)點(diǎn)的消息數(shù)進(jìn)行計(jì)算。相比于DTM-DF算法,RBTM和CWS算法具有高的開銷。例如,在40%惡意節(jié)點(diǎn)環(huán)境下, DTM-DF算法的開銷為300,而RBTM和CWS算法的開銷分別達(dá)到約375和325。這主要是因?yàn)椋篊WS和RBTM方案并沒有解決信任更新。RBTM方案花費(fèi)了太多時(shí)間計(jì)算信任值。
圖4 開銷
時(shí)延定義為:一條消息從源節(jié)點(diǎn)傳輸至目的節(jié)點(diǎn)的平均時(shí)間。圖5顯示了各算法的時(shí)延。
圖5 時(shí)延
從圖5可知,時(shí)延隨惡意節(jié)點(diǎn)的增加而下降。原因在于:網(wǎng)絡(luò)內(nèi)惡意節(jié)點(diǎn)越多,將消息傳輸至目的節(jié)點(diǎn)的時(shí)間越長。然而,需長時(shí)延傳輸?shù)南⒑芸赡鼙粊G棄。而這些被丟棄的消息并不在計(jì)算消息時(shí)延的范圍內(nèi)。相比于CWS算法和RBTM算法,DTM-DF算法的時(shí)延得到有效控制。DTM-DF算法的時(shí)延低于500 ms,而CWS算法的時(shí)延高于2500 ms。RBTM算法的時(shí)延高于2750 ms。DTM-DF的時(shí)延來自于重傳和消息隊(duì)列。
信任模型是消除路由不正當(dāng)行為的重要手段。多數(shù)惡意節(jié)點(diǎn)是通過丟棄數(shù)據(jù),表現(xiàn)出路由的不正當(dāng)行為。而有效的檢測機(jī)制能夠消除路由的不正當(dāng)行為。為此,本文提出基于分布式信任管理的數(shù)據(jù)轉(zhuǎn)發(fā)算法DTM-DF。DTM-DF算法結(jié)合節(jié)點(diǎn)的轉(zhuǎn)發(fā)行為以及它們的能量消耗信息,計(jì)算直接信任。同時(shí),通過鄰居推薦的信息計(jì)算 推薦信任。推薦信任結(jié)合了間接信任、推薦信譽(yù)。
仿真結(jié)果表明,DTM-DF算法能夠有效消除路由不正當(dāng)行。后期,將利用DTN網(wǎng)關(guān)減少在計(jì)算直接和間接信任階段的能量消耗,這將是后期的研究工作的方向。