于金亮,涂山山,2,孟 遠(yuǎn),2
(1.北京工業(yè)大學(xué) 信息學(xué)部,北京100124; 2.可信計算北京市重點(diǎn)實(shí)驗(yàn)室,北京100124)
隨著無線網(wǎng)絡(luò)技術(shù)和移動智能終端的不斷發(fā)展,人們對于快速實(shí)時通信的需求越來越高,云計算已經(jīng)不能滿足異構(gòu)、低時延等網(wǎng)絡(luò)需求,在這種情況下,霧計算應(yīng)運(yùn)而生。作為對云計算概念的延伸,霧計算將云計算擴(kuò)展到了網(wǎng)絡(luò)邊緣,可以利用設(shè)備直接傳輸鏈路來提高系統(tǒng)吞吐量,解決了云計算移動性差、地理信息感知弱、時延高等問題[1-2],但同時由于霧計算節(jié)點(diǎn)之間通信的開放性也帶來了通信安全和數(shù)據(jù)傳輸安全的問題。在霧計算中,霧節(jié)點(diǎn)與移動終端用戶之間采用更開放、更易受到攻擊的無線傳輸[3],構(gòu)成移動霧計算環(huán)境。與此同時,霧計算網(wǎng)絡(luò)中不同終端用戶之間的信任關(guān)系也是構(gòu)建相互協(xié)作環(huán)境以優(yōu)化系統(tǒng)目標(biāo)的必要條件。在移動霧計算網(wǎng)絡(luò)中,大量的移動端用戶通過無線網(wǎng)絡(luò)與霧節(jié)點(diǎn)進(jìn)行通信,由于無線信道的開放性,霧節(jié)點(diǎn)與終端節(jié)點(diǎn)之間的信任關(guān)系面臨著眾多的挑戰(zhàn),如中間人攻擊、竊聽攻擊等。傳統(tǒng)的云環(huán)境下的安全解決方案,如云訪問控制、密鑰管理、數(shù)字簽名、身份認(rèn)證等技術(shù),針對移動霧計算網(wǎng)絡(luò)的多層結(jié)構(gòu)以及終端在霧節(jié)點(diǎn)間的移動性,使得移動終端密鑰的在線分發(fā)、維護(hù)和管理變得較為困難。因此,研究者利用物理層特性,依靠信號處理、編碼調(diào)制等方法提供安全通信,以幫助移動終端用戶與霧節(jié)點(diǎn)之間建立安全的傳輸方案。
本文針對移動霧環(huán)境下的物理層密鑰生成策略,提出一種基于Q-learning的偽裝攻擊檢測算法。該算法可在動態(tài)環(huán)境下實(shí)現(xiàn)對偽裝攻擊的識別,解決霧計算中無線通信易受偽裝攻擊的問題。
由于無線信號傳輸介質(zhì)的特性,無線通信本質(zhì)上是不安全的。為了確保無線通信中數(shù)據(jù)傳輸具備機(jī)密性,無線系統(tǒng)需要用發(fā)送端和對應(yīng)的接收端所共有的密鑰來實(shí)現(xiàn)加密傳輸?;谖锢韺拥陌踩荑€生成方案[4-5]可以滿足安全通信的需求,已成為目前研究的熱點(diǎn)?;谖锢韺犹匦缘陌踩荑€生成是利用無線衰落信道的唯一性、互易性和隨機(jī)性的密鑰生成方法,其本質(zhì)是收發(fā)雙方之間信道介質(zhì)的信道狀態(tài)信息(Channel State Information,CSI)的唯一性、隨機(jī)性和互易性。收發(fā)雙方根據(jù)所獲取到的物理層信道信息經(jīng)過本地計算生成安全密鑰,同時解決了密鑰的分發(fā)問題。文獻(xiàn)[6-7]在現(xiàn)有的研究基礎(chǔ)上總結(jié)了當(dāng)前物理層安全遇到的問題,提出了一些對未來研究的建議。文獻(xiàn)[8]提出一種無線網(wǎng)狀物理層安全策略,以求解該物理層安全問題。文獻(xiàn)[9]提出一種提高RFID系統(tǒng)物理層安全性能的方法,將物理層安全應(yīng)用到了RFID系統(tǒng)中。文獻(xiàn)[10]提出一種用于IBFD無線設(shè)備的密鑰生成策略,以提高在多徑衰落信道上生成的密鑰的速率,為密鑰生成速率的提升提供了一種方法。文獻(xiàn)[11]將博弈論與密鑰生成方法相結(jié)合,提出一種基于博弈論的協(xié)作密鑰生成方法。
基于物理層的安全技術(shù)在避免竊聽方獲取信息的同時,為通信雙方提供了可靠的、安全可量化的通信,因此,其在移動霧計算網(wǎng)絡(luò)環(huán)境下具有廣闊的研究和應(yīng)用前景[12-13]。如上所述,保證發(fā)送端和接收端所使用的密鑰具備一致性并將該密鑰成功分發(fā)給兩者是無線通信安全目前面臨的主要問題。文獻(xiàn)[14]利用信道脈沖響應(yīng)(Channel Impulse Response,CIR)在真實(shí)的室內(nèi)環(huán)境中產(chǎn)生密鑰比特,但在實(shí)際情況下每秒至多實(shí)現(xiàn)一個密鑰比特。文獻(xiàn)[15]在超寬帶(Ultra Wide Band,UWB)系統(tǒng)中利用豐富的多徑無線信道的CIR來產(chǎn)生密鑰,但其量化方法減少了信道信息。文獻(xiàn)[16]利用支持802.11協(xié)議的無線網(wǎng)卡通過手機(jī)接收信號強(qiáng)度(Received Signal Strength,RSS),以在靜態(tài)和移動兩種狀態(tài)下提取密鑰比特。
然而,基于物理層的安全密鑰生成率在很大程度上取決于信道變化的速度,在這種動態(tài)環(huán)境中較難做到每一時隙內(nèi)都達(dá)到最優(yōu)解[16-17]。因此,本文引入了基于強(qiáng)化學(xué)習(xí)算法來檢測偽裝攻擊。在強(qiáng)化學(xué)習(xí)算法中,用戶在不知系統(tǒng)細(xì)節(jié)的情況下,可以得到動態(tài)環(huán)境中的最優(yōu)解[18-20]。此外,在實(shí)際生活中用戶并不是靜態(tài)的,用戶與節(jié)點(diǎn)之間的相對運(yùn)動會使信號特性產(chǎn)生變化。因此,本文基于Q-learning算法從動態(tài)環(huán)境中檢測偽裝攻擊,利用節(jié)點(diǎn)間傳送無線數(shù)據(jù)包時的信道狀態(tài),獲取一段時間內(nèi)的最優(yōu)解,而不是考慮每一段相干時間內(nèi)的最大收益,所以相較于傳統(tǒng)的固定閾值檢測方法,本文方法更準(zhǔn)確。
本文主要貢獻(xiàn)如下:1)構(gòu)建一種移動霧計算中的偽裝攻擊模型,該模型假設(shè)攻擊者(霧節(jié)點(diǎn)或移動終端用戶設(shè)備)可以進(jìn)行主動偽裝攻擊,滿足了后續(xù)實(shí)驗(yàn)需求;2)提出一種基于Q-learning的偽裝攻擊檢測算法,實(shí)現(xiàn)了在動態(tài)網(wǎng)絡(luò)環(huán)境中的偽裝攻擊檢測,可以主動防御偽裝攻擊;3)該算法具有更高的偽裝攻擊識別準(zhǔn)確度和較低的平均錯誤率,可以有效地在動態(tài)環(huán)境中防范偽裝攻擊。
移動霧計算系統(tǒng)模型如圖1所示,本文假設(shè)在霧計算環(huán)境中,移動終端用戶與霧節(jié)點(diǎn)通過無線信號通信,無線信號中心頻率為2.4 GHz。在X個用戶中(X∈{1,2,…,x},x∈N*),共有Y個合法節(jié)點(diǎn)(Y∈{1,2,…,y},1≤y≤m),Z個非法節(jié)點(diǎn)(Z∈{1,2,…,z},z=x-y)。Z個非法節(jié)點(diǎn)可以將自身信息修改為合法節(jié)點(diǎn)的信息,從而進(jìn)行偽裝攻擊。合法節(jié)點(diǎn)可以是正常霧節(jié)點(diǎn)(如合法霧節(jié)點(diǎn)1)或正常的平板電腦、智能手機(jī)和筆記本電腦(如合法節(jié)點(diǎn)1、節(jié)點(diǎn)2和節(jié)點(diǎn)5)。非法節(jié)點(diǎn)可以是偽裝終端用戶的節(jié)點(diǎn)(如非法節(jié)點(diǎn)1、節(jié)點(diǎn)2),也可以是偽裝終端用戶的終端節(jié)點(diǎn)(如非法霧節(jié)點(diǎn))。
本節(jié)使用的密鑰生成模型參考文獻(xiàn)[4-10]?;谝苿屿F計算模型生成物理層密鑰,霧節(jié)點(diǎn)和用戶節(jié)點(diǎn)首先生成初始密鑰,然后進(jìn)行密鑰協(xié)商。在量化之前,加入偽裝攻擊檢測,用于判斷接收到的信號是否合法,將合法信號的CSI執(zhí)行再抽樣和量化等操作。如圖2所示,雙方正處在密鑰生成過程中,在每一次提取脈沖信號CSI后,接收端都會將2個連續(xù)信號CSI的歸一化歐式距離與根據(jù)假設(shè)檢驗(yàn)所得閾值進(jìn)行比較,若此時偽裝攻擊者發(fā)起攻擊,則判斷為非法用戶并丟棄掉該CSI數(shù)據(jù)。如果符合原假設(shè),則認(rèn)為該CSI數(shù)據(jù)合法,將滿足一定數(shù)量條件的合法訓(xùn)練信號的CSI作去冗余和再抽樣操作,并轉(zhuǎn)入量化階段,繼續(xù)執(zhí)行密鑰生成方案。
圖2 密鑰生成模型示意圖
本文提出的物理層密鑰生成方案可分為以下5個步驟:
1)接收端與發(fā)送端雙方互相發(fā)送若干沖激信號。
2)針對沖激信號所得信號判斷是否為偽裝攻擊信號。
3)對接收到的信號進(jìn)行量化。
4)提取一部分量化后的數(shù)據(jù)作為初始密鑰。
5)接收端與發(fā)送端雙方進(jìn)行密鑰協(xié)商,以確保量化過程中出錯的數(shù)據(jù)被改正。
根據(jù)物理層密鑰生成方案可以在物理層即對偽裝攻擊進(jìn)行一次粗粒度的檢測,再將篩選后的信號傳遞到上一層,減輕將信息傳遞給上層時產(chǎn)生的通信開銷及上層計算開銷,從而提高系統(tǒng)性能。
本節(jié)首先說明基于上文提出的系統(tǒng)模型所建立的假設(shè)檢驗(yàn),并在該假設(shè)檢驗(yàn)的基礎(chǔ)上實(shí)現(xiàn)Q-learning算法。
霧節(jié)點(diǎn)與終端用戶分別用A和B來表示,偽裝攻擊者用I來表示。在信道估計階段,A和B在一個時隙內(nèi)互相發(fā)送多個訓(xùn)練信號,分別是TA和TB,則此時霧節(jié)點(diǎn)、終端用戶和偽裝攻擊者收到的信號如式(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)
以上假設(shè)檢驗(yàn)的精度取決于測試閾值λ,如果閾值過高將會使漏檢率(MDR)也較高;如果閾值過低則會使誤報率(FAR)較高。本文使用強(qiáng)化學(xué)習(xí)中的Q-learning算法選擇合適閾值。
Q-learning算法是一種可以在動態(tài)環(huán)境中利用不充分條件找到最優(yōu)解的強(qiáng)化學(xué)習(xí)算法。霧節(jié)點(diǎn)根據(jù)當(dāng)前狀態(tài)St選擇合適的閾值λCt來最大化當(dāng)前收益和ΠCt,其中Ct是一個時隙的時間:
(10)
(11)
(12)
(13)
本文引入基于ε-greedy策略的Q-learning算法,在接收端的每一個狀態(tài)下有ε的概率會隨機(jī)選擇行動,所以在每一個狀態(tài)下選擇最優(yōu)行動的概率是1-ε,概率如下:
(14)
在Q-learning中,學(xué)習(xí)速率決定新信息在多大程度上覆蓋舊的信息,即μ∈(0,1)。這是當(dāng)前第τ個狀態(tài)閾值為λ時的Q值,即Q(st,λt),其中,st代表第t個狀態(tài),λt是在第t個時隙的狀態(tài)的閾值。折扣因子δ表示對當(dāng)前獎勵的折扣,由δ∈(0,1)表示,其值越大,表明算法越在意當(dāng)前利益而更少地考慮長遠(yuǎn)利益。狀態(tài)st的最大Q函數(shù)值由V(st)表示。因此,接收端依據(jù)式(15)、式(16)更新其Q值:
Q(st,λt)←(1-μ)Q(st,λt)+μ(ΠCt+δV(st+1))
(15)
(16)
測試閾值的最優(yōu)值λ*為:
(17)
算法1偽裝攻擊檢測算法
步驟1初始化
初始化ε,δ,Q(st,λ)=0,V(st)=0;
選取閾值,使得?λ∈(l/L)0≤l≤L;
步驟2當(dāng)前狀態(tài)
While ForCt,t=1,2,…,do
當(dāng)前狀態(tài)SCt
選擇測試閾值λ
For T=1,2,…,20 do
提取訓(xùn)練樣本
計算估計信道增益EA,B和EA|B,I
接受該訓(xùn)練樣本;
Else
拒絕該訓(xùn)練樣本;
步驟3下一狀態(tài)
下一狀態(tài)SCt+1
計算Πt;
更新Q(st,λt)和V(st);
表1 仿真實(shí)驗(yàn)用到的參數(shù)及其含義
Table 1 Parameter values and significance used in simulation experiments
參數(shù)參數(shù)含義參數(shù)值g0接受合法數(shù)據(jù)包的收益9g1拒絕非法數(shù)據(jù)包的收益6c0接受合法數(shù)據(jù)包的成本4c1拒絕非法數(shù)據(jù)包的成本2ε策略選擇率0.5μ學(xué)習(xí)效率0.5δ獎勵性衰變系數(shù)0.8f0/GHz中心頻率2.4K偽裝者與發(fā)送端的信道增益比-3ρ/dB合法發(fā)送端發(fā)送包的SINR10/20b信道增益相對變化率0.2
由假設(shè)檢驗(yàn)推得FAR和MDR,可由式(18)、式(19)計算:
(18)
(19)
由此式(16)、式(17)可以定義AER的計算公式如下:
PAER=PFAR(λ)-PMDR(λ)
(20)
圖3為測試閾值隨實(shí)驗(yàn)次數(shù)的增加而變化的情況,其中,實(shí)驗(yàn)共測試1 000次。在實(shí)驗(yàn)開始階段,偽裝攻擊檢測算法的測試閾值在進(jìn)行200次的實(shí)驗(yàn)中迅速變化,隨后趨于穩(wěn)定。實(shí)驗(yàn)結(jié)果表明,利用Q-learning進(jìn)行偽裝攻擊檢測的最佳閾值約為5.049 8。
圖3 測試閾值隨實(shí)驗(yàn)次數(shù)增加的變化情況
Fig.3 Test thresholds changing with increasing number of experiments
圖4所示為當(dāng)k=-3時,分別測試ρ=20和ρ=10時誤報率隨著實(shí)驗(yàn)輪數(shù)增加的變化情況,其中每一輪更新為20次Q表,即每輪進(jìn)行20次實(shí)驗(yàn)。在攻擊者的信道增益與合法用戶的信道增益比k相同的情況下,合法訓(xùn)練樣本ρ越小,其FAR越低。這是因?yàn)樾诺拦烙嬚`差隨著SINR的減少而減少,信道估計誤差直接影響信號量化的質(zhì)量,從而對后續(xù)計算FAR的工作產(chǎn)生較大的影響。對于不同ρ的2條曲線,最低點(diǎn)都出現(xiàn)在x=9,這是由于Q-learning算法在尋找最優(yōu)閾值的過程中逐步優(yōu)化閾值。在1輪到9輪實(shí)驗(yàn)中,閾值快速改變,因此FAR變化迅速。隨著閾值趨近于最優(yōu)閾值,其圖像的斜率越來越小,即FAR變化越來越小。在進(jìn)行了400次訓(xùn)練后,FAR結(jié)果趨于穩(wěn)定,ρ=20時FAR穩(wěn)定在0.227左右,較ρ=10時增加了11%左右。
圖4 誤報率隨實(shí)驗(yàn)輪數(shù)增加的變化情況
Fig.4 False alarm rate changing with increasing number of experimental rounds
圖5所示為當(dāng)k=-3時,分別測試ρ=20和ρ=10時漏報率(MDR)隨著實(shí)驗(yàn)輪數(shù)增加的變化情況,其中每一輪更新20次Q表,即每輪進(jìn)行20次實(shí)驗(yàn)。在攻擊者的信道增益與合法用戶的信道增益比k相同的情況下,合法訓(xùn)練樣本ρ越大,其MDR越低,在不同的情況下,ρ分別有最高點(diǎn)(9,0.291 5)和(9,0.273 3)。這是由于信道估計誤差越小,SINR越小,而該值直接影響到信號量化的精度,從而對后續(xù)計算MDR的工作產(chǎn)生較大的影響。對于不同ρ的2條曲線,最高點(diǎn)都出現(xiàn)在x=9,這是由于Q-learning算法在尋找最優(yōu)閾值的過程中逐步調(diào)整閾值,在1輪到9輪實(shí)驗(yàn)中閾值快速改變,因此MDR變化迅速,隨著閾值趨近于最優(yōu)閾值,MDR變化越來越小。在進(jìn)行了400次訓(xùn)練后,MDR結(jié)果趨于穩(wěn)定,ρ=20時MDR穩(wěn)定在0.268 6左右,較ρ=20時減少了約6.6%。
圖5 漏報率隨實(shí)驗(yàn)輪數(shù)增加的變化情況
Fig.5 False negative rate changing with the increasing number of experimental rounds
圖6所示為當(dāng)k=-3時,分別測試ρ=20和ρ=10時平均錯誤率(AER)隨著實(shí)驗(yàn)輪數(shù)增加的變化情況,其中每一輪更新20次Q表,即每輪進(jìn)行20次實(shí)驗(yàn)。在較低的SINR情況下可以擁有較低的平均錯誤率。當(dāng)k=-3,ρ=10時,在400次實(shí)驗(yàn)后,平均錯誤率穩(wěn)定在0.493 0左右。平均錯誤率較高是由于:1)在仿真實(shí)驗(yàn)前期,信號發(fā)生仿真過程中并沒有進(jìn)行詳細(xì)的仿真,而是采用了生成簡單的隨機(jī)信號生成源和隨機(jī)噪聲生成源的方法,對后續(xù)信號處理過程有較大影響;2)對于需要進(jìn)行分析的信號沒有進(jìn)行足夠的預(yù)處理,從而使得平均錯誤率較高。
圖6 平均錯誤率隨實(shí)驗(yàn)輪數(shù)增加的變化情況
Fig.6 Average error rate changing with increasing number of experimental rounds
圖7所示為當(dāng)k=-3時,分別測試ρ=20和ρ=10時接收端收益隨著實(shí)驗(yàn)次數(shù)增加的變化情況,其中實(shí)驗(yàn)共測試1 000次。在攻擊者的信道增益與合法用戶的信道增益比k相同的情況下,合法訓(xùn)練樣本ρ越小,接收端在若干次實(shí)驗(yàn)中獲得的平均收益越大。在實(shí)驗(yàn)進(jìn)行1 000次時,ρ=10的平均收益值為2.423 6,較ρ=20時的平均收益值高出6.1%。實(shí)驗(yàn)結(jié)果表明,合法訓(xùn)練樣本的SINR越低,獲得的實(shí)驗(yàn)結(jié)果越好。結(jié)合上述對于AER的分析,降低合法訓(xùn)練樣本的SINR,可以提升偽裝攻擊檢測算法的準(zhǔn)確度。
圖7 接收端收益隨實(shí)驗(yàn)次數(shù)增加的變化情況
Fig.7 Receiver gain changing with increasing number of experiments
本文通過分析移動霧計算中霧節(jié)點(diǎn)與終端用戶通信易受到偽裝攻擊的問題,提出一種利用霧節(jié)點(diǎn)與終端用戶之間的無線信道特性檢測偽裝攻擊的方法。建立移動霧計算環(huán)境下的偽裝攻擊模型,并在該模型的基礎(chǔ)上設(shè)計一種基于Q-learning的偽裝攻擊檢測算法,以在動態(tài)環(huán)境下自主檢測并識別偽裝攻擊。仿真實(shí)驗(yàn)結(jié)果表明,該算法可以快速地達(dá)到穩(wěn)定的性能輸出,并在SINR較低時具有較低的平均錯誤率。下一步將研究中間人攻擊和拒絕服務(wù)攻擊的攻擊方式,以尋找在移動霧計算環(huán)境中安全通信的方法。