999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

異構IWSN下對Sybil攻擊源的定位?

2019-03-26 09:14:54孫子文
傳感技術學報 2019年2期
關鍵詞:卡爾曼濾波

孫子文,朱 穎

(1.江南大學物聯網工程學院,江蘇 無錫214122;2.物聯網技術應用教育部工程研究中心,江蘇 無錫214122)

工業無線傳感器網絡IWSN(Industrial Wireless Sensor Networks)[1]中,為節約成本,除少量節點帶有自定位的GPS模塊,大部分傳感器節點則被隨機分布在特定的檢測區域,即節點的位置是未知的。IWSN在實際工作過程中會受到各種攻擊和安全威脅,其中Sybil攻擊是一種危害巨大,容易發起的基礎攻擊類型。受到Sybil攻擊后,惡意節點違法地以多個身份出現,并發送錯誤信息,誤導用戶管理中心的決策。因此,在檢測出Sybil攻擊之后,對惡意節點及時進行定位是至關重要的。

IWSN中根據是否需要測距將定位算法分為基于測距定位算法和基于非測距定位算法[2]。基于測距的定位算法包括:信號到達角度AOA(Angle of Arrival)、到達時間TOA(Time of Arrival)、基于接收信號強度指示RSSI(Received Signal Strength Indication)等。非測距的定位算法主要包括:質心定位算法,距離矢量跳DV-Hop(Distance Vector-Hop)算法,近似三角形內點測試法APIT(Approximate Point-in-Triangulation Test)定位算法,多維比例圖MDS-MAP(Multidimensional Scaling-Map)算法等。其中基于RSSI的定位技術具有定位精度高且無需額外的硬件設備等優點,使得RSSI定位算法成為一大研究熱點。目前RSSI定位算法常用的是RSSI指紋定位算法[3]和基于RSSI測距的三邊定位算法。Zhang G等人[4]采用RSSI指紋定位算法,在離線階段,建立RSSI指紋數據庫,在在線階段,利用 K-近鄰 KNN(K-Nearest Neighbor)匹配算法將采集到的RSSI值與指紋數據庫中RSSI值進行匹配,最終選擇出K個參考節點進行目標節點的質心定位算法。何青春等人[5]運用RSSI測距技術測量目標節點與已知參考節點之間的距離,隨后利用三邊測量定位算法得到目標節點坐標信息。然而RSSI易受環境影響,尤其在惡劣的工業環境下,測距誤差較大,因此文獻[6]進一步的改進,建立卡爾曼濾波器模型,在基于RSSI的定位算法進行測距時利用卡爾曼濾波器模型對通信節點之間的RSSI值進行平滑優化,使優化過的RSSI值更接近于理想測量值,從而來降低測距算法在測距過程中的誤差,提高定位精度。在文獻[7]中對采集到的RSSI值進行均值濾波,并基于RSSI進行泰勒級數展開定位算法,但在泰勒級數展開定位算法中初始值的選取未進行討論。文獻[8]中采用基于混合接收信號強度差RSSD(Received Signal Strength Difference)和到達時間差TDOA(Time Difference of Arrival)的最小二乘法定位算法,但對硬件要求高,且計算量大,定位精度不高。同時由于Sybil節點會篡改自身的信息來達到難以被定位的效果,導致大多數定位算法都不適用于直接定位攻擊節點。如改進的RSSI指紋定位算法中,Sybil節點篡改接收到的RSSI值,使得無法與指紋數據庫進行正確匹配。

Sybil攻擊源的定位以攻擊源的檢測為基礎,目前Sybil攻擊檢測方法中基于RSSI的檢測方法憑借對節點硬件要求低,通信能耗少等優點,成為Sybil攻擊檢測的主流方法。文獻[9]利用RSSI與節點ID的關聯性,檢測Sybil攻擊。但改變節點發射功率則改變RSSI,所以僅利用關聯性檢測存在漏檢問題。文獻[10]利用不同節點接收的RSSI比值來解決RSSI的不可靠性,一個節點需要四個節點作為監測節點來進行檢測,但監測節點會消耗大量能量,影響網絡的生命周期。文獻[11]采用一種基于異構IWSN的高能節點級、基站級的雙層Sybil攻擊檢測方案,高能節點基于RSSI二次差值檢測普通節點,基站根據高能節點的成功及不成功交互數量計算出信任值進行高能節點的檢測。保證較低虛警率和漏警率的同時提高檢測準確率,減少節點能耗,延長網絡壽命。

