陳玲玲 沈 宣
(吉林化工學院,吉林 吉林 132022)
為解決頻譜資源緊缺的問題,認知無線電(Cognitive Radio,CR)技術應運而生[1]。該技術允許次用戶(Secondary User,SU)在不干擾主用戶(Primary User,PU)的前提下,通過頻譜感知搜尋并機會性地訪問可用的頻譜空洞[2]。
CR提高頻譜效率的能力主要取決于其頻譜感知技術的有效性和準確性[3]。因此相比于感知不準確的單節點頻譜感知,本文選擇感知更準確的協作頻譜感知(Cooperative Spectrum Sensing,CSS)[4]。根據網絡中是否存在融合中心(Fusion Center,FC),CSS可以分為集中式和分布式[5]。相比于沒有FC的分布式網絡,集中式網絡的FC基于融合規則綜合所有SU的感知報告做出全局決策,所以它具有更強的網絡感知性能。綜上,本文研究集中式CSS網絡。
然而,由于無線信道的開放性和機會主義,部分SU在CSS過程中會向FC故意發送偽造的本地感知報告,試圖對FC的決策產生不利影響,惡化網絡感知性能[6]。這種攻擊稱為頻譜感知數據篡改(Spectrum Sensing Data Falsification,SSDF)攻擊。這些攻擊者通過誤導FC,從而達到影響PU通信、惡意搶占或浪費頻譜資源的目的。
針對集中式CSS中存在SSDF攻擊的安全問題,目前已有大量文獻展開研究。文獻[7]提出了一種的基于信任度的可變門限能量檢測算法,通過比較實際融合值與FC上、下邊界值的關系來更新可變門限,其次采用基于正確感知次數比確定信任值的軟融合方法得到最終判決。由于上述算法未考慮FC會做出模糊判決的情況,文獻[8]提出了一種基于漢明距離的信任機制算法,根據漢明距離得到SU的融合信任權值,再根據實際模糊判決數目是否大于預設的模糊判決比例的上限,來決定是否動態更新FC的雙門限值。但上述兩種算法需要一些先驗信息,且需仔細選擇閾值。針對此類問題,文獻[9]提出了一種基于貝葉斯推理的滑動窗口信任模型,該信任模型無需依賴于一些強假設,基于滑動窗口通過sigmoid函數賦予SU最終加權信任值而無需設置最佳檢測閾值,但該算法的復雜度較高且計算量較大。
針對上述需要先驗知識、設置閾值和算法復雜度高等問題,本文提出一種基于K-modes的安全算法抵御SSDF攻擊。該算法利用對分類數據聚類效果好、算法思想簡單和能處理大數據的K-modes對SU進行分類,在剔除掉被分類為攻擊者的SU后,在FC處采用傳統投規則進行融合決策。所提算法可以抵御集中式CSS網絡中的SSDF攻擊。
本文中,我們考慮一個集中式協作頻譜感知的CR網絡模型。該網絡模型由一個FC、一個PU和N個SU組成。所有的SU通過執行本地頻譜感知(Local Spectrum Sensing,LSS)對當前頻譜是否存在PU做出本地判決,并將感知報告發送給FC,最后FC基于融合規則將這些報告進行數據融合,得到最終的全局感知結果。另外,現實中并非所有的SU都會如實將本地感知結果報告給FC,一些SU會為了滿足自身需求有目的性地破壞網絡感知性能而篡改本地感知結果。因此,在本文所考慮的網絡模型中,SU包含SSDF攻擊者(Attacker)和報告真實感知結果的HU。集中式CR網絡模型如圖1所示。

