蔡 威
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院信息工程學(xué)院,鄭州 451150)
作為物聯(lián)網(wǎng)底層的感知網(wǎng)絡(luò),近期無(wú)線傳感網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)受到廣泛關(guān)注[1-2]。隨著傳感技術(shù)的迅速發(fā)展,WSNs 在多類應(yīng)用場(chǎng)景中得到廣泛應(yīng)用[3]。依據(jù)應(yīng)用場(chǎng)景中事件發(fā)生的時(shí)間特性,WSNs 可分為時(shí)間驅(qū)動(dòng)型和事件驅(qū)動(dòng)型。與時(shí)間驅(qū)動(dòng)型WSNs 不同,事件驅(qū)動(dòng)型WSNs只當(dāng)檢測(cè)到事件發(fā)生后,節(jié)點(diǎn)才將相關(guān)數(shù)據(jù)傳輸至控制中心。
在事件驅(qū)動(dòng)型WSNs 中,當(dāng)節(jié)點(diǎn)檢測(cè)到事件后,節(jié)點(diǎn)(源節(jié)點(diǎn))就將數(shù)據(jù)傳輸至信宿(sink)。源節(jié)點(diǎn)在傳輸數(shù)據(jù)的過(guò)程中容易遭受網(wǎng)絡(luò)攻擊,導(dǎo)致源節(jié)點(diǎn)的位置泄露。在目標(biāo)監(jiān)測(cè)過(guò)程中,源節(jié)點(diǎn)位置一旦泄露,目標(biāo)的安全就會(huì)受到威脅[4]。例如,在監(jiān)測(cè)大熊貓的WSNs 中,傳感節(jié)點(diǎn)安裝于大熊貓身上,若攻擊者獲取源節(jié)點(diǎn)位置,就能追蹤到大熊貓位置,大熊貓的安全受到威脅[5]。
研究人員對(duì)源節(jié)點(diǎn)位置隱私問題進(jìn)行了大量研究。文獻(xiàn)[6]提出基于“熊貓-獵人”博弈模型,并提出幻象路由,在幻象路由中,源節(jié)點(diǎn)在傳輸數(shù)據(jù)前先進(jìn)行一個(gè)隨機(jī)游走,改變?cè)瓉?lái)路由路徑,增加攻擊者追蹤的難度[7]。文獻(xiàn)[8]對(duì)現(xiàn)有的幻象路由進(jìn)行改進(jìn),通過(guò)優(yōu)化選擇兄弟節(jié)點(diǎn),增加隨機(jī)路徑的不確定性。此外,文獻(xiàn)[9]對(duì)幻象節(jié)點(diǎn)隨機(jī)游走的跳數(shù)進(jìn)行改進(jìn),控制傳輸路徑。
除幻象路由外,研究者還提出利用環(huán)形路由增強(qiáng)源節(jié)點(diǎn)位置隱私的保護(hù)。例如,文獻(xiàn)[10]提出基于假包的單個(gè)虛擬圓環(huán)路由,通過(guò)構(gòu)造環(huán)路迷茫攻擊者,使攻擊者不能追蹤源節(jié)點(diǎn)位置。
然而,這些路由協(xié)議仍存在一些不足。雖然幻象路由中源節(jié)點(diǎn)的隨機(jī)游走簡(jiǎn)化了攻擊者的追蹤路徑,但增加了節(jié)點(diǎn)開銷[11],并且虛擬圓環(huán)路由中真實(shí)傳輸路徑被隱藏,這降低了數(shù)據(jù)傳輸性能,且增加了節(jié)點(diǎn)能量消耗。
為此,針對(duì)上述問題,提出基于攻擊感知的源位置隱私保護(hù)路由ASPR 協(xié)議,在源位置隱私的安全性與節(jié)點(diǎn)能耗間達(dá)到平衡。本文的主要工作如下:1)利用sink 廣播消息,節(jié)點(diǎn)建立鄰居列表,再構(gòu)建最短路徑路由;2)ASPR 協(xié)議假定節(jié)點(diǎn)能夠檢測(cè)攻擊者。當(dāng)檢測(cè)到攻擊者,節(jié)點(diǎn)就發(fā)出警告消息,使攜帶數(shù)據(jù)包的節(jié)點(diǎn)調(diào)整路由,進(jìn)而規(guī)避攻擊者,實(shí)現(xiàn)對(duì)源節(jié)點(diǎn)的位置保護(hù)。
圖1 系統(tǒng)模型
節(jié)點(diǎn)約50%的能量消耗于數(shù)據(jù)傳輸,節(jié)點(diǎn)傳輸數(shù)據(jù)所消耗的能量與其傳輸距離正比。為此,引用文獻(xiàn)[13]的能量消耗模型。
式中,Eelec表示無(wú)線通信模塊發(fā)送或接收單位bit 數(shù)據(jù)的電路能耗[9],εfs和εamp分別表示多徑衰落模型和自由空間模型傳輸?shù)墓Ψ艆?shù)。
圖2 能量消耗模型
每個(gè)節(jié)點(diǎn)收到其他節(jié)點(diǎn)廣播的BM,就提取BM的信息,并核對(duì)鄰居列表中的離sink 的跳數(shù)值,使離sink 的跳數(shù)值為最小值。網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)均依據(jù)上述過(guò)程轉(zhuǎn)播BM,進(jìn)而使節(jié)點(diǎn)掌握自己一跳鄰居節(jié)點(diǎn)信息,構(gòu)建自己的鄰居列表。
為了便于理解,以圖3 的網(wǎng)絡(luò)拓?fù)錇槔D3給出節(jié)點(diǎn)B 的鄰居列表。鄰居列表中有兩列,第1列表示一跳鄰居節(jié)點(diǎn)的ID 號(hào);第2 列表示鄰居節(jié)點(diǎn)離sink 的最小跳數(shù)。
圖3 鄰居列表示例
任意節(jié)點(diǎn)構(gòu)建了鄰居列表后,就依據(jù)鄰居節(jié)點(diǎn)離sink 的最小跳數(shù),將鄰居節(jié)點(diǎn)劃分3 個(gè)集:近跳鄰居節(jié)點(diǎn)集、同跳鄰居節(jié)點(diǎn)集和遠(yuǎn)跳鄰居節(jié)點(diǎn)集。當(dāng)鄰居節(jié)點(diǎn)離sink 的最小跳距小于自己離sink 的最小跳距,就將該節(jié)點(diǎn)納入近跳鄰居節(jié)點(diǎn)集;若相等,就將該節(jié)點(diǎn)納入同跳鄰居節(jié)點(diǎn)集;若鄰居節(jié)點(diǎn)離sink 的最小跳距大于自己離sink 的最小跳距,就將該節(jié)點(diǎn)納入遠(yuǎn)跳鄰居節(jié)點(diǎn)集。
ASPR 路由設(shè)計(jì)主要由3 個(gè)階段構(gòu)成。首先,依據(jù)節(jié)點(diǎn)位置信息,構(gòu)建最短路徑路由;然后,檢測(cè)攻擊者,若發(fā)現(xiàn)攻擊者,就觸發(fā)位置隱私保護(hù)機(jī)制;最后,調(diào)整第1 階段構(gòu)建的最短路徑路由,規(guī)避攻擊者。
2.2.1 最短路徑路由
在未檢測(cè)到攻擊者時(shí),依據(jù)節(jié)點(diǎn)位置信息構(gòu)建路由。假定Si為當(dāng)前攜帶數(shù)據(jù)包節(jié)點(diǎn),其需要向目的節(jié)點(diǎn)Sd傳輸數(shù)據(jù)包。
圖4 選擇下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)
算法1 最短路徑路由
2.2.2 檢測(cè)攻擊
節(jié)點(diǎn)利用文獻(xiàn)[5]的檢測(cè)方法檢測(cè)附近的攻擊者。一旦檢測(cè)攻擊者,節(jié)點(diǎn)就以最大發(fā)射功率向網(wǎng)絡(luò)內(nèi)廣播警告消息Warming。節(jié)點(diǎn)收到Warming 消息后,就需改變?cè)瓉?lái)的最短路由路徑策略。
2.2.3 規(guī)避攻擊者的迂回路由
為了控制迂回路由的長(zhǎng)度,限定數(shù)據(jù)包在迂回路由中被傳輸?shù)拇螖?shù)。每傳輸一次數(shù)據(jù)包,次數(shù)就減1,直到減至0,又回歸至最短路徑路由。算法2給出規(guī)避攻擊者的迂回路由的偽代碼。
算法2 規(guī)避攻擊者的迂回路由
利用基于OMnet++ 的仿真器Castalia 分析ASPR 路由性能。在Windows 7 操作系統(tǒng)、8 GB 內(nèi)存,core i7 CPU 的PC 上進(jìn)行實(shí)驗(yàn)仿真。在200 m×200 m 的方形區(qū)域內(nèi)部署200 個(gè)傳感節(jié)點(diǎn),基站位于方形區(qū)域中心。節(jié)點(diǎn)的通信半徑為40 m。采用多徑衰落傳輸模型。具體的仿真參數(shù)如表1 所示。
表1 仿真參數(shù)
選用文獻(xiàn)[11] 提出的源位置隱私保護(hù)(Source-Location Privacy Protection,SLPP)、文獻(xiàn)[12]提出的基于多路徑的位置隱私保護(hù)(Multi-path Privacy Protection,MPPP)和文獻(xiàn)[13]提出的ER-SR路由作為參照,并分析它們的安全性能及節(jié)點(diǎn)能耗性能。每次仿真獨(dú)立重要100 次,取平均數(shù)作為最終的仿真數(shù)據(jù)。
利用安全時(shí)間表征源節(jié)點(diǎn)位置隱私保護(hù)性能,其也是衡量路由協(xié)議安全性的重要指標(biāo)。將源節(jié)點(diǎn)在被攻擊者捕獲前所發(fā)送的數(shù)據(jù)包數(shù)表示路由的安全時(shí)間。顯然,安全時(shí)間越長(zhǎng),位置隱私保護(hù)性能越優(yōu)。
圖5 給出安全時(shí)間隨源節(jié)點(diǎn)距sink 跳距的變化情況。從圖5 可知,相比于MPPP 和ER-SR 路由,提出的ASPR 路由提升了安全時(shí)間。ER-SR 路由旨在提高網(wǎng)絡(luò)壽命,擇優(yōu)選擇剩余能量高的節(jié)點(diǎn)作為下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),未考慮源節(jié)點(diǎn)的位置隱私保護(hù)問題。而MPPP 路由采用了多徑傳輸數(shù)據(jù)包,并通過(guò)隨機(jī)路由規(guī)避攻擊者。ASPR 路由的安全時(shí)間與SLPP路由的安全時(shí)間相近,原因在于:其在規(guī)避攻擊者的策略相近。
圖5 安全時(shí)間隨源節(jié)點(diǎn)距sink 的跳距情況
通信開銷也是衡量ASPR 路由性能的重要指標(biāo)。本文將數(shù)據(jù)包傳輸至sink 經(jīng)歷的跳數(shù)作為通信開銷,即平均每個(gè)數(shù)據(jù)包從源節(jié)點(diǎn)傳輸至sink 時(shí)轉(zhuǎn)發(fā)的跳數(shù)。
下頁(yè)圖6 顯示了通信開銷隨源節(jié)點(diǎn)距sink 跳數(shù)的變化情況。從圖6 可知,MLPP 路由的通信開銷大于SLPP、ER-SR 路由和ASPR 路由。原因在于:MLPP 是利用多徑傳輸數(shù)據(jù)包,增加了參與傳輸數(shù)據(jù)包的節(jié)點(diǎn)數(shù)。
圖6 通信開銷隨源節(jié)點(diǎn)距sink 的跳距變化情況
ASPR 路由與ER-SR 路由的通信開銷數(shù)據(jù)相近。最初,ASPR 路由的通信開銷低于ER-SR,但是當(dāng)跳距增加至約24 跳后,ASPR 路由的通信開銷高于ER-SR 路由。原因在于:ER-SR 路由是依據(jù)節(jié)點(diǎn)剩余能量選擇路由,維持了路由的穩(wěn)定性。而ASPR路由在構(gòu)建路由時(shí),并沒有考慮到節(jié)點(diǎn)的剩余能量。當(dāng)跳距增加后,增加了節(jié)點(diǎn)的能耗。ASPR 路由有可能會(huì)選擇剩余能量過(guò)低的節(jié)點(diǎn)傳輸數(shù)據(jù)包,提高了數(shù)據(jù)包傳輸失敗的概率。一旦數(shù)據(jù)傳輸失敗,就需重新構(gòu)建路由,這就增加了通信開銷。
圖7 給出網(wǎng)絡(luò)能耗隨源節(jié)點(diǎn)至sink 跳距的變化情況。
圖7 能耗隨源節(jié)點(diǎn)距sink 的跳距變化情況
由圖7 可知,源節(jié)點(diǎn)距sink 跳距的增加,提升了網(wǎng)絡(luò)能耗。這符合預(yù)期:跳距越大,傳輸數(shù)據(jù)包所消耗的能量越多。與MPPP 路由和ER-SR 路由相比,ASPR 路由控制了網(wǎng)絡(luò)能耗。這主要是因?yàn)椋篈SPR 路由采用了最短路徑路由策略,縮短了數(shù)據(jù)傳輸路徑。
然而,ASPR 路由的能耗高于SLPP 路由。原因在于:SLPP 路由采用貪婪路由策略,總是選擇離目的節(jié)點(diǎn)最近的節(jié)點(diǎn)作為下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),選擇路由的策略簡(jiǎn)單,易實(shí)施。ASPR 路由為了避免局部路由空洞,并沒有采用貪婪路由策略,而是計(jì)算近跳鄰居節(jié)點(diǎn)的權(quán)重值,選擇最小權(quán)重節(jié)點(diǎn)作為下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)。
源節(jié)點(diǎn)位置的泄露威脅到目標(biāo)的安全性。為此,本文提出基于攻擊感知的源位置隱私保護(hù)路由ASPR。ASPR 路由依據(jù)鄰居節(jié)點(diǎn)位置信息,構(gòu)建最短路徑,縮短數(shù)據(jù)傳輸路徑,減少能耗;當(dāng)檢測(cè)攻擊者,就采用迂回路由策略規(guī)避攻擊者,保護(hù)源節(jié)點(diǎn)的位置隱私。仿真結(jié)果表明,ASPR 路由協(xié)議能夠在安全性和能耗間達(dá)到較好的平衡。進(jìn)一步優(yōu)化策略,提升保護(hù)源位置隱私的能力,進(jìn)而應(yīng)對(duì)攻擊能力強(qiáng)大的攻擊者,這將是未來(lái)的研究?jī)?nèi)容。