石樂義 蘭 茹 段鵬飛 韓 強
1(中國石油大學(華東)海洋與空間信息學院 山東青島 266580) 2(中國石油大學(華東)計算機科學與技術學院 山東青島 266580) (shileyi@upc.edu.cn)
在通信網絡的建設中,提高信息傳輸的可靠性和安全性是研究領域的研究重點[1].近年來,傳統的網絡防御技術包括防火墻技術、入侵檢測技術、數據災備技術等,雖然在一定程度上提供了安全保障,但由于其靜態、被動的特點,無法更好地應對自動化和多樣化的網絡攻擊,在安全防護方面顯得越來越“心余力絀”[2].
面對互聯網通信中的安全問題,課題團隊在2008年提出了端信息跳變[3](end hopping)概念,通過動態地、偽隨機地改變通信過程中的端口、IP地址、跳變算法、時隙來迷惑攻擊者,實現主動網絡防御.隨后提出了端信息擴展[4](end spreading)的概念,將數據通過端信息擴展算法進行轉換,用多項端信息(IP地址、端口、協議等)組成序列的方式來表示一條數據,各項端信息與所表示的數據本身沒有關系,達到隱藏真實信息的目的.進而在此基礎上提出端信息跳擴(end hopping and spreading)混合技術[5].利用端信息擴展序列進行同步認證,實現高隱蔽性要求下的高速跳變同步.
目前,針對端信息擴展技術的研究大多關注于利用端信息擴展技術提高系統的隱蔽性和在復雜網絡環境中的抗攻擊性能,而忽略了各類端信息的資源利用率低、自相關性弱,無法實現多用戶并發通信等問題.因此,在萬物互聯的時代,除了關注如何提高信息的隱蔽性還需要關注隱蔽信息傳輸的效率問題.本文結合稀疏碼多址接入(sparse code multiple access, SCMA)技術來保證用戶利用端信息擴展序列進行高隱蔽通信的同時,實現多用戶并發通信,降低系統誤碼率,提高系統傳輸效率和資源利用率.
安全性和高效性是通信領域關注的2個重要指標,也是研究領域的研究重點.
在保障信息傳輸安全性方面,主動網絡防御技術成為研究領域的熱點.相關研究工作包括移動目標防御(moving target defense, MTD)[6]技術、擬態安全防御(mimic security defense, MSD)[7]技術及端信息跳變技術.其中,端信息跳變技術靈感來源于軍事跳頻通信對抗技術.文獻[8]從攻擊面動態轉移角度剖析了移動目標防御技術,并將端信息跳變技術歸類為移動目標防御網絡中的動態轉移技術.近年來,端信息跳變技術在研究領域受到廣泛的關注,分別與P2P(peer to peer),SDN(software defined network),IPv6等相結合得到了應用[9-10].
端信息跳變系統抗攻擊性能的優劣與跳變速率密切相關,而跳變速率與所采用的同步方案密切相關[11-12].然而,傳統的嚴格時間同步方案[11]和時間戳同步方案[12]受分組網絡異步、亂序和網絡時延的影響較大,無法支持高速率跳變.因此,文獻[5]創新性地提出利用端信息擴展技術進行同步認證,實現跳變與同步分離,保證信息傳輸完整性的同時兼顧了高速率的跳變,實驗證明,結合端信息擴展技術系統具有更好的網絡防御效果.端信息擴展技術的應用提高了信息傳輸的安全性,保護了用戶隱私.但存在著資源利用率低、傳輸效率低、誤碼率高等問題.
在提高信息傳輸效率、突破系統容量方面,作為未來5G多址接入候選方案的非正交多址接入技術(non-orthogonal multiple access, NOMA)成為當下的研究熱點.相關研究工作主要包括功率域非正交多址接入技術[13]以及碼域非正交多址接入技術[14].其中,碼域非正交多址接入技術以稀疏碼多址接入為代表,信息在發送端經過編碼后,編碼比特被映射為復數域的多維碼字,不同用戶的發送碼字在相同時頻資源上非正交疊加,服務器端利用碼字的稀疏性實現用戶身份的識別.
對稀疏碼多址技術的研究,Wu等人[15]結合Turbo信道編碼設計出采用迭代結構的SCMA接收機;Xiao等人[16]將LDPC信道譯碼與SCMA譯碼相結合設計出采用LDPC信道編碼的SCMA迭代接收機結構,仿真結果表明采用該結構的迭代譯碼算法的接收機相比于原始SCMA接收機可以在保證計算復雜度不變的條件下獲得較高的迭代增益;Xiao等人[17]提出了2種基于邊緣概率的譯碼簡化算法,來降低接收機的復雜度,仿真結果表明簡化算法可以在一定程度上以犧牲系統性能來換取譯碼復雜度.
本文兼顧信息傳輸的安全性和高效性,將稀疏碼多址接入技術的思想與端信息擴展技術相結合,研究了基于SCMA的端信息擴展多用戶安全通信系統,保證用戶通信內容安全傳輸的同時,降低系統誤碼率,提高信息傳輸效率.對于將端信息擴展序列應用于未來海量接入場景中具有重要意義.
基于SCMA的端信息擴展多用戶安全通信系統通過結合稀疏碼多址接入技術使并發通信的各用戶具有彼此唯一的身份標識,接收端通過標識區分用戶信息.從系統的安全性和效率出發,設計基于SCMA的端信息擴展多用戶安全通信系統模型,如圖1所示.
對于某一用戶來說,系統可分為客戶端和服務器端,客戶端主要負責機密信息的編碼與端信息擴展流的生成,包括碼本設計模塊、碼字加載發送模塊.碼本設計模塊確保各用戶之間不會產生干擾,服務器端能夠通過碼本中碼字的稀疏性區分用戶;碼字加載發送模塊是指將代表用戶信息的碼字通過一定的規則加載到端信息上,擴展為多條端信息的組合序列,保證信息傳輸的機密性.服務器端負責合法端信息擴展序列的識別和機密信息的解碼,包括合法端信息擴展序列識別模塊和端信息擴展序列解析模塊.

