李云 李道全 劉輝
摘要:針對無線傳感網絡中低功耗分簇型路由協議LEACH易遭受Sybil攻擊的問題,提出一種基于接收信號強度值的輕量級檢測算法。在充分分析無線傳感網絡自身特點與LEACH協議原理的基礎上,采用信號強度值比較以低成本、快速檢測Sybil攻擊。仿真實驗證明,算法可以以較低代價有效檢測Sybil惡意攻擊,保證網絡正常運行。
關鍵詞: 無線傳感網絡; Sybil攻擊;接收信號強度值
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2017)36-0053-02
1 概述
LEACH協議是第一個分層分簇無線傳感網絡路由協議,采用分布式動態簇頭輪轉機制均衡網絡能耗,網絡壽命比平面型理由協議至少延長15%,現代許多路由協議都是在此基礎上發展起來的。但該協議缺乏必要的安全措施與認證機制,存在很大的安全隱患。如Sybil攻擊、HELLO flood攻擊、黑洞攻擊、DoS攻擊等等[1]。如何解決這些安全問題是目前的一大研究熱點。
在LEACH協議中,發起Sybil攻擊的惡意節點會同時發布多重虛假身份信息擾亂正常組網,對WSN造成極大安全危害。對此本文提出一種基于接收信號強度(Received Signal Strength Indication, RSSI)的輕量級Sybil攻擊檢測算法——LEACH-SADA(Sybil Attack Detection Algorithm Based on LEACH Protocol),可以以極小的功耗代價實現Sybil攻擊檢測。
2 相關研究
2.1 LEACH協議中的Sybil攻擊
LEACH協議采用分布式動態分簇思想,以“輪”為單位,將數據傳輸劃分為簇建立階段與數據傳輸階段。在簇建立階段各節點通過簇頭選舉算法產生簇頭,隨后各簇頭發布自己的信息,其余節點選擇最佳簇頭加入該簇。后續簇頭會根據成員節點數量分配TDMA時隙給各成員,進行數據傳輸。
Sybil攻擊主要通過惡意節點偽造并發布多個虛假節點ID信息,在網絡中表現出多重身份參與網絡路由,所有接入這些虛假ID的節點數據將都被惡意節點捕獲。對基于簇頭的LEACH協議,Sybil攻擊往往通過偽造簇頭信息利用其能量優勢,同時向網絡中發布多個虛假簇頭信息,增加其成為簇頭的幾率,進而非法獲取整簇節點的數據。而LEACH協議中簇建立過程缺乏必要的雙向認證機制,難以鑒別Sybil攻擊。
2.2 研究現狀分析
目前,無線傳感網絡中Sybil攻擊檢測算法大致可分為基于密碼的和非密碼的兩種方式。其中基于密碼的防御方案大致可分為基于秘鑰預分配、基于非對稱秘鑰、基于Merkle哈希樹等方案。這些方案可以實現較好的安全防護,但是卻對節點存儲空間、計算能力等提出更高要求,同時密碼計算與傳遞需要額外消耗更多能量,這將給資源極為有限的無線傳感網絡節點帶來極重的負擔。
基于非密碼的方案主要通過檢測與計算接收信號強度RSSI值的方式,文獻[2]提出一種基于RSSI比值的算法,通過輔助節點比較各自接收到源節點發送信號強度的比值關系,確認節點是否發生Sybil攻擊行為。
但該算法每兩個源節點都需要進行多次除法與比較運算,當網絡規模擴大簇頭增多時,運算量將成倍迅速增加不利于大規模網絡中實施。
對此,本文提出一種基于LEACH的輕量級Sybil攻擊檢測算法——LEACH-SADA,可直接根據接收到的簇頭廣播包的RSSI值比較得出可以節點,并通過多節點驗證防止誤判,該算法可以具有更加高效節能的優點。
3 LEACH-SADA算法
在LEACH協議中簇建立階段,各簇頭會以相同初始功率發送自己的信息,由于普通節點與各簇頭不同接收到的廣播包RSSI值不同。而Sybil攻擊為一個惡意節點同時發送不同ID的簇頭信息廣播包,故普通節點接收到的Sybil攻擊數據包RSSI值相同,考慮到無線傳感網絡的復雜性,可以認定差值極小的兩個RSSI值相同,將該值定義為差異安全界限[σ]。所以,可得Sybil攻擊鑒定算法公式如下:
[|RSSIi-RSSIj|≤σ, (i≠j)]
則可認為這些簇頭節點物理位置過近,極有可能為Sybil攻擊節點發出的虛假信息。并將對應的源節點ID放入廣播包內,廣播協議格式如圖1所示:
帶所有接收到的簇頭數據包檢測完成后向全網廣播該Sybil攻擊檢測數據包,同時接收其他節點的廣播包。若在簇建立階段收到兩個以上含有相同疑似攻擊節點ID的廣播包,則認定該ID的源節點為Sybil惡意攻擊節點。將該ID號列入黑名單,同時全網廣播該黑名單,并在后續通信中隔離存在于該黑名單中的ID節點。
算法流程圖如下:
4 實驗結果與分析
為驗證算法性能,本文在MATLAB仿真環境下分別對有、無Sybil攻擊的LEACH協議與Sybil攻擊下LEACH-SADA算法性能進行對比分析,實驗參數如表1所述。
由圖3可以看出,在網絡遭受Sybil攻擊下,LEACH-SADA算法的基站接收數據量明顯高于LEACH算法,即,該算法可以有效監測并隔離Sybil攻擊。對比LEACH算法在后期數據接收量有所下降,是因為安全監測過程較LEACH協議需要額外消耗部分能量,從兩者的微弱差別,可以得出LEACH-SADA算法可以以較低功耗代價實現Sybil攻擊的隔離。
5 總結
本文針對LEACH協議易遭受的Sybil攻擊問題及當前解決方案進行分析,克服傳統非密碼攻擊檢測算法計算量大、不適宜大規模應用的缺陷,提出一種輕量級的Sybil攻擊檢測算法LEACH-SADA。實驗結果表明,算法能夠以極低的能耗代價識別并隔離Sybil攻擊,保證網絡。
參考文獻:
[1] 楊光,耿貴寧,都婧,等.物聯網安全威脅與措施[J].清華大學學報:自然科學版, 2011,51(10):1335-1340.
[2] Muart D,Young S.An RSSI-based scheme for sybil attack detection in wireless geosor networks[C].IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks.2006: 564-570.