徐 明 范以萌 蔣昌俊
1(上海海事大學信息工程學院 上海 201306)2(同濟大學電子與信息工程學院 上海 201804)3(嵌入式系統與服務計算教育部重點實驗室(同濟大學)上海 201804)(mingxu@shmtu.edu.cn)
密鑰協商協議是密碼學基本原語之一,允許通信雙方在不安全網絡環境下協商出公共密鑰,為雙方的通信安全提供認證性、機密性和完整性保護[1].為了抵抗臨時秘密泄露,陳明[2]提出一種基于隱式認證技術的、具有強安全性和匿名性的兩方漫游認證密鑰協商方案.進一步,為了克服節點通信能力及計算能力所受的限制,張啟坤等人[3]提出一種簇間輕量級非對稱群組密鑰協商協議,為簇間節點建立安全高效的群組通信信道.然而,由于無線網絡信息傳播的特性及其固有的脆弱性,使得傳統的密鑰協商協議越來越容易遭受信息泄露、信息篡改、重放攻擊、拒絕服務等多種威脅,因此基于物理層的密鑰協商成為新的研究方向.與傳統的密鑰協商方案相比,物理層方案具有能耗低、計算復雜度低和安全性高等特點,被認為是替代傳統密鑰協商方案最有前途的“接力棒”[4].在終端直接通信(device-to-device,D2D)方面,Waqas等人[5]利用信任機制和博弈論理論設計了一種基于社會關系選擇最佳中繼對的算法,提高了D2D通信時密鑰生成的機密性.Li等人[6]提出了一種基于主成分分析(principal component analysis,PCA)預處理算法的密鑰協商協議,可以在寬帶噪聲信道中存在信道竊聽者的情況下建立高度安全的密鑰.
近年來,隨著各沿海國對開發海洋資源、維護國家海洋權益的日益重視,水聲傳感器網絡技術的理論研究及應用得到越來越多的關注.水聲傳感網絡主要由自主式水下潛器、遙控無人潛水器、潛艇以及各類潛浮標等構成.與陸地與空中無線通信網絡相比,由于水聲傳感器網絡以聲波為信息載體、以海水為傳播介質,因此其信號傳播環境要復雜得多[7].水聲信道是一個極為復雜的時變信道,通常會出現多徑效應和多普勒效應[8],增加了通信雙方數據傳輸的不確定性,降低了密鑰協商的成功率.此外,由于水聲信道的開放性和數據傳輸的高延遲、低速率等特性使得密鑰協商過程中信息泄露率增加.因此,如何在不安全的信道上直接進行密鑰協商就是一個值得研究的問題,而保密增強技術正好可以很好地解決這一問題.
保密增強是指通信雙方從部分保密的密鑰串中提取出高度保密的密鑰串,最早由Bennett等人[9-10]提出.近幾年,Khiabani等人[11]提出一種信息泄露率呈指數級衰減的保密增強方案來加快收斂速度;Tsurumaru 等人[12]提出利用改進的Toeplitz矩陣作為提取器來提高密鑰生成效率;此外,Hayashi等人[13]構建了一種只需更短隨機種子的提取器來降低在實際密碼系統中物理隨機數發生器的實現成本.但這些方案的成功率和密鑰泄露率在很大程度上依賴隨機種子的長度及其隨機性,并且對物理隨機數發生器的要求也很高.
通過上述分析可見,基于時變水聲信道的物理層密鑰生成方案需要進一步研究,因此本文設計了一種針對時變水聲信道中多徑多普勒效應的物理層密鑰生成方案.方案包含2個部分:密鑰協商和保密增強.與以往思路不同,本文方案通過刻畫傳輸信息在多徑多普勒效應下的不確定性,提出一種具有強安全性的密鑰協商協議,并利用雙線性映射設計出一種新的抗主動攻擊的保密增強協議,該協議不依賴隨機種子的長度與隨機性,因此更適用于高延遲、低速率的水聲信道環境.本文的主要貢獻包括4個方面:
1)傳統的α階Rényi熵無法準確刻畫時變水聲信道的不確定性,本文針對時變水聲信道的特性,給出了多徑多普勒效應下α階Rényi熵定義,并推導出系統模型中合法節點和敵手關于聲源序列的信息熵.
2)提出一種具有強安全性的密鑰協商協議,該協議利用Hash函數構造一元高階多項式完成通信雙方的身份認證,實現索引序列和預選密鑰在公開信道下的安全傳輸.
3)利用雙線性映射設計出一種不依賴隨機種子長度與隨機性并能抗主動攻擊的保密增強協議.
4)通過信息理論分析,得到本方案密鑰泄露率的上界和敵手主動攻擊成功率的上界,并通過仿真實驗,驗證了本方案的健壯性、保密性和正確性.