文章借鑒TOA定位算法轉化為TDOA定位算法的思想,在RSSI定位算法的基礎上進行改進,實現了一種基于RSSD的定位算法[12],該算法可以定位具有未知傳輸信息的攻擊節點的位置,適用于Sybil攻擊源定位。通過參考節點采集攻擊節點的RSSI值,并采用卡爾曼濾波對RSSI值進行預處理,先利用DV-Hop算法估計出未知參考節點的坐標;再根據RSSD測量值得到非線性方程組,因此對攻擊節點定位問題轉化為對非線性方程組的解算問題,通過最小二乘法估計方程組中攻擊節點的初始值,利用泰勒級數展開法對攻擊節點進行精確定位。

1 定位模型

假設整個網絡分為普通節點和信標節點,其中信標節點通過GPS定位系統或者人工親自部署等方法獲取自身的位置信息,普通節點則是隨機部署,因此位置是未知的。由于攻擊源會篡改自身的信息,因此需要選取攻擊節點通信范圍內的部分節點作為參考節點參與定位。若被攻擊的是信標節點,則節點位置已知,可以直接定位;若Sybil攻擊發生在普通節點中,則需要進行攻擊源定位。

在工業無線傳感器網絡中,假設需要定位的攻擊節點的坐標為X=(x,y),參考節點的坐標為Xi=(xi,yi),i=1,2,…,N,N 為參考節點數。 如圖 1 所示的攻擊節點定位模型中,參考節點數N=4,在攻擊節點的通信范圍內選取出參考節點 X1,X2,X3,X4,其中參考節點X2是信標節點,另外三個參考節點X1,X3,X4是普通節點,此三個節點自身的位置也待估計。

圖1 攻擊節點定位模型

2 基于RSSD的攻擊節點定位總體框架

當利用雙層Sybil攻擊檢測方案[11]檢測出攻擊節點,攻擊節點的ID會被發送至基站,基站接收到信息后,向整個網絡發起對該攻擊節點定位的命令。

基于RSSD的攻擊節點定位主要分為三部分。第一部分,基站對參考節點的選擇及位置估計。基站在攻擊節點的所有鄰居節點范圍內選擇出合適的參考節點參與定位,并對本身不是信標節點的參考節點利用DV-Hop算法進行位置估計。第二部分,參考節點對RSSI值的采集與預處理階段。參考節點采集攻擊節點發送數據包時的RSSI值后發送給基站,由基站采用卡爾曼濾波對所采集的RSSI值進行預處理。第三部分,基于RSSD的攻擊節點的位置估計。根據接收信號強度差與傳播距離之間的數學關系構建非線性方程組,采用最小二乘算法對攻擊節點進行初步估計,再利用泰勒級數展開法進行精確定位。

2.1 基于RSSD的攻擊節點定位架構圖

如圖2所示,是由參考節點的選擇及位置估計、RSSI值的采集與預處理階段、基于RSSD對攻擊節點的初步定位及精準定位三個部分組成的攻擊節點定位架構圖。

圖2 攻擊節點定位架構圖

2.2 參考節點選擇及位置估計

參與定位的參考節點數量越多,定位精確度越高,但所需的能量消耗也就越大,同時定位的時間也會增加,因此為了節約節點能耗以及減少定位時間,同時保證定位精度要求,需要選擇出一些合適的參考節點來參與定位。

2.2.1 參考節點選擇原則

在選取參考節點時遵循以下原則[13]:

①選取的節點應盡量均勻分布在攻擊節點四周,也就是參考節點不能集中分布在攻擊節點的一側。理想狀態下,所有參考節點連接起來所構造的區域應該以攻擊節點為中心[14]。

②在節點同等均勻分布下,為了減少節點間傳播過程中能量消耗,應選取距離攻擊節點較近的參考節點,即所選參考節點到攻擊節點的距離和最小[15]。

③所選擇的參考節點的剩余能量不低于所有鄰居節點的平均剩余能量。