Fig.1 End spreading multi-user secure communication system model based on SCMA圖1 基于SCMA的端信息擴展多用戶安全通信系統模型
用戶采用公私鑰數字簽名驗證口令的方式進行身份認證,認證成功后與服務器建立連接并隨機選擇一個碼本進行機密信息調制.本文使用端口號、IP地址等數據包中必備的端信息來加載調制后的信息,實現端信息的復用.由于將用戶信息擴展為多條端信息組合序列,相當于利用端信息稀釋了原始數據的信息量,并且傳輸過程中各項端信息是分散的,所以,攻擊者難以通過截獲的部分數據包分析出原始信息,增加了攻擊者的難度.
基于SCMA的端信息擴展多用戶安全通信系統關鍵策略主要包括身份認證策略、碼本設計分配策略、碼字加載發送策略以及端信息解析策略.身份認證策略是保證系統安全的第一道防線,對接入用戶進行身份核驗,保證接入用戶真實可信;碼本設計分配策略關系到系統承載的最大并發用戶數,以及資源塊最大利用情況;碼字加載發送策略保證用戶信息傳輸的安全性,服務器端信息解析策略保證用戶信息的正確解析,完成機密信息的完整傳輸.
2.2.1 身份認證策略
為阻止惡意用戶接入系統,本文采用公私鑰數字簽名驗證口令的方式進行接入用戶的身份認證.每位用戶在接入系統之前將用戶公鑰Kei提交給服務器端,同時服務器為用戶建立時間標志Ti(訪問次數計數器).
用戶每次訪問服務器時首先用私鑰進行簽名,然后提交給服務器IDi‖D((IDi,Ni),Kdi).其中,Kdi為用戶保密的私鑰,Ni表示用戶訪問第Ni次,IDi是明文形式的標識符.
服務器根據明文標識符IDi找到存儲的用戶公鑰Kei,接著計算提交的簽名,E(D((IDi,Ni),Kdi),Kei)=IDi′,Ni′.
當且僅當IDi=IDi′,Ni′=Ti+1時,用戶身份才能得到確認.
2.2.2 碼本設計分配策略
采用子集分割法進行碼本的設計[18],過程包括:1)構造映射矩陣;2)設計每個資源塊星座圖,并采用子集分割法為每位用戶生成對應的星座圖;3)將星座圖與映射矩陣聯合分析,生成用戶星座矩陣;4)為每個用戶生成對應碼本.
1) 構造映射矩陣
映射矩陣F是反映系統對資源塊的利用情況以及每個資源塊上所要承載用戶情況的.規則的映射矩陣每一行、每一列非0元素的數目是相同的.假設系統的資源塊個數為N,非0元素個數為R,那么該系統最大用戶承載數為

