于金亮,涂山山,2,孟 遠,2
(1.北京工業大學 信息學部,北京100124; 2.可信計算北京市重點實驗室,北京100124)
隨著無線網絡技術和移動智能終端的不斷發展,人們對于快速實時通信的需求越來越高,云計算已經不能滿足異構、低時延等網絡需求,在這種情況下,霧計算應運而生。作為對云計算概念的延伸,霧計算將云計算擴展到了網絡邊緣,可以利用設備直接傳輸鏈路來提高系統吞吐量,解決了云計算移動性差、地理信息感知弱、時延高等問題[1-2],但同時由于霧計算節點之間通信的開放性也帶來了通信安全和數據傳輸安全的問題。在霧計算中,霧節點與移動終端用戶之間采用更開放、更易受到攻擊的無線傳輸[3],構成移動霧計算環境。與此同時,霧計算網絡中不同終端用戶之間的信任關系也是構建相互協作環境以優化系統目標的必要條件。在移動霧計算網絡中,大量的移動端用戶通過無線網絡與霧節點進行通信,由于無線信道的開放性,霧節點與終端節點之間的信任關系面臨著眾多的挑戰,如中間人攻擊、竊聽攻擊等。傳統的云環境下的安全解決方案,如云訪問控制、密鑰管理、數字簽名、身份認證等技術,針對移動霧計算網絡的多層結構以及終端在霧節點間的移動性,使得移動終端密鑰的在線分發、維護和管理變得較為困難。因此,研究者利用物理層特性,依靠信號處理、編碼調制等方法提供安全通信,以幫助移動終端用戶與霧節點之間建立安全的傳輸方案。
本文針對移動霧環境下的物理層密鑰生成策略,提出一種基于Q-learning的偽裝攻擊檢測算法。該算法可在動態環境下實現對偽裝攻擊的識別,解決霧計算中無線通信易受偽裝攻擊的問題。
由于無線信號傳輸介質的特性,無線通信本質上是不安全的。為了確保無線通信中數據傳輸具備機密性,無線系統需要用發送端和對應的接收端所共有的密鑰來實現加密傳輸。基于物理層的安全密鑰生成方案[4-5]可以滿足安全通信的需求,已成為目前研究的熱點。基于物理層特性的安全密鑰生成是利用無線衰落信道的唯一性、互易性和隨機性的密鑰生成方法,其本質是收發雙方之間信道介質的信道狀態信息(Channel State Information,CSI)的唯一性、隨機性和互易性。收發雙方根據所獲取到的物理層信道信息經過本地計算生成安全密鑰,同時解決了密鑰的分發問題。文獻[6-7]在現有的研究基礎上總結了當前物理層安全遇到的問題,提出了一些對未來研究的建議。文獻[8]提出一種無線網狀物理層安全策略,以求解該物理層安全問題。文獻[9]提出一種提高RFID系統物理層安全性能的方法,將物理層安全應用到了RFID系統中。文獻[10]提出一種用于IBFD無線設備的密鑰生成策略,以提高在多徑衰落信道上生成的密鑰的速率,為密鑰生成速率的提升提供了一種方法。文獻[11]將博弈論與密鑰生成方法相結合,提出一種基于博弈論的協作密鑰生成方法。
基于物理層的安全技術在避免竊聽方獲取信息的同時,為通信雙方提供了可靠的、安全可量化的通信,因此,其在移動霧計算網絡環境下具有廣闊的研究和應用前景[12-13]。如上所述,保證發送端和接收端所使用的密鑰具備一致性并將該密鑰成功分發給兩者是無線通信安全目前面臨的主要問題。文獻[14]利用信道脈沖響應(Channel Impulse Response,CIR)在真實的室內環境中產生密鑰比特,但在實際情況下每秒至多實現一個密鑰比特。文獻[15]在超寬帶(Ultra Wide Band,UWB)系統中利用豐富的多徑無線信道的CIR來產生密鑰,但其量化方法減少了信道信息。文獻[16]利用支持802.11協議的無線網卡通過手機接收信號強度(Received Signal Strength,RSS),以在靜態和移動兩種狀態下提取密鑰比特。
然而,基于物理層的安全密鑰生成率在很大程度上取決于信道變化的速度,在這種動態環境中較難做到每一時隙內都達到最優解[16-17]。因此,本文引入了基于強化學習算法來檢測偽裝攻擊。在強化學習算法中,用戶在不知系統細節的情況下,可以得到動態環境中的最優解[18-20]。此外,在實際生活中用戶并不是靜態的,用戶與節點之間的相對運動會使信號特性產生變化。因此,本文基于Q-learning算法從動態環境中檢測偽裝攻擊,利用節點間傳送無線數據包時的信道狀態,獲取一段時間內的最優解,而不是考慮每一段相干時間內的最大收益,所以相較于傳統的固定閾值檢測方法,本文方法更準確。
本文主要貢獻如下:1)構建一種移動霧計算中的偽裝攻擊模型,該模型假設攻擊者(霧節點或移動終端用戶設備)可以進行主動偽裝攻擊,滿足了后續實驗需求;2)提出一種基于Q-learning的偽裝攻擊檢測算法,實現了在動態網絡環境中的偽裝攻擊檢測,可以主動防御偽裝攻擊;3)該算法具有更高的偽裝攻擊識別準確度和較低的平均錯誤率,可以有效地在動態環境中防范偽裝攻擊。
移動霧計算系統模型如圖1所示,本文假設在霧計算環境中,移動終端用戶與霧節點通過無線信號通信,無線信號中心頻率為2.4 GHz。在X個用戶中(X∈{1,2,…,x},x∈N*),共有Y個合法節點(Y∈{1,2,…,y},1≤y≤m),Z個非法節點(Z∈{1,2,…,z},z=x-y)。Z個非法節點可以將自身信息修改為合法節點的信息,從而進行偽裝攻擊。合法節點可以是正常霧節點(如合法霧節點1)或正常的平板電腦、智能手機和筆記本電腦(如合法節點1、節點2和節點5)。非法節點可以是偽裝終端用戶的節點(如非法節點1、節點2),也可以是偽裝終端用戶的終端節點(如非法霧節點)。
本節使用的密鑰生成模型參考文獻[4-10]。基于移動霧計算模型生成物理層密鑰,霧節點和用戶節點首先生成初始密鑰,然后進行密鑰協商。在量化之前,加入偽裝攻擊檢測,用于判斷接收到的信號是否合法,將合法信號的CSI執行再抽樣和量化等操作。如圖2所示,雙方正處在密鑰生成過程中,在每一次提取脈沖信號CSI后,接收端都會將2個連續信號CSI的歸一化歐式距離與根據假設檢驗所得閾值進行比較,若此時偽裝攻擊者發起攻擊,則判斷為非法用戶并丟棄掉該CSI數據。如果符合原假設,則認為該CSI數據合法,將滿足一定數量條件的合法訓練信號的CSI作去冗余和再抽樣操作,并轉入量化階段,繼續執行密鑰生成方案。