根據構建的RSSD非線性方程組可以得到所需要的最少參考節點數量為4個。

2.2.2 基于DV-Hop算法對參考節點進行位置估計

DV-Hop算法是目前非測距定位算法中使用最廣泛的定位算法之一,它具有實現簡單、通信開銷和計算量較小等優點,所以本文選用DV-Hop算法[16]對位置未知的參考節點進行位置估計。DV-Hop算法的基本思想是:用平均跳距乘以跳數,計算出信標節點到未知參考節點之間的距離,隨后通過極大似然估計解出未知參考節點的坐標。位置未知的參考節點的坐標位置估計過程分為3個階段。

第一階段:獲得最小跳數信息。每個信標節點將數據包{ID,位置,跳數(初始化為0)}發送給通信范圍內的鄰居節點,當鄰居節點收到此數據包時,記錄下到信標節點的跳數,然后跳數值加一繼續轉發給鄰居節點。第二階段:計算信標節點與未知節點之間距離。每個信標節點根據其到其他信標節點的最少跳數和自身坐標,計算出信標節點的平均跳距。所有信標節點將其平均跳距廣播至整個網絡中,未知參考節點將距離最近的信標節點的平均跳距作為自己的平均跳距。最后將平均跳距和跳數信息相乘獲得未知參考節點到信標節點的距離。

第三階段:求解未知參考節點的位置信息。根據未知參考節點已經記錄了到各個信標節點的距離,利用極大似然估計計算出未知參考節點的坐標。

2.3 RSSI值的采集與預處理

攻擊節點將數據包發送給通信范圍內所有節點,其中參考節點就會采集接受數據包時的RSSI值,并將所采集到的RSSI值發送至基站,由基站采用卡爾曼濾波進行RSSI預處理。

2.3.1 參考節點對攻擊節點RSSI值的采集攻擊節點到參考節點的距離可表示為:

不考慮測量誤差的理想環境下,根據陰影衰落模型,各參考節點接收到攻擊節點的RSSI值可表示為:

式中:Pt是節點發送信號功率,γ是傳播路徑損耗指數,根據實際環境選取不同的值,K0是影響接收信號強度所有因素的總效應,如天線高度、天線增益和傳輸干擾等。將式(2)表示成對數正態分布形式

根據dB=10lg(X),在考慮噪聲引起的測量誤差情況下,RSSI值表示為[17]:

式中:e是高斯噪聲,e~N(0,σ2)。

2.3.2 運用卡爾曼濾波對RSSI預處理

由于復雜的工業環境,存在電磁信號的多徑效應和非視距傳播以及大型工業設備的影響,RSSI信號強度并不穩定,存在一定的波動性,因此,不能將RSSI信號強度的一次測量值直接作為參考值,必須對RSSI值進行一定的預處理。

Kalman濾波是一種高效的濾波方法,它以最小均方誤差為最佳估計標準,采取無線信號和環境噪聲的狀態空間模型,利用在上一狀態下對現在的預測值和現狀態下的測量值來代替對現狀態的最佳估計,求出現在時刻的估計值。為了從一系列有噪聲干擾的RSSI數據中用 Kalman濾波估計出理想RSSI值,首先,必須建立RSSI值系統模型并且用如下的線性微分方程來描述該模型:

式中:Ri(k|k-1)表示根據 k-1 時刻的 RSSI的預測值來預測 k時刻的 RSSI預測值,Ri(k-1|k-1)表示k-1時刻的最佳估計RSSI值,A和B是系統參數。當系統模型更新后,用T來表示更新的協方差:

式中:T(k|k-1)是 Ri(k|k-1)對應的協方差,T(k-1|k-1)是 Ri(k-1|k-1)對應的協方差,A′是 A 的轉置矩陣,Q為系統過程噪聲的協方差。

計算卡爾曼增益:

式中:H是系統模型參數,H′為H的轉置,V為測量噪聲的協方差。結合預測RSSI值和實際測量RSSI值,得到k時刻下最佳估計RSSI值Ri(k|k):

式中:Ri(k)是k時刻的實際RSSI測量值,Kg(k)是卡爾曼增益。

為了得到所有時刻下的最佳估計RSSI值,需要更新k狀態下最佳估計RSSI值Ri(k|k)的協方差T(k|k),并將新的協方差代入下個迭代中,即將式(9)中的 T(k|k)代入式(6)中。

