杜文杰
(北京計(jì)算機(jī)技術(shù)及應(yīng)用研究所,北京 100854)
無(wú)線信道固有的開放性使得其中傳輸?shù)臄?shù)據(jù)可以被輕易獲取,因此保證無(wú)線網(wǎng)絡(luò)的通信安全至關(guān)重要.通信雙方實(shí)現(xiàn)密鑰生成是基本的安全需求.傳統(tǒng)的公鑰安全體制需要較高的計(jì)算能力且會(huì)消耗節(jié)點(diǎn)大量能量,這對(duì)某些無(wú)線網(wǎng)絡(luò)場(chǎng)景不適合,比如資源受限的傳感器網(wǎng)絡(luò).同時(shí),對(duì)于具有較高移動(dòng)性的網(wǎng)絡(luò),其本身可能缺少可信密鑰管理中心,而且節(jié)點(diǎn)的頻繁加入、退出,也使得公鑰密碼體制并不適合此類網(wǎng)絡(luò).另外,非對(duì)稱加密主要基于某些難解問題的計(jì)算復(fù)雜度確保密鑰的安全性,這類方案無(wú)法達(dá)到絕對(duì)安全.相比之下,最近提出的物理層密鑰生成方案理論上可以達(dá)到信息論安全級(jí)別[1].
物理層密鑰生成方案主要利用無(wú)線信道的物理層特性為無(wú)線節(jié)點(diǎn)生成密鑰[2].典型的物理層密鑰生成方案主要包括4個(gè)步驟:信道探測(cè)、量化、信息協(xié)調(diào)以及保密增強(qiáng).目前已提出的方案根據(jù)效率以及實(shí)現(xiàn)復(fù)雜度等需求分別使用不同的參量作為信道狀態(tài)實(shí)現(xiàn)密鑰生成.文獻(xiàn)[3]提出了Level Crossing方案,從接收信號(hào)強(qiáng)度(Received Signal Strength,RSS)以及信道沖擊響應(yīng)(Channel Impulse Response,CIR)中提取共享密鑰.Jana等[4]在LevelCrossing方案基礎(chǔ)上提出了自適應(yīng)的物理層密鑰生成ASBG方案,該方案同樣利用RSS實(shí)現(xiàn)密鑰生成.類似地,文獻(xiàn)[5-8]中均提出了利用RSS實(shí)現(xiàn)的物理層密鑰生成方案.利用RSS實(shí)現(xiàn)的物理層密鑰生成方案具有實(shí)現(xiàn)復(fù)雜度低,兼容現(xiàn)有設(shè)備等優(yōu)點(diǎn),然而,此類方案的密鑰生成效率較低.為了提高密鑰生成效率,文獻(xiàn)[9]提出了利用信道狀態(tài)信息(Channel State Information,CSI)實(shí)現(xiàn)密鑰生成.文獻(xiàn)[10-12]也提出了利用CSI為節(jié)點(diǎn)生成共享密鑰.除RSS和CSI外,文獻(xiàn)[13]提出了利用相位實(shí)現(xiàn)物理層群組密鑰生成方案,文獻(xiàn)[14]提出利用信道到達(dá)角度(Angle of Arrival,AoA)生成共享密鑰.根據(jù)現(xiàn)有方案分析,節(jié)點(diǎn)初始收集的原始信道狀態(tài)序列之間存在較多差異,從而造成誤碼率高而降低了最終密鑰生成的效率,因此,需對(duì)原始信道狀態(tài)進(jìn)行預(yù)處理,以保證密鑰生成的效率以及實(shí)際可用性.
本文提出一個(gè)基于接收信號(hào)強(qiáng)度實(shí)現(xiàn)物理層密鑰生成的方案.首先,提出了一個(gè)信道狀態(tài)評(píng)估機(jī)制,通過該評(píng)估機(jī)制可以確定收發(fā)節(jié)點(diǎn)在不同階段采集的信道狀態(tài)的變化程度以及適合用于密鑰生成的程度.在此基礎(chǔ)上,提出了一個(gè)自適應(yīng)量化方法.該量化過程根據(jù)前一階段的信道狀態(tài)評(píng)估結(jié)果自適應(yīng)調(diào)整量化參數(shù),確保生成的比特序列之間的誤碼率更低,從而提高了密鑰生成效率.基于所提出的信道評(píng)估機(jī)制以及量化方法,結(jié)合Cascade信息協(xié)調(diào)方案以及2階全域哈希函數(shù),最終實(shí)現(xiàn)的密鑰生成機(jī)制確保節(jié)點(diǎn)可以利用接收信號(hào)強(qiáng)度生成共享密鑰,保證了彼此之間的安全通信.
本文實(shí)驗(yàn)中的收發(fā)節(jié)點(diǎn)配置的網(wǎng)卡均不相同,即使用的是異構(gòu)設(shè)備,這更接近于現(xiàn)實(shí)中的場(chǎng)景.實(shí)驗(yàn)數(shù)據(jù)表明,相比于同構(gòu)設(shè)備,異構(gòu)設(shè)備由于制作工藝的差別,硬件性能的差別等,使得數(shù)據(jù)相差很多.但在實(shí)際應(yīng)用中,仍可以滿足網(wǎng)絡(luò)的需要,即在滿足條件的密鑰生成速率下生成具有符合條件的密鑰串.最后得出的密鑰串經(jīng)過NIST隨機(jī)性測(cè)試套件[15]的評(píng)估.
本文提出的方案主要用于實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)中兩個(gè)合法節(jié)點(diǎn)之間共享密鑰生成的場(chǎng)景,即配對(duì)密鑰生成(Pairwise Key Generation).場(chǎng)景中除了涉及合法節(jié)點(diǎn)之外,還考慮了監(jiān)聽節(jié)點(diǎn)的存在.在本場(chǎng)景中,監(jiān)聽節(jié)點(diǎn)不但可以一直監(jiān)聽合法節(jié)點(diǎn)的通信,還可以探測(cè)合法節(jié)點(diǎn)之間的信道.而且,監(jiān)聽節(jié)點(diǎn)還知道密鑰生成期間所涉及的所有算法以及相關(guān)參數(shù).為了保證密鑰生成過程的實(shí)現(xiàn)以及確??臻g去相關(guān)性成立,需要設(shè)定監(jiān)聽節(jié)點(diǎn)只能監(jiān)聽,不能持續(xù)地阻斷通信,也不可以距離合法節(jié)點(diǎn)太近.根據(jù)現(xiàn)有研究結(jié)果,監(jiān)聽節(jié)點(diǎn)和合法節(jié)點(diǎn)之間的距離不能少于半個(gè)波長(zhǎng).對(duì)于常見的2.412 GHz的信道來說,這個(gè)距離大約為6.25 cm.
圖1為本文工作所涉及的系統(tǒng)模型.
圖1 系統(tǒng)模型Fig.1 System model
對(duì)于該模型,可以用以下形式表達(dá).
1) 發(fā)起者向響應(yīng)者發(fā)起請(qǐng)求
rB(t)=sA(t)*h(t)+nAB(t),
(1)
式中:sA(t)和rB(t)分別為發(fā)起節(jié)點(diǎn)Alice的信道探測(cè)信號(hào)以及響應(yīng)節(jié)點(diǎn)Bob的接收信號(hào);h(t)為信道狀態(tài);nAB(t)為該通信過程的噪聲.
2) 類似地,響應(yīng)者在接收到探測(cè)信號(hào)后向發(fā)起者發(fā)起響應(yīng)
rA(t+τ)=sB(t+τ)*h(t+τ)+nBA(t+τ),
(2)
式中:τ為此次通信過程與通信過程(1)之間的時(shí)間間隔.
3) 監(jiān)聽者監(jiān)聽過程(1)
rBE(t)=sA(t)*hAE(t)+nAE(t).
(3)
4) 監(jiān)聽者監(jiān)聽過程(2)
rAE(t)=sB(t)*hBA(t)+nBE(t).
(4)
式(2)中的τ實(shí)際上是兩個(gè)節(jié)點(diǎn)探測(cè)信道的時(shí)間間隔,該間隔不能超過相干時(shí)間tc以保證兩個(gè)節(jié)點(diǎn)獲得信道狀態(tài)是相同或近似相同的.綜上,為保證物理層密鑰生成過程能夠在有監(jiān)聽者的情況下實(shí)現(xiàn),需滿足以下條件
(5)
式中:LAE和LBE分別為監(jiān)聽節(jié)點(diǎn)距離發(fā)起節(jié)點(diǎn)和響應(yīng)節(jié)點(diǎn)的距離;λ為波長(zhǎng).
為了確保無(wú)線節(jié)點(diǎn)在彼此連接之后能夠有效地實(shí)現(xiàn)密鑰生成,本方案共包含以下步驟:信道探測(cè),預(yù)處理,量化,信息協(xié)調(diào)以及保密增強(qiáng).圖2為本文提出的密鑰生成方案.
圖2 密鑰生成流程圖Fig.2 The flowchart of key generation
為了確保節(jié)點(diǎn)能夠高效地生成期望長(zhǎng)度的對(duì)偶密鑰,合法節(jié)點(diǎn)需要在方案初始階段短時(shí)間內(nèi)收集足夠的信道采樣.本方案中,發(fā)起者利用ICMP Ping程序向響應(yīng)者發(fā)送大量的探測(cè)包,響應(yīng)者在成功接收到每個(gè)探測(cè)包后立即回送響應(yīng).在探測(cè)階段,為了保證信道探測(cè)期間信道的變化,兩個(gè)節(jié)點(diǎn)中的一個(gè)節(jié)點(diǎn)位置固定,另一個(gè)節(jié)點(diǎn)圍繞該節(jié)點(diǎn)在1 m~15 m范圍內(nèi)移動(dòng).另外,在完成探測(cè)之后,雙方節(jié)點(diǎn)需要利用探測(cè)包的序號(hào)去除失效的數(shù)據(jù),即丟棄丟包時(shí)造成的數(shù)據(jù)不同步情況.
完成信道探測(cè)并實(shí)現(xiàn)數(shù)據(jù)同步之后,兩個(gè)節(jié)點(diǎn)需要對(duì)不同時(shí)間段內(nèi)收集的數(shù)據(jù)進(jìn)行評(píng)估,從而確定這些數(shù)據(jù)適合的量化過程.根據(jù)現(xiàn)有文獻(xiàn)研究,信道狀態(tài)變化大,所蘊(yùn)含的熵更高且信道狀態(tài)序列之間的相關(guān)性高,可以支撐更高水平的量化,從而生成更多比特位;反之,信道狀態(tài)變化小,所蘊(yùn)含的熵較低且信道狀態(tài)序列之間的相關(guān)性低,只能使用較低的量化水平.
根據(jù)上述結(jié)論,預(yù)處理階段使用標(biāo)準(zhǔn)差判斷信道變化,流程簡(jiǎn)述如下:
1) 發(fā)起者確定子序列大小并將其發(fā)送給響應(yīng)者;
2) 雙方節(jié)點(diǎn)將各自的序列劃分為指定大小的子序列,對(duì)于最后一個(gè)子序列,如果大小不滿足則丟棄該子序列;
3) 發(fā)起者統(tǒng)計(jì)每個(gè)子序列的標(biāo)準(zhǔn)差;
4) 發(fā)起者根據(jù)每個(gè)子序列的標(biāo)準(zhǔn)差確定該子序列的量化參數(shù)的值,對(duì)于標(biāo)準(zhǔn)差越小的子序列,量化參數(shù)的值越大;
5) 發(fā)起者將每個(gè)子序列的量化參數(shù)發(fā)送給響應(yīng)者.
根據(jù)信道探測(cè)階段的評(píng)估結(jié)果,發(fā)起者確定每個(gè)子序列的量化參數(shù),然后將這些參數(shù)發(fā)送給響應(yīng)者.量化階段的每個(gè)子序列對(duì)應(yīng)的閾值計(jì)算如下
(6)
根據(jù)計(jì)算出子序列的閾值,節(jié)點(diǎn)可以將滿足條件的信道采樣量化為0或1,不滿足條件的信道采樣則被丟棄,具體量化規(guī)則如下
(7)
在量化階段,發(fā)起節(jié)點(diǎn)和響應(yīng)節(jié)點(diǎn)會(huì)從各自的信道狀態(tài)序列去除部分不滿足條件的信道采樣,從而利用有效信道采樣提取比特序列.然而,實(shí)際環(huán)境中的各種干擾會(huì)造成信道狀態(tài)序列之間存在許多差異,使得由此獲得的兩個(gè)節(jié)點(diǎn)的比特序列之間會(huì)存在若干不匹配位;因此,節(jié)點(diǎn)需要在信息協(xié)調(diào)階段糾正所有不匹配位獲得公共比特序列.
文獻(xiàn)[16]中提出的交互式Cascade方案是一個(gè)高效的信息協(xié)調(diào)方案,當(dāng)需要處理的兩個(gè)序列原始不匹配率不高于15%時(shí),節(jié)點(diǎn)可以通過很少的交互糾正所有的不匹配位;然而,當(dāng)兩個(gè)序列原始不匹配率高于15%時(shí),整個(gè)糾錯(cuò)過程會(huì)泄漏過多的有效信息,從而提高攻擊者破解該公共比特序列的概率.因此,在執(zhí)行Cascade方案之前,節(jié)點(diǎn)需要先使用Distillation方案消除部分不匹配位,從而確保執(zhí)行Cascade方案時(shí)兩個(gè)序列的原始不匹配率低于15%.
根據(jù)文獻(xiàn)[4]分析,2~3輪Distillation方案可以將序列的不匹配率降低至10%以下.因此,本方案要求節(jié)點(diǎn)在信息協(xié)調(diào)階段先執(zhí)行3輪Distillation方案,然后使用Cascade方案獲得公共比特序列.
在信息協(xié)調(diào)階段,發(fā)起和響應(yīng)節(jié)點(diǎn)為了糾正比特序列之間的不匹配位,需要通過不安全的公共信道交換信息.如果這些信息暴露給攻擊者,可能極大地提高攻擊者破解密鑰的成功率.因此,收發(fā)節(jié)點(diǎn)最終需要實(shí)現(xiàn)保密增強(qiáng),從而去除泄漏信息帶來的影響.
全域哈希函數(shù)是一種常用的隨機(jī)數(shù)生成器.文獻(xiàn)[4]所提出的保密增強(qiáng)方案就是基于2階全域哈希函數(shù).保密增強(qiáng)期間的參數(shù)均勻發(fā)起節(jié)點(diǎn)確定并通過公共信道發(fā)送給響應(yīng)節(jié)點(diǎn),從而確保兩個(gè)節(jié)點(diǎn)利用相同的哈希函數(shù)處理信息協(xié)調(diào)階段獲得的公共比特序列.保密增強(qiáng)階段生成的比特序列就是兩個(gè)節(jié)點(diǎn)最終的共享密鑰.
為了驗(yàn)證所提出的方案,進(jìn)行了不同環(huán)境下的多組實(shí)驗(yàn).圖3為動(dòng)態(tài)環(huán)境下兩個(gè)實(shí)驗(yàn)獲得的信道數(shù)據(jù),由圖中收發(fā)節(jié)點(diǎn)的信道數(shù)據(jù)變化趨勢(shì)可以看出動(dòng)態(tài)場(chǎng)景下獲得信道狀態(tài)序列之間的相關(guān)性十分顯著.
圖 3(a)和圖 3(b)中的收發(fā)節(jié)點(diǎn)信道狀態(tài)序列之間的相關(guān)系數(shù)分別為0.783 9和0.713 6.相比于靜態(tài)場(chǎng)景,動(dòng)態(tài)場(chǎng)景更適合利用無(wú)線信道物理層特性為節(jié)點(diǎn)生成共享密鑰,因?yàn)榇祟悎?chǎng)景中收發(fā)節(jié)點(diǎn)的信道狀態(tài)不但具有更高的相關(guān)性,還具有更高的隨機(jī)性,從而確保生成的共享密鑰的私密性.
(a) 實(shí)驗(yàn)(1)
本節(jié)以動(dòng)態(tài)場(chǎng)景所獲的實(shí)驗(yàn)數(shù)據(jù)為例,通過以下參數(shù)評(píng)估本文所提出的方案.
1) 誤碼率.誤碼率表示收發(fā)節(jié)點(diǎn)收集的信道狀態(tài)量化之后獲得比特序列之間的不匹配位占整個(gè)比特序列的比例,此處所涉及的比特序列還未經(jīng)信息協(xié)調(diào)階段處理.
2) 密鑰生成率.該參數(shù)是指經(jīng)過保密增強(qiáng)處理后,節(jié)點(diǎn)生成的共享密鑰的長(zhǎng)度與信道探測(cè)階段收集的信道狀態(tài)序列長(zhǎng)度之間的比值.
3) 隨機(jī)性.隨機(jī)性用于表征密鑰被破解的難易程度.本文采用NIST推薦的隨機(jī)數(shù)測(cè)試套件完成,從中選擇8個(gè)測(cè)試程序?qū)蚕砻荑€的隨機(jī)性進(jìn)行評(píng)估.
圖4為對(duì)實(shí)驗(yàn)(2)數(shù)據(jù)采用不同量化過程后,收發(fā)節(jié)點(diǎn)生成的比特序列之間的誤碼率.
圖4 誤碼率Fig.4 Bit mismatch rate
圖4中l(wèi)evel表示量化期間所使用的量化參數(shù)的取值情況,level=1時(shí)表示所有子序列使用相同的量化參數(shù)α,此時(shí)本方案實(shí)際退化為文獻(xiàn)[4]所提的ASBG方案;level>1時(shí)表示量化期間共有l(wèi)evel個(gè)不同的量化參數(shù),此時(shí),所有子序列根據(jù)標(biāo)準(zhǔn)差大小被分為level個(gè)水平并降序排列.量化參數(shù)同樣按照降序分配給對(duì)應(yīng)量化水平的子序列.結(jié)果表明,使用多個(gè)不同量化參數(shù)的情況所生成的比特序列之間具有更低的誤碼率.另外,當(dāng)量化參數(shù)取值策略相同時(shí),子序列長(zhǎng)度越長(zhǎng),對(duì)應(yīng)的比特序列之間的誤碼率越低.
密鑰生成率主要受誤碼率及比特序列的熵影響.圖5為不同情況下收發(fā)節(jié)點(diǎn)利用實(shí)驗(yàn)(2)數(shù)據(jù)生成共享密鑰的密鑰生成率,圖中所示的參數(shù)level意義與圖4相同.結(jié)果表明,當(dāng)收發(fā)節(jié)點(diǎn)使用多個(gè)量化參數(shù)自適應(yīng)量化時(shí),節(jié)點(diǎn)共享密鑰的生成率更高.相比文獻(xiàn)[4]所提的ASBG方案,本方案具有更高的密鑰生成率.另外,由圖中可以發(fā)現(xiàn),當(dāng)量化參數(shù)的取值策略相同時(shí),子序列長(zhǎng)度越長(zhǎng),密鑰生成率越高.
圖5 密鑰生成率Fig.5 Key generation rate
NIST的隨機(jī)數(shù)測(cè)試套件共包含15個(gè)統(tǒng)計(jì)測(cè)試,本文從中選擇了8個(gè)測(cè)試對(duì)所生成的共享密鑰進(jìn)行隨機(jī)性評(píng)估,從而判斷這些密鑰是否可以用于實(shí)現(xiàn)保密通信.根據(jù)NIST官方建議,所有選用的測(cè)試的P值均設(shè)為0.01,若測(cè)試結(jié)果大于P值,則表明通過該測(cè)試.表1列出了對(duì)實(shí)驗(yàn)(2)數(shù)據(jù)利用本方案生成的共享密鑰通過NIST測(cè)試的結(jié)果.表中〈p,q〉表示子序列長(zhǎng)度為p,量化期間的量化參數(shù)分為q個(gè)水平.例如,〈40,1〉表示預(yù)處理階段節(jié)點(diǎn)將整個(gè)信道狀態(tài)序列劃分為多個(gè)長(zhǎng)度為40的子序列,量化期間對(duì)所有子序列使用相同的量化參數(shù)進(jìn)行量化的過程.另外,累加和測(cè)試(Cumulative sums)分為正反兩種測(cè)試.結(jié)果表明該密鑰通過了所有的測(cè)試,可以用于實(shí)現(xiàn)保密通信.
表1 密鑰隨機(jī)性評(píng)估結(jié)果Tab.1 Results of NIST randomness tests
本文提出的方案要求收發(fā)節(jié)點(diǎn)需要經(jīng)歷5個(gè)階段生成最終的共享密鑰.其中,密鑰的私密性由無(wú)線信道的互易性、空間去相關(guān)性以及信道探測(cè)期間的信道變化保證.也就是說,攻擊者如果不能距離合法節(jié)點(diǎn)非常近,就無(wú)法獲取與合法節(jié)點(diǎn)相關(guān)的信道狀態(tài),即生成共享密鑰的秘密源對(duì)于攻擊者是未知元素.因此,即使密鑰生成期間的所有算法及其對(duì)應(yīng)的參數(shù)都是已知的情況下,攻擊者也無(wú)法獲取通過信道狀態(tài)生成的密鑰.
物理層密鑰生成方案的性能顯著地受信道探測(cè)階段獲得的信道狀態(tài)的影響.鑒于此,根據(jù)在信道探測(cè)階段,不同時(shí)段獲得的信道狀態(tài)序列的變化程度不同,本文提出了一個(gè)使用自適應(yīng)量化過程的物理層密鑰生成方案.對(duì)于變化顯著的子序列,使用高水平量化過程,相應(yīng)地,變化不明顯的子序列則使用低水平量化過程.利用不同場(chǎng)景下獲得的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行評(píng)估,評(píng)估結(jié)果也表明本文提出的方案可以高效地為無(wú)線節(jié)點(diǎn)生成共享密鑰.