鄒 柯,姚英彪(杭州電子科技大學通信工程學院,杭州 310018)
?
抵御欺騙攻擊的DV-Hop安全定位算法*
鄒 柯,姚英彪*
(杭州電子科技大學通信工程學院,杭州 310018)
針對無線傳感器網(wǎng)絡中距離無關(guān)的定位技術(shù),提出了DV-Hop定位中普通節(jié)點被俘獲的欺騙攻擊模型,分析了這種欺騙攻擊模型對DV-Hop定位過程的影響,進而提出了一種抵御欺騙攻擊的DV-Hop安全定位算法。首先,在普通節(jié)點端提出了基于發(fā)送-轉(zhuǎn)發(fā)信息一致性的檢測機制來檢測惡意節(jié)點;其次,在匯聚節(jié)點端提出了基于消息轉(zhuǎn)發(fā)鏈舉證的檢測機制來確定惡意節(jié)點;最后,當匯聚節(jié)點檢測出存在惡意節(jié)點進行篡改攻擊后,匯聚節(jié)點通報全網(wǎng)棄用惡意節(jié)點轉(zhuǎn)發(fā)的數(shù)據(jù)分組并重啟定位。仿真結(jié)果表明,本文提出的安全定位算法可以有效濾除惡意節(jié)點,且安全定位算法的定位性能與無攻擊下的DV-Hop定位性能基本相當,可以有效解決欺騙攻擊對DV-Hop定位過程造成的影響。
無線傳感器網(wǎng)絡;欺騙攻擊;安全定位;DV-Hop定位
無線傳感器網(wǎng)絡(WSN)在軍事、工農(nóng)業(yè)控制、環(huán)境監(jiān)測等相關(guān)領域有著廣闊的應用前景。在大多數(shù)應用中,WSN監(jiān)測的事件與節(jié)點的物理位置信息息息相關(guān),沒有位置信息的監(jiān)測數(shù)據(jù)是毫無意義的。因此,節(jié)點定位技術(shù)[1-2]作為WSN的應用基礎,貫穿了整個WSN技術(shù)的研究和發(fā)展。WSN節(jié)點定位大致可以分為兩類:基于測距和無需測距[3-5]?;跍y距的定位方法中,未知節(jié)點采用特定的測距設備測量其與信標節(jié)點之間的距離信息或角度信息進行定位;相對于基于測距的定位算法,無需測距算法不依賴于任何測距設備,僅僅利用節(jié)點之間的連通信息進行定位,雖然其定位精度一般低于基于測距的定位算法,但其能耗和成本更優(yōu)。
然而,由于WSN經(jīng)常部署在無人值守的環(huán)境中,攻擊節(jié)點能夠很輕易地入侵到網(wǎng)絡中,破壞網(wǎng)絡的正常功能。同時,無線通信過程的開放特性決定了攻擊節(jié)點能夠監(jiān)聽網(wǎng)絡中數(shù)據(jù)分組或者偽造數(shù)據(jù)分組并廣播到網(wǎng)絡中。因此,安全問題已經(jīng)成為WSN研究過程中的一個重大挑戰(zhàn)[6-7]。WSN 中典型的攻擊類型包括欺騙攻擊(Spoofing Attack)、蟲洞攻擊(Wormhole Attack)[8]、女巫攻擊(Sybil Attack)[9]等幾種。其中欺騙攻擊是一種比較復雜的攻擊方式,攻擊者需要捕獲網(wǎng)絡中的節(jié)點,獲取網(wǎng)絡中節(jié)點間進行通信的密鑰,進而偽裝成網(wǎng)絡內(nèi)部的節(jié)點從內(nèi)部發(fā)動攻擊。惡意節(jié)點一般通過改變節(jié)點定位過程中需要的一些定位參數(shù)完成攻擊的任務,根據(jù)所修改的參數(shù)不同又可以將欺騙攻擊細分為篡改攻擊(Distort/Tamper Attack);偽造功率攻擊(Forge Attack);重放、延時攻擊(Replay/Delay Attack)等。目前,WSN 安全定位技術(shù)研究主要集中在抵御欺騙攻擊和蟲洞攻擊兩類攻擊方面,衍生出的安全定位算法一般分為檢測攻擊類算法和容忍攻擊類算法[10-12]。
作為一種經(jīng)典的無需測距定位算法,DV-Hop算法[13-15]在WSN 節(jié)點定位中已得到廣泛應用和深入研究。為提高易受攻擊的 DV-Hop算法的安全性,本文首先分析欺騙攻擊對DV-Hop定位過程的影響,提出一種抵御欺騙攻擊的安全定位方法,并通過仿真驗證了所提出的安全定位方法的有效性。
目前雖然在抵御欺騙攻擊的安全定位技術(shù)方面已開展了一定研究,但提出的相關(guān)算法較為有限。文獻[16]針對基于測距算法中,普通傳感器被俘獲虛報測距距離的欺騙攻擊模型,提出了一種基于隨機數(shù)驗證的安全定位算法SLA。SLA算法中,信標節(jié)點分別采用不同功率的信號發(fā)送不同隨機數(shù),網(wǎng)絡中不同位置傳感器節(jié)點都能獲得一個獨特的隨機數(shù)集并上報給基站;基站可以將這些隨機數(shù)集映射到一個由各通信邊界相互交叉而劃分出的子區(qū)域,從而確定未知節(jié)點的位置。Srinivasan等人針對網(wǎng)絡中某些信標節(jié)點被俘獲,成為惡意信標節(jié)點,廣播錯誤位置信息的欺騙攻擊模型,提出了一種基于分布式聲譽機制的信標節(jié)點信任模型DRBTS[17]。算法利用每個檢查點(信標節(jié)點)監(jiān)聽鄰居信標節(jié)點的情況,并根據(jù)每次觀察結(jié)果更新監(jiān)督對象的聲譽值,同時未知節(jié)點通過學習機制收集鄰居信標節(jié)點的聲譽信息,再根據(jù)這些信息采用信任分級和集體投票方法選出可信任的信標節(jié)點,這套系統(tǒng)在一定程度上降低了惡意信標節(jié)點對定位系統(tǒng)的影響。文獻[18]針對網(wǎng)絡中存在欺騙信標節(jié)點的情況,其中欺騙信標節(jié)點指廣播錯誤位置信息或影響普通節(jié)點測距結(jié)果的信標節(jié)點,從數(shù)學的角度證明了要確保二維定位算法有一個固定的誤差屆限,其充要條件是待定位節(jié)點周圍的惡意信標節(jié)點數(shù)量小于等于(n-3)/2,其中n為信標節(jié)點數(shù)量。同時該文也指出,安全定位方法主要有兩類:①檢測欺騙節(jié)點,并在定位過程中消除其影響;②魯棒性的定位機制,容忍惡意節(jié)點存在。
上述研究中,DRBTS算法和文獻[18]的欺騙攻擊模型都假設信標節(jié)點為惡意節(jié)點,惡意信標通過偽造虛假定位信息,讓未知節(jié)點定位出現(xiàn)嚴重偏差。事實上,在某些場合,俘獲信標節(jié)點的難度是比較大的,例如某些重要的信標節(jié)點會有專門人員值守。相對來說俘獲普通傳感器節(jié)點比較容易實現(xiàn),并且普通節(jié)點為惡意節(jié)點的情況對網(wǎng)絡定位造成的破壞性同樣很大。SLA算法是針對惡意節(jié)點為普通傳感器節(jié)點的安全定位算法,但是該算法是基于測距的定位,需要配備特殊的硬件來完成測距和檢測。我們在查閱大量相關(guān)文獻的基礎上,發(fā)現(xiàn)目前不存在針對無需測距定位算法中普通傳感器節(jié)點被俘獲進行欺騙攻擊的安全定位算法。所以本文針對典型的無需測距算法DV-Hop定位過程中,普通節(jié)點被俘獲進行欺騙攻擊,提出了一種抵御欺騙攻擊的安全定位方法。本文主要的貢獻如下:①建立了在DV-Hop定位中普通節(jié)點被俘獲的欺騙攻擊模型,并且詳細分析了篡改跳數(shù)信息,篡改坐標信息和謊報這3種攻擊對DV-Hop定位的影響。②在普通節(jié)點端提出基于發(fā)送-轉(zhuǎn)發(fā)信息一致性的檢測機制來檢測惡意節(jié)點。該機制通過修改DV-Hop信息廣播協(xié)議,在轉(zhuǎn)發(fā)的數(shù)據(jù)分組中加入轉(zhuǎn)發(fā)節(jié)點身份識別號(ID),節(jié)點只針對自身轉(zhuǎn)發(fā)的數(shù)據(jù)分組進行檢測。③為了準確區(qū)分惡意節(jié)點謊報信息和真正的良性節(jié)點匯報的信息,我們在匯聚節(jié)點端提出基于消息轉(zhuǎn)發(fā)鏈舉證的檢測機制來確定惡意節(jié)點,通過對比匯報節(jié)點及其消息轉(zhuǎn)發(fā)鏈上前后兩個節(jié)點保存的數(shù)據(jù)分組來判斷節(jié)點是否在謊報。
仿真表明,我們提出的安全定位算法能夠濾除惡意節(jié)點,且安全定位算法的定位性能與無攻擊下的DV-Hop的定位性能基本相當,可以有效解決普通節(jié)點的欺騙攻擊對DV-Hop定位過程造成的影響。
2.1 網(wǎng)絡模型
在WSN中有4種節(jié)點:信標節(jié)點、普通節(jié)點(良性節(jié)點)、惡意節(jié)點和匯聚(Sink)節(jié)點。信標節(jié)點是位置信息已知的節(jié)點(通過GPS設備或提前部署獲得),可以為網(wǎng)絡中其他節(jié)點提供定位服務,也可以執(zhí)行檢測任務;普通節(jié)點是位置未知的節(jié)點,在網(wǎng)絡中執(zhí)行特定的檢測任務,同時可以在信標節(jié)點的幫助下進行自身定位;惡意節(jié)點是攻擊者在捕獲到網(wǎng)絡中的普通節(jié)點后,通過技術(shù)手段獲取網(wǎng)絡中通信密鑰和認證,然后偽裝成正常節(jié)點進行攻擊破壞的節(jié)點;Sink節(jié)點負責集中處理節(jié)點匯報的異常信息,濾除惡意節(jié)點,重啟定位。
本文的安全定位算法所作假設如下:①信標節(jié)點為人為提前部署并有人值守,所以攻擊者無法捕獲信標節(jié)點實施攻擊行為;②惡意節(jié)點不篡改節(jié)點的ID信息[16-18],當網(wǎng)絡中有多個惡意節(jié)點時,它們之間不共謀;③網(wǎng)絡中所有節(jié)點通信半徑均相同,且假設任意兩節(jié)點在通信范圍內(nèi)進行數(shù)據(jù)分組交換不存在丟失情況[8,18]。
2.2 DV-Hop定位過程介紹
DV-Hop定位主要包括3個階段:①信標節(jié)點通過距離矢量路由廣播自身信息,網(wǎng)絡中所有節(jié)點保存到信標節(jié)點跳數(shù)最小的數(shù)據(jù)分組作為定位參考信息,并和鄰居節(jié)點交換信息。②信標節(jié)點接收到來自其他所有信標節(jié)點的信息后,估算平均每跳距離。然后每個信標節(jié)點廣播自身的平均每跳距離,未知節(jié)點只保存第1個接收到的平均每跳距離,以此保證節(jié)點接收到的平均每跳距離是最近的一個信標節(jié)點發(fā)送來的。③當未知節(jié)點得到3個及以上不同信標節(jié)點的距離后,運用三邊測量法或似然法估算自身位置。
信標節(jié)點信息傳播的數(shù)據(jù)分組格式如圖1所示,其中ID用來標志信標節(jié)點身份;x和y分別為信標節(jié)點的二維坐標;hopsize表示跳數(shù)信息,該字段初始為0,它記錄數(shù)據(jù)分組在轉(zhuǎn)發(fā)過程中所經(jīng)歷的跳數(shù),由轉(zhuǎn)發(fā)節(jié)點修改。
圖1 DV-Hop中信標節(jié)點信息傳播的數(shù)據(jù)分組格式
2.3 欺騙攻擊模型
本文主要研究欺騙攻擊對典型的無需測距算法DV-Hop算法的影響。本文假設惡意節(jié)點必定會進行篡改跳數(shù)信息、篡改坐標信息和謊報這3種欺騙攻擊中的一種。
2.3.1 篡改跳數(shù)信息模型
圖2中,黑色圓圈表示信標節(jié)點,白色圓圈表示普通節(jié)點,黑色三角形表示惡意節(jié)點。圖2(a)中信標節(jié)點A到惡意節(jié)點F的實際跳數(shù)應該是5,若惡意節(jié)點F將接收到的數(shù)據(jù)分組中跳數(shù)信息篡改成了1,然后將此信息廣播給鄰居節(jié)點,由于未知節(jié)點總是保留距離信標節(jié)點跳數(shù)最小的信息作為定位參考信息,所以當惡意節(jié)點F將跳數(shù)信息篡改成小于正常跳數(shù)時,其鄰居節(jié)點都將會保留節(jié)點F廣播的信息,隨后繼續(xù)廣播,最終將會有很大一部分節(jié)點的跳數(shù)信息發(fā)生巨大偏差而導致巨大的定位誤差。此外,當惡意節(jié)點將跳數(shù)信息篡改成大于正常跳數(shù)時也會造成一定的誤差,如圖2(b)所示,信標節(jié)點A到節(jié)點C的正常跳數(shù)應為2,但是當惡意節(jié)點B將跳數(shù)篡改成遠遠比2大時,節(jié)點C將會選擇其余的路徑比如由節(jié)點E廣播來的跳數(shù)為3的信息作為自己的定位參考信息,這樣對最終的定位結(jié)果也會造成一定程度的影響。
圖2 篡改跳數(shù)信息模型
圖3 篡改坐標信息模型
2.3.2 篡改坐標信息模型
如圖3所示,A為信標節(jié)點,B為惡意節(jié)點,信標節(jié)點A廣播帶有自身信息的數(shù)據(jù)分組給惡意節(jié)點B,惡意節(jié)點B可能篡改數(shù)據(jù)分組里信標節(jié)點的坐標信息,如圖3中A′(x′,y′),然后將篡改后的數(shù)據(jù)分組廣播出去,節(jié)點B的鄰居節(jié)點接收了篡改后的信息并且將錯誤信息繼續(xù)廣播給下個鄰居節(jié)點,這樣一來受到影響的節(jié)點將會有很多,這些節(jié)點采用錯誤參考信息進行定位就會導致定位結(jié)果的巨大偏差。然而相對于跳數(shù)信息的篡改,篡改坐標信息所能影響到的節(jié)點并沒有那么多,這是因為根據(jù)DV-Hop定位機制,節(jié)點總是會保存到信標節(jié)點跳數(shù)較小的數(shù)據(jù)分組,只要惡意節(jié)點不在此節(jié)點到信標節(jié)點的最短路徑上,那么后續(xù)節(jié)點都會拋棄此篡改信息。
2.3.3 惡意節(jié)點謊報模型
惡意節(jié)點除了會篡改數(shù)據(jù)分組信息,還可能進行謊報。我們考慮有兩種謊報模型,(1)惡意節(jié)點謊報良性節(jié)點為異常節(jié)點;(2)惡意節(jié)點對其他篡改信息的惡意節(jié)點不匯報。對于第1種謊報模型,由于本文設計的檢測算法是當每個節(jié)點廣播消息后,由這條消息的來源節(jié)點檢測此消息是否異常,一旦檢測出異常,節(jié)點會向Sink節(jié)點匯報異常信息,由Sink節(jié)點來標記惡意節(jié)點,然后重啟定位。當惡意節(jié)點不進行第1和第2種攻擊時,此惡意節(jié)點不會暴露,此時若惡意節(jié)點故意謊報其鄰居節(jié)點為異常節(jié)點,Sink節(jié)點在不分辨信息真?zhèn)蔚那闆r下,會將良性節(jié)點當做惡意節(jié)點來處理。這樣一來網(wǎng)絡可能會經(jīng)過多次重啟定位,網(wǎng)絡節(jié)點的能量會有巨大損耗。對于第2種謊報模型,網(wǎng)絡中存在多個惡意節(jié)點,當有惡意節(jié)點檢測出另一個惡意節(jié)點在篡改信息時,采取不匯報的行為,此時這兩個惡意節(jié)點的行為本質(zhì)上已經(jīng)構(gòu)成共謀。在這種情況下,Sink節(jié)點無法檢測出這2個惡意節(jié)點,網(wǎng)絡仍然會受到惡意節(jié)點篡改信息的影響。
圖5 基于發(fā)送-轉(zhuǎn)發(fā)信息一致性檢測算法的偽代碼
3.1 基于發(fā)送-轉(zhuǎn)發(fā)信息一致性的檢測原理
為了解決DV-Hop定位過程存在惡意節(jié)點篡改轉(zhuǎn)發(fā)數(shù)據(jù)分組信息的問題,我們提出基于發(fā)送-轉(zhuǎn)發(fā)信息一致性的方法來檢測異常節(jié)點,即每個節(jié)點廣播消息后,由這條消息的來源節(jié)點檢測此消息是否被篡改過;一旦發(fā)現(xiàn)異常,就可以檢測出惡意節(jié)點。隨后檢測節(jié)點將異常信息匯報到Sink節(jié)點,由Sink節(jié)點集中處理。為此,我們修改了DV-Hop信息廣播協(xié)議,在數(shù)據(jù)分組中加入消息來源節(jié)點的ID信息和發(fā)送節(jié)點的ID信息。數(shù)據(jù)分組的格式如圖4所示,其中T-ID表示發(fā)送節(jié)點,即節(jié)點自身的ID值;R-ID表示轉(zhuǎn)發(fā)節(jié)點,即消息來源節(jié)點的ID值;B-ID表示信標節(jié)點的ID值;x和y分別表示信標節(jié)點橫縱坐標;hopsize表示距信標節(jié)點的最小跳數(shù)值。在圖4中,T-ID節(jié)點廣播的信息由R-ID節(jié)點進行檢測。
圖4 節(jié)點轉(zhuǎn)發(fā)的數(shù)據(jù)分組格式
基于發(fā)送-轉(zhuǎn)發(fā)信息一致性檢測算法的偽代碼如圖5所示,它描述了當節(jié)點接收到鄰居節(jié)點發(fā)送過來的信息時的處理過程。當節(jié)點接收到信息時,首先查看數(shù)據(jù)分組中信標節(jié)點ID字段,若是第1次接收到關(guān)于此信標節(jié)點的信息,則將轉(zhuǎn)發(fā)節(jié)點ID和自身ID值記錄進數(shù)據(jù)分組,隨后廣播出去;若之前已經(jīng)接收過此信標節(jié)點的信息,則查看數(shù)據(jù)分組中轉(zhuǎn)發(fā)節(jié)點ID字段有無自身ID信息,記錄有自身ID信息表明此信息是由自身轉(zhuǎn)發(fā)的,那么節(jié)點就對此信息進行檢測,通過對比數(shù)據(jù)分組中坐標信息是否一致,跳數(shù)信息是否滿足遞增關(guān)系來判斷節(jié)點是良性還是惡意;否則,轉(zhuǎn)發(fā)節(jié)點ID字段不是自身ID信息,則比較跳數(shù)信息,保留到信標節(jié)點跳數(shù)較小的數(shù)據(jù)分組。
3.2 基于消息轉(zhuǎn)發(fā)鏈舉證的檢測機制
本文中惡意節(jié)點謊報有兩種模型,分別是惡意節(jié)點謊報良性節(jié)點為異常節(jié)點和惡意節(jié)點對其他篡改信息的惡意節(jié)點不匯報。我們針對第1種謊報模型,即惡意節(jié)點謊報良性節(jié)點為異常節(jié)點,提出了基于消息轉(zhuǎn)發(fā)鏈舉證的檢測機制來確定惡意節(jié)點。消息轉(zhuǎn)發(fā)鏈模型如圖6所示,其中黑色圓圈表示信標節(jié)點,白色圓圈表示普通節(jié)點。信標節(jié)點A的定位參考信息按照圖4的數(shù)據(jù)分組格式在普通節(jié)點間進行轉(zhuǎn)發(fā),節(jié)點m保存信標節(jié)點A的信息后廣播出去,節(jié)點i接收并保存了節(jié)點m轉(zhuǎn)發(fā)的信息,同樣節(jié)點j保存了節(jié)點i轉(zhuǎn)發(fā)的信息,節(jié)點k保存了節(jié)點j轉(zhuǎn)發(fā)的信息。這樣節(jié)點m,i,j,k就形成了一條消息轉(zhuǎn)發(fā)鏈,在這條鏈上,節(jié)點m負責對節(jié)點i進行檢測,節(jié)點i負責對節(jié)點j檢測,節(jié)點j負責對節(jié)點k檢測。當然,對節(jié)點m進行檢測是由上一個轉(zhuǎn)發(fā)節(jié)點執(zhí)行的,這條消息轉(zhuǎn)發(fā)鏈的源頭就是信標節(jié)點A。
圖6 消息轉(zhuǎn)發(fā)鏈模型
當Sink節(jié)點接收到惡意節(jié)點警告信息后,根據(jù)本文的假設和圖5所示的算法,可以得出網(wǎng)絡中必定有惡意節(jié)點存在。此時可以分為兩種情況:(1)良性節(jié)點匯報篡改信息的惡意節(jié)點;(2)惡意節(jié)點謊報良性節(jié)點為惡意節(jié)點。這兩種情況對網(wǎng)絡定位的危害不同,所以必須加以區(qū)分。因此,一旦Sink節(jié)點接收到警告信息后,Sink節(jié)點則要求匯報節(jié)點及其消息轉(zhuǎn)發(fā)鏈上的前后兩個節(jié)點分別將自身保存的數(shù)據(jù)分組上報,最后Sink節(jié)點根據(jù)圖7所示的算法來判斷到底誰是惡意節(jié)點,并做出相應的處理。
以圖6為例,假設Sink節(jié)點收到j匯報k是惡意節(jié)點,Sink節(jié)點能夠按圖7這樣識別惡意節(jié)點的依據(jù)是節(jié)點i是良性節(jié)點。節(jié)點i良性是由轉(zhuǎn)發(fā)給節(jié)點i信息的m節(jié)點證明的,因為Sink節(jié)點并沒有收到節(jié)點m匯報節(jié)點i是異常節(jié)點的警報,而證明節(jié)點m是良性節(jié)點的是上一個轉(zhuǎn)發(fā)節(jié)點,如此依次在消息轉(zhuǎn)發(fā)鏈上舉證,可以一直追蹤到信標節(jié)點A,而本文第1條假設就是信標節(jié)點一定是良性節(jié)點。另外,從圖7中可以看到,對惡意節(jié)點謊報和惡意節(jié)點纂改數(shù)據(jù)的處理方式不一樣,如果是謊報,惡意節(jié)點實質(zhì)上未對DV-Hop定位產(chǎn)生影響,因而可以直接忽略其謊報信息;但是,如果是纂改數(shù)據(jù),其已經(jīng)對DV-Hop定位產(chǎn)生影響,所以必須通報全網(wǎng)棄用標記為惡意的節(jié)點轉(zhuǎn)發(fā)來的數(shù)據(jù)分組,然后重啟定位。
圖7 匯聚節(jié)點識別惡意節(jié)點的算法
對于第2種謊報模型,惡意節(jié)點對其他篡改信息的惡意節(jié)點不匯報的情況,采用基于消息轉(zhuǎn)發(fā)鏈舉證的檢測機制是無效的。例如圖6中假設節(jié)點j和節(jié)點k都是惡意節(jié)點,惡意節(jié)點k篡改了j廣播的信息,而負責檢測節(jié)點k的是惡意節(jié)點j,節(jié)點j檢測出來后,但是故意不匯報節(jié)點k,此時Sink節(jié)點不會接收到關(guān)于節(jié)點k的異常警報,那么節(jié)點k就不可能被檢測出來。此時這兩個節(jié)點實質(zhì)上相當于進行了合謀。幸運的是,發(fā)生這種情況的概率很低,這是因為:首先要求兩個惡意節(jié)點是鄰居節(jié)點;其次,后面一個惡意節(jié)點正好采用了前面一個惡意節(jié)點廣播的信息,并且進行了篡改;最后,前面負責檢測的惡意節(jié)點沒有匯報此異常。同時滿足上面3個條件,惡意節(jié)點才不會被檢測出來。雖然可能性很小,但是確實存在這種情況,目前我們的算法還無法解決這個問題,這也是我們今后工作的一個方向。
3.3 DV-Hop安全定位算法流程
本文安全定位算法的流程如下:
Step 1 信標節(jié)點廣播包含自身ID信息,坐標信息和初始化跳數(shù)信息的數(shù)據(jù)分組。
Step 2 節(jié)點接收到來自鄰居節(jié)點的數(shù)據(jù)分組時,按圖5所示算法進行數(shù)據(jù)處理。
Step 3 當每個信標節(jié)點都接收到其余n-1個信標節(jié)點的信息時,或者達到某個時間后,標志廣播結(jié)束。
Step 4 若Sink節(jié)點接收到警報信息,按圖7所示算法進行處理,如果檢測出有惡意節(jié)點纂改數(shù)據(jù)分組信息,就在全網(wǎng)廣播惡意節(jié)點ID,并重啟定位(重復Step 1~Step 3),直到Sink節(jié)點未檢測出有惡意節(jié)點纂改數(shù)據(jù)分組信息。
Step 5 信標節(jié)點估算平均每跳距離,然后每個信標節(jié)點廣播自身的平均每跳距離,未知節(jié)點保存最近信標節(jié)點的平均每跳距離。
Step 6 當未知節(jié)點得到3個及以上不同信標節(jié)點的距離后,運用三邊測量法或似然法估算自身位置。
與原始DV-Hop算法相比,DV-Hop安全定位算法區(qū)別在于Step 2、Step 4和廣播的數(shù)據(jù)分組格式。在 Step 2中,節(jié)點接收到鄰居節(jié)點信息時,并不像原始DV-Hop一樣,簡單地保存到信標節(jié)點跳數(shù)最小的數(shù)據(jù)分組,而是按照圖5所示的基于發(fā)送-轉(zhuǎn)發(fā)信息一致性的檢測算法執(zhí)行一個檢測過程。Step4是原始DV-Hop算法沒有的,這是本文為處理節(jié)點檢測出來的異常信息而引入的,目的在于消除惡意節(jié)點對網(wǎng)絡定位的影響。此外,通過圖1和圖4的對比也可以看到,DV-Hop安全定位算法廣播的數(shù)據(jù)分組格式也與原始DV-Hop算法不同。
本節(jié)中,我們通過仿真來分析欺騙攻擊對DV-Hop定位過程的影響,由于對謊報攻擊模型,我們的檢測機制總能檢測出來,并且謊報攻擊對定位影響不大,所以我們主要從惡意節(jié)點篡改攻擊,惡意節(jié)點在網(wǎng)絡中的位置以及惡意節(jié)點數(shù)量3個方面研究欺騙攻擊對DV-Hop定位的影響,同時驗證安全定位算法的有效性。
4.1 仿真環(huán)境
仿真過程中默認的參數(shù)配置如下:傳感器網(wǎng)絡節(jié)點隨機均勻分布在100 m×100 m的正方形區(qū)域,4個信標節(jié)點布置在4個角落上,坐標分別為(0,0),(0,100),(100,0),(100,100)。所有節(jié)點通信半徑相同,網(wǎng)絡中惡意節(jié)點對坐標數(shù)據(jù)篡改隨機產(chǎn)生,對跳數(shù)篡改總是小于接收到的數(shù)據(jù)分組中跳數(shù)。考慮到跳數(shù)和坐標信息的篡改具有很大的隨機性,文中所有數(shù)據(jù)都是100次仿真試驗的平均值。本文使用的性能指標為網(wǎng)絡的歸一化平均定位誤差,定義為:
(1)式中:為節(jié)點i的真實位置,為節(jié)點i的定位位置,m為未知節(jié)點個數(shù),r為節(jié)點通信半徑,仿真中取為22m。
4.2 安全定位算法性能分析
4.2.1 惡意節(jié)點篡改攻擊的DV-Hop安全定位分析
我們考慮到當惡意節(jié)點篡改定位參考信息時,單獨篡改跳數(shù)信息和單獨篡改坐標信息對DV-Hop定位的影響是不同的,所以我們分別研究了這兩種情況對DV-Hop定位的影響。圖8顯示了單獨篡改跳數(shù)信息,單獨篡改坐標信息,安全定位算法和無攻擊下DV-Hop的歸一化平均定位誤差與節(jié)點連通度的關(guān)系,其中節(jié)點連通度定義為網(wǎng)絡中節(jié)點的一跳鄰居節(jié)點的平均個數(shù),節(jié)點連通度從18變化到34,網(wǎng)絡中只有一個惡意節(jié)點隨機分布在正方形區(qū)域內(nèi)。
圖8 單獨篡改跳數(shù),篡改坐標攻擊,安全定位算法以及無攻擊下的DV-Hop定位性能比較
從圖8中我們可以看到:①4種情況下的DV-Hop定位誤差隨著節(jié)點連通度的增加而減小;②單獨篡改跳數(shù)信息和單獨篡改坐標信息攻擊下的DV-Hop定位誤差遠遠大于無攻擊下的DV-Hop定位誤差;即使只有一個惡意節(jié)點,單獨篡改跳數(shù)信息和單獨篡改坐標信息的DV-Hop定位誤差相對于無攻擊下的DV-Hop分別提高了138.68%和61.35%,說明惡意節(jié)點篡改信息對DV-Hop定位的影響是巨大的;③單獨篡改跳數(shù)信息時DV-Hop的定位誤差要大于單獨篡改坐標信息時的誤差,這說明篡改跳數(shù)信息對DV-Hop定位造成的影響更為嚴重;④安全定位算法定位精度幾乎和無攻擊下的DV-Hop定位精度相同,事實上,安全定位算法的定位誤差相對于無攻擊下的DV-Hop定位誤差僅提高0.79%,相差很小,這說明我們的安全定位算法有效的消除了惡意節(jié)點篡改信息對DV-Hop造成的影響。
4.2.2 惡意節(jié)點在網(wǎng)絡中不同位置的DV-Hop安全定位分析
惡意節(jié)點在網(wǎng)絡中的位置對DV-Hop定位的影響程度也不同,我們考慮惡意節(jié)點分別在距某個信標節(jié)點較近的位置和網(wǎng)絡正中間的位置這兩種情況。當惡意節(jié)點距某個信標節(jié)點較近,而距其他3個信標節(jié)點較遠時,惡意節(jié)點對該信標節(jié)點信息的篡改會影響到網(wǎng)絡中大部分正常節(jié)點,而對其他3個信標節(jié)點信息的篡改影響到的節(jié)點是極少的。當惡意節(jié)點在網(wǎng)絡中間時,對4個信標節(jié)點信息的篡改都會影響到網(wǎng)絡中一部分正常節(jié)點。接下來我們通過具體的仿真實驗來說明這兩種情況下惡意節(jié)點對DV-Hop定位的影響,同時驗證安全定位算法的有效性。
如圖9所示,描述了惡意節(jié)點分別在網(wǎng)絡中間和在靠近信標節(jié)點位置時,DV-Hop定位誤差與節(jié)點連通度的關(guān)系,網(wǎng)絡中惡意節(jié)點只有一個,其中惡意節(jié)點只進行篡改跳數(shù)信息的攻擊。從圖9中可以看出,惡意節(jié)點在網(wǎng)絡中間時,DV-Hop的定位誤差明顯比惡意節(jié)點在角落時大,其中惡意節(jié)點在中間時DV-Hop平均定位誤差為0.9871r,惡意節(jié)點在角落時DV-Hop平均定位誤差為0.6706r,惡意節(jié)點在中間的DV-Hop平均定位誤差相對于惡意節(jié)點在角落時提高了47.20%,說明惡意節(jié)點在網(wǎng)絡中間時,對4個信標節(jié)點信息的篡改,能夠影響到的正常節(jié)點更多,造成的破壞也更為嚴重。同時,我們可以看到安全定位算法有效的檢測出了惡意節(jié)點,消除了惡意節(jié)點篡改信息對DV-Hop的影響。此外,我們也研究了惡意節(jié)點篡改坐標信息時的情況,得出的結(jié)論和篡改跳數(shù)信息時相似。
圖9 惡意節(jié)點在網(wǎng)絡中不同位置對DV-Hop定位的影響
4.2.3 不同惡意節(jié)點數(shù)量下的DV-Hop安全定位分析
網(wǎng)絡中惡意節(jié)點數(shù)量對DV-Hop定位也具有很大的影響,圖10描述的是惡意節(jié)點數(shù)量與DV-Hop定位誤差之間的關(guān)系。仿真中,未知節(jié)點190個,惡意節(jié)點隨機分布在網(wǎng)絡中并且個數(shù)從1到7變化,所有惡意節(jié)點都只單獨篡改跳數(shù)信息。從圖10中我們可以看到:①隨著惡意節(jié)點數(shù)量的增加,DV-Hop的定位誤差急劇增長;②安全定位算法的定位誤差與無攻擊下的DV-Hop定位誤差相差不大,說明當網(wǎng)絡中存在多個惡意節(jié)點時,我們的安全定位算法依然能夠發(fā)揮有效作用。實際上,安全定位算法的平均定位誤差相對于無攻擊下DV-Hop提高了3.07%。安全定位算法的誤差上升的主要原因是網(wǎng)絡中惡意節(jié)點剔除影響了原網(wǎng)絡節(jié)點的分布,從而造成有一些節(jié)點誤差偏大。事實上,當網(wǎng)絡節(jié)點的密度較大時,這種影響也將變得很小。此外,當網(wǎng)絡中惡意節(jié)點數(shù)量不斷增加時,出現(xiàn)第2種謊報模型的幾率也會增加,而一旦出現(xiàn)這種情況,我們的安全定位算法將會失效。
圖10 不同惡意節(jié)點數(shù)量下DV-Hop安全定位性能
4.3 本文算法與相似文獻的對比
在這一節(jié)我們將會把本文提出的安全定位算法和文獻[16]中的SLA算法進行對比。選擇文獻[16]的原因在于:①本文提出的算法和SLA算法都能解決普通節(jié)點進行欺騙攻擊的模型;②兩者都是集中式算法。我們主要從檢測效率和定位性能兩方面對兩個算法進行定性分析。在檢測效率方面:我們提出的安全定位算法有效地解決了本提出的3種欺騙攻擊模型,且在惡意節(jié)點不共謀的情況下,檢測概率達到100%,但是SLA算法只有在惡意節(jié)點進行虛報較短距離時有很好的檢測效果,對于虛增距離的情況還是無法解決。在定位性能方面:SLA算法由于無法解決虛增距離的攻擊,所以總體而言定位精度比較差,而本文提出的全定位算法的定位性能和無攻擊下的DV-Hop算法相差無幾。所以,綜合來說本文提出的安全定位算法無論是檢測效率還是定位性能都要優(yōu)于文獻[16]中的SLA算法。
本文針對無線傳感器網(wǎng)絡中距離無關(guān)的定位技術(shù),提出了DV-Hop定位中普通節(jié)點被俘獲的欺騙攻擊模型,分析了這種欺騙攻擊模型對DV-Hop定位過程的影響,說明了DV-Hop定位過程安全的重要性。接著本文提出了一種抵御欺騙攻擊的安全定位算法,在普通節(jié)點端提出基于發(fā)送-轉(zhuǎn)發(fā)信息一致性的檢測方法來檢測惡意節(jié)點,在Sink節(jié)點端提出基于消息轉(zhuǎn)發(fā)鏈舉證的檢測機制來確定惡意節(jié)點。仿真結(jié)果驗證了所提出的安全定位方法能有效的濾除惡意節(jié)點,降低欺騙攻擊對DV-Hop定位的影響,實現(xiàn)安全定位。當然本文所提出的安全定位方法仍然有缺點,比如,本文算法需要重啟定位來消除惡意節(jié)點對DV-Hop定位的影響,這對傳感器節(jié)點的能耗是一個較大的挑戰(zhàn);本文算法對第2種謊報模型是無效的,然而它確實存在。因此,本文未來工作可以研究如何設計出一套無需重啟定位的簡單有效的安全定位機制以及如何解決惡意節(jié)點的共謀攻擊等問題。
[1] 姚英彪,陳仙云. 基于節(jié)點前進跳距期望的WSNs分布式定位求精算法[J]. 傳感技術(shù)學報,2014,27(8):1130-1137.
[2] Yao Yingbiao,Jiang Nanlan. Distributed Wireless Sensor Network Localization Based on Weighted Search[J]. Computer Networks,2015,86(5):57-75.
[3] Mort Naraghi-Pour,Gustavo Chacon Rojas. A Novel Algorithm for Distributed Localization in Wireless Sensor Networks[J]. ACM Transactions on Sensor Networks,2014,11(1):1-25.
[4] 王千,金光,鈕俊. 一種基于RSSI的混合定位算法[J]. 傳感技術(shù)學報,2015,28(12):1823-1829.
[5] Yao Yingbiao,Han Qi,Xu Xiaorong,et al. A RSSI-Based Distributed Weighted Search Localization Algorithm for WSNs[J]. International Journal of Distributed Sensor Networks,2015,Article ID 293403,11 pages.
[6] 葉阿勇,馬建峰,裴慶祺,等. 無線傳感器網(wǎng)絡節(jié)點安全研究進展[J]. 通信學報,2009,30(10):74-84.
[7] Suo Hui,Wan Jiafu,Huang Lian,et al. Issues and Challenges of Wireless Sensor Networks Localization in Emerging Applications[C]//2012 International Conference on Computer Science and Electronics Engineering,2012:447-451.
[8] Wu Junfeng,Chen Honglong,Lou Wei,et al. Label-Based DV-Hop Localization Against Wormhole Attacks in Wireless Sensor Networks[C]//2010 IEEE Fifth International Conference on Networking,Architecture and Storage(NAS),2010:79-88.
[9] Ren X,Yang W. Method of Detecting the Sybil Attack Based On Ranging in Wireless Sensor Network[C]//5th International Conference on Wireless Communications,Networking and Mobile Computing,IEEE Computer Society,2009.
[10] 陳宜,蔣朝惠,郭春. 一種抗獨立攻擊的WSN三維安全定位算法[J]. 傳感技術(shù)學報,2015,28(11):1702-1707.
[11] Amal Abdelkarim,Abderrahim Benslimane,Issam Mabrouki,et al. SecAT-Dist:A Novel Secure AT-Dist Localization Scheme for Wireless Sensor Networks[C]//Vehicular Technology Conference(VTC Fall),2012:1-5.
[12] Manish M Patel,Akshai Aggarwal. Security Attacks in Wireless Sensor Networks:A Survey[C]//Intelligent Systems and Signal Processing(ISSP),2013:329-333.
[13] 向滿天,王勝,楊友華. 基于閾值機制與距離校正的WSN改進DV-Hop定位算法[J]. 傳感技術(shù)學報,2016,29(6):920-926.
[14] 趙雁航,錢志鴻,尚小航,等. 基于跳數(shù)修正粒子群優(yōu)化的WSN定位算法[J]. 通信學報,2013,34(9):105-114.
[15] Li Mudong,Xiong Wei,Guo Long. Improvement of DV-Hop Localization Based on Artificial Bee Colony Algorithm[J]. Computer Science,2013,40(1):33-36.
[16] Anjum F,Pandey S,Agrawal P. Secure Localization in Sensor Networks Using Transmission Range Variation[C]//IEEE International Conference on Mobile Adhoc and Sensor Systems Conference,2005:195-203.
[17] Avinash Srinivasan,Joshua Teitelbaum,Jie Wu. DRBTS:Distributed Reputation-Based Beacon Trust System[C]//2006 2nd IEEE International Symposium on Dependable,Autonomic and Secure Computing,2006:277-283.
[18] Murtuza Jadliwala,Sheng Zhong,Shambhu Upadhyaya,et al. Secure Distance-Based Localization in the Presence of Cheating Beacon Nodes[J]. IEEE Transactions on Mobile Computing[J]. 2010,9(6):810-823.
鄒 柯(1992-),男,2014年于蘇州科技大學獲得電子信息科學與技術(shù)學士學位,現(xiàn)為杭州電子科技大學信息與通信工程專業(yè)的研究生,主要研究方向為傳感器網(wǎng)絡,無線傳感器網(wǎng)絡安全,141080004@hdu.edu.cn;
姚英彪(1976-),男,2006年于浙江大學獲得通信與信息系統(tǒng)博士學位,現(xiàn)為杭州電子科技大學通信工程學院的教授,中國計算機學會會員,主要研究方向為嵌入式系統(tǒng)的硬件/軟件協(xié)同設計,并行處理,多媒體信號處理和無線傳感器網(wǎng)絡等,yaoyb@hdu.edu.cn。
DV-Hop Secure Localization Algorithm Against Spoofing Attack*
ZOU Ke,YAO Yingbiao*
(School of communication engineering,Hangzhou Dianzi University,Hangzhou 310018,China)
Aiming at range-free based positioning technology in wireless sensor network,we propose a spoofing attack model with normal nodes compromised in the DV-Hop localization procedure and analyze the effects of the spoofing attack. Then,a DV-Hop secure localization scheme against the spoofing attack is proposed. Firstly,for the normal nodes,we put forward a detection mechanism,based on transmitting-forwarding information consistency,to detect malicious nodes. Secondly,for the Sink node,we put forward a detection mechanism,based on message forwarding chain,to identify the malicious nodes. Finally,when the Sink node detects that there has spoofing attacks in the networks,it broadcasts malicious nodes and then restarts the position process. The simulation results illustrate that the proposed secure localization scheme can efficiently filter the malicious nodes and the positioning performance of secure localization algorithm is similar to the normal DV-Hop positioning. Thus,the proposed algorithm can effectively solves the impact of the spoofing attack on the DV-Hop positioning process.
wireless sensor networks;spoofing attack;secure localization;DV-Hop localization
項目來源:浙江省重點科技創(chuàng)新團隊項目(2013TD03);國家自然科學基金項目(61671192);浙江省自然科學基金項目(LY15F010008)
2016-07-25 修改日期:2016-12-15
TN918.91
A
1004-1699(2017)04-0603-08
C:7230
10.3969/j.issn.1004-1699.2017.04.021