(1)
每個資源塊實際承載用戶數為

(2)
過載率為

(3)
碼本中非0元素項越少,服務器端解碼越容易,由于映射矩陣F的構建過程與低密度奇偶校驗碼(low density parity check code, LDPC)中的校驗矩陣類似,所以,當確定系統資源塊個數、用戶數以及各個資源塊承載的用戶數時,就可以參照LDPC校驗矩陣設計一個具有良好特性的映射矩陣.例如,一個6用戶、4資源塊(J=6,N=4,R=2)的映射矩陣F可以設計為

(4)
2) 設計資源塊總的星座圖
為保證同一資源塊上各個用戶之間能夠獲得彼此唯一的標識,就需要使承載在同一資源塊上的各個用戶擁有彼此不重合的星座點數.設用戶每次傳輸比特數為b,則該用戶需要占用的星座點數為
B=2b,
(5)
聯合式(2)可計算得到每個資源塊上用戶總的星座點數為
P=B×M.
(6)
P點星座對應的星座圖可以采用現有數字調制技術中的星座圖表示,如正交振幅調制(quadrature amplitude modulation, QAM)星座圖、相移鍵控調制(phase-shift keying, PSK)星座圖.最后,采用子集分割法為資源塊上的每個用戶分配不同的星座圖.
子集分割方案如圖2所示,這里以16QAM星座圖分割過程為例.
如圖2所示,設16QAM最大振幅為Amax,則相鄰星座點的歐氏距離為

(7)


Fig.2 Constellation subset segmentation of 16QAM圖2 16QAM星座子集分割圖
若以子集星座點間的歐氏距離來表示用戶之間的干擾程度,則采用子集分割法可以增大用戶星座點間的歐氏距離,即用戶之間的干擾會越來越小.
3) 設計星座矩陣
星座矩陣(constellation matrix, CM)是通過每個資源塊上承載的用戶星座結合映射矩陣F產生的.星座矩陣可以表示為

(8)
其中,n代表資源塊,對應星座矩陣的行;k代表用戶,對應星座矩陣的列.星座矩陣由0和用戶星座圖Cn,rand(r)組成,其中,用戶星座圖Cn,rand(r)表示分割子集進行不重復排列的所有可能取值的集合.
4) 生成碼本
將星座矩陣CMn,k中每一列展開成N×M矩陣,構成三維矩陣,n表示資源塊,m表示碼字,k表示用戶.由此得到用戶的碼本為

(9)
其中,CBn,k(mk)表示用戶k使用碼字mk時,該碼字的第n個值.
至此,系統中每個用戶獲得彼此相互獨立的碼本,即獲得了唯一的用戶標識.接下來給出6用戶4資源塊(J=6,N=4,R=2)系統的用戶碼本.構造的映射矩陣F如式(4)所示.采用基于12PSK星座圖進行子集分割,分割子集如圖3所示:

Fig.3 Constellation subset segmentation of 12PSK圖3 12PSK星座子集分割
結合式(8)得到系統資源塊星座矩陣如圖4所示:

Fig.4 User-resource block constellation matrix圖4 用戶-資源塊星座矩陣圖
最后得到系統中每個用戶的碼本如附錄A所示.
2.2.3 碼字加載發送策略
碼字加載發送策略,是在用戶根據所傳信息選擇對應碼字后,再以擴展的方式將碼字加載于端信息上傳輸到服務器端.類比于SCMA系統并發傳輸J個用戶信息所需的資源塊個數,本文通過劃分端口號范圍來區分各個資源塊,為防止端口號與其他通信連接所使用的端口號發生沖突,這里排除常用端口號,即規定本系統所使用的端口號范圍是[1 024,65 535].其中,源端口表示碼字的實數部分,目的端口表示碼字的虛數部分;源IP、目的IP組成的象限陣表示用戶碼字實部與虛部的正負情況;IDE(IP報頭標識符)前k(k=length(bin(N)),N為資源塊個數)位表示非0碼字所處的行標,后(16-k)位由源端口號與密鑰key(密鑰為收發雙方共享的秘密)進行異或得到,用于服務器端對數據包的過濾,各端信息的使用情況如表1所示:

Table 1 Endinformation Distribution Table表1 端信息分布情況表
具體碼字加載發送策略步驟為:
1) 將用戶輸入的明文信息以字符為單位進行分割,通過ASCII編碼將明文序列轉換為8位二進制序列,不足位最高位補0;
2) 從最低位開始每2 b為一組在對應碼本中選擇用戶碼字;
3) 將用戶碼字按行展開,為了提高系統的通信效率,只需要將碼字中的非0元素加載到端信息上發送即可.按照非0元素實數域和負數域的正負情況,從通信雙方共享的IP地址象限陣IParray中通過地址選擇算法(見式(10))選取L個源/目的IP對
IPL=AddSelect(IParray,L)
(10)
組成長度為L的IP地址序列
IP=((SrcIP1,DstIP1),(SrcIP2,DstIP3),…,
(SrcIPL,DstIPL)),
其中,L為端信息擴展序列的長度.
4) 根據碼字非0元素所處的行標確定信息所要加載的資源塊,即確定對應資源塊端口號的范圍.碼字的實數域和虛數域分別用key-real和key-imag表示,并計算對應的端口號:
SrcPort=[key-real×103]%portr+portl,
(11)
DstPort=[key-imag×103]%portr+portl,
(12)
其中,portl和portr分別代表所處資源塊的左右邊界,其目的是使生成的源端口號和目的端口號能夠落在對應的資源塊上,消除系統中各用戶之間干擾.步驟3)中IP地址對作離散卷積處理生成L個對應端口號,最后L個端口號與計算得到的端口號進行異或處理得到長度為L的端口號序列:
Port=((SrcPort1,DstPort1),(SrcPort2,
DstPort2),…,(SrcPortL,DstPortL)).
5) 計算生成IDE報頭標識符,前k(k=length(bin(N)),N為資源塊個數)位表示非0元素所處的行標,后(16-k)位由源端口號和收發雙方共享密鑰key異或產生,用于服務器端對數據包的識別;
6) 用戶將五元組(SrcIP1,DstIP1,SrcPort1,DstPort1,IDE1),(SrcIP2,DstIP2,SrcPort2,DstPort2,IDE2),…,(SrcIPL,DstIPL,SrcPortL,DstPortL,IDEL)依次封裝為數據包;
7) 以用戶字符為單位,每封裝完成一個字符的數據包,用戶將所有的數據包發送至網絡,否則重復步驟1)~6).碼字加載發送策略算法如算法1所示.
算法1.碼字加載發送策略算法.
輸入:用戶明文Msg、用戶碼本codebook、共享密鑰Key;
輸出:端信息擴展序列;
①CodewordConversion(Msg,codebook,Key);
②m_bin←f_1(Msg);/*將明文信息轉換為8位二進制*/
③ foriinm_bin
④SrcIP,DstIP←f_2(m_i);/*根據碼字非0元素實數域和復數域的正負情況生成源IP、目的IP地址序列*/
⑤SrcPort,DstPort←f_3(m_i);/*根據碼字的值生成源端口、目的端口序列*/
⑥m_enc←f_4(length(bin(N)) concatSrcIP?key);/*生成IDE報頭標識符*/
⑦msg=f_5(SrcIP,DstIP,SrcPort,DstPort,IDE);/*封裝數據包,形成端信息擴展序列*/
⑧ end for
2.2.4 端信息解析策略
客戶端以端信息擴展的方式將攜帶不同信息的大量數據包通過socket套接字發送至服務器端,服務器端不斷監聽捕獲網絡中的數據包.捕獲數據包后,首先用共享密鑰與源端口異或,對照IDE后(16-k)位進行無效數據包的過濾,接收有用的數據包,單個數據包判斷合法后,判斷通過判斷的合法數據包是否能夠組成端信擴展序列以及判斷擴展序列所屬用戶,具體驗證算法:
IsSeqence=check(IP,Port,L,τ),
(13)
其中,L為端信息擴展序列的長度,τ為序列的容錯率,允許端信息擴展序列中一定數量的端信息未通過驗證,即滿足數量為L(1-τ)端信息認證通過即為端信息擴展序列認證成功.
接著解析五元組信息,按照端信息加載逆過程解析出用戶碼字,與所存儲的碼本進行比對,得到用戶所傳輸的比特信息,最后對應ASCII編碼還原用戶的明文.具體的端信息擴展序列解析策略步驟為:
1) 服務器端持續監聽信道中的數據包,提取數據包源端口并與收發雙方共享秘鑰Key進行異或,結果記為xor;
2) 判斷收到的數據包是否為合法端信息擴展序列,具體的方法是xor與該數據包報頭標識符IDE的后(16-k)位進行一致性比較;
3) 取合法端信息擴展序列報頭標識符IDE的前k位,確定非0元素的行標,確定該信息所承載的資源塊;
4) 取合法端信息擴展序列的源IP、目的IP,確定非0元素實部和虛部的正負情況,與存儲的各用戶碼本對應,完成對用戶身份的確認;
5) 取合法端信息擴展序列源端口、目的端口,結合各資源塊端口號范圍,確定用戶發送的具體比特信息;
6) 將每組比特信息按順序拼接,以字符為單位還原用戶明文.端信息解析策略算法如算法2所示.
算法2.端信息解析策略算法.
輸入:端信息擴展流數據包DP,用戶碼本codebook,共享密鑰Key;
輸出:用戶身份ID及用戶明文Msg;
①CodewordResolution(DP,codebook,Key);
②xor=DP.SrcPort?Key;
③ ifxor==bin(DP.IDE)[k:16]/*判斷數據包是否為合法擴展序列*/
④ forIP,IDEinDP
⑤ID←f_6(SrcIP,DstIP) &f_7
(IDE[0:k]);/*合法數據包中的源IP、目的IP確定碼字實部虛部的正負情況;數據包標識符確定碼字行標,二者結合確定用戶ID*/
⑥Msg←f_8(SrcPort,DstPort);/*合法數據包中的源端口、目的端口確定用戶明文*/
⑦ end for
⑧ end if
基于SCMA的端信息擴展多用戶安全通信系統主要關注其能否在保證通信內容的安全傳輸的前提下提高系統資源的利用率、降低系統誤碼率、實現多用戶并發通信.所以系統的性能分析主要涉及安全性分析和通信服務質量分析.
1) 抗重放攻擊.由于本文采用公私鑰數字簽名驗證口令進行接入用戶的身份認證,這種方式中,系統為每個用戶設置了時間標志Ti,當且僅當客戶端時間屬性滿足一定條件,即Ni′=Ti+1時,客戶端身份才可驗證通過并與服務器進行數據傳輸.這種驗證方式避免了直接重放攻擊帶來的威脅.除了直接重放攻擊,攻擊者還可能利用客戶端發起反向的重放攻擊[19],也就是本來發送給服務器的數據包被截獲后反向發送給客戶端的情況.面對此類反向重放攻擊,規定客戶端只在發送信息時開放相應的端口,其他時間關閉端口,所以面對攻擊者反向發來的數據包,客戶端也不會識別.
2) 抗丟失分析.抗丟失性是指客戶端生成的端信息擴展序列即使在傳輸過程中發生丟失,服務器端仍能利用剩余的端信息擴展序列正確恢復原始消息的能力.假設當前網絡環境中有e個分組,丟失其中的k個數據分組,端信息認證的數據分組為m,序列的容錯度為τ,則抗丟失能力β為
(14)
其中,e,k由當前網絡復雜度決定,在e與k一定的情況下,分析β與m和τ有關.
當m一定時,β隨著τ的增大而減小.當τ=0時,
另設m+Δm>m時,