圖2 密鑰生成模型示意圖
本文提出的物理層密鑰生成方案可分為以下5個步驟:
1)接收端與發送端雙方互相發送若干沖激信號。
2)針對沖激信號所得信號判斷是否為偽裝攻擊信號。
3)對接收到的信號進行量化。
4)提取一部分量化后的數據作為初始密鑰。
5)接收端與發送端雙方進行密鑰協商,以確保量化過程中出錯的數據被改正。
根據物理層密鑰生成方案可以在物理層即對偽裝攻擊進行一次粗粒度的檢測,再將篩選后的信號傳遞到上一層,減輕將信息傳遞給上層時產生的通信開銷及上層計算開銷,從而提高系統性能。
本節首先說明基于上文提出的系統模型所建立的假設檢驗,并在該假設檢驗的基礎上實現Q-learning算法。
霧節點與終端用戶分別用A和B來表示,偽裝攻擊者用I來表示。在信道估計階段,A和B在一個時隙內互相發送多個訓練信號,分別是TA和TB,則此時霧節點、終端用戶和偽裝攻擊者收到的信號如式(1)~式(4)所示。
YB=GA,BTA+NB
(1)
YI=GA,ITA+NI
(2)
YA=GB,ATB+NA
(3)
YI=GB,ITB+NI
(4)

