羅 臻, 劉宏立, 徐 琨
(湖南大學(xué) 電氣與信息工程學(xué)院,湖南 長沙 410082)
隨著信息技術(shù)的快速發(fā)展,無線傳感器網(wǎng)絡(luò)越來越多地被用于軍事和民用領(lǐng)域,一個(gè)典型的應(yīng)用是監(jiān)測感興趣區(qū)域中的對象或估計(jì)對象的位置。近幾年來,研究者們提出了很多種關(guān)于無線傳感器網(wǎng)絡(luò)的定位算法[1~6],這些算法大多都沒有考慮惡意節(jié)點(diǎn)或攻擊者的影響。當(dāng)無線傳感器網(wǎng)絡(luò)部署在惡意危險(xiǎn)的環(huán)境中時(shí),很可能存在攻擊者不斷地嘗試對網(wǎng)絡(luò)發(fā)起各式各樣的攻擊,從而影響節(jié)點(diǎn)的正常定位,因此,安全定位是非常重要的。
最近已經(jīng)有研究人員提出了幾種用于無線傳感器網(wǎng)絡(luò)的安全定位算法[7~11]。文獻(xiàn)[8]中提出了一種最小中位數(shù)二乘(least median of squares,LMS)估計(jì)法,通過最小化誤差平方的中位數(shù)來估算位置,具有較強(qiáng)的抗攻擊能力。文獻(xiàn)[10]中提出了一種基于投票的定位算法,通過將網(wǎng)絡(luò)區(qū)域量化成一個(gè)網(wǎng)格并采取投票選舉的方式來容忍攻擊。
對于基于距離的定位算法,無線傳感器網(wǎng)絡(luò)面臨的攻擊大致可以分為兩類:1)單個(gè)或多個(gè)惡意錨節(jié)點(diǎn)獨(dú)立地對網(wǎng)絡(luò)進(jìn)行攻擊,發(fā)送互不相關(guān)的數(shù)據(jù)給定位節(jié)點(diǎn),惡意錨節(jié)點(diǎn)之間沒有相互協(xié)作,稱之為非協(xié)同攻擊;2)多個(gè)惡意錨節(jié)點(diǎn)串通起來對網(wǎng)絡(luò)進(jìn)行攻擊,不僅影響定位準(zhǔn)確度,而且可以誘導(dǎo)節(jié)點(diǎn)定位到攻擊者任意指定的位置,稱之為協(xié)同攻擊。本文主要考慮協(xié)同攻擊對網(wǎng)絡(luò)產(chǎn)生的影響,提出了一種能夠抵御協(xié)同攻擊的安全定位算法,該算法通過矢量關(guān)系分辨出正常錨節(jié)點(diǎn)和惡意錨節(jié)點(diǎn),并把惡意錨節(jié)點(diǎn)從網(wǎng)絡(luò)中剔除,從而消除掉惡意錨節(jié)點(diǎn)對定位結(jié)果造成的影響,同時(shí)采用分布式計(jì)算,由定位節(jié)點(diǎn)自行計(jì)算自己的位置,減少了節(jié)點(diǎn)的能耗,從而增加了整個(gè)網(wǎng)絡(luò)的生存時(shí)間。
無線傳感器網(wǎng)絡(luò)的定位算法包括兩大類:一類是無需測量節(jié)點(diǎn)間距離,稱之為Range-free的定位算法;另一類是需要測量節(jié)點(diǎn)間距離,然后使用三邊測量法或三角測量法來計(jì)算節(jié)點(diǎn)位置,稱之為Range-based的定位算法。
在Range-based的定位算法中,定位節(jié)點(diǎn)需要收到一些{(x,y,d)}信息集,其中,d表示定位節(jié)點(diǎn)到位于(x,y)的錨節(jié)點(diǎn)的距離估計(jì)值。這個(gè)距離d可以由不同的測量方法獲得,如到達(dá)時(shí)間(TOA)、到達(dá)時(shí)間差(TDOA)、到達(dá)角度(AOA)和接收信號強(qiáng)度指示(RSSI)等。例如:在基于RSSI的定位算法中,錨節(jié)點(diǎn)向網(wǎng)絡(luò)中發(fā)送一系列信標(biāo)信號,定位節(jié)點(diǎn)接收到這些信標(biāo)信號并測量其信號強(qiáng)度,然后可以將RSSI轉(zhuǎn)換為距離估計(jì)值。
在理想的情況下,也就是測量數(shù)據(jù)不受到任何噪聲干擾時(shí),這些{(x,y,d)}信息集形成一個(gè)圓,即有
d2(x,y)=(x-x0)2+(y-y0)2.
(1)
其中,(x0,y0)是定位節(jié)點(diǎn)的位置。在實(shí)際應(yīng)用中,距離的測量往往帶有測量噪聲,那么,收到一些{(x,y,d)}信息集然后求解(x0,y0)就是一個(gè)由超定方程組和測量噪聲引起的最小二乘(LS)問題。
然而,這樣的方法應(yīng)用在對{(x,y,d)}信息集有惡意攻擊的情況下并不合適。例如:如果攻擊者俘獲了一些錨節(jié)點(diǎn)使其成為了惡意錨節(jié)點(diǎn),然后這些惡意錨節(jié)點(diǎn)互相協(xié)作向網(wǎng)絡(luò)中發(fā)送錯(cuò)誤的信標(biāo)信號,就可能導(dǎo)致測量距離d與其真實(shí)值之間出現(xiàn)重大偏差。即使在大部分{(x,y,d)}信息集都是正確的情況下,只要存在一些明顯不正確的{(x,y,d)}信息集就將使定位節(jié)點(diǎn)的位置估計(jì)值遠(yuǎn)遠(yuǎn)偏離真實(shí)值。
Range-based的定位算法都是建立在測量節(jié)點(diǎn)之間距離的基礎(chǔ)上。表1中列舉了幾種用來測量距離的物理特性和攻擊者針對各特性可采取的攻擊方式。這些攻擊是Range-based的定位算法所特有的,主要是為了阻礙節(jié)點(diǎn)之間準(zhǔn)確的距離測量,因此,這些攻擊可以繞過常規(guī)的安全檢測。例如:在使用TOA或者TDOA測距技術(shù)的定位系統(tǒng)中,攻擊者俘獲錨節(jié)點(diǎn)之后可以故意延遲或提前發(fā)送響應(yīng)報(bào)文,從而達(dá)到增加或減少定位節(jié)點(diǎn)和錨節(jié)點(diǎn)之間距離的目的。
表1 距離測量特性及其針對這些特性的攻擊
實(shí)際中,單一惡意錨節(jié)點(diǎn)的攻擊對無線傳感器網(wǎng)絡(luò)的影響作用不是很明顯。攻擊者往往希望俘獲網(wǎng)絡(luò)中的多個(gè)錨節(jié)點(diǎn),擁有網(wǎng)絡(luò)中盡可能多的資源,然后聯(lián)合起來對網(wǎng)絡(luò)發(fā)起協(xié)同攻擊。這樣,不但可以阻礙其他節(jié)點(diǎn)的準(zhǔn)確定位,甚至可以隨意改變定位結(jié)果,使節(jié)點(diǎn)定位到攻擊者任意指定的位置上,協(xié)同攻擊比非協(xié)同攻擊對網(wǎng)絡(luò)的威脅更大。
不失一般性,假設(shè)在攻擊過程中惡意錨節(jié)點(diǎn)只改變距離d值,這樣的假設(shè)是合理的,因?yàn)楦淖兤渌魏螀?shù)都可以同等地轉(zhuǎn)換為改變d值。協(xié)同攻擊是由多個(gè)惡意錨節(jié)點(diǎn)一起協(xié)作,使定位節(jié)點(diǎn)定位到攻擊者任意指定的位置Pmal=[xmal,ymal]T。在這種情況下,假設(shè)定位節(jié)點(diǎn)計(jì)算出的距離d為惡意錨節(jié)點(diǎn)的位置Pk與攻擊者期望定位到的位置Pmal之間的距離,定義
其中,distk為第k個(gè)錨節(jié)點(diǎn)與定位節(jié)點(diǎn)的真實(shí)距離,nk為均值為0,方差為σ2的加性高斯噪聲。定位節(jié)點(diǎn)接收到各錨節(jié)點(diǎn)發(fā)來的{(Pk,dk)},k=1,2,…,N信息集,然后用這些信息來確定自己的位置。協(xié)同攻擊的攻擊強(qiáng)度由da=|P-Pmal|決定,其表示定位節(jié)點(diǎn)的真實(shí)位置和攻擊者指定的位置之間的距離。
本節(jié)提出了一種計(jì)算高效的基于梯度下降法的迭代安全定位算法。注意到,當(dāng)測量噪聲為高斯噪聲,環(huán)境區(qū)域中不存在惡意錨節(jié)點(diǎn)時(shí),任意給定的點(diǎn)(X,Y)是節(jié)點(diǎn)真實(shí)位置的概率正比于負(fù)的誤差平方和,即
那么,節(jié)點(diǎn)位置的最大似然估計(jì)就是使概率達(dá)到最大值的點(diǎn),或者說是使概率的相反數(shù)達(dá)到最小值的點(diǎn)。本算法采用梯度下降法一步步迭代縮小誤差平方和,然后確定節(jié)點(diǎn)位置的最大似然估計(jì)。
從直觀上講,該算法可以看作是圍繞錨節(jié)點(diǎn)(xk,yk)以半徑dk畫圓。因?yàn)楣?jié)點(diǎn)的真實(shí)位置應(yīng)位于靠近這些圓的某點(diǎn)上,所以,在每次迭代中算法將估計(jì)的位置往靠近這些圓的地方移動(dòng)。為了便于描述,定義一個(gè)稱為“勢矢量”的向量,其方向?yàn)楫?dāng)前估計(jì)值指向錨節(jié)點(diǎn)(xk,yk),其大小等于當(dāng)前估計(jì)值與錨節(jié)點(diǎn)(xk,yk)所對應(yīng)圓的距離。根據(jù)定義可知,“勢矢量”與當(dāng)前估計(jì)值和錨節(jié)點(diǎn)的位置有關(guān),每個(gè)錨節(jié)點(diǎn)都會對應(yīng)有一個(gè)“勢矢量”,因?yàn)樵诿恳徊降?,位置估?jì)值都會有所變化,所以,每一步迭代的“勢矢量”也會有變化。在一步迭代的過程中,所有“勢矢量”之和就構(gòu)成了這一步迭代的梯度。
算法開始時(shí),首先初始化一個(gè)隨機(jī)點(diǎn),在第i步迭代中,前一步估計(jì)值向梯度方向移動(dòng)一個(gè)步長δ(i)來獲得新的估計(jì)值。這樣的迭代方法使得新的估計(jì)值具有更高的概率是節(jié)點(diǎn)的真實(shí)位置,并最終收斂到LS估計(jì)。如前所述,在存在攻擊者的情況下,LS估計(jì)可能會有很大的誤差。因此,一旦梯度下降法收斂后就轉(zhuǎn)換到攻擊檢測階段,這一階段會對“勢矢量”進(jìn)行一些挑選和過濾。
攻擊檢測階段:實(shí)驗(yàn)表明,梯度下降法收斂以后得到的LS估計(jì)相對于由攻擊者所選擇的位置(xmal,ymal)會更接近節(jié)點(diǎn)的真實(shí)位置(xtrue,ytrue)。因此,那些正常錨節(jié)點(diǎn)對應(yīng)的“勢矢量”的模值將會比惡意錨節(jié)點(diǎn)對應(yīng)的“勢矢量”的模值要小。利用這一點(diǎn)可以過濾掉惡意錨節(jié)點(diǎn)提供的信息。首先將“勢矢量”按模值從小到大排序,選擇參數(shù)差分閾值β,若相鄰兩“勢矢量”模值相差達(dá)到β,則丟棄其后面模值較大的“勢矢量”,使用前面模值較小的“勢矢量”來確定后續(xù)迭代的梯度。
本節(jié)通過仿真對本算法的一些參數(shù)和性能進(jìn)行了分析,并在相同條件下與文獻(xiàn)中的其他算法進(jìn)行了比較。假設(shè)20個(gè)錨節(jié)點(diǎn)隨機(jī)部署在一個(gè)大小為100 m×100 m的區(qū)域中,測量噪聲的標(biāo)準(zhǔn)差為σ=1 m,迭代次數(shù)M=200,初始迭代位置選擇區(qū)域中心點(diǎn)(50,50)m。對于LMDS算法,子集的個(gè)數(shù)為20,每個(gè)子集中的節(jié)點(diǎn)數(shù)為4。所得的曲線均為500次運(yùn)行計(jì)算的平均值。
圖1顯示了30 %惡意錨節(jié)點(diǎn)協(xié)同攻擊下的迭代收斂曲線。由圖可知,采用可變步長可以使定位誤差更小,但是收斂速度較慢;而采用固定步長則定位誤差稍大,但收斂速度更快,這是在運(yùn)用梯度下降法時(shí)一個(gè)普遍的現(xiàn)象。從圖中還可以觀察到當(dāng)采用可變步長時(shí),在迭代大約150次左右定位誤差會突然減小。這種現(xiàn)象的原因是算法已經(jīng)進(jìn)入了攻擊檢測階段,這一階段中,通過過濾掉惡意錨節(jié)點(diǎn)發(fā)送的信息,估計(jì)值開始遠(yuǎn)離LS估計(jì)并朝著正確的位置移動(dòng)。
圖1 30 %惡意錨節(jié)點(diǎn)協(xié)同攻擊下的收斂曲線(攻擊強(qiáng)度da=28 m)
圖2為在不同攻擊強(qiáng)度的情況下,差分閾值β的大小對定位精度的影響關(guān)系曲線,其中x軸表示差分閾值β的大小,y軸表示定位誤差。從圖中可以看到,當(dāng)β值較小時(shí),定位誤差隨著β的增大而減小,當(dāng)β達(dá)到一定值時(shí)(圖中大概為1.5),定位誤差達(dá)到極小值,隨后隨著β的增大,定位誤差也會增大并隨著攻擊強(qiáng)度的不同而有所變化。當(dāng)攻擊強(qiáng)度較小時(shí)(如圖中dα=10 m),定位誤差達(dá)到極小值之后會馬上呈現(xiàn)上升的趨勢;當(dāng)da=16 m時(shí),定位誤差會在β的一定區(qū)間范圍內(nèi)保持穩(wěn)定之后才會上升;當(dāng)攻擊強(qiáng)度較大時(shí)(如圖中da=22 m,da=28 m),取得最小定位誤差的β值會有所變大,并且之后定位誤差的上升趨勢較為緩慢,一定程度上可以看做是保持穩(wěn)定。
圖2 定位誤差與差分閾值β的關(guān)系
圖3為30 %惡意錨節(jié)點(diǎn)協(xié)同攻擊下定位誤差與攻擊強(qiáng)度的關(guān)系。x軸表示節(jié)點(diǎn)的真實(shí)位置(xtrue,ytrue)和惡意錨節(jié)點(diǎn)協(xié)同指定的點(diǎn)(xmal,ymal)之間的距離,即攻擊強(qiáng)度da。從圖中可以觀察到,當(dāng)惡意錨節(jié)點(diǎn)數(shù)占30 %時(shí),本文算法在攻擊強(qiáng)度較小和攻擊強(qiáng)度較大的情況下優(yōu)于LMS算法,而LS算法則不能抵御協(xié)同攻擊。本文同樣也仿真了當(dāng)惡意錨節(jié)點(diǎn)數(shù)為35 %時(shí)的情況,此時(shí),本文提出的算法比LMS算法的定位誤差高大約1 m左右。這種現(xiàn)象的原因是,當(dāng)惡意錨節(jié)點(diǎn)數(shù)增加時(shí),一些距真實(shí)位置和惡意位置大致相同的錨節(jié)點(diǎn)可能導(dǎo)致數(shù)據(jù)更符合惡意位置。因此,當(dāng)惡意錨節(jié)點(diǎn)數(shù)較高時(shí),梯度下降法的性能略遜于LMS算法。在一般情況下,當(dāng)惡意錨節(jié)點(diǎn)數(shù)少于50 %時(shí),本算法是可以很好地抵御協(xié)同攻擊的。
圖3 30 %惡意錨節(jié)點(diǎn)協(xié)同攻擊下的不同定位算法比較
本文介紹了一種計(jì)算簡單的用于在惡意危險(xiǎn)環(huán)境下的無線傳感器網(wǎng)絡(luò)安全定位算法。本算法采用梯度下降法并結(jié)合攻擊檢測技術(shù),以確定一個(gè)給定區(qū)域中的節(jié)點(diǎn)位置。仿真結(jié)果表明:當(dāng)惡意錨節(jié)點(diǎn)數(shù)占30 %時(shí),算法收斂性較好,選擇可變步長和合適的差分閾值β可使定位精度更高,相較于LMS算法而言,本算法具有更好的定位效果,平均定位誤差不超過2 m。
參考文獻(xiàn):
[1] Li D,Hu Y H.Energy-based collaborative source localization using acoustic microsensor array[J].EURASIP Journal on Advances in Signal Processing,2003,4:321-337.
[2] Sheng X,Hu Y H.Maximum likelihood multiple-source localization using acoustic energy measurement with wireless sensor networks[J].IEEE Transactions on Signal Processing,2005,53(1):44-53.
[3] Ruixin N,Varshney P K.Target location estimation in sensor networks with quantized data[J].IEEE Transactions on Signal Processing,2006,54(12):4519-4528.
[4] 張廣峰,段其昌,劉 政.基于加強(qiáng)學(xué)習(xí)與聯(lián)想記憶粒子群優(yōu)化算法的節(jié)點(diǎn)定位[J].傳感器與微系統(tǒng),2013,32(3):72-77.
[5] 胡中棟,賈方方.基于角度判斷的無線傳感器網(wǎng)絡(luò)APIT定位算法研究[J].傳感器與微系統(tǒng),2013,32(1):73-75.
[6] 裴菊靜,王經(jīng)卓,許紅艷.基于CC2510的DV-Hop定位算法的改進(jìn)[J].傳感器與微系統(tǒng),2013,32(1):135-140.
[7] Boukerche A,Oliveira H A B,Nakamura E F,et al.Secure localization algorithms for wireless sensor networks[J].Communications Magazine,2008,46(4):96-101.
[8] Li Z,Trappe W,Zhang Y,et al.Robust statistical methods for securing wireless localization in sensor networks[C]∥Proc of IPSN 2005,Los Angeles:IEEE Computer Society,2005:91-98.
[9] Yanchao Z,Wei L,Yuguang F.Secure localization in wireless sensor networks[C]∥Military Communications Conference,2005:3169-3175.
[10] Liu D,Ning P,Du W K.Attack-resistant location estimation in sensor networks[C]∥Proc of IPSN 2005,Los Angeles:IEEE Computer Society,2005:99-106.
[11] Rawat A S,Anand P,Chen H,et al.Collaborative spectrum sen-sing in the presence of Byzantine attacks in cognitive radio networks[J].IEEE Transactions on Signal Processing,2011,59(2):774-786.