基于分簇的無線傳感器網絡安全路由協議研究
摘要:無線傳感器網絡(Wireless Sensor Networks,簡稱WSNs)作為一種新的獲取信息的方式和處理模式,已成為通信領域的研究重點。而路由協議則是無線傳感器網絡當前的熱點研究之一。目前,針對較為典型的分簇式路由協議LEACH路由協議的研究,是無線傳感器網絡目前研究的一個熱點。介紹了無線傳感器網絡路由協議常見的攻擊類型,并從路由安全的角度建議性的提出了一種對LEACH路由協議針對安全性的改進方案,并應用NS2仿真平臺,對改進協議做了仿真并進行了性能分析。
關鍵詞:無線傳感器網絡;分簇式路由協議;LEACH;路由安全
路由協議屬于通信協議簇的底層協議,決定通信流量在網絡上的分布,并極大地影響了網絡的生存時間。所以,無線傳感器網絡的可用性和安全性會被資源受限和各種網絡攻擊所直接影響。尤其是路由協議的攻擊,是很容易導致整個無線傳感器網絡的癱瘓。無線傳感器網絡的安全研究目前還十分有限,現有的Ad hoc網絡的安全機制被借用到許多無線傳感器網絡的安全中,但是,大多數無線傳感器網絡環(huán)境是沒辦法直接使用Adhoc網絡的安全協議的。所以,在無線傳感器網絡的所有安全問題中,至關重要的環(huán)節(jié)和關鍵技術就是路由的安全。
1 無線傳感器網絡路由協議常見攻擊類型
(1)欺騙、改變或重放路由信息攻擊:攻擊鎖定節(jié)點間交換的路由信息,通過篡改、偽造或重放路由信息來進行攻擊。
(2)選擇性轉發(fā)攻擊:惡意節(jié)點在收到數據包時,部分轉發(fā)或根本不轉發(fā)收到的數據包,導致數據包不能順利到達目的地。
(3)女巫攻擊:女巫攻擊(Sybil)的方式是,惡意節(jié)點冒充多個節(jié)點,它可以聲稱自己具有多個身份,甚至可以隨意產生多個虛假身份,從而利用這些身份來非法獲取信息并實施攻擊。
(4)陷洞攻擊:在陷洞攻擊(Sinkhole)中,攻擊者的目標是通過已被攻擊者控制的被俘獲節(jié)點,或者吸引特定區(qū)域的幾乎所有的數據流通過一個己經受到入侵的節(jié)點,產生以該節(jié)點為中心的一個Sinkhole。
(5)蟲洞攻擊:蟲洞攻擊(Wormhole)通常需要兩個惡意節(jié)點相互串通,合謀進行攻擊。一個惡意節(jié)點位于基站附近,而另一個惡意節(jié)點距離基站較遠。較遠的惡意節(jié)點廣播自己和基站附近的節(jié)點可以建立高帶寬、低延時的鏈路,從而吸引周圍節(jié)點向其發(fā)送數據包,從而截斷向基站的路由。
(6)HELLO泛洪攻擊:惡意節(jié)點通過大功率的廣播路由或其他信息,使網絡中的其他節(jié)點認為惡意節(jié)點為自己的鄰節(jié)點,從而將信息發(fā)送給惡意節(jié)點。
2 基于分簇式LEACH協議的分析
2.1 LEACH協議運行機制
LEACH(Low Energy Adaptive Clustering Hierarchy)協議,全稱低功耗自適應聚類路由協議,是最早提出的一個自組織、分布式的分簇路由協議,其后的許多分簇路由都是在它的基礎上發(fā)展而來的。LEACH協議采用了“輪”的概念,每一輪都由初始化和穩(wěn)定數據傳輸兩個階段組成。在初始化階段,網絡將重新選擇簇頭節(jié)點,網絡節(jié)點遵循成簇算法選出簇頭節(jié)點,前提是此簇頭節(jié)點沒有擔任過簇頭,被選出的簇頭節(jié)點向周圍成員節(jié)點廣播自己成為簇頭的信息,其他成員節(jié)點遵循耗能最小的原則加入臨近的簇頭節(jié)點,然后簇頭節(jié)點為簇內成員節(jié)點分配通信時隙。在穩(wěn)定的數據傳輸階段,節(jié)點收集數據并傳輸至簇頭節(jié)點,簇頭節(jié)點對所受到的數據進行融合處理后發(fā)送到sink節(jié)點。數據傳輸持續(xù)一定時間后,網絡進入下一輪的工作周期。
2.2 LEACH協議容易遭受的攻擊
由于LEACH協議采用了單跳的路徑選擇方式,即所有的傳感器節(jié)點都有可能和匯聚節(jié)點進行直接的通信,所以對Sinkhole攻擊、Wormho le攻擊、Sybil攻擊以及虛假路由信息攻擊都有防御能力。但由于在簇形成階段,成員節(jié)點根據簇頭節(jié)點的信號強弱來選擇所要加入的簇,因此,惡意節(jié)點可以采用HELLO Flood攻擊以大發(fā)射功率向全網絡廣播消息,從而吸引大量成員節(jié)點加入該簇,而后惡意節(jié)點可以通過選擇則性轉發(fā)、更改數據包等方式,來達到攻擊目的。經過以上分析研究表明,LEACH協議最容易收到的攻擊就是HELLOFlood攻擊。
3 一種適用于LEACH協議的安全解決方案
通過對HELLO Flood攻擊方式的了解,提出了LEACH—H協議,并采用了以下安全解決方案:依靠一個可信任的節(jié)點利用鏈路的雙向認證和節(jié)點的身份驗證為每個簇頭候選節(jié)點向基站和自身的一跳鄰居節(jié)點證實它的鄰居,從而成功對抗HELLO Flood攻擊。具體運行機制為:在廣播階段,候選簇頭節(jié)點向基站和自身的一跳鄰居節(jié)點發(fā)送數據,此數據包含候選簇頭節(jié)點與基站的共享密鑰,基站根據解密密鑰來確認候選簇頭節(jié)點是否正常,若不正常則丟棄數據包;建簇階段,節(jié)點將自己將加入哪個簇的信息發(fā)送給基站,基站根據傳感器節(jié)點和簇首候選節(jié)點產生密鑰并發(fā)給節(jié)點,并進行解密匹配,解密成功則接受此候選簇頭節(jié)點,否則自動丟包。節(jié)點從若干接受的候選簇頭節(jié)點中,選擇信號最強的候選簇頭節(jié)點加入其簇。
評論