無(wú)線傳感網(wǎng)固定簇結(jié)構(gòu)的密鑰管理機(jī)制
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: 由于傳感器節(jié)點(diǎn)的資源嚴(yán)格受限,現(xiàn)有的網(wǎng)絡(luò)安全機(jī)制無(wú)法應(yīng)用于無(wú)線傳感網(wǎng)中。提出了固定簇區(qū)域的網(wǎng)絡(luò)結(jié)構(gòu),以大型脫機(jī)密鑰池方式隨機(jī)分配密鑰形成密鑰環(huán),并周密地設(shè)計(jì)了密鑰更新方案。仿真實(shí)驗(yàn)證明,該機(jī)制在能量消耗和安全性方面具有優(yōu)秀的性能。
關(guān)鍵詞: 無(wú)線傳感網(wǎng);簇;密鑰管理;安全性
微傳感器技術(shù)、微電子技術(shù)、無(wú)線通信技術(shù)以及計(jì)算機(jī)技術(shù)的進(jìn)步,極大地推動(dòng)了集信息采集、處理、無(wú)線傳輸?shù)裙δ苡谝惑w的無(wú)線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Networks)的發(fā)展。WSN以其低成本、低功耗的特點(diǎn),在軍事、環(huán)境監(jiān)測(cè)、醫(yī)療健康等領(lǐng)域有著廣泛的應(yīng)用,并逐漸深入到人類生活的各個(gè)領(lǐng)域。
當(dāng)WSN部署在一個(gè)敵對(duì)的環(huán)境中,安全性就顯得極為重要,因?yàn)樗鼈內(nèi)菀桩a(chǎn)生不同類型的惡意攻擊。例如,敵人可以冒充合法節(jié)點(diǎn)竊取網(wǎng)絡(luò)中的通信數(shù)據(jù),或者發(fā)送錯(cuò)誤的信息給其他節(jié)點(diǎn)。為了確保從網(wǎng)絡(luò)中收集到的數(shù)據(jù)正確可靠,節(jié)點(diǎn)間的數(shù)據(jù)通信必須采取安全機(jī)制。而WSN區(qū)別于其他傳統(tǒng)的無(wú)線網(wǎng)絡(luò),具有非常有限的資源,如有限的能量、帶寬以及處理和存儲(chǔ)數(shù)據(jù)的能力,這就要求面向WSN的安全機(jī)制必須輕量簡(jiǎn)單,易于在微型傳感器上實(shí)現(xiàn)。
近幾年,WSN的安全問題受到了許多研究者的關(guān)注。參考文獻(xiàn)[1]提出一種低通信開銷的點(diǎn)對(duì)點(diǎn)認(rèn)證協(xié)議,該協(xié)議的安全性完全依賴于基站,如果基站被攻陷,網(wǎng)絡(luò)將毫無(wú)安全性可言。參考文獻(xiàn)[2]提出點(diǎn)到多點(diǎn)認(rèn)證方案,解決了共享密鑰問題,但是無(wú)法抵御DoS攻擊。參考文獻(xiàn)[3]提出一種隨機(jī)密鑰分配方案,但該方案無(wú)法保證網(wǎng)絡(luò)的連通性。參考文獻(xiàn)[4]提出一種使通信雙方具有q個(gè)公共密鑰的q-composite模型,增強(qiáng)了網(wǎng)絡(luò)的連通性,但方案增加了通信開銷。參考文獻(xiàn)[5]認(rèn)為任何一種單一的密鑰機(jī)制都不可能實(shí)現(xiàn)WSN所需的安全通信,因此提出多密鑰機(jī)制——LEAP協(xié)議,其優(yōu)點(diǎn)是任何節(jié)點(diǎn)的受損都不會(huì)影響其他節(jié)點(diǎn)的安全,缺點(diǎn)是節(jié)點(diǎn)部署后,在一個(gè)特定的時(shí)間內(nèi)必須保留全網(wǎng)通用的組密鑰,若組密鑰一旦被暴露,則整個(gè)網(wǎng)絡(luò)的安全都受到威脅。
本文在LEAP的多密鑰機(jī)制基礎(chǔ)上,對(duì)網(wǎng)絡(luò)區(qū)域進(jìn)行簇的劃分,以減少數(shù)據(jù)傳輸產(chǎn)生的能量消耗,并設(shè)計(jì)密鑰更新算法,進(jìn)一步增強(qiáng)網(wǎng)絡(luò)的安全性。
1 基于固定簇結(jié)構(gòu)的密鑰管理方案
1.1 固定簇結(jié)構(gòu)
在本方案中,網(wǎng)絡(luò)區(qū)域被基站劃分為若干大小相等、固定不變的的網(wǎng)格,每個(gè)網(wǎng)格形成一個(gè)簇,每個(gè)簇有一個(gè)輪換選出的簇頭節(jié)點(diǎn),如圖1所示。節(jié)點(diǎn)在網(wǎng)絡(luò)中的位置是已知的,節(jié)點(diǎn)形成簇是基于它們的位置。簇區(qū)域的劃分是在簇頭選舉的第一輪進(jìn)行,在整個(gè)網(wǎng)絡(luò)生命周期內(nèi)不再變動(dòng)。從第二輪開始,不再需要基站的任何控制信息,極大地減少了在初始化階段與基站的通信量。
采用網(wǎng)格的形式劃分并固定簇區(qū)域的方法,可以使簇頭節(jié)點(diǎn)均勻分布在網(wǎng)絡(luò)中,以得到較優(yōu)化的簇結(jié)構(gòu)。同時(shí),由于簇區(qū)域已經(jīng)固定,在每一輪的初始化階段(除了第一輪)要完成的工作只是簇頭節(jié)點(diǎn)的選擇,減少了形成簇所需要的一系列廣播帶來(lái)的能耗。
當(dāng)簇形成以后,簇頭節(jié)點(diǎn)確定TDMA時(shí)隙表并通告每個(gè)簇內(nèi)成員。當(dāng)簇頭的電池能量降低到一個(gè)預(yù)定的值Ehmin時(shí),或作為簇頭節(jié)點(diǎn)服務(wù)了一段預(yù)定的時(shí)間后,它將在簇內(nèi)廣播一條新的選舉信息,選出一個(gè)新的簇頭節(jié)點(diǎn)。
1.2 網(wǎng)絡(luò)密鑰類型
本方案支持四種類型的密鑰:個(gè)體密鑰、對(duì)密鑰、簇密鑰和組密鑰。下面將討論每一種類型的密鑰。
(1)個(gè)體密鑰:每個(gè)成員節(jié)點(diǎn)都有一個(gè)唯一的與基站共享的密鑰,用于成員節(jié)點(diǎn)與基站之間的安全通信。例如,一個(gè)成員節(jié)點(diǎn)如果發(fā)現(xiàn)鄰居節(jié)點(diǎn)的異常行為,可以發(fā)送警報(bào)給基站;基站也可以使用該密鑰加密信息發(fā)送給成員節(jié)點(diǎn)。
(2)對(duì)密鑰:每個(gè)節(jié)點(diǎn)與其直接鄰居節(jié)點(diǎn)共享一個(gè)對(duì)密鑰。對(duì)密鑰用于需要加密或進(jìn)行數(shù)據(jù)源認(rèn)證的安全通信。例如,一個(gè)節(jié)點(diǎn)可以使用它的對(duì)密鑰保護(hù)其與鄰居節(jié)點(diǎn)的簇密鑰,或保證其讀數(shù)能傳輸?shù)揭粋€(gè)聚合節(jié)點(diǎn)。但是對(duì)密鑰不能在消極參與中使用。
(3)簇密鑰:簇頭節(jié)點(diǎn)與其成員節(jié)點(diǎn)共享一個(gè)簇密鑰,以確保本地廣播信息(如路由控制信息、節(jié)點(diǎn)間傳送的消息)的安全性。研究人員已經(jīng)發(fā)現(xiàn),在網(wǎng)絡(luò)處理技術(shù)中,數(shù)據(jù)融合和消極參與對(duì)節(jié)省WSN的能量消耗是非常重要的。例如,當(dāng)一個(gè)節(jié)點(diǎn)偵聽到鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)的數(shù)據(jù)與當(dāng)前自己讀取的數(shù)據(jù)相同時(shí),則可以選擇不發(fā)送。在響應(yīng)最大值聚合操作時(shí),如果一個(gè)節(jié)點(diǎn)讀取的數(shù)據(jù)小于偵聽到的數(shù)據(jù),即可廢止自己的數(shù)據(jù)。為了使消息安全可行,鄰居節(jié)點(diǎn)應(yīng)該能夠解密并驗(yàn)證信息的級(jí)別,如傳感器讀取的數(shù)據(jù)和鄰居轉(zhuǎn)發(fā)的數(shù)據(jù)。這意味著這些信息應(yīng)該被加密或通過本地共享密鑰驗(yàn)證身份。因此,在本方案中每個(gè)簇都擁有一個(gè)唯一的簇密鑰,用于簇內(nèi)信息的加密,其直接鄰居節(jié)點(diǎn)使用相同密鑰解密或驗(yàn)證該信息。
(4)組密鑰:用于對(duì)整個(gè)網(wǎng)絡(luò)中的廣播消息進(jìn)行加密,如基站發(fā)布任務(wù)或查詢。由于組密鑰在網(wǎng)絡(luò)所有節(jié)點(diǎn)中共享,如果一個(gè)節(jié)點(diǎn)被攻陷,應(yīng)即時(shí)更新組密鑰,因此需要一個(gè)有效的密鑰更新機(jī)制。
1.3 隨機(jī)密鑰分配方案
隨機(jī)密鑰分配方案主要分為4個(gè)階段:
(1)密鑰重新分配階段。由中央密鑰服務(wù)器生成一個(gè)大型脫機(jī)密鑰池,其密鑰分配步驟如下:
①分配一個(gè)唯一的節(jié)點(diǎn)標(biāo)識(shí)符或密鑰環(huán)標(biāo)識(shí)符給每個(gè)傳感器節(jié)點(diǎn)。
②從密鑰池中選擇m個(gè)不同的密鑰給傳感器節(jié)點(diǎn),形成一個(gè)鑰匙環(huán)。
③將密鑰環(huán)裝入傳感器節(jié)點(diǎn)的內(nèi)存。
(2)傳感器部署階段。傳感器是隨機(jī)挑選并統(tǒng)一大面積分布的。通常,一個(gè)成員節(jié)點(diǎn)的鄰居節(jié)點(diǎn)數(shù)目n遠(yuǎn)小于網(wǎng)絡(luò)節(jié)點(diǎn)的總數(shù)N。
(3)密鑰發(fā)現(xiàn)階段。在該階段,每個(gè)傳感器節(jié)點(diǎn)廣播明文密鑰標(biāo)識(shí)符或使用私有共享密鑰發(fā)現(xiàn)機(jī)制發(fā)現(xiàn)與鄰居節(jié)點(diǎn)共享的密鑰。通過比較擁有的密鑰,一個(gè)傳感器節(jié)點(diǎn)可以建立與之共享密鑰的節(jié)點(diǎn)名單,然后廣播此名單。通過從鄰居收到的名單,一個(gè)傳感器節(jié)點(diǎn)就可以構(gòu)建一個(gè)基于鄰居之間共享密鑰關(guān)系的密鑰圖。
(4)對(duì)密鑰建立階段。如果一個(gè)傳感器節(jié)點(diǎn)與給定的鄰居共享密鑰,此共享密鑰被視為它們的對(duì)密鑰。如果一個(gè)傳感器節(jié)點(diǎn)不與給定的鄰居共享密鑰,即可在密鑰發(fā)現(xiàn)階段利用密鑰圖查找密鑰路徑,從而建立對(duì)密鑰。該方案有兩個(gè)特點(diǎn),第一,預(yù)裝在一個(gè)節(jié)點(diǎn)中的密鑰也可以安裝在其他節(jié)點(diǎn)中,即一個(gè)密鑰可以由一對(duì)以上的節(jié)點(diǎn)共享。第二,在當(dāng)前大部分方案中,預(yù)裝密鑰與節(jié)點(diǎn)ID之間沒有任何關(guān)系。
1.4 密鑰更新方案
如果一些節(jié)點(diǎn)使用同一密鑰進(jìn)行了20 k/3次加密運(yùn)算(k是密鑰的位數(shù)),則進(jìn)行密鑰更新。
(1)定期簇密鑰更新:簇頭節(jié)點(diǎn)使用簇密鑰進(jìn)行了20 k/3次加密運(yùn)算后,由其產(chǎn)生新的隨機(jī)簇密鑰,新密鑰用舊密鑰加密,附加數(shù)字簽名,并向簇中所有成員發(fā)送。
(2)定期組密鑰更新:當(dāng)基站使用相同的密鑰進(jìn)行了20 k/3次加密運(yùn)算后,由基站產(chǎn)生新的隨機(jī)組密鑰,新密鑰用舊密鑰加密,附加數(shù)字簽名并在網(wǎng)絡(luò)中廣播。
(3)成員加入簇密鑰更新:新成員加入簇,簇頭將產(chǎn)生新密鑰,新密鑰用舊密鑰加密并發(fā)送給所有簇成員,新簇密鑰用對(duì)密鑰加密并發(fā)送給新成員,隨后,簇頭請(qǐng)求基站執(zhí)行成員加入組密鑰更新。
(4)成員加入組密鑰更新:基站驗(yàn)證來(lái)自簇頭的密鑰更新請(qǐng)求后,將執(zhí)行組密鑰更新。該過程與定期組密鑰更新算法相同,但是新成員不知道當(dāng)前的組密鑰,所以新成員的簇頭將向其專門發(fā)送新組密鑰和基站的公鑰,并保持向后保密特性。
(5)成員離開簇密鑰更新:當(dāng)一個(gè)簇成員的電池能量耗盡或不再滿足簇的功能時(shí)將離開簇,簇頭將進(jìn)行密鑰的更新。新的簇密鑰用舊密鑰加密,由簇頭發(fā)送給所有成員并在成員中共享,然后,簇頭請(qǐng)求基站發(fā)起成員離開組密鑰更新。
(6)成員離開組密鑰更新:該過程與定期組密鑰更新算法相同。
2 性能分析
2.1 能耗分析
使用NS2仿真工具將本方案與其他協(xié)議(如LEAP)進(jìn)行比較。建立仿真模型如下:網(wǎng)絡(luò)由150個(gè)節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)的初始能量為0.25 J,隨機(jī)分布在80 m×80 m的范圍內(nèi),基站距離最近的節(jié)點(diǎn)約100 m,模擬時(shí)間4 000 s。從圖2的仿真結(jié)果中可以看出,由于本方案采用固定簇結(jié)構(gòu),有效地節(jié)省了節(jié)點(diǎn)的能耗。
2.2 安全性分析
為了確保網(wǎng)絡(luò)的安全性,方案采取定期更新密鑰的方法。然而,如果密鑰的更新不能發(fā)生在攻擊者利用密鑰之前,那么一個(gè)被攻陷的成員節(jié)點(diǎn)可能在下一輪選舉中擔(dān)當(dāng)簇頭,產(chǎn)生新密鑰,用現(xiàn)有的簇密鑰加密新密鑰進(jìn)行分發(fā)。本方案靠數(shù)字簽名驗(yàn)證更新的密鑰來(lái)抵御這種攻擊,同時(shí)也抵御了所有的欺騙攻擊和數(shù)據(jù)完整性攻擊。
在與能耗仿真一樣的仿真模型下,并在網(wǎng)絡(luò)正常運(yùn)行期間隨機(jī)選擇一些被捕獲的節(jié)點(diǎn),分別在不同的被捕獲節(jié)點(diǎn)數(shù)目下,運(yùn)行仿真程序(執(zhí)行50次),將本方案與其他協(xié)議(如LEAP)進(jìn)行對(duì)比,結(jié)果如圖3所示。結(jié)果顯示,由于本方案采取全面的密鑰更新機(jī)制,具有更好的安全性能。
本文介紹了一個(gè)固定簇結(jié)構(gòu)的密鑰管理機(jī)制,仿真實(shí)驗(yàn)證明,該方案對(duì)于無(wú)線傳感網(wǎng)減少能量消耗和保護(hù)簇的安全性方面效果顯著。今后,將通過全面的仿真進(jìn)一步測(cè)試該方案的各方面性能,特別是在阻止節(jié)點(diǎn)合謀攻擊方面的性能。
參考文獻(xiàn)
[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.