劉景美,沈志威,韓慶慶,劉景偉
(西安電子科技大學通信工程學院,陜西 西安 710071)
近年來,物理層密鑰生成技術憑借其特有的優點(理論安全、算法簡單、不需要預分發等)引起了學術界的廣泛關注。目前,已有大量關于密鑰生成技術的研究。文獻[1]將密鑰生成技術應用于跳頻系統。文獻[2-3]研究了雙方不在彼此通信范圍內時利用中繼節點輔助密鑰生成的方案。文獻[4-5]研究了小組通信中的密鑰生成。文獻[6-7]提出了適合應用在頻分雙工(FDD, frequency division duplex)無互易系統中的物理層密鑰生成技術。文獻[8-10]將密鑰生成技術拓展至水下聲系統中。文獻[8]首次提出在水聲通信系統中應用物理層密鑰生成技術。文獻[9]提出利用接收信號強度作為信道特征進行水下密鑰生成,利用正交頻分復用(OFDM, orthogonal frequency division multiplexing)系統加快密鑰生成速率(KGR, key generation rate),利用平滑濾波器提高密鑰一致率(KAR, key agreement rate),并比較了幾種不同的量化方式下的密鑰一致性。文獻[10]利用信道頻率響應(CFR, channel frequency response)作為信道特征,提出了一種通過自適應導頻以及分塊密鑰認證來提高一致率的方案,并通過水下環境實測,檢驗了通信雙方測量值的相關性。
然而已有的水下密鑰生成技術都假設在較為理想的情況。文獻[9]只是將一系列傳統的密鑰生成技術應用于水下環境,OFDM系統和平滑濾波器都是常見的密鑰生成技術[11-14],沒有討論生成密鑰的隨機性以及KGR。文獻[10]忽略了多普勒頻移影響,即忽略了物體移動,然而實際的應用場景往往都是動態變化的,如水下無人艇的通信。此外,已有研究都沒有考慮水下聲系統中互易性受損這一問題。由于在水下通信中往往采用水聲作為通信載體[15],而水聲的傳播速度僅有1 500 m/s,傳播速度較小,導致傳播時延極大,從而使得信道的短時互易性不再有效。
目前,常見的密鑰生成技術往往分成4個步驟:信道探測(獲取測量值)、量化(將測量值模數轉換)、信息調和(誤差糾正)以及隱私放大(密鑰確認與隨機性放大)[16]。而本文根據水聲信道的特點,考慮了文獻[9-10]中未考慮的因素,針對密鑰生成的前 2個環節分別提出如下改進方案:1)從FDD系統的密鑰生成方案[7]中得到啟發,針對互易性受損的情況,提出一種本地導頻輔助信道探測協議以適應水下聲系統;2)考慮動態環境對密鑰生成的影響,將文獻[17]的相位偏移量化方法拓展,提出雙層補償聚合結合自適應保護間隔(DLCC_AGI,double-layer compensation centralized and adaptive guard interval quantization)的量化方案以提高KAR和KGR;3)從KAR、KGR以及隨機性這3個方面全面地討論了本方案的性能。
聲波在水中的傳播速度很慢,即使通信距離僅有幾十米,也會產生遠大于相干時間(TC)的傳播時延(Tdelay),導致通信雙方的測量值之間相干性極低,因此基于信道互易性的傳統方案很難直接應用。本文受文獻[7]中FDD非互易系統密鑰生成方案的啟發,提出應對互易性受損問題的本地導頻輔助信道探測協議。
圖1為本方案的信道探測過程,其中,Alice、Bob代表通信雙方。

圖1 本地導頻輔助協議
階段1和階段2類似,因此僅描述階段1的過程。收發信號中,XTA1表示Alice的探測信號,XTB1表示Bob的探測信號,YRB1表示 Bob的接收信號,YRA1表示Alice的接收信號,WA與WB表示高斯白噪聲信號,且上述信號都是N維列向量;XP表示公共導頻信號,XR與VA表示Alice的本地導頻信號,VB表示Bob的本地導頻信號,YB1表示Bob接收信號的奇數行集合,YB2表示 Bob接收信號的偶數行集合,YA1表示Alice接收信號的奇數行集合,YA2表示Alice接收信號的偶數行集合,MA是一個中間變量,RA1與RB1分別表示Alice與Bob在第一階段獲得的估計值,上述信號都是維的列向量。
在時不變多徑信道(保證一個相干時間內不變)中一個具有N個子載波的OFDM符號,所經歷的多徑信道在頻域表現為一個對角陣[18]。而水聲信道往往可以抽象為一個多徑信道。因此,以XTA1發送的過程為例(如式(1)所示),結合信道探測流程可以得到圖2所示的忽略噪聲影響的收發信號幀結構。