因此,β隨著m的增大而增大.
因此,當網絡環境一定時,增加擴展序列的長度或者減小序列驗證的容錯率均可增加系統的抗丟失能力.
本文設計實現的基于SCMA的端信息擴展多用戶安全通信系統服務器端能夠識別多個用戶特征,滿足多用戶并發通信的需求.其中,碼本的設計保證了并發用戶具有唯一的身份特征,互相之間不產生干擾;端信息擴展技術保證了用戶信息實現高可靠、高安全傳輸.為進一步提升系統傳輸效率,采用無連接的UDP協議,由此會帶來2個問題:
1) 采用不可靠的UPD協議會導致數據包不是按序到達服務器端;
2) 由于UDP協議是盡最大可能交付,會導致出現數據包丟失的情況.
針對數據包亂序問題,客戶端以字符為單位進行數據包的封裝,待每個字符的數據包封裝發送完畢后等待一定的時間閾值,在進行下一個字符數據包的封裝發送,這樣避免了字符間數據包亂序的影響.在字符數據包內部,設定端信息擴展序列的長度為L,即L個數據包均表示一組數據信息,所以擴展序列的長度越大,數據包亂序對解碼正確性的影響越小;針對數據包丟失問題,由3.1節分析,增加序列的長度或減小序列的容錯率可增加系統的抗丟失能力,所以合適的參數設置能夠彌補一定程度UDP協議帶來的不可靠現象.
本節對基于SCMA的端信息擴展多用戶安全通信系統進行實驗測試.實驗設置最大用戶數J=6,資源塊個數N=4.分別從系統的抗攻擊性能和系統傳輸性能2方面進行實驗.具體測試的系統配置如表2所示.主機A作為端信息擴展的多用戶安全通信系統的服務器,主機B作為攻擊者,主機C1~C6作為6個請求客戶端.

