基于密鑰技術(shù)的無線傳感器網(wǎng)絡(luò)簇內(nèi)節(jié)點(diǎn)安全通信方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及密碼應(yīng)用技術(shù)領(lǐng)域,尤其是涉及一種基于密鑰技術(shù)的無線傳感器網(wǎng)絡(luò) 簇內(nèi)節(jié)點(diǎn)安全通信方法。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)廣泛應(yīng)用于智能家居、智能制造等領(lǐng)域,成為物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng) 領(lǐng)域的研究熱點(diǎn)。與普通的有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)不同,無線傳感器網(wǎng)絡(luò)具有計(jì)算資源少、存 儲量小,通信容易被竊聽等特點(diǎn)。因此,通信加密是無線傳感器網(wǎng)絡(luò)安全防護(hù)的重要手段之 一,而密鑰管理是無線傳感器網(wǎng)絡(luò)實(shí)現(xiàn)通信加密的關(guān)鍵技術(shù)。
[0003] 現(xiàn)有的無線傳感器網(wǎng)絡(luò)密鑰管理方案主要分為兩類:一是共享主密鑰方案,即所 有節(jié)點(diǎn)共享同一主密鑰,節(jié)點(diǎn)間利用主密鑰協(xié)商產(chǎn)生會話密鑰;另外一種是隨機(jī)密鑰分配 方案,傳感器節(jié)點(diǎn)在部署前,從事先生成的密鑰池中隨機(jī)選取一定數(shù)目的密鑰子集,節(jié)點(diǎn)部 署到指定區(qū)域后,通信雙方在各自的密鑰子集中尋找共同密鑰為主密鑰。前者所需存儲空 間不大,但安全性很低,一個(gè)節(jié)點(diǎn)被俘獲,整個(gè)網(wǎng)絡(luò)就失去安全保障;后者安全性較高,但需 要較大的密鑰存儲空間。因此,理論界和產(chǎn)業(yè)界都在尋求一種安全性高且能適合無線傳感 器網(wǎng)絡(luò)存儲空間小、計(jì)算資源少、運(yùn)算速度快等特點(diǎn)的密鑰管理方案。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是:針對現(xiàn)有技術(shù)存在的問題,提供一種基于密鑰技 術(shù)的無線傳感器網(wǎng)絡(luò)簇內(nèi)節(jié)點(diǎn)安全通信方法,其利用排列組合理論,在網(wǎng)絡(luò)簇中使用少量 的密鑰種子產(chǎn)生大量的組合密鑰,提供密鑰分發(fā)、更新所需的密鑰池,根據(jù)組合關(guān)系制定節(jié) 點(diǎn)之間密鑰資源的關(guān)聯(lián)規(guī)則,簇頭利用組密鑰對密鑰資源加密后下發(fā)至各節(jié)點(diǎn);簇頭采用 SHAl函數(shù)產(chǎn)生任意兩個(gè)節(jié)點(diǎn)間會話密鑰,并根據(jù)節(jié)點(diǎn)分配密鑰資源,利用HMAC函數(shù)生成 臨時(shí)會話密鑰,用來保護(hù)會話密鑰,并完成會話密鑰協(xié)商,減少了密鑰的生成時(shí)間和存儲空 間,降低了無線傳感器網(wǎng)絡(luò)的傳輸量,滿足無線傳感器網(wǎng)絡(luò)簇內(nèi)節(jié)點(diǎn)間通信加密需求。
[0005] 本發(fā)明采用的技術(shù)方案如下:
[0006] 一種基于密鑰技術(shù)的無線傳感器網(wǎng)絡(luò)簇內(nèi)節(jié)點(diǎn)安全通信方法包括:
[0007] 步驟1 :利用排列組合理論,為簇內(nèi)各節(jié)點(diǎn)組合出不同的密鑰資源;利用對稱加密 算法對生成的上述密鑰資源進(jìn)行加密后分發(fā)至簇內(nèi)各節(jié)點(diǎn);
[0008] 步驟2 :簇頭Hd利用SHAl函數(shù)產(chǎn)生任意兩節(jié)點(diǎn)隊(duì)與\的會話密鑰,然后分別根據(jù) 兩個(gè)節(jié)點(diǎn)所分配的密鑰資源,構(gòu)造相應(yīng)保護(hù)會話密鑰的加密密鑰,使得簇內(nèi)任意節(jié)點(diǎn)隊(duì)與 N,之間進(jìn)行通信加密,其中i、j分別都表示同一簇內(nèi)任意節(jié)點(diǎn),但i與j不相同。
[0009] 進(jìn)一步的,所述步驟1具體過程是:簇頭Hd根據(jù)節(jié)點(diǎn)數(shù)目,利用排列組合理論, 為簇內(nèi)各節(jié)點(diǎn)組合出不同的密鑰資源,即根據(jù)簇內(nèi)節(jié)點(diǎn)數(shù)noden、簇內(nèi)節(jié)點(diǎn)存儲密鑰容量 keyn以及更新密鑰數(shù)量upkeyn,利用排列組合方法為每個(gè)節(jié)點(diǎn)生成相應(yīng)密鑰資源,簇內(nèi)節(jié) 點(diǎn)數(shù)::,然后使用簇內(nèi)共享組密鑰KHd,利用對稱加密算法對生成的密鑰資 源進(jìn)行加密后分發(fā)至簇內(nèi)各節(jié)點(diǎn)。
[0010] 進(jìn)一步的,所述步驟2具體過程是:
[0011] 步驟21 :節(jié)點(diǎn)Ni向簇頭Hd提出會話申請,要求與節(jié)點(diǎn)N _j進(jìn)行會話;
[0012] 步驟22 :簇頭Hd為隊(duì)與N」生成會話密鑰
Random為簇 頭臨時(shí)產(chǎn)生的隨機(jī)值;
[0013] 步驟23 :簇頭Hd利用公¥
產(chǎn)生 與節(jié)點(diǎn)N1間的臨時(shí)會話密鑰&:,并利用對稱加密算法,使用夂@,_將心\,>加密后發(fā) 送給節(jié)點(diǎn)N1;其中HMAC函數(shù)中K n,Kni,…為分配給節(jié)點(diǎn)N1的密鑰資源,n>0, m>0,Φ符號表 示按比特逐位進(jìn)行異或運(yùn)算,⑩表示字符串直接級聯(lián);
[0014] 步驟24 :簇頭Hd利用公^
生與節(jié)點(diǎn)N/司的臨時(shí)會話密鑰,并利用對稱加密算法,使用&^/>將加密 后發(fā)送給節(jié)點(diǎn)%。公式中1(11,,1(|11,,~為分配給節(jié)點(diǎn)%的密鑰資源,其中11、1]1、11'、1]1'都表 示任意節(jié)點(diǎn)資源序號,但11、111、11'、111'不相同;
[0015] 步驟25 :節(jié)點(diǎn)隊(duì)與N,別采用與簇頭Hd相同的HMAC函數(shù)構(gòu)造出密鑰和 ,^,然后分別解密簇頭Hd發(fā)送的消息,獲得隊(duì)與\之間的會話密鑰完成簇內(nèi) 任意節(jié)點(diǎn)隊(duì)與N ^之間的會話密鑰協(xié)商。
[0016] 一種基于無線傳感器網(wǎng)絡(luò)密鑰的安全通訊方法還包括步驟3 :當(dāng)無線傳感器網(wǎng)絡(luò) 中有新節(jié)點(diǎn)加入或者有任意節(jié)點(diǎn)Ni退出時(shí),進(jìn)行密鑰更新。
[0017] 進(jìn)一步的,所述步驟3具體過程是:
[0018] 步驟31 :當(dāng)新節(jié)點(diǎn)加入時(shí),若新節(jié)點(diǎn)加入前,網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)目noden小于 簇頭查找剩余的密鑰組合,同時(shí)由簇頭產(chǎn)生一個(gè)新的組密鑰,然后將新的組密 鑰以及密鑰組合發(fā)送給新加入的節(jié)點(diǎn),并更新其它節(jié)點(diǎn)的組密鑰;若節(jié)點(diǎn)加入前,網(wǎng)絡(luò)中 節(jié)點(diǎn)數(shù)目noden等于,此時(shí)簇頭中無剩余密鑰組合資源,簇頭根據(jù)節(jié)點(diǎn)數(shù)目調(diào)整 upkeyn或keyn參數(shù),即增加 upkeyn或keyn,使得< Cgg.二?同時(shí)生成新的密鑰資 源,然后將其加密分發(fā)給各個(gè)節(jié)點(diǎn)。
[0019] 步驟32 :若任意節(jié)點(diǎn)隊(duì)退出網(wǎng)絡(luò),則使用未分配給節(jié)點(diǎn)N i的密鑰資源K n,Kni,…作 為加密密鑰,利用對稱加密算法加密新的組密鑰K' HjP各節(jié)點(diǎn)分配密鑰資源,并將加密后 的組密鑰Kn(f Hd)或KniO^ J及密鑰資源Kn(f J下發(fā)給各節(jié)點(diǎn),至此完 成簇內(nèi)密鑰更新,而此時(shí)節(jié)點(diǎn)N1無法解密新的密鑰,確保網(wǎng)絡(luò)的前向安全,其中所述組密鑰 K' Hd由簇頭產(chǎn)生,Kn(K' Hd)表示應(yīng)是Knt對f Hd進(jìn)行加密;Hd)表示Kni對K'陽進(jìn) 行加密;K n(K' J表示應(yīng)是心對1^ i進(jìn)行加密;K J表示Kni對f i進(jìn)行加密;K', 為密鑰資源中已分配節(jié)點(diǎn)資源的任意密鑰,n、m e i。
[0020] 綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
[0021] 1.安全性高。本發(fā)明中節(jié)點(diǎn)之間的通信采用臨時(shí)會話密鑰加密,密鑰被截取后無 法再次使用;當(dāng)有節(jié)點(diǎn)退出無線傳感器網(wǎng)絡(luò)時(shí),簇內(nèi)組密鑰會進(jìn)行更新,簇頭采用退出節(jié)點(diǎn) 未分配的密鑰資源加密新的組密鑰發(fā)送給簇內(nèi)成員,退出節(jié)點(diǎn)無法根據(jù)退出前擁有的密鑰 來解密新的組密鑰,從而保證了網(wǎng)絡(luò)的前向安全;節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí)進(jìn)行組密鑰更新,新的組 密鑰無法解密以前的數(shù)據(jù),保證了網(wǎng)絡(luò)的后向安全。
[0022] 2.計(jì)算量小。本技術(shù)屬于密碼應(yīng)用技術(shù)領(lǐng)域,在無線傳感器網(wǎng)絡(luò)中利用排列組合 理論,使用少量的密鑰種子產(chǎn)生大量的組合密鑰,提供密鑰分發(fā)、更新所需的密鑰池,制定 網(wǎng)絡(luò)簇內(nèi)節(jié)點(diǎn)間密鑰資源的關(guān)聯(lián)規(guī)則,簇頭采用SHAl函數(shù)產(chǎn)生任意兩個(gè)節(jié)點(diǎn)間會話密鑰, 并根據(jù)節(jié)點(diǎn)分配資源,利用HMAC函數(shù)生成臨時(shí)會話密鑰,用來保護(hù)會話密鑰,并完成會話 密鑰協(xié)商,減少了密鑰的生成時(shí)間和存儲空間,降低了網(wǎng)絡(luò)的傳輸量,滿足無線傳感器網(wǎng)絡(luò) 簇內(nèi)節(jié)點(diǎn)間通信加密需求。
[0023] 3.消耗資源少。本發(fā)明僅需少量的密鑰即可以產(chǎn)生大量的組合密鑰,形成密鑰資 源池,消耗密鑰資源和計(jì)算資源較少。
[0024] 4.本發(fā)明使用排列組合方法減少了密鑰的生成時(shí)間和存儲空間,降低了無線傳感 器網(wǎng)絡(luò)的傳輸量,滿足無線傳感器網(wǎng)絡(luò)簇內(nèi)節(jié)點(diǎn)間通信加密需求。
[0025] 5.本發(fā)明中采用簇結(jié)構(gòu)可以減少傳輸產(chǎn)生的能量開銷,有利于網(wǎng)絡(luò)擴(kuò)展。
【附圖說明】
[0026] 本發(fā)明將通過例子并參照附圖的方式說明,其中:
[0027] 圖1無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)加入時(shí)密鑰分發(fā)與更新。
【具體實(shí)施方式】
[0028] 本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥 的特征和/或步驟以外,均可以以任何方式組合。
[0029] 本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘 述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只 是一系列等效或類似特征中的一個(gè)例子而已。
[0030] 工作原理:本發(fā)明中無線傳感器網(wǎng)絡(luò)采用分級式結(jié)構(gòu)進(jìn)行管理。整個(gè)網(wǎng)絡(luò)劃分為 多個(gè)簇,每個(gè)傳感器節(jié)點(diǎn)只隸屬于1個(gè)簇,每個(gè)簇由1個(gè)簇頭和多個(gè)傳感器節(jié)點(diǎn)組成。簇 內(nèi)共享1個(gè)組密鑰,簇頭綜合考慮簇內(nèi)節(jié)點(diǎn)存儲密鑰容量、更新密鑰數(shù)量,生成相應(yīng)密鑰資 源,簇頭利用排列組合理論,為各節(jié)點(diǎn)組合出不同的密鑰資源(各個(gè)節(jié)點(diǎn)分配的密鑰資源 不同),然后使用共享的組密鑰,利用對稱加密算法對生成的密鑰資源進(jìn)行加密后分發(fā)至簇 內(nèi)各節(jié)點(diǎn)
[0031] 在網(wǎng)絡(luò)簇中利用排列組合理論使用少量的密鑰種子產(chǎn)生大量的組合密鑰,提供密 鑰分發(fā)、更新所需的密鑰資源池。利用排列組合理論,在網(wǎng)絡(luò)簇中使用少量的密鑰種子產(chǎn)生 大量的組合密鑰,提供簇內(nèi)節(jié)點(diǎn)間通信中密鑰分發(fā)、更新所需的密鑰池,制定簇內(nèi)節(jié)點(diǎn)間密 鑰資源的關(guān)聯(lián)規(guī)則,簇頭采用SHAl函數(shù)產(chǎn)生任意兩個(gè)節(jié)點(diǎn)間會話密鑰,并根據(jù)節(jié)點(diǎn)分配密 鑰資源,利用HMAC函數(shù)生成臨時(shí)會話密鑰,用來保護(hù)會話密鑰,并完成會話密鑰協(xié)商,減少 了密鑰的生成時(shí)間和存儲空間,降低了網(wǎng)絡(luò)的傳輸量,滿足無線傳感器網(wǎng)絡(luò)簇內(nèi)節(jié)點(diǎn)間通 信加密需求。
[0032] 具體步驟:
[0033] 1、密鑰資源分發(fā):簇頭利用SHAl (簇頭產(chǎn)生的隨機(jī)數(shù))函數(shù)產(chǎn)生任意兩節(jié)點(diǎn)間的 會話密鑰,然后分別根據(jù)兩個(gè)節(jié)點(diǎn)所分配的密