摘要:無線傳感器網絡容易受到節點欺騙和虛假信息的影響造成所采集信息的安全問題,正常節點可能被占領而變為惡意節點,從而給網絡帶來不利影響。研究并提出了面向傳感器網絡的節點安全成簇機制,采用基本的隨機密鑰預分配模型和有效的密鑰管理技術實現網絡在成簇階段進行惡意節點的識別和剔除;同時,增加節點和簇頭的安全認證以及重新分簇方法增強節點的安全性。仿真結果表明該成簇機制能夠準確捕捉、剔除惡意節點,并能顯著降低網絡中的廣播能耗,對延長網絡壽命將起到積極作用。
關鍵詞:無線傳感器網絡 節點安全 成簇機制 身份認證
1 引言
無線傳感器網絡WSN (Wireless Sensor Networks, WSN)是一種全新的信息獲取、處理和傳輸技術,通常包含大量的分布式傳感器節點。由于無線傳感器網絡具有組網快捷、靈活,不受有線網絡約束的優點,可用于緊急搜索、災難救助、軍事、醫療等環境中,其應用前景非常廣泛 [1]。無線傳感器網絡的分布特點和資源有限因素導致其在物理上存在安全隱患,正常節點容易被占領而變為惡意節點。惡意節點表現為故意發布錯誤信息,虛假信息或延遲信息,造成其他節點能量快速耗盡;同時,惡意節點甚至進行節點路由誤導,迫使節點間轉發信息中斷等等。因此,無線傳感器網絡的節點安全問題是其研究內容的一個重要部分。近幾年,針對傳感器網絡節點安全問題出現了多種分簇機制[2-6],將網絡劃分成若干個簇,每個簇由一個簇首和若干成員節點組成,實現網絡中節點層次化管理,對于節點安全問題起到了積極作用。
本文以解決傳感器網絡的節點安全為研究目的,借鑒基本的隨機密鑰預分配模型和有效的密鑰管理技術實現網絡在成簇階段進行惡意節點的識別和剔除;同時,增加節點和簇頭的安全認證以及重新分簇方法增強節點的安全性。該分簇機制能夠有效降低惡意節點對網絡的破壞性,進而提高節點和網絡數據傳輸的安全性。
2 研究現狀
在無線傳感器網絡中,簇的形成主要有靜態和動態兩種,其中動態以基于LEACH的算法為代表,而靜態的則以SCRP方法為代表。LEACH 協議算法[2]是一種經典的無線傳感器網絡成簇算法,為了平衡節點能耗,所有節點輪流充當簇首。網絡周期性地進行簇首選舉,每一個周期稱為一輪(round)。每輪又分為“建立階段”和“穩定工作階段”。在每輪的建立階段,各節點按一定的概率成為簇首節點。它的成簇思想貫穿于其后發展出的很多分簇路由協議中。然而LEACH 算法也存在不足之處:由于LEACH假定所有節點都能與基站直接通信,采用的是單跳路徑選擇模式,故對虛假路由、槽洞、蟲洞等攻擊沒有防御能力;而且,一旦有外部惡意節點偽裝成合法節點,或合法節點被攻擊者俘獲,便能對網絡實現以上的各種攻擊。所以在成簇過程中,需要解決識別并排除惡意或被俘獲節點的問題。此外一旦簇形成之后,簇的結構就不再改變,簇內節點根據簇首列表依次成為簇首,不能動態處理節點的加入、失敗和移動。SCRP[3] (Semantic Clustering Routing Protocol)也是一種基于簇的路由協議,但與LEACH不同之處在于簇一旦形成,在通信過程中便不會改變。其工作過程為首先被選為簇首的節點啟動簇形成;然后簇首僅向其鄰節點發送興趣消息,在得到鄰節點確認后,簇首記錄其鄰節點ID,它在本階段的任務完成,并作整個簇的“樹根”,鄰節點作為簇首的直接子節點;接著簇首鄰節點繼續向他們的鄰節點(不包括根節點)發送興趣消息,如同前一過程,簇首鄰節點記錄他們的鄰節點ID (作為鄰節點的直接子節點),以此繼續,直到最后向外的發出興趣消息節點在經過一定時間沒有得到響應,該節點作為葉子節點,這時以簇首為根節點的“樹” 已經形成,簇形成過程結束;最后,簇內各節點把檢測的到節點向其雙親節點傳送,雙親節點不會立即將數據向其上層節點發出,而是將其接收到的數據經過一定的數據融合之后再發出。
LEACH的優點在于簇首的輪換機制,使得簇首負載得到分擔,但缺點也很明顯:簇內單跳通信,簇重組過程頻繁[2]。SCRP在基于某個查詢任務時,簇首以及整個簇結構不會改變,網絡利用率較高,但如果這個查詢任務持續過長的時間,簇首的能量消耗還是相當大,因為它要負責簇間的通信;如果某些節點周圍鄰節點過于密集,很可能導致該節點過早失效,從而影響監測任務的準確性。無論是動態算法還是靜態算法,對于惡意節點的控制均存在很大的問題。要解決傳感器網絡的節點安全問題,需要充分發揮動態和靜態成簇算法的優點,并采用一定的技術手段克服其缺點。
3 面向傳感器網絡的節點安全成簇機制
3.1 節點安全機制的建立
靜態分布的傳感器網絡中,節點通常在初始化時設置了全網唯一的ID號,而且該號ID為恒定不變,這為敵對節點帶來入侵的方便,一種是非法更改正常節點ID號,另一種是復制正常節點ID號,這些對于節點和網絡信息安全都極為不利。為此,我們在設計中借鑒了基本的隨機密鑰預分布模型,即首先在脫機的環境中生成一個較大的密鑰池,網絡中的每個節點都隨機從該密鑰池中取出一部分密鑰構成密鑰環存儲在自己的存儲空間中。網絡部署之后,只要兩個節點之間擁有一對相同的密鑰就可以用此密鑰建立安全通道[7]。該機制共分為初始化階段和密鑰協商階段。在初始化階段采用一個離線的密鑰管理中心負責傳感器節點的初始化操作。而在密鑰協商階段則可以通過有效手段將惡意節點進行濾除。這種機制能夠采取有效的密鑰管理技術,令只有擁有合法對偶密鑰的鄰居節點之間才可以進行通信。具體的控制流程為在密鑰預分布形成階段,初始化密鑰池、建立安全鏈路。首先,隨機創建一個密鑰池,且為每一個密鑰分配一個ID號。在將節點部署到監測區域之前,需要對節點進行密鑰初始化分配,為每個節點從密鑰池中隨機選取m個密鑰預先存儲到節點中。在無線傳感器網絡部署好之后,傳感節點就進入密鑰發現階段。各節點為了發現與自己持有共享密鑰的鄰居節點,用密鑰環來廣播自身的密鑰ID號。如果兩個鄰居節點之間發現共享的密鑰,則選取共享密鑰中密鑰ID號最小的那個密鑰作為它們之間的對偶密鑰。然后,這兩個鄰居節點之間可以建立一條安全的鏈路。對于惡意節點來說,由于不享有對偶密鑰,當其嘗試加入網絡時而進行節點間的認證時,能夠被識別并被拒絕加入網絡。
當節點發現不具有合法密鑰的節點試圖連接網絡時,意味著有惡意節點入侵,由發現該情況的節點向基站發送一個惡意節點的舉報消息,基站在收到對某個節點是惡意節點的舉報數超過設定閾值后,廣播一個消息聲明惡意節點,并將惡意節點加入黑名單。凡是被列入網絡黑名單的節點,都被認為是非法節點。一旦網絡發現非法節點,會發出警告,將惡意節點的坐標進行廣播。由于在節點間通信的消息格式中包含了源節點及目的節點的坐標,因此其它合法節點收到報警消息后,可以通過檢驗坐標的方式識別惡意節點并切斷與非法節點的通信。
在鄰居節點的識別過程中,增加鏈路有效性認證反饋環節,凡是不能通過鏈路有效性驗證的節點均被排除在鄰居節點的范圍之外。基站收到消息后,將按消息的來路反饋一個對消息的ASK。節點在發送或轉發一個消息A后,暫存A并等待基站對A的ASK。如果節點在一定的時間收到了ASK,則將繼續轉發ASK;否則,就將A的發送路由中的下一跳節點標記為惡意節點。節點間相互通信時必須進行鏈路有效性認證反饋,防止非法入侵,而且對所傳輸的數據進行加密。傳感器節點廣播驗證消息,只有其合法鄰居節點才能解密此消息并反饋一個應答消息。該傳感器節點收到其合法鄰居節點反饋的應答消息后,才能確定它們之間的鏈路是合法的且是可用的。
3.2 分簇機制的建立
在分簇方法中,簇頭擔當了重要角色,是各簇的中轉點,集中了整個簇的大量信息,簇頭節點一旦被攻陷就會造成巨大損失。因此,應加強對簇頭攻擊的防范,一旦檢測到簇頭正在遭受攻擊,則基站就強制開始新一輪的重新分簇,重新選舉各簇簇頭,避免簇頭被攻陷所帶來的巨大損失,阻止惡意節點對網絡造成進一步的破壞。因此,簇頭的選取策略對于網絡安全至關重要,從上面分析可知,LEACH頻繁動態實現節點組簇,盡管在簇頭中加入節點安全處理機制能夠使網絡的安全性能得到提高,但網絡能耗損失太高,而靜態的分簇機制對于入侵節點防范能力很差。為此,我們提出采用動態和靜態結合的分簇機制。當網絡構造的初始階段,根據網絡規模選取合適的簇頭數量,采用與LEACH算法相似的機制,使網絡中所有節點被分配到一個確定的簇中。簇頭負責本簇成員通信數據和本簇成員身份(ID)認證。為了平衡簇內節點能耗,該簇的簇頭和成員采用輪流工作機制,即當前簇頭工作一段時間后,由本簇候選簇頭擔任,而當前簇頭將本簇的密鑰和身份認證關系表轉發給候選簇頭后自動成為該簇普通節點。各簇頭分別同基站直接通信,當基站發現某個簇頭受到攻擊后,由基站向全網廣播,所有節點采用網絡初始階段的構造機制重新分簇組網。重新分簇的具體實現過程如下[8]。
首先基站發出重新分簇命令,然后基站根據網絡規模確定一定比例的“臨時簇頭”。“臨時簇頭”向自己周圍的節點廣播自己的ID和成簇請求消息,該消息在節點分布前就設置了主密鑰加密;要求網絡中接收到該消息的節點發送反饋消息,消息包括是否是簇首節點、或臨時簇首節點、或普通簇內節點、或空閑節點、節點的ID和剩余能量。
周圍接收到成簇請求消息的節點首先進行安全認證,即檢查接收到的節點ID是否在黑名單中,如果不在則進一步判斷前四位是否與自己的ID前四位一致,一致就認為是“同類”,可以轉入下一步;否則為非同類,認為是惡意節點,不予響應。通過安全檢查后,接收到成簇查詢消息的節點如果尚不是簇首節點或尚未被確定為某個簇內的普通節點,則向該臨時簇頭節點反饋自己的ID信息和剩余能量信息;如果是簇頭節點或臨時簇頭節點,則返回自己的ID信息和自己是簇頭或臨時簇頭的消息。對于已經通過安全檢查的同類節點,如果已存在簇頭節點,臨時簇頭節點就申請加入該簇頭節點所在的簇,如果存在多個簇頭節點,就選擇一個距離自己最近的簇頭節點反饋自己的ID號和剩余能量;已經是簇內的普通節點不再響應,已經是簇頭的節點則響應并記錄下,用于簇問路由;如果同時接收到幾個簇頭的邀請,則選擇距離自己最近的一個簇頭加入其所在的簇;如果沒有簇頭節點,則臨時簇頭節點根據收到的反饋信息中的相對剩余能量最大的節點作為簇頭節點。
簇頭節點向周圍的節點發送加密的成簇消息,消息包含自己的簇頭標識和ID信息,邀請在自己通信范圍內的節點成為自己的簇內普通的節點,該普通節點并向簇頭反饋自己的ID號和剩余能量;如果接收到成簇消息的節點已經是簇內節點則不予響應,已經是簇頭節點則響應并記錄下該簇頭的ID信息,用于簇間路由的選擇條件。如果某個節點同時接收到多個簇頭的邀請,選擇距離自己最近的一個簇頭加入所在的簇。循環反復,直到所有的非惡意節點都成為簇頭節點或簇內的普通節點為止。分簇機制的實施流程如圖1所示。
圖1 分簇機制的實施流程
當網絡中各節點重新分配到確定的簇中后,簇頭從新開始負責處理簇內成員的通信數據和安全認證。為了盡可能降低簇頭更換頻率,本文所提的分簇機制采用文獻[9]提出的簇頭連續工作機制,即當簇頭存在較多剩余能量時,可以連續擔當本簇控制中心,如果當前簇頭能力較低時,將自己所承擔的任務轉交給候選簇頭,候選簇頭在接替當前簇頭任務后,需向基站和成員確認通信,一方面通知本簇成員簇頭更換,另一方面由基站確認其合法身份。
4 仿真與驗證
為評估所提出的成簇機制對節點安全性能的改進,假設100個節點隨機分布100m*100m的區域,設所有節點具有相同的初始能量,簇頭占總節點數目百分比為5%,各節點賦予初始ID號,分別記為1,2,…,100,基站序號為0,其位置坐標為(50, 150)。在網絡運行早期,各節點具有較多剩余能量時,如果網絡沒有出現節點被攻擊,各簇頭連續擔任本地控制中心至少5個輪回,被攻擊節點的ID號采用隨機函數生成。本文設計的成簇機制與LEACH成簇算法對被攻擊節點的捕獲結果對比如圖2所示。
從圖2可以看出,我們所設計的成簇機制比采用LEACH成簇算法在捕獲被攻擊節點的性能明顯提高。由于LEACH算法每輪數據處理后需要重新實施節點分簇,而對鄰居節點沒有進行安全識別,缺乏鏈路有效性認證,導致可能當前輪回入侵節點或被攻擊節點不能進行處理;而我們所提成簇算法要求對簇頭、成員節點和鄰居節點間的信息都需要進行安全認證,因此能夠有效遏制入侵節點或被攻擊節點對網絡信息安全的影響。我們所設計的成簇機制和采用LEACH算法實現的節點安全認證中廣播能耗與總能量之比的對比情況如圖3所示
圖3可以看出,我們所提的分簇機制較LEACH算法明顯降低了廣播能耗。由于在我們所提的分簇機制中,如果基站沒有收到任何簇頭發送網絡不安全信息,則不會通知全網節點進行重新成簇,除非當前簇頭連續擔任本地控制中心的次數已到,則候選簇頭替換當前簇頭,以廣播的方式通知本簇成員和基站,因此簇頭和成員、基站中的廣播消息將顯著降低。當然,如果基站發現某個簇頭出現不安全特征,則仍然需要全網廣播,采用組網初始階段的方法,重新組簇。由圖2、圖3可知,采用這種動態、靜態成簇的機制,既能及時準確發現入侵節點或被攻擊節點,又能顯著降低網絡的廣播能耗,對于提高網絡安全和延長網絡壽命都將起到積極作用。
5 結語
本文針對面向傳感器網絡的節點安全問題,采用基本的隨機密鑰預分配模,分配網絡初始化密鑰池、建立安全鏈路和動態、靜態成簇機制有效地改善了節點安全問題,有利于提高節點和網絡安全性,并能延長網絡壽命。
參考文獻
[1] 孫利民,李建中,陳渝等.無線傳感器網絡[M].北京:清華大學出版社, 2005.2.
[2] Heinzelman W, Chandrakasan A, and Balakrishnan H. Energy-efficient communication protocol for wireless microsensor net- works. Proc. ofthe 33rd Annual Hawaii Int ’l Conf. on System Sciences. Maui: IEEE Computer Society, 2000: 3005-3014.
[3] Bouhafs F,.Merabti M. A semantic clustering muting protocol for wireless sensor networks[A]. IEEE Consumer Communications and Networking Conference[C]. 2006, 351-355.
[4]Deb B, Bhatangar S, Nath B. A topology discovery algorithm for sensor networks with applications to network management [R]. DCS Technical Report DCS-TR-441, Rutgers University, 2001.
[5] Santi P, Simon J. Silence is golden with high probability: maintaining a connected backbone in wireless sensor networks [C]. In Proceeding of 1st European Workshop on Wireless Sensor Networks (EWSN 2004), Jan 2004: 106-121.
[6] Younis O, Franmy S. Distributed clustering in ad-hoc sensor networks: a hybrid, energy-efficient approach [C]. In Proceeding of the IEEE Conference on Computer Communications (INFOCOM), March 2004: 660-670.
[7] L. Eschenauer, V.D. Gligor. A key-Management Scheme for Distributed Sensor Networks. In: Proc of the 9th ACM Conference on Computer and Communications Security. Washington: ACM Press, 2002.41-47.
[8]蔡東強.無線傳感器網絡安全密鑰成簇算法的設計及研究. http://www.jc-ic.cn/show-1477058-1.html
[9] Xiang Min, Shi Wei-ren, Jiang Chang-jiang, et.al. Energy-efficient clustering algorithm for maximizing lifetime of wireless sensor networks (In Press). AEU-International Journal of Electronic & Communication. doi:10.1016/j.aeue.2009.01.004.
關鍵詞:無線傳感器網絡 節點安全 成簇機制 身份認證
1 引言
無線傳感器網絡WSN (Wireless Sensor Networks, WSN)是一種全新的信息獲取、處理和傳輸技術,通常包含大量的分布式傳感器節點。由于無線傳感器網絡具有組網快捷、靈活,不受有線網絡約束的優點,可用于緊急搜索、災難救助、軍事、醫療等環境中,其應用前景非常廣泛 [1]。無線傳感器網絡的分布特點和資源有限因素導致其在物理上存在安全隱患,正常節點容易被占領而變為惡意節點。惡意節點表現為故意發布錯誤信息,虛假信息或延遲信息,造成其他節點能量快速耗盡;同時,惡意節點甚至進行節點路由誤導,迫使節點間轉發信息中斷等等。因此,無線傳感器網絡的節點安全問題是其研究內容的一個重要部分。近幾年,針對傳感器網絡節點安全問題出現了多種分簇機制[2-6],將網絡劃分成若干個簇,每個簇由一個簇首和若干成員節點組成,實現網絡中節點層次化管理,對于節點安全問題起到了積極作用。
本文以解決傳感器網絡的節點安全為研究目的,借鑒基本的隨機密鑰預分配模型和有效的密鑰管理技術實現網絡在成簇階段進行惡意節點的識別和剔除;同時,增加節點和簇頭的安全認證以及重新分簇方法增強節點的安全性。該分簇機制能夠有效降低惡意節點對網絡的破壞性,進而提高節點和網絡數據傳輸的安全性。
2 研究現狀
在無線傳感器網絡中,簇的形成主要有靜態和動態兩種,其中動態以基于LEACH的算法為代表,而靜態的則以SCRP方法為代表。LEACH 協議算法[2]是一種經典的無線傳感器網絡成簇算法,為了平衡節點能耗,所有節點輪流充當簇首。網絡周期性地進行簇首選舉,每一個周期稱為一輪(round)。每輪又分為“建立階段”和“穩定工作階段”。在每輪的建立階段,各節點按一定的概率成為簇首節點。它的成簇思想貫穿于其后發展出的很多分簇路由協議中。然而LEACH 算法也存在不足之處:由于LEACH假定所有節點都能與基站直接通信,采用的是單跳路徑選擇模式,故對虛假路由、槽洞、蟲洞等攻擊沒有防御能力;而且,一旦有外部惡意節點偽裝成合法節點,或合法節點被攻擊者俘獲,便能對網絡實現以上的各種攻擊。所以在成簇過程中,需要解決識別并排除惡意或被俘獲節點的問題。此外一旦簇形成之后,簇的結構就不再改變,簇內節點根據簇首列表依次成為簇首,不能動態處理節點的加入、失敗和移動。SCRP[3] (Semantic Clustering Routing Protocol)也是一種基于簇的路由協議,但與LEACH不同之處在于簇一旦形成,在通信過程中便不會改變。其工作過程為首先被選為簇首的節點啟動簇形成;然后簇首僅向其鄰節點發送興趣消息,在得到鄰節點確認后,簇首記錄其鄰節點ID,它在本階段的任務完成,并作整個簇的“樹根”,鄰節點作為簇首的直接子節點;接著簇首鄰節點繼續向他們的鄰節點(不包括根節點)發送興趣消息,如同前一過程,簇首鄰節點記錄他們的鄰節點ID (作為鄰節點的直接子節點),以此繼續,直到最后向外的發出興趣消息節點在經過一定時間沒有得到響應,該節點作為葉子節點,這時以簇首為根節點的“樹” 已經形成,簇形成過程結束;最后,簇內各節點把檢測的到節點向其雙親節點傳送,雙親節點不會立即將數據向其上層節點發出,而是將其接收到的數據經過一定的數據融合之后再發出。
LEACH的優點在于簇首的輪換機制,使得簇首負載得到分擔,但缺點也很明顯:簇內單跳通信,簇重組過程頻繁[2]。SCRP在基于某個查詢任務時,簇首以及整個簇結構不會改變,網絡利用率較高,但如果這個查詢任務持續過長的時間,簇首的能量消耗還是相當大,因為它要負責簇間的通信;如果某些節點周圍鄰節點過于密集,很可能導致該節點過早失效,從而影響監測任務的準確性。無論是動態算法還是靜態算法,對于惡意節點的控制均存在很大的問題。要解決傳感器網絡的節點安全問題,需要充分發揮動態和靜態成簇算法的優點,并采用一定的技術手段克服其缺點。
3 面向傳感器網絡的節點安全成簇機制
3.1 節點安全機制的建立
靜態分布的傳感器網絡中,節點通常在初始化時設置了全網唯一的ID號,而且該號ID為恒定不變,這為敵對節點帶來入侵的方便,一種是非法更改正常節點ID號,另一種是復制正常節點ID號,這些對于節點和網絡信息安全都極為不利。為此,我們在設計中借鑒了基本的隨機密鑰預分布模型,即首先在脫機的環境中生成一個較大的密鑰池,網絡中的每個節點都隨機從該密鑰池中取出一部分密鑰構成密鑰環存儲在自己的存儲空間中。網絡部署之后,只要兩個節點之間擁有一對相同的密鑰就可以用此密鑰建立安全通道[7]。該機制共分為初始化階段和密鑰協商階段。在初始化階段采用一個離線的密鑰管理中心負責傳感器節點的初始化操作。而在密鑰協商階段則可以通過有效手段將惡意節點進行濾除。這種機制能夠采取有效的密鑰管理技術,令只有擁有合法對偶密鑰的鄰居節點之間才可以進行通信。具體的控制流程為在密鑰預分布形成階段,初始化密鑰池、建立安全鏈路。首先,隨機創建一個密鑰池,且為每一個密鑰分配一個ID號。在將節點部署到監測區域之前,需要對節點進行密鑰初始化分配,為每個節點從密鑰池中隨機選取m個密鑰預先存儲到節點中。在無線傳感器網絡部署好之后,傳感節點就進入密鑰發現階段。各節點為了發現與自己持有共享密鑰的鄰居節點,用密鑰環來廣播自身的密鑰ID號。如果兩個鄰居節點之間發現共享的密鑰,則選取共享密鑰中密鑰ID號最小的那個密鑰作為它們之間的對偶密鑰。然后,這兩個鄰居節點之間可以建立一條安全的鏈路。對于惡意節點來說,由于不享有對偶密鑰,當其嘗試加入網絡時而進行節點間的認證時,能夠被識別并被拒絕加入網絡。
當節點發現不具有合法密鑰的節點試圖連接網絡時,意味著有惡意節點入侵,由發現該情況的節點向基站發送一個惡意節點的舉報消息,基站在收到對某個節點是惡意節點的舉報數超過設定閾值后,廣播一個消息聲明惡意節點,并將惡意節點加入黑名單。凡是被列入網絡黑名單的節點,都被認為是非法節點。一旦網絡發現非法節點,會發出警告,將惡意節點的坐標進行廣播。由于在節點間通信的消息格式中包含了源節點及目的節點的坐標,因此其它合法節點收到報警消息后,可以通過檢驗坐標的方式識別惡意節點并切斷與非法節點的通信。
在鄰居節點的識別過程中,增加鏈路有效性認證反饋環節,凡是不能通過鏈路有效性驗證的節點均被排除在鄰居節點的范圍之外。基站收到消息后,將按消息的來路反饋一個對消息的ASK。節點在發送或轉發一個消息A后,暫存A并等待基站對A的ASK。如果節點在一定的時間收到了ASK,則將繼續轉發ASK;否則,就將A的發送路由中的下一跳節點標記為惡意節點。節點間相互通信時必須進行鏈路有效性認證反饋,防止非法入侵,而且對所傳輸的數據進行加密。傳感器節點廣播驗證消息,只有其合法鄰居節點才能解密此消息并反饋一個應答消息。該傳感器節點收到其合法鄰居節點反饋的應答消息后,才能確定它們之間的鏈路是合法的且是可用的。
3.2 分簇機制的建立
在分簇方法中,簇頭擔當了重要角色,是各簇的中轉點,集中了整個簇的大量信息,簇頭節點一旦被攻陷就會造成巨大損失。因此,應加強對簇頭攻擊的防范,一旦檢測到簇頭正在遭受攻擊,則基站就強制開始新一輪的重新分簇,重新選舉各簇簇頭,避免簇頭被攻陷所帶來的巨大損失,阻止惡意節點對網絡造成進一步的破壞。因此,簇頭的選取策略對于網絡安全至關重要,從上面分析可知,LEACH頻繁動態實現節點組簇,盡管在簇頭中加入節點安全處理機制能夠使網絡的安全性能得到提高,但網絡能耗損失太高,而靜態的分簇機制對于入侵節點防范能力很差。為此,我們提出采用動態和靜態結合的分簇機制。當網絡構造的初始階段,根據網絡規模選取合適的簇頭數量,采用與LEACH算法相似的機制,使網絡中所有節點被分配到一個確定的簇中。簇頭負責本簇成員通信數據和本簇成員身份(ID)認證。為了平衡簇內節點能耗,該簇的簇頭和成員采用輪流工作機制,即當前簇頭工作一段時間后,由本簇候選簇頭擔任,而當前簇頭將本簇的密鑰和身份認證關系表轉發給候選簇頭后自動成為該簇普通節點。各簇頭分別同基站直接通信,當基站發現某個簇頭受到攻擊后,由基站向全網廣播,所有節點采用網絡初始階段的構造機制重新分簇組網。重新分簇的具體實現過程如下[8]。
首先基站發出重新分簇命令,然后基站根據網絡規模確定一定比例的“臨時簇頭”。“臨時簇頭”向自己周圍的節點廣播自己的ID和成簇請求消息,該消息在節點分布前就設置了主密鑰加密;要求網絡中接收到該消息的節點發送反饋消息,消息包括是否是簇首節點、或臨時簇首節點、或普通簇內節點、或空閑節點、節點的ID和剩余能量。
周圍接收到成簇請求消息的節點首先進行安全認證,即檢查接收到的節點ID是否在黑名單中,如果不在則進一步判斷前四位是否與自己的ID前四位一致,一致就認為是“同類”,可以轉入下一步;否則為非同類,認為是惡意節點,不予響應。通過安全檢查后,接收到成簇查詢消息的節點如果尚不是簇首節點或尚未被確定為某個簇內的普通節點,則向該臨時簇頭節點反饋自己的ID信息和剩余能量信息;如果是簇頭節點或臨時簇頭節點,則返回自己的ID信息和自己是簇頭或臨時簇頭的消息。對于已經通過安全檢查的同類節點,如果已存在簇頭節點,臨時簇頭節點就申請加入該簇頭節點所在的簇,如果存在多個簇頭節點,就選擇一個距離自己最近的簇頭節點反饋自己的ID號和剩余能量;已經是簇內的普通節點不再響應,已經是簇頭的節點則響應并記錄下,用于簇問路由;如果同時接收到幾個簇頭的邀請,則選擇距離自己最近的一個簇頭加入其所在的簇;如果沒有簇頭節點,則臨時簇頭節點根據收到的反饋信息中的相對剩余能量最大的節點作為簇頭節點。
簇頭節點向周圍的節點發送加密的成簇消息,消息包含自己的簇頭標識和ID信息,邀請在自己通信范圍內的節點成為自己的簇內普通的節點,該普通節點并向簇頭反饋自己的ID號和剩余能量;如果接收到成簇消息的節點已經是簇內節點則不予響應,已經是簇頭節點則響應并記錄下該簇頭的ID信息,用于簇間路由的選擇條件。如果某個節點同時接收到多個簇頭的邀請,選擇距離自己最近的一個簇頭加入所在的簇。循環反復,直到所有的非惡意節點都成為簇頭節點或簇內的普通節點為止。分簇機制的實施流程如圖1所示。
圖1 分簇機制的實施流程
當網絡中各節點重新分配到確定的簇中后,簇頭從新開始負責處理簇內成員的通信數據和安全認證。為了盡可能降低簇頭更換頻率,本文所提的分簇機制采用文獻[9]提出的簇頭連續工作機制,即當簇頭存在較多剩余能量時,可以連續擔當本簇控制中心,如果當前簇頭能力較低時,將自己所承擔的任務轉交給候選簇頭,候選簇頭在接替當前簇頭任務后,需向基站和成員確認通信,一方面通知本簇成員簇頭更換,另一方面由基站確認其合法身份。
4 仿真與驗證
為評估所提出的成簇機制對節點安全性能的改進,假設100個節點隨機分布100m*100m的區域,設所有節點具有相同的初始能量,簇頭占總節點數目百分比為5%,各節點賦予初始ID號,分別記為1,2,…,100,基站序號為0,其位置坐標為(50, 150)。在網絡運行早期,各節點具有較多剩余能量時,如果網絡沒有出現節點被攻擊,各簇頭連續擔任本地控制中心至少5個輪回,被攻擊節點的ID號采用隨機函數生成。本文設計的成簇機制與LEACH成簇算法對被攻擊節點的捕獲結果對比如圖2所示。
從圖2可以看出,我們所設計的成簇機制比采用LEACH成簇算法在捕獲被攻擊節點的性能明顯提高。由于LEACH算法每輪數據處理后需要重新實施節點分簇,而對鄰居節點沒有進行安全識別,缺乏鏈路有效性認證,導致可能當前輪回入侵節點或被攻擊節點不能進行處理;而我們所提成簇算法要求對簇頭、成員節點和鄰居節點間的信息都需要進行安全認證,因此能夠有效遏制入侵節點或被攻擊節點對網絡信息安全的影響。我們所設計的成簇機制和采用LEACH算法實現的節點安全認證中廣播能耗與總能量之比的對比情況如圖3所示
圖3可以看出,我們所提的分簇機制較LEACH算法明顯降低了廣播能耗。由于在我們所提的分簇機制中,如果基站沒有收到任何簇頭發送網絡不安全信息,則不會通知全網節點進行重新成簇,除非當前簇頭連續擔任本地控制中心的次數已到,則候選簇頭替換當前簇頭,以廣播的方式通知本簇成員和基站,因此簇頭和成員、基站中的廣播消息將顯著降低。當然,如果基站發現某個簇頭出現不安全特征,則仍然需要全網廣播,采用組網初始階段的方法,重新組簇。由圖2、圖3可知,采用這種動態、靜態成簇的機制,既能及時準確發現入侵節點或被攻擊節點,又能顯著降低網絡的廣播能耗,對于提高網絡安全和延長網絡壽命都將起到積極作用。
5 結語
本文針對面向傳感器網絡的節點安全問題,采用基本的隨機密鑰預分配模,分配網絡初始化密鑰池、建立安全鏈路和動態、靜態成簇機制有效地改善了節點安全問題,有利于提高節點和網絡安全性,并能延長網絡壽命。
參考文獻
[1] 孫利民,李建中,陳渝等.無線傳感器網絡[M].北京:清華大學出版社, 2005.2.
[2] Heinzelman W, Chandrakasan A, and Balakrishnan H. Energy-efficient communication protocol for wireless microsensor net- works. Proc. ofthe 33rd Annual Hawaii Int ’l Conf. on System Sciences. Maui: IEEE Computer Society, 2000: 3005-3014.
[3] Bouhafs F,.Merabti M. A semantic clustering muting protocol for wireless sensor networks[A]. IEEE Consumer Communications and Networking Conference[C]. 2006, 351-355.
[4]Deb B, Bhatangar S, Nath B. A topology discovery algorithm for sensor networks with applications to network management [R]. DCS Technical Report DCS-TR-441, Rutgers University, 2001.
[5] Santi P, Simon J. Silence is golden with high probability: maintaining a connected backbone in wireless sensor networks [C]. In Proceeding of 1st European Workshop on Wireless Sensor Networks (EWSN 2004), Jan 2004: 106-121.
[6] Younis O, Franmy S. Distributed clustering in ad-hoc sensor networks: a hybrid, energy-efficient approach [C]. In Proceeding of the IEEE Conference on Computer Communications (INFOCOM), March 2004: 660-670.
[7] L. Eschenauer, V.D. Gligor. A key-Management Scheme for Distributed Sensor Networks. In: Proc of the 9th ACM Conference on Computer and Communications Security. Washington: ACM Press, 2002.41-47.
[8]蔡東強.無線傳感器網絡安全密鑰成簇算法的設計及研究. http://www.jc-ic.cn/show-1477058-1.html
[9] Xiang Min, Shi Wei-ren, Jiang Chang-jiang, et.al. Energy-efficient clustering algorithm for maximizing lifetime of wireless sensor networks (In Press). AEU-International Journal of Electronic & Communication. doi:10.1016/j.aeue.2009.01.004.
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除! 快速論文發表網(www.6scc.cn)本中心和國內數百家期刊雜志社有良好的合作關系,可以幫客戶代發論文投稿.
投稿郵箱:ksfbw@126.com
客服Q Q:
82702382
聯系電話:15295038833
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除!
上一篇:淺談中學生寫作興趣的激發
下一篇:多種教學形式的歷史課