(5)
(6)
其中,EA,B是合法終端用戶的估計信道增益,EA|B,I是潛在偽裝攻擊者的估計信道增益
(7)

(8)
(9)
以上假設檢驗的精度取決于測試閾值λ,如果閾值過高將會使漏檢率(MDR)也較高;如果閾值過低則會使誤報率(FAR)較高。本文使用強化學習中的Q-learning算法選擇合適閾值。
Q-learning算法是一種可以在動態環境中利用不充分條件找到最優解的強化學習算法。霧節點根據當前狀態St選擇合適的閾值λCt來最大化當前收益和ΠCt,其中Ct是一個時隙的時間:
(10)

(11)

(12)
(13)
本文引入基于ε-greedy策略的Q-learning算法,在接收端的每一個狀態下有ε的概率會隨機選擇行動,所以在每一個狀態下選擇最優行動的概率是1-ε,概率如下:
(14)
在Q-learning中,學習速率決定新信息在多大程度上覆蓋舊的信息,即μ∈(0,1)。這是當前第τ個狀態閾值為λ時的Q值,即Q(st,λt),其中,st代表第t個狀態,λt是在第t個時隙的狀態的閾值。折扣因子δ表示對當前獎勵的折扣,由δ∈(0,1)表示,其值越大,表明算法越在意當前利益而更少地考慮長遠利益。狀態st的最大Q函數值由V(st)表示。因此,接收端依據式(15)、式(16)更新其Q值:
Q(st,λt)←(1-μ)Q(st,λt)+μ(ΠCt+δV(st+1))
(15)
(16)
測試閾值的最優值λ*為:
(17)
算法1偽裝攻擊檢測算法
步驟1初始化
初始化ε,δ,Q(st,λ)=0,V(st)=0;
選取閾值,使得?λ∈(l/L)0≤l≤L;
步驟2當前狀態
While ForCt,t=1,2,…,do
當前狀態SCt
選擇測試閾值λ
For T=1,2,…,20 do
提取訓練樣本
計算估計信道增益EA,B和EA|B,I


接受該訓練樣本;
Else
拒絕該訓練樣本;
步驟3下一狀態
下一狀態SCt+1
計算Πt;
更新Q(st,λt)和V(st);

表1 仿真實驗用到的參數及其含義
Table 1 Parameter values and significance used in simulation experiments

參數參數含義參數值g0接受合法數據包的收益9g1拒絕非法數據包的收益6c0接受合法數據包的成本4c1拒絕非法數據包的成本2ε策略選擇率0.5μ學習效率0.5δ獎勵性衰變系數0.8f0/GHz中心頻率2.4K偽裝者與發送端的信道增益比-3ρ/dB合法發送端發送包的SINR10/20b信道增益相對變化率0.2
由假設檢驗推得FAR和MDR,可由式(18)、式(19)計算:
(18)
(19)
由此式(16)、式(17)可以定義AER的計算公式如下:
PAER=PFAR(λ)-PMDR(λ)
(20)

圖3為測試閾值隨實驗次數的增加而變化的情況,其中,實驗共測試1 000次。在實驗開始階段,偽裝攻擊檢測算法的測試閾值在進行200次的實驗中迅速變化,隨后趨于穩定。實驗結果表明,利用Q-learning進行偽裝攻擊檢測的最佳閾值約為5.049 8。

圖3 測試閾值隨實驗次數增加的變化情況
Fig.3 Test thresholds changing with increasing number of experiments
圖4所示為當k=-3時,分別測試ρ=20和ρ=10時誤報率隨著實驗輪數增加的變化情況,其中每一輪更新為20次Q表,即每輪進行20次實驗。在攻擊者的信道增益與合法用戶的信道增益比k相同的情況下,合法訓練樣本ρ越小,其FAR越低。這是因為信道估計誤差隨著SINR的減少而減少,信道估計誤差直接影響信號量化的質量,從而對后續計算FAR的工作產生較大的影響。對于不同ρ的2條曲線,最低點都出現在x=9,這是由于Q-learning算法在尋找最優閾值的過程中逐步優化閾值。在1輪到9輪實驗中,閾值快速改變,因此FAR變化迅速。隨著閾值趨近于最優閾值,其圖像的斜率越來越小,即FAR變化越來越小。在進行了400次訓練后,FAR結果趨于穩定,ρ=20時FAR穩定在0.227左右,較ρ=10時增加了11%左右。