圖2 階段1收發信號
步驟1Alice與Bob生成一個公開導頻XP,Alice生成本地導頻XR與VA,Bob生成本地導頻VB。
步驟2Alice生成并發送如圖2所示導頻信號XTA1,如式(2)所示,其中f表示頻率。

步驟3Bob接收YRB1,如式(3)所示。

將YRB1的奇數行合并為YB1,偶數行合并為YB2,根據YB2與XP以最小二乘估計得到RB1,如式(4)所示。

步驟4Bob生成并發送如圖2所示的導頻信號XTB1,如式(5)所示。

步驟5Alice接收YRA1,如式(6)所示。

將YRA1的奇數行合并為YA1,偶數行合并為YA2,由YA1與XP通過最小二乘估計可以得到MA。

由于相鄰子載波的載波間隔很小,即相干性很大,可得如下關系。

因此,可以根據MA、XR、YA2以及VA求得RA1。

由于子載波之間的相干性,通信雙方的測量值近似相等(RA1≈RB1),階段 2 中同理可得RA2≈RB2。由于受到噪聲的影響,最小二乘估計的準確性下降,尤其在信噪比較差時噪聲將會嚴重影響密鑰生成技術的 KAR性能,因此本文采用平滑濾波器以減小噪聲影響。此外,本方案中采用頻域插值以增大相鄰子載波間的相關性。
本探測方案中,竊聽者 Eve(距離合法通信者半波長以上)已知公共導頻XP,可針對XTA1發送過程中的偶數行估計得到HAE(2j)VA(j)。然而隨機數向量VA僅Alice可知,所以竊聽者無法獲取其自身與合法通信者之間的任何信道信息(HAE和HBE),因此竊聽者也無法獲得XTA1奇數行中的XR導頻信號。同理在后續步驟中利用奇數行中的VB保護信道以及XTB1偶數行中的信息。竊聽者無法獲取通信雙方用于生成密鑰的測量值,所以本方案是在保證密鑰生成安全的前提下解決了互易性受損的問題。
此外,假設Eve距離Bob足夠近,便可以接收到和Bob一樣的信號,即YRB1(階段1)與YRB2(階段2),且由于XP是公開的,Eve可以根據YRB1中的偶數行YB2獲得階段1的測量值RB1。但在階段2中,Bob地位類似于階段1中的Alice,若要獲取RB2需要Bob的本地信號XR和VA,而Eve無法獲知,因此Eve無法獲得階段2的測量值。換言之,當存在一個竊聽者足夠靠近Bob或Alice時,該竊聽者可以獲得一半的測量值信息,但是無法獲取全部的信道測量值。綜上所述,竊聽者可獲信息如表1所示。

表1 竊聽者可獲信息
根據2.1節和2.2節對本地導頻輔助信道探測協議的分析,可知該協議具有如下優勢。
1)通過子載波之間的相關性將密鑰生成技術有效地拓展至時分雙工水下聲通信系統,解決了水聲信道互易性受損的問題.
2)在通信雙方探測信號生成的過程中加入本地隨機數矢量VA和VB,提高了生成密鑰的隨機性,使得生成密鑰的隨機性在信道環境變化極其緩慢的情況下也可以得到保證。
3)傳統密鑰生成方案無法防范鄰近竊聽者的竊聽,但是本方案可以在存在一個鄰近竊聽者的情況下依舊保持安全。
引入量化環節是為了將信道測量值轉換成0、1比特序列,適當的量化方法可以有效提高 KAR與KGR。本文將相位偏移量化方法[17]拓展到 CFR情況,并提出雙層補償聚合量化以提高密鑰一致性與密鑰生成速率,同時利用了測量值的實部與虛部,進一步提高了KGR,具體步驟如下。
步驟1Alice:根據 Alice的測量值序列A,通過累積分布函數(CDF, cumulative distribution function)[16]自適應生成量化門限,將測量值序列A判決為其所在量化域的中心,得到中心序列A'。
步驟2Alice:計算Δa=A–A′, 并將其發送給Bob。
步驟3Bob:計算B′=B-Δa=B–A+A′= W+A′。
步驟4Bob:根據補償后的測量值B′,通過CDF生成量化門限,并生成中心序列B″。
步驟5Bob:計算Δb=B′–B″,并將其發送給Alice。
步驟6Alice:計算A″=A′–Δb=A′–B′+B″=A′–W–A′+B″=B″–W。
步驟7分別對B′和A″進行量化。
經過步驟 1~步驟 3處理后(稱為單層聚合補償),測量值序列B被聚合到測量值序列A的量化域中心附近,得到測量值序列B′。步驟 4~步驟 6同理將Alice的測量值A聚合到測量值序列B′的量化域中心附近。由于通信雙方的測量值都在對方根據測量值自適應生成的量化域的中心附近噪聲振幅范圍內,因此只需保證最小量化域 min{Range}的一半大于噪聲的振幅,即可無誤差量化。
圖 3(a)比較了 5種量化方法,可以發現本文提出的補償聚合量化方案在 KAR方面明顯優于文獻[9]采用的單比特直接量化和保護間隔量化,且雙層補償的方式能更進一步提升密鑰一致性,將雙層補償聚合的方法與文獻[16]提出的自適應保護間隔結合提出DLCC_AGI量化,得到了極高的密鑰一致性,驗證了本文提出的 DLCC_AGI在 KAR方面的優越性。圖 3(b)比較了有無采用平滑濾波的方案,驗證了平滑濾波能夠適用于本文提出的水下聲密鑰生成方案中,即使信道互易性極差。