定義1.設α為隨機數,1<α≤2,則X的α階Rényi熵定義為
(1)
X的2階Rényi熵定義為
(2)
定義2.在隨機變量Y下,X的條件熵定義為
(3)
定義3.隨機變量X和Y的互信息定義為

(4)
定義4[17].設一個離散無記憶信道的輸入為X,輸出為Y,此離散無記憶信道的信道容量為

(5)

定義6[18].一個包含2個合法節點和1個敵手的密鑰協商系統模型包含2個階段:1)合法節點獲取公共信息;2)合法節點通過公共信道進行信息調和(reconciliation)生成公共密鑰串.
本節我們主要介紹系統模型,包括通信模型、敵手模型和水聲信道模型.
假設有一個廣播聲源信號的水面基站(surface station)S,水下有2個合法節點UA,UB和一個敵手Eve.節點UA和UB接收水面基站S信息的誤碼率比Eve高,并且在雙方通信會被Eve竊聽的情況下,節點UA和UB要從水面基站S接收到的信息中提取出高度保密的密鑰.通信模型如圖1所示:

Fig.1 Communication model diagram圖1 通信模型示意圖
對于認證消息的主動攻擊,通常存在2種敵手模型:
1)模仿攻擊模型.敵手試圖構造一個正確的認證消息.
2)替換攻擊模型.敵手觀察到一個正確的認證消息后試圖將其替換為另一個不同的但也是正確的認證消息.
由于信號收發端的相對運動以及海洋環境的不穩定性(如海面波浪運動和海中湍流等),因此水聲信道是一個復雜的時變信道[19],存在多徑效應和多普勒效應,而傳統的α階Rényi熵無法直接描繪出多徑多普勒效應下時變水聲信道的不確定性.
以水面基站S和節點UA為例,假設S和UA分別為通信的收發方,并且位于海底的平均深度為z(單位為m).在本文中,約定所有速度變量的單位為m/s,所有角度變量的單位為°.
由文獻[20]可知,溫度、鹽度、壓力都可以表示為與深度有關的函數.假設海底深度為z處的溫度函數為T(z),鹽度函數為S(z),壓力函數為P(z),則聲速函數可表示為
c(z)=c(T(z),S(z),P(z)).
(6)
假設S和UA的主動行進速度分別為vSv和vAv.運動方向與彼此連線的水平方向的夾角分別為θSv和θAv.第條本征聲線(eigenray)的入射角為θ,那么對于該本征聲線,S和UA的相對速度ΔvS可表示為
ΔvS=vSvcos (θ-θSv)-vAvcos (θ-θAv).
(7)
S和UA受海水運動,例如海洋暗流、內波等,會產生不自主的漂移運動(drifting).假設S和UA的漂移速度分別為vSd和vAd,漂移方向與彼此連線的水平方向的夾角分別為θSd和θAd,則對于第條本征聲線的相對漂移速度Δvd可表示為
Δvd=vSdcos (θ-θSd)-vAdcos (θ-θAd).
(8)
由于風浪的作用,考慮海面任一點隨波浪上下起伏,假設該點起伏的位移在時間上呈現正弦變化的規律,正弦振幅和頻率分別記為Aω和fω,其中Aω的單位為m,fω的單位為Hz,ω是該正弦量的角速度,單位為rad/s.把聲波沿第條本征聲線傳播的路徑上第λ-次經海面某點反射的隨機相位記為ψ~u[-π,π],則反射波在垂直方向的速度可表示為vωsin (ψ+2πfωt),其中vω=2πfωAω.將該速度投影到第條本征聲線路徑對所有海面反射過程求和,并假設該聲線經海面反射的次數為nr,可得到由水面垂直起伏造成的相對速度Δvr為
(9)

(10)
其中,A為第條路徑上綜合衰減因子,為第條路徑的多普勒尺度因子,t為當前時刻,單位為ms,τ為第條路徑上信號的相位延時,單位為ms.


假設相對速度Δvd和Δvr可以合成相對速度Δvrd,并且相對速度ΔvS和Δvrd的夾角為θ,根據式(7)~(9)可得式(10)所用到的水面基站S和UA的相對速度Δv為

(11)
相對速度示意圖如圖2所示:

Fig.2 Relative velocity diagram圖2 相對速度示意圖

(12)
其中,
如果信號為正則取1,如果信號為負則取0.而若想知道接收信號r(t)與發送信號s(t)的誤差概率,則需要比較時間[0,T]內,每個時刻的r(t)與s(t)的正負號是否一致的概率,現給出3種可能出現的不同形狀的r(t),分別設為r1(t),r2(t),r3(t),取t=t0時刻,當s(t0)>0時,r1(t0)>s(t0),0>r2(t0)>s(t0),r3(t0)<0,函數sr(t)的說明如圖3所示:

