曾 萍,張 歷,楊亞濤,儲(chǔ) 旭,劉宇新
(北京電子科技學(xué)院通信工程系,北京 100070)
物聯(lián)網(wǎng)(Internet of Things,IOT)[1]已成為當(dāng)前世界新一輪經(jīng)濟(jì)和科技發(fā)展的戰(zhàn)略制高點(diǎn)之一,隨著物聯(lián)網(wǎng)的快速發(fā)展,其網(wǎng)絡(luò)規(guī)模不斷擴(kuò)張,信息在感知節(jié)點(diǎn)、數(shù)據(jù)類(lèi)型、網(wǎng)絡(luò)等方面都存在很大的異構(gòu)特性,敏感信息在節(jié)點(diǎn)間傳遞會(huì)越來(lái)越頻繁,并且物聯(lián)網(wǎng)中感知層節(jié)點(diǎn)受資源限制影響,計(jì)算能力和通信能力都很有限,現(xiàn)有的網(wǎng)絡(luò)安全架構(gòu)和密鑰管理方案無(wú)法滿足物聯(lián)網(wǎng)發(fā)展新的安全需求,因此需要在現(xiàn)有的研究基礎(chǔ)上提出適合物聯(lián)網(wǎng)的網(wǎng)絡(luò)架構(gòu)和密鑰管理方案。
目前,針對(duì)物聯(lián)網(wǎng)網(wǎng)絡(luò)安全架構(gòu)的研究尚處于起步階段,并沒(méi)有統(tǒng)一的安全架構(gòu)。文獻(xiàn)[2-4]結(jié)合現(xiàn)有研究,將物聯(lián)網(wǎng)分為3 層,即感知層、網(wǎng)絡(luò)層和應(yīng)用層,對(duì)每一層進(jìn)行安全需求分析,給出了較為完整的安全模型。文獻(xiàn)[5]提出ID 保護(hù)的物聯(lián)網(wǎng)T2ToI 中能量高效的健壯密鑰管理方案,給出了較清晰的物聯(lián)網(wǎng)系統(tǒng)模型、網(wǎng)絡(luò)模型、敵手模型和密鑰管理安全需求,并提出了5 種密鑰管理方案,但是方案缺少安全性證明,無(wú)法保證節(jié)點(diǎn)信息的隱私性需求。文獻(xiàn)[6]提出基于重復(fù)博弈的物聯(lián)網(wǎng)密鑰共享方案,通過(guò)引入重復(fù)博弈的理論,有效分析并解決了異構(gòu)節(jié)點(diǎn)密鑰共享的問(wèn)題,但是方案中并未給出具體的網(wǎng)絡(luò)分布模型。
針對(duì)上述問(wèn)題,本文提出了一種基于同態(tài)加密與中國(guó)剩余定理(Homomorphic Encryption and China Remainder Theorem,HECRT)的密鑰管理方案,按不同應(yīng)用和地理位置對(duì)網(wǎng)絡(luò)進(jìn)行分層,通過(guò)構(gòu)造雙重密鑰池矩陣來(lái)保證區(qū)域和節(jié)點(diǎn)安全,節(jié)點(diǎn)通過(guò)密鑰列表來(lái)獲取共享密鑰,密鑰采用同態(tài)加密(Homomorphic Encryption,HE)和中國(guó)剩余定理(China Remainder Theorem,CRT)進(jìn)行隱私處理,并且由中央控制中心負(fù)責(zé)分發(fā),從而保證節(jié)點(diǎn)的隱私并節(jié)約通信資源。
中國(guó)剩余定理[7]:設(shè)p1,p2,…,pk是互為素?cái)?shù)的k 個(gè)正整數(shù),k≥2,令:
其中,Pi=P/pi(i=1,2,…,k),則同時(shí)滿足同余方程組:
正整數(shù)解為:
同態(tài)加密由Rivest R L[8]于1978 年提出,是允許直接對(duì)密文進(jìn)行操作的加密交換。但是由于其對(duì)已知明文攻擊是不安全的,由Domingo 作了進(jìn)一步的改進(jìn)。同態(tài)加密技術(shù)最早是用于對(duì)統(tǒng)計(jì)數(shù)據(jù)進(jìn)行加密的,由算法的同態(tài)性,保證了用戶可以對(duì)敏感數(shù)據(jù)進(jìn)行操作但又不泄露數(shù)據(jù)信息,同態(tài)技術(shù)是建立在代數(shù)理論上的,其基本思路如下:
假設(shè)Ek1和Dk2分別代表加密、解密函數(shù),明文數(shù)據(jù)空間中的元素是有限集合{M1,M2,…,Mn},α 和β代表整數(shù)域上的同態(tài)加密運(yùn)算,若式(4)成立:
則稱函數(shù)族{Ek1,Dk2,α,β}為一個(gè)同態(tài)。
為實(shí)現(xiàn)物聯(lián)網(wǎng)全面感知,又不帶來(lái)信息采集網(wǎng)絡(luò)布局的混亂,根據(jù)不同應(yīng)用將物聯(lián)網(wǎng)分成不同的區(qū)域[9],對(duì)同一區(qū)域進(jìn)行地理位置的部署劃分,結(jié)合現(xiàn)有文獻(xiàn)中關(guān)于物聯(lián)網(wǎng)的網(wǎng)絡(luò)架構(gòu)建立基于HECRT 的物聯(lián)網(wǎng)網(wǎng)絡(luò)模型,假設(shè)每個(gè)區(qū)域設(shè)有中央控制中心(Control Center,CC),中央控制中心接收各個(gè)節(jié)點(diǎn)GPS 采集的信息,從而獲取每個(gè)節(jié)點(diǎn)的位置以及與中央控制中心的距離、節(jié)點(diǎn)位置與CC 的角度,CC 根據(jù)不同的距離劃分不同的層。物聯(lián)網(wǎng)網(wǎng)絡(luò)模型見(jiàn)圖1。
圖1 基于HECRT 的物聯(lián)網(wǎng)網(wǎng)絡(luò)模型
物聯(lián)網(wǎng)感知層主要由一些資源有限的設(shè)備節(jié)點(diǎn)組成,且大部分采用無(wú)線通信的方式來(lái)交換采集信息,考慮通信距離受設(shè)備自身資源的限制,該方案在進(jìn)行網(wǎng)絡(luò)部署時(shí),考慮每個(gè)節(jié)點(diǎn)設(shè)備的通信能力各不相同,所以,將通信能力最弱的節(jié)點(diǎn)的通信半徑設(shè)為R。以某一區(qū)域控制中心CC 為中心,記設(shè)備節(jié)點(diǎn)與CC 的距離為d,節(jié)點(diǎn)通信區(qū)域是以節(jié)點(diǎn)為中心、半徑為R 的整個(gè)圓形區(qū)域。根據(jù)節(jié)點(diǎn)與CC 的距離對(duì)區(qū)域進(jìn)行如下分層,假設(shè)區(qū)域分為K 層:
第1 層:d∈(0,R/2];
第2 層:d∈(R/2,R];
…
第K 層:d∈((j-1)R/2,jR/2],j=1,2,…,k。
按照上述規(guī)則分層,中央控制中心CC 為同一層的每個(gè)節(jié)點(diǎn)分發(fā)區(qū)域密鑰和層密鑰,這些密鑰分別用于區(qū)域之間節(jié)點(diǎn)通信和層之間節(jié)點(diǎn)的通信。為了能夠保證同一層的任意2 個(gè)節(jié)點(diǎn)都可以直接通信,在這些設(shè)備之間加入中間轉(zhuǎn)發(fā)設(shè)備,如無(wú)線電發(fā)射塔或基站。取節(jié)點(diǎn)間的弧長(zhǎng)L <R,根據(jù)弧長(zhǎng)來(lái)確定層中部署無(wú)線電發(fā)射塔的數(shù)目。以第i 層中不同節(jié)點(diǎn)通信距離模型進(jìn)行分析,如圖2 所示。
圖2 同一層中的節(jié)點(diǎn)通信距離模型
從圖2 可以看出,當(dāng)節(jié)點(diǎn)距離d1>R 時(shí),節(jié)點(diǎn)間無(wú)法進(jìn)行通信,對(duì)于第i 層,取其最大圓弧,即為半徑(i-1)R/2 的圓的周長(zhǎng),計(jì)算得出周長(zhǎng)為2π ×(i -1)R/2,即π(i-1)R,那么該層需要的無(wú)線發(fā)射塔數(shù)目為π(i-1)R/2R,即π(i -1)R/2,整個(gè)區(qū)域分為k 層,需要即πk(k -1)/4 個(gè)無(wú)線電發(fā)射塔。
3.2.1 密鑰池建立
文獻(xiàn)[10]中構(gòu)造M ×N 矩陣,節(jié)點(diǎn)根據(jù)自身哈希H(ID)值,從每列中選取對(duì)應(yīng)位置的密鑰共計(jì)N 個(gè)密鑰,組成自身的密鑰環(huán),但該方案未考慮物聯(lián)網(wǎng)環(huán)境、不同應(yīng)用下的網(wǎng)絡(luò)分布,且只設(shè)定一個(gè)控制中心管理密鑰的產(chǎn)生和分發(fā),不適用于海量節(jié)點(diǎn)的物聯(lián)網(wǎng)環(huán)境。為此,本文方案構(gòu)造了2 個(gè)T × L 矩陣,分別存儲(chǔ)對(duì)應(yīng)區(qū)域、層的源密鑰和私鑰。seedij表示第i 個(gè)區(qū)域、第j 層所有節(jié)點(diǎn)的源密鑰。另一矩陣存儲(chǔ)節(jié)點(diǎn)的私鑰pij,pij為第i 個(gè)區(qū)域、第j 層所有節(jié)點(diǎn)的私鑰,pij為一大素?cái)?shù),seedij,pij∈[-2ρ,2ρ],作為安全參數(shù),這里的安全參數(shù)可以根據(jù)不同的應(yīng)用需求取不同值,其密鑰池矩陣如式(5)、式(6)所示:
其中,seedij=H(seedi‖dkij),seedi是由離線服務(wù)器為每個(gè)區(qū)域控制中心CC 隨機(jī)產(chǎn)生的種子密鑰,不同區(qū)域其產(chǎn)生的種子密鑰不同,而且種子密鑰由CC存儲(chǔ),離線后敵手無(wú)法獲得。若整個(gè)網(wǎng)絡(luò)分為T(mén) 個(gè)區(qū)域,則每個(gè)區(qū)域控制中心CC 存儲(chǔ)T 個(gè)種子密鑰:[seed1,seed2,…,seedT]。
通過(guò)上述產(chǎn)生規(guī)則可以保證同一區(qū)域、同一層的節(jié)點(diǎn)所獲得的seedij相同,但敵手無(wú)法通過(guò)該值推測(cè)出seedi值;每次密鑰更新時(shí),控制中心CC 需要通過(guò)更新seedi值來(lái)更新seedij值。
這樣構(gòu)造矩陣的前提假設(shè)是不同應(yīng)用(區(qū)域)的層數(shù)以及每層節(jié)點(diǎn)數(shù)相同或者相近,但是實(shí)際應(yīng)用中不同應(yīng)用對(duì)應(yīng)的網(wǎng)絡(luò)規(guī)模不同,甚至差別很大,考慮到這些原因,在給每個(gè)節(jié)點(diǎn)定義唯一身份標(biāo)識(shí)時(shí)不能再根據(jù)該層的規(guī)模來(lái)進(jìn)行編號(hào)處理,因此,本文方案根據(jù)節(jié)點(diǎn)與控制中心CC 的距離d 和方向(由CC 選定x,y 垂直坐標(biāo)軸,再計(jì)算節(jié)點(diǎn)與CC 的連線與x 軸所成的角度a),這樣設(shè)定的優(yōu)點(diǎn)是標(biāo)識(shí)隨節(jié)點(diǎn)位置的改變而變化,敵手不易猜測(cè),并且x,y 垂直坐標(biāo)軸由CC 選取,增加了敵手猜測(cè)攻擊的難度。
3.2.2 密鑰預(yù)分配
方案中各節(jié)點(diǎn)的部署信息為DKij=(IDij| |dkij),其中,ID 表示該節(jié)點(diǎn)的唯一標(biāo)識(shí):ID=H(d| |a);dkij表示該節(jié)點(diǎn)的地理位置編號(hào),即第i 區(qū)域、第j 層。中央控制中心CC 產(chǎn)生密鑰的步驟如下:
假設(shè)節(jié)點(diǎn)部署信息為DKij,其對(duì)應(yīng)的私鑰值為pij。在矩陣中,刪除第i 行、第j 列,得到(T -1)×(L -1)矩陣,用于構(gòu)造節(jié)點(diǎn)密鑰環(huán)。這樣構(gòu)造的原因是刪除第i 行、第j 列后,可以提高同一層節(jié)點(diǎn)發(fā)現(xiàn)共享密鑰的概率,而且可以防止同一層節(jié)點(diǎn)的共謀攻擊,如式(7)所示:
方案中任意節(jié)點(diǎn)密鑰環(huán)的構(gòu)造過(guò)程如下:
假設(shè)節(jié)點(diǎn)U 與CC 的距離為du,則該層內(nèi)所有節(jié)點(diǎn)密鑰環(huán)構(gòu)造過(guò)程為:
(1)CC 根據(jù)節(jié)點(diǎn)U 的唯一標(biāo)識(shí)IDU,計(jì)算H(IDU)=B1B2…BL-1,其中,Bi為十進(jìn)制數(shù),對(duì)應(yīng)到seedij矩陣的某一行,CC 根據(jù)Bi值為每個(gè)節(jié)點(diǎn)選取seedij值。
(2)CC 根據(jù)pij矩陣中該層對(duì)應(yīng)的L -1 個(gè)pij值按順序分配給對(duì)應(yīng)的seedij,然后根據(jù)H(seedij||pij)計(jì)算出節(jié)點(diǎn)密鑰環(huán)中的所有密鑰值。這樣保證了同一層內(nèi)以一定概率p 存在共享密鑰,且概率值僅與每個(gè)節(jié)點(diǎn)ID 的哈希值有關(guān)。
設(shè)同一層中節(jié)點(diǎn)發(fā)現(xiàn)i 個(gè)共享密鑰的概率為p(i),則:
不同層節(jié)點(diǎn)發(fā)現(xiàn)共享密鑰的概率為0。由于本文方案刪除了節(jié)點(diǎn)所在第i 區(qū)域和第j 層的矩陣行列值,概率p(i)值比文獻(xiàn)[10]高,并且這樣的選取機(jī)制可以防止同一區(qū)域、同一層的共謀攻擊,節(jié)點(diǎn)不能通過(guò)自身的seedij值和pij值計(jì)算其中的一個(gè)共享密鑰。
上述選取機(jī)制可能會(huì)造成不同層之間的節(jié)點(diǎn)滿足距離小于等于R,但是卻沒(méi)有共享密鑰的情況。為了彌補(bǔ)上述缺陷,在通信過(guò)程中采用2 種方式:(1)除了要交換必要的身份和地域信息外,還需要交換各自的距離信息,當(dāng)節(jié)點(diǎn)間發(fā)現(xiàn)其滿足不同層,且距離差為R 之內(nèi)時(shí),由CC 分配給它們通信密鑰。(2)改變上述b 中產(chǎn)生pij的規(guī)則,即pij的選取是從相鄰兩列中(即2 ×(L -1)個(gè)pij中選取L -1 個(gè)),i=1,2,…,L -1。這樣任何節(jié)點(diǎn)相鄰兩層之間節(jié)點(diǎn)都能以p 的概率發(fā)現(xiàn)共享密鑰,p 的值介于0~p(1)之間。
3.2.3 通信協(xié)議
本文方案的通信協(xié)議參照somewhat 同態(tài)加密技術(shù)的相關(guān)參數(shù)設(shè)定本文協(xié)議,協(xié)議實(shí)現(xiàn)具體過(guò)程如下:
設(shè)區(qū)域i 分為A 層,由上文分析可知,對(duì)應(yīng)同一層節(jié)點(diǎn),其存儲(chǔ)的私鑰pij和seedij是相同的,因此在同一區(qū)域中只討論不同層間節(jié)點(diǎn)的情況,CC 構(gòu)造中國(guó)剩余方程式,如式(9)所示:
其中,pij為i 區(qū)域、j 層的私鑰;seedij為i 區(qū)域j 層的種子密鑰。由中國(guó)剩余定理知,存在一個(gè)值Y,滿足式(10):
由中央控制中心CC 將計(jì)算得到的Y 值廣播給區(qū)域內(nèi)的每個(gè)節(jié)點(diǎn),節(jié)點(diǎn)利用自身的私鑰pij,根據(jù)中國(guó)剩余定理,對(duì)Y 進(jìn)行如下處理:
其中,rij作為該區(qū)域的層密鑰,存儲(chǔ)在節(jié)點(diǎn)中。每個(gè)節(jié)點(diǎn)密鑰環(huán)中的L -1 個(gè)密鑰由CC 采用同態(tài)加密技術(shù)用區(qū)域密鑰加密并廣播給每個(gè)節(jié)點(diǎn),同時(shí)需要傳輸?shù)倪€有每個(gè)節(jié)點(diǎn)密鑰選取時(shí)對(duì)應(yīng)矩陣中的行列坐標(biāo)值。
在完成上述步驟后,相鄰節(jié)點(diǎn)之間可以通過(guò)區(qū)域密鑰加密該節(jié)點(diǎn)的密鑰行列表給對(duì)方,對(duì)方只需從表中查找與自己相同信息就可以找出所有的共享密鑰。此外,考慮到方案中設(shè)備節(jié)點(diǎn)受資源限制,采用文獻(xiàn)[11]的輕量級(jí)通信協(xié)商協(xié)議進(jìn)行密鑰協(xié)商。
3.2.4 密鑰更新
本文方案的密鑰更新涉及到周期更新、節(jié)點(diǎn)加入/離開(kāi)時(shí)的密鑰更新兩部分。方案的更新工作由中央控制中心CC 完成,CC 的計(jì)算能力強(qiáng)、資源充足,方案中節(jié)點(diǎn)加入/離開(kāi)時(shí)seedij進(jìn)行更新外,周期更新時(shí)還要對(duì)節(jié)點(diǎn)的私鑰pij進(jìn)行更新。CC 更新源密鑰矩陣,每個(gè)區(qū)域控制中心CC 更新自己的密鑰形成新的密鑰。
seedij具體更新過(guò)程如下:
CC 根據(jù)新產(chǎn)生的seed'ij值,為每個(gè)節(jié)點(diǎn)產(chǎn)生新的密鑰環(huán),并以上述廣播的形式分發(fā)給每個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)接收后根據(jù)通信協(xié)議恢復(fù)明文,同時(shí)更新自己的密鑰環(huán)以及對(duì)應(yīng)的矩陣行列表。
根據(jù)3.2.2 節(jié)描述的密鑰分配可知,任意2 個(gè)物聯(lián)網(wǎng)設(shè)備節(jié)點(diǎn)之間有i 個(gè)共享密鑰的概率為:
任意2 個(gè)節(jié)點(diǎn)之間至少有t 個(gè)共享密鑰的概率為:
由式(14)、式(15)可知,若T 值不變,隨著L 值變大,p 值也相應(yīng)增大,通過(guò)計(jì)算可知,當(dāng)T=128,L=256,t=1 時(shí),p 值高達(dá)90%,t=3 時(shí),p 值仍大于30%。
表1 將本文方案和文獻(xiàn)[10,11]中的q 復(fù)合度密鑰預(yù)分配方案進(jìn)行仿真比較。從其中的數(shù)據(jù)可看出,選擇相近L 和T 值能得到較理想的概率值,該概率值與使用q 復(fù)合度密鑰預(yù)分配方法得到的概率值相近。
表1 各方案共享密鑰的概率比較
根據(jù)共享密鑰概率分析,任意2 個(gè)節(jié)點(diǎn)能直接建立安全鏈路的概率可由式(14)計(jì)算得出。為方便闡述,記2 個(gè)節(jié)點(diǎn)間能直接建立安全鏈路即單跳的概率為p1,2 個(gè)節(jié)點(diǎn)通過(guò)一個(gè)中間節(jié)點(diǎn)建立安全鏈路即兩跳的概率為p2,設(shè)每個(gè)節(jié)點(diǎn)有d 個(gè)鄰居節(jié)點(diǎn),對(duì)每個(gè)鄰居節(jié)點(diǎn)而言,可直接與源節(jié)點(diǎn)IDi和目標(biāo)節(jié)點(diǎn)IDj建立安全鏈路的概率為。因此,節(jié)點(diǎn)IDi和IDj能通過(guò)單跳和兩跳建立通信的概率p1,2為:
顯然,概率p1,2隨著概率p1的增加而增加,而增加的幅度隨鄰居節(jié)點(diǎn)的個(gè)數(shù)d 的增加而變大,根據(jù)式(16)可以計(jì)算出在通信范圍內(nèi)的任意2 個(gè)節(jié)點(diǎn)能直接或間接(兩跳)建立安全鏈路的概率高達(dá)90%以上。
本文方案設(shè)定節(jié)點(diǎn)通信距離的范圍,在允許的通信范圍內(nèi),節(jié)點(diǎn)間可保持較高的共享密鑰發(fā)現(xiàn)協(xié)議。由于設(shè)定的通信距離2R 可能會(huì)因?yàn)閼?yīng)用的不同,包含同一區(qū)域數(shù)個(gè)層或者不同區(qū)域,降低共享密鑰發(fā)現(xiàn)概率,但由于方案中還為不同區(qū)域和層通過(guò)同態(tài)加密技術(shù)分配了區(qū)域密鑰和層密鑰,可作為當(dāng)共享密鑰發(fā)現(xiàn)出現(xiàn)較低概率時(shí)的補(bǔ)充,確保整個(gè)方案的連通性。由上述矩陣的構(gòu)造過(guò)程可知,矩陣設(shè)計(jì)以所有區(qū)域中最大層數(shù)為基數(shù),便于整個(gè)網(wǎng)絡(luò)的擴(kuò)展。
本文方案的2 個(gè)密鑰池構(gòu)造均根據(jù)區(qū)域和層劃分,考慮到區(qū)域之間的異構(gòu)特性,初始階段若按照部署信息來(lái)構(gòu)造矩陣密鑰池往往不能滿足所有的區(qū)域,為此,選擇所有區(qū)域中層最多的作為標(biāo)準(zhǔn),構(gòu)造L ×T矩陣,這樣的構(gòu)造方式可以很好地滿足網(wǎng)絡(luò)的擴(kuò)展性,同時(shí)也增加了密鑰池容量,提高了安全性。表1 仿真結(jié)果中L 和T 的取值為128 和256,未涉及到更大的網(wǎng)絡(luò)規(guī)模,主要受限于仿真軟件的功能,不能進(jìn)行仿真,但理論上分析從構(gòu)造的方式以及密鑰產(chǎn)生的過(guò)程可知,隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,其概率優(yōu)勢(shì)將更為明顯。
在該方案中,節(jié)點(diǎn)需要存儲(chǔ)自身的長(zhǎng)期私鑰pij、公鑰pk、源密鑰seedij以及廣播區(qū)域密鑰;共享密鑰發(fā)現(xiàn)過(guò)程只需要廣播自身的行列坐標(biāo)列表即可,其復(fù)雜度為O(1),同時(shí)加密傳輸機(jī)制采用Gentry 的全同態(tài)加密方案,有比較完整的硬件實(shí)現(xiàn)過(guò)程。因此,該方案具有較強(qiáng)的可行性。
在本文方案中,攻擊者可以通過(guò)捕獲其他節(jié)點(diǎn)來(lái)獲得某一特定節(jié)點(diǎn)的所有密鑰從而獲得該節(jié)點(diǎn)與其他節(jié)點(diǎn)的通信密鑰,假設(shè)已有k 個(gè)節(jié)點(diǎn)(同一區(qū)域、同一層)已被捕獲,計(jì)算攻擊者能獲得某一節(jié)點(diǎn)所有密鑰的概率P 為:
利用Matlab 軟件進(jìn)仿真,得到捕獲節(jié)點(diǎn)數(shù)與破解節(jié)點(diǎn)密鑰概率,如圖3 所示。
對(duì)于整個(gè)網(wǎng)絡(luò)的攻擊,在理論上攻擊者可以通過(guò)捕獲一定數(shù)量的節(jié)點(diǎn)來(lái)獲得密鑰池中的所有密鑰,從而破壞感知層網(wǎng)絡(luò)。假設(shè)已有K 個(gè)節(jié)點(diǎn)被捕獲的情況下,攻擊者能夠獲得密鑰池中所有密鑰的概率p',當(dāng)k 個(gè)節(jié)點(diǎn)中的所有密鑰都不重復(fù)時(shí),k 值為m,因此攻擊者至少要捕獲m 個(gè)節(jié)點(diǎn)才能獲得所有密鑰,設(shè)S(k,m)為第二類(lèi)Stirling 數(shù),則攻擊者能獲得密鑰池中所有密鑰的概率p'為:
圖3 捕獲節(jié)點(diǎn)數(shù)與破解節(jié)點(diǎn)密鑰概率的關(guān)系
當(dāng)k=m=n=128 時(shí),p'值趨近于0,當(dāng)k=1 000,M=N=128 時(shí),p'=0.001 6。
(1)防共謀攻擊。本文方案的理論基礎(chǔ)是同態(tài)加密技術(shù)以及中國(guó)剩余定理。密鑰池矩陣由資源充足的中央控制中心產(chǎn)生和更新,密鑰的產(chǎn)生(采用Hash 函數(shù))具有單項(xiàng)不可逆性,密鑰的預(yù)分配采用隨機(jī)方式進(jìn)行。節(jié)點(diǎn)的位置信息首先由CC 秘密選擇垂直坐標(biāo),然后計(jì)算出角度和距離,因此節(jié)點(diǎn)的位置信息會(huì)隨著位置的變化而變化,敵手破解的難度增大。密鑰經(jīng)同態(tài)加密技術(shù)隱私處理后分發(fā)給節(jié)點(diǎn),節(jié)點(diǎn)被分配到相同密鑰的概率可以忽略不計(jì),并且在選取產(chǎn)生密鑰因子的過(guò)程中刪除了節(jié)點(diǎn)所在的行和列,能有效防止區(qū)域內(nèi)部的共謀攻擊,敵手無(wú)法通過(guò)俘獲節(jié)點(diǎn),計(jì)算自身H(seedij||pij)值獲得額外的密鑰,從而不能為猜測(cè)區(qū)域內(nèi)部其他節(jié)點(diǎn)的密鑰帶來(lái)效果,同時(shí)該方案良好的擴(kuò)展性、密鑰池的構(gòu)造方式和產(chǎn)生也給敵手攻擊網(wǎng)絡(luò)節(jié)點(diǎn)帶來(lái)很大的難度。
(2)敵手破解節(jié)點(diǎn)私鑰和源密鑰可能性小。方案采用同態(tài)加密技術(shù)結(jié)合剩余定理進(jìn)行信息加密傳輸,節(jié)點(diǎn)通過(guò)自身的私鑰和源密鑰進(jìn)行解密??紤]到物聯(lián)網(wǎng)節(jié)點(diǎn)自我保護(hù)措施較弱,且無(wú)人看管,為此CC 需要對(duì)各節(jié)點(diǎn)進(jìn)行定期的查詢反饋,以便及時(shí)發(fā)現(xiàn)節(jié)點(diǎn)的異常行為,需要進(jìn)一步增強(qiáng)CC 檢測(cè)異常節(jié)點(diǎn)的有效途徑和方法。為了保護(hù)節(jié)點(diǎn)的安全,定義節(jié)點(diǎn)部署信息DK 中包含了dk(地理位置信息),ID(節(jié)點(diǎn)與CC 的距離和角度),這些都是隱私的,因此在上述同態(tài)傳輸過(guò)程中,雖然敵手很容易通過(guò)通信數(shù)據(jù)業(yè)務(wù)流分析得到來(lái)自相同層加密后的廣播消息,但是敵手只能獲取該區(qū)域、該層,無(wú)法獲得具體節(jié)點(diǎn)的編號(hào),因此敵手無(wú)法進(jìn)行針對(duì)性的腐化攻擊,破解節(jié)點(diǎn)私鑰和源密鑰的難度大大增加。
(3)敵手俘獲密鑰池矩陣可能性小。本文方案假設(shè)區(qū)域控制中心作為一個(gè)管理中心,具備足夠的數(shù)據(jù)處理能力和可持續(xù)工作能力,映射到物聯(lián)網(wǎng)中可以作為大型服務(wù)器和數(shù)據(jù)處理控制中心。CC 負(fù)責(zé)產(chǎn)生、更新和存儲(chǔ)源密鑰,不同區(qū)域的數(shù)據(jù)處理交換認(rèn)證工作。從本文方案中seedij的產(chǎn)生可知,敵手通過(guò)俘獲節(jié)點(diǎn)的方式可以獲得節(jié)點(diǎn)的密鑰環(huán),通過(guò)異步攻擊和同謀攻擊的方式可以獲得整個(gè)seedij密鑰矩陣和pij密鑰矩陣,但是由于seedij是由seedi和dij通過(guò)Hash 作用產(chǎn)生的,敵手破解的難度相當(dāng)于破譯單向函數(shù)的難度,因此敵手無(wú)法控制密鑰矩陣的源密鑰和更新能力;同時(shí)敵手采取針對(duì)攻擊的可能性大大降低,考慮到物聯(lián)網(wǎng)設(shè)備的移動(dòng)特性,同一設(shè)備的ID 隨著部署位置的不同將產(chǎn)生變化,并且敵手無(wú)法通過(guò)破譯設(shè)備的部署信息獲得節(jié)點(diǎn)的ID(ID 只由CC 產(chǎn)生)。由上述破解節(jié)點(diǎn)共享秘鑰的分析中可知,節(jié)點(diǎn)至少俘獲同一區(qū)域、同一層中1 000 個(gè)數(shù)目以上的節(jié)點(diǎn)才能以極低的概率破解密鑰矩陣;節(jié)點(diǎn)通過(guò)俘獲不同區(qū)域、不同層的節(jié)點(diǎn)來(lái)破解密鑰矩陣的可以忽略不計(jì)。
(4)滿足前后向安全性。新設(shè)備節(jié)點(diǎn)離開(kāi)時(shí),為保證通信前向安全性,更新pij矩陣第j 列的所有密鑰信息,通過(guò)CC 重新產(chǎn)生并分配給該區(qū)域、該層的所有設(shè)備節(jié)點(diǎn),由于其他區(qū)域的節(jié)點(diǎn)不涉及到第j列的密鑰值,因此不需要更新,減少了更新成本。
不同應(yīng)用對(duì)應(yīng)不同區(qū)域,可以根據(jù)不同的安全需求設(shè)定對(duì)應(yīng)的安全等級(jí)。例如,可以通過(guò)改變同態(tài)加密機(jī)制中的參數(shù)p 和安全參數(shù)r 來(lái)提高或者降低安全等級(jí),節(jié)點(diǎn)的私鑰pij也可以根據(jù)不同的需要進(jìn)行相應(yīng)提高。
本文提出一種基于HECRT 的物聯(lián)網(wǎng)密鑰管理方案,給出了基于節(jié)點(diǎn)位置信息的網(wǎng)絡(luò)分層模型,與現(xiàn)有方案相比有以下優(yōu)點(diǎn):(1)根據(jù)節(jié)點(diǎn)通信的最大距離,計(jì)算出同一層內(nèi)需要的無(wú)線電發(fā)射塔數(shù)據(jù),給出詳細(xì)的部署安排。(2)構(gòu)造雙重密鑰池分別用于區(qū)域密鑰和節(jié)點(diǎn)私鑰,同時(shí)節(jié)點(diǎn)位置信息與中央控制中心CC 垂直坐標(biāo)軸的選取相關(guān),確保節(jié)點(diǎn)位置信息的隱私。(3)有效提高了節(jié)點(diǎn)共享密鑰發(fā)現(xiàn)概率。(4)給出具體的密鑰更新協(xié)議,能夠滿足節(jié)點(diǎn)加入/離開(kāi)時(shí)的動(dòng)態(tài)密鑰更新。(5)方案的安全性得到了較好的增強(qiáng)。
[1]ITU Internet Reports 2005:The Internet of Things[EB/OL].(2005-07-11).http://bbs.cnttr.com/viewthread.Phptid=241077.
[2]王 晶,全春來(lái),周 翔.物聯(lián)網(wǎng)公共安全平臺(tái)軟件體系架構(gòu)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(10):3374-3377.
[3]白 蛟,全春來(lái).基于物聯(lián)網(wǎng)的公共安全云計(jì)算平臺(tái)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(11):3696-3701.
[4]Liu Jihong,Yang Li.Application of Internet of Things in the Community Security Management[C]//Proceedings of the 3rd International Conference on Computational Intelligence,Communication Systems and Networks.Bali,Indonesia:IEEE Press,2011:314-318.
[5]任 偉,雷 敏,楊 榆.ID 保護(hù)的物聯(lián)網(wǎng)T2ToI 中能量高效的健壯密鑰管理方案[J].小型微型計(jì)算機(jī)系統(tǒng),2011,32(9):1903-1907.
[6]李大偉,楊 庚.基于重復(fù)博弈的物聯(lián)網(wǎng)密鑰共享方案[J].通信學(xué)報(bào),2010,31(9A):97-103.
[7]席國(guó)寶,陳惠芳,趙問(wèn)道.基于中國(guó)剩余定理的秘密共享組播密鑰管理方案[J].電子與信息學(xué)報(bào),2006,28(12):2378-2381.
[8]Rivest R L,Adleman L,Detrouzos M L.On Data Banks and Privacy Homomorphism[M].New York,USA:Academic Press,1978.
[9]Banihashemian S,GhaemiBafghi A.A New Key Management Scheme in Heterogeneous Wireless Sensor Networks[C]// Proceedings of the 12th International Conference on Advanced Communication Technology.[S.l.]:IEEE Press,2010:141-146.
[10]章 睿,劉吉強(qiáng),趙 佳.一種基于ID 的傳感器網(wǎng)絡(luò)密鑰管理方案[J].電子與信息學(xué)報(bào),2009,31(4):929-932.
[11]曾 萍,張 歷,胡榮磊,等.WSN 中基于ECC 的輕量級(jí)認(rèn)證密鑰協(xié)商協(xié)議[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(2):65-69,80.
[12]Chan Haowen,Perrig A,Song D.Random Key Predistribution Schemes for Sensor Networks [C]//Proceedings of 2003 IEEE Symposium on Security and Privacy.Washington D.C.,USA:IEEE Computer Society,2003:197-213.