劉海英,熊俊俏,戴璐萍,鄭寬磊
(武漢工程大學(xué)電氣與信息學(xué)院,湖北 武漢 430073)
基于哈希密鑰鏈的無線傳感器網(wǎng)絡(luò)密鑰預(yù)分配方案
劉海英,熊俊俏,戴璐萍,鄭寬磊
(武漢工程大學(xué)電氣與信息學(xué)院,湖北 武漢 430073)
目前,主要通過研究密鑰管理來保證無線傳感器網(wǎng)絡(luò)的安全。在基于密鑰預(yù)分配的方案中,當(dāng)前研究的熱點是隨機密鑰預(yù)分配模型,但它面臨一個潛在的挑戰(zhàn),即無法同時獲取理想的網(wǎng)絡(luò)安全連通性和網(wǎng)絡(luò)抗毀性。為此,提出一種基于哈希密鑰鏈的隨機預(yù)分配方案,利用密碼學(xué)的哈希函數(shù)提高方案的抗節(jié)點俘獲能力,增強網(wǎng)絡(luò)的安全性,且在與E-G方案同等網(wǎng)絡(luò)連通概率下具有較小的存儲消耗和通信消耗。
無線傳感器網(wǎng)絡(luò);密鑰管理;密鑰預(yù)分配;哈希密鑰鏈
無線傳感器網(wǎng)絡(luò)是由傳感器節(jié)點以自組織方式構(gòu)成的無線網(wǎng)絡(luò),其目的是感知、采集和處理網(wǎng)絡(luò)覆蓋地理區(qū)域中感知對象的信息,并傳遞給觀察者。無線傳感器網(wǎng)絡(luò)廣泛應(yīng)用于軍事、環(huán)境、健康、家庭和其他商業(yè)領(lǐng)域等各個領(lǐng)域[1]。隨著無線傳感器網(wǎng)絡(luò)受到越來越多的關(guān)注,其安全問題也變得越來越重要。無線傳感器網(wǎng)絡(luò)密鑰管理是無線傳感器網(wǎng)絡(luò)安全的一個基礎(chǔ)問題。因此,無線傳感器網(wǎng)絡(luò)管理問題的研究非常有意義,能有效解決無線傳感器網(wǎng)絡(luò)安全,促進(jìn)無線傳感器網(wǎng)絡(luò)的廣泛應(yīng)用。
在無線傳感器網(wǎng)絡(luò)的密鑰管理方案中,隨機密鑰預(yù)分配方案模型因其具有的諸多優(yōu)勢而成為研究熱點,基本的隨機密鑰預(yù)分配方案(E-G方案) 首次將隨機圖理論應(yīng)用到密鑰管理方案中,在E-G方案中,每個傳感器節(jié)點都存儲一定數(shù)目的密鑰,且會以一定的概率與其他節(jié)點存在共享密鑰,當(dāng)某些傳感器節(jié)點被俘獲后,攻擊者可以提取出它們所存儲的密鑰,這就威脅到其他也使用這些密鑰作為通信密鑰的節(jié)點。被俘獲的節(jié)點數(shù)越多,網(wǎng)絡(luò)的安全性越差,當(dāng)被俘獲的節(jié)點數(shù)占據(jù)整個網(wǎng)絡(luò)中傳感器節(jié)點數(shù)目的一定比例時,整個網(wǎng)絡(luò)的安全就不存在了。雖然可以通過增大密鑰池來減小被俘節(jié)點對網(wǎng)絡(luò)中其他節(jié)點的影響,但是同時又會降低網(wǎng)絡(luò)的安全連通概率。
筆者在E-G方案的基礎(chǔ)上,利用哈希函數(shù)[2]的單向計算,設(shè)計一種基于哈希密鑰鏈的密鑰管理方案,提高網(wǎng)絡(luò)的連通概率及抗節(jié)點俘獲能力,同時降低通信密鑰建立時的通信能耗。
符號說明:S為密鑰池;|S|為密鑰池的大?。籱為節(jié)點密鑰環(huán)的大小,能存放密鑰的個數(shù);p′為鄰居節(jié)點內(nèi)能建立安全鏈接的期望概率;L為密鑰池中形成的密鑰鏈集合;S′為密鑰池中形成的密鑰鏈的數(shù)量;l為密鑰池中形成的密鑰鏈的長度;a為傳感器節(jié)點A的標(biāo)識符;a|b為a與b的連接;IDk為密鑰k的標(biāo)識符;Kab為鄰居節(jié)點A和B之間的通信密鑰(其中,a和b是字母);Kij為密鑰鏈i中的第j個密鑰(其中,i和j是數(shù)字);Kai為節(jié)點A的密鑰環(huán)中的某個密鑰(其中,a為字母,i為數(shù)字);A→*為節(jié)點A向網(wǎng)絡(luò)中廣播信息;A←B為節(jié)點A接收B廣播的信息。
1.1網(wǎng)絡(luò)通信密鑰的建立
該方案設(shè)計有4個階段:密鑰預(yù)分配階段、共享密鑰發(fā)現(xiàn)階段、路徑密鑰建立階段和密鑰增強階段,具體描述如下:
1)密鑰預(yù)分配階段 首先從密鑰池中隨機選取1個密鑰作為1組密鑰鏈的首密鑰。設(shè)H(x)是單向密鑰生成函數(shù),利用該哈希函數(shù)可以生成1個長度為L的密鑰鏈,并為其中每個密鑰分配1個ID標(biāo)識符,其標(biāo)識符是連續(xù)的;第2條密鑰鏈依然是隨機從密鑰池中選取1個密鑰作為首密鑰,利用H(x)哈希函數(shù)生成密鑰鏈中的其他密鑰,其首密鑰的標(biāo)識符為IDl+1,其余標(biāo)識符依次加1;依次類推,在密鑰池中生成S′條密鑰鏈(S′=|S|/l),密鑰標(biāo)識符為ID1到IDs′L。
2)共享密鑰發(fā)現(xiàn)階段 這一階段主要完成區(qū)域內(nèi)鄰居節(jié)點直接建立通信密鑰的過程,每個節(jié)點都需要發(fā)現(xiàn)周圍可以與其進(jìn)行密鑰匹配的節(jié)點,若2個節(jié)點擁有相同的密鑰,或者都擁有的密鑰其中一個可以由另一個經(jīng)過哈希函數(shù)計算出來,即在同一條密鑰鏈上,則將這2個節(jié)點看成擁有匹配的密鑰,可以直接建立通信密鑰。
3)路徑密鑰建立階段 在網(wǎng)絡(luò)部署后,若通信范圍內(nèi)的某2個節(jié)點之間不能直接建立通信鏈接,則利用中間節(jié)點建立通信密鑰。
若約定由二者中節(jié)點標(biāo)識符較大者生成它們的通信密鑰,通過第3方傳遞給節(jié)點標(biāo)識符較小的節(jié)點。例如,節(jié)點alt;c,二者在彼此的通信范圍內(nèi),但是節(jié)點所存儲的密鑰中沒有共享密鑰,那么節(jié)點a發(fā)現(xiàn)c標(biāo)識符大于自己的,就不去計算通信密鑰,等著接收由中間節(jié)點發(fā)來的帶有與c節(jié)點的通信密鑰的信息;節(jié)點c發(fā)現(xiàn)自己的標(biāo)識符大于節(jié)點a,則從自身存儲的密鑰中隨機抽取一個,利用哈希函數(shù)計算通信密鑰Kac=H(K|a|c),并將該密鑰及目標(biāo)節(jié)點a的標(biāo)識符一起傳給其與a共同都存在通信密鑰的節(jié)點b(信息是經(jīng)Kac=H(K|a|c)加密后的),節(jié)點b接收到該信息解密后,發(fā)現(xiàn)是要傳送給節(jié)點a的,就將該信息利用Kac=H(K|a|c)加密后傳給節(jié)點a,a解密后即可得到與節(jié)點c的通信密鑰[3]。
4)密鑰增強階段 在鄰居節(jié)點間建立了通信密鑰后,利用哈希函數(shù)對每個節(jié)點存儲的每個密鑰分別進(jìn)行計算K′=H(K|節(jié)點標(biāo)識符),計算后,刪除節(jié)點的密鑰環(huán)中的每個原密鑰K,此時,即使節(jié)點被俘獲,攻擊者也無法通過解密K′獲取節(jié)點的原始密鑰K,因此未被俘獲的節(jié)點間的任一通信密鑰仍是安全的。由此可以看出,哈希函數(shù)的單向性可以有效的保護密鑰信息[4]。
1.2網(wǎng)絡(luò)節(jié)點加入
在該方案中,因為通信密鑰建立后要對密鑰環(huán)中的密鑰進(jìn)行哈希計算,之后刪除節(jié)點中存儲的原密鑰K,所以在加入新節(jié)點時,要重新設(shè)計新節(jié)點如何與網(wǎng)絡(luò)中的其他節(jié)點建立通信密鑰。
假設(shè)要部署一個新的節(jié)點w,其密鑰環(huán)中帶有密鑰K,為了與其鄰居節(jié)點共享對密鑰,節(jié)點收集其鄰居節(jié)點的ID以及密鑰ID,同樣判斷鄰居節(jié)點中的密鑰ID是否大于自身的密鑰ID,若大于,則根據(jù)其ID號進(jìn)行差值次數(shù)的哈希計算得到鄰居節(jié)點中存儲的K′=H(K|u)的原密鑰,然后與接收到的節(jié)點ID標(biāo)識符進(jìn)行同樣的哈希計算,進(jìn)而計算出每個鄰居節(jié)點u的可能的密鑰K′=H(K|u)[5],通過使用K′的通信密鑰發(fā)現(xiàn)階段,建立了對密鑰Kuv=H(K′|u|w)。路徑密鑰建立階段后,w利用密鑰環(huán)中的每個密鑰K計算K′=H(K|w),并刪除K。
從鄰居節(jié)點間的連通概率和傳感器節(jié)點的能耗2方面對改進(jìn)方案進(jìn)行評價。
所以,鄰居節(jié)點間可建立鏈路的概率為:
利用階乘近似計算公式Stirling公式可將其化簡為:
2)傳感器節(jié)點的能耗分析 由以上分析可知,因為在該方案中同屬于一條密鑰鏈上的密鑰可以通過哈希函數(shù)計算,所以在達(dá)到可形成通信密鑰概率的同等情況下,該方案中存儲的密鑰數(shù)m小于E-G方案中存儲的密鑰數(shù),即需要存儲的密鑰數(shù)小于E-G方案[7]。
E-G方案的存儲量為密鑰環(huán)的大小,但該方案因為鄰居節(jié)點建立的通信密鑰是利用二者公共的密鑰經(jīng)過哈希計算而得到的,所以每個節(jié)點除了需要存儲m個密鑰(雖然原密鑰在計算過K′=H(K|u)后被刪除,但是還是需要存儲計算后的密鑰)、每個密鑰的ID號、節(jié)點標(biāo)識符、哈希函數(shù)外,還需要額外為每個節(jié)點與鄰居節(jié)點建立n′個對密鑰。下面給出在p′相同時,該方案與E-G方案分別所需存儲的密鑰環(huán)大小m,假設(shè)|S|=105,l=5。
表1 p′相同時E-G方案和基于哈希函數(shù)的預(yù)分配方案所需存儲的密鑰數(shù)m
由表1可以很清楚的看出,若要得到與E-G方案情況下相等的概率p′, 基于哈希函數(shù)的預(yù)分配方案節(jié)點所需存儲的密鑰數(shù)是E-G方案的一半以下。由前面的分析可知,鄰居節(jié)點數(shù)n′在數(shù)值上不會很大,這也由部署區(qū)域性質(zhì)決定,所以總的來說,在同等鄰居連通概率p′下,該方案中節(jié)點需存儲的信息加上與鄰居節(jié)點建立的通信密鑰,依然比E-G方案中節(jié)點需要存儲的密鑰信息要少。在同等鄰居連通概率p′下,該方案中節(jié)點需存儲的信息加上與鄰居節(jié)點建立的通信密鑰,比E-G方案中節(jié)點需要存儲的密鑰信息要少[8]。
該方案若鄰居節(jié)點間可建立安全通信鏈路的概率等同于E-G方案,因其節(jié)點中需要存儲的密鑰數(shù)小于E-G方案,所以在共享密鑰發(fā)現(xiàn)階段,每個傳感器節(jié)點需要廣播的密鑰標(biāo)識符也要少于E-G方案,即該方案在安全鏈路建立階段的通信開銷要小于E-G方案;若該方案中的傳感器節(jié)點同E-G方案存儲同樣多的密鑰,則其可形成通信密鑰的概率一定高于E-G方案。
與E-G方案相比,對于相同的m,該方案增加了計算量。因為該方案中需要額外的哈希函數(shù)操作來計算節(jié)點間通信密鑰以及m次哈希函數(shù)操作來重新計算密鑰環(huán)。
在該方案中,每個節(jié)點與鄰居節(jié)點建立通信密鑰之后,將密鑰環(huán)中原密鑰K計算成K′=H(K|節(jié)點標(biāo)識符),用于與新加入的節(jié)點建立通信密鑰,即密鑰建立是從建立通信密鑰到計算密鑰環(huán)中的原密鑰的過程。如果一個節(jié)點在其密鑰建立之前被俘獲,那么則節(jié)點中的原密鑰將暴露給攻擊者,否則如果一個節(jié)點在其密鑰建立后被俘獲,攻擊者獲得的是經(jīng)過計算后的密鑰K′=H(K|節(jié)點標(biāo)識符),而不是原密鑰K,所以也就不會威脅到網(wǎng)絡(luò)中的其他節(jié)點間的通信[9]。
該方案中節(jié)點在通信密鑰建立后被俘是不會泄露網(wǎng)絡(luò)中已經(jīng)建立的通信密鑰的原密鑰,即不會影響先前的通信,具有很好的安全性,所以該方案在密鑰建立后,有效的利用哈希函數(shù)重新計算每個節(jié)點密鑰環(huán)中的密鑰,以防止攻擊者發(fā)現(xiàn)通信密鑰使用的某些密鑰因子,減少了被俘節(jié)點泄露密鑰的機會,有效的提高了網(wǎng)絡(luò)的抗節(jié)點俘獲能力,增強了網(wǎng)絡(luò)的安全性[10]。
無線傳感器網(wǎng)絡(luò)自身的特點使其安全機制面臨嚴(yán)峻挑戰(zhàn)。密鑰管理機制則是構(gòu)建安全的無線傳感器網(wǎng)絡(luò)的核心技術(shù)。筆者提出了一種基于哈希密鑰鏈的隨機密鑰預(yù)分配方案,利用哈希函數(shù)對基本的隨機密鑰管理方案進(jìn)行改進(jìn)。分析結(jié)果表明,對密鑰池的處理提高了網(wǎng)絡(luò)連通性,使得方案可以支持較大的密鑰池,對節(jié)點存儲的密鑰進(jìn)行處理提高了方案的安全性,同時,降低了節(jié)點間建立通信密鑰時的通信能耗,支持節(jié)點的加入,可以用于大型傳感器網(wǎng)絡(luò)。
[1]任豐原,黃海寧,林闖.無線傳感器網(wǎng)絡(luò)[J].軟件學(xué)報,2003,14(7):1282~1291.
[2]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.4~10.
[3]戴寧江,邱惠敏.無線傳感器網(wǎng)絡(luò)的安全問題及對策[J].中國無線電,2006,(10):47~49.
[4]王殊,閻毓杰,胡富平,等.無線傳感器網(wǎng)絡(luò)的理論及應(yīng)用[M].北京:航空航天大學(xué)出版社,2007.4~7.
[5]王明輝.無線傳感器網(wǎng)絡(luò)密鑰管理方案研究[D].杭州:浙江大學(xué),2006.
[6]李平,林亞平,曾瑋妮.傳感器網(wǎng)絡(luò)安全研究[J].軟件學(xué)報,2006,17(12):2577~2588.
[7]Neuman B C,Tso T.An authentieation service for computer networks[J].IEEE Communications September,1994,32(9):33~38.
[8]陳菲,宋志高,陳克非.無線傳感器網(wǎng)絡(luò)中對密鑰管理評估指標(biāo)研究[J].計算機仿真,2005,22(5):134~140.
[9]蘇忠,林闖,封富君,等.無線傳感器網(wǎng)絡(luò)密鑰管理的方案和協(xié)議[J].軟件學(xué)報,2007,5(18):1218~1231.
[10] Liu Feng,Cheng Xu Zhi.Location-aware Key Eatablishment in Wireless Sensor Networks[J].In Proeeeding of IWCMC’,2006,3(6):21~26.
[編輯] 易國華
2009-07-12
劉海英(1976-),女,1999年大學(xué)畢業(yè),講師,現(xiàn)主要從事電子技術(shù)方面的教學(xué)與研究工作。
TP393
A
1673-1409(2009)04-N069-04