李旭如
(上海海事大學信息工程學院,上海 201306)
在無線傳感器網絡中,利用公鑰密鑰體制為節(jié)點進行密鑰分配的缺點是需要消耗大量的計算資源。這對與原本就能量有限、計算資源匱乏的傳感器節(jié)點來說是一個很大的負擔[1-2]。但是在Maurer提出用兩個相關的隨機源進行密鑰提取[3]后,出現了大量的運用無線信道的物理層特性作為隨機密鑰源提取密鑰的研究[4-10]。傳統(tǒng)的基于無噪聲信道的密鑰提取方案中,提取的密鑰不能夠反復使用,否則會增加敵手攻擊成功的概率[4]。Wyner首次實現在竊聽信道下利用噪聲進行了合法用戶間的無密鑰傳輸[11]后,利用信道噪聲干擾實現無線網絡安全傳輸的研究開始涌現。由于隨機源的提取依賴于節(jié)點的移動性,上述的密鑰提取方法在節(jié)點靜止狀態(tài)下很難保證能夠提取到有效的隨機源[12]。加之一些密鑰提取算法不能很好地應用于無線傳感器網絡傳輸,另外多數密鑰協(xié)商協(xié)議無法保證較高的密鑰轉化率[13-15]。因此文獻[13]提出了一種基于人工干擾的無線網絡物理層密鑰協(xié)商協(xié)議。該協(xié)議利用“協(xié)助節(jié)點”策略性的產生干擾來增加信道測量值的隨機性,在提升密鑰效率的同時有效地解決了傳統(tǒng)物理層密鑰協(xié)商協(xié)議對節(jié)點移動性依賴較大的問題。但是該協(xié)議只考慮到一對一的密鑰協(xié)商過程,對于多方的密鑰協(xié)商問題沒有給出具體的解決方案和分析。
本文在文獻[13]的基礎上,分析了一個網絡區(qū)域內的多方密鑰協(xié)商問題,將一對一的密鑰協(xié)商協(xié)議推廣到了多方的密鑰協(xié)商,給出了一個多方密鑰協(xié)商方案。該方案使得區(qū)域內的節(jié)點可以利用統(tǒng)一的對稱密鑰直接通信,減少消息的轉發(fā)次數。并且繼承了文獻[13]高密鑰率和不依賴節(jié)點移動性的特點。
根據文獻[13]中提出在噪聲信道下利用干擾實現兩個節(jié)點之間的密鑰協(xié)商方案,將密鑰協(xié)商的范圍擴大至三個或三個以上節(jié)點。假設在一個網絡區(qū)域內分布者若干個傳感器節(jié)點,如圖1所示,用R表示敵手(Adversary1-2)的通信半徑,r表示合法節(jié)點(Node1-10)的通信半徑。多方密鑰協(xié)商協(xié)議的目的是為某個特定的網絡區(qū)域Area內所有節(jié)點分配“統(tǒng)一”的密鑰,使得節(jié)點兩兩之間可以直接進行消息傳輸。
但是,一般情況下該區(qū)域Area內的所有節(jié)點往往并不能兩兩之間實現直接通信。例如圖1中所示的10個節(jié)點(Node1-10),其中,Node1、Node2和Node3互相不在其他兩個節(jié)點的通訊范圍之內,必須要經過Node9和Node10的轉發(fā)才能完成三者之間的通信。也就是說,在如圖1所示的系統(tǒng)模型中,“統(tǒng)一”所有節(jié)點之間的密鑰是沒有必要的。由于Node1、Node2和Node3之間互相不能實現直接通信,因此這三者之間使用相同的密鑰并沒有實質性的意義。以圖1中所示的節(jié)點為例,只需統(tǒng)一Area1={Node1,Node5,Node6,Node7,Node8,Node10},Area2={Node3,Node9,Node10},Area3={Node2,Node9}以及 Area4={Node4,Node6}這四個子區(qū)域內的密鑰即可。綜上所述,可以將區(qū)域內的多方密鑰協(xié)商問題劃分為幾個子區(qū)域間的密鑰協(xié)商問題。其中,子區(qū)域劃分的依據是:(1)子區(qū)域的大小等于一個合法節(jié)點的通信范圍;(2)子區(qū)域之間可以重疊,但是子區(qū)域之和必須大于等于原區(qū)域,也就是說,子區(qū)域的劃分必須包含區(qū)域內的所有合法節(jié)點。
區(qū)域內可能存在若干個敵手節(jié)點(Adversary),但是敵手節(jié)點在區(qū)域內的分布密度未知。由于敵手節(jié)點的存在,因此在圖1所示的系統(tǒng)模型中,合法節(jié)點之間密鑰協(xié)商過程中進行信息交互時,采用圖2所示的“竊聽信道模型”[11]進行通信。
圖1 多方密鑰協(xié)商系統(tǒng)模型
圖2 竊聽信道模型
合法節(jié)點Alice和Carol之間進行信息交互,Eve是系統(tǒng)中的敵手節(jié)點。Alice和Carol之間存在一條離散無記憶信道(DMC),記為W1:X→Y ;Alice和 Carol進行信息傳輸時,Eve可以通過竊聽手段獲取W1信道上的某些信息,記為W2:X→Z。將(W1,W2)稱為“竊聽信道模型”。其中W1被稱為“主信道”,W2被稱為“竊聽信道”[11]。當Alice向Carol發(fā)送信息(或碼字)X時,Carol接收到信息(或碼字)Y的概率服從P(Y|X),Eve監(jiān)聽到信道上的信息(或碼字)Z的概率服從P(Z|Y)。
在多方的密鑰協(xié)商系統(tǒng)中,我們假設敵手節(jié)點具有如下特性[13]:
(1)敵手節(jié)點具有無限的計算能力;
(2)敵手節(jié)點之間有專門的消息傳輸信道,并且傳輸速率較快;
(3)敵手節(jié)點可以竊聽網絡中的所有通信過程,并且可以實時測量它與其他節(jié)點之間的信道參數;但是敵手節(jié)點無法測量兩個合法節(jié)點之間的信道參數;
(4)敵手節(jié)點已知密鑰協(xié)商協(xié)議的具體過程。
文獻[13]給出了基于干擾的物理層密鑰協(xié)商方案,其基本思想是:通過協(xié)助節(jié)點策略性的產生人工干擾,更好地保證測量到的信道參數的隨機性,從中提取熵值更高的密鑰串。
將信道參數(Channel State Information,CSI)[13]作為隨機源進行密鑰提取的方案利用了無線信道的自反性。考慮Alice和Carol在一個相干時間內進行若干次信道參數的采樣,每次采樣Alice和Carol分別給對方發(fā)送一個探測信號,記為sA和sC。Alice和Carol接收到探測信號后,記錄下每次收到的探測信號強度,將其表示為 YA→C=hACsC+NC;YC→A=hCAsA+NA。重復進行若干次采樣之后得到兩個序列 Y→C→A,Y→C→A。在傳統(tǒng)的基于物理層的密鑰協(xié)商協(xié)議中,可以按照式(1)分別計算信道的測量值:Y?A和 Y?C。令:
其中HCA和HAC分別表示Alice和Carol處測得的信道增益(理論上 HCA=HAC),N→A和 N→C是每次采樣時Alice和Carol處產生的噪聲組成的序列,s→C和s→A是每次采樣時發(fā)送的信號組成的序列[13]。根據無線信道的自反性,Alice和Carol處測量到的信道參數是相等的。所以將若干個信道容量的測量值(Y?A,Y?C)組成的序列作為Alice和Carol之間的對稱密鑰是可行的。與此同時,敵手節(jié)點Eve只能竊聽到來自信道的消息,無法直接測量Alice和Carol之間的信道容量。
相關的理論工作證明,噪聲信道下的密鑰協(xié)商協(xié)議有著較高的密鑰熵和密鑰率。同時文獻[13]證明,利用協(xié)助節(jié)點的產生人工干擾信號,可以有效地改善噪聲信道下物理層的密鑰協(xié)商協(xié)議對節(jié)點靜止場景不敏感的情況。圖3(a)中顯示了文獻[13]中基于人工干擾的物理層密鑰協(xié)商協(xié)議:Alice和Carol之間要進行密鑰協(xié)商,提取出一個對稱密鑰。Bob是一個協(xié)助節(jié)點(從理論上說,Bob可以是一個合法節(jié)點,也可以是一個敵對節(jié)點)。Eve是竊聽信道上的敵手節(jié)點。密鑰協(xié)商的步驟是Alice和Carol在信息交互后按照上述方法測量信道參數;隨后Carol和Bob之間在干擾信號發(fā)送之后按照同樣的方式測量信道參數。協(xié)議假設Alice和Bob之間存在一條“安全信道”,他們可以通過該安全信道進行“安全信息”的交互從而使得Alice方可以恢復有關Bob和Carol之間信道參數的信息。這樣做保證了Alice和Carol同時擁有兩個信道參數作為“隨機源”進行密鑰提取。而敵手節(jié)點Eve不可能直接測量到這兩個信道參數,從而保證了安全性。
為了將文獻[13]中針對通信雙方的密鑰協(xié)商方案擴展至多方,首先考慮一個三方的密鑰協(xié)商情景,如圖3(b)所示:Alice、Carol以及 David 之間要進行密鑰協(xié)商,Bob是協(xié)助節(jié)點,Eve是敵手節(jié)點。密鑰協(xié)商的過程可以描述如下:
Step1在t1時刻,Alice向Carol和David發(fā)送一個探測信號=(1,1,…,1),Carol和 David 處記錄收到的信號如式(2)所示:
Step2在t2時刻,Bob向Carol和David發(fā)送一個探測信號=(1,1,…,1),Carol和 David 處記錄收到的信號如式(3)所示:
Step3在t3時刻,Carol向Alice和Bob發(fā)送一個探測信號=(1,1,…,1),Alice和Bob處記錄收到的信號如式(4)所示:
Step4在t4時刻,David向Alice和Bob發(fā)送一個探測信號s→()
1=(1,1,…,1),Alice和Bob處記錄收到的信號如式(5)所示:
Step5在t5時刻,Alice向Carol和David發(fā)送一個探測信號 λ,同時Bob發(fā)送干擾信號 λB→s(1)。Carol和David處記錄收到的信號如式(6)所示:
Step6重復上述步驟若干次,可以將Alice,Bob,Car-
圖3 密鑰協(xié)商方案
Step10根據這兩對隨機源可以在Alice和Carol,Alice和David之間分別產生一個對稱密鑰,記為KeyAC和KeyAD。Carol和David利用Alice作為中間節(jié)點,使用對稱密鑰KeyAC和KeyAD交換隨機源和David處采用隨機源經歷比特提取、信息調和以及隱私放大三個步驟得到一個Alice、Carol和David三方統(tǒng)一的對稱密鑰KeyACD。
上述 Step1-11中,nA[ti],nB[ti],nC[ti],nD[ti]分別表示時刻ti是Alice、Bob、Carol和David處的白高斯噪聲。λA和λB是服從高斯分布[13]。整個密鑰協(xié)商過程Eve處采集到的信號可以表示為:
其中L表示Step 9中重復步驟的次數。
將一對一的物理層密鑰協(xié)商方案擴展到三方密鑰協(xié)商方案的基本思想是:首先選取一個主導節(jié)點Alice,要求主導節(jié)點Alice和協(xié)助節(jié)點Bob之間需要有一條安全信道。首先運用文獻[13]中基于協(xié)助節(jié)點Bob的人工干擾的方案,分別建立主導節(jié)點Alice與Carol和David之間的安全信道。Carol和David利用安全信道進行信息補償。最后利用無線信道自反性的特點進行密鑰協(xié)商。
考慮將2.1節(jié)中的三方密鑰協(xié)商方案作為原型,將子區(qū)域中需要進行密鑰協(xié)商的節(jié)點組織成一個二叉樹,如圖4所示。圖4中每三個節(jié)點之間可以組成一個三方密鑰協(xié)商模型,考慮運用遞歸的思想驚醒子區(qū)域內的多方密鑰協(xié)商的基本思路是:首先利用協(xié)助節(jié)點Bob實現Alice、Carol和David三者之間的密鑰協(xié)商,同理實現Node1、Node2和Node5之間的三方密鑰協(xié)商。在實現了Node6、Alice和Node5之間的密鑰協(xié)商后,Alice和Node5將“隨機源信息”傳達至Carol,David,Node1以及Node2,即可實現7個節(jié)點間的密鑰“統(tǒng)一”。
需要注意的是,圖4所示的協(xié)助節(jié)點也是子區(qū)域中的點,它們在邏輯上并不是孤立的。協(xié)助節(jié)點同樣需要參與密鑰協(xié)商過程(除非該節(jié)點不是合法節(jié)點)。某個三方密鑰協(xié)商過程中擔任協(xié)助角色的節(jié)點,也可能在另一個三方密鑰協(xié)商過程中參與密鑰協(xié)商。如圖4所示不同的三方密鑰協(xié)會三個過程中的協(xié)助節(jié)點可能是同一個節(jié)點,也可能是不同的節(jié)點。
定理1[13]在一對一的密鑰協(xié)商方案中,如果信道增益HAC,HBC,白高斯噪聲NA,NB,NC均服從均值為0,方差為1的高斯分布。并且信道增益是獨立同分布的,那么在采樣次數足夠大的情況下,最大密鑰率滿足:
圖4 多方密鑰協(xié)商方案
其中Tc是一個相干時間,a是Alice和Bob的平均功率。進一步地,文獻[13]的協(xié)議是物理層安全的。
關于定理1的正確性文獻[13]中已經給出證明過程,這里不再贅述。根據定理1可知,本文給出的多方密鑰協(xié)商方案中,每當一個主導節(jié)點(Alice)與一個合法節(jié)點(Carol等)完成一次密鑰協(xié)商后,產生的用于建立安全信道的密鑰(KeyAD等)的密鑰率均滿足式(16)。也就是說,本文方案的Step1-10是物理層安全的。對于Step11,由于采用了滿足式(16)的密鑰建立安全信道,可以認為其也是物理層安全的。綜上所述,本文提出的基于人工干擾的無線傳感器網絡物理層多方密鑰協(xié)商方案滿足高密鑰率的特點,且對節(jié)點的移動性無依賴,該方案是物理層安全的。
本文提出的基于人工干擾的無限傳感器網絡物理層密鑰協(xié)商協(xié)議,對現有的一對一的密鑰協(xié)商協(xié)議做了一個區(qū)域性的推廣,給出了在一個網絡區(qū)域內進行多方密鑰協(xié)商的具體實施方案。該方案為某節(jié)點通訊范圍內的所有節(jié)點產生同一對稱密鑰,使得節(jié)點兩兩之間可以直接通信,減少了消息轉發(fā)的次數。同時分析表明該方案具有密鑰率高、對節(jié)點移動性無依賴的特點。