圖1 集中式CR網絡模型
在上述網絡模型中,為了參與CSS,所有SU首先需要感知當前頻譜PU是否存在。由于能量檢測具有感知速度快、計算方便、簡單易實現等優勢,因此SU采用能量檢測執行LSS,得到感知能量值后在兩個假設之間作出決策[10]:
其中,yi(t)表示第i個SU在第t個感知時隙感知PU是否存在于當前頻譜的信號;ni(t)表示第i個SU在第t個感知時隙收到的加高斯白噪聲,ni(t)~CN(0,);hi(t)表示第i個SU在第t個感知時隙收到的信道增益;si(t)表示第i個SU在第t個感知時隙收的PU發射信號;H1和H0分別表示此時當前頻譜中PU存在和不存在的兩種假設。
因此在第t個感知時隙第i個SU的能量檢測統計量E(yi)即為:
其中,L指采樣總數。
由于實際網絡中SU的本地感知通常不完美,本文引入本地虛警概率和本地誤報概率來描述SU的本地感知性能:
其中,d為基于能量觀測值與閾值比較得到的本地二元感知報告,d=1和d=0分別表示SU作出的PU信號存在和不存在的二元感知決策。
在建立的集中式CR網絡模型中,HU會上報真實的本地感知報告,而SSDF攻擊者會以一定的攻擊概率β翻轉真實的本地感知報告。本文考慮攻擊者采取比獨立攻擊危害力更強的協作方式發起攻擊,攻擊者們之間會互相交換感知信息,并采用“L-out-of-M”的協作策略進行攻擊,即以M個攻擊者中有L的二元感知結果為0,則所有攻擊者都以攻擊概率β向FC報1;反之,則所有攻擊者都以攻擊概率β向FC報告0。此類攻擊既會對PU產生干擾,也會自私地占用或者浪費頻譜資源。
K-modes是經典聚類算法K-means的變種擴展,不同于K-means只能處理數值型數據,K-modes是數據挖掘中針對分類屬性型數據進行聚類分析的方法,適用于二進制數,其算法思想比較簡單,時間復雜度也比K-means低。本文將其運用在認知無線電中對SU進行分類,方便在下一步FC的數據融合作最終決策之前剔除攻擊者。
本文所應用的K-modes的算法思想是根據SU發送到FC的感知報告和FC通過多數規則作出的最終決策對SU進行分類。那么經過t個感知時隙,K-modes的輸入數據集表示為X=xi(i=1,2,…,N,N+1),其中xi為由0和1組成的t維向量,則X由N個SU感知報告的t維向量和一個FC最終決策的t維向量組成。由于SU只有兩類,即HU和攻擊者,所以K-modes的分類簇數K=2。每個簇都有一個中心點,稱為聚類中心。通過計算xi和聚類中心之間的差異,將xi劃分到差異最小的簇,并通過計算簇內每個屬性(即0和1)出現頻率最大的屬性來更新聚類中心,重復上述步驟直到發現更改聚類中心不會讓聚類總成本減少為止。這里使用漢明距離計算差異,即兩個向量之間的不匹配總數,這個數字越小,兩個向量越相近、差異越小。聚類的總成本是聚類中每個向量與其對應聚類中心的差異之和。K-modes算法具體流程如下:
(1)聚類中心Ci(i=1,2)初始化:將FC的最終決策視為可靠參考信息,所以將其視為一個初始聚類中心C1,另一個初始聚類中心C2則從剩余的N個數據向量中隨機選擇。
(2)差異計算:對樣本內每個數據向量,計算其與聚類中心之間的差異。漢明距離計算差異的公式為:D(xi,Cj)=xi⊕Cj。
(3)劃分簇類及更新聚類中心:通過步驟2中的差異相似度,將xi劃分到差異最小的簇。
(4)更新聚類中心:計算每個類別內所有數據點的均值,并更新聚類中心,Ci中每一個分量屬性都更新為簇內每個屬性(即0和1)出現頻率最大的屬性。
(5)終止條件并輸出聚類結果:重復上述步驟2、3和4,如果聚類中心發生變化不會讓聚類總成本降低,或達到預設的迭代次數閾值,返回當前的聚類結果。
在K-modes的最終聚類輸出中,與FC相關聯的向量一起聚類的SU識別為HU,其余的被識別為攻擊者。考慮到傳統投票規則(即多數規則)可以在低復雜度下實現,而無需對PU信號有任何先驗知識,因此將其用作FC的融合規則。在將被識別為攻擊者的SU剔除之后,利用傳統投票規則對被識別為HU的SU感知報告進行數據融合以獲得最終的感知決策。
為論證本文提出的基于K-modes的安全算法能有效識別攻擊者并提高網絡感知性能,本文通過Python仿真,在不同條件下對該算法的識別性能進行分析評估,并與傳統防御算法進行性能對比,這里傳統防御算法采用的是最常見、使用最廣泛且復雜度較低的傳統信譽度防御算法,即加權序列概率檢驗(Weighted Sequential Probability Radio Test,WSPRT)。最終證明了所提算法對SSDF攻擊抵御的有效性。
本文考慮的集中式CR網絡模型中存在1個PU,以及100個SU,其中攻擊者占比為SSDF攻擊者個數在SU總數的占比,取值范圍為[0.1,0.8],無特殊說明則默認30%。SSDF攻擊者的攻擊概率β可以取0.7或者0.8,無特殊說明則默認β=0.7。PU活躍于當前頻譜的概率始終為1,設置信噪比SNR=-10dB,采樣次數L=1000次,感知總時隙為80個;根據IEEE 802.22標準,設置所有SU的Pf=Pm=0.1。另外,為提高實驗結果的準確性和穩定性,所有的仿真實驗都采用蒙特卡洛方法,蒙特卡洛實驗次數為100次。本文將正確檢測出攻擊者的概率作為所提算法對攻擊者的識別性能的衡量指標,通過全局檢測概率衡量算法下CR網絡的感知性能。
如圖2所示,在少量攻擊者的情況下,攻擊概率β=0.8時正確識別攻擊者的概率曲線始終高于β=0.7情況下的曲線,說明攻擊概率越高的攻擊者因為攻擊頻繁而與HU感知行為差異更大而更容易被識別;而且,隨著感知時隙增多,所提算法正確識別攻擊者的概率提高,在攻擊概率β=0.7和β=0.8的情況下識別性能分別在第40個和第20個感知時隙達到1。

