無線傳感器網(wǎng)絡(luò)中基于狀態(tài)公共密鑰的安全聚合模型通信方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及無線自組網(wǎng)技術(shù)領(lǐng)域,具體設(shè)及基于狀態(tài)公共密鑰的安全聚合模型通 信方法。
【背景技術(shù)】
[0002] 近年來,無線傳感器網(wǎng)絡(luò)成為現(xiàn)代移動(dòng)通信系統(tǒng)的重要分支,是面向通信的重要 技術(shù)支撐。由于它不需要固定的基站,各個(gè)節(jié)點(diǎn)均可自由移動(dòng),且能實(shí)現(xiàn)動(dòng)態(tài)的連接,加上 其具有生存性極強(qiáng),W及創(chuàng)建與移動(dòng)極為方便的特點(diǎn),使之彌補(bǔ)了蜂窩系統(tǒng)與有線網(wǎng)絡(luò)的 不足,在許多特殊情況下有著不可替代的作用。對于一些特殊的應(yīng)用場景,依賴基礎(chǔ)設(shè)施的 移動(dòng)通信技術(shù)無法勝任。例如,在戰(zhàn)場上指揮快速展開的部隊(duì),在發(fā)生地震、洪潰災(zāi)害后及 時(shí)組織營救,在偏遠(yuǎn)地區(qū)、太空環(huán)境中科考與作業(yè)等。運(yùn)些應(yīng)用場景中,往往缺乏預(yù)先部署 的基礎(chǔ)設(shè)施,或者難W快速部署,因此迫切呼喚新的移動(dòng)通信技術(shù),W支持動(dòng)態(tài)、快速的自 動(dòng)組網(wǎng)。在運(yùn)種背景下,無線自組網(wǎng)技術(shù)應(yīng)運(yùn)而生,得到空前的關(guān)注和研究。然而,已經(jīng)得 到廣泛共識的是:在公共安全和災(zāi)難救助面前,代價(jià)和開銷已經(jīng)不再是人們所關(guān)注的主要 問題,獲取可靠的關(guān)鍵信息和數(shù)據(jù)對前線第一響應(yīng)者有著越來越巨大的價(jià)值。由于自組織 網(wǎng)絡(luò)的特殊性,需要為其設(shè)計(jì)專口的協(xié)議和技術(shù),全球相關(guān)機(jī)構(gòu)和組織的研究人員在運(yùn)方 面開展了大量的研究。綜合而言,主要集中在組網(wǎng)理論、路由算法、接入控制、安全管理等方 面。對運(yùn)些網(wǎng)絡(luò)的進(jìn)一步研究,將滿足中國未來高技術(shù)民用和軍事發(fā)展的需要,不僅具有重 要的社會(huì)和經(jīng)濟(jì)意義,也具有十分重要的戰(zhàn)略意義。
[0003] 無線傳感器網(wǎng)絡(luò)是一種特殊的無線通信系統(tǒng),運(yùn)種網(wǎng)絡(luò)不依賴于任何固定的通信 設(shè)施,具有自組織性、分布性、動(dòng)態(tài)性等特點(diǎn),可W在復(fù)雜的環(huán)境中進(jìn)行快速部署和數(shù)據(jù)通 信。每個(gè)節(jié)點(diǎn)不僅是一個(gè)主機(jī),還是一個(gè)路由器,具有接入服務(wù)和無線骨干網(wǎng)接口。在無線 傳感器網(wǎng)絡(luò)中,沒有處于絕對統(tǒng)治地位的節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)是對等獨(dú)立的,節(jié)點(diǎn)之間的通信路 徑不在于彼此的通信范圍,因此,信息的傳輸需要依賴中間節(jié)點(diǎn)作為中繼進(jìn)行轉(zhuǎn)發(fā),W節(jié)點(diǎn) 多跳的接力方式將信息送往目的節(jié)點(diǎn)。隨著泛在通信需求的不斷提升,網(wǎng)絡(luò)中節(jié)點(diǎn)移動(dòng)的 隨機(jī)性不斷增強(qiáng),運(yùn)要求該網(wǎng)絡(luò)具有較高的靈活性。
[0004] 無線傳感器網(wǎng)絡(luò)中聚合節(jié)點(diǎn)的電源、通信和計(jì)算能力受限導(dǎo)致數(shù)據(jù)傳輸出現(xiàn)時(shí)斷 時(shí)續(xù)的現(xiàn)象,運(yùn)將使得網(wǎng)絡(luò)的吞吐量下降且數(shù)據(jù)包大量丟失;此外,聚合節(jié)點(diǎn)被捕獲將導(dǎo)致 信號的傳輸受阻、網(wǎng)絡(luò)安全性能嚴(yán)重下降。
[0005] 在許多實(shí)際組網(wǎng)環(huán)境下,由于傳輸失敗而導(dǎo)致的頻繁重傳將消耗大量的能量,使 網(wǎng)絡(luò)生存周期縮短,并占用本已有限的帶寬資源,加劇網(wǎng)絡(luò)擁塞的產(chǎn)生。因此,安全的數(shù)據(jù) 聚合過程是數(shù)據(jù)傳輸成功率的重要判據(jù),也是網(wǎng)絡(luò)生存期的重要組成參數(shù)。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明為了解決現(xiàn)有無線傳感器網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)聚合過程會(huì)產(chǎn)生大量的能量 消耗、縮短了網(wǎng)絡(luò)的生命周期的問題W及聚合數(shù)據(jù)被篡改幾率大從而嚴(yán)重影響網(wǎng)絡(luò)的安全 性能的問題。
[0007] 無線傳感器網(wǎng)絡(luò)中基于狀態(tài)公共密鑰的安全聚合模型通信方法,包括W下步驟:
[0008] 數(shù)據(jù)轉(zhuǎn)發(fā)階段:
[0009] 步驟一、在無線傳感器網(wǎng)絡(luò)中數(shù)據(jù)轉(zhuǎn)發(fā)階段,假設(shè)每個(gè)傳感器節(jié)點(diǎn)的狀態(tài)公共密 鑰是Stij;
[0010] 在傳感器節(jié)點(diǎn)部署前,基站生成一對密鑰(X,Y);其中,X為私鑰,Y=XG為公鑰; G是楠圓曲線密碼體制中的楠圓曲線E上的基點(diǎn);
[0011] 步驟二、每個(gè)傳感器節(jié)點(diǎn)保持狀態(tài)b,,Sti,),同時(shí)傳感器節(jié)點(diǎn)利用服DF獲得當(dāng)前 的鑒權(quán)密鑰Ki, (H邸F生成的鑒權(quán)密鑰均為動(dòng)態(tài)密鑰),并用Sti,和K1,計(jì)算出該傳感器節(jié)點(diǎn) 狀態(tài)公共密鑰Stii所對應(yīng)的信息認(rèn)證碼MACIi;
[0012] 步驟=、傳感器節(jié)點(diǎn)發(fā)送狀態(tài)公共密鑰Sti,;-旦基站接收到傳感器節(jié)點(diǎn)發(fā)送的 狀態(tài)公共密鑰Stw基站就通過使用私鑰X鑒別所有發(fā)送狀態(tài)公共密鑰的傳感器節(jié)點(diǎn),如果 滿足XSti,=xr,,G=ri,Y,則傳感器節(jié)點(diǎn)鑒別成功,否則,傳感器節(jié)點(diǎn)鑒別失敗,不予考慮;
[0013] 步驟四、傳感器節(jié)點(diǎn)鑒別成功后,用HKDF獲得當(dāng)前的鑒權(quán)密鑰K' 1,與接收的狀 態(tài)公共密鑰St'U計(jì)算出MC'。,如果MAC。=MC'。,則St。=St'。,就將相應(yīng)的狀 態(tài)Sti,存儲(chǔ)在基站的數(shù)據(jù)庫中,否則,基站拒絕狀態(tài)公共密鑰St1,;
[0014] 數(shù)據(jù)聚合階段:
[0015] 步驟五、傳感器節(jié)點(diǎn)Si,將其捕獲的數(shù)據(jù)nil,進(jìn)行編碼,并使用狀態(tài)公共密鑰St1,對 編碼后的代碼Gi,進(jìn)行加密;
[0016] 在聚合階段,HKDF再產(chǎn)生兩個(gè)鑒權(quán)密鑰Ki,1和K1,2,Kui和K1,2分別用于計(jì)算數(shù)據(jù)加 密后的密文Cl,和信息認(rèn)證碼MAC" 1,;并將所得的C1,和MAC" 1,發(fā)送到相應(yīng)的簇頭CH
[0017] 步驟六、CH表示任意一個(gè)簇頭,CH將簇中個(gè)節(jié)點(diǎn)的個(gè)密文Ci郝它自己 的密文聚合成一個(gè)密文Cggg,并將簇中所有個(gè)MAC"。和自己的MC聚合成一個(gè)MCWg; 然后CH將Cggg和MCWg發(fā)送到基站或最近的簇頭;
[001引步驟屯、基站接收到簇頭發(fā)送的MAC。,,和CWg之后,進(jìn)行解密和驗(yàn)證,判斷eWg是否 是由簇頭安全聚合后發(fā)送到基站的明文代碼,如果是則完成基于狀態(tài)公共密鑰的安全聚合 模型通信。
[0019] 本發(fā)明具有W下有益效果:
[0020] 本發(fā)明基于狀態(tài)公共密鑰進(jìn)行數(shù)據(jù)的安全聚合,在該模型中,簇頭節(jié)點(diǎn)對所有加 密數(shù)據(jù)的密文和消息認(rèn)證碼進(jìn)行聚合并發(fā)送到基站,基站通過存儲(chǔ)在數(shù)據(jù)庫的密鑰對接收 的數(shù)據(jù)進(jìn)行解密和驗(yàn)證,極大降低了聚合數(shù)據(jù)被篡改的幾率,確保了傳輸數(shù)據(jù)的安全性。而 且本發(fā)明中,狀態(tài)加密的使用極大地降低了計(jì)算成本,因?yàn)闋顟B(tài)公共密鑰只被計(jì)算一次,降 低了傳感器節(jié)點(diǎn)的能量開銷,相比現(xiàn)有無線傳感器網(wǎng)絡(luò)環(huán)境下的通信方法,本發(fā)明安全的 數(shù)據(jù)聚合過程整個(gè)網(wǎng)絡(luò)的通信開銷降低了 80%W上,從而提高了網(wǎng)絡(luò)的生存周期。
【附圖說明】
[0021] 圖1為無線通信網(wǎng)絡(luò)模型示意圖;
[0022] 圖2為本發(fā)明與其他模型的通信方法通信開銷對比效果圖;
[0023] 圖3為本發(fā)明與其他模型的通信方法能量消耗對比效果圖。
【具體實(shí)施方式】
【具體實(shí)施方式】 [0024] 一:
[00巧]無線傳感器網(wǎng)絡(luò)中基于狀態(tài)公共密鑰的安全聚合模型通信方法,包括W下步驟:
[0026] 數(shù)據(jù)轉(zhuǎn)發(fā)階段:
[0027] 步驟一、在無線傳感器網(wǎng)絡(luò)中數(shù)據(jù)轉(zhuǎn)發(fā)階段,假設(shè)每個(gè)傳感器節(jié)點(diǎn)的狀態(tài)公共密 鑰是Stij;
[0028] 在傳感器節(jié)點(diǎn)部署前,基站生成一對密鑰(X,Y);其中,X為私鑰,Y = XG為公鑰; G是楠圓曲線密碼體制中的楠圓曲線E上的基點(diǎn);
[0029]步驟二、每個(gè)傳感器節(jié)點(diǎn)保持狀態(tài)(r,,,Sti,),同時(shí)傳感器節(jié)點(diǎn)利用服DF獲得當(dāng)前 的鑒權(quán)密鑰Ki, (H邸F生成的鑒權(quán)密鑰均為動(dòng)態(tài)密鑰),并用Sti,和K1,計(jì)算出該傳感器節(jié)點(diǎn) 狀態(tài)公共密鑰Stii所對應(yīng)的信息認(rèn)證碼MACIi;
[0030] 步驟=、傳感器節(jié)點(diǎn)發(fā)送狀態(tài)公共密鑰Sti,;-旦基站接收到傳感器節(jié)點(diǎn)發(fā)送的 狀態(tài)公共密鑰Stw基站就通過使用私鑰X鑒別所有發(fā)送狀態(tài)公共密鑰的傳感器節(jié)點(diǎn),如果 滿足XSti,=xr,,G=ri,Y,則傳感器節(jié)點(diǎn)鑒別成功,否則,傳感器節(jié)點(diǎn)鑒別失敗,不予考慮;
[0031] 步驟四、傳感器節(jié)點(diǎn)鑒別成功后,用HKDF獲得當(dāng)前的鑒權(quán)密鑰K' 1,與接收的狀 態(tài)公共密鑰St'U計(jì)算出MC'。,如果MAC。=MC'。,則St。=St'。,就將相應(yīng)的狀 態(tài)Sti,存儲(chǔ)在基站的數(shù)據(jù)庫中,否則,基站拒絕狀態(tài)公共密鑰St1,;
[0032] 數(shù)據(jù)聚合階段:
[0033]步驟五、傳感器節(jié)點(diǎn)Si,將其捕獲的數(shù)據(jù)nil,進(jìn)行編碼,并使用狀態(tài)公共密鑰St1,對 編碼后的代碼Gi,進(jìn)行加密;
[0034]在聚合階段,HKDF再產(chǎn)生兩個(gè)鑒權(quán)密鑰Kw和K1,2,Kw和K1,2分別用于計(jì)算數(shù)據(jù)加 密后的密文Cl,和信息認(rèn)證碼MAC" 1,;并將所得的C1,和MAC" 1,發(fā)送到相應(yīng)的簇頭CH [003引步驟六、CH表示任意一個(gè)簇頭,CH將簇中個(gè)節(jié)點(diǎn)的個(gè)密文Ci郝它自己 的密文聚合成一個(gè)密文Cggg,并將簇中所有個(gè)MAC"。和自己的MC聚合成一個(gè)MCWg; 然后CH將Cggg和MCWg發(fā)送到基站或最近的簇頭;
[0036] 步驟屯、基站接收到簇頭發(fā)送的MACggg和CWg之后,進(jìn)行解密和驗(yàn)證,判斷eWg是否 是由簇頭安全聚合后發(fā)送到基站的明文代碼,如果是則完成基于狀態(tài)公共密鑰的安全聚合 模型通信。
[0037] 本發(fā)明提出的基于狀態(tài)公共密鑰的安全聚合模型(SPKC)的無線通信網(wǎng)絡(luò)模型如 圖1所示。
【具體實(shí)施方式】 [0038] 二:
[0039] 本實(shí)施方式步驟二所述的用Sti,和K1,計(jì)算出該傳感器節(jié)點(diǎn)狀態(tài)公共密鑰St。所 對應(yīng)的信息認(rèn)證碼MCi,的具體過程如下:
[0040] 基于狀態(tài)公共密鑰的安全聚合模型通信方法采用楠圓曲線密碼體制進(jìn)行加密,
[00川 [1,n-U為隨機(jī)數(shù),n是基點(diǎn)G的階數(shù);為Si,和BS之間共享的密鑰; CH,為簇頭,jG{1,...,時(shí),R為網(wǎng)絡(luò)中簇頭的個(gè)數(shù);S1,表示屬于簇頭CH,所在簇的第i個(gè) 傳感器節(jié)點(diǎn),iG{1,...,Ll,L為每個(gè)簇中傳感器節(jié)點(diǎn)個(gè)數(shù);BS表示基站;Ny為傳感器節(jié) 點(diǎn)Si,發(fā)送數(shù)據(jù)的序列號;
[0042]計(jì)算StiJ= ;Ti.jG;
[004引計(jì)算=HKDF(Sy/;,:ni從f,,Vg);服DF( ?)是基于哈希信息認(rèn)證碼的密鑰推導(dǎo) 函數(shù);其中,"Sti,Mr,,Y"表示將Sti,的二進(jìn)制數(shù)和r1,Y的二進(jìn)制數(shù)用符號"M"進(jìn)行連接 的形式;如:01001001用符號"I I"進(jìn)行連接的形式為OlOOM1001 ;
[0044] 計(jì)算MAC。=HMAC(St。,K。);HMAC( ?)是基于哈希函數(shù)對MAC值進(jìn)行估算的函數(shù); [004引得到狀態(tài)公共密鑰Sty、信息認(rèn)證碼MACii。
[0046] 具體見算表一:
[0047] 表一Stij、MACij的算法:
[0048]
[0049] 其中,E是有限域Zp上的楠圓曲線,P是一個(gè)大于3的足夠大的素?cái)?shù)。
[0050] 其他步驟和參數(shù)與【具體實(shí)施方式】一相同。
【具體實(shí)施方式】 [0051]
[0052] 本實(shí)施方式步驟四的具體實(shí)施過程如下:
[005引Sti,,Ki,經(jīng)過傳輸被接收到后記為St'i,,K' 1,,若Sti,,Ki,傳輸過程中被篡改,貝U Stii聲St' 。、1^;聲1('。,若沒有經(jīng)過篡改,則5*。=5*'。、1(。=1('。;
[0054]計(jì)算與=HKDF(sg!.Y,,sgi^f,Ag;
[005引計(jì)算MC'U=HMAC(St' 。,K'。);
[0056]判斷MAC。是否等于MC'。,如果MC'U=MAC。,則基站接受狀態(tài)公共密鑰Stij 并將其存儲(chǔ)在基站的數(shù)據(jù)庫中,否則,基站拒絕狀態(tài)公共密鑰Sti,。
[0057] 具體見表二;
[005引表二BS認(rèn)證算法 [0059]
[0060] 其他步驟和參數(shù)與【具體實(shí)施方式】二相同。
【具體實(shí)施方式】 [0061]