圖3 未加工密鑰一致率曲線
在第2和第3節中已經詳細介紹了本文采用的信道探測技術與量化技術,但應注意量化后生成的比特序列僅是未加工的密鑰,還需要進行信息調和與隱私放大2個步驟來獲取最終密鑰。由于本文的重點在于探究信道探測和量化環節,因此對于信息調和與隱私放大僅選用已有的(31,16,3)BCH碼以及文獻[10]提出的散列函數分塊確認機制。
本文采用Matlab進行數值仿真,仿真參數見表2。

表2 仿真參數
本節主要比較了本方案在不同移動速度下的密鑰一致性,圖3比較了不同量化方案下未加工密鑰的一致性,可知本文提出的 DLCC_AGI量化方法能夠有效提高密鑰一致性。
圖4比較了水下無人艇相對移速分別為1節、5節、10節時調和后密鑰的 KAR。本文首先對密鑰序列進行交織,而后采用(31,16,3)BCH碼調和。圖 4(a)比較了密鑰的誤碼率(BER, bit error rate),圖 4(b)比較了子密鑰錯誤率(SKER, sub-key error rate),即子密鑰出現錯誤的概率,取子密鑰長度NBlock= 16。由仿真結果可知,移速越高,密鑰一致性越差,因為移速提高將會導致多普勒頻移升高,從而降低一致性。但是本文方案生成的密鑰可以確保即使在信噪比較低且移速較快的情況下,依舊保持 BER<0.1,SKER<0.05。
由于經過信息調和后得到的密鑰序列中依舊會存在錯誤比特,因而不能直接將其作為密鑰使用,本文通過文獻[10]提出的散列函數分塊確認方法來獲得最終的密鑰。該方法可以保證獲得一致的密鑰,但是需要丟棄部分子密鑰。由于本文方案已經可以保證即使在信噪比極低的高速移動環境中,SKER依舊保持在0.05以下,因此在大多數場景中將會獲得較好的KGR。

圖4 不同移動速度下的密鑰一致性曲線
觀察圖5可得出以下結論。1)對比移動速度為5節時采用不同量化方法的 KGR可知,采用DLCC_AGI量化的方案KGR遠高于采用保護間隔量化的方案,尤其是在低信噪比情況下。這是因為低信噪比情況下,自適應得到的保護間隔將會很大,導致大量的有效測量值被丟棄,而DLCC_AGI量化方法經過雙層補償聚合后再生成的保護間隔僅丟棄少量錯誤測量值。仿真結果驗證了DLCC_AGI量化在KGR方面的優越性。2)比較不同移速下的密鑰生成速率可知,移速較慢情況下的KGR略高于移速較快時的,但沒有明顯差距。

圖5 不同方案的密鑰生成速率曲線
本小節通過美國國家標準與技術研究所(NIST,National Institute of Standards and Technology)隨機性測驗中的 10項測試(其余幾項對序列長度要求過高,在物理層密鑰生成技術的研究中往往忽略),說明本方案生成的密鑰的隨機性。取密鑰長度為256 bit,依據蒙特卡洛思想重復1 000次測試,得到表3測試結果。由表3可知生成的密鑰以大概率通過10項測試中的7項,以50%的概率通過其中一項,以小概率通過剩余2項,隨機性較好,且因為在信道探測環節中加入了本地隨機數,所以可以保證即使在低速移動的情況下依舊能夠保持相對穩定的密鑰熵水平,而不會隨著移動速度的降低而變差。

表3 NIST測試
本文主要研究了物理層密鑰生成技術在時分雙工水聲通信中的應用。首先,針對水聲信道與電磁波信道的區別,通過提出的本地導頻輔助信道探測協議解決了水聲通信中由于測量值互易性受損引起的問題。其次,本文提出了 DLCC_AGI量化方法代替傳統的保護間隔量化,提高了生成密鑰的KAR與KGR。最后,通過仿真與分析證明了本方案生成的密鑰在KAR、KGR以及隨機性三方面都達到了較高的水準,即提供了一種可行的水聲物理層密鑰生成方案。然而,本文方案的 KAR雖然已經優于已有的水聲密鑰方案,但是相較于陸上密鑰生成方案仍有一定差距。因此,下一步的研究將考慮從信息調和的角度進一步優化密鑰一致性。