本發(fā)明屬于無(wú)線通信領(lǐng)域,涉及一種用于保護(hù)無(wú)線傳感器網(wǎng)絡(luò)安全的密鑰生成方法。
背景技術(shù):
:無(wú)線傳感器網(wǎng)絡(luò)(WirelessSensorNetworks,簡(jiǎn)稱WSN)是將微電子技術(shù)、傳感技術(shù)、無(wú)線通信技術(shù)融合的新型網(wǎng)絡(luò),可廣泛應(yīng)用于軍事、醫(yī)療、交通等諸多領(lǐng)域,具有非常好的應(yīng)用前景。在實(shí)際應(yīng)用中,安全對(duì)于無(wú)線傳感器網(wǎng)絡(luò)至關(guān)重要,特別是無(wú)線傳感器網(wǎng)絡(luò)被部署在無(wú)人觸及或容易受損的環(huán)境時(shí),保證無(wú)線傳感器網(wǎng)絡(luò)的安全性更是應(yīng)該優(yōu)先考慮的問(wèn)題。密鑰管理可以為網(wǎng)絡(luò)提供安全、可靠的保密通信,是確保網(wǎng)絡(luò)安全的至關(guān)重要的服務(wù)。根據(jù)無(wú)線傳感器網(wǎng)絡(luò)的特點(diǎn),現(xiàn)有的密鑰管理方案主要使用對(duì)稱密鑰以減少節(jié)點(diǎn)的能量消耗。通常,這類方案包括四個(gè)步驟:1)密鑰分析;2)密鑰分配;3)密鑰生成;4)密鑰分發(fā)。密鑰分析階段,服務(wù)器根據(jù)網(wǎng)絡(luò)的規(guī)模確定密鑰池的大小以及每個(gè)節(jié)點(diǎn)所需存儲(chǔ)的密鑰的數(shù)目;密鑰分配階段,服務(wù)器確定密鑰與節(jié)點(diǎn)之間的映射關(guān)系,進(jìn)而確定每個(gè)節(jié)點(diǎn)存儲(chǔ)哪些密鑰;密鑰生成階段,服務(wù)器生成具體使用的密鑰;密鑰分發(fā)階段,服務(wù)器將生成的密鑰按照密鑰分配關(guān)系分發(fā)給對(duì)應(yīng)的節(jié)點(diǎn)?,F(xiàn)有的密鑰管理方案主要使用的密鑰形式包括普通的串密鑰、二元對(duì)稱多項(xiàng)式密鑰、矩陣密鑰。Blundo等人提出的二元對(duì)稱多項(xiàng)式密鑰主要是用來(lái)提高密鑰的破解難度。然而,這類密鑰增加了節(jié)點(diǎn)的計(jì)算以及存儲(chǔ)開(kāi)銷。Blom等人提出的矩陣密鑰可以提高網(wǎng)絡(luò)的連通性。然而,所提出的方案可擴(kuò)展性較差,不適用于大規(guī)模網(wǎng)絡(luò)。密鑰管理雖然可以提高網(wǎng)絡(luò)的安全性,但是通常會(huì)降低其他性能,比如通信效率。密鑰連通性是密鑰管理的一項(xiàng)非常重要的性能指標(biāo),反映了網(wǎng)絡(luò)節(jié)點(diǎn)能夠?qū)崿F(xiàn)直接安全通信的概率。密鑰連通性低的方案會(huì)使得很多鄰居節(jié)點(diǎn)由于缺少共享密鑰而無(wú)法實(shí)現(xiàn)直接通信。如果這類節(jié)點(diǎn)想要互相通信,則需要建立密鑰路徑以完成通信。然而,這些操作會(huì)產(chǎn)生大量的消息轉(zhuǎn)發(fā),從而極大地消耗了節(jié)點(diǎn)的能量同時(shí)也帶來(lái)了節(jié)點(diǎn)的認(rèn)證問(wèn)題。因此,確保密鑰管理方案的密鑰連通性至關(guān)重要。雖然部分現(xiàn)有方案能保證密鑰連通性為1。然而,這些方案要么可擴(kuò)展性差無(wú)法應(yīng)用于大型網(wǎng)絡(luò),要么需要節(jié)點(diǎn)的位置信息,以上問(wèn)題限制了這類方案在實(shí)際環(huán)境中的可用性。事實(shí)上,現(xiàn)有絕大部分方案的密鑰連通性都小于1,從而嚴(yán)重降低了網(wǎng)絡(luò)的通信效率甚至是網(wǎng)絡(luò)的生命周期。綜上所述,有必要發(fā)明一種用于保護(hù)無(wú)線傳感器網(wǎng)絡(luò)安全的密鑰生成方法。通過(guò)該方法生成的密鑰能夠廣泛地應(yīng)用于各種密鑰管理方案,并保證在不影響密鑰管理其他性能的前提下顯著地提高密鑰連通性,從而保證使用該類密鑰的密鑰管理方案能夠?yàn)榫W(wǎng)絡(luò)提供更高效的安全服務(wù)。技術(shù)實(shí)現(xiàn)要素:針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提出一種保護(hù)無(wú)線傳感器網(wǎng)絡(luò)安全的密鑰生成方法,該方法使用方程組作為秘密為網(wǎng)絡(luò)節(jié)點(diǎn)生成共享密鑰,利用方程組的解增強(qiáng)密鑰之間的聯(lián)系,并能夠保證在不降低密鑰私密性的前提下利用該隱含的聯(lián)系提高直接安全通信的概率。該密鑰生成方法能夠廣泛地應(yīng)用于各種現(xiàn)有的密鑰管理方案,顯著地提高密鑰管理的效率并保證不降低其他性能。該方法的基本思想簡(jiǎn)述如下:根據(jù)密鑰池的大小u,構(gòu)造含有u方程的方程組,使得該方程組有且僅有一個(gè)解。然后將方程組中的每個(gè)方程作為秘密,使用統(tǒng)一的密鑰生成函數(shù)(通常為單向密鑰哈希函數(shù))H(·)生成最終的密鑰。所構(gòu)造的方程組中的方程可以是任意形式的方程,包括線性方程,多項(xiàng)式方程等。實(shí)際上,所構(gòu)造的方程組只需要保證有且僅有一個(gè)解,所包含的方程數(shù)目大于等于密鑰的數(shù)目即可。通過(guò)該方法生成的密鑰能夠更廣泛地應(yīng)用于各種現(xiàn)有的密鑰管理方案,顯著地提高密鑰管理的密鑰連通性,保證網(wǎng)絡(luò)的通信效率。為了達(dá)到上述目的,本發(fā)明的技術(shù)方案為:一種保護(hù)無(wú)線傳感器網(wǎng)絡(luò)安全的密鑰生成方法,該方法使用方程組作為秘密為網(wǎng)絡(luò)節(jié)點(diǎn)生成密鑰以保證節(jié)點(diǎn)之間通信的安全性,包括方程組構(gòu)造、密鑰生成兩個(gè)部分,具體步驟如下:第一步,構(gòu)造方程組根據(jù)密鑰池的大小u,構(gòu)造方程組其中,含有u個(gè)方程,每個(gè)方程含有v個(gè)變量;另外,ci,j表示方程fi的第j個(gè)未知數(shù)的系數(shù),pi,j表示該未知數(shù)的冪,1≤i≤u,1≤j≤v;該方程組有且僅有一個(gè)解S(v)={x1,...,xv}T(2)第二步,生成密鑰將中的每個(gè)方程轉(zhuǎn)化為惟一的字符串:fi=<ci,1||pi,1>||ci,2||pi,2>||…||<ci,v||pi,v,1≤i≤u(3)其中,||表示連接操作;將fi作為輸入,利用相同的密鑰生成函數(shù)H(·)生成對(duì)應(yīng)的密鑰ki=H(fi),1≤i≤u(4)根據(jù)上述方法,利用方程組生成密鑰池中的所有密鑰ki(1≤i≤u)。另外,利用惟一解S(v)用于生成密鑰如下:ks=H(S(v))=H(x1||x2||…||xv)(5)然后,將這些密鑰應(yīng)用于具體的密鑰管理方案中保護(hù)節(jié)點(diǎn)之間的通信安全。根據(jù)方程組理論,當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)存儲(chǔ)中超過(guò)v方程時(shí),使得該節(jié)點(diǎn)有可能通過(guò)所知方程計(jì)算惟一解S(v)。使用本方法生成的密鑰,節(jié)點(diǎn)不止可以利用自己存儲(chǔ)的密鑰(方程)實(shí)現(xiàn)與其他節(jié)點(diǎn)的安全通信,還可以通過(guò)計(jì)算該方程組的惟一解生成共享密鑰實(shí)現(xiàn)與其他節(jié)點(diǎn)的安全通信。該過(guò)程被稱為共享密鑰發(fā)現(xiàn)過(guò)程,具體描述如下:當(dāng)網(wǎng)絡(luò)中一個(gè)節(jié)點(diǎn)A想要與另一個(gè)節(jié)點(diǎn)B通信時(shí),節(jié)點(diǎn)A首先廣播自己密鑰的ID。通過(guò)這些密鑰ID,節(jié)點(diǎn)B檢查其是否與節(jié)點(diǎn)A具有共享密鑰。若節(jié)點(diǎn)A與節(jié)點(diǎn)B存在共享密鑰,則使用共享密鑰加密消息實(shí)現(xiàn)彼此之間的安全通信;否則,節(jié)點(diǎn)A與節(jié)點(diǎn)B計(jì)算惟一解,并使用ks=H(S(v))加密消息實(shí)現(xiàn)彼此之間的安全通信。進(jìn)一步地,第一步中所構(gòu)造的方程組中的方程的數(shù)目大于或者等于密鑰池的大小u,確保每個(gè)密鑰由不同方程生成。進(jìn)一步地,具體使用的方程組數(shù)目根據(jù)總密鑰池包含子密鑰池的數(shù)目確定,若總密鑰池包含多個(gè)子密鑰池,則每個(gè)子密鑰池對(duì)應(yīng)一個(gè)方程組。進(jìn)一步地,第二步中所述的密鑰生成函數(shù)為任意的單向哈希函數(shù)(one-wayhashfunction)或偽隨機(jī)函數(shù)(pseudo-randomfunction)。所提出的發(fā)明方法實(shí)際上是密鑰管理過(guò)程中為節(jié)點(diǎn)生成具體密鑰的方法。實(shí)際應(yīng)用中,需要將該方法與密鑰管理方案相結(jié)合,才能為網(wǎng)絡(luò)提供更加全面、系統(tǒng)的安全保護(hù)。本發(fā)明的有益效果為:使用方程組作為秘密為網(wǎng)絡(luò)節(jié)點(diǎn)生成密鑰以保證節(jié)點(diǎn)之間通信的安全。使用本方法,節(jié)點(diǎn)通信時(shí)不止可以利用所存儲(chǔ)的密鑰實(shí)現(xiàn)安全通信,還可以通過(guò)計(jì)算方程組的惟一解生成共享密鑰實(shí)現(xiàn)安全通信。因此,節(jié)點(diǎn)之間直接安全通信的概率得到顯著提高,進(jìn)而提高了節(jié)點(diǎn)之間的通信效率。通過(guò)該方法生成的密鑰能夠廣泛地應(yīng)用于現(xiàn)有的各種密鑰管理方案中,從而保證不降低其他性能的前提下顯著地提高密鑰管理的效率。附圖說(shuō)明圖1密鑰管理流程圖。圖2含有惟一解的方程組對(duì)應(yīng)的幾何圖形。圖3方程組、密鑰、節(jié)點(diǎn)關(guān)系圖。具體實(shí)施方式下面結(jié)合附圖,具體說(shuō)明本發(fā)明的優(yōu)選實(shí)施方式。本發(fā)明提供的發(fā)明概念可以實(shí)施在多種具體環(huán)境中。所論述的具體實(shí)施例僅用于說(shuō)明本發(fā)明的實(shí)現(xiàn)方式,而不限制本發(fā)明的范圍。圖1展示了一個(gè)典型密鑰管理方案的流程圖。密鑰管理通常包含密鑰分析、密鑰分配、密鑰生成以及密鑰分發(fā)四個(gè)過(guò)程。如上所述,密鑰分析階段旨在確定密鑰池的大小以及每個(gè)節(jié)點(diǎn)存儲(chǔ)的密鑰數(shù)目;密鑰分配階段實(shí)現(xiàn)密鑰與節(jié)點(diǎn)之間的映射關(guān)系;密鑰生成階段確定密鑰的具體形式;密鑰分發(fā)階段根據(jù)前面的分配關(guān)系將密鑰分發(fā)給對(duì)應(yīng)的節(jié)點(diǎn)。以經(jīng)典的EBS(n,k,m)密鑰管理方案為例,說(shuō)明本發(fā)明方法與密鑰管理結(jié)合的實(shí)現(xiàn)流程。EBS(n,k,m)密鑰管理方案要求每個(gè)節(jié)點(diǎn)存儲(chǔ)k密鑰,而總的密鑰池大小為k+m。那么,每個(gè)節(jié)點(diǎn)未知的密鑰數(shù)目為m。通過(guò)每個(gè)節(jié)點(diǎn)未知的m密鑰加密更新消息,EBS方案可以高效地驅(qū)逐任意失效節(jié)點(diǎn)并完成密鑰更新。本實(shí)例假設(shè)網(wǎng)絡(luò)中含有10個(gè)節(jié)點(diǎn),EBS(10,2,3)方案被用來(lái)保證網(wǎng)絡(luò)的通信安全。密鑰管理方案對(duì)于網(wǎng)絡(luò)的保護(hù)分為三個(gè)部分:密鑰預(yù)分發(fā),共享密鑰發(fā)現(xiàn)/密鑰路徑建立,密鑰重分發(fā)。1.密鑰預(yù)分發(fā)密鑰預(yù)分發(fā)階段需要在節(jié)點(diǎn)部署之前完成,該階段主要設(shè)計(jì)密鑰的分配規(guī)則并生成具體密鑰分發(fā)給所有網(wǎng)絡(luò)節(jié)點(diǎn)。如前所述,該階段主要由四個(gè)階段構(gòu)成:密鑰分析,密鑰分配,密鑰生成以及密鑰分發(fā)。1)密鑰分析根據(jù)網(wǎng)絡(luò)規(guī)模n以及EBS方案的構(gòu)造規(guī)則確定密鑰池、每個(gè)節(jié)點(diǎn)存儲(chǔ)的密鑰數(shù)目滿足關(guān)系上述公式能夠保證網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都能夠從密鑰池中選擇k密鑰且密鑰組合不重復(fù)。2)密鑰分配階段當(dāng)EBS(10,2,3)密鑰管理系統(tǒng)用于保護(hù)網(wǎng)絡(luò)時(shí),密鑰分配階段確定的密鑰與節(jié)點(diǎn)之間的映射關(guān)系表示如表1。根據(jù)表1,若表格的第i行j列值為1,則表示節(jié)點(diǎn)j存儲(chǔ)了密鑰i。若節(jié)點(diǎn)N5失效,則密鑰k2、k3暴露。此時(shí),服務(wù)器可以通過(guò)k1、k4和k5加密新的密鑰k′2、k′3并廣播。結(jié)果,其他節(jié)點(diǎn)可以解密這些消息完成密鑰更新,節(jié)點(diǎn)N5由于無(wú)法解密更新消息而被驅(qū)逐。表1EBS(10,2,3)密鑰分配方案N1N2N3N4N5N6N7N8N9N10k11111k21111k31111k41111k511113)密鑰生成階段密鑰生成階段,綜合效率以及安全性考慮,總的密鑰池通常會(huì)被劃分為t(t≥1)子密鑰池,然后為每個(gè)子密鑰池使用本發(fā)明提出的密鑰生成方法。結(jié)合本實(shí)例實(shí)施如下:a)根據(jù)實(shí)際需求,總的密鑰池為SK={k1,k2,k3,k4,k5}。本實(shí)例中,總的密鑰池不進(jìn)行分割。因此,使用一個(gè)方程組生成總密鑰池中的密鑰。b)構(gòu)造方程組用于生成SK中的密鑰對(duì)應(yīng)的解為圖2顯示了對(duì)應(yīng)的圖形。根據(jù)圖2可以看到,所涉及的方程組中的方程全部都是線性方程,其中每個(gè)方程對(duì)應(yīng)于2維空間的一條直線,方程組的惟一解對(duì)應(yīng)于所有直線的交點(diǎn)。c)根據(jù)構(gòu)造的方程組生成具體的密鑰。由于是含有兩個(gè)變量的線性方程。根據(jù)平面幾何理論,可以通過(guò)直線上的兩點(diǎn)確定對(duì)應(yīng)的方程。因此,使用直線上的點(diǎn)代表每條直線(方程)作為秘密生成密鑰。以直線(方程)f1:x-y-1=0為例,選擇點(diǎn)(8,7)以及(-2,-3)作為秘密生成密鑰k1=H((8,7)||(-2,-3))。圖3展示了方程組對(duì)應(yīng)的直線、點(diǎn)、密鑰與節(jié)點(diǎn)之間的關(guān)系。4)密鑰分發(fā)階段根據(jù)表1確定的密鑰分配規(guī)則,服務(wù)器將用于生成密鑰的點(diǎn)、單向哈希函數(shù)以及密鑰的ID分發(fā)給對(duì)應(yīng)的節(jié)點(diǎn)。經(jīng)過(guò)以上流程,服務(wù)器可以根據(jù)網(wǎng)絡(luò)的規(guī)模設(shè)計(jì)分配規(guī)則生成具體使用的密鑰,并將這些密鑰分發(fā)給節(jié)點(diǎn)。當(dāng)節(jié)點(diǎn)被部署到網(wǎng)絡(luò)之后,這些節(jié)點(diǎn)可以通過(guò)各自己存儲(chǔ)的密鑰完成安全通信。2.共享密鑰發(fā)現(xiàn)/密鑰路徑建立節(jié)點(diǎn)被部署至網(wǎng)絡(luò)之后,需要判斷是否與其他節(jié)點(diǎn)存在共享密鑰從而實(shí)現(xiàn)安全通信。首先,想要通信的兩個(gè)節(jié)點(diǎn)廣播各自密鑰的ID,從而使得這些節(jié)點(diǎn)可以通過(guò)密鑰ID判斷彼此是否存在共享密鑰,若存在共享密鑰,則使用這些共享密鑰實(shí)現(xiàn)安全通信;否則,這些節(jié)點(diǎn)根據(jù)密鑰ID判斷彼此是否能夠計(jì)算相同的方程組的惟一解,若能夠達(dá)成,則使用這些相同的惟一解生成相同的密鑰實(shí)現(xiàn)安全通信。相比于傳統(tǒng)的密鑰生成方案,此實(shí)施例將方程組的惟一解作為新增的共享秘密用于生成節(jié)點(diǎn)之間的共享密鑰,從而極大地提高了密鑰管理的效率。通過(guò)分析可得,本實(shí)例中共有種情況下節(jié)點(diǎn)之間沒(méi)有共享密鑰卻能通過(guò)方程組的惟一解實(shí)現(xiàn)安全通信。當(dāng)兩個(gè)通信節(jié)點(diǎn)既不存在共享密鑰又無(wú)法計(jì)算相同解的時(shí)候,需要建立密鑰路徑以保證通信安全。通過(guò)尋找能夠與自己直接安全通信的中間節(jié)點(diǎn),通信節(jié)點(diǎn)可以與這些中間節(jié)點(diǎn)建立一條密鑰路徑,使用這條路徑可以實(shí)現(xiàn)通信節(jié)點(diǎn)之間的安全通信。3.密鑰重分發(fā)當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)被捕獲或者能量耗盡時(shí),需要增加新的節(jié)點(diǎn)。若密鑰池中仍存在可用的密鑰組合,服務(wù)器根據(jù)節(jié)點(diǎn)的預(yù)期部署位置從可用的密鑰組合中任選一個(gè)密鑰組合并分發(fā)給該節(jié)點(diǎn)。若不存在可用密鑰組合,需要為網(wǎng)絡(luò)中所有節(jié)點(diǎn)重新建立密鑰系統(tǒng)。此時(shí),需要重新執(zhí)行上述流程生成新的適合網(wǎng)絡(luò)的密鑰。然后,服務(wù)器用現(xiàn)有密鑰加密新的密鑰向網(wǎng)絡(luò)中的節(jié)點(diǎn)廣播完成整個(gè)密鑰系統(tǒng)的重建。當(dāng)前第1頁(yè)1 2 3