周趙斌,林如姍,3,許 力
1(福建師范大學(xué) 數(shù)學(xué)與信息學(xué)院,福州 350117)
2(福建省網(wǎng)絡(luò)安全與密碼技術(shù)重點實驗室,福州 350007)
3(福建電力職業(yè)技術(shù)學(xué)院,泉州 362008)
鑒于傳統(tǒng)無線網(wǎng)絡(luò)固有的安全威脅,要保障網(wǎng)絡(luò)的正常運行,安全通信是至關(guān)重要的基礎(chǔ)和前提.現(xiàn)有的機制通常是采用加密以及認證技術(shù)來保證安全.傳統(tǒng)的密鑰建立機制都是基于共享密鑰或公共密鑰[1],但是這些方法通常要涉及到密鑰的管理、分發(fā)、更新以及維護,當(dāng)網(wǎng)絡(luò)內(nèi)的用戶節(jié)點個數(shù)不斷增加時,密鑰的管理難度也會極大增加.為了解決以上問題,近年來,利用物理層安全來增強無線網(wǎng)絡(luò)安全的研究受到了廣泛的關(guān)注.物理層密鑰生成機制是從無線信道特征中提取密鑰,通信雙方可以在不借助于公鑰基礎(chǔ)設(shè)施或者是共享密鑰的情況下進行密鑰協(xié)商.
在物理層密鑰提取中所利用的信道特征可以是接收信號強度 (Received Signal Strength,RSS)[2–4],信道狀態(tài)信息(Channel State Information,CSI)[5,6],或信道相位[7,8].因為RSS 在無線信道中更容易被提取,所以基于RSS 密鑰生成機制的研究更為廣泛.雖然基于物理層無線信道特征的密鑰生成方案在兩個用戶之間易于實現(xiàn),但在實際應(yīng)用中,由于一對用戶節(jié)點之間提取的信道測量值無法安全有效地傳遞到其他用戶,換句話說,在多個用戶節(jié)點上累積信道測量值用于生成組密鑰仍是一個很大的挑戰(zhàn).Liu 等[9]首先針對星型拓撲結(jié)構(gòu),提出了一個高效的組密鑰生成方案.然后進一步考慮到網(wǎng)絡(luò)中兩個用戶節(jié)點之間不一定在彼此的通信范圍,節(jié)點間的通信需要依靠其他節(jié)點進行轉(zhuǎn)發(fā),因此Liu 等從邏輯上構(gòu)造了一種鏈?zhǔn)酵負浣Y(jié)構(gòu),并針對鏈?zhǔn)酵負浣Y(jié)構(gòu)利用差分思想提取組密鑰.文獻[10]對文獻[9]做了補充,并從理論上分析了方案可達的組密鑰率.Thai等[11]將網(wǎng)絡(luò)中的一個節(jié)點通過一條重要信道與其他節(jié)點相互鏈接,每個節(jié)點廣播具有優(yōu)化系數(shù)的不同信道特征值的加權(quán)組合,優(yōu)化的系數(shù)可以幫助重新平衡來自不同節(jié)點的接收信號強度以增強組密鑰生成方案的性能.Tunaru 等[12]研究了脈沖無線電-超寬帶多徑信道的密鑰協(xié)議,提出一種新的組密鑰生成方案,利用全網(wǎng)狀拓撲中所有可用物理鏈路,使接收信號節(jié)點可以訪問與其非相鄰鏈路相對應(yīng)的不可觀察信道,同時還減少了網(wǎng)絡(luò)流量,但是該方案沒有分析廣播時可能泄漏給竊聽者的信息量.Xu 等[13]針對不同的無線拓撲,提出一種新的低復(fù)雜度密鑰生成策略,該策略將成熟的點對點密鑰生成技術(shù)與多段方案進行巧妙的組合.首先,通過近似算法將非凸時間分配最大-最小問題重新表述為一系列幾何規(guī)劃,然后提出一種迭代算法在訓(xùn)練階段解決時間分配問題,最大程度提高了組密鑰率.章紅艷等[14]利用超立方體對無線傳感器網(wǎng)絡(luò)節(jié)點進行編碼的思路,實現(xiàn)了節(jié)點對密鑰的建立,使無線傳感器網(wǎng)絡(luò)具有較強的抗毀性.
本文提出了一種適用于網(wǎng)狀拓撲的無線網(wǎng)絡(luò)中基于三節(jié)點的組密鑰生成方案.
圖1代表的是一個密鑰生成模型,其中Alice、Bob代表合法通信雙方,而Eve 表示竊聽者.hab,hba,hea,heb分別表示各自信道的信道增益,λ表示波長,也就是說Eve 距離合法通信雙方Alice和Bob 至少半波長遠.
圖1 系統(tǒng)模型
我們假設(shè)Eve 可以竊聽通信雙方,即Alice和Bob之間的通信信號.由于無線信道采用的是半雙工通信方式,用戶在進行通信時不能同時發(fā)送和接收消息,因此Bob 必須在接收到Alice 發(fā)送來的消息后才能返回一個消息給Alice,反之亦然.我們用表示Alice和Bob之間無線信道的信道增益,則通信雙方接收信號可以表示為:
其中,ra(t),rb(t)分別表示Alice和Bob 接收到的信號;s(t)表示發(fā)送的探測信號;na(t),nb(t)分別代表Alice和Bob 在接收到信號時刻周圍的環(huán)境噪聲.通過測量Alice和Bob 分別得到各自的接收信號,然后雙方利用接收信號可以通過式(3)、式(4)計算各自的信道估計值:
其中,h(t) 通過式(1),(2)可以計算得到;za(t),zb(t)分別代表na,nb經(jīng)過函數(shù)處理后的噪聲項.根據(jù)式(3)和(4),Alice和Bob 分別可以推導(dǎo)出和.事實上,由于半雙工通信導(dǎo)致t1≠t2,再加上周圍環(huán)境噪聲的影響,所以和并不完全相等.但是根據(jù)無線信道短時互易性[15],只要t1和t2之間的差小于相干時間,則和之 間是高度相關(guān)的,即如果|t1?t2|<τ,則≈.
如圖2所示,考慮網(wǎng)絡(luò)中3 個用戶節(jié)點的情況,其中節(jié)點1和3 不在彼此的通信范圍內(nèi),這意味著節(jié)點1和節(jié)點3 只能通過節(jié)點2 進行通信.
圖2 三節(jié)點通信過程
我們將通信過程分為4 個階段:
階段1:節(jié)點2 廣播信號,節(jié)點1和3 收到信號后提取到各自的信道估計值:
其中,?i,j表示節(jié)點j在第i階段結(jié)束后提取到的信道估計值.
階段2:節(jié)點2 收到節(jié)點1 回復(fù)的信號,提取信道的估計值h12(t),令?2,2=h12(t).
階段3:與階段2 相類似,節(jié)點2 收到節(jié)點3 的回復(fù)信號并提取信道的估計值h23(t),令?3,2=h23(t).
階段4:經(jīng)過以上階段后,節(jié)點2 獲得h12(t)和h23(t).節(jié)點2 廣播h12(t)+h23(t),則節(jié)點1和節(jié)點3 根據(jù)本地的信息可以分別得到h12(t)?(h12(t)+h23(t))和h23(t)?(h12(t)+h23(t)),最終兩個節(jié)點可以分別得到?4,1=h12(t)?h23(t)和?4,3=h12(t)?h23(t).
同時,由于節(jié)點2 同時具有h12(t)和h23(t),所以它也可以計算得到h12(t)?h23(t).
本文的組密鑰生成協(xié)議包含4 個階段:
(1)初始化階段.在此階段,受信任的系統(tǒng)授權(quán)機構(gòu)將為網(wǎng)絡(luò)中的用戶節(jié)點進行分組,組內(nèi)節(jié)點從邏輯上形成一個環(huán)路.同時,受信任的系統(tǒng)授權(quán)機構(gòu)進行一 次初始化的操作,還將生成密鑰建立協(xié)議中所需的一些參數(shù).
(2)密鑰提取階段.在此階段用戶利用物理層無線信道特征提取短密鑰.
(3)信息交換階段.在此階段用戶節(jié)點廣播一些信息,并記錄所交換的信息.
(4)組密鑰建立階段.在此階段,每個用戶節(jié)點都對自己的鄰居節(jié)點進行身份驗證,驗證成功后這些節(jié)點可以建立一個組密鑰.
在此階段,受信任的系統(tǒng)授權(quán)機構(gòu)將為網(wǎng)絡(luò)中的用戶節(jié)點進行分組,組內(nèi)節(jié)點從邏輯上形成一個環(huán)路,并為邏輯環(huán)上每個節(jié)點分配一個身份標(biāo)識IDi.我們用∏表示組內(nèi)所有用戶的集合,并假設(shè)每個用戶節(jié)點v∈∏.在提取密鑰之前,組內(nèi)n個合法用戶形成一個邏輯環(huán),記為v1,v2,···,vn.由于所有用戶在邏輯上形成一個環(huán)路,因此vn+1=v1,v0=vn.
數(shù)字簽名作為保障網(wǎng)絡(luò)信息安全的手段之一,在包括身份認證、數(shù)據(jù)完整性驗證以及不可否認性等信息安全領(lǐng)域發(fā)揮著重要的作用.因本文考慮的網(wǎng)絡(luò)環(huán)境為無線網(wǎng)絡(luò),故節(jié)點的能耗和存儲代價是需要考慮在內(nèi)的.Schnorr 簽名[16]因以其計算量小和速度快著稱,且安全性基于某些離散對數(shù)問題的難處理性,故被廣泛應(yīng)用到網(wǎng)絡(luò)安全等領(lǐng)域.因為它所具備的顯著優(yōu)點,所以本文選擇Schnorr 簽名技術(shù)對交換的信息進行簽名,以防止數(shù)據(jù)被篡改.
在此階段,用戶在物理層提取密鑰.環(huán)中每個用戶都有兩個鄰居節(jié)點,分別構(gòu)成節(jié)點對<vi?1,vi>,<vi,vi+1>,i=1,2,···,n,其中兩個鄰居節(jié)點之間的距離要小于λ/2.根據(jù)系統(tǒng)模型,每個節(jié)點分別與其相鄰節(jié)點利用物理層無線信道特征提取短密鑰,則每個用戶都會獲得ki?1,i和ki,i+1,如圖3所示.
圖3 提取短對密鑰
然后,將環(huán)上相鄰的3 個節(jié)點設(shè)為一小分組,生成3 個節(jié)點之間的共享密鑰.如圖4所示,我們以節(jié)點v1,v2和v3為例,3 個節(jié)點根據(jù)系統(tǒng)模型中所描述的方式反復(fù)發(fā)送探測信號后收集到足夠的信道估計值h12(t)?h23(t),利用文獻[4]所提的密鑰生成方案將提取到的信道估計值進行量化編碼以及協(xié)商之后生成3 個節(jié)點之間的密鑰.以此類推,最后邏輯環(huán)上的每個節(jié)點都分別得到如圖4所示的3 個共享密鑰,其中ki表示以第i個節(jié)點為中心所生成的共享密鑰.
圖4 建立三節(jié)點共享密鑰
用戶vi計算:
然后,節(jié)點vi在公共控制信道上廣播消息:mi=<vi,vi?1,;vi,vi+1,;Xi>,經(jīng)過信息交換后,每個節(jié)點都會獲得所有的廣播消息m1,m2,···,mn.
接收到所有廣播消息之后,每個節(jié)點vi要完成兩件事:
(1)驗證鄰居節(jié)點vi?1和vi+1.首先,節(jié)點vi需要驗證消息mi?1和mi+1是否來自鄰居節(jié)點,然后vi利用本地保存的密鑰ki解密和.以節(jié)點v2為例,v2通過驗證消息m1和m3,分別可以提取到信息:V12=k2(H(k1,2)⊕ID1)和V32=k2(H(k2,3)⊕ID3),然后通過本地保存的密鑰k2解密兩個信息,并將本地計算得到的H(k1,2)⊕ID1,H(k2,3)⊕ID3與解密后的信息進行對比,一致則認為驗證成功.
(2)檢查X1⊕X2⊕···⊕Xn是否等于0.以上兩個驗證只要有一個不通過,則組密鑰建立協(xié)議終止.
(3)計算組內(nèi)所有密鑰.節(jié)點vi可以計算密鑰,此時分為3 種情況:
① 當(dāng)j=0時,Ki=H(ki,i+1);
② 當(dāng)j=1,2,···,n?2 時,K(i+j)modn=H(ki,i+1)⊕X(i+1)modn⊕···⊕X(i+j)modn;
③ 當(dāng) (i+j)modn=0 時,Kn=K0=H(ki,i+1)⊕Xi+1⊕···⊕Xn.
為了方便理解,我們以組內(nèi)節(jié)點個數(shù)為6,節(jié)點v2為例,v2可計算得到:
(4)計算最終的組密鑰.經(jīng)過以上步驟后,邏輯環(huán)上的每個節(jié)點都獲得組內(nèi)所有的密鑰,然后節(jié)點vi計算最終的組密鑰Kg=K1·K2·····Kn.最終,組內(nèi)用戶成功建立共享組密鑰.
由上述組密鑰率生成方案可知,最終生成的組密鑰與邏輯環(huán)路上兩兩相鄰的節(jié)點的共享對密鑰有關(guān),所以可實現(xiàn)的最大組密鑰率與相鄰兩個節(jié)點之間的信道觀察互信息[17]:
Ri,i+1表示節(jié)點i與i+1之間的信道觀察互信息;σ2Y表示信道觀察信息的實際信道增益方差;σ2i,分別表示節(jié)點i和i+1的噪聲方差,我們假設(shè)噪聲對于網(wǎng)絡(luò)中所有的節(jié)點來說都是獨立同分布,并服從均值為0,方差為σ2的高斯分布,則σ2=σ2i=.將γm=2σ2Y/σ2[15],代入式(5)可知本方案的組密鑰率為:
在密鑰提取階段,合法通信方根據(jù)收集到的信道增益在本地生成密鑰.根據(jù)通信原理[18]可知,當(dāng)攻擊者距離通信方超過半波長遠時,攻擊者無法根據(jù)觀察到的信道增益推測出合法通信方所生成的密鑰,所以該階段生成的密鑰其安全性是可靠的.
在密鑰交換階段,我們首先Schnorr 簽名技術(shù)對交換的信息進行簽名,以防止數(shù)據(jù)被篡改.其次,組內(nèi)節(jié)點在公共信道上傳遞經(jīng)過處理后的消息.該階段存在以下幾種情況:
(1)消息mi遭到篡改:當(dāng)節(jié)點vi收到消息mi后,首先利用保存的密鑰解密該消息,然后將本地計算得到的信息與解密后的信息進行對比,如果二者不一致說明消息mi已被篡改,密鑰生成協(xié)議終止,從而保證了本方案的安全性.
(2) 當(dāng)X1,X2,···,Xn遭到篡改或在傳輸過程中數(shù)據(jù)發(fā)生錯誤,我們的方案通過驗證X1⊕X2⊕···⊕Xn是否等于0,可以知道數(shù)據(jù)是否有誤.X1⊕X2⊕···⊕Xn=0時,說明數(shù)據(jù)無誤,可以繼續(xù)進行下一階段.相反,若X1⊕X2⊕···⊕Xn≠0,則說明其中某一個或多個數(shù)據(jù)發(fā)生錯誤,應(yīng)當(dāng)終止密鑰生成,這同樣也保證了本方案的可靠性和安全性.
(3)假設(shè)攻擊者收集到公共信道上合法通信方所傳遞的所有消息,由于在密鑰提取階段攻擊者無法獲取合法用戶本地生成的密鑰,因此不能根據(jù)收集到的信息來計算得到最終的組密鑰,因此本文的組密鑰生成方案是安全的.
本文通過Matlab 仿真模擬無線環(huán)境,采用瑞利信道模型模擬無線信道[19],設(shè)多普勒頻移fd=10 Hz,采樣速率為fg=40 Hz,載波信號頻率為2.4 GHz,并為組內(nèi)每個節(jié)點端加入噪聲[17],使信噪比在0 dB~30 dB 變化.實驗設(shè)備及仿真軟件為:MacBook Air (處理器:1.8 GHz Intel Core i5,內(nèi)存:4 GB,操作系統(tǒng):macOS Mojave 10.14.6)、Matlab_R2014b.
組密鑰率是影響密鑰建立效率的性能指標(biāo),根據(jù)式(6)可以看出,本章所提方案的組密鑰率隨著信噪比的變化而變化.由于我們方案的組密鑰率只與信噪比有關(guān),而與組內(nèi)節(jié)點個數(shù)無關(guān),因此我們設(shè)置觀察不同信噪比下組密鑰率的變化.我們在信噪比0~30 dB 之間每隔5 dB 分別計算本方案理論上可達的組密鑰率在表1不同信噪比參數(shù)設(shè)置下本方案理論上可達的組密鑰率,具體如表1所示.同時,在表1中還給出了與之相對應(yīng)情況下文獻[10]星型拓撲結(jié)構(gòu)和鏈?zhǔn)酵負浣Y(jié)構(gòu)下組密鑰率,將其與我們的方案進行對比.從表1中可以看出,當(dāng)信噪比為γm=10 dB時,實現(xiàn)的組密鑰率為2.5265 bits/sample.隨著信噪比的增大,組密鑰率也開始呈逐步上升趨勢,當(dāng) γm=30 dB時,可達的組密鑰率增加至8.9679 bits/sample.通過以上分析可知,本方案的組密鑰率與信噪比之間呈正相關(guān),這是由于高信噪比會降低提取信道估計值時的模糊性,進一步提高了組密鑰的一致性,從而提高了組密鑰率.
表1 不同信噪比(γm)下的組密鑰率變化情況
同時,觀察表1的任意一列,例如當(dāng) γm=20 dB時,本方案的組密鑰率為5.6654 bits/sample,而文獻[10]星型拓撲結(jié)構(gòu)以及鏈?zhǔn)酵負浣Y(jié)構(gòu)在節(jié)點個數(shù)為3 的情況下組密鑰率分別是4.6935 bits/sample,2.6423 bits/sample.并且,隨著組內(nèi)節(jié)點個數(shù)的增多,兩個方案可達的組密鑰率逐漸下降.我們可以發(fā)現(xiàn),在信噪比相同的任意情況下,本方案的組密鑰率是遠大于文獻[10]所提方案的.
此外,圖5表明,當(dāng)組內(nèi)僅有兩個用戶節(jié)點時,即n=2,本方案的組密鑰率與文獻[10]在星型拓撲結(jié)構(gòu)下所提方案的組密鑰率相等.這是由于當(dāng)組內(nèi)僅有兩個節(jié)點時,代表只需在雙方節(jié)點之間生成對密鑰,這種情況下無需在網(wǎng)絡(luò)中廣播信道信息,因此竊聽者在整個密鑰提取過程中很難竊聽到額外的任何信息,這就與本方案的想法相一致,故兩個方案之間的組密鑰率相等.
圖5 組密鑰率vs 信噪比
但是,觀察圖6可知,當(dāng)組內(nèi)節(jié)點個數(shù)大于2 時,本方案的組密鑰率遠遠大于文獻[10]分別在兩種拓撲結(jié)構(gòu)下所提的兩種方案.這是由于文獻[10]所提方案中噪聲方差隨組內(nèi)節(jié)點個數(shù)增加呈線性增長,換句話說,在通信過程中噪聲不斷累積最終導(dǎo)致信噪比下降,從而造成組密鑰率降低.而本文的方案由于最終生成的組密鑰與邏輯環(huán)路上兩兩相鄰的節(jié)點的共享對密鑰有關(guān),噪聲變化與組內(nèi)節(jié)點個數(shù)無關(guān),也就是說組密鑰率與節(jié)點個數(shù)之間無關(guān),因此圖6中本方案的組密鑰率曲線是平行于x軸.通常情況下組密鑰率與信噪比和組內(nèi)節(jié)點個數(shù)有關(guān).然而,根據(jù)上述分析可知,本方案的組密鑰率只與信噪比有關(guān),換句話說,我們方案的密鑰生成速率不會隨著組內(nèi)節(jié)點個數(shù)的增多而下降.而文獻[10]所提方案,其信道增益在組內(nèi)各個用戶節(jié)點之間傳遞時都會累積噪聲,造成一定的功率損失.這意味著,隨著網(wǎng)絡(luò)規(guī)模的擴大,我們方案可以減少由于噪聲累積而造成性能的下降,從整體上來說,可以減緩組密鑰率下降的速度.
圖6 組密鑰率vs 組內(nèi)節(jié)點個數(shù)
本文利用物理層無線信道特征提出了一種基于三節(jié)點的組密鑰生成方案.該方案首先選擇一個受信任的系統(tǒng)授權(quán)機構(gòu)為網(wǎng)絡(luò)中的用戶節(jié)點進行分組,使得組內(nèi)節(jié)點從邏輯上形成一個環(huán)路;然后網(wǎng)絡(luò)中節(jié)點用戶利用物理層無線信道特征提取短密鑰,并交換使用Schnorr 簽名后的信息,最后,待每個用戶節(jié)點接收到所有廣播消息之后,都對自己的鄰居節(jié)點進行身份驗證.若驗證成功,則為網(wǎng)絡(luò)中的節(jié)點建立一個組密鑰.仿真結(jié)果表明,該方案的組密鑰率與信噪比之間呈正相關(guān),有效提高了網(wǎng)絡(luò)中的組密鑰率,且組密鑰率不隨節(jié)點個數(shù)的增加而降低,具有很好的無線網(wǎng)絡(luò)適應(yīng)性.