Fig.3 The explanation of the function sr(t)圖3 函數sr(t)說明圖
由圖3可知,當r(t)和s(t)同號時,sr(t)=|s(t)|;當r(t)和s(t)異號時,sr(t)=0,則函數sr(t)表示正確的信號波形.
定義8.假設水面基站S和UA分別為信號的發送節點和接收節點,Rd為基站發送的聲源信號s(t)相對應的數字信號,且Rd∈GF(2l)(GF(2l)表示階為2l的有限域,其中l為正整數),數字信號生成1位需要的時間為Δt,1<α≤2,Rd在水面基站S和UA之間多徑多普勒效應下的α階Rényi熵定義為
(13)
其中,
首先,水面基站S通過廣播信道發送聲源信號.由于時變水聲信道特性,合法節點和敵手都會對發送的數據信息產生不同程度的不確定性.合法節點利用Hash函數構造一元高階多項式進行身份認證和索引序列的協商,并根據索引序列從聲源信號中提取出預選密鑰.然后,將預選密鑰中值為1的位號隱藏在一元高階多項式中進行傳輸比對,最終生成具有強安全性的公共密鑰串.
假設水面基站S發送的信息為Z,Z∈GF(2N)(GF(2N)表示階為2N的有限域,其中N為正整數),UA的ID號為IDA,UB的ID號為IDB,且UA和UB知道彼此的ID號,但是Eve不知道.再假設UA和UB接收水面基站S信息的誤碼率分別為ε1,ε2.Eve接收水面基站S信息的誤碼率為ε3,且ε1>ε3,ε2>ε3.由定義8可知:

UA和UB隨機生成不同字符串A和B發送給對方,其中:
A=[A1,A2,…,A(1+ε1+ε2)l],
B=[B1,B2,…,B(1+ε1+ε2)l],
并且滿足1≤A1 h1(x)=(x-h(IDA‖A1))(x-h(IDA‖A2))… 其中,h1(x)和h2(x)均為一元高階多項式,x為變量.UA將h1(x)的展開式傳送給UB,UB接收到h1(x)后,先進行身份認證,計算h1(IDA)=0是否成立.如果不成立則說明此信息不是UA發送的,因此舍棄;如果成立,則再用自己生成的序列[B1,B2,…,B(1+ε1+ε2)l]和IDA代入h1(x),若h1(h(IDA‖Bj))=0,則保留Bj,否則刪除,最終剩下的Bj按照從小到大的順序排序得到序列WB;同理,UB將h2(x)的展開式傳送給UA,UA收到h2(x)后,先計算h2(IDB)=0是否成立,如果不成立則說明此信息不是UB發送的,因此舍棄;如果成立,則再用自己生成的序列[A1,A2,…,A(1+ε1+ε2)l]和IDB代入h2(x),若h2(h(IDB‖Ai))=0,則保留Ai,否則刪除,最終剩下的Ai按照從小到大的順序排序得到序列WA,則WA=WB為協商的索引序列.如果WA的長度小于(1+ε1+ε2)l,則重復上述步驟,并將新生成的相同Ai和Bj分別插入WA和WB中,直到WA的長度≥(1+ε1+ε2)l. UA和UB根據WA和WB從水面基站S接收的二進制串中分別取得預選密鑰MA和MB.假設MA和MB的長度為L位,且L≥(1+ε1+ε2)l. 1)如果UA和UB知道自己丟失的是聲源信號的哪些位,則說明他們也知道取到了聲源信號的哪些位,那么只要根據生成索引的方法將各自取到位的位置值生成函數傳送給對方,讓對方代入計算,便可得到相同的密鑰串. 2)如果UA和UB不知道自己丟失的是聲源信號的哪些位,則說明他們只能夠按照自己接收的數據的位來取得MA和MB,那么在這種情況下我們用下面的方法來得到相同的密鑰串: 同理,UA可以得到相同的R作為生成的密鑰串.由于索引序列和預選密鑰在公開信道下傳輸過程中,通過Hash函數構造一元高階多項式使得敵手即使可以得到其值,也無法解出Hash前的身份信息、索引序列和預選密鑰,因此該協議具有強安全性. 由于本方案假設敵手Eve接收基站信息的誤碼率低于合法節點,導致密鑰協商協議生成的密鑰串會有部分信息泄露,因此需要保密增強協議從部分保密的密鑰串中提取出高度保密的密鑰. 協議流程:首先將3.2節的密鑰協商協議生成的密鑰串分為2個部分,1)用作保密增強;2)作為隨機種子.然后,利用隨機種子生成一個循環加法群和對應的循環乘法群,并利用雙線性映射和全域Hash函數對用于保密增強的串進行點乘、倍乘以及配對操作,最終完成節點的身份認證和密鑰串的保密增強.圖4描繪了本方案中保密增強協議的流程圖. Fig.4 The flow chart of the privacy amplification protocol圖4 保密增強協議流程圖 3)UA進行UB的身份認證,檢查等式 (14) 是否成立.如果不成立,說明此消息不是由UB發送的;否則就計算: (15) 4)UB進行UA的身份認證,檢查等式 (16) 是否成立.如果不成立,說明此消息不是由UA發送的;否則就計算: (17) 5)UA和UB最終得到保密增強后的密鑰是: (18) 式(14)~(17)正確性證明: 證明. 證畢. 式(18)的正確性證明: 證明. 證畢. (19) (20) (21) 證畢. 定理2.假設Eve可以正確得到R為事件E1,則: (22) (23) 最后,根據式(21)可得: (24) 證畢. 證明.由于R和Z同分布,根據定義8可知: (25) 因此,由式(3)和式(24)可得: (26) 證畢. (27) 定理4.假設Eve知道關于R的信息為V,v1和v2表示Eve對R1和R2分別所知道的信息量,假設事件E2表示Eve驗證成功,則: 其中, 證明. 由于R1和R2相互獨立,可得: 根據式(27),可得: (28) 根據定義8,可得: 證畢. 定理5.假設Eve知道關于R的信息為V,v1和v2表示Eve對R1和R2分別所知道的信息量,則在模仿攻擊時, 在替換攻擊時, 證明.Eve作為一個主動攻擊敵手,試圖冒充UA與UB生成密鑰. 由式(2)和式(27)可得: 以及 (30) 根據式(30)可得: (31) 根據定義8可得: (32) 再根據式(27)可得: (33) 因此, (34) (35) 根據定義8和引理2可得: (36) 證畢. (37) 根據式(33)可得: (38) 證畢. 實驗所采用的工具為MATLAB R2014b,參數的默認值如表1所示: Table 1 Default Values of Parameters表1 參數的默認值 Fig.5 Eve’s varying information entropy about R圖5 Eve關于R信息熵的變化 Fig.6 The relationship between l and α圖6 l與α的關系圖 Table 2 The Relationship Between m and l表2 m和l的關系 Fig.7 The relationship of σ,l and v圖7 σ與l和v的關系 圖8給出了當l/N=0.8時,密鑰泄露率?隨α和v的取值變化情況.從圖8中可以看出當α∈(1,2]時,?與α成反比關系,即α值越大,?值越小.此外,?與v成正比關系,即v的長度越長,?值越大.在圖8中v∈(1,1.2)區間,可以看到一個明顯的折痕.形成折痕的主要原因是本文假設合法節點從基站接收信息的誤碼率比竊聽節點的誤碼率更高,在折痕的右邊是滿足本文假設的情況,而折痕左邊是不滿足本文假設的情況.根據最終得到的數據,可以看出在滿足本文假設的情況下,密鑰泄露率?的上界為3.74×10-6. Fig.8 The relationship of ?,α and ν圖8 ?與α和ν的關系 多徑效應和多普勒效應是影響信息在時變水聲信道傳輸健壯性和安全性的重要因素.本文針對信息在傳輸過程中因多徑多普勒效應而產生的不確定性和時變水聲信道下防主動攻擊的密鑰生成問題,提出了一種新的物理層密鑰生成方案.該方案首先刻畫針對時變水聲信道特性的α階Rényi熵,提取出該信道下數據傳輸的不確定性;再通過一種基于Hash函數構造一元高階多項式的密鑰協商協議,以強安全性在公開信道下傳輸索引序列和預選密鑰;然后通過一種基于雙線性映射的抗主動攻擊保密增強協議,降低密鑰的泄露率;最后對方案的健壯性、保密性和正確性進行了詳細分析,并通過仿真實驗對最終的密鑰泄露率和主動攻擊成功率進行了量化.實驗表明:當N=50 000時,最終的密鑰泄露率上界為3.74×10-6,敵手主動攻擊成功率的上界為5.468×10-20.未來的工作包括考慮多節點情況下公共密鑰的生成問題.
(x-h(IDA‖A(1+ε1+ε2)l))(x-h(IDA)),
h2(x)=(x-h(IDB‖B1))(x-h(IDB‖B2))…
(x-h(IDB‖B(1+ε1+ε2)l))(x-h(IDB)),

3.3 保密增強協議












4 分析與實驗
4.1 正確性證明
4.2 安全性證明




































4.3 實 驗







5 總 結