圖4 誤報率隨實驗輪數增加的變化情況
Fig.4 False alarm rate changing with increasing number of experimental rounds
圖5所示為當k=-3時,分別測試ρ=20和ρ=10時漏報率(MDR)隨著實驗輪數增加的變化情況,其中每一輪更新20次Q表,即每輪進行20次實驗。在攻擊者的信道增益與合法用戶的信道增益比k相同的情況下,合法訓練樣本ρ越大,其MDR越低,在不同的情況下,ρ分別有最高點(9,0.291 5)和(9,0.273 3)。這是由于信道估計誤差越小,SINR越小,而該值直接影響到信號量化的精度,從而對后續計算MDR的工作產生較大的影響。對于不同ρ的2條曲線,最高點都出現在x=9,這是由于Q-learning算法在尋找最優閾值的過程中逐步調整閾值,在1輪到9輪實驗中閾值快速改變,因此MDR變化迅速,隨著閾值趨近于最優閾值,MDR變化越來越小。在進行了400次訓練后,MDR結果趨于穩定,ρ=20時MDR穩定在0.268 6左右,較ρ=20時減少了約6.6%。

圖5 漏報率隨實驗輪數增加的變化情況
Fig.5 False negative rate changing with the increasing number of experimental rounds
圖6所示為當k=-3時,分別測試ρ=20和ρ=10時平均錯誤率(AER)隨著實驗輪數增加的變化情況,其中每一輪更新20次Q表,即每輪進行20次實驗。在較低的SINR情況下可以擁有較低的平均錯誤率。當k=-3,ρ=10時,在400次實驗后,平均錯誤率穩定在0.493 0左右。平均錯誤率較高是由于:1)在仿真實驗前期,信號發生仿真過程中并沒有進行詳細的仿真,而是采用了生成簡單的隨機信號生成源和隨機噪聲生成源的方法,對后續信號處理過程有較大影響;2)對于需要進行分析的信號沒有進行足夠的預處理,從而使得平均錯誤率較高。

圖6 平均錯誤率隨實驗輪數增加的變化情況
Fig.6 Average error rate changing with increasing number of experimental rounds
圖7所示為當k=-3時,分別測試ρ=20和ρ=10時接收端收益隨著實驗次數增加的變化情況,其中實驗共測試1 000次。在攻擊者的信道增益與合法用戶的信道增益比k相同的情況下,合法訓練樣本ρ越小,接收端在若干次實驗中獲得的平均收益越大。在實驗進行1 000次時,ρ=10的平均收益值為2.423 6,較ρ=20時的平均收益值高出6.1%。實驗結果表明,合法訓練樣本的SINR越低,獲得的實驗結果越好。結合上述對于AER的分析,降低合法訓練樣本的SINR,可以提升偽裝攻擊檢測算法的準確度。

圖7 接收端收益隨實驗次數增加的變化情況
Fig.7 Receiver gain changing with increasing number of experiments
本文通過分析移動霧計算中霧節點與終端用戶通信易受到偽裝攻擊的問題,提出一種利用霧節點與終端用戶之間的無線信道特性檢測偽裝攻擊的方法。建立移動霧計算環境下的偽裝攻擊模型,并在該模型的基礎上設計一種基于Q-learning的偽裝攻擊檢測算法,以在動態環境下自主檢測并識別偽裝攻擊。仿真實驗結果表明,該算法可以快速地達到穩定的性能輸出,并在SINR較低時具有較低的平均錯誤率。下一步將研究中間人攻擊和拒絕服務攻擊的攻擊方式,以尋找在移動霧計算環境中安全通信的方法。