苗春雨 陳麗娜 吳建軍 周家慶 馮旭杭
1(杭州安恒信息技術(shù)股份有限公司 杭州 310051)2(浙江師范大學(xué)網(wǎng)絡(luò)應(yīng)用安全研究中心 浙江金華 321004)
無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor networks, WSNs)是物聯(lián)網(wǎng)(Internet of things, IOT)的重要組成部分[1].節(jié)點(diǎn)定位技術(shù)則是WSN中重要的支撐技術(shù)之一,大量場(chǎng)景中缺少位置的感知數(shù)據(jù)是無(wú)意義的[2],且諸如基于地理位置的路由、拓?fù)淇刂坪凸?jié)點(diǎn)部署等技術(shù)均以節(jié)點(diǎn)的相對(duì)或絕對(duì)位置為基礎(chǔ)[3-4].學(xué)者們從不同的方法論角度出發(fā),提出了大量的WSN節(jié)點(diǎn)定位算法[5],這些算法通常由網(wǎng)絡(luò)中的信標(biāo)節(jié)點(diǎn)為普通節(jié)點(diǎn)的定位過(guò)程提供位置參考,以估算其絕對(duì)地理位置.最常見(jiàn)的節(jié)點(diǎn)定位技術(shù)分類(lèi)方法是按照定位過(guò)程是否需要測(cè)量節(jié)點(diǎn)間的距離分為測(cè)距(range-based)算法和非測(cè)距(range-free)算法2類(lèi)[6].在實(shí)際應(yīng)用場(chǎng)景中,信標(biāo)節(jié)點(diǎn)提供的位置參考并不總是可靠的[7],而傳統(tǒng)的定位算法不考慮信標(biāo)提供的位置參考信息可靠性問(wèn)題,導(dǎo)致眾多性能表現(xiàn)優(yōu)異的節(jié)點(diǎn)定位算法無(wú)法適用于信標(biāo)位置不可靠的場(chǎng)景[8].為解決位置不可靠的信標(biāo)節(jié)點(diǎn)帶來(lái)的定位精度下降導(dǎo)致網(wǎng)絡(luò)服務(wù)質(zhì)量降低的問(wèn)題,提出一種適用于2類(lèi)定位算法的輕量級(jí)信標(biāo)位置驗(yàn)證方法,作為底層框架(無(wú)須采集原定位算法所需的額外參數(shù),同時(shí)具有可重用性),對(duì)傳統(tǒng)定位算法提供不可靠信標(biāo)過(guò)濾服務(wù),以擴(kuò)展傳統(tǒng)算法的應(yīng)用范疇.據(jù)作者所知,在節(jié)點(diǎn)位置驗(yàn)證方面的已有工作,很少在縱向上將3類(lèi)不可靠信標(biāo)和橫向上的2種測(cè)距技術(shù)進(jìn)行統(tǒng)一考慮.
本文的主要貢獻(xiàn)有3方面:
1) 提出了一種適用于多種不可靠信標(biāo)節(jié)點(diǎn)共存的節(jié)點(diǎn)位置驗(yàn)證框架,為實(shí)現(xiàn)可靠的定位提供底層服務(wù);
2) 提出的框架支持測(cè)距和非測(cè)距2類(lèi)傳統(tǒng)節(jié)點(diǎn)位置算法,具有較好的普適性;
3) 節(jié)點(diǎn)可信定位框架利用了群智感知信譽(yù)模型,具有輕量級(jí)分布式的特點(diǎn),適合大規(guī)模的、計(jì)算能力有限的無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用場(chǎng)景.
針對(duì)信標(biāo)位置不可靠問(wèn)題展開(kāi)的WSN節(jié)點(diǎn)位置驗(yàn)證方法可分為2類(lèi):1)漂移信標(biāo)和惡意信標(biāo)方面的研究;2)針對(duì)定位過(guò)程的重放攻擊(以蟲(chóng)洞攻擊為代表)方面的研究.
以漂移信標(biāo)和惡意信標(biāo)為主要研究目標(biāo)的研究工作分為可容忍測(cè)距異常值的算法[9]及帶有可靠信標(biāo)選擇的定位算法[10].前者比較適用于存在測(cè)距信息干擾和信標(biāo)移動(dòng)距離較小的場(chǎng)景.這類(lèi)算法的主要思想是降低不可靠信標(biāo)的定位參考作用,但當(dāng)參考位置誤差較大時(shí),算法的定位精度嚴(yán)重下降.可靠信標(biāo)選擇即對(duì)位置不可靠的信標(biāo)進(jìn)行過(guò)濾,以排除其對(duì)定位過(guò)程的影響.文獻(xiàn)[11]提出一種可以應(yīng)用于任何測(cè)距技術(shù)的點(diǎn)對(duì)點(diǎn)位置驗(yàn)證算法,但需要配備GPS的節(jié)點(diǎn)作為校驗(yàn)節(jié)點(diǎn),文獻(xiàn)[12]也采用類(lèi)似的方法,由AP節(jié)點(diǎn)進(jìn)行集中式的節(jié)點(diǎn)位置校驗(yàn),以實(shí)現(xiàn)可信的定位.文獻(xiàn)[13]提出基于Huber損失函數(shù)的惡意信標(biāo)節(jié)點(diǎn)檢測(cè)算法,具有高效且輕量級(jí)的特點(diǎn),屬于可信的測(cè)距定位算法.He等人[14]則提出一種應(yīng)用于到達(dá)時(shí)間(time of arrival, TOA)測(cè)距技術(shù)的、可排除異常測(cè)距值的可信定位算法;而文獻(xiàn)[15]中提出的惡意信標(biāo)過(guò)濾機(jī)制也是基于TOA或到達(dá)時(shí)間差(time difference of arrival, TDOA)測(cè)距技術(shù),采用每個(gè)節(jié)點(diǎn)在自己的視角通過(guò)準(zhǔn)確地測(cè)距構(gòu)建局部坐標(biāo)一致集,通過(guò)對(duì)局部坐標(biāo)一致集的合并,排除惡意信標(biāo).而對(duì)接收信號(hào)強(qiáng)度指標(biāo)(received signal strength indication,RSSI)測(cè)距技術(shù),由于其測(cè)距本身的誤差,對(duì)可信定位算法的設(shè)計(jì)帶來(lái)更大的挑戰(zhàn).Kuo等人[16]提出的信標(biāo)移動(dòng)檢測(cè)算法(beacon movement detection, BMD),主要用來(lái)識(shí)別網(wǎng)絡(luò)中的部分位置發(fā)生被動(dòng)改變的信標(biāo)節(jié)點(diǎn).其思路為:在網(wǎng)絡(luò)中設(shè)置一個(gè)BMD引擎來(lái)收集全網(wǎng)絡(luò)的RSSI信息并進(jìn)行處理,在一定容錯(cuò)范圍內(nèi)能夠識(shí)別出信標(biāo)節(jié)點(diǎn)的位置是否已發(fā)生移動(dòng).但集中式的算法因其計(jì)算量較大,且在信息收集階段產(chǎn)生大量的通信開(kāi)銷(xiāo),不適用于由隨機(jī)撒播部署的網(wǎng)絡(luò)連通度較高、規(guī)模較大的WSN網(wǎng)絡(luò);也有一些集中式的算法,采用隱藏的位置校驗(yàn)節(jié)點(diǎn)對(duì)信標(biāo)位置進(jìn)行驗(yàn)證[17],由于需要額外的可信節(jié)點(diǎn)作為檢驗(yàn)者,導(dǎo)致其普適性不高.文獻(xiàn)[18-19]運(yùn)用圖論中的剛性理論作為節(jié)點(diǎn)間相互位置的基本原理,用于排除定位過(guò)程中的位置參考異常值,確保節(jié)點(diǎn)定位的可信性,但此類(lèi)方法運(yùn)算量較大,且剛性理論對(duì)節(jié)點(diǎn)間測(cè)距精度有很高的要求.Garg等人[20]采用識(shí)別和排除在節(jié)點(diǎn)定位算法收斂過(guò)程中提供了較大下降梯度的信標(biāo)節(jié)點(diǎn),提高定位結(jié)果的可信性,但由于算法只依賴(lài)信標(biāo)節(jié)點(diǎn),缺少對(duì)普通節(jié)點(diǎn)位置的參考,不太適用于信標(biāo)節(jié)點(diǎn)稀疏的WSN,且也存在計(jì)算開(kāi)銷(xiāo)較大的問(wèn)題.Ansari等人[21]也采用了相似的方法,并存在同樣的問(wèn)題.文獻(xiàn)[22]采用分布式的信譽(yù)模型設(shè)計(jì)可信定位算法,但對(duì)網(wǎng)絡(luò)的變化需要較長(zhǎng)的反應(yīng)時(shí)間.Wei等人[23]根據(jù)鄰居節(jié)點(diǎn)間的相互觀測(cè)信息建立了位置驗(yàn)證概率模型,并取得較好的效果,但也只適用基于測(cè)距的定位算法.文獻(xiàn)[24]運(yùn)用分布式的基于RSSI變化的鄰居節(jié)點(diǎn)評(píng)分機(jī)制來(lái)識(shí)別位置被動(dòng)改變的信標(biāo)節(jié)點(diǎn),但不能運(yùn)用于信標(biāo)節(jié)點(diǎn)被誘捕的情況.文獻(xiàn)[25]則通過(guò)凸優(yōu)化方法,對(duì)主動(dòng)提供不可信位置參考的信標(biāo)進(jìn)行識(shí)別,但也存在集中運(yùn)算導(dǎo)致計(jì)算量過(guò)大的問(wèn)題.
而另外一些工作則將可信定位的重點(diǎn)放在抵抗攻擊的安全定位方面,最典型的是抗蟲(chóng)洞攻擊的定位算法,代表了信標(biāo)節(jié)點(diǎn)信息被重放的外部攻擊類(lèi)型(惡意節(jié)點(diǎn)屬內(nèi)部攻擊)[26].文獻(xiàn)[27-28]對(duì)WSN節(jié)點(diǎn)定位方面的安全威脅和安全算法進(jìn)行了綜述.文獻(xiàn)[26]對(duì)常見(jiàn)的攻擊方法進(jìn)行了分類(lèi),并將現(xiàn)有的安全定位算法進(jìn)行分類(lèi)比較;而文獻(xiàn)[27]則重點(diǎn)描述了威脅的類(lèi)型;文獻(xiàn)[28]不但將安全定位算法進(jìn)行了綜述,同時(shí)將節(jié)點(diǎn)位置驗(yàn)證的方法進(jìn)行了介紹.Lazos等人[29]的工作分析了蟲(chóng)洞攻擊、女巫攻擊和捕獲信標(biāo)節(jié)點(diǎn)的攻擊對(duì)定位過(guò)程的影響,采用方向天線和加密等技術(shù)提供安全可信的非測(cè)距定位方法.文獻(xiàn)[30]提出的安全定位算法則適用于基于測(cè)距的定位場(chǎng)景,能夠通過(guò)距離約束完成惡意節(jié)點(diǎn)檢測(cè)和抵抗蟲(chóng)洞攻擊,但屬于集中式的算法.Dong等人[31]的工作則闡明由于蟲(chóng)洞攻擊改變局部的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),則可利用拓?fù)浣Y(jié)構(gòu)信息檢測(cè)蟲(chóng)洞攻擊;而文獻(xiàn)[32]的工作與其類(lèi)似,利用網(wǎng)絡(luò)連通度的一致性檢驗(yàn)來(lái)檢測(cè)蟲(chóng)洞攻擊.Che等人[33]針對(duì)安全定位(主要考慮蟲(chóng)洞攻擊引起的信標(biāo)重放問(wèn)題)做了連續(xù)的工作,包括提出利用節(jié)點(diǎn)間的距離約束抵抗蟲(chóng)洞攻擊,屬于基于測(cè)距技術(shù)的安全定位算法.在文獻(xiàn)[34-35]中分別提出利用節(jié)點(diǎn)間的3種數(shù)據(jù)傳輸特征:1)發(fā)送數(shù)據(jù)自我排斥特性;2)鄰居數(shù)據(jù)接收唯一性;3)傳輸距離約束,進(jìn)行測(cè)距定位技術(shù)下和非測(cè)距定位技術(shù)下的蟲(chóng)洞攻擊檢測(cè)算法.Bao等人[36]則運(yùn)用證據(jù)理論進(jìn)行節(jié)點(diǎn)可信值計(jì)算,采用博弈論算法按節(jié)點(diǎn)可信等級(jí)進(jìn)行分類(lèi),排除對(duì)定位影響較大的惡意信標(biāo)節(jié)點(diǎn),以抵抗信標(biāo)重放攻擊提高定位精度.
目前的研究工作雖然在非測(cè)距WSN節(jié)點(diǎn)定位算法的信標(biāo)位置驗(yàn)證問(wèn)題上取得的進(jìn)展較少,還是對(duì)解決由信標(biāo)位置不可靠引起的定位質(zhì)量下降問(wèn)題提供了借鑒.存在3方面問(wèn)題:1)研究成果無(wú)法同時(shí)適用于基于測(cè)距和非測(cè)距的定位算法,不具備通用性;2)集中式算法能夠提供全局視野,但不符合大規(guī)模WSN分布式計(jì)算的需求;3)現(xiàn)存的大量節(jié)點(diǎn)位置驗(yàn)證方法均只針對(duì)某種特定場(chǎng)景進(jìn)行研究,可謂各自為戰(zhàn),并沒(méi)有將存在3類(lèi)不可信的信標(biāo)進(jìn)行統(tǒng)一考慮和解決,因此,提出的方法缺少普適性.
WSN部署到特定場(chǎng)景后,出于成本的考慮,往往只給部分節(jié)點(diǎn)配備GPS或預(yù)先定義其位置,使其成為信標(biāo),其他節(jié)點(diǎn)依靠信標(biāo)廣播的位置作為參考,通過(guò)特定的算法估算自身位置.因節(jié)點(diǎn)位置可能因?yàn)橥饨缭蚨l(fā)生改變,在每個(gè)時(shí)間周期T重新定位,即可完成位置校準(zhǔn),但在校準(zhǔn)過(guò)程中,若信標(biāo)提供的位置參考是不可靠的,則定位質(zhì)量會(huì)嚴(yán)重降低.我們定義3類(lèi)位置不可靠的信標(biāo).
定義1.漂移信標(biāo).在某些應(yīng)用場(chǎng)景中,網(wǎng)絡(luò)部署并完成節(jié)點(diǎn)定位后可能發(fā)生節(jié)點(diǎn)自身位置發(fā)生被動(dòng)的改變(如被動(dòng)物影響等),這種現(xiàn)象叫作節(jié)點(diǎn)漂移,發(fā)生漂移的信標(biāo)稱(chēng)為漂移信標(biāo).
定義2.虛假信標(biāo).信標(biāo)節(jié)點(diǎn)廣播的Beacon信息被通過(guò)某種方式在網(wǎng)絡(luò)的另外區(qū)域重放,使得原來(lái)不能接收到該Beacon信標(biāo)的節(jié)點(diǎn)誤以為有1個(gè)可用信標(biāo),這種被信息重放影響而多出來(lái)的信標(biāo)節(jié)點(diǎn)稱(chēng)為虛假信標(biāo).
定義3.惡意信標(biāo).信標(biāo)節(jié)點(diǎn)因?yàn)閮?nèi)部軟件錯(cuò)誤或硬件故障,造成其廣播的位置參考信息與其實(shí)際位置信息不一致;或在敵對(duì)環(huán)境中(如戰(zhàn)場(chǎng)環(huán)境),某些信標(biāo)節(jié)點(diǎn)可能被敵方捕獲,而故意廣播虛假的位置參考信息.這種主動(dòng)或被動(dòng)地提供錯(cuò)誤位置信息的信標(biāo)節(jié)點(diǎn),均被認(rèn)為是惡意信標(biāo).
定義3的場(chǎng)景可由蟲(chóng)洞攻擊而出現(xiàn),如圖1所示.圖1中A1和A2為2個(gè)信標(biāo)節(jié)點(diǎn),相互間的距離大于通信半徑,S1和S4處于A1的通信范圍之內(nèi),而S2,S3處于A2的通信范圍之內(nèi);通過(guò)S1與S2這2個(gè)節(jié)點(diǎn)實(shí)施蟲(chóng)洞攻擊,將各自聽(tīng)到的Beacon信息通過(guò)特殊的鏈路(可以是有線連接[37])雙向重放,使得S3和S4分別收到來(lái)自A1和A2的Beacon信息,使得各自的通信范圍內(nèi)存在1個(gè)虛假信標(biāo)節(jié)點(diǎn).
Fig. 1 False beacon suffered from worm-hole attack圖1 受蟲(chóng)洞攻擊而出現(xiàn)的虛假信標(biāo)
可見(jiàn),漂移信標(biāo)、惡意信標(biāo)和虛假信標(biāo)均是位置不可靠的信標(biāo),其中惡意信標(biāo)屬于內(nèi)部攻擊,另外2種屬于外部攻擊[37],惡意信標(biāo)相對(duì)來(lái)講更加難于檢測(cè),因其不會(huì)以合作的態(tài)度參與到檢測(cè)過(guò)程.
節(jié)點(diǎn)位置驗(yàn)證框架(node location verification framework, NLVF)的實(shí)現(xiàn)思路是將每個(gè)節(jié)點(diǎn)對(duì)其鄰居的位置觀察結(jié)果與其他節(jié)點(diǎn)的觀察進(jìn)行綜合,得到某一特定節(jié)點(diǎn)位置可靠性的判斷;用帶有直接和間接信譽(yù)的模型來(lái)表征這2種觀察結(jié)果,并依靠2種信譽(yù)值計(jì)算綜合信譽(yù)值來(lái)表征節(jié)點(diǎn)位置的可靠程度.計(jì)算過(guò)程中通過(guò)帶有可信度更新機(jī)制的間接信譽(yù)計(jì)算方法克服惡意評(píng)價(jià)的影響.為使其適用于基于測(cè)距和非測(cè)距的2類(lèi)定位算法,在直接信譽(yù)值計(jì)算過(guò)程屏蔽2類(lèi)算法的距離表達(dá)差異.NVLF結(jié)構(gòu)如圖2所示:
Fig. 2 Framework of location verification圖2 位置驗(yàn)證框架結(jié)構(gòu)圖
NLVF以節(jié)點(diǎn)間的相互位置觀測(cè)結(jié)果作為分布式信譽(yù)模型的構(gòu)建基礎(chǔ),而節(jié)點(diǎn)間的位置相互觀測(cè)則以距離作為度量,對(duì)于測(cè)距技術(shù)的定位算法,節(jié)點(diǎn)i可測(cè)量與其能夠直接通信的信標(biāo)節(jié)點(diǎn)j之間的信號(hào)特征計(jì)算2點(diǎn)間的距離δij,比如在基于RSSI的定位算法中,可計(jì)算測(cè)量距離δij[38]:
(1)
其中,E為基礎(chǔ)信號(hào)強(qiáng)度,通常取1 m距離上的接收信號(hào)強(qiáng)度;n為損耗系數(shù),取值范圍為[2,4](真空中取2,干擾較大的環(huán)境取4).
Fig. 3 RSSI vs. distance under ideal condition圖3 理想情況下RSSI與距離的關(guān)系
Fig. 4 RSSI vs. distance under ideal condition with identical orientation of different nodes圖4 理想情況下不同節(jié)點(diǎn)在同一方向上RSSI與距離的關(guān)系
圖5則是在行人和車(chē)輛隨機(jī)經(jīng)過(guò)實(shí)驗(yàn)場(chǎng)景的情況下,經(jīng)過(guò)高斯過(guò)濾后的3個(gè)節(jié)點(diǎn)的RSSI平均值曲線.可以看出RSSI受到較大的影響,當(dāng)節(jié)點(diǎn)間距較近時(shí),RSSI基本上反映出這種距離的遠(yuǎn)近關(guān)系;但當(dāng)節(jié)點(diǎn)相距較遠(yuǎn)時(shí),表現(xiàn)則不明顯.這也為基于分級(jí)制的跳數(shù)劃分提供了依據(jù).
Fig. 5 RSSI vs. distance under severe interferences圖5 嚴(yán)重干擾情況下RSSI與距離的關(guān)系
因此,本節(jié)用log函數(shù)定義節(jié)點(diǎn)間跳數(shù):
(2)
其中RSSI(i,m) min為節(jié)點(diǎn)i接收到其鄰居的所有RSSI值中的最小值.式(2)沒(méi)有采用固定的RSSI作為基準(zhǔn)而是采用節(jié)點(diǎn)接收到的RSSI最小值,有效地表達(dá)了局部觀測(cè)結(jié)果,本算法的分布式特性與這種局部表達(dá)高度吻合.
采用式(2),相當(dāng)于將節(jié)點(diǎn)間的距離進(jìn)行了等級(jí)劃分,克服了采用0-1模型帶來(lái)的輸入過(guò)于簡(jiǎn)單的問(wèn)題;而對(duì)數(shù)形式的節(jié)點(diǎn)間距離劃分,又較好地表達(dá)了RSSI與距離之間的關(guān)系.假設(shè)1對(duì)節(jié)點(diǎn)Si,Sj之間傳遞了若干數(shù)據(jù)包,采用Dixion準(zhǔn)則進(jìn)行異常值的過(guò)濾后按式(2)進(jìn)行計(jì)算,對(duì)應(yīng)的距離等級(jí)集合表達(dá)為Vi={v1,v2,v3,v4,v5},i=1,2,…,n,表示對(duì)節(jié)點(diǎn)之間的距離的等級(jí)劃分,其中v1,v2,v3,v4,v5可看作表示近、較近、較遠(yuǎn)、遠(yuǎn)、很遠(yuǎn).
假設(shè)Ui={u1,u2,u3,u4,u5},i=1,2,…,n,表示2節(jié)點(diǎn)間收發(fā)的RSSI強(qiáng)度, 我們用模糊評(píng)價(jià)矩陣M表示U和V之間的模糊關(guān)系,其形式為
(3)
假設(shè)SA節(jié)點(diǎn)向SB節(jié)點(diǎn)發(fā)送n個(gè)RSSI數(shù)據(jù)報(bào),rij表示在當(dāng)|SA,SB|∈vi時(shí)其RSSI數(shù)據(jù)報(bào)中在Uj對(duì)應(yīng)的RSSI值范圍的個(gè)數(shù)為m,rij=mn.
獲得模糊評(píng)價(jià)矩陣M后,假設(shè)S1接收到S2的n個(gè)RSSI數(shù)據(jù)時(shí),計(jì)算其在u1,u2,u3,u4,u5對(duì)應(yīng)RSSI范圍的概率分別為a1,a2,a3,a4,a5,通過(guò)F(∧,∨)計(jì)算得到模糊評(píng)價(jià)向量(b1,b2,b3,b4,b5),其計(jì)算為
(4)
最終按照最大隸屬度原則,獲得最終的距離評(píng)級(jí)vk.
算法1.基于RSSI值的節(jié)點(diǎn)距離模糊劃分算法.
輸入:RSSI;
輸出:距離等級(jí).
Step1. 通過(guò)實(shí)驗(yàn)獲得RSSI-距離模型以及通信范圍;
Step2. 構(gòu)建距離等級(jí)V和RSSI-距離關(guān)系U,計(jì)算模糊評(píng)價(jià)函數(shù);
Step3. 節(jié)點(diǎn)與鄰居節(jié)點(diǎn)互相發(fā)送n個(gè)RSSI值數(shù)據(jù)包;
Step4. 節(jié)點(diǎn)將收到的RSSI值數(shù)據(jù)包計(jì)算得到對(duì)應(yīng)V中距離等級(jí)的概率分布向量A;
Step5. 計(jì)算得到模糊評(píng)價(jià)向量B=A·M=(b1,b2,b3,b4,b5);
Step6. 按照最大隸屬度原則,得到距離等級(jí)B(vk)=max(b1,b2,b3,b4,b5).
若要將算法1定義的跳數(shù)轉(zhuǎn)化為傳統(tǒng)非測(cè)距定位算法中以小于1的實(shí)數(shù)定義的跳數(shù),可計(jì)算為
(5)
其中vmax為跳數(shù)估算的廣播階段中節(jié)點(diǎn)收到的等級(jí)劃分最大值.
(6)
不同的測(cè)距技術(shù)使得δij雖然包含一定的誤差項(xiàng)(如采用超寬帶技術(shù)下的TOA測(cè)距時(shí)誤差較小),但其能夠反映相對(duì)真實(shí)的節(jié)點(diǎn)間距離.但當(dāng)節(jié)點(diǎn)進(jìn)行相對(duì)較大位移的漂移或廣播明顯錯(cuò)誤的位置參考時(shí),鄰居節(jié)點(diǎn)對(duì)其的信譽(yù)值下降.式(6)很好地體現(xiàn)了距離越接近的節(jié)點(diǎn),相互測(cè)距越準(zhǔn)確的實(shí)際情況[38];同時(shí),對(duì)于新加入的鄰居節(jié)點(diǎn)采用不信任原則.
而對(duì)于非測(cè)距技術(shù)來(lái)講,我們雖然將節(jié)點(diǎn)間的距離按RSSI值表達(dá)成等級(jí)劃分,但帶來(lái)的問(wèn)題是當(dāng)2節(jié)點(diǎn)本身相距較遠(yuǎn)時(shí),該距離等級(jí)對(duì)應(yīng)的距離也較長(zhǎng),又因節(jié)點(diǎn)通信半徑較大,會(huì)出現(xiàn)節(jié)點(diǎn)位置改變后仍處于同一等級(jí)的問(wèn)題,即距離變化不敏感的問(wèn)題.
Fig. 6 Relationship between distance and rank圖6 距離等級(jí)變化示意圖
(7)
Jaccard系數(shù)法源于余弦定理,但能夠克服除數(shù)為0的情況.
(8)
下文中可以看到,在信譽(yù)模型中,間接信譽(yù)值也是根據(jù)直接信譽(yù)值計(jì)算并迭代更新的,因此,采用不同的方法計(jì)算直接信譽(yù)值后,測(cè)距的和非測(cè)距的可信定位框架在其他運(yùn)算過(guò)程均一致,體現(xiàn)了其普適性.
WSN中因隨機(jī)冗余部署的原因,每個(gè)節(jié)點(diǎn)都有多個(gè)鄰居節(jié)點(diǎn),Sj(t)表示在時(shí)刻t能夠和節(jié)點(diǎn)j直接通信的節(jié)點(diǎn)集合.只要Sj(t)中的節(jié)點(diǎn)將自己對(duì)j的信譽(yù)度局部廣播給其2跳鄰居,就能確保本集合之中所有節(jié)點(diǎn)均能相互交換對(duì)節(jié)點(diǎn)j的信任度,對(duì)節(jié)點(diǎn)i來(lái)講,綜合計(jì)算其收到的其他節(jié)點(diǎn)對(duì)j的信譽(yù)值,通過(guò)一定的計(jì)算可以得到反映其他鄰居節(jié)點(diǎn)對(duì)節(jié)點(diǎn)i的定位精度的信任程度.計(jì)算方法為
(9)
其中,Rmj(t)表示時(shí)刻t節(jié)點(diǎn)m對(duì)節(jié)點(diǎn)j的信任度,Cim(t)表示時(shí)刻t在節(jié)點(diǎn)i的視角上節(jié)點(diǎn)m的推薦可信度,Rmj(t)定義為
Rmj(t)=Dmj(t),
(10)
而Cim(t)的計(jì)算相對(duì)復(fù)雜,無(wú)法從節(jié)點(diǎn)i的視角直接得到,因?yàn)橐紤]到其他節(jié)點(diǎn)可能產(chǎn)生漂移而引起的間接可信度惡化的情況.如圖7所示,時(shí)刻t節(jié)點(diǎn)S5已經(jīng)產(chǎn)生漂移,但節(jié)點(diǎn)S1與節(jié)點(diǎn)S5的相對(duì)距離并無(wú)改變,因此,可以獲得較高的DS1,S5(t),而節(jié)點(diǎn)S5與節(jié)點(diǎn)S2,S4的距離變化將導(dǎo)致S1來(lái)自S5視角的對(duì)S2,S4的推薦度較低.而根據(jù)式(8),因節(jié)點(diǎn)S3第1次能夠與S5通信,在S1的視角上,S3獲得的來(lái)自S5的間接信譽(yù)值為0,因此,必須采取一定的推薦可信度更新機(jī)制,使得節(jié)點(diǎn)間的相互觀察能夠收斂至穩(wěn)定可信.
Fig. 7 Circumstance of identical direct reputation圖7 直接信譽(yù)值不變的情況
為解決上述問(wèn)題,我們引入信任度更新機(jī)制[40],首先計(jì)算節(jié)點(diǎn)信譽(yù)差Dif和相對(duì)信譽(yù)偏差RTD為
(11)
RTDi(m,j)=Difi(m,j)STDj,
(12)
其中,Difi(m,j)表示在節(jié)點(diǎn)i的視角下,節(jié)點(diǎn)m對(duì)節(jié)點(diǎn)j的信譽(yù)值偏差;|S(j)|表示集合S(j)的基;STDj表示S(j)中所有節(jié)點(diǎn)對(duì)節(jié)點(diǎn)j信譽(yù)值的標(biāo)準(zhǔn)方差.當(dāng)RTDi(m,j)≤1時(shí),節(jié)點(diǎn)i認(rèn)為節(jié)點(diǎn)m對(duì)節(jié)點(diǎn)j的位置可信度判斷與其他節(jié)點(diǎn)一致;否則,認(rèn)為節(jié)點(diǎn)m產(chǎn)生了間接可信度惡化的現(xiàn)象.Cim(t)根據(jù)RTDi(m,j)進(jìn)行更新的計(jì)算式為
Cim(t)=
(13)
信任度更新機(jī)制將降低節(jié)點(diǎn)漂移或不可靠信標(biāo)節(jié)點(diǎn)對(duì)間接信任值計(jì)算的影響.
在時(shí)刻t,當(dāng)節(jié)點(diǎn)i計(jì)算得到節(jié)點(diǎn)j的直接信譽(yù)值Dij(t)和間接信譽(yù)值Iij(t)后計(jì)算其綜合信譽(yù)值Tij(t):
Tij(t)=αDij(t)+(1-α)Ii,j(t),
(14)
其中,α為信譽(yù)值權(quán)重,其大小解決了對(duì)自己的判斷和其他節(jié)點(diǎn)的推薦信譽(yù)值的依賴(lài)程度.當(dāng)節(jié)點(diǎn)本身發(fā)生漂移或2節(jié)點(diǎn)同時(shí)漂移且相對(duì)距離變化不大時(shí),如果α值較大時(shí),易造成位置驗(yàn)證的性能下降;若α取值過(guò)小,則受到其他節(jié)點(diǎn)的誤判影響較嚴(yán)重.關(guān)于α的取值將在第5節(jié)通過(guò)仿真實(shí)驗(yàn)進(jìn)行討論.
基于分布式信譽(yù)模型的可信定位基本思路如圖8所示,節(jié)點(diǎn)i通過(guò)其他節(jié)點(diǎn)信譽(yù)值所反映的位置可靠程度來(lái)判斷其他節(jié)點(diǎn)是否可信;通過(guò)對(duì)直接信譽(yù)值和間接信譽(yù)值的一致性來(lái)判斷自身是否產(chǎn)生了漂移.若節(jié)點(diǎn)i自身產(chǎn)生了漂移,則在排除了不可靠的信標(biāo)節(jié)點(diǎn)后,通過(guò)重新調(diào)用定位算法進(jìn)行位置驗(yàn)證,如果重定位過(guò)程中可用信標(biāo)數(shù)小于定位算法的最低要求,則通過(guò)基于信譽(yù)值的臨時(shí)信標(biāo)擇算法進(jìn)行信標(biāo)補(bǔ)充.因不可信信標(biāo)的存在,網(wǎng)絡(luò)部署后,位置驗(yàn)證和重定位是周期性進(jìn)行的,因此以位置驗(yàn)證為目地收集到的RSSI信息同樣服務(wù)于重定位,因此,并沒(méi)有額外的通信開(kāi)銷(xiāo).下面按順序?qū)尚哦ㄎ恢械?個(gè)處理環(huán)節(jié)(即節(jié)點(diǎn)位置的驗(yàn)證與重定位)進(jìn)行詳細(xì)說(shuō)明.
Fig. 8 Flow chart of NLVF圖8 NLVF工作流程圖
Fig. 9 Schematic diagram of reputation in reliable localization圖9 可信定位過(guò)程信譽(yù)值示意圖
仿真環(huán)境在500 m×500 m的正方形區(qū)域內(nèi),隨機(jī)部署n個(gè)普通傳感器節(jié)點(diǎn)和m個(gè)信標(biāo)節(jié)點(diǎn)(每對(duì)信標(biāo)節(jié)點(diǎn)的間距不小于5 m).所有節(jié)點(diǎn)具有相同的通信半徑r=50 m.在網(wǎng)絡(luò)成功部署及初始定位完成后,有m′個(gè)節(jié)點(diǎn)成為位置不可信節(jié)點(diǎn),它們位置的改變大于20 m,其中被捕獲的信標(biāo)節(jié)點(diǎn)比例不高于50%.所有實(shí)驗(yàn)結(jié)果為50次實(shí)驗(yàn)的平均值.
Fig. 10 Average mean variation with 10 percent unreliable anchor圖10 位置不可靠信標(biāo)占比10%時(shí)信譽(yù)值平均偏差
信譽(yù)值計(jì)算公式中權(quán)重參數(shù)α的取值難以利用封閉表達(dá)式進(jìn)行描述,在產(chǎn)生漂移的節(jié)點(diǎn)和不可靠信標(biāo)數(shù)量比重變化的場(chǎng)景中,對(duì)α不同取值情況的算法性能進(jìn)行了仿真.因?yàn)楣?jié)點(diǎn)的直接鄰居數(shù)量對(duì)間接信譽(yù)值的準(zhǔn)確性也有影響,故實(shí)驗(yàn)中也對(duì)平均網(wǎng)絡(luò)連通度進(jìn)行了調(diào)節(jié),范圍為[4,10],步長(zhǎng)為2.信標(biāo)節(jié)點(diǎn)占比10%,位置不可信節(jié)點(diǎn)數(shù)的比重從10%~40%變化,步長(zhǎng)為10%.實(shí)驗(yàn)中將節(jié)點(diǎn)間的測(cè)距精度設(shè)定為0.1r,對(duì)位置可信節(jié)點(diǎn)和位置不可信節(jié)點(diǎn)的平均信譽(yù)值average(Trel)及average(Tunr)進(jìn)行計(jì)算,結(jié)果如圖10~13所示:
Fig. 11 Average mean variation with 20 percent unreliable anchor圖11 位置不可靠信標(biāo)占比20%時(shí)信譽(yù)值平均偏差
Fig. 12 Average mean variation with 30 percent unreliable anchor圖12 位置不可靠信標(biāo)占比30%時(shí)信譽(yù)值平均偏差
Fig. 13 Average mean variation with 40 percent unreliable anchor圖13 位置不可靠信標(biāo)占比40%時(shí)信譽(yù)值平均偏差
圖10~13中縱坐標(biāo)為產(chǎn)生位置不可信節(jié)點(diǎn)3個(gè)時(shí)間片后average(Trel)-average(Tunr)的值,我們稱(chēng)之為Diffave.可以看出,2種節(jié)點(diǎn)的信譽(yù)值之間存在著明顯的差異,當(dāng)位置不可信的節(jié)點(diǎn)占比升高時(shí),差異變小,但也足夠明顯,這也是采用分布式信譽(yù)模型進(jìn)行位置驗(yàn)證的基礎(chǔ).這種差異隨著網(wǎng)絡(luò)連通度的提高也會(huì)變得明顯,特別是當(dāng)連通度大于6,而α∈[0.4,0.6]時(shí).綜合看來(lái),α=0.6時(shí),Diffave的值始終大于0.38,因此,實(shí)驗(yàn)中α=0.6.在不同的RSSI測(cè)量誤差情況下對(duì)檢測(cè)閾值ω的取值進(jìn)行了實(shí)驗(yàn),仿真場(chǎng)景中網(wǎng)絡(luò)平均連通度設(shè)置為8,信標(biāo)占比10%,發(fā)生漂移的普通節(jié)點(diǎn)比例與不可靠信標(biāo)的比例均為20%,節(jié)點(diǎn)采集的RSSI數(shù)據(jù)噪音為[0.1,0.3],步長(zhǎng)為10%,結(jié)果如圖14所示:
Fig. 14 Threshold vs. detection performance圖14 檢測(cè)閾值與檢測(cè)性能的關(guān)系
我們用來(lái)衡量漂移檢測(cè)算法性能的2個(gè)指標(biāo)為:識(shí)別成功率及識(shí)別錯(cuò)誤率,計(jì)算公式為
(15)
(16)
識(shí)別成功率為被正確判斷為漂移節(jié)點(diǎn)的數(shù)量與實(shí)際漂移節(jié)點(diǎn)數(shù)量的比值,用來(lái)衡量算法能夠成功識(shí)別位置不可信節(jié)點(diǎn)的概率;而錯(cuò)誤率則是被錯(cuò)誤地判斷為不可信節(jié)點(diǎn)的數(shù)目與實(shí)際不可信節(jié)點(diǎn)數(shù)目的比值,用以衡量算法在檢測(cè)漂移節(jié)點(diǎn)時(shí)產(chǎn)生誤判的概率.實(shí)驗(yàn)結(jié)果顯示的是實(shí)驗(yàn)過(guò)程中每個(gè)時(shí)間周期的檢測(cè)成功率和錯(cuò)誤率取平均值.非測(cè)距算法中RSSI的噪音由經(jīng)典信號(hào)能量傳播衰減模型為基礎(chǔ),衰減指數(shù)n=2.5,上下隨機(jī)產(chǎn)生百分比變化,如20%的噪音,則n值變化范圍是[2,3].
從圖14中可以看出,當(dāng)檢測(cè)閾值增大時(shí),檢測(cè)成功率和檢測(cè)錯(cuò)誤率均呈上升狀態(tài),因?yàn)闄z測(cè)條件變得苛刻后,成功率必然升高,但由于誤差的存在檢測(cè)錯(cuò)誤率也隨之升高;綜合來(lái)看,ω取值為[0.7,0.8]之間時(shí),算法性能較好,因此,后續(xù)實(shí)驗(yàn)中設(shè)置ω=0.7;另外,隨著RSSI噪音的增加,檢測(cè)錯(cuò)誤率有很小的上升,檢測(cè)成功率卻影響不大,這也充分驗(yàn)證了UNDA的魯棒性,RSSI具有30%的噪音情況下檢測(cè)成功率能夠達(dá)到90%以上.
為了驗(yàn)證可信定位模型中用于服務(wù)基于測(cè)距技術(shù)的不可信信標(biāo)檢測(cè)性能,我們用同樣是分布式位置驗(yàn)證算法的文獻(xiàn)[24]作為比較對(duì)象,簡(jiǎn)稱(chēng)為節(jié)點(diǎn)漂移檢測(cè)(node drifting detection, NDD)算法.設(shè)置40個(gè)信標(biāo)節(jié)點(diǎn),仿真中每個(gè)時(shí)間段內(nèi)均有隨機(jī)數(shù)量(0~20%)的節(jié)點(diǎn)發(fā)生漂移或變?yōu)閻阂庑艠?biāo),但漂移節(jié)點(diǎn)總數(shù)不變,隨機(jī)出現(xiàn)1~4個(gè)蟲(chóng)洞(對(duì)應(yīng)2~8個(gè)信標(biāo)節(jié)點(diǎn)受到影響).首先固定漂移信標(biāo)節(jié)點(diǎn)的數(shù)量,改變普通節(jié)點(diǎn)密度,當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)密度提高時(shí),2種算法的檢測(cè)準(zhǔn)確率都相應(yīng)提高,誤檢率相應(yīng)降低,如圖15所示.這是各節(jié)點(diǎn)可參考的鄰居節(jié)點(diǎn)數(shù)量增加引起的.但UNDA具有更好的檢測(cè)性能,這是因?yàn)閁NDA的節(jié)點(diǎn)間接信譽(yù)推薦信任度更新機(jī)制,可以更好地排除漂移節(jié)點(diǎn)對(duì)其他節(jié)點(diǎn)判斷準(zhǔn)確性的影響,而NDD算法每一輪的檢測(cè)都是一個(gè)全新的算法執(zhí)行過(guò)程,檢測(cè)性能不會(huì)因?yàn)闀r(shí)間的累積而提高.
Fig. 15 Node density vs. detection performance圖15 節(jié)點(diǎn)密度改變下的檢測(cè)性能
圖16展示的是固定節(jié)點(diǎn)數(shù)(300個(gè))的情況下,共80個(gè)信標(biāo)節(jié)點(diǎn),位置不可靠的信標(biāo)數(shù)量范圍[4,40]步長(zhǎng)為8,其中惡意信標(biāo)占比50%,同樣數(shù)量的蟲(chóng)洞場(chǎng)景下的算法性能比較.隨著漂移信標(biāo)的增加2種算法的性能都有下降,但相比之下,UNDA在漂移信標(biāo)較多時(shí),具有更高的檢測(cè)成功率和較低的誤檢率,這同樣是因?yàn)閁NDA采用了間接信譽(yù)推薦可信度更新機(jī)制.
Fig. 16 Amount of unreliable vs. detection performance圖16 不可信信標(biāo)數(shù)量改變下的檢測(cè)性能
而NLVF用于非測(cè)距的定位技術(shù)中因缺少類(lèi)似工作,我們將文獻(xiàn)[24]的投票依據(jù)由測(cè)距值替換為本文的分級(jí)跳距方法以移植到非測(cè)距定位場(chǎng)景,并簡(jiǎn)稱(chēng)為RF-NDD(rank feed-NDD)算法,由于非測(cè)距定位算法應(yīng)用場(chǎng)景中信標(biāo)節(jié)點(diǎn)通常較少,我們固定其數(shù)量為20個(gè),其中8個(gè)信標(biāo)發(fā)生漂移,2個(gè)信標(biāo)受蟲(chóng)洞影響(2個(gè)虛假信標(biāo)),普通節(jié)點(diǎn)數(shù)量變化范圍為[200,400],步長(zhǎng)50,RSSI測(cè)量噪音為10%.
Fig. 17 Performance of NLVF in range-free scenario with variation of node amount圖17 NLVF在非測(cè)距場(chǎng)景中節(jié)點(diǎn)數(shù)量變化時(shí)的性能
實(shí)驗(yàn)結(jié)果如圖17所示,與基于測(cè)距的場(chǎng)景相似,由于缺少相互觀測(cè)的積累和投票可信性的更新,節(jié)點(diǎn)密度變大時(shí),RF-NDD性能并無(wú)明顯的提升,而NLVF不但具有較好的檢測(cè)性能,且隨著節(jié)點(diǎn)密度升高,其性能也有顯著提升,這對(duì)于節(jié)點(diǎn)密度較高的大型WSN來(lái)講,具有實(shí)用性.設(shè)置RSSI噪音為20%和40%的2種情況以驗(yàn)證NLVF的魯棒性.實(shí)驗(yàn)中共設(shè)置20個(gè)信標(biāo)節(jié)點(diǎn),網(wǎng)絡(luò)平均連通度在[6,10]范圍內(nèi)變化,步長(zhǎng)為1,20個(gè)信標(biāo)節(jié)點(diǎn)全部成為不可信的信標(biāo),由于信標(biāo)數(shù)量較少,故仿真結(jié)果采用節(jié)點(diǎn)個(gè)數(shù)代替比率,即檢測(cè)成功的信標(biāo)個(gè)數(shù)(number of detected anchor, NoD)和假陽(yáng)性節(jié)點(diǎn)個(gè)數(shù)(number of false positive, NoFP).實(shí)驗(yàn)結(jié)果如圖18所示,當(dāng)RSSI噪音較大時(shí),引起跳數(shù)等級(jí)劃分不夠準(zhǔn)確,使得直接信譽(yù)值計(jì)算誤差增大,但性能仍舊在可以接受的范圍內(nèi),當(dāng)網(wǎng)絡(luò)平均連通度為10時(shí),40%的RSSI噪音情況下,成功檢測(cè)出18個(gè)不可信的信標(biāo),漏檢2個(gè);由假陽(yáng)性引起的誤檢個(gè)數(shù)為3.在20%的RSSI噪音時(shí),網(wǎng)絡(luò)連通度達(dá)到9的情況下,誤檢率降為0,只漏檢了1個(gè)信標(biāo)節(jié)點(diǎn).由于WSN的節(jié)點(diǎn)部署冗余特性以及節(jié)點(diǎn)較大的通信半徑,平均網(wǎng)絡(luò)連通度達(dá)到9的假設(shè)是切合實(shí)際的.
Fig. 18 Performance of NLVF in range-free scenario with variation of anchor amount圖18 NLVF在非測(cè)距技術(shù)場(chǎng)景下的性能
本文提出NLVF框架,服務(wù)于基于測(cè)距的定位算法和非測(cè)距定位算法,用以過(guò)濾位置不可靠的信標(biāo)節(jié)點(diǎn),NLVF的核心算法UNDA以節(jié)點(diǎn)間的相互位置觀測(cè)為基礎(chǔ),構(gòu)建節(jié)點(diǎn)位置信譽(yù)模型,引入的間接信譽(yù)可信性更新機(jī)制,確保了算法收斂至穩(wěn)定的判斷結(jié)果.實(shí)驗(yàn)證明NLVF具有較高的檢測(cè)率和較低的誤檢率,且具備輕量級(jí)的特點(diǎn),適用于WSN.未來(lái)的工作將圍繞臨時(shí)信標(biāo)選擇算法展開(kāi),以解決信標(biāo)過(guò)濾后的后果定位過(guò)程中可用信標(biāo)不足問(wèn)題,進(jìn)一步完善NLVF的服務(wù)能力,并通過(guò)實(shí)物實(shí)驗(yàn)床驗(yàn)證NLVF的擴(kuò)展性和重定位性能.