圖2 感應時隙數對所提算法識別性能的影響
本文還分析了攻擊者占比對所提算法識別性能的影響,如圖3所示。隨著攻擊者占比越高,所提算法正確識別攻擊者的概率下降。當攻擊概率β=0.7和β=0.8,所提算法的識別性能分別在攻擊者占比為40%和30%時迅速下降,并分別在攻擊者占比為65%和55%時下降至0。同時,圖中表明攻擊概率越大,識別性能惡化越嚴重。上述這兩種情況均是因為隨著攻擊概率增大以及攻擊者占比增高,FC處的正確決策受攻擊者和錯誤感知的HU影響越大,即FC全局決策失誤越多,攻擊者越難以被識別。不過,所提算法在小規模攻擊者的情況下的識別性能良好,正確檢測出攻擊者的概率始終穩定在1。

圖3 攻擊者占比對所提算法識別性能的影響
最后,圖4對所提算法和傳統防御算法進行了CR網絡感知性能對比分析。由于所提算法在最終數據融合時剔除了攻擊者并采用傳統投票規則,傳統信譽度防御算法在最終數據融合時仍然考慮了攻擊者的報告。對比發現,所提算法下的全局檢測概率始終高于傳統信譽度防御算法,CR網絡感知性能提高了約37%。

圖4 不同算法下的CR網絡感知性能對比
本文考慮了集中式協作頻譜感知的認知無線電網絡環境,為抵御其中存在的SSDF攻擊,提出了一種基于Kmodes的安全算法。該算法首先對收集到的SU的二元感知報告進行K-modes聚類,剔除掉攻擊者之后,對僅含誠實用戶的感知報告通過傳統投票規則得到最終的感知決策。通過Python仿真,探討了感知時隙數、攻擊概率和攻擊者占比對所提算法識別性能的影響。同時,與仍然考慮攻擊者報告的傳統信譽度防御算法相比,所提算法提高了檢測性能,效果更好。