李 廣,朱宏鵬,李 聰,葛瑞星,李廣俠
(陸軍工程大學通信工程學院,南京 210007)
隨著無線通信網(wǎng)絡的快速發(fā)展,其隱私和安全變得越來越重要。傳統(tǒng)觀念下的通信安全性被視為物理層之上的獨立特性。如圖1所示,目前廣泛使用的加密協(xié)議(如RSA和AES)都是在物理層已經(jīng)建立并提供無錯誤連接的假設下設計和實現(xiàn)的。隨著通信破譯端計算力的大幅度提升,傳統(tǒng)加密面臨著巨大的挑戰(zhàn)和威脅。例如:2019年法國國家計算機科學與應用數(shù)學研究所在高速計算機上利用大數(shù)分解算法成功破譯迄今最長的RSA密鑰。
圖1 傳統(tǒng)加密編碼圖Fig.1 Code diagram for traditional encryption
近年來,物理層安全技術在學術領域引起了廣泛關注[1?2],它是一種通過物理層上信號處理技術來提高通信安全的有效方法。物理層安全的基本原理[3]表明:當合法通信的信噪比優(yōu)于竊聽信道時,絕對安全是可行的,可達的安全通信速率上界稱為保密容量。例如合法通信方在其信噪比(Signal to noise ratio,SNR)下可收到的信息量為IB,竊聽方在其SNR下可收到的信息量為IE,此時保密容量CS=max(IB-IE)。但是這種安全的穩(wěn)定性很差,保密容量隨著信道質(zhì)量而頻繁變化,某些情況下甚至為0,僅依據(jù)保密容量限定進行系統(tǒng)設計存在局限性。因此,本文提出一種不受制于信道質(zhì)量的物理層加密的方式,以解決竊聽方的接收信噪比高于譯碼門限時的安全通信問題。
如圖2所示,本文將加密方案與信道編碼技術相融合,基于差錯控制編碼的隨機跳變來增加竊聽方偵收和破譯的難度,提高安全等級。文獻[4?5]證明了與加密融合的信道編碼可保障傳輸信息的可靠性與安全性。文獻[6]將線性分組碼與加密結合,提升合法通信的可靠性與安全性。文獻[7?8]證明了廣義竊聽信道下編碼加密的可行性。文獻[9]則論證了基于低密度奇偶校驗(Low desity parity check,LDPC)碼加密的可行性,根據(jù)校驗矩陣是否私有分為兩類。當校驗矩陣公有時,要求合法信道質(zhì)量要優(yōu)于竊聽信道;當校驗矩陣私有時,在不影響可靠性的情況下也可保障安全性。但LDPC碼是線性分組碼,信息比特與編碼比特的映射關系是固定的,當采用選擇明文攻擊時,LDPC碼的校驗矩陣可被恢復[10]。
圖2 物理層聯(lián)合編碼加密Fig.2 Physical layer code encryption
本文參考文獻[10]提出的跳碼加密思想,采用私有跳變LDPC校驗矩陣對明文進行編碼加密,每幀明文采用不同的LDPC校驗矩陣編碼,在不犧牲糾錯性能的情況下提高系統(tǒng)的安全性。合法通信的雙方通過某種方式同步校驗矩陣,如事先約定、偽隨機數(shù)發(fā)生器或者十分可靠的信令信道等。與文獻[10]所提出的架構不同,本文采用基于有限域兩類子群混合構造準循環(huán)低密度奇偶校驗碼(Quasi?cy?clic low density parity check code,QC?LDPC)的校驗矩陣,并通過基模圖碼的外信息轉(zhuǎn)移(Protograph?based external information transfer,PEXIT)算法對校驗矩陣進行掩模,使校驗矩陣編碼快、密度更低、譯碼性能更好,更易于工程實現(xiàn)。
信息安全是指竊聽方無法還原非法獲取的信號中的真實信息。本文擬采用文獻[11]提出的誤比特率度量信息安全。當竊聽方誤比特率接近0.5時,認為竊聽方無法竊聽,可進行安全通信。由于無線信道的開放特性,竊聽信道的信道質(zhì)量無法獲知,因此本文擬設計一種物理層加密的信道編碼方案。該方案不受制于竊聽信道的信道質(zhì)量,且當竊聽方的信道質(zhì)量比合法通信信道質(zhì)量差時,該方案還可以利用噪聲的隨機性和信道編碼的增益來構建保密容量以達到信息論上的安全。圖3所示為合法信道質(zhì)量優(yōu)于竊聽信道場景下系統(tǒng)SNR的關系。圖中SNRE,max為竊聽信道可獲取的最大SNR,對應接收信號的最小誤比特率(接近0.5);SNRB,min為合法信道可靠通信閾值,對應接收信號的最大誤比特率(符合通信要求,接近0)。安全間隔為SNRB,min與SNRE,max的SNR差值。在該場景下,當合法通信方采用私有LDPC碼,可以有效縮小安全間隔,從而降低可靠通信所需的SNRB,min。因此,本文擬構造一種不受制于信道質(zhì)量的加密通信的信道編碼方案,該方案的加密能力在與竊聽信道質(zhì)量呈負相關性,并能在竊聽信道質(zhì)量劣于合法信道質(zhì)量時實現(xiàn)信息論上的安全。
圖3 通信質(zhì)量圖Fig.3 Communication quality chart
文獻[10]所提出的跳碼架構雖然具有統(tǒng)一的譯碼架構,易于工程上譯碼器的實現(xiàn),但是不具有統(tǒng)一的編碼架構,編碼復雜度較高,不利于工程實現(xiàn)。本文擬利用PEXIT算法和有限域QC?LDPC碼來設計具有快速編碼架構且密度更低、性能更好的加密跳碼,更易于工程實現(xiàn)和整個系統(tǒng)吞吐量的提升。面向物理層信息安全的QC?LDPC跳碼設計目標是具有統(tǒng)一編譯碼架構、譯碼性能良好的QC?LDPC跳碼。
LDPC碼是Gallager于1962年發(fā)明,1999年MacKay首次利用計算機仿真出接近香農(nóng)極限的二進制對稱信道(Binary symmetric channel,BSC)和二元輸入加性高斯白噪聲(Binary input additive white Gaussian noise,BI?AWGN)信道容量的LDPC碼。但當時的碼字都缺乏足夠的結構性,這給編碼和譯碼的硬件設計帶來了極大的不便。一種降低復雜度的方法是在LDPC碼校驗矩陣中引入一些額外的有助于編譯碼的結構?;D碼[12]是目前最流行的結構化碼字,它是一種易于設計、實現(xiàn)和分析的LDPC碼,其構造技術是基于小矩陣(基矩陣)生成大矩陣(校驗矩陣)。
1.2.1 基模圖LDPC碼構造原理
基模圖是小矩陣的Tanner圖,通過對該圖的復制和對圖中獨立邊置換得到較大的圖。首先將基模圖復制Q次,然后在Q個獨立的副本間置換邊得到單個大圖。如果置換矩陣為循環(huán)置換矩陣(Cyclic per?mutation matrix,CPM),最終得到的大圖所對應的陣列為由循環(huán)陣構成的陣列,生成的碼字為準循環(huán)碼。本文中的CPM是以q-1維的單位陣為基礎,循環(huán)右移c位,c為循環(huán)移位因子(0≤c 圖4給出了基模圖的例子。圖4中C0,…,Cm-1代表m個校驗節(jié)點;V0,…,Vn-1代表n個變量節(jié)點。圖5給出了擴展之后的Tanner圖,該圖通過將每個基模圖節(jié)點用1簇Q個節(jié)點代替,將每條基模圖的邊用1簇Q條邊代替,每簇節(jié)點間采用Q×Q的置換矩陣Pi,j置換。擴展之后的校驗矩陣維度就變成了(m×Q)×(n×Q)?;D中可以存在平行邊,但是擴展的圖中不應存在平行邊。本文為了簡化譯碼器實現(xiàn)的復雜度,所設計的基模圖中不存在平行邊。 圖4 基模圖示例Fig.4 Example protograph 圖5 基模圖擴展后得到的Tan?ner圖示例Fig.5 Extend Tanner graph 碼字的性能不僅與基矩陣的連接關系有關,還與基矩陣的CPM有關?;谟邢抻蛟O計的基矩陣,不僅設計簡單,而且散列得到校驗矩陣具有良好的譯碼性能。 1.2.2 有限域LDPC碼 有限域G F(q)中含有q個元素,q為素數(shù)冪。設α為G F(q)的本原元(Primitive element),G F(q)中的q個元素為α-∞=0,α0=1,α1,α2,…,αq-2。令基矩陣B=[bi,j](0≤i 1.2.3 跳碼設計 跳碼設計流程如圖6所示。收發(fā)雙方通過某種方式(如可靠的信令信道、偽隨機序列或事先約定)同步生成因子,根據(jù)生成因子得到基矩陣中CPM的循環(huán)因子,再根據(jù)PEXIT算法對基矩陣進行掩模確定基矩陣的連接關系,最后由基矩陣散列成校驗矩陣。待編碼的明文使用校驗矩陣直接進行編碼,得到的密文為非系統(tǒng)碼LDPC。 圖6 跳碼設計流程圖Fig.6 Flow chart of code hopping design 跳碼通過生成因子來同步校驗矩陣H,為了簡化工程實現(xiàn)的復雜度,基矩陣生成器和掩模矩陣為固定架構。簡而言之,基矩陣中CPM依據(jù)生成因子而跳變,但是基矩陣的連接關系不變。 采用迭代譯碼的LDPC碼性能和校驗矩陣H的圍長、陷阱集、停止集以及環(huán)外信息量等性質(zhì)有關。校驗矩陣所對應的Tanner圖中環(huán)長為2d的定義是:在d個變量節(jié)點和d個校驗節(jié)點所組成的集合中,存在1條經(jīng)過每個節(jié)點且只經(jīng)過1次的閉合路徑。Tanner圖圍長是指圖中的最小環(huán)長。根據(jù)外部信息傳遞的Turbo原理可知,當環(huán)長小于當前迭代次數(shù)的1/2時,外信息的可靠度會下降。圍長為6或8可以保證碼字有較好的性能,增加圍長可擴大停止集,提升碼字的最小距離以降低錯誤平層[14]。由基矩陣散列所構造的QC?LDPC碼,其環(huán)長與基矩陣的選擇有關。下面2個定理給出圍長為6或8的QC?LDPC碼基矩陣的充要條件[13]。 定理1Tanner圖圍長為6及以上原理:基矩陣B中每個2×2的子矩陣中包含至少1個0項或為非奇異矩陣。 定理2Tanner圖圍長為8及以上原理:基矩陣B中每個2×2和3×3的矩陣中不存在相同非0的行列式展開項。 為方便表述,下文稱定理1為2×2 SM(Submatrices)約束,定理2為3×3 SM約束。 有限域的加法群和乘法群可以用來構造滿足行列(Row column,RC)約束(不含4環(huán))的CPM陣列,進而可以用以構造QC?LDPC校驗矩陣。令α為G F(q)的一個本原元,設 η為G F(q)中非0元素,m×n矩陣為 從式(1)可知:(1)B(S1,S2)為有限域G F(q)上的矩陣;(2)矩陣的B(S1,S2)的每1行或每1列不存在相同的元素;(3)任意兩行或兩列在任何位置都不存在相同的元素,因此滿足2×2 SM約束,由B(S1,S2)所散列的校驗矩陣H圍長最小為6。通過枚舉不滿足3×3 SM約束項可找出所有6環(huán)。 將B(S1,S2)作為基矩陣,H為其二元CPM散列矩陣,CPM的維度為q-1。因此H的維度為m(q-1)×n(q-1),其零空間代表長度為n(q-1),圍長至少為6的QC?LDPC碼Cqc。如圖6所示,本文根據(jù)生成因子快速生成式(1)中的S1和S2,乘法因子η為有限域某一固定值,根據(jù)式(2),可得基矩陣B(S1,S2),散列成校驗矩陣H。通過切換生成因子可得到不同的校驗矩陣,根據(jù)這種方式可得校驗矩陣總數(shù)目為當竊聽方可做到無噪竊聽或者其信道質(zhì)量較高時,系統(tǒng)碼很容易暴露明文,因此本文采用非系統(tǒng)碼提高通信的安全性,通過對低碼率信息位打孔來獲取目標碼率。例如目標碼率為1/2,通過設計1/3碼率的系統(tǒng)碼,然后將信息位全部打孔,只保留校驗位來獲得1/2碼率的LD?PC碼。 影響QC?LDPC碼性能的因素除了2.1節(jié)中的環(huán)長外,還有變量節(jié)點和校驗節(jié)點的度分布、矩陣的連通性以及校驗矩陣的行冗余等。2.1節(jié)基于有限域兩類子群所設計的QC?LDPC碼雖然不含4環(huán),但含有大量的6環(huán)和8環(huán),幾乎未考慮矩陣的連接性和度分布,當合法信道的SNR較低時,譯碼成功所需的迭代次數(shù)增加,外信息真實可靠度下降,因此碼字瀑布區(qū)性能較差,即圖3中的安全間隔將會變大。而且這種碼字沒有快速編碼結構,只能通過高斯消元算法或者文獻[15]中的QC?LDPC通用編碼算法得到生成矩陣后再進行編碼,這兩種在線編碼的時間復雜度都是O(n2),這種復雜度很不利于工程實現(xiàn)。因此本節(jié)優(yōu)化了矩陣的連接性和度分布,并融入了快速編碼結構,研究基于PEXIT算法掩模的有限域QC?LDPC碼。 矩陣掩模是指利用與CPM相同大小的零矩陣取代校驗矩陣中的某些CPM,使得校驗矩陣更加稀疏,掩模操作可以在基矩陣上進行。對校驗矩陣H的掩模操作可以表示為Hadamard矩陣乘積。設掩模 矩 陣 為Z=[Zi,j]0≤i 基于度分布的不規(guī)則外信息轉(zhuǎn)移(External information transfer,EXIT)圖[16]憑借其簡單性、準確性被廣泛用于LDPC碼的度分布設計,但是其沒有考慮矩陣的連接性。文獻[17]在文獻[16]基礎上提出多維EXIT技術,適用于較小的基模圖,可以準確地預測基矩陣的譯碼門限。此外PEXIT算法還可用于計算具有某些特殊節(jié)點類型的基模圖碼的譯碼門限,例如度為2的變量節(jié)點和打孔的變量節(jié)點。首先根據(jù)不規(guī)則EXIT圖設計掩模矩陣的度分布,再采用PEXIT算法計算掩模矩陣的譯碼門限,選擇相對最優(yōu)的連接關系作為基模圖掩模矩陣。 文獻[17]并沒有依據(jù)度分布計算平均互信息而是充分地考慮了矩陣的連接性。首先令Ij→iE,V為“類型j”變量節(jié)點關聯(lián)的碼字比特與從這些變量節(jié)點發(fā)給“類型i”校驗節(jié)點的對數(shù)似然信息(Logarithmic likelihood information,LLR)Lj→i之間的外信息。同理,Ii→jE,C是“類型i”校驗節(jié)點發(fā)送給“類型j”變量節(jié)點關聯(lián)碼字比特的LLRLi→j的外信息。文獻[17]根據(jù)文獻[16]中的結論得出,當校驗節(jié)點j與變量節(jié)點i之間有邊時,即當zi,j≠0時,有 式(6)中參數(shù)A、B、C參照表2。采用這種近似計算方式與密度進化計算的門限差距在0.05 d B之內(nèi)。 表1 J(σ)中參數(shù)Table 1 Parameters in J(σ) 表2 J-1(I)中參數(shù)Table 2 Parameters in J-1(I) 算法PEXIT算法 (2)校驗節(jié)點到變量節(jié)點的PEXIT函數(shù):對于0≤i (3)變量節(jié)點到校驗節(jié)點的PEXIT函數(shù):對于0≤i (4)累積變量節(jié)點的后驗信息,0≤j 基于PEXIT算法掩模的有限域QC?LDPC碼的設計分為兩步: (1)基矩陣設計。仍采用2.1節(jié)中的基于有限域兩類子群的QC?LDPC的設計方式,因為它所設計的QC?LDPC具有以下特點:(a)構造的跳碼可以很好地避免4環(huán);(b)自適應碼長,因為校驗矩陣中的CPM維度是有限域集合的長度,因此可以根據(jù)需求適當?shù)卣{(diào)整有限域大小。 (2)掩模矩陣的設計。本文參考了文獻[18?19]中快速編碼的校驗位設計方法,采用雙對角的方式來設計校驗位(詳見2.3節(jié)快速編碼方法),然后利用EXIT算法設計具有較低譯碼門限的度分布,并且保證每個信息位的變量節(jié)點有充足的外信息,再利用PEXIT算法找出信息位打孔后譯碼門限較低的掩模矩陣。信息位打孔比例和安全性有關,信息位打孔比例越高,竊聽方破譯越困難,但隨著打孔比例的增加,掩模矩陣設計會變得更加困難,譯碼的收斂速度也會變慢。 利用PEXIT算法生成的掩模矩陣對2.1節(jié)中的校驗矩陣進行掩模,可以得到密度更低、性能更好、更有利于編譯碼設計的跳碼校驗矩陣。 2.3.1 快速編碼算法 再利用D1的雙對角循環(huán)結構推得 2.3.2 編碼結構和復雜度分析 圖7 跳碼編碼架構圖Fig.7 Architecture diagram of code hopping coding 明文攻擊是目前破譯LDPC碼生成矩陣或校驗矩陣的最常用手段,因此本節(jié)重點分析明文攻擊下跳碼的安全性。 基于單校驗矩陣編碼加密系統(tǒng)[20]本質(zhì)上是一種線性加密過程,即明文和密文一一對應。只需要找出明文到密文的線性映射空間,即可破譯該加密系統(tǒng)。為了評估單一校驗矩陣破譯的復雜度,設滿秩單校驗矩陣為Hs,其維度為ms×ns,Gs為生成矩陣,其維度為ks×ms,ks=ns-ms,ms>ks。設待編碼的信息列向量和編碼列向量分別為μ和c,維度分別為ks和ms,即c=GTs·μ。設ks組二元信息矢量分別為μ0=[1,0,…,0]T,μ1=[0,1,…,0]T,…,μks-1=[0,0,…,1]T信 息 矢 量 對 應 的 編 碼 矢 量 分 別 為c0,c1,…,cks-1,維度為ms。根據(jù)線性分組碼的編碼原理,可得 設α為G F(256)本原元,η=1,S1和S2是G F(256)的兩個任意平凡子集,大小分別為m和n,根據(jù)式(2)可得m×n的有限域G F(256)上的基矩陣B(S1,S2),其CPM散列的二元矩陣為H,其維度為255m×255n。 在表3的仿真條件下,碼字cmp和cunmp的誤比特率(Bit error rate,BER)性能如圖8所示。圖中橫坐標為比特能量比噪聲密度Eb/N0;縱坐標P b為誤比特率。當Eb/N0為1~1.4 d B時,此時跳碼cmp未達譯碼門限,誤碼率曲線隨Eb/N0呈現(xiàn)平緩下降,當過Eb/N0超過1.6 dB之后,跳碼cmp到達譯碼門限,誤碼率隨Eb/N0呈現(xiàn)瀑布式下降。當BER為10-6時,碼字cmp的性能優(yōu)于cunmp約0.6 d B。圖8還包含國際空間數(shù)據(jù)系統(tǒng)咨詢委員會(Consul?tative Committee for Space Data Systems,CCSDS)標準中的AR4JA碼[21]cAR4JA和IEEE 802.16標準中的QC?IRA碼[22]cIRA。碼字cmp的性能略差于cAR4JA0.1 d B,略優(yōu)于cIRA0.05 dB,這是因為cmp代表的是整個碼集的平均性能,其中不乏短環(huán)較多、性能較差的碼字,但本文的主旨是在不犧牲太多譯碼性能的前提下盡可能地提高碼字的抗破譯性。 圖8 跳碼性能曲線圖Fig.8 Code hopping performance 表3 仿真參數(shù)Table 3 Parameters in simulation 當采用去短環(huán)算法從整個碼集中篩選出一個圍長至少為12的校驗矩陣H0,其性能如圖9所示,圖中c0為H0所對應的LDPC碼。分析圖中曲線可以發(fā)現(xiàn)該碼字性能比傳統(tǒng)碼字性能提高0.2~0.5 d B,比碼集的平均性能提高約0.3 d B。 圖9 單短陣性能對比圖Fig.9 Comparison diagram of single matrix performance 根據(jù)圖10可以看出,采用明文攻擊的竊聽方誤比特率與SNR的關系不大,無論是在低信噪比區(qū)還是高信噪比區(qū)域,其誤比特率始終在0.5左右,而從圖10或圖8中則可以看出,當合法收信方的Eb/N0達到譯碼門限時(1.5 d B左右),便可實現(xiàn)可靠通信,隨著Eb/N0的值越高,通信的可靠性越好。 圖10 竊聽方和合法通信方性能對比圖Fig.10 Performance comparison between eavesdropper and legitimate communicator 因此,對于明文攻擊的竊聽方式而言,采用該跳碼設計在任何信噪比條件下均能保證信息傳輸?shù)陌踩裕擡b/N0>1.5 d B時即可保證可靠通信。 本文采用了誤比特率來衡量物理層信息安全,使用跳碼技術將加密和信道編碼結合,采用非系統(tǒng)LDPC碼傳輸信息。該方案的加密特性不受制于信道質(zhì)量,且加密能力在與竊聽信道質(zhì)量呈負相關性,能在竊聽信道質(zhì)量劣于合法信道質(zhì)量時實現(xiàn)信息論上的安全。跳碼由跳變的校驗矩陣生成,跳變矩陣根據(jù)同步因子生成器可進行快速切換。跳變矩陣具有統(tǒng)一架構和快速編碼的結構,通過對信息比特的簡單移位和異或操作便可實現(xiàn)快速編碼,易于工程實現(xiàn)。跳變的校驗矩陣數(shù)目龐大,糾錯性能良好,在不犧牲編碼增益的前提下可以改善傳統(tǒng)通信的安全性。2 QC?LDPC跳碼構造算法和快速編碼方法
2.1 基于有限域兩類子群的QC?LDPC跳碼構造算法
2.2 PEXIT掩模算法
2.3 快速編碼方法
3 解密分析
4 仿真與分析
5 結束語