徐明,陳芳
(1. 上海海事大學信息工程學院,上海 201306;2. 同濟大學電子與信息工程學院,上海 201804)
隨著信息技術的發(fā)展和海洋環(huán)境的開發(fā)利用,海洋信息通信變得越來越重要。目前,海洋信息在水下主要利用聲波進行通信[1]。由于水聲信道的開放性和海洋環(huán)境的多變性,導致海洋信息通信面臨各種安全和攻擊問題[1-2],并且,在復雜多變的海洋環(huán)境下,各種噪聲的干擾會對信息傳輸產生很大的影響[3]。按照發(fā)聲機理可以將海洋環(huán)境噪聲的聲源分為以下4類:海洋動力噪聲、海洋生物噪聲、人為噪聲和海洋熱噪聲[4]。噪聲的不確定性給海洋信息的傳輸帶來了嚴重干擾。如何在水下噪聲不確定的情況下對傳輸的信息進行保密通信,保證信息的完整性、保密性與頑健性已經成為海洋信息安全技術面臨的重大挑戰(zhàn)。
針對海洋信息的保密通信問題,本文在保證安全性的前提下,基于二元對稱通信信道中水下噪聲的不可預測性,引入哥德爾編碼[5],提出了基于哥德爾編碼的交互式密鑰提取協(xié)議來進行密鑰協(xié)商和認證提取。同時,為了提高保密增強[6-7]的存儲效率,將r-循環(huán)Toeplitz矩陣[8-9]應用于保密增強中,提出了一個基于r-循環(huán)Toeplitz矩陣的保密增強協(xié)議,使矩陣存儲空間比傳統(tǒng)的Toeplitz矩陣存儲空間大大減小,由此形成了一個基于水下噪聲信道不確定性的保密通信方案,使敵手無法獲得足夠的信息來計算密鑰,保證了方案的安全性和可靠性。
哥德爾編碼是哥德爾在證明哥德爾不完備定理[5]中引入的,基于質數分解原理,將序列與自然數之間建立起一一對應的關系。給定一個有窮序列則把這種編碼方式稱為哥德爾編碼,y稱為序列所對應的哥德爾數,其中,pi表示從小到大排列的第i個不同的質數。
保密增強最初由Bennett[6]提出,并在文獻[10]中得到進一步推廣。保密增強是指合法的通信雙方A和B共享一個部分保密串S,并且敵手Eve知道關于S部分信息的情況下,通過全域散列函數[11-13],使A和B得到一個幾乎完全保密的密鑰串S',而敵手Eve所知道的關于S'的信息量呈指數級減少。
定義1[14]假設A和B共享一個Nbit密鑰串S,隨機變量V表示包含Eve所知道的關于S的所有信息。對于任意的α=2或α=∞,都有子集集合。設l是任意一個正整數,ε、δ>0,則在非認證信道上存在一個保密增強協(xié)議滿足以下性質。
1) 正確性和保密性。令敵手Eve在被動攻擊只能進行竊聽的情況下,接受特定值V=v滿足A和B在協(xié)議的最后得到一個lbit密鑰串S'使并且有l(wèi)-ε成立,其中,C表示信道上的交換信息。在這種情況下,認為保密增強是成功的。
全域散列函數是實現(xiàn)保密增強的一個重要工具,定義如下[13]。設函數其中,g是從服從均勻分布的G中隨機選取的函數,分別表示集合X和集合Y所含元素的數量,對的概率不超過即
用于實現(xiàn)保密增強的全域散列函數有3種,分別是模算術[15]、有限域乘法[10]和Toeplitz矩陣[15-16]。Toeplitz矩陣由于具有良好的存儲性能,使用最為廣泛。
一般的s×n階的 Toeplitz矩陣,滿足其中,即矩陣上每條自左上至右下的斜線上的元素相同。Toeplitz矩陣的具體表示形式為
r-循環(huán)Toeplitz矩陣可表示為
當r= 1時,為循環(huán)Toeplitz矩陣;當r= -1時,為斜循環(huán)Toeplitz矩陣;當r= 0時,為上三角Toeplitz矩陣[8]。
基于哥德爾編碼的交互式密鑰提取協(xié)議包含密鑰協(xié)商和認證提取兩部分。在有限域 GF(q)中選取q個元素,其中q為素數。節(jié)點A和節(jié)點B分別提前選取Q1、Q2作為標志。其中,Q1、Q2∈GF(q),,并且Q作為節(jié)點A和節(jié)點B的秘密數?;诟绲聽柧幋a的交互式密鑰協(xié)商如圖1所示。
下面,詳細描述圖1中基于哥德爾編碼的交互式密鑰協(xié)商協(xié)議。
首先,節(jié)點A和節(jié)點B在二元對稱信道上分別同時獲得nbit密鑰串并將各自獲得密鑰串中的相鄰兩位進行異或操作,而且后面的相鄰兩位不能與前面相鄰的任一位重疊。將異或后的所有結果分別組成密鑰序列然后分別計算哥德爾數 GeA和GeB,節(jié)點B將計算好的GeB發(fā)送給節(jié)點A。為了驗證傳過來的GeB是否正確,通過只有節(jié)點A和節(jié)點B所知道的秘密數Q來計算GA=Q×GeB,GB=Q×GeB,將GA發(fā)送給節(jié)點B,若GA=GB,則向節(jié)點A發(fā)送一個反饋信息“Yes”,如果GeA≠GeB,則發(fā)送密鑰序列ZA,否則停止。節(jié)點B比較zi與若zi≠zi',則記錄對應的下標組成一個集合I,并將I發(fā)送給節(jié)點A,這樣節(jié)點A就知道異或結果不同的位,并且節(jié)點A和節(jié)點B都將異或結果不同的位置為1,使雙方的比特串盡可能相同。
圖1 基于哥德爾編碼的交互式密鑰協(xié)商
重復上述密鑰協(xié)商協(xié)議t次,分別獲得ntbit的密鑰串SA和SB。此時,SA和SB仍然會小概率不同,因此需要對密鑰協(xié)商后的公共串進行認證并提取出完全一致的安全密鑰。
3.2.1 敵手模型與攻擊方式
本文討論中的敵手模型滿足以下條件:
1) 敵手擁有無限的計算能力;
2) 敵手的竊聽信道不限制為衰落信道;
3) 信道為二進制對稱信道,合法通信雙方的誤比特率為λ,敵手竊聽信道的誤比特率為θ,敵手預估信息的錯誤比特率為θ′。
本文主要討論以下2種攻擊方式。
圖2 基于哥德爾編碼的交互式密鑰認證提取
1) 替換攻擊。敵手從自己擁有的校驗塊集合中隨機選取一個校驗塊,不經過任何糾錯直接發(fā)送給節(jié)點B。
2) 模仿攻擊。敵手從校驗塊集合中隨機選取一個校驗塊,然后根據自己預估信息的錯誤比特率θ′對所選取的校驗塊隨機糾錯。由于敵手不知道錯誤比特的具體位置,所以糾錯具有隨機性和概率性。執(zhí)行基于哥德爾編碼的交互式密鑰協(xié)商協(xié)議t次,共有t個校驗塊。在基于哥德爾編碼的交互式密鑰提取協(xié)議中,敵手每次竊聽到節(jié)點A發(fā)送給節(jié)點B的校驗塊Z,與自己所掌握的校驗塊Z′相比。設每次找到的錯誤比特個數為ei,經過多次竊聽,總共竊聽了 num個校驗塊,則
3.2.2 安全性分析與證明
所以,有
證畢。
當敵手有自己的密鑰串zi′時,與節(jié)點 A 傳輸的密鑰串相比相對應的兩位的不確定性可由定理2估計。
證明 設隨機變量有以下3種情況:1) 當A和B發(fā)送的校驗位不等時,即zi≠zi′,此時敵手知道當A和B發(fā)送的校驗位相等時,即zi=zi′ ,若敵手所竊聽到的校驗位當節(jié)點A和節(jié)點B發(fā)送的校驗位相等時,即zi=zi′,若敵手所竊聽到的校驗位
敵手接收到x2i-1x2i= 1 0的概率為
敵手接收到x2i-1x2i= 0 1的概率為
對于情況3),敵手接受的只有00或11,此時敵手接收到的x2i-1x2i只有一位是正確的,所以
敵手接收到x2i-1x2i= 0 0的概率為
敵手接收到x2i-1x2i= 1 1的概率為
用 Rényi熵[17]表示信息的不確定性,如式(9)~式(11)所示。
綜上所述,可得
由此可得,敵手對ntbit密鑰串的不確定度為
證畢。
3.3.1 認證性
基于哥德爾編碼的交互式密鑰認證提取協(xié)議通過標識符是否相等來認證信道是否安全,通過散列函數來認證節(jié)點A和節(jié)點B進行t次密鑰協(xié)商后所獲得的公共串是否一致,并提取出完全一致的高度保密密鑰串K。
3.3.2 高效性
基于哥德爾編碼的交互式密鑰協(xié)商協(xié)議通過哥德爾數是否一致來判斷是否需要發(fā)送密鑰序列ZA。由哥德爾編碼的性質可知,如果通信雙方的計算結果GeA=GeB,則說明不需要發(fā)送密鑰序列的情況下才需要發(fā)送密鑰序列ZA進行比較,因此可以減少密鑰序列的比較次數,降低通信開銷,提高通信效率。此外,由模運算的運算規(guī)則[18-19]可知
在計算GeA、GeB時,通過提前使用模運算,可以降低指數運算帶來的數據存儲空間問題。在密鑰認證提取過程中,通過引入Q的模運算,可以提高指數的運算效率。另外,本文所有的計算都基于二元對稱信道。因此,所有非二進制結果都要進行取模運算。
本文在密鑰協(xié)商協(xié)議中沒有檢查密鑰串SA和SB是否相同,而是在密鑰認證提取協(xié)議中,通過收集t個這樣的密鑰串后再進行認證,并利用散列函數完成密鑰串是否相同的檢查,減少了認證次數,進一步提高了通信效率。
設N是執(zhí)行圖2中的完整協(xié)議直到建立密鑰串K為止的次數。定理3給出了N'的期望值,進一步證明了該協(xié)議的高效性。
定理3 設N'是執(zhí)行次數的隨機變量,直到節(jié)點A和節(jié)點B建立長度為ntbit的公共密鑰串,則N'的期望值是
證明 設合法通信雙方的誤比特率為λ,敵手竊聽信道的誤比特率為θ。1Ω表示節(jié)點B能正確接收到節(jié)點 A發(fā)送密鑰序列的事件,2Ω表示節(jié)點A和節(jié)點B得到的ntbit密鑰串相同的事件。
在圖1中的密鑰協(xié)商協(xié)議中有
第t次密鑰協(xié)商協(xié)議中節(jié)點A和節(jié)點B的校驗位相同的個數為其節(jié)點A和節(jié)點B的nbit密鑰串相同的概率為
所以,t次基于哥德爾編碼的交互式密鑰協(xié)商協(xié)議執(zhí)行完成后,節(jié)點A和節(jié)點B得到的ntbit密鑰串相同的概率為
令
則
證畢。
由 3.2.1節(jié)可知,合法通信雙方的誤比特率為λ,敵手竊聽信道的誤比特率為θ,正確竊聽到密鑰序列的概率為當執(zhí)行完協(xié)議N′次后,被敵手可能竊聽到的概率為當執(zhí)行完協(xié)議N′次建立密鑰串K時,節(jié)點A和節(jié)點B的通信信道相當于無噪聲信道,因為執(zhí)行完協(xié)議N'次后合法通信雙方已建立了相同一致的密鑰串,而敵手的竊聽信道可等價于一個新的二元對稱信道,其新的誤比特率滿足整理可得其中,N′即為定理3中的期望值。
由以上分析可得,原來的(λ> 0 ,θ> 0 )信道可等價于信道,即無噪聲的合法通信信道和一個較低誤比特率的竊聽信道,即使竊聽信道的誤比特率比合法通信雙方的誤比特率更低,敵手也始終無法避免由噪聲產生的極小誤比特率。
3.3.3 抗主動攻擊
結合3.2.1節(jié)中的分析,可以得到定理4。
定理4 節(jié)點A和節(jié)點B共享ntbit的公共串,敵手預估信息的錯誤比特率為'θ,每個校驗塊中敵手與節(jié)點A和節(jié)點B不一致的位數為?,則敵手采取第一種方式主動攻擊成功的最大概率為敵手采取第二種方式主動攻擊成功的最大概率為
證明 若敵手采取替換攻擊方式進行主動攻擊,由于在二元對稱信道中敵手預估信息的錯誤比特率為'θ,且每個校驗塊的長度為則敵手所選取的校驗塊與節(jié)點 A和節(jié)點 B相同的概率為即敵手采取第一種方式主動攻擊成功的最大概率為
若敵手采取模仿攻擊方式進行主動攻擊,其不知道每個校驗塊中有多少個不一致位,只能隨機猜測,而正確猜出不一致位個數的概率為故正確猜出并修正?個不一致位的概率為
整理得
保密增強的核心是構造全域散列函數。目前,廣泛用于保密增強的是基于一般的Toeplitz矩陣的全域散列函數。一般的s×n階Toeplitz矩陣需要(s+n-1) bit的存儲空間,為了提高存儲效率,本文將n階r-循環(huán)Toeplitz矩陣用于保密增強中僅需nbit的存儲空間和參數r的信息。同時在保密增強協(xié)議中考慮到了噪聲的不確定性,使其協(xié)議具有更高的實用價值,并得出了提取密鑰的最大長度和敵手關于密鑰信息量的上界。
任何一個Toeplitz矩陣都可以嵌入在一個循環(huán)矩陣中[20],同樣也可以嵌入在一個r-循環(huán)Toeplitz矩陣中。為了提高保密增強的存儲效率,故將一個一般的s×nt階 Toeplitz矩陣擴展成(nt+s)×(nt+s)階r-循環(huán)Toeplitz矩陣(s<nt)。具體表示形式為
其中R1、R2、R3、R4分別為
將nt×1階的公共串擴展為則提取出的密鑰計算式如下
其中,⊕表示異或操作,cirij表示矩陣 cir中第i行第j列元素,表示向量中第j行第一列元素,由快速傅里葉變換[20]可得
其中,D是一個(nt+s)維向量,由式(20)和式(21)可得
本文采用r-循環(huán)Toeplitz矩陣用于保密增強的全域散列函數中,是因為r-循環(huán)Toeplitz矩陣取決于矩陣元素的第一行和參數r。對于傳統(tǒng)的(nt+s)×(nt+s)階 Toeplitz 矩陣需要 2(nt+s)-1 bit才能完整描述整個矩陣,而本文的(nt+s)×(nt+s)階r-循環(huán)Toeplitz矩陣只需要(nt+s) bit和參數r就可以完整描述整個矩陣,從而減少了矩陣的存儲空間。
水下環(huán)境通信比陸地環(huán)境通信要復雜得多。為了對水下噪聲的不確定性進行定量分析,本文采用馬爾可夫鏈蒙特卡羅(MCMC, Markov chain Monte Carlo)方法[21]來捕捉噪聲的不確定性。MCMC方法適用于非標準的多變量形式,可實現(xiàn)動態(tài)模擬,通常用于水聲參數概率分布的獲取。通過產生若干條獨立并行的馬爾可夫鏈來探索模型參數空間,并不斷更新樣本信息使馬爾可夫鏈收斂于高概率密度區(qū),也就是貝葉斯方法中的最大后驗估計[4]。設水下通信的應用域u∈U,距離域d∈D',環(huán)境域m∈M,三者之間的關系如圖3所示。
圖3 距離域、環(huán)境域和應用域三者之間的關系
噪聲本身就是一種隨機過程,本文把噪聲看成屬于應用域U的隨機變量u。由貝葉斯理論可得
其中,p(d)為歸一化因子,的似然函數。若距離域中的數據矢量表示為其中,為服從正態(tài)分布的誤差項,為協(xié)方差。則似然函數為
其中,表示數據點的數量,上標⊙為共軛轉置,由水聲傳播模型[4]可獲得轉換函數d(m),是水下噪聲源,對于數據的不確定性可用服從獨立同分布的誤差來描述。當時,
將式(25)代入式(24)中,似然函數變?yōu)?/p>
其中,目標函數為
故通過式(26)求積,將協(xié)方差看作多余參量求積消掉v,可得
由上述推導和貝葉斯模型平均法可得式(30)。
如果d中包含所有的不確定性,而且d中所有信息都映射到m,則有
傳統(tǒng)描述噪聲的統(tǒng)計量有概率密度函數、數學期望、方差或功率譜等統(tǒng)計量,其中功率譜是均勻噪聲,即白噪聲,不適用于復雜動態(tài)的水下環(huán)境噪聲。目前水下數值模擬不確定性研究中,一般都將變量的方差定義為不確定性大小的度量[21],但方差不是一種通用的不確定性度量函數,具有局限性。故本文將引入信息論中的信息熵來定量分析噪聲的不確定性。對于連續(xù)變量x,信息熵H定義為[22]
由式(30)和式(31)可得應用域噪聲變量u的信息熵為
推論1[10]設PVS是一個任意的概率分布,設v是敵手觀測到V的一個特定值,若敵手關于S的Rényi熵R(S|V=v))至少為c,且節(jié)點A和節(jié)點B選擇K=g(S)作為其密鑰,其中g是從S到{0,1}l的全域散列函數類中隨機選取的,g∈G,則
由文獻[10]可知,R(S|G)>R(S)。由定理2可得,根據推論1可得
而敵手所知道的信息與最終密鑰的互信息量為
即敵手所知道的關于密鑰K的信息量至多為并以為指數遞減。
定理5 對于任意的整數nt,存在正數τ'<1和使為正整數的Γ,其中,是4.2節(jié)中計算的噪聲的不確定性,?為安全系數,在一個不安全的信道上可以執(zhí)行一個保密增強協(xié)議,具體參數如下
證明 設V是敵手所竊聽到的關于原串S信息的隨機變量,某個特定的v∈V,由定義 1可知,由式(32)可知Hb(p)的值,令
由推論1知:
即定義1中的ε由定理4可知,敵手主動攻擊成功的最大概率為
綜上,可得定義1中的對應參數值,從而得到定理5中的保密增強協(xié)議。證畢。
該實驗使用的硬件環(huán)境是 Intel? CoreTMi5-3337U CPU@1.80 GHz,4 GB RAM,編程環(huán)境是 Matlab R2014a。令每一次密鑰協(xié)商過程中傳輸的位數n=300,密鑰協(xié)商次數t分別取t1=20,t2=30,t3=40,敵手獲取信息的不確定度的實驗結果如圖4所示。
圖4 敵手關于nt bit密鑰串信息的不確定度
圖4中3條曲線均為n=300條件下,分別對應不同密鑰協(xié)商次數時敵手關于ntbit密鑰串信息的不確定度。其中,橫軸表示敵手在水下噪聲信道中產生的誤比特率,縱軸表示敵手關于ntbit密鑰串信息的Rényi熵,即信息的不確定度。從圖4可以看出3條曲線的擬合程度均近似為一次函數,并且敵手關于信息的 Rényi熵均隨著誤比特率和密鑰協(xié)商次數的增加而增加,說明進行多次密鑰協(xié)商可以增加敵手對密鑰串的不確定性,使密鑰的安全性更高。
當節(jié)點A和節(jié)點B的誤比特率λ及密鑰協(xié)商次數t取不同值時,建立密鑰執(zhí)行協(xié)議次數N'的期望值如表1所示。
表1 密鑰執(zhí)行協(xié)議次數N'的期望值
從表1可以得出,N'的期望值與誤碼率λ、次數t及密鑰串的長度n均有關系。當λ=0.001時,協(xié)議的執(zhí)行效率最高。在水聲通信中,數據傳輸速率最大可達10 kbit/s[23]。當n=300,t=20,N'=19.99時,密鑰協(xié)商傳輸的總位數為119 940 bit,保密增強后生成的密鑰串總長度的下界為117 331 bit,敵手關于密鑰串信息量的上界為2 609 bit,所需時間為11.99 s。表明在現(xiàn)有技術條件下,該協(xié)議是切實可行的。
本文設計了海洋噪聲不確定性環(huán)境下基于哥德爾編碼的交互式密鑰提取協(xié)議和基于r-循環(huán)Toeplitz矩陣的保密增強協(xié)議,從而構成了基于水下噪聲信道不確定性的保密通信方案。理論分析和實驗結果表明,該方案不僅安全可靠,而且通信效率較高,通信開銷較小,同時降低了矩陣的存儲空間,提高了保密增強的存儲效率,并且得出了保密增強后密鑰串長度的下界和敵手關于密鑰串信息量的上界。