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