劉敬坡,劉朝暉,丁 琳
(南華大學(xué) 計(jì)算機(jī)學(xué)院,湖南 衡陽(yáng) 421001)
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)在現(xiàn)實(shí)生活中的應(yīng)用越來(lái)越多。一般情況下,無(wú)線(xiàn)傳感器網(wǎng)絡(luò)是由基站(Sink節(jié)點(diǎn))和普通傳感器節(jié)點(diǎn)組成,廣泛應(yīng)用于智能家居[1]、國(guó)防軍事[2]、公共事業(yè)[3]、環(huán)境監(jiān)測(cè)[4]、醫(yī)療衛(wèi)生[5]、農(nóng)業(yè)生產(chǎn)[6]等領(lǐng)域,進(jìn)行目標(biāo)監(jiān)測(cè)和信息采集,尤其是在動(dòng)物監(jiān)測(cè)和軍事上。在軍事上,將傳感器網(wǎng)絡(luò)部署到戰(zhàn)爭(zhēng)區(qū)域,能夠用來(lái)監(jiān)控軍隊(duì)的行進(jìn)駐扎;在動(dòng)物監(jiān)測(cè)上,將傳感器網(wǎng)絡(luò)部署到自然保護(hù)區(qū)或者動(dòng)物的棲息地,能監(jiān)測(cè)到動(dòng)物的運(yùn)動(dòng)規(guī)律和生活習(xí)慣等[7]。當(dāng)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)應(yīng)用到上述場(chǎng)景時(shí),其源節(jié)點(diǎn)的位置信息將會(huì)變得非常敏感。此時(shí)源節(jié)點(diǎn)與士兵和監(jiān)測(cè)的動(dòng)物相聯(lián)系,當(dāng)源節(jié)點(diǎn)位置暴露時(shí),所聯(lián)系的對(duì)象也將受到威脅。因此對(duì)源節(jié)點(diǎn)位置信息的保護(hù)是一個(gè)值得研究的問(wèn)題。
針對(duì)攻擊者能力的不同,可將攻擊者分為全局流量攻擊者和局部流量攻擊者[8]。全局流量攻擊者通過(guò)在網(wǎng)絡(luò)中部署自己的無(wú)線(xiàn)網(wǎng)絡(luò)等手段,監(jiān)測(cè)正常網(wǎng)絡(luò)中的流量信息,進(jìn)而分析出源節(jié)點(diǎn)所在位置。局部流量攻擊者相較于全局流量攻擊者,其流量監(jiān)測(cè)能力相對(duì)較弱,只能監(jiān)測(cè)一定范圍內(nèi)的流量信息,具有此種攻擊能力的攻擊者一般通過(guò)反向、逐跳追蹤的方式來(lái)接近源節(jié)點(diǎn),進(jìn)而確定源節(jié)點(diǎn)的位置[9]。文中針對(duì)抵御局部流量攻擊,提出一種保護(hù)源節(jié)點(diǎn)位置隱私的方案。
在無(wú)線(xiàn)傳感器傳輸數(shù)據(jù)的過(guò)程中,采用無(wú)線(xiàn)、多跳的方式將數(shù)據(jù)從源節(jié)點(diǎn)傳輸?shù)交竟?jié)點(diǎn)。攻擊者即使不能破解加密信息,也可以根據(jù)數(shù)據(jù)包的來(lái)源逐跳地追蹤到源節(jié)點(diǎn)的位置[10]。針對(duì)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中的源節(jié)點(diǎn)的位置隱私保護(hù),許多研究者提出了很多方法。
Ozturk等人首次提出了無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中源節(jié)點(diǎn)位置隱私保護(hù)的問(wèn)題,并針對(duì)此問(wèn)題提出了基于幻影節(jié)點(diǎn)的路由協(xié)議[10]。通過(guò)隨機(jī)游走h(yuǎn)跳的方式選擇幻影節(jié)點(diǎn),在一定程度上保護(hù)了源節(jié)點(diǎn)的位置隱私。隨后Kamat等人[11]提出了“熊貓-獵人博弈”模型,具體化了源節(jié)點(diǎn)位置隱私保護(hù)問(wèn)題,簡(jiǎn)化了研究過(guò)程。然而,隨機(jī)游走的方式,并不能保證幻影節(jié)點(diǎn)與源節(jié)點(diǎn)的距離足夠遠(yuǎn),不能很好地保護(hù)源節(jié)點(diǎn)位置隱私。為此,文獻(xiàn)[12-13]提出了有向隨機(jī)游走策略,使隨機(jī)游走始終朝著遠(yuǎn)離源節(jié)點(diǎn)的方向。但陳娟等人在文獻(xiàn)[14]中證明了以鄰居節(jié)點(diǎn)距離Sink節(jié)點(diǎn)跳數(shù)進(jìn)行的有向隨機(jī)游走的方式產(chǎn)生的幻影節(jié)點(diǎn)會(huì)局限在某些區(qū)域,不能達(dá)到幻影節(jié)點(diǎn)地理位置多樣性的目的。因此提出了基于源節(jié)點(diǎn)有限洪泛的源節(jié)點(diǎn)位置隱私保護(hù)協(xié)議PUSBRF。而白樂(lè)強(qiáng)等在文獻(xiàn)[15]中提出了基于節(jié)點(diǎn)距離的源位置隱私保護(hù)算法,使幻影節(jié)點(diǎn)遠(yuǎn)離源節(jié)點(diǎn)且具有地理位置的多樣性,取得了比PUSBRF協(xié)議更好的源位置隱私保護(hù)性能,但卻增加了更多的能耗。
為了應(yīng)對(duì)具有更強(qiáng)視覺(jué)的攻擊者,文獻(xiàn)[16]首次提出了可視區(qū)的概念。當(dāng)攻擊者追蹤數(shù)據(jù)包的過(guò)程中進(jìn)入到源節(jié)點(diǎn)可視區(qū)范圍內(nèi)時(shí),就表示源節(jié)點(diǎn)已經(jīng)暴露。而穿過(guò)可視區(qū)的最短路由路徑被定義為失效路徑,會(huì)降低源節(jié)點(diǎn)的安全時(shí)間。為了避開(kāi)源節(jié)點(diǎn)可視區(qū),文獻(xiàn)[16]提出了基于角度的源節(jié)點(diǎn)位置隱私保護(hù)協(xié)議,有效降低了最短路由路徑穿過(guò)可視區(qū)的概率,但并不能完全避免這一問(wèn)題。陳娟等在文獻(xiàn)[14]中也提出了避開(kāi)可視區(qū)的EPUSBRF協(xié)議,這些改進(jìn)方法較大地提高了安全性,然而源節(jié)點(diǎn)的有限洪泛卻帶來(lái)了能量消耗的大量增加。為了平衡隱私保護(hù)和能耗,劉學(xué)軍等[17]提出了基于最小能耗路由的源位置隱私保護(hù)協(xié)議,以到基站節(jié)點(diǎn)的最小能耗值劃分近、遠(yuǎn)節(jié)點(diǎn)集合,有效控制了網(wǎng)絡(luò)能耗。陳宜等在文獻(xiàn)[17]中提出了一種基于最短距離路由的改進(jìn)算法,延長(zhǎng)了源節(jié)點(diǎn)的安全時(shí)間,但網(wǎng)絡(luò)能耗仍是較大。
然而現(xiàn)有的很多策略,路由路徑并不分散,數(shù)據(jù)包被限定在源節(jié)點(diǎn)與Sink節(jié)點(diǎn)之間較小的區(qū)域內(nèi),而且重復(fù)使用的路由路徑容易造成熱區(qū)現(xiàn)象,甚至造成網(wǎng)絡(luò)能量空洞,減少網(wǎng)絡(luò)壽命,降低源位置隱私保護(hù)的性能[18]。而且隨機(jī)游走的方式會(huì)選擇能量較少的節(jié)點(diǎn)作為路由節(jié)點(diǎn),會(huì)加快節(jié)點(diǎn)的死亡。
針對(duì)以上問(wèn)題,為了更加有效地延長(zhǎng)源節(jié)點(diǎn)安全時(shí)間,增強(qiáng)源節(jié)點(diǎn)位置隱私保護(hù)能力,文中提出了一種基于距離和節(jié)點(diǎn)能量的源節(jié)點(diǎn)隱私保護(hù)方案(SLPDNE)。在此方案中,在源節(jié)點(diǎn)將數(shù)據(jù)包發(fā)送給幻影節(jié)點(diǎn)的過(guò)程中,綜合考慮鄰居節(jié)點(diǎn)與幻影節(jié)點(diǎn)之間的距離和鄰居節(jié)點(diǎn)的剩余能量,選擇節(jié)點(diǎn)能量充足且與幻影節(jié)點(diǎn)距離較近的節(jié)點(diǎn)作為下一跳路由節(jié)點(diǎn),形成分散路由,使得路由路徑不局限于某一區(qū)域。
為了便于研究和分析,文中采用的系統(tǒng)模型參考“熊貓-獵人博弈”模型[11],節(jié)點(diǎn)均勻地分布在監(jiān)控區(qū)域,用來(lái)監(jiān)視目標(biāo)(即熊貓)的位置活動(dòng)等信息。當(dāng)目標(biāo)進(jìn)入到節(jié)點(diǎn)的監(jiān)測(cè)范圍時(shí),離目標(biāo)最近的節(jié)點(diǎn)將作為源節(jié)點(diǎn),把采集到的數(shù)據(jù)周期性發(fā)送給Sink節(jié)點(diǎn)。攻擊者(即獵人)可通過(guò)反向、逐跳追蹤數(shù)據(jù)包的方式,最終定位源節(jié)點(diǎn)的位置并將熊貓捕獲。所以文中方案的目的是延長(zhǎng)攻擊者捕獲到源節(jié)點(diǎn)位置的時(shí)間,即延長(zhǎng)源節(jié)點(diǎn)安全時(shí)間,從而達(dá)到保護(hù)監(jiān)測(cè)目標(biāo)(熊貓)的目的。
在采用的網(wǎng)絡(luò)模型中,節(jié)點(diǎn)隨機(jī)均勻分布在網(wǎng)絡(luò)中,當(dāng)網(wǎng)絡(luò)部署完成后,節(jié)點(diǎn)能夠通過(guò)三角定位算法等獲取到自身在網(wǎng)絡(luò)中的相對(duì)位置。參考文獻(xiàn)[15,17]中的網(wǎng)絡(luò)模型,現(xiàn)對(duì)網(wǎng)絡(luò)作出如下假設(shè):
①傳感器節(jié)點(diǎn)是靜態(tài)的,即節(jié)點(diǎn)一旦布置在網(wǎng)絡(luò)中,其位置就不再變化;
②節(jié)點(diǎn)的通信和感知范圍有限,是以其自身為圓心,以通信距離為半徑的圓形區(qū)域,通信半徑為d。節(jié)點(diǎn)之間通過(guò)單跳或多跳的方式進(jìn)行無(wú)線(xiàn)通信;
③Sink節(jié)點(diǎn)與每個(gè)傳感器節(jié)點(diǎn)共享密鑰。數(shù)據(jù)包都被很好地加密。
根據(jù)已有的追蹤策略,局部流量攻擊者可分為謹(jǐn)慎攻擊者和耐心攻擊者。文獻(xiàn)[11]的研究表明,耐心攻擊者更具威脅性,因此文中設(shè)定攻擊模型采用耐心攻擊者模型。在初始狀態(tài)下,攻擊者位于Sink節(jié)點(diǎn),當(dāng)攻擊者接收到數(shù)據(jù)包時(shí),攻擊者能用自身配備的無(wú)線(xiàn)信號(hào)定位裝置等設(shè)備定位到發(fā)送數(shù)據(jù)包的節(jié)點(diǎn),并迅速移動(dòng)到此節(jié)點(diǎn)。在移動(dòng)過(guò)程中攻擊者忽略掉其他節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包。然后攻擊者一直在此節(jié)點(diǎn)等待,直到攻擊者接受到下一個(gè)數(shù)據(jù)包,以此逐跳接近并捕獲源節(jié)點(diǎn)。并且耐心攻擊者還具有以下特點(diǎn):
①攻擊者的硬件設(shè)備優(yōu)良,具有足夠的計(jì)算能力、數(shù)據(jù)存儲(chǔ)能力、能源等;
②攻擊者只具有局部流量監(jiān)聽(tīng)能力,不會(huì)主動(dòng)攻擊網(wǎng)絡(luò);
③攻擊者能在源節(jié)點(diǎn)可視區(qū)范圍內(nèi)發(fā)現(xiàn)并捕獲源節(jié)點(diǎn)。
文中提出的基于距離和節(jié)點(diǎn)能量的源節(jié)點(diǎn)位置隱私保護(hù)方案SLPDNE可以分為三個(gè)階段:網(wǎng)絡(luò)初始化階段、發(fā)散路由階段、最短路徑路由階段。下面將分別對(duì)這三個(gè)階段的實(shí)施策略進(jìn)行詳細(xì)描述。
用到的符號(hào)含義如表1所示。
表1 符 號(hào)
在網(wǎng)絡(luò)初始化階段,主要是將Sink節(jié)點(diǎn)的信息廣播到全網(wǎng)絡(luò),并獲得網(wǎng)絡(luò)節(jié)點(diǎn)到Sink節(jié)點(diǎn)的跳數(shù)信息。
當(dāng)網(wǎng)絡(luò)建立之后,Sink節(jié)點(diǎn)發(fā)送廣播信息。此信息包括Sink節(jié)點(diǎn)信息和距離Sink節(jié)點(diǎn)的跳數(shù)信息。此跳數(shù)信息hopcount初始化為0。Sink節(jié)點(diǎn)的鄰居節(jié)點(diǎn)接收到此廣播信息后,將Sink節(jié)點(diǎn)的位置信息保存,而且將hopcount加1,即此節(jié)點(diǎn)距離Sink節(jié)點(diǎn)的跳數(shù)信息。其鄰居節(jié)點(diǎn)繼續(xù)廣播此信息,其中的hopcount變成此鄰居節(jié)點(diǎn)的最小跳數(shù)信息H,再加上此節(jié)點(diǎn)的剩余能量信息和位置信息。這樣一直到整個(gè)網(wǎng)絡(luò)的所有節(jié)點(diǎn)都能獲取到Sink節(jié)點(diǎn)的位置信息和距離Sink節(jié)點(diǎn)的跳數(shù)信息。而且還有其鄰居節(jié)點(diǎn)的能量信息和距離Sink節(jié)點(diǎn)跳數(shù)信息。
當(dāng)Sink節(jié)點(diǎn)洪泛過(guò)程結(jié)束后,各個(gè)節(jié)點(diǎn)將自身的信息發(fā)送給Sink節(jié)點(diǎn),這樣Sink節(jié)點(diǎn)就存儲(chǔ)了所有節(jié)點(diǎn)的信息。在之后的源節(jié)點(diǎn)發(fā)送消息給Sink節(jié)點(diǎn)時(shí),只需發(fā)送ID信息,不用包含具體位置信息。
在幻影節(jié)點(diǎn)路由中重要的一點(diǎn)是產(chǎn)生幻影節(jié)點(diǎn),使幻影節(jié)點(diǎn)均勻分布在網(wǎng)絡(luò)中,因此在此方案中,幻影節(jié)點(diǎn)是隨機(jī)地在網(wǎng)絡(luò)中產(chǎn)生,而且引入源節(jié)點(diǎn)的可視區(qū)的概念。
圖1 幻影節(jié)點(diǎn)的選擇
如圖1所示,為了避開(kāi)源節(jié)點(diǎn)的可視區(qū),避免產(chǎn)生“失效路徑”,幻影節(jié)點(diǎn)的產(chǎn)生需要滿(mǎn)足以下的條件:
β>θ
(1)
α>θ
(2)
其中:
(3)
(4)
(5)
在選定了幻影節(jié)點(diǎn)之后,源節(jié)點(diǎn)會(huì)依據(jù)分散路由的方式先發(fā)送消息給幻影節(jié)點(diǎn)。
當(dāng)目標(biāo)進(jìn)入到節(jié)點(diǎn)的監(jiān)測(cè)范圍時(shí),距離目標(biāo)最近的節(jié)點(diǎn)成為源節(jié)點(diǎn),采集目標(biāo)的信息后以數(shù)據(jù)包的方式周期性地發(fā)送給Sink節(jié)點(diǎn)。
在分散路由階段,首先源節(jié)點(diǎn)根據(jù)3.2節(jié)所描述的幻影節(jié)點(diǎn)的選擇方式,隨機(jī)產(chǎn)生一個(gè)幻影節(jié)點(diǎn)位置p;源節(jié)點(diǎn)選擇下一跳路由節(jié)點(diǎn)的選擇過(guò)程如下:
①計(jì)算每個(gè)鄰居節(jié)點(diǎn)到幻影節(jié)點(diǎn)比自身到幻影節(jié)點(diǎn)減少的距離并將結(jié)果進(jìn)行歸一化處理,計(jì)算過(guò)程如式(7)所示;
②將鄰居節(jié)點(diǎn)的剩余能量歸一化,計(jì)算過(guò)程如式(8)所示;
③按照權(quán)重β計(jì)算每個(gè)節(jié)點(diǎn)①、②結(jié)果的和,計(jì)算過(guò)程如式(6)所示;
④根據(jù)③的結(jié)果選擇計(jì)算結(jié)果值最大的鄰居節(jié)點(diǎn)作為下一跳路由節(jié)點(diǎn)。
下一跳節(jié)點(diǎn)也以此選擇過(guò)程繼續(xù)選擇路由節(jié)點(diǎn)并轉(zhuǎn)發(fā)數(shù)據(jù)包,直到某一節(jié)點(diǎn)與幻影節(jié)點(diǎn)之間的距離比其鄰居節(jié)點(diǎn)與幻影節(jié)點(diǎn)之間的距離都要小,此節(jié)點(diǎn)就作為幻影節(jié)點(diǎn)發(fā)送數(shù)據(jù)包給Sink節(jié)點(diǎn)。
(6)
(7)
(8)
其中ni是指當(dāng)前節(jié)點(diǎn),若當(dāng)前節(jié)點(diǎn)是源節(jié)點(diǎn)Source,則ni即是指源節(jié)點(diǎn)Source。
在式(6)中,β是式(8)的權(quán)重信息且β∈[0,1]。當(dāng)β=0時(shí),下一跳路由節(jié)點(diǎn)的選擇完全依據(jù)節(jié)點(diǎn)與幻影節(jié)點(diǎn)之間的距離信息,此時(shí)從源節(jié)點(diǎn)發(fā)送數(shù)據(jù)包到同一幻影節(jié)點(diǎn)將沿著一條固定的路由路徑轉(zhuǎn)發(fā)。當(dāng)β=1時(shí),下一跳路由節(jié)點(diǎn)的選擇完全依據(jù)節(jié)點(diǎn)能量信息,此時(shí)從源節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包會(huì)一直在能量多的節(jié)點(diǎn)之間轉(zhuǎn)發(fā),無(wú)法朝著幻影節(jié)點(diǎn)方向轉(zhuǎn)發(fā)。因此式(6)中考慮節(jié)點(diǎn)能量能使路由路徑分散;考慮節(jié)點(diǎn)與幻影節(jié)點(diǎn)之間的距離能使數(shù)據(jù)包在不產(chǎn)生環(huán)路的情況下,朝著幻影節(jié)點(diǎn)的方向轉(zhuǎn)發(fā)。
由于網(wǎng)絡(luò)中節(jié)點(diǎn)能量是在不斷變化的,且幻影節(jié)點(diǎn)每次的選擇也幾乎不會(huì)相同,因此同一個(gè)節(jié)點(diǎn)每次選擇的下一跳路由節(jié)點(diǎn)也幾乎不可能相同。這樣,路由路徑會(huì)相對(duì)分散,數(shù)據(jù)包每次轉(zhuǎn)發(fā)的路徑都不相同,使得攻擊者需要等待更多的時(shí)間才能接收到下一個(gè)數(shù)據(jù)包的到來(lái),延長(zhǎng)了源節(jié)點(diǎn)的安全時(shí)間。
在數(shù)據(jù)包轉(zhuǎn)發(fā)到幻影節(jié)點(diǎn)后,幻影節(jié)點(diǎn)按照最短路徑路由方式將數(shù)據(jù)包發(fā)送給Sink節(jié)點(diǎn)。在此階段,節(jié)點(diǎn)選擇比自己到基站節(jié)點(diǎn)跳數(shù)小的鄰居節(jié)點(diǎn)作為下一跳的節(jié)點(diǎn),直到數(shù)據(jù)傳輸?shù)交竟?jié)點(diǎn)。
在理論分析時(shí),將文中所提方案(SLPDNE)與文獻(xiàn)[17]所提算法和文獻(xiàn)[15]所提算法(ABOND)進(jìn)行對(duì)比分析。
在文中所提方案中,幻影節(jié)點(diǎn)是在整個(gè)網(wǎng)絡(luò)中隨機(jī)選擇,但同時(shí)為避免失效路徑的產(chǎn)生,產(chǎn)生的節(jié)點(diǎn)滿(mǎn)足式(1)、式(3)。如圖2所示,其中陰影部分是幻影節(jié)點(diǎn)范圍。
若網(wǎng)絡(luò)的范圍的半徑為RN,計(jì)算后,陰影部分面積為:
(9)
所以,文中所提方案中幻影節(jié)點(diǎn)的分布具有地理位置的多樣性的特點(diǎn)。
圖2 幻影節(jié)點(diǎn)范圍
文獻(xiàn)[17]中提出的算法得到的隨機(jī)幻影節(jié)點(diǎn)近似分布在以源節(jié)點(diǎn)Source為圓心,半徑為[h,hmax]的半環(huán)形區(qū)域內(nèi)。而文獻(xiàn)[15]中,ABOND算法在隨機(jī)hmin 而在文中方案,產(chǎn)生的幻影節(jié)點(diǎn)位置滿(mǎn)足式(1)、式(2),則路由路徑能夠很好地避開(kāi)源節(jié)點(diǎn)的可視區(qū),產(chǎn)生的幻影節(jié)點(diǎn)也能夠避開(kāi)Sink節(jié)點(diǎn)周?chē)秶6覕?shù)據(jù)包經(jīng)過(guò)幻影節(jié)點(diǎn)轉(zhuǎn)發(fā)的路由路徑也不會(huì)局限在網(wǎng)絡(luò)的某一較小區(qū)域內(nèi),而是產(chǎn)生更大范圍的路由路徑,從而增強(qiáng)了源節(jié)點(diǎn)位置隱私保護(hù)的性能。 在SLPDNE方案中,網(wǎng)絡(luò)中的通信開(kāi)銷(xiāo)有三部分:(1)Sink節(jié)點(diǎn)廣播信息開(kāi)銷(xiāo);(2)分散路由轉(zhuǎn)發(fā)信息開(kāi)銷(xiāo);(3)最小跳路由通信開(kāi)銷(xiāo)。在文獻(xiàn)[17]和ABOND算法中都會(huì)有Sink節(jié)點(diǎn)向全網(wǎng)廣播建立路由的過(guò)程,這一過(guò)程的通信開(kāi)銷(xiāo)此三者是基本相同的。 在將數(shù)據(jù)包從幻影節(jié)點(diǎn)傳輸?shù)絊ink節(jié)點(diǎn)階段,文中方案是使用最短路徑路由方式,不會(huì)引入額外的通信開(kāi)銷(xiāo)。文獻(xiàn)[15]提出的ABOND算法采用與文中算法相同的方式,因此也沒(méi)有引入額外的通信開(kāi)銷(xiāo)。而文獻(xiàn)[17]中采用了避開(kāi)源節(jié)點(diǎn)可視區(qū)的最短距離路由策略,相較于文中方案,會(huì)引入額外的通信開(kāi)銷(xiāo)。通信開(kāi)銷(xiāo)的增加,無(wú)疑將會(huì)增加能量的消耗。 SLPDNE方案在選擇下一跳路由節(jié)點(diǎn)時(shí)會(huì)選擇能量充足的節(jié)點(diǎn),這種方式會(huì)有效利用節(jié)點(diǎn)的剩余能量,一定程度上起到了平衡能耗的作用。 在此部分進(jìn)行參數(shù)β取值對(duì)所提方法性能的影響分析,并給出正確參數(shù)設(shè)置的指南。 (10) (11) 兩個(gè)值的差為: (12) 當(dāng)兩者的差值為0時(shí),β的值為: (13) 為了取得良好的仿真實(shí)驗(yàn)結(jié)果,便于實(shí)驗(yàn)結(jié)果的分析,在NS2仿真平臺(tái)下,對(duì)SLPDNE、ABOND和文獻(xiàn)[17]的算法進(jìn)行仿真實(shí)驗(yàn)?zāi)M,并從源節(jié)點(diǎn)安全時(shí)間、網(wǎng)絡(luò)節(jié)點(diǎn)平均能耗兩個(gè)方面對(duì)三種算法進(jìn)行比較。源節(jié)點(diǎn)安全時(shí)間可以定義為源節(jié)點(diǎn)發(fā)送第一個(gè)數(shù)據(jù)包到被攻擊者捕獲的時(shí)間內(nèi),Sink節(jié)點(diǎn)接收到的數(shù)據(jù)包的個(gè)數(shù)越大,表明在源節(jié)點(diǎn)被捕獲時(shí),Sink節(jié)點(diǎn)能接收到更多的數(shù)據(jù)包,源節(jié)點(diǎn)的安全時(shí)間越長(zhǎng),源節(jié)點(diǎn)位置隱私保護(hù)能力就越強(qiáng)。網(wǎng)絡(luò)節(jié)點(diǎn)平均能耗定義為源節(jié)點(diǎn)發(fā)送4 000個(gè)數(shù)據(jù)包后,網(wǎng)絡(luò)中節(jié)點(diǎn)平均發(fā)送的數(shù)據(jù)包數(shù),此數(shù)值越大就表示網(wǎng)絡(luò)中節(jié)點(diǎn)平均發(fā)送的數(shù)據(jù)包越多,網(wǎng)絡(luò)中消耗的能量也就越多。 文中的仿真實(shí)驗(yàn)環(huán)境與文獻(xiàn)[17]的仿真實(shí)驗(yàn)環(huán)境一致。在2 400 m*2 400 m的監(jiān)控區(qū)域內(nèi),均勻分布1 600個(gè)傳感器節(jié)點(diǎn)。為了實(shí)現(xiàn)節(jié)點(diǎn)的隨機(jī)均勻分布,在文中將監(jiān)控區(qū)域均勻分成60 m*60 m的1 600個(gè)網(wǎng)格,在初始時(shí),節(jié)點(diǎn)位于各個(gè)網(wǎng)格的中心點(diǎn),接著給這些節(jié)點(diǎn)的位置添加一個(gè)服從正態(tài)分布的隨機(jī)擾動(dòng)ε,且ε~N(μ,σ2)。在實(shí)驗(yàn)中設(shè)定μ=10,σ2=10?;竟?jié)點(diǎn)位于(1 200,2 400)的位置。設(shè)定每個(gè)傳感器節(jié)點(diǎn)的通信半徑R約為110 m,節(jié)點(diǎn)的可視區(qū)半徑r為330 m。在實(shí)驗(yàn)中源節(jié)點(diǎn)發(fā)送4 000個(gè)數(shù)據(jù)包。實(shí)驗(yàn)結(jié)果是20次仿真實(shí)驗(yàn)的平均值。 在文中方案中,為比較β在式(6)中的影響,設(shè)置β分別為0.5、0.4、0.3、0.2,源節(jié)點(diǎn)的安全時(shí)間如圖3所示。 圖3 β取不同值時(shí)的源節(jié)點(diǎn)安全時(shí)間對(duì)比 從圖中可以看出,當(dāng)β=0.3時(shí)源節(jié)點(diǎn)的安全時(shí)間較長(zhǎng),而當(dāng)β=0.4,0.2時(shí),源節(jié)點(diǎn)的安全時(shí)間會(huì)縮短。因此,當(dāng)β=0.3時(shí),源節(jié)點(diǎn)將會(huì)有較好的安全時(shí)間。 圖4 源節(jié)點(diǎn)安全時(shí)間對(duì)比 圖4比較了文中方案與其他兩種算法的源節(jié)點(diǎn)安全時(shí)間變化情況。其中SLPDNE取β=0.3,ABOND算法取隨機(jī)游走的跳數(shù)htra為[5,10],而k分別取k=5、k=10進(jìn)行實(shí)驗(yàn)。而文獻(xiàn)[17]的算法中有向隨機(jī)路由階段傳輸?shù)木嚯x值取[400,800]之間的隨機(jī)值。而各個(gè)算法的源節(jié)點(diǎn)安全時(shí)間如圖4所示。從圖4可以看出,SLPDNE擁有最長(zhǎng)的源節(jié)點(diǎn)安全時(shí)間,SLPDNE方案的源節(jié)點(diǎn)安全時(shí)間比文獻(xiàn)[17]算法的源節(jié)點(diǎn)安全時(shí)間平均提高了60.05%,比ABOND(k5)平均提高了195.54%,比ABOND(k10)平均提高了36.82%。這是因?yàn)榛糜肮?jié)點(diǎn)是在整個(gè)網(wǎng)絡(luò)區(qū)域進(jìn)行選擇,并不局限于源節(jié)點(diǎn)周?chē)哪承﹨^(qū)域。而且ABOND算法并沒(méi)有考慮源節(jié)點(diǎn)可視區(qū),導(dǎo)致ABOND算法出現(xiàn)源節(jié)點(diǎn)安全時(shí)間較短的問(wèn)題。 圖5是三種算法節(jié)點(diǎn)平均發(fā)送的數(shù)據(jù)包數(shù)對(duì)比。其中,SLPDNE方案比文獻(xiàn)[17]所提算法網(wǎng)絡(luò)節(jié)點(diǎn)平均能耗減少17.72%,比ABOND(k10)平均減少2.64%,比ABOND(k5)平均增加14.135%。 圖5 網(wǎng)絡(luò)節(jié)點(diǎn)平均能耗對(duì)比 從圖5可以看出,文獻(xiàn)[17]的網(wǎng)絡(luò)節(jié)點(diǎn)平均能耗最多,說(shuō)明它有最大的網(wǎng)絡(luò)能耗。這是因?yàn)樵谖墨I(xiàn)[17]的算法中,在每次數(shù)據(jù)包從源節(jié)點(diǎn)到Sink節(jié)點(diǎn)都要先遠(yuǎn)離Sink節(jié)點(diǎn)和源節(jié)點(diǎn),然后再傳輸?shù)絊ink節(jié)點(diǎn),造成每次數(shù)據(jù)傳輸都要多傳輸很多節(jié)點(diǎn)。而SLPDNE方案比ABOND(k5)的通信開(kāi)銷(xiāo)要稍高一些,這是因?yàn)锳BOND算法中在數(shù)據(jù)包從源節(jié)點(diǎn)傳輸?shù)交糜肮?jié)點(diǎn)階段與選取的參數(shù)k有關(guān),當(dāng)選擇的k較小時(shí),在此階段數(shù)據(jù)包傳輸?shù)木嚯x較短,則平均轉(zhuǎn)發(fā)數(shù)據(jù)包的數(shù)目將減少,但會(huì)縮短源節(jié)點(diǎn)的安全時(shí)間。結(jié)合圖4來(lái)看,SLPDNE的源節(jié)點(diǎn)安全時(shí)間要比ABOND(k5)平均提高195.54%,因此對(duì)比延長(zhǎng)的源節(jié)點(diǎn)安全時(shí)間,文中方案略微增加的能耗應(yīng)該是可以接受的。 提出了一種基于距離和節(jié)點(diǎn)能量的源位置隱私保護(hù)方案SLPDNE,產(chǎn)生分散路由,延長(zhǎng)源節(jié)點(diǎn)安全時(shí)間,增強(qiáng)源節(jié)點(diǎn)位置隱私保護(hù)能力。該方案借助節(jié)點(diǎn)的鄰居節(jié)點(diǎn)與幻影節(jié)點(diǎn)之間的距離和鄰居節(jié)點(diǎn)的剩余能量,選擇能量較為充足且距離幻影節(jié)點(diǎn)較近的節(jié)點(diǎn)作為下一跳路由節(jié)點(diǎn),使得數(shù)據(jù)包在傳輸過(guò)程中能夠沿著分散的路由路徑傳輸,能起到延長(zhǎng)源節(jié)點(diǎn)安全時(shí)間的作用。該方案與已有的源節(jié)點(diǎn)位置隱私保護(hù)方案相比較,在通信開(kāi)銷(xiāo)增加較少的情況下,能夠顯著延長(zhǎng)源節(jié)點(diǎn)安全時(shí)間,進(jìn)而增強(qiáng)了網(wǎng)絡(luò)源節(jié)點(diǎn)位置隱私保護(hù)能力。4.2 通信開(kāi)銷(xiāo)分析
4.3 參數(shù)分析
5 仿真實(shí)驗(yàn)
5.1 源節(jié)點(diǎn)安全時(shí)間
5.2 網(wǎng)絡(luò)節(jié)點(diǎn)平均能耗
6 結(jié)束語(yǔ)