Table 2 System Parameter Configuration Table
4.1.1 抗攻擊測試
對基于SCMA的端信息擴展多用戶安全通信系統進行拒絕服務攻擊實驗.通過對比普通服務器在UDP Flood攻擊下信息傳輸完成所需的時間,驗證系統的抗攻擊性能.
在本次針對服務器的攻擊實驗中,假設攻擊者已知端信息擴展地址池的范圍,因此攻擊者所選的IP地址和端口號是在端信息地址池中隨機選取.設拒絕服務攻擊強度范圍是0~50 Mb/s,傳輸的數據是大小為15 KB的電子文檔.如圖5所示為不同拒絕服務攻擊速率下信息傳輸完成所需的時間.

Fig.5 Service response time under UDP Flood圖5 不同攻擊速率下傳輸時間比較
由圖5可以看出,傳統網絡中,隨著攻擊速率增大,信息傳輸完成所需的時間明顯增加;采用端信息擴展模式,隨著攻擊速率的增加,信息傳輸完成所需的時間沒有明顯變化.這是因為本系統的服務器通過監聽掃描數據包來解析用戶信息,其端口始終處于關閉狀態,所以,基于SCMA的端信息擴展多用戶安全通信系統可以有效抵御一定程度的拒絕服務攻擊.
本文還對拒絕服務攻擊的不同攻擊類型做了分析比較.測試了基于TCP協議拒絕服務攻擊下的系統性能.表3給出了端信息擴展多用戶安全通信系統在不同攻擊(攻擊速率為50 Mb/s,每位用戶傳輸數據大小為20 KB)下完成信息傳輸所需的時間.

Table 3 Data Transmission Schedule Under Different Attacks表3 不同攻擊下信息傳輸時間表
基于SCMA的端信息擴展多用戶安全通信系統在不同類型的拒絕服務攻擊下均可實現信息的完整傳輸,系統受拒絕服務攻擊的影響不明顯.
4.1.2 隱蔽性測試
對于隱蔽性的測試是對通信過程中的數據包進行抓包分析,通過地址選取的隨機性證明端信息擴展多用戶通信系統具有良好的隱蔽性.
用SnifferV4.7.5抓包工具對系統進行連續1 000次抓包統計,對服務器端配置的10個IP地址(包括源IP和目的IP)使用情況進行統計如圖6所示:

Fig.6 IP address usage圖 6 IP地址使用情況
從圖6可以看出,10個IP地址使用情況基本平均,證明本文設計的模型系統在端信息選取上具有隨機性,不易被攻擊者掃描分析.因此,基于SCMA的端信息擴展多用戶安全通信系統能夠實現信息的隱蔽傳輸,保證信息傳輸的可靠性.
為驗證基于SCMA的端信息擴展多用戶安全通信系統的傳輸性能,探究了數據包數量、過載率以及不同接入用戶數量對系統傳輸性能的影響.定義比特率為單位時間服務器端成功接收數據包占客戶端發送數據包的百分比,用δ表示.設客戶端發送的端信息擴展數據包總數為n,服務器端接收數據包數為m.那么,δ=m/n,δ′=1-δ表示信息的損失率.
1) 數據包數量對系統傳輸性能的影響.設置數據包數量依次為28,29,210,211,212.統計用戶1,3,5的平均信息損失率如圖7所示.

