李炳星,季 薇
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
認(rèn)知無(wú)線電(cognitive radio,CR)[1]作為下一代無(wú)線通信技術(shù),有效解決了頻譜資源緊缺的問題,極大提高了頻譜利用率。CR采用動(dòng)態(tài)頻譜接入方式實(shí)現(xiàn)次用戶對(duì)頻譜資源的二次利用,是目前被一致認(rèn)可的解決頻譜利用率低的最佳方案。其中,協(xié)作頻譜感知(cooperative spectrum sensing,CSS)技術(shù)是認(rèn)知無(wú)線電技術(shù)中的關(guān)鍵環(huán)節(jié),CSS不僅可以提高頻譜感知效率,而且可以克服無(wú)線環(huán)境中的陰影衰落、多徑效應(yīng)等的影響。然而,無(wú)線信道的開放性與復(fù)雜性,使得協(xié)作頻譜感知極易受到惡意用戶的攻擊,致使頻譜感知的可靠性與穩(wěn)定性受到很大影響,因此頻譜感知過(guò)程中惡意用戶的檢測(cè)與防御變得尤為重要。
在分布式協(xié)作頻譜感知過(guò)程中,常見的惡意攻擊是主用戶偽造攻擊(primary user emulation,PUE)[2]和頻譜感知數(shù)據(jù)篡改攻擊(spectrum sensing data falsification,SSDF)[3],目前研究較多的是后者。針對(duì)SSDF攻擊,文獻(xiàn)[4]提出一種動(dòng)態(tài)信任度管理機(jī)制方法,當(dāng)某認(rèn)知用戶為誠(chéng)實(shí)用戶的概率大于其為惡意用戶的概率時(shí),該認(rèn)知用戶被視為誠(chéng)實(shí)的認(rèn)知用戶;相反,當(dāng)某認(rèn)知用戶為惡意用戶的概率大于其為誠(chéng)實(shí)用戶的概率時(shí),該認(rèn)知用戶被視為惡意的認(rèn)知用戶。但是,在鄰居用戶中存在較多惡意用戶的情況下,誠(chéng)實(shí)的鄰居用戶將會(huì)被誤判為惡意用戶。文獻(xiàn)[5]提出一種信任值異常檢測(cè)的防御機(jī)制,該機(jī)制借助認(rèn)知用戶的信號(hào)接收強(qiáng)度(received signal strength,RSS)值判斷主用戶狀態(tài)。其中,融合中心通過(guò)鄰居用戶的最大與最小信號(hào)接收強(qiáng)度計(jì)算出鄰居用戶對(duì)主用戶的判決結(jié)果。當(dāng)與融合中心判決結(jié)果一致時(shí),表示該鄰居用戶是誠(chéng)實(shí)用戶,反之則表示該鄰居用戶是惡意用戶。然而,當(dāng)環(huán)境中存在大量的噪聲時(shí),將一定程度上影響鄰居用戶的RSS,最終導(dǎo)致融合中心做出錯(cuò)誤的判決結(jié)果。文獻(xiàn)[6]提出一種基于信任的防御方案,每一個(gè)認(rèn)知用戶視為一個(gè)融合中心,并以融合中心的感知能力作為基準(zhǔn)對(duì)認(rèn)知用戶的信任分?jǐn)?shù)進(jìn)行獎(jiǎng)懲。具有較低信任分?jǐn)?shù)的用戶被視為惡意用戶剔除出去,不參與一致性融合。文獻(xiàn)[7]提出一種基于密度的防御方案(density-based MU detection,DBMUD),該方案根據(jù)認(rèn)知用戶的信譽(yù)度來(lái)選擇兩個(gè)信譽(yù)度較高的用戶,并以這兩個(gè)誠(chéng)實(shí)用戶的信譽(yù)值為基準(zhǔn)來(lái)篩選潛在的惡意用戶。然而,此方法對(duì)于鄰居中誠(chéng)實(shí)用戶不足兩個(gè)的情況并不適用。
強(qiáng)化學(xué)習(xí)[8-10]對(duì)環(huán)境的要求低,通過(guò)對(duì)周圍環(huán)境不斷的學(xué)習(xí)和觀察,可使智能體在任何時(shí)間任何狀態(tài)下都能夠做出最優(yōu)的選擇。強(qiáng)化學(xué)習(xí)應(yīng)用于協(xié)作頻譜感知過(guò)程,可以幫助認(rèn)知用戶選取最優(yōu)的鄰居用戶進(jìn)行合作或者放棄一些鄰居用戶,達(dá)到惡意用戶甄別的效果。文獻(xiàn)[11]提出一種基于強(qiáng)化學(xué)習(xí)的惡意用戶的防御方案,認(rèn)知用戶通過(guò)不斷地選取鄰居用戶進(jìn)行協(xié)作頻譜感知,將頻譜感知結(jié)果與最終感知結(jié)果不同的認(rèn)知用戶視為惡意用戶。文獻(xiàn)[12]利用強(qiáng)化學(xué)習(xí)思想,每次選取信譽(yù)度較高的認(rèn)知用戶作為新的簇頭(融合中心),簇頭根據(jù)鄰居用戶的感知值進(jìn)行鄰居用戶的信譽(yù)值更新計(jì)算,將信譽(yù)值較低的視為潛在的惡意用戶。然而,此方案在惡意用戶發(fā)起間斷性攻擊時(shí),將不能有效地甄別出惡意用戶。
為有效抵御惡意攻擊,文中提出一種結(jié)合強(qiáng)化學(xué)習(xí)與信譽(yù)值的分布式智能入侵防御方案。該方案中,每個(gè)認(rèn)知用戶被視為一個(gè)智能體,在每一步迭代過(guò)程中,智能體通過(guò)查詢Q矩陣,選取最優(yōu)的鄰居用戶進(jìn)行合作(信譽(yù)值較高的鄰居用戶),并獲得瞬時(shí)回報(bào)和累積回報(bào)。當(dāng)認(rèn)知用戶的判決結(jié)果與融合中心的判決結(jié)果一致時(shí),給予一定的信譽(yù)值獎(jiǎng)勵(lì),反之給予懲罰,將信譽(yù)值低于一定閾值的視為潛在的惡意用戶,最終智能的惡意用戶放棄惡意攻擊,開始發(fā)送正確的感知值,達(dá)到全網(wǎng)一致性融合。
強(qiáng)化學(xué)習(xí)的基本思想是:當(dāng)智能體選擇一種行為后,智能體獲取較高的回報(bào),其中包括瞬時(shí)回報(bào)與累積回報(bào),之后智能體通過(guò)不斷學(xué)習(xí)來(lái)選取最佳的行為決策[13]。在強(qiáng)化學(xué)習(xí)中,Q學(xué)習(xí)[9,14-16]作為一種單智能體算法,常被用于實(shí)時(shí)的網(wǎng)絡(luò)環(huán)境中。并且這個(gè)智能體在其整個(gè)生命周期中,一直都在不斷學(xué)習(xí),觀察和做出最佳的行為決策。強(qiáng)化學(xué)習(xí)的抽象模型包括三個(gè)主要的組成元素,分別是狀態(tài),行為和回報(bào)。狀態(tài)表示在觀察周圍環(huán)境后影響智能體做出決定的因素?;貓?bào)一方面表示性能參數(shù)得到最大化,如網(wǎng)絡(luò)性能參數(shù)得到最大化,另一方面表示最小化,如簇中的惡意用戶數(shù)量達(dá)到最小化。行為表示智能體為了實(shí)現(xiàn)最大的回報(bào)所采取的某種行為。
Qt+1(st,at)←(1-α)Qt(st,at)+α[rt+1(st+1)+
(1)
其中,α的范圍是0≤α≤1,表示學(xué)習(xí)速率或者步長(zhǎng);γ的范圍是0≤γ≤1,表示折扣因子。當(dāng)智能體更多的考慮瞬時(shí)回報(bào)時(shí),α設(shè)置為1。當(dāng)智能體更在意長(zhǎng)期回報(bào)時(shí),γ設(shè)置為1。
正如式1所示,在每一步迭代過(guò)程中,智能體通過(guò)不斷地觀測(cè)和學(xué)習(xí)周圍環(huán)境,當(dāng)其選擇一個(gè)合適的行為時(shí),其對(duì)應(yīng)的Q值增加。為了在一段時(shí)間內(nèi)實(shí)現(xiàn)累計(jì)回報(bào)的最大化,智能體開始采用最優(yōu)或者接近最優(yōu)的決策稱為π*決策(或者一系列行為),使得智能體能夠?qū)崿F(xiàn)一個(gè)最優(yōu)的Q值,π*決策具體由式2所示。
(2)
強(qiáng)化學(xué)習(xí)擁有不斷地探索和利用周圍環(huán)境的能力,智能體通過(guò)選擇不同的行為,去探索和學(xué)習(xí)周圍環(huán)境,這可能使得智能體獲得的瞬時(shí)回報(bào)較低,但是通過(guò)不斷的探索和學(xué)習(xí),可能使智能體獲得較高的累積回報(bào)。
在認(rèn)知無(wú)線網(wǎng)絡(luò)場(chǎng)景中,一個(gè)認(rèn)知網(wǎng)絡(luò)可以包含若干個(gè)主用戶與多個(gè)次用戶,假設(shè)主用戶距離認(rèn)知網(wǎng)絡(luò)的距離較遠(yuǎn),主用戶有較強(qiáng)的發(fā)射功率,整個(gè)認(rèn)知網(wǎng)絡(luò)均在主用戶的發(fā)射范圍內(nèi)。假設(shè)在一個(gè)感知時(shí)段內(nèi),主用戶的狀態(tài)與認(rèn)知網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)均保持不變,即從認(rèn)知用戶開始進(jìn)行頻譜感知到全網(wǎng)達(dá)成共識(shí)為止。具體的網(wǎng)絡(luò)模型如圖1所示。
圖1 分布式CRN拓?fù)浣Y(jié)構(gòu)
這里使用一個(gè)無(wú)向鏈路圖G=(V,ε)表示圖1所示的網(wǎng)絡(luò)模型,其中V={1,2,…,n}表示整個(gè)認(rèn)知網(wǎng)絡(luò)中的認(rèn)知用戶,ε∈V2表示認(rèn)知用戶間的連通關(guān)系,使用矩陣S={bij}來(lái)表示各個(gè)認(rèn)知用戶之間的連通關(guān)系,其中bij∈{0,1}分別表示認(rèn)知用戶i與j是否為一跳可達(dá)的。使用Mci={j∈V,bij=1}來(lái)表示認(rèn)知用戶i的所有一跳可達(dá)用戶的集合。
在分布式網(wǎng)絡(luò)中,認(rèn)知用戶的信譽(yù)值表示認(rèn)知用戶的誠(chéng)實(shí)度[17],信譽(yù)值較高表示該認(rèn)知用戶為誠(chéng)實(shí)用戶可能性較高,反之則為惡意用戶。在分布式場(chǎng)景中,沒有融合中心,每一個(gè)認(rèn)知用戶視為一個(gè)融合中心,與鄰居用戶進(jìn)行數(shù)據(jù)交互,因此融合中心可以選擇信譽(yù)度較高的鄰居用戶進(jìn)行數(shù)據(jù)交互。
通過(guò)信譽(yù)值來(lái)判別認(rèn)知用戶的可靠性,能夠有效地甄別潛在的惡意用戶,融合中心收集鄰居用戶的感知值進(jìn)行判決。當(dāng)融合中心判定該鄰居用戶為潛在的惡意用戶時(shí),會(huì)給其對(duì)應(yīng)的懲罰,反之給予對(duì)應(yīng)的獎(jiǎng)勵(lì)。在每一次迭代過(guò)程中,認(rèn)知用戶的信譽(yù)值都會(huì)進(jìn)行對(duì)應(yīng)的更新計(jì)算,融合中心選取最優(yōu)的鄰居用戶進(jìn)行數(shù)據(jù)融合。
文中提出將強(qiáng)化模型與信譽(yù)值相結(jié)合的防御方案。在該方案中,每個(gè)認(rèn)知用戶均視為一個(gè)智能體,通過(guò)不斷地觀察和學(xué)習(xí)其鄰居用戶,認(rèn)知用戶選取信譽(yù)度較高的鄰居用戶進(jìn)行數(shù)據(jù)融合,當(dāng)認(rèn)知用戶選取一鄰居用戶進(jìn)行數(shù)據(jù)融合時(shí),若該鄰居用戶未發(fā)起惡意攻擊,則鄰居用戶的信譽(yù)值會(huì)得到對(duì)應(yīng)的獎(jiǎng)勵(lì),信譽(yù)值越高表示該鄰居用戶越可靠,認(rèn)知用戶可以獲得更高的回報(bào),接下來(lái)將更加傾向于與該鄰居用戶進(jìn)行數(shù)據(jù)交互,反之信譽(yù)值較低的即為潛在的惡意用戶。具體的方案流程如圖2所示。
圖2 算法流程
認(rèn)知用戶作為智能體,其三個(gè)主要組成部分(狀態(tài)、行為、回報(bào))如下所述:
狀態(tài)-state:表示認(rèn)知用戶的鄰居用戶集合;
行為-action:表示通過(guò)不斷地觀測(cè),學(xué)習(xí),查詢鄰居Q矩陣,從鄰居用戶集合中選取信譽(yù)值較高的鄰居用戶用于后續(xù)的數(shù)據(jù)交互;
回報(bào)-reward:回報(bào)即信譽(yù)值的獎(jiǎng)懲rt+1(st,at)∈{1,-1},其中-1表示發(fā)送虛假的感知值,1表示發(fā)送正確的感知值。
算法步驟如下:
步驟1:初始化。
初始化認(rèn)知用戶的本地感知能量值和信譽(yù)值以及Q矩陣,以及計(jì)算認(rèn)知用戶的一階可達(dá)鄰居集合及其相應(yīng)的度數(shù)。其中i={1,2,…,V},j={1,2,…,V},i與j均表示認(rèn)知用戶,k表示迭代次數(shù)。
步驟1.1:每一個(gè)認(rèn)知用戶均有一個(gè)初始的感知能量值,一個(gè)初始的信譽(yù)值。
Pi=P0-(10βlog10(ni/n0)+Yi+Zi)
(3)
xi(0)=Pi,k=0
(4)
Ri(0)=R,k=0
(5)
式3中,Pi表示認(rèn)知用戶i感知主用戶能量值;P0表示主用戶的發(fā)射功率;β表示路徑損耗因子;n0表示參考距離;ni表示感知用戶到主用戶間的距離;Yi表示由陰影衰落損失的能量值;Zi表示由多徑效應(yīng)而損失的能量值;式4中的xi(0)表示認(rèn)知用戶i的初始感知能量值,在每一步迭代過(guò)程中,xi(0)都會(huì)被更新,這里使用xi(k)表示;式5中的Ri(0)表示認(rèn)知用戶i的初始信譽(yù)值,這里假設(shè)所有認(rèn)知用戶的初始信譽(yù)值相同,在之后的每一步迭代過(guò)程中,認(rèn)知用戶的信譽(yù)值均會(huì)被更新,這里使用Ri(k)表示。
步驟1.2:初始化每個(gè)認(rèn)知用戶i的一跳可達(dá)鄰居用戶集合Nci(0)以及對(duì)應(yīng)的度數(shù)di(0),在接下來(lái)的強(qiáng)化學(xué)習(xí)過(guò)程中,認(rèn)知用戶i將從其一跳可達(dá)鄰居用戶中選取最優(yōu)的認(rèn)知用戶進(jìn)行數(shù)據(jù)融合。
步驟1.3:初始化Q矩陣Q(st,at),并且初始值均設(shè)置為0。
步驟2:強(qiáng)化學(xué)習(xí),選取最優(yōu)的鄰居用戶用于后續(xù)信息交互。
通過(guò)強(qiáng)化學(xué)習(xí)算法,認(rèn)知用戶選取最優(yōu)的鄰居用戶用于后續(xù)信息交互,并且甄別潛在的惡意用戶。具體的強(qiáng)化學(xué)習(xí)算法如下:
在每一步迭代過(guò)程中,重復(fù)進(jìn)行如下步驟:
步驟2.1:認(rèn)知用戶查詢Q矩陣,并觀察當(dāng)前的狀態(tài)st。
步驟2.2:將st←st+1作為當(dāng)前狀態(tài)。
步驟2.3:選取一個(gè)行為at并執(zhí)行,獲得瞬時(shí)回報(bào)rt+1(st+1)。
步驟2.5:根據(jù)式1更新Q矩陣。
通過(guò)步驟2,認(rèn)知用戶選取最優(yōu)的鄰居用戶用于合作,然后進(jìn)行步驟3的信息交互。在信息交互的過(guò)程中,通過(guò)對(duì)惡意用戶進(jìn)行檢測(cè),伴隨著信譽(yù)值的更新計(jì)算。
步驟3:信息交互及信譽(yù)值更新。
每個(gè)認(rèn)知用戶均有一個(gè)初始的信譽(yù)值,此方案中,將初始信譽(yù)值設(shè)置為2,在每一步迭代過(guò)程中,均會(huì)進(jìn)行信譽(yù)值的更新計(jì)算,如式6所示:
Ri(k)=Ri(k-1)+(-1)b(k)+bi(k)
(6)
其中,Ri(k)表示認(rèn)知用戶i在第k步迭代時(shí)的信譽(yù)值;b(k)表示融合中心的判決結(jié)果;bi(k)表示認(rèn)知用戶i的判決結(jié)果。只有當(dāng)融合中心與認(rèn)知用戶i的判決結(jié)果相同時(shí),認(rèn)知用戶視為誠(chéng)實(shí)用戶,給予信譽(yù)值加1獎(jiǎng)勵(lì),否則給予減1懲罰。此方案中選取合作的鄰居用戶均是信譽(yù)度大于2的認(rèn)知用戶。
步驟3.1:bi(k)的計(jì)算如下:
(7)
這里假設(shè)λ對(duì)于所有的認(rèn)知用戶均適用,λ的具體計(jì)算公式根據(jù)文獻(xiàn)[18]可得,如式8所示,ψi(k)的具體計(jì)算如式10所示。
(8)
(9)
(10)
步驟3.2:b(k)的計(jì)算如下:
(11)
(12)
其中,D(k)表示信譽(yù)度較高的鄰居用戶集合,此方案中選取信譽(yù)度大于2為標(biāo)準(zhǔn),即
D(k)={j|Rj(k)≥2,j∈Mci(0)}
(13)
yj(k)為信譽(yù)值權(quán)重,其表達(dá)式為:
(14)
(15)
步驟4:一致性融合。
認(rèn)知用戶選取鄰居用戶中信譽(yù)度較高的鄰居用戶進(jìn)行數(shù)據(jù)融合,最終智能的惡意用戶放棄惡意攻擊,發(fā)送正確的感知值。
(16)
步驟5:收斂判決。
更新迭代次數(shù):k=k+1;當(dāng)k≥Tm,Tm為預(yù)先設(shè)置的迭代收斂次數(shù),那么整個(gè)感知系統(tǒng)將停止迭代。當(dāng)k 在信息融合階段,由于防御策略,迭代次數(shù)的影響,系統(tǒng)最終的收斂值與真實(shí)值會(huì)有一定的偏差,最終收斂值x*為: (17) 其中,N是認(rèn)知網(wǎng)絡(luò)中的認(rèn)知用戶數(shù);V是用戶集合;xj(0)是迭代結(jié)束后的感知值;η是由于安全策略,迭代次數(shù)導(dǎo)致的最終偏差值。 文中使用的仿真工具為MATLAB。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖3所示,該網(wǎng)絡(luò)由11個(gè)認(rèn)知用戶組成,共有22條鏈路,其中假設(shè)用戶1,2,4為惡意用戶,攻擊方式相同。假設(shè)各個(gè)認(rèn)知用戶所感知的信道為獨(dú)立同分布的Suziki衰落信道,主用戶發(fā)射功率66 dB,相對(duì)距離值取為1 km,認(rèn)知網(wǎng)絡(luò)到主用戶的距離值取為5 km,認(rèn)知網(wǎng)絡(luò)的范圍選取長(zhǎng)和寬均為1 km,各認(rèn)知用戶間可達(dá)通信范圍值取為300 m,噪聲功率值取為-80 dB,陰影衰落參數(shù)值取為3 dB,信道損失參數(shù)值取為3,每個(gè)認(rèn)知用戶的初始信譽(yù)值取值為2。最大迭代數(shù)設(shè)置為100,緩存級(jí)數(shù)取值為5,一致性融合的收斂閾值取為0.04,感知時(shí)長(zhǎng)設(shè)為0.5 ms,蒙特卡洛值取10 000,每個(gè)認(rèn)知用戶的本地感知結(jié)果由本地能量感知得到。在該方案中,強(qiáng)化學(xué)習(xí)的學(xué)習(xí)速率α為0.4,折扣因子γ為0.6。 圖3 認(rèn)知網(wǎng)絡(luò)拓?fù)?/p> 文中研究的攻擊模型主要有自私型攻擊與干擾型攻擊兩種。惡意用戶常見的攻擊策略[19]主要有隨機(jī)性攻擊(random attack,RMA)、間歇性攻擊(intermittent attack,ITA)、持續(xù)性攻擊(always attack,ASA)。 假設(shè)認(rèn)知用戶1,2,4為潛在的惡意用戶,主要對(duì)惡意用戶發(fā)起的隨機(jī)型攻擊RMA,持續(xù)干擾型攻擊ASA&&IFA,持續(xù)自私型攻擊ASA&&SFA等三種攻擊場(chǎng)景進(jìn)行仿真比較,且假設(shè)惡意用戶發(fā)起攻擊方式相同。 圖4表示在惡意用戶1,2,4發(fā)起RMA的情況下,認(rèn)知網(wǎng)絡(luò)的收斂性能。由仿真可見,文中方案能夠有效地抵御惡意用戶發(fā)起的RMA攻擊,惡意用戶1,2,4被甄別之后,將不讓其參與一致性融合過(guò)程,可以獲得更加可靠的收斂值,具有較低的收斂誤差。 圖4 RMA攻擊場(chǎng)景下,認(rèn)知網(wǎng)絡(luò)的收斂性能 圖5表示在惡意用戶1,2,4發(fā)起持續(xù)自私型攻擊ASA&&SFA的情況下,認(rèn)知網(wǎng)絡(luò)的收斂情況分析。由仿真可見,文中方案能夠有效地抵御ASA&&SFA攻擊,具有較快的融合速率,較低的收斂偏差,極大提高了網(wǎng)絡(luò)的可靠性。 圖6主要比較了惡意用戶1,2,4信譽(yù)值的變化情況??梢?,當(dāng)惡意用戶1,2,4發(fā)起RMA攻擊時(shí),通過(guò)提出的強(qiáng)化學(xué)習(xí)與信譽(yù)值結(jié)合方案,能夠有效地甄別其惡意行為,因此其信譽(yù)值是降低的,當(dāng)智能的惡意用戶開始發(fā)送正確的感知值時(shí),信譽(yù)值會(huì)受到獎(jiǎng)勵(lì),此時(shí)信譽(yù)值是增加的。 圖6 惡意用戶1,2,4信譽(yù)值變化曲線 主要研究了在分布式協(xié)作頻譜感知過(guò)程中幾種常見的攻擊方式,提出一種基于強(qiáng)化學(xué)習(xí)的分布式智能入侵防御方案。將強(qiáng)化模型與信譽(yù)模型相結(jié)合,每一個(gè)認(rèn)知用戶通過(guò)不斷地強(qiáng)化學(xué)習(xí)選取最優(yōu)的鄰居用戶進(jìn)行合作,同時(shí)進(jìn)行信譽(yù)值的獎(jiǎng)懲,最終智能的惡意用戶主動(dòng)放棄惡意攻擊,發(fā)送正確的感知值,實(shí)現(xiàn)全網(wǎng)共識(shí)。仿真結(jié)果表明,該方案能有效抵御惡意攻擊,極大地提高了網(wǎng)絡(luò)的健壯性與穩(wěn)定性。3 仿真分析
3.1 存在惡意攻擊仿真分析
3.2 性能分析
4 結(jié)束語(yǔ)