羅 臻, 劉宏立, 徐 琨
(湖南大學 電氣與信息工程學院,湖南 長沙 410082)
隨著信息技術的快速發(fā)展,無線傳感器網(wǎng)絡越來越多地被用于軍事和民用領域,一個典型的應用是監(jiān)測感興趣區(qū)域中的對象或估計對象的位置。近幾年來,研究者們提出了很多種關于無線傳感器網(wǎng)絡的定位算法[1~6],這些算法大多都沒有考慮惡意節(jié)點或攻擊者的影響。當無線傳感器網(wǎng)絡部署在惡意危險的環(huán)境中時,很可能存在攻擊者不斷地嘗試對網(wǎng)絡發(fā)起各式各樣的攻擊,從而影響節(jié)點的正常定位,因此,安全定位是非常重要的。
最近已經(jīng)有研究人員提出了幾種用于無線傳感器網(wǎng)絡的安全定位算法[7~11]。文獻[8]中提出了一種最小中位數(shù)二乘(least median of squares,LMS)估計法,通過最小化誤差平方的中位數(shù)來估算位置,具有較強的抗攻擊能力。文獻[10]中提出了一種基于投票的定位算法,通過將網(wǎng)絡區(qū)域量化成一個網(wǎng)格并采取投票選舉的方式來容忍攻擊。
對于基于距離的定位算法,無線傳感器網(wǎng)絡面臨的攻擊大致可以分為兩類:1)單個或多個惡意錨節(jié)點獨立地對網(wǎng)絡進行攻擊,發(fā)送互不相關的數(shù)據(jù)給定位節(jié)點,惡意錨節(jié)點之間沒有相互協(xié)作,稱之為非協(xié)同攻擊;2)多個惡意錨節(jié)點串通起來對網(wǎng)絡進行攻擊,不僅影響定位準確度,而且可以誘導節(jié)點定位到攻擊者任意指定的位置,稱之為協(xié)同攻擊。本文主要考慮協(xié)同攻擊對網(wǎng)絡產(chǎn)生的影響,提出了一種能夠抵御協(xié)同攻擊的安全定位算法,該算法通過矢量關系分辨出正常錨節(jié)點和惡意錨節(jié)點,并把惡意錨節(jié)點從網(wǎng)絡中剔除,從而消除掉惡意錨節(jié)點對定位結果造成的影響,同時采用分布式計算,由定位節(jié)點自行計算自己的位置,減少了節(jié)點的能耗,從而增加了整個網(wǎng)絡的生存時間。
無線傳感器網(wǎng)絡的定位算法包括兩大類:一類是無需測量節(jié)點間距離,稱之為Range-free的定位算法;另一類是需要測量節(jié)點間距離,然后使用三邊測量法或三角測量法來計算節(jié)點位置,稱之為Range-based的定位算法。
在Range-based的定位算法中,定位節(jié)點需要收到一些{(x,y,d)}信息集,其中,d表示定位節(jié)點到位于(x,y)的錨節(jié)點的距離估計值。這個距離d可以由不同的測量方法獲得,如到達時間(TOA)、到達時間差(TDOA)、到達角度(AOA)和接收信號強度指示(RSSI)等。例如:在基于RSSI的定位算法中,錨節(jié)點向網(wǎng)絡中發(fā)送一系列信標信號,定位節(jié)點接收到這些信標信號并測量其信號強度,然后可以將RSSI轉換為距離估計值。
在理想的情況下,也就是測量數(shù)據(jù)不受到任何噪聲干擾時,這些{(x,y,d)}信息集形成一個圓,即有
d2(x,y)=(x-x0)2+(y-y0)2.
(1)
其中,(x0,y0)是定位節(jié)點的位置。在實際應用中,距離的測量往往帶有測量噪聲,那么,收到一些{(x,y,d)}信息集然后求解(x0,y0)就是一個由超定方程組和測量噪聲引起的最小二乘(LS)問題。
然而,這樣的方法應用在對{(x,y,d)}信息集有惡意攻擊的情況下并不合適。例如:如果攻擊者俘獲了一些錨節(jié)點使其成為了惡意錨節(jié)點,然后這些惡意錨節(jié)點互相協(xié)作向網(wǎng)絡中發(fā)送錯誤的信標信號,就可能導致測量距離d與其真實值之間出現(xiàn)重大偏差。即使在大部分{(x,y,d)}信息集都是正確的情況下,只要存在一些明顯不正確的{(x,y,d)}信息集就將使定位節(jié)點的位置估計值遠遠偏離真實值。
Range-based的定位算法都是建立在測量節(jié)點之間距離的基礎上。表1中列舉了幾種用來測量距離的物理特性和攻擊者針對各特性可采取的攻擊方式。這些攻擊是Range-based的定位算法所特有的,主要是為了阻礙節(jié)點之間準確的距離測量,因此,這些攻擊可以繞過常規(guī)的安全檢測。例如:在使用TOA或者TDOA測距技術的定位系統(tǒng)中,攻擊者俘獲錨節(jié)點之后可以故意延遲或提前發(fā)送響應報文,從而達到增加或減少定位節(jié)點和錨節(jié)點之間距離的目的。
表1 距離測量特性及其針對這些特性的攻擊
實際中,單一惡意錨節(jié)點的攻擊對無線傳感器網(wǎng)絡的影響作用不是很明顯。攻擊者往往希望俘獲網(wǎng)絡中的多個錨節(jié)點,擁有網(wǎng)絡中盡可能多的資源,然后聯(lián)合起來對網(wǎng)絡發(fā)起協(xié)同攻擊。這樣,不但可以阻礙其他節(jié)點的準確定位,甚至可以隨意改變定位結果,使節(jié)點定位到攻擊者任意指定的位置上,協(xié)同攻擊比非協(xié)同攻擊對網(wǎng)絡的威脅更大。
不失一般性,假設在攻擊過程中惡意錨節(jié)點只改變距離d值,這樣的假設是合理的,因為改變其他任何參數(shù)都可以同等地轉換為改變d值。協(xié)同攻擊是由多個惡意錨節(jié)點一起協(xié)作,使定位節(jié)點定位到攻擊者任意指定的位置Pmal=[xmal,ymal]T。在這種情況下,假設定位節(jié)點計算出的距離d為惡意錨節(jié)點的位置Pk與攻擊者期望定位到的位置Pmal之間的距離,定義
其中,distk為第k個錨節(jié)點與定位節(jié)點的真實距離,nk為均值為0,方差為σ2的加性高斯噪聲。定位節(jié)點接收到各錨節(jié)點發(fā)來的{(Pk,dk)},k=1,2,…,N信息集,然后用這些信息來確定自己的位置。協(xié)同攻擊的攻擊強度由da=|P-Pmal|決定,其表示定位節(jié)點的真實位置和攻擊者指定的位置之間的距離。
本節(jié)提出了一種計算高效的基于梯度下降法的迭代安全定位算法。注意到,當測量噪聲為高斯噪聲,環(huán)境區(qū)域中不存在惡意錨節(jié)點時,任意給定的點(X,Y)是節(jié)點真實位置的概率正比于負的誤差平方和,即
那么,節(jié)點位置的最大似然估計就是使概率達到最大值的點,或者說是使概率的相反數(shù)達到最小值的點。本算法采用梯度下降法一步步迭代縮小誤差平方和,然后確定節(jié)點位置的最大似然估計。
從直觀上講,該算法可以看作是圍繞錨節(jié)點(xk,yk)以半徑dk畫圓。因為節(jié)點的真實位置應位于靠近這些圓的某點上,所以,在每次迭代中算法將估計的位置往靠近這些圓的地方移動。為了便于描述,定義一個稱為“勢矢量”的向量,其方向為當前估計值指向錨節(jié)點(xk,yk),其大小等于當前估計值與錨節(jié)點(xk,yk)所對應圓的距離。根據(jù)定義可知,“勢矢量”與當前估計值和錨節(jié)點的位置有關,每個錨節(jié)點都會對應有一個“勢矢量”,因為在每一步迭代中,位置估計值都會有所變化,所以,每一步迭代的“勢矢量”也會有變化。在一步迭代的過程中,所有“勢矢量”之和就構成了這一步迭代的梯度。
算法開始時,首先初始化一個隨機點,在第i步迭代中,前一步估計值向梯度方向移動一個步長δ(i)來獲得新的估計值。這樣的迭代方法使得新的估計值具有更高的概率是節(jié)點的真實位置,并最終收斂到LS估計。如前所述,在存在攻擊者的情況下,LS估計可能會有很大的誤差。因此,一旦梯度下降法收斂后就轉換到攻擊檢測階段,這一階段會對“勢矢量”進行一些挑選和過濾。
攻擊檢測階段:實驗表明,梯度下降法收斂以后得到的LS估計相對于由攻擊者所選擇的位置(xmal,ymal)會更接近節(jié)點的真實位置(xtrue,ytrue)。因此,那些正常錨節(jié)點對應的“勢矢量”的模值將會比惡意錨節(jié)點對應的“勢矢量”的模值要小。利用這一點可以過濾掉惡意錨節(jié)點提供的信息。首先將“勢矢量”按模值從小到大排序,選擇參數(shù)差分閾值β,若相鄰兩“勢矢量”模值相差達到β,則丟棄其后面模值較大的“勢矢量”,使用前面模值較小的“勢矢量”來確定后續(xù)迭代的梯度。
本節(jié)通過仿真對本算法的一些參數(shù)和性能進行了分析,并在相同條件下與文獻中的其他算法進行了比較。假設20個錨節(jié)點隨機部署在一個大小為100 m×100 m的區(qū)域中,測量噪聲的標準差為σ=1 m,迭代次數(shù)M=200,初始迭代位置選擇區(qū)域中心點(50,50)m。對于LMDS算法,子集的個數(shù)為20,每個子集中的節(jié)點數(shù)為4。所得的曲線均為500次運行計算的平均值。
圖1顯示了30 %惡意錨節(jié)點協(xié)同攻擊下的迭代收斂曲線。由圖可知,采用可變步長可以使定位誤差更小,但是收斂速度較慢;而采用固定步長則定位誤差稍大,但收斂速度更快,這是在運用梯度下降法時一個普遍的現(xiàn)象。從圖中還可以觀察到當采用可變步長時,在迭代大約150次左右定位誤差會突然減小。這種現(xiàn)象的原因是算法已經(jīng)進入了攻擊檢測階段,這一階段中,通過過濾掉惡意錨節(jié)點發(fā)送的信息,估計值開始遠離LS估計并朝著正確的位置移動。
圖1 30 %惡意錨節(jié)點協(xié)同攻擊下的收斂曲線(攻擊強度da=28 m)
圖2為在不同攻擊強度的情況下,差分閾值β的大小對定位精度的影響關系曲線,其中x軸表示差分閾值β的大小,y軸表示定位誤差。從圖中可以看到,當β值較小時,定位誤差隨著β的增大而減小,當β達到一定值時(圖中大概為1.5),定位誤差達到極小值,隨后隨著β的增大,定位誤差也會增大并隨著攻擊強度的不同而有所變化。當攻擊強度較小時(如圖中dα=10 m),定位誤差達到極小值之后會馬上呈現(xiàn)上升的趨勢;當da=16 m時,定位誤差會在β的一定區(qū)間范圍內保持穩(wěn)定之后才會上升;當攻擊強度較大時(如圖中da=22 m,da=28 m),取得最小定位誤差的β值會有所變大,并且之后定位誤差的上升趨勢較為緩慢,一定程度上可以看做是保持穩(wěn)定。
圖2 定位誤差與差分閾值β的關系
圖3為30 %惡意錨節(jié)點協(xié)同攻擊下定位誤差與攻擊強度的關系。x軸表示節(jié)點的真實位置(xtrue,ytrue)和惡意錨節(jié)點協(xié)同指定的點(xmal,ymal)之間的距離,即攻擊強度da。從圖中可以觀察到,當惡意錨節(jié)點數(shù)占30 %時,本文算法在攻擊強度較小和攻擊強度較大的情況下優(yōu)于LMS算法,而LS算法則不能抵御協(xié)同攻擊。本文同樣也仿真了當惡意錨節(jié)點數(shù)為35 %時的情況,此時,本文提出的算法比LMS算法的定位誤差高大約1 m左右。這種現(xiàn)象的原因是,當惡意錨節(jié)點數(shù)增加時,一些距真實位置和惡意位置大致相同的錨節(jié)點可能導致數(shù)據(jù)更符合惡意位置。因此,當惡意錨節(jié)點數(shù)較高時,梯度下降法的性能略遜于LMS算法。在一般情況下,當惡意錨節(jié)點數(shù)少于50 %時,本算法是可以很好地抵御協(xié)同攻擊的。
圖3 30 %惡意錨節(jié)點協(xié)同攻擊下的不同定位算法比較
本文介紹了一種計算簡單的用于在惡意危險環(huán)境下的無線傳感器網(wǎng)絡安全定位算法。本算法采用梯度下降法并結合攻擊檢測技術,以確定一個給定區(qū)域中的節(jié)點位置。仿真結果表明:當惡意錨節(jié)點數(shù)占30 %時,算法收斂性較好,選擇可變步長和合適的差分閾值β可使定位精度更高,相較于LMS算法而言,本算法具有更好的定位效果,平均定位誤差不超過2 m。
參考文獻:
[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] 張廣峰,段其昌,劉 政.基于加強學習與聯(lián)想記憶粒子群優(yōu)化算法的節(jié)點定位[J].傳感器與微系統(tǒng),2013,32(3):72-77.
[5] 胡中棟,賈方方.基于角度判斷的無線傳感器網(wǎng)絡APIT定位算法研究[J].傳感器與微系統(tǒng),2013,32(1):73-75.
[6] 裴菊靜,王經(jīng)卓,許紅艷.基于CC2510的DV-Hop定位算法的改進[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.