式中:I為1的矩陣,對于單模型單測量,I=1。假設k=2,3,…,kmax,當運行至 kmax時,所有時刻都得到最佳RSSI估計值,迭代結束。經過卡爾曼濾波,可有效地削弱由噪聲等因素造成的RSSI的測量誤差,達到提高測量精度的目的。

2.4 基于RSSD的攻擊節點定位

基于RSSD的定位算法是通過測得攻擊節點信號到達不同參考節點之間的信號強度強差,根據信號在空間傳播的模型獲得接收信號強度差與傳播距離之間的數學關系構建非線性方程組,并對方程組進行解算估計攻擊節點的位置坐標。泰勒級數展開法由于求解精度高,收斂速度快等優點是求解非線性方程組的有效方法,該算法對初始值有很強的依賴性,只有在初始值有一定的準確性的情況下才能有較快的收斂速度。因此文中采用最小二乘算法估計攻擊節點坐標的初始值,再利用泰勒級數展開法進行精確定位,保證初始值的合理性,從而減少泰勒級數展開算法的復雜度。

2.4.1 基于最小二乘法的攻擊節點初步定位

在式(4)RSSI值的表達式的基礎上,參考節點之間的接收信號強度差RSSD可表示為[18]:

式中:e1i~N(0,σ2i+σ21),因此,RSSD 測量值與發射功率無關。由上式可得到參考節點Xi到攻擊節點的距離di的表達式:

式中:Δ^R1i(dB)為RSSD的測量值。對式(1)左右兩邊同時平方,并代入左右兩邊同時平方的式(11)中,經過變換得到:

定義ξ1i=10Δ^R1i(dB)/(5γ)-1,攻擊節點的估計位置坐標假設為^X=[^x,^y]T,則式(12)可以化簡成矩陣的形式:

式中:

最后通過最小二乘估計:

最小二乘法的特性以最小化誤差平方之和來作為目標,保證了基于最小二乘法的粗定位可以收斂到真實位置附近,其次,將最小二乘法的值作為泰勒級數展開法的初始值之后,最終求出的目標位置估計值的門限值判定也保證了基于最小二乘法的粗定位可以收斂到真實位置。

2.4.2 基于泰勒級數展開法的攻擊節點精準定位

泰勒級數展開法是一種迭代運算算法,根據參考節點之間的接收信號強度差RSSD建立非線性方程組,并轉化成函數形式,將攻擊節點的初始坐標代入,并在攻擊節點處對其進行泰勒級數展開,獲得最終攻擊節點的位置估計[19]。

參考節點之間的接收信號強度差RSSD建立方程組如下所示:

將式(2)以及式(1)代入式(15)中,得到如下非線性方程組:

將上式定義成函數形式:

式中:i=1,2,…,N。

根據式(14)可以求得攻擊節點的初始坐標為^X=[^x,^y]T,令x=^x+Δx,y=^y+Δy。對上式進行泰勒級數展開,可得

將上式轉換成矩陣形式:

式中

使用最小二乘估計得到W的值

攻擊節點的初始坐標為^X=[^x,^y]T,令x0=^x+Δx,y0=^y+Δy。且直至Δx,Δy足夠小并滿足一個預先設定的門限值 ε[20],使得|Δx|+ |Δy|<ε。 此時,得到最終攻擊節點估計坐標X0=[x0,y0]T。

3 仿真與結果

為了對所研究的RSSD定位算法進行仿真驗證,采用OPNET和MATLAB軟件進行仿真實驗,OPNET軟件用于RSSI測量值的采集,MATLAB軟件用于定位算法的實現。選擇均方根誤差RMSE(Root Mean Square Error)作為定位精度指標,將本文定位算法與文獻[7-8]中的定位算法進行對比分析。

均方根誤差RMSE的計算公式如下所示:

式中:n 為測量次數,Ln測量值與真實值的偏差,即攻擊節點的最終估計坐標與實際坐標的偏差。

