李道全,張玉霞,魏艷婷
(青島理工大學(xué) 信息與控制工程學(xué)院,山東 青島 266033)
無線傳感器網(wǎng)絡(luò)(WSN)作為社交物聯(lián)網(wǎng)的一部分[1],可以感測對象的狀態(tài)或監(jiān)視網(wǎng)絡(luò)中的事件,卻也面臨一系列安全威脅,如信息竊聽、數(shù)據(jù)捏造、節(jié)點(diǎn)破壞和路由中斷等,這使得隱私保護(hù)變得至關(guān)重要[2]。隱私安全問題已成為其進(jìn)一步發(fā)展的主要瓶頸,主要分為兩種類型,面向數(shù)據(jù)的隱私威脅和面向上下文的隱私威脅[3]。面向數(shù)據(jù)的隱私威脅是指攻擊者試圖獲取數(shù)據(jù)包內(nèi)容并獲取信息的情況,這些信息可以通過傳統(tǒng)安全技術(shù),如數(shù)據(jù)包加密等進(jìn)行良好的保護(hù)[4-6]。文中主要研究面向上下文隱私威脅的源位置隱私問題。
廣大學(xué)者對源位置隱私(SLP)問題進(jìn)行了大量研究。例如,Qztuk等[7]在2004年對WSN中源位置隱私問題進(jìn)行建模,提出了“熊貓-獵人”模型。在此基礎(chǔ)上單徑幻影路由算法被提出[8]。基于k-匿名技術(shù)的解決方案[9],利用源節(jié)點(diǎn)周圍的k個(gè)幻影節(jié)點(diǎn)來迷惑對手。隨機(jī)有向路由協(xié)議[10]中將距離基站跳數(shù)大于節(jié)點(diǎn)距離基站跳數(shù)的鄰居節(jié)點(diǎn)劃分到子節(jié)點(diǎn)集,小于節(jié)點(diǎn)距離基站跳數(shù)的鄰居節(jié)點(diǎn)劃分到父節(jié)點(diǎn)集?;谠垂?jié)點(diǎn)有限洪泛的源位置隱私保護(hù)協(xié)議(PUSBRF)和增強(qiáng)性源位置隱私保護(hù)協(xié)議(EPUSBRF)[11],在可視區(qū)的基礎(chǔ)上,避免了失效路徑的產(chǎn)生?;趥握龖B(tài)分布的無線傳感器網(wǎng)絡(luò)幻象路由的源位置隱私保護(hù)策略(PNDBPR)[12],源節(jié)點(diǎn)通過偽正態(tài)分布來決定源節(jié)點(diǎn)的跳數(shù),從而決定幻影源節(jié)點(diǎn)的分布?;诳勺儕A角的動(dòng)態(tài)路由方案[13],改變了以往固定夾角產(chǎn)生候選集的狀態(tài),根據(jù)剩余延遲計(jì)算出每個(gè)節(jié)點(diǎn)的最優(yōu)夾角,以此確定節(jié)點(diǎn)的候選節(jié)點(diǎn)集,在可接受的延遲內(nèi)提高網(wǎng)絡(luò)安全周期。
以上算法產(chǎn)生的幻影節(jié)點(diǎn)都分布在源節(jié)點(diǎn)的某些固定方向的范圍內(nèi),如PNDBPR協(xié)議,幻影節(jié)點(diǎn)分布的區(qū)域更加廣泛,但是還是分布在源節(jié)點(diǎn)周圍的圓環(huán)上,也沒有考慮可視區(qū)和失效路徑問題。對于具有方向性的攻擊者可以快速找到源節(jié)點(diǎn)的范圍,文中針對更強(qiáng)攻擊者和可視區(qū)問題對PNDBPR進(jìn)行了分析和改進(jìn)。
(1)傳感器節(jié)點(diǎn)均勻分布,節(jié)點(diǎn)之間通過多跳的方式進(jìn)行通信。節(jié)點(diǎn)具有相同的通信半徑。
(2)全網(wǎng)只有一個(gè)基站,且基站位置信息是公開的;任意時(shí)刻只有一個(gè)節(jié)點(diǎn)成為源節(jié)點(diǎn),當(dāng)檢測目標(biāo)移動(dòng)時(shí)距離最近的節(jié)點(diǎn)成為新的源節(jié)點(diǎn)。
(3)傳輸?shù)乃袛?shù)據(jù)包都是加密的。攻擊者無法對數(shù)據(jù)包的內(nèi)容進(jìn)行破解。
(1)設(shè)備優(yōu)良。攻擊者配備了先進(jìn)的設(shè)備,如天線和頻譜分析儀。這些設(shè)備允許攻擊者輕松檢測接收到的數(shù)據(jù)包的信號(hào)強(qiáng)度,確定數(shù)據(jù)包的發(fā)送者,并決定是否采取行動(dòng)。假設(shè)攻擊者不會(huì)錯(cuò)過其監(jiān)測范圍內(nèi)的任何數(shù)據(jù)包。
(2)攻擊者只監(jiān)視網(wǎng)絡(luò)流量并定位源節(jié)點(diǎn)。它不會(huì)更改數(shù)據(jù)包的內(nèi)容,更改路由信息以及破壞任何節(jié)點(diǎn)等,因?yàn)檫@些都不會(huì)有助于加快定位源節(jié)點(diǎn)位置,相反,它們可能存在使安裝在網(wǎng)絡(luò)中的入侵防御機(jī)制檢測到對手的風(fēng)險(xiǎn)。
(3)攻擊者初始位于基站附近,監(jiān)聽傳送到基站的數(shù)據(jù)流量信息,根據(jù)監(jiān)聽到的流量信息逐跳回溯到源。攻擊者監(jiān)聽半徑與傳感器節(jié)點(diǎn)通信半徑相同。
文中在基于偽正態(tài)分布幻象路由源位置隱私保護(hù)協(xié)議的基礎(chǔ)上,考慮到更強(qiáng)攻擊對手,增加了可視區(qū)和失效路徑的問題。可視區(qū)即為距離源節(jié)點(diǎn)r跳內(nèi)的區(qū)域,其中r稱為可視區(qū)半徑?;糜肮?jié)點(diǎn)到基站路由階段經(jīng)過可視區(qū)的路徑為失效路徑。文中所用參數(shù)如表1所示。
表1 參數(shù)列表
網(wǎng)絡(luò)初始化階段主要是為了確定網(wǎng)絡(luò)中節(jié)點(diǎn)位置和節(jié)點(diǎn)到基站的最小跳數(shù)。每個(gè)節(jié)點(diǎn)都有自己的標(biāo)識(shí)標(biāo)簽,即節(jié)點(diǎn)ID,并將每個(gè)節(jié)點(diǎn)設(shè)置一個(gè)Flag標(biāo)志,初始為False?;竟?jié)點(diǎn)在全網(wǎng)范圍內(nèi)廣播消息BM={ID,Coord,Sink_Hop},Coord為節(jié)點(diǎn)位置坐標(biāo),Sink_Hop為節(jié)點(diǎn)到基站的最小跳數(shù),初始設(shè)置為0,若節(jié)點(diǎn)首次接收到消息BM則將Sink_Hop加1,并記錄發(fā)送者的ID,Coord,Sink_Hop,更新消息BM并廣播給鄰居節(jié)點(diǎn)。鄰居節(jié)點(diǎn)重復(fù)此過程,直到所有節(jié)點(diǎn)都接收到消息。初始化后,每個(gè)節(jié)點(diǎn)都能將Sink_Hop小于本節(jié)點(diǎn)Sink_Hop的鄰居節(jié)點(diǎn)放到u.parent中。
圖1為文中改進(jìn)路由協(xié)議的過程,其中S為源節(jié)點(diǎn),B為基站,Tr為過渡節(jié)點(diǎn),p為幻影節(jié)點(diǎn),圖中所示陰影部分為幻影節(jié)點(diǎn)分布區(qū)域。
圖1 改進(jìn)路由協(xié)議過程
2.2.1 隨機(jī)跳階段
當(dāng)網(wǎng)絡(luò)中的某一個(gè)節(jié)點(diǎn)稱為源節(jié)點(diǎn)時(shí),源節(jié)點(diǎn)與基站相同進(jìn)行有限洪泛,將到基站跳數(shù)與源節(jié)點(diǎn)到基站跳數(shù)相同的節(jié)點(diǎn)放到節(jié)點(diǎn)u.equal中,并為每個(gè)節(jié)點(diǎn)設(shè)置一個(gè)選擇標(biāo)志Select,初始為0,同時(shí)設(shè)置可視區(qū)內(nèi)節(jié)點(diǎn)的選擇標(biāo)志Vi_select為0。
源到過渡節(jié)點(diǎn)的路由過程:源節(jié)點(diǎn)從其同跳集u.equal中的鄰居節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)為轉(zhuǎn)發(fā)節(jié)點(diǎn),并將Select標(biāo)志賦值為1;轉(zhuǎn)發(fā)節(jié)點(diǎn)與源節(jié)點(diǎn)相同,依次從u.equal集中的鄰居節(jié)點(diǎn)中隨機(jī)選擇轉(zhuǎn)發(fā)節(jié)點(diǎn),并判斷Select標(biāo)志是否為0,是則選擇本節(jié)點(diǎn)為下一跳節(jié)點(diǎn),并將Select標(biāo)志賦值為1;否則重新選擇,設(shè)置跳數(shù)h,每經(jīng)過一跳令h=h-1,直到h為0,此時(shí)到達(dá)的節(jié)點(diǎn)稱為過渡節(jié)點(diǎn)。若沒有找到滿足上述條件的節(jié)點(diǎn)或者滿足條件的節(jié)點(diǎn)選擇完畢,可以選擇鄰居節(jié)點(diǎn)中到基站的跳數(shù)與源節(jié)點(diǎn)到基站跳數(shù)相差為1的節(jié)點(diǎn),繼續(xù)選擇,直到h為0。
2.2.2 偽正態(tài)分布路由階段
過渡節(jié)點(diǎn)與基站廣播消息相同,通過有限洪泛廣播消息SM={ID,Coord,Trans_Hop},ID和Coord與之前相同,Trans_Hop表示節(jié)點(diǎn)到過渡節(jié)點(diǎn)的最小跳數(shù),初始為0,每達(dá)到一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)加1,直到ρdmin,每個(gè)節(jié)點(diǎn)將Trans_Hop值大于本節(jié)點(diǎn)Trans_Hop的鄰居節(jié)點(diǎn)加入到u.setTrans中。
偽正態(tài)分布路由階段,設(shè)置跳數(shù)dps,每次從u.setTrans中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)且令dps=dps-1,直到dps為0,此時(shí)到達(dá)的節(jié)點(diǎn)稱為幻影節(jié)點(diǎn)。偽正態(tài)分布路由階段保證了每一跳都是向著遠(yuǎn)離過渡節(jié)點(diǎn)的方向進(jìn)行。
概率轉(zhuǎn)發(fā)路由階段,以最小跳數(shù)傳輸?shù)交?,從父?jié)點(diǎn)集中選擇下一跳節(jié)點(diǎn),并在選擇下一跳節(jié)點(diǎn)時(shí)首先檢查節(jié)點(diǎn)Vi_select標(biāo)志,避開可視區(qū)節(jié)點(diǎn),然后再檢查節(jié)點(diǎn)Flag標(biāo)志,當(dāng)Flag為False時(shí)可以作為轉(zhuǎn)發(fā)節(jié)點(diǎn),并轉(zhuǎn)換為True,否則,重新選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)且將Flag標(biāo)志轉(zhuǎn)換Flag標(biāo)志為False。
概率轉(zhuǎn)發(fā)路由盡可能快地將數(shù)據(jù)包傳輸?shù)交静⒆钚』窂街丿B。
文中采用MATLAB 7.0對PNDBPR算法和文中算法進(jìn)行仿真分析。在1 000 m×1 000 m的環(huán)境中均勻部署10 000個(gè)傳感器節(jié)點(diǎn),節(jié)點(diǎn)通信半徑為15 m,正態(tài)分布參數(shù)σ=1。
安全時(shí)間定義為源節(jié)點(diǎn)被攻擊者捕獲前發(fā)送的數(shù)據(jù)包的數(shù)量[14]。首先設(shè)置ρ=2,dmin=2,r=1,分別選取不同位置的10個(gè)源節(jié)點(diǎn),每次發(fā)送1 500個(gè)數(shù)據(jù)包,求出安全時(shí)間。重復(fù)反追蹤實(shí)驗(yàn)100次,獲得平均安全周期如圖2(a)所示。再設(shè)置H=30,ρ=2,r=1,分別選擇不同dmin,每次發(fā)送1 500個(gè)數(shù)據(jù)包,求出安全時(shí)間,如圖2(b)所示。
(a)不同源距離基站的跳數(shù)對應(yīng)的安全時(shí)間
(b)不同dmin對應(yīng)的安全時(shí)間
圖2 安全時(shí)間
由圖2可以看出,文中改進(jìn)路由協(xié)議比改進(jìn)之前安全性有所提高。由圖2(a)知,文中路由協(xié)議的平均安全周期平均增加了54.55%,而且隨著H的增加,安全時(shí)間也在增加,這是因?yàn)樵垂?jié)點(diǎn)距離基站越遠(yuǎn),對手逆追蹤找到源節(jié)點(diǎn)所需要的跳數(shù)越多,時(shí)間也就越長。由圖2(a)知,隨著幻影節(jié)點(diǎn)到過渡節(jié)點(diǎn)最小跳數(shù)dmin的增加,安全時(shí)間也在增加,這是因?yàn)閐min越大,幻影節(jié)點(diǎn)分布的區(qū)域越大,從而產(chǎn)生的幻影節(jié)點(diǎn)越多,從而產(chǎn)生更多的路由路徑,使對手更難捕捉到源節(jié)點(diǎn)。
定義通信開銷為源節(jié)點(diǎn)發(fā)送一個(gè)數(shù)據(jù)包到達(dá)基站節(jié)點(diǎn)所需要的跳數(shù)。首先,設(shè)置H=60,分別令ρ=2和ρ=3,得到不同dmin對應(yīng)的通信開銷,如圖3(a)和(b)所示。再設(shè)置dmin=2,分別令ρ=2和ρ=3,得到不同源節(jié)點(diǎn)位置對應(yīng)的通信開銷,如圖3(c)和(d)所示。
圖3 通信開銷
由圖3可以看出,文中改進(jìn)路由協(xié)議比PNDBPR協(xié)議通信開銷有所增加,這是因?yàn)樵黾涌梢晠^(qū)之后,為了將幻影節(jié)點(diǎn)路由出可視區(qū)之外,增加了過渡節(jié)點(diǎn)。由圖3(a)和(b)可以看出,隨著幻影節(jié)點(diǎn)到過渡節(jié)點(diǎn)最小跳數(shù)dmin的增加,通信開銷也在增加,因?yàn)閐min越大,隨機(jī)跳階段路由路徑越長,幻影節(jié)點(diǎn)分布區(qū)域也越大。由圖3(c)和(d)知,源節(jié)點(diǎn)到基站的跳數(shù)H大,即源節(jié)點(diǎn)距離基站越遠(yuǎn)產(chǎn)生的路由路徑越長,通信開銷就越大。文中改進(jìn)協(xié)議比PNDBPR協(xié)議通信開銷在ρ=2時(shí)平均增加了15.93%左右,在ρ=3時(shí)平均增加了23.49%左右,這是因?yàn)棣言酱螽a(chǎn)生的幻影節(jié)點(diǎn)分布區(qū)域越大,路由路徑越長,通信開銷也越大。
由以上分析知,適當(dāng)參數(shù)ρ和幻影節(jié)點(diǎn)到過渡節(jié)點(diǎn)最小跳數(shù)dmin,可以調(diào)節(jié)安全性能和通信開銷之間的平衡。當(dāng)需要較高安全性能時(shí),可以適當(dāng)犧牲通信開銷增加節(jié)點(diǎn)的安全性。若網(wǎng)絡(luò)對安全性要求不高,可以適當(dāng)減少通信開銷以節(jié)省網(wǎng)絡(luò)能量。
對基于偽正態(tài)分布的無線傳感器網(wǎng)絡(luò)幻象路由的源位置隱私保護(hù)策略進(jìn)行了改進(jìn),考慮了更強(qiáng)攻擊者的可視區(qū)問題和具有方向攻擊性的攻擊者,并避免了失效路徑的產(chǎn)生,提高了源節(jié)點(diǎn)位置的安全性。如何進(jìn)一步減少通信開銷,在安全性能和通信開銷之間進(jìn)行權(quán)衡選擇將是下一步的研究方向。