Fig.7 Data loss statistics for different users圖7 不同用戶信息損失統計圖
由于采用了不可靠的UDP協議,且不同時間段內,受網絡信道的干擾強度不同,不可避免的出現了丟包現象.從圖7可以得出,各用戶發送不同數量數據包的信息損失率范圍是[0.78%,15.87%].但仍無法確認一定信息的損失對服務器端解碼準確率的影響.因此,接下來通過Linux系統中的網絡模擬功能模塊Netem來模擬網絡丟包現象.在上述實驗的基礎上,設置網絡丟包范圍是[0%,40%],記錄不同方案對應的解碼準確率如圖8所示.

Fig.8 The decoding accuracy of different schemes圖8 不同方案的解碼準確率
圖8中,方案1是Gimbi等人[20]提出的將用戶信息加載到源端口進行傳輸,服務器端利用源端口的差值進行解碼.由于沒有魯棒性保障機制,數據包丟失在解碼時會產生連鎖反應.因此,其解碼準確率隨著丟包率的增加而急劇下降.方案2是將原始信息加載于源IP進行傳輸,各IP之間相互獨立,雖然丟包對服務器端解調不會產生連鎖反應,但數據包的丟失會直接導致原始信息丟失,所以方案2解碼準確率較方案1略好一些.本方案中,某一原始信息擴展為由不同的數據包表示,各數據包之間相互獨立,所以一定范圍內數據包的丟失不會對解碼產生太大的影響.
2) 過載率對系統傳輸性能的影響.根據式(3)過載率的計算,實驗選取實際用戶數為3,4,6三種情況,則對應的過載率為75%,100%,150%.圖9是系統用戶傳輸1 000 b信息時,在不同過載條件下測得的系統誤比特率對比圖,其中橫坐標代表端信息擴展序列的長度.

Fig.9 Bit error rate under different overload圖9 不同過載下的誤比特率
由圖9得到,當過載率一定時,系統誤比特率隨著端信息擴展序列長度的增加而逐漸減小;當端信息擴展序列的長度一定時,系統未達到過載,即λ=75%或者λ=100%,系統的誤比特率較低;達到過載后,隨著過載率的增加,系統的誤比特率有明顯的增加.端信息擴展序列長度越大,過載率對系統誤比特率的影響越明顯.因此,合理選擇過載率對提高系統的誤比特率,提升系統傳輸性能有至關重要的作用.
3) 不同接入用戶數對系統性能的影響.本文選取了2類碼本,一種是文獻[21]中為解決相同場景下不同用戶的不同業務需求基于度分布理論而設計的非規則碼本,另一種是基于本文碼本設計方法設計的規則碼本.統計在相同的網絡環境下(丟包率為5%,端信息擴展序列長度L=8)不同接入用戶數的情況下系統的解碼準確率,結果如圖10所示:

Fig.10 The decoding accuracy of different number users圖10 不同接入用戶數的解碼準確率
由圖10得到,系統的解碼準確率會隨著接入用戶數量的增加而降低,因為接入用戶數越多,單位資源塊所承受的用戶數就越大,彼此之間的競爭越大,解碼也因此變得越困難.其中,比較規則碼本和非規則碼本,由于非規則碼本考慮了用戶傳輸信息的急切程度,對應于碼本中每一列的非0碼字是不一樣多的,因此,隨著接入用戶數的增加,對于優先級比較低的用戶來說,其對應非0元素就越少,客戶端形成的端信息擴展流就越少,系統丟包率對其影響就越大,表現為非規則碼本的解碼準確率較規則碼本來說就越低.但從圖10中可以看到,即使用戶數量對服務器端解碼準確率存在一定的影響,但在一個可接受的范圍內.
本文將稀疏編碼引入端信息擴展序列的生成過程中,設計實現基于SCMA的端信息擴展多用戶安全通信系統,對系統中的關鍵策略進行分析研究.提出用戶碼本設計分配策略,保證各用戶具有唯一的用戶特征,服務器端能夠正確區分用戶;提出碼字加載發送策略,以端信息擴展的方式實現信息安全傳輸.
最后對系統進行理論分析和實驗驗證,結果表明:基于SCMA的端信息擴展多用戶安全通信系統具有良好的抗攻擊性能和較好的傳輸性能,保證用戶信息傳輸完整性和可靠性的同時,提高了系統資源利用率,降低了系統誤比特率.這對于將端信息擴展技術應用于未來大規模接入場景具有重要意義.