對采用卡爾曼濾波對RSSI預處理的作用進行仿真驗證。首先,在OPNET軟件仿真區域為150 m×150 m的范圍內隨機部署一個攻擊節點以及九個鄰居節點,考慮噪聲情況下,采集其中一個節點的RSSI值共200組。再在MATLAB仿真軟件中運行卡爾曼濾波算法,對采集到的200組RSSI值作為卡爾曼濾波的輸入值,對RSSI值進行預處理后。卡爾曼濾波處理前后對比情況如圖3所示,由圖3可知,卡爾曼濾波算法收斂速度較快,在第100組數據時濾波后的RSSI值開始穩定在20 dBm左右。其中選擇了150組到180組期間的RSSI值進行放大對比,濾波前,RSSI值波動范圍為15 dBm~25 dBm,濾波后,RSSI值波動范圍為19 dBm~21 dBm。可見,采用卡爾曼濾波對RSSI值進行預處理,對誤差較大的值有很好的濾波作用,可以有效減少噪聲干擾,達到去噪的效果,有利于提高定位精度。

圖3 卡爾曼濾波處理前后RSSI值對比圖

驗證采用DV-Hop算法對未知參考節點位置估計的必要性以及 DV-Hop算法的位置估計。在MATLAB中設仿真區域大小為1 000 m×1 000 m,隨機部署300個未知節點和30個信標節點;普通節點通信半徑為100 m,信標節點通信半徑為150 m。節點分布情況如圖4所示。

圖4 節點分布情況

圖5 節點間通信情況

節點間通信情況如圖5所示。仿真計算出圖5中未知節點通信區域內的信標節點平均數目為2.044 4,未知節點通信區域內的未知節點平均數目為8.592 6。可見,當需要對攻擊節點進行定位時,攻擊節點通信范圍內的信標節點個數未達到定位時所需的參考節點個數最低要求4個,僅依靠信標節點來作為參考節點是不夠的,為此,本文采用增加普通節點作為參考節點來對攻擊節點進行定位,以有效地解決信標節點數量少的問題。

驗證所選用的DV-Hop算法對位置未知節點的位置估計有很好的性能。假設在仿真區域內隨機部署未知節點和信標節點,其中信標節點的密度為10%。定義未知節點歸一化的相對定位誤差為:

式中:MT為總節點的個數,MB為信標節點的個數,r為節點的半徑,(xreal,i,yreal,i)為未知節點 i的實際坐標,(xtest,i,ytest,i) 為通過 DV-Hop 算法的估計坐標。表1為DV-Hop算法在不同總節數下的相對定位誤差比較情況。

表1 DV-Hop算法相對定位誤差情況

由表1可以看出DV-Hop算法對未知節點位置估計時有較低的定位誤差,較好的定位性能,且隨著節點個數增多,定位誤差越小,但當總節點數達到300以后,定位誤差處于穩定狀態。

MATLAB軟件仿真驗證研究的RSSD定位算法的有效性。根據在OPNET軟件中部署的一個攻擊節點以及九個鄰居節點的部署情況,在MATLAB中還原相同的部署,并在所有鄰居節點中選擇出四個最優參考節點。在相同條件下,不同門限值的選擇會導致定位算法最終定位誤差的差異,仿真中門限值設定為1.5,此時定位誤差最小[20]。如圖6所示,根據選擇的四個參考節點對攻擊節點進行定位。

與文獻[7-8]中的Hybrid-LS定位算法和RSSI-TL定位算法進行定位性能對比,主要比較了不同算法定位攻擊節點的均方根誤差,仿真結果如圖7所示。

圖6 所選參考節點分布情況

圖7 不同算法的定位誤差情況

由圖7可知,當噪聲標準差越大時,三種定位算法的定位均方根誤差RMSE越大。當標準差在4 dB~10 dB之間變化時,Hybrid-LS定位算法[8]的RMSE在6m~10m之間變化;RSSI-TL定位算法[7]的RMSE在4 m~8 m之間變化;RSSD-Hybrid定位算法的RMSE在2 m~5 m之間變化。

表2列出了三種算法的時間復雜度,其中N表示樣本數量,K為特征的數量。可以看出三種算法復雜度都屬于線性級,是同一數量級,在復雜度方面略微增加。

表2 算法時間復雜度對比情況

因此,RSSD-Hybrid定位算法在復雜度方面略微增加,但定位精度要明顯高于其他兩種定位算法。

4 結論

根據工業無線傳感器網絡中被Sybil攻擊的節點會篡改自身的信息導致難以被定位的問題,本文提出一種基于RSSD的定位估計算法。此方法中利用改進的DV-Hop算法估計出未知參考鄰居節點的坐標,將攻擊節點位置估計問題轉化為對非線性方程組的解算問題,分別利用最小二乘法和泰勒級數展開法對攻擊節點進行定位。整個定位算法可以有效地減少噪聲的干擾,解決攻擊源不配合定位和信標節點數量少的問題,顯著提高節點定位精度。

猜你喜歡
卡爾曼濾波
基于雙擴展卡爾曼濾波的電池荷電狀態估計
測控技術(2018年11期)2018-12-07 05:49:38
改進的擴展卡爾曼濾波算法研究
測控技術(2018年12期)2018-11-25 09:37:34
基于無跡卡爾曼濾波的行波波頭辨識
基于遞推更新卡爾曼濾波的磁偶極子目標跟蹤
基于有色噪聲的改進卡爾曼濾波方法
基于序貫卡爾曼濾波的OCT信號處理方法研究
基于模糊卡爾曼濾波算法的動力電池SOC估計
電源技術(2016年9期)2016-02-27 09:05:39
融合卡爾曼濾波的VFH避障算法
基于擴展卡爾曼濾波的PMSM無位置傳感器控制
電源技術(2015年1期)2015-08-22 11:16:28
基于EMD和卡爾曼濾波的振蕩信號檢測
主站蜘蛛池模板: 国产在线视频欧美亚综合| 国产综合精品一区二区| 日本在线亚洲| 91蝌蚪视频在线观看| 精品无码国产一区二区三区AV| 58av国产精品| 国产精品人成在线播放| 亚洲精品成人片在线播放| 色婷婷在线播放| 99伊人精品| 欧美人与牲动交a欧美精品 | 欧美a级在线| 欧美日韩一区二区在线免费观看| 99免费在线观看视频| 亚洲欧洲天堂色AV| 人妻免费无码不卡视频| 在线精品自拍| 欧美精品亚洲日韩a| 亚洲成人动漫在线| 国产精品片在线观看手机版| 色综合久久88| 日韩中文欧美| 美美女高清毛片视频免费观看| 亚洲 日韩 激情 无码 中出| 最新日韩AV网址在线观看| 无码一区二区三区视频在线播放| 日韩人妻精品一区| 免费国产一级 片内射老| 亚洲精品在线影院| 国产欧美精品午夜在线播放| 欧美福利在线播放| 人妻熟妇日韩AV在线播放| 中文字幕免费在线视频| 日韩不卡免费视频| 亚洲视频一区| 极品国产在线| 成年片色大黄全免费网站久久| 国产亚洲欧美在线专区| 日韩A∨精品日韩精品无码| 中文字幕不卡免费高清视频| 亚洲第一黄色网址| 99热这里只有精品免费| 久久毛片网| 人妻无码AⅤ中文字| 国产精品99久久久久久董美香 | 亚洲国内精品自在自线官| 黄色网站不卡无码| 国产成人高清精品免费软件| 欧美在线黄| 呦视频在线一区二区三区| 91视频区| 中文天堂在线视频| 国产亚洲精品va在线| 欧美一区精品| 国产尤物jk自慰制服喷水| 国内精品免费| 国产精品片在线观看手机版| 国产在线观看一区精品| 国产欧美日韩一区二区视频在线| 中文字幕免费视频| 久久77777| 国产91丝袜在线播放动漫 | 亚洲精品无码抽插日韩| 成人国产精品视频频| 亚洲第七页| 国产成人精品日本亚洲77美色| 亚洲日韩精品无码专区97| 好久久免费视频高清| 欧美精品综合视频一区二区| 亚洲乱码在线视频| 一本色道久久88综合日韩精品| 亚洲国产精品美女| 国产乱人伦AV在线A| 国产黄色视频综合| www.日韩三级| 午夜免费视频网站| 亚洲无码精彩视频在线观看| 亚洲国产av无码综合原创国产| 99成人在线观看| 88av在线看| 小说区 亚洲 自拍 另类| 99热国产这里只有精品9九|