摘 要: 由于傳感器節(jié)點的資源嚴格受限,現(xiàn)有的網(wǎng)絡安全機制無法應用于無線傳感網(wǎng)中。提出了固定簇區(qū)域的網(wǎng)絡結構,以大型脫機密鑰池方式隨機分配密鑰形成密鑰環(huán),并周密地設計了密鑰更新方案。仿真實驗證明,該機制在能量消耗和安全性方面具有優(yōu)秀的性能。
關鍵詞: 無線傳感網(wǎng);簇;密鑰管理;安全性
微傳感器技術、微電子技術、無線通信技術以及計算機技術的進步,極大地推動了集信息采集、處理、無線傳輸?shù)裙δ苡谝惑w的無線傳感器網(wǎng)絡WSN(Wireless Sensor Networks)的發(fā)展。WSN以其低成本、低功耗的特點,在軍事、環(huán)境監(jiān)測、醫(yī)療健康等領域有著廣泛的應用,并逐漸深入到人類生活的各個領域。
當WSN部署在一個敵對的環(huán)境中,安全性就顯得極為重要,因為它們容易產(chǎn)生不同類型的惡意攻擊。例如,敵人可以冒充合法節(jié)點竊取網(wǎng)絡中的通信數(shù)據(jù),或者發(fā)送錯誤的信息給其他節(jié)點。為了確保從網(wǎng)絡中收集到的數(shù)據(jù)正確可靠,節(jié)點間的數(shù)據(jù)通信必須采取安全機制。而WSN區(qū)別于其他傳統(tǒng)的無線網(wǎng)絡,具有非常有限的資源,如有限的能量、帶寬以及處理和存儲數(shù)據(jù)的能力,這就要求面向WSN的安全機制必須輕量簡單,易于在微型傳感器上實現(xiàn)。
近幾年,WSN的安全問題受到了許多研究者的關注。參考文獻[1]提出一種低通信開銷的點對點認證協(xié)議,該協(xié)議的安全性完全依賴于基站,如果基站被攻陷,網(wǎng)絡將毫無安全性可言。參考文獻[2]提出點到多點認證方案,解決了共享密鑰問題,但是無法抵御DoS攻擊。參考文獻[3]提出一種隨機密鑰分配方案,但該方案無法保證網(wǎng)絡的連通性。參考文獻[4]提出一種使通信雙方具有q個公共密鑰的q-composite模型,增強了網(wǎng)絡的連通性,但方案增加了通信開銷。參考文獻[5]認為任何一種單一的密鑰機制都不可能實現(xiàn)WSN所需的安全通信,因此提出多密鑰機制——LEAP協(xié)議,其優(yōu)點是任何節(jié)點的受損都不會影響其他節(jié)點的安全,缺點是節(jié)點部署后,在一個特定的時間內必須保留全網(wǎng)通用的組密鑰,若組密鑰一旦被暴露,則整個網(wǎng)絡的安全都受到威脅。
本文在LEAP的多密鑰機制基礎上,對網(wǎng)絡區(qū)域進行簇的劃分,以減少數(shù)據(jù)傳輸產(chǎn)生的能量消耗,并設計密鑰更新算法,進一步增強網(wǎng)絡的安全性。
1 基于固定簇結構的密鑰管理方案
1.1 固定簇結構
在本方案中,網(wǎng)絡區(qū)域被基站劃分為若干大小相等、固定不變的的網(wǎng)格,每個網(wǎng)格形成一個簇,每個簇有一個輪換選出的簇頭節(jié)點,如圖1所示。節(jié)點在網(wǎng)絡中的位置是已知的,節(jié)點形成簇是基于它們的位置。簇區(qū)域的劃分是在簇頭選舉的第一輪進行,在整個網(wǎng)絡生命周期內不再變動。從第二輪開始,不再需要基站的任何控制信息,極大地減少了在初始化階段與基站的通信量。
采用網(wǎng)格的形式劃分并固定簇區(qū)域的方法,可以使簇頭節(jié)點均勻分布在網(wǎng)絡中,以得到較優(yōu)化的簇結構。同時,由于簇區(qū)域已經(jīng)固定,在每一輪的初始化階段(除了第一輪)要完成的工作只是簇頭節(jié)點的選擇,減少了形成簇所需要的一系列廣播帶來的能耗。
當簇形成以后,簇頭節(jié)點確定TDMA時隙表并通告每個簇內成員。當簇頭的電池能量降低到一個預定的值Ehmin時,或作為簇頭節(jié)點服務了一段預定的時間后,它將在簇內廣播一條新的選舉信息,選出一個新的簇頭節(jié)點。
1.2 網(wǎng)絡密鑰類型
本方案支持四種類型的密鑰:個體密鑰、對密鑰、簇密鑰和組密鑰。下面將討論每一種類型的密鑰。
(1)個體密鑰:每個成員節(jié)點都有一個唯一的與基站共享的密鑰,用于成員節(jié)點與基站之間的安全通信。例如,一個成員節(jié)點如果發(fā)現(xiàn)鄰居節(jié)點的異常行為,可以發(fā)送警報給基站;基站也可以使用該密鑰加密信息發(fā)送給成員節(jié)點。
(2)對密鑰:每個節(jié)點與其直接鄰居節(jié)點共享一個對密鑰。對密鑰用于需要加密或進行數(shù)據(jù)源認證的安全通信。例如,一個節(jié)點可以使用它的對密鑰保護其與鄰居節(jié)點的簇密鑰,或保證其讀數(shù)能傳輸?shù)揭粋€聚合節(jié)點。但是對密鑰不能在消極參與中使用。
(3)簇密鑰:簇頭節(jié)點與其成員節(jié)點共享一個簇密鑰,以確保本地廣播信息(如路由控制信息、節(jié)點間傳送的消息)的安全性。研究人員已經(jīng)發(fā)現(xiàn),在網(wǎng)絡處理技術中,數(shù)據(jù)融合和消極參與對節(jié)省WSN的能量消耗是非常重要的。例如,當一個節(jié)點偵聽到鄰居節(jié)點轉發(fā)的數(shù)據(jù)與當前自己讀取的數(shù)據(jù)相同時,則可以選擇不發(fā)送。在響應最大值聚合操作時,如果一個節(jié)點讀取的數(shù)據(jù)小于偵聽到的數(shù)據(jù),即可廢止自己的數(shù)據(jù)。為了使消息安全可行,鄰居節(jié)點應該能夠解密并驗證信息的級別,如傳感器讀取的數(shù)據(jù)和鄰居轉發(fā)的數(shù)據(jù)。這意味著這些信息應該被加密或通過本地共享密鑰驗證身份。因此,在本方案中每個簇都擁有一個唯一的簇密鑰,用于簇內信息的加密,其直接鄰居節(jié)點使用相同密鑰解密或驗證該信息。
(4)組密鑰:用于對整個網(wǎng)絡中的廣播消息進行加密,如基站發(fā)布任務或查詢。由于組密鑰在網(wǎng)絡所有節(jié)點中共享,如果一個節(jié)點被攻陷,應即時更新組密鑰,因此需要一個有效的密鑰更新機制。
1.3 隨機密鑰分配方案
隨機密鑰分配方案主要分為4個階段:
(1)密鑰重新分配階段。由中央密鑰服務器生成一個大型脫機密鑰池,其密鑰分配步驟如下:
?、俜峙湟粋€唯一的節(jié)點標識符或密鑰環(huán)標識符給每個傳感器節(jié)點。
?、趶拿荑€池中選擇m個不同的密鑰給傳感器節(jié)點,形成一個鑰匙環(huán)。
③將密鑰環(huán)裝入傳感器節(jié)點的內存。
(2)傳感器部署階段。傳感器是隨機挑選并統(tǒng)一大面積分布的。通常,一個成員節(jié)點的鄰居節(jié)點數(shù)目n遠小于網(wǎng)絡節(jié)點的總數(shù)N。
(3)密鑰發(fā)現(xiàn)階段。在該階段,每個傳感器節(jié)點廣播明文密鑰標識符或使用私有共享密鑰發(fā)現(xiàn)機制發(fā)現(xiàn)與鄰居節(jié)點共享的密鑰。通過比較擁有的密鑰,一個傳感器節(jié)點可以建立與之共享密鑰的節(jié)點名單,然后廣播此名單。通過從鄰居收到的名單,一個傳感器節(jié)點就可以構建一個基于鄰居之間共享密鑰關系的密鑰圖。
(4)對密鑰建立階段。如果一個傳感器節(jié)點與給定的鄰居共享密鑰,此共享密鑰被視為它們的對密鑰。如果一個傳感器節(jié)點不與給定的鄰居共享密鑰,即可在密鑰發(fā)現(xiàn)階段利用密鑰圖查找密鑰路徑,從而建立對密鑰。該方案有兩個特點,第一,預裝在一個節(jié)點中的密鑰也可以安裝在其他節(jié)點中,即一個密鑰可以由一對以上的節(jié)點共享。第二,在當前大部分方案中,預裝密鑰與節(jié)點ID之間沒有任何關系。
1.4 密鑰更新方案
如果一些節(jié)點使用同一密鑰進行了20 k/3次加密運算(k是密鑰的位數(shù)),則進行密鑰更新。
(1)定期簇密鑰更新:簇頭節(jié)點使用簇密鑰進行了20 k/3次加密運算后,由其產(chǎn)生新的隨機簇密鑰,新密鑰用舊密鑰加密,附加數(shù)字簽名,并向簇中所有成員發(fā)送。
(2)定期組密鑰更新:當基站使用相同的密鑰進行了20 k/3次加密運算后,由基站產(chǎn)生新的隨機組密鑰,新密鑰用舊密鑰加密,附加數(shù)字簽名并在網(wǎng)絡中廣播。
(3)成員加入簇密鑰更新:新成員加入簇,簇頭將產(chǎn)生新密鑰,新密鑰用舊密鑰加密并發(fā)送給所有簇成員,新簇密鑰用對密鑰加密并發(fā)送給新成員,隨后,簇頭請求基站執(zhí)行成員加入組密鑰更新。
(4)成員加入組密鑰更新:基站驗證來自簇頭的密鑰更新請求后,將執(zhí)行組密鑰更新。該過程與定期組密鑰更新算法相同,但是新成員不知道當前的組密鑰,所以新成員的簇頭將向其專門發(fā)送新組密鑰和基站的公鑰,并保持向后保密特性。
(5)成員離開簇密鑰更新:當一個簇成員的電池能量耗盡或不再滿足簇的功能時將離開簇,簇頭將進行密鑰的更新。新的簇密鑰用舊密鑰加密,由簇頭發(fā)送給所有成員并在成員中共享,然后,簇頭請求基站發(fā)起成員離開組密鑰更新。
(6)成員離開組密鑰更新:該過程與定期組密鑰更新算法相同。
2 性能分析
2.1 能耗分析
使用NS2仿真工具將本方案與其他協(xié)議(如LEAP)進行比較。建立仿真模型如下:網(wǎng)絡由150個節(jié)點組成,每個節(jié)點的初始能量為0.25 J,隨機分布在80 m×80 m的范圍內,基站距離最近的節(jié)點約100 m,模擬時間4 000 s。從圖2的仿真結果中可以看出,由于本方案采用固定簇結構,有效地節(jié)省了節(jié)點的能耗。
2.2 安全性分析
為了確保網(wǎng)絡的安全性,方案采取定期更新密鑰的方法。然而,如果密鑰的更新不能發(fā)生在攻擊者利用密鑰之前,那么一個被攻陷的成員節(jié)點可能在下一輪選舉中擔當簇頭,產(chǎn)生新密鑰,用現(xiàn)有的簇密鑰加密新密鑰進行分發(fā)。本方案靠數(shù)字簽名驗證更新的密鑰來抵御這種攻擊,同時也抵御了所有的欺騙攻擊和數(shù)據(jù)完整性攻擊。
在與能耗仿真一樣的仿真模型下,并在網(wǎng)絡正常運行期間隨機選擇一些被捕獲的節(jié)點,分別在不同的被捕獲節(jié)點數(shù)目下,運行仿真程序(執(zhí)行50次),將本方案與其他協(xié)議(如LEAP)進行對比,結果如圖3所示。結果顯示,由于本方案采取全面的密鑰更新機制,具有更好的安全性能。
本文介紹了一個固定簇結構的密鑰管理機制,仿真實驗證明,該方案對于無線傳感網(wǎng)減少能量消耗和保護簇的安全性方面效果顯著。今后,將通過全面的仿真進一步測試該方案的各方面性能,特別是在阻止節(jié)點合謀攻擊方面的性能。
參考文獻
[1] PERRIG A, SZEWCZYK R, WEN V, et al. SPINS: security protocols for sensor networks[J]. Wireless Networks, 2002, 8(5): 521-534.
[2] PERRIG A, CANETTI R, SONG D, et al. Efficient and secure source authentication for multicast streams over lossy channels[C]. Proceedings of IEEE on SP00, 2000: 56.
[3] ESCHENAUER L, GLIGOR V D. A key-management scheme for distributed sensor networks[C]. Proceedings of ACM on CCS′02, NOV, 2002: 41-47.
[4] CHAN H, PERRIG A, SONG D. Random key pre-distribution schemes for sensor networks[C]. Proceedings of IEEE on SP03, May 2003: 197-213.
[5] ZHU S, SETIA S, JAJODIA S. LEAP: efficient security mechanisms for large-scale distributed sensor networks[C].Proceedings of the 10th ACM Conference on Computer and Communications Security. New York: ACM Press, 2003:62-72.