孫子文, 楊晨曦
(1. 江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院, 江蘇 無錫 214122; 2. 物聯(lián)網(wǎng)技術(shù)應(yīng)用教育部工程研究中心, 江蘇 無錫 214122)
工業(yè)無線傳感器網(wǎng)絡(luò)(industrial wireless sensor networks, IWSNs)具有自組織性和多跳特性,可用于工業(yè)生產(chǎn)和監(jiān)控的工業(yè)數(shù)據(jù)的實時傳輸,可遠(yuǎn)程實時監(jiān)控工業(yè)生產(chǎn)過程[1-2]。但受能量、連接性和安全性的限制,IWSNs面臨來自無線通信信道的干擾攻擊[3-4],尤其是具有隨機性和靈活特性的移動干擾的攻擊[5-7]。
移動干擾攻擊與防御干擾兩者之間的行為可視為一個博弈的過程?,F(xiàn)有研究抵御移動干擾的文獻(xiàn)較少,初步可查詢到在隨機移動攻擊場景中,由邊緣計算設(shè)備選取最佳協(xié)作節(jié)點發(fā)射干擾信號和合法節(jié)點共同抵御惡意攻擊,來提高無線網(wǎng)絡(luò)的安全速率[8]。描述博弈的方法主要為靜態(tài)干擾攻擊[9-10],將合法用戶和智能干擾器的交互關(guān)系建模為Stackelberg博弈,采用最優(yōu)功率分配算法得到最佳合法用戶發(fā)射功率,以提高無線網(wǎng)絡(luò)抗干擾能力[9];將攻擊者和合法用戶的競爭關(guān)系建模為聯(lián)合博弈,通過提高合法用戶的信干噪比(signal-to-interference-plus-noise-ratio, SINR)和降低攻擊者的信號接收強度,求得博弈均衡條件,保證無線網(wǎng)絡(luò)的安全速率[10]。目前缺乏通過將攻防雙方的競爭行為建模為博弈模型并抵御移動攻擊的方法,同時防御方被動參與博弈無法保證有效降低攻擊方的干擾能力。
協(xié)作干擾技術(shù)利用無線信道的固有特性[11],協(xié)作方通過向攻擊方發(fā)送反干擾信號,削弱攻擊方的干擾攻擊,降低防御方獨自抵御攻擊的損耗,有效保證通信安全[12-13]。通過建立多信道Stackelberg博弈模型,可保證傳感器和控制器之間的信道傳輸安全[14]。為提高無線通信系統(tǒng)網(wǎng)絡(luò)安全速率,建立非完全信息Stackelberg博弈,求解合法節(jié)點最佳功率[15]。為解決從控制器到執(zhí)行器的下行鏈路通信安全問題,采用協(xié)作節(jié)點向攻擊者發(fā)送干擾信號,以最大化提高合法通信信道的安全速率[16]。采用非合作博弈的人工干擾噪聲策略對抗網(wǎng)絡(luò)攻擊,提高無線認(rèn)知傳感網(wǎng)絡(luò)抵御隱私攻擊的能力[17]。為提高車聯(lián)網(wǎng)的安全性能,引入?yún)f(xié)作者向竊聽信道發(fā)送干擾信號,建立平均安全速率,求出合法者和協(xié)作者的最佳功率[18]。利用協(xié)作干擾信號混淆無人機攻擊方的信號,抵御無人機攻擊[19]。在無協(xié)作前提下僅采用合法者與攻擊者進行對抗博弈[14-15],合法者自身消耗較大,通過引入?yún)f(xié)作干擾技術(shù)[16-19],可降低消耗,但由于合法者之間的效益非均衡最優(yōu),無法保證長期穩(wěn)定的協(xié)作,因此通信網(wǎng)絡(luò)的安全速率無法保證。
為解決IWSNs物理層移動干擾攻擊問題,本文將博弈論結(jié)合協(xié)作干擾技術(shù),建立sink節(jié)點和簇頭節(jié)點協(xié)作的兩層Stackelberg博弈模型。以網(wǎng)絡(luò)安全速率為優(yōu)化目標(biāo),將sink節(jié)點、最佳協(xié)作節(jié)點和攻擊節(jié)點之間的合作競爭關(guān)系建立為兩層Stackelberg博弈,采用逆向歸納法求解sink節(jié)點最佳發(fā)送功率和協(xié)作節(jié)點最佳協(xié)作單價,提高協(xié)作節(jié)點積極性,提高IWSNs通信網(wǎng)絡(luò)安全速率。
圖1為IWSNs模型。
圖1 IWSNs模型Fig.1 IWSNs model
設(shè)網(wǎng)絡(luò)中有η個sink節(jié)點、N個簇頭節(jié)點(包含N-1個協(xié)作干擾節(jié)點和1個發(fā)送節(jié)點i)、若干個普通節(jié)點和1個攻擊節(jié)點。sink節(jié)點按照自身的路由路徑移動,同時,收集一跳之內(nèi)來自簇頭節(jié)點的數(shù)據(jù)信息;簇頭節(jié)點隨機分布在sink節(jié)點的周圍,收集簇內(nèi)普通節(jié)點的數(shù)據(jù)信息并轉(zhuǎn)發(fā)給就近的sink節(jié)點;攻擊節(jié)點在移動過程中隨機向通信范圍內(nèi)的sink節(jié)點發(fā)送干擾信號。被選為最佳協(xié)作節(jié)點的簇頭節(jié)點J*,負(fù)責(zé)向攻擊節(jié)點發(fā)送反干擾信號。
為排除信號衰落和噪聲因素對模型的影響,假設(shè)以下前提條件:① 在整個IWSNs模型中,攻擊節(jié)點處于隨機干擾狀態(tài);② 所有節(jié)點端含有獨立分布且具有相同方差的加性高斯白噪聲。
節(jié)點的干擾度量值是指節(jié)點受到鄰居簇頭節(jié)點信道干擾和自身自干擾對節(jié)點能量和傳輸功率的損耗。IWSNs中,節(jié)點采用電池供電,能量有限,且較大能耗的節(jié)點將加速剩余能量較小的節(jié)點死亡,故將節(jié)點剩余能量也作為節(jié)點的干擾度量。
考慮節(jié)點處于移動環(huán)境下,定義t時刻協(xié)作節(jié)點J的干擾度量值為
(1)
假設(shè)節(jié)點J每輪數(shù)據(jù)收集一跳通信范圍內(nèi)的簇頭節(jié)點產(chǎn)生lbit的消息,則節(jié)點J接收到的信息量和節(jié)點J向其他K個鄰居節(jié)點發(fā)送的信息量分別為
(2)
(3)
式中:ETNg,J表示節(jié)點對每條路徑的期望傳輸次數(shù),IEEE802.15.4規(guī)定數(shù)據(jù)發(fā)送次數(shù)最大不超過5[20],當(dāng)ETNJ,g>5和ETNg,J>5,節(jié)點g和節(jié)點J不能相互通信。
假設(shè)節(jié)點單位時間內(nèi)接收和發(fā)送lbit信息所耗能量分別為Er和Et,在每輪數(shù)據(jù)收集過程中,節(jié)點J發(fā)送和接收lbit數(shù)據(jù)時的能耗分別為
(4)
結(jié)合信道容量與SINR[21],描述IWSNs通信安全。
由文獻(xiàn)[22]可得信道增益,則t時刻簇頭節(jié)點i和攻擊節(jié)點A到sink節(jié)點的信道增益、節(jié)點J到節(jié)點A和sink節(jié)點的信道增益分別為
(5)
(6)
(7)
(8)
從發(fā)送節(jié)點i到sink節(jié)點的SINR為
(9)
由香農(nóng)定理,從節(jié)點i到sink節(jié)點的主信道容量為
Ci,s=B1log2(1+γi,s)
(10)
式中:B1為主信道帶寬。
從攻擊節(jié)點到sink節(jié)點的SINR為
(11)
由香農(nóng)定理,從攻擊節(jié)點到sink節(jié)點的干擾信道容量為
CA,s=B2log2(1+γA,s)
(12)
式中:B2為干擾信道帶寬。
以sink節(jié)點的抗干擾和攻擊節(jié)點的攻擊表征IWSNs安全性能,而sink節(jié)點的抗干擾和攻擊節(jié)點的攻擊分別體現(xiàn)為主信道容量和干擾信道容量,因此定義網(wǎng)絡(luò)安全速率[23]為主信道容量和干擾信道容量的差值:
SRi=max(Ci,s-CA,s,0)
(13)
由式(13)可知,網(wǎng)絡(luò)安全速率越高,說明主信道容量相比干擾信道容量越大,間接表明sink節(jié)點的抗干擾能力越強,攻擊節(jié)點的干擾能力越弱。因此,可通過提高網(wǎng)絡(luò)安全速率來提高sink節(jié)點的抗干擾能力,降低攻擊節(jié)點的干擾能力。
(14)
以IWSNs網(wǎng)絡(luò)安全速率為優(yōu)化目標(biāo),簇頭節(jié)點在N-1個協(xié)作節(jié)點中選擇最佳J*:
(15)
化簡得到最佳協(xié)作節(jié)點J*:
(16)
研究對合法節(jié)點最不利的條件,即攻擊節(jié)點可獲得sink節(jié)點和協(xié)作節(jié)點的信道信息,同時預(yù)測二者的策略選擇。研究式(14)的博弈策略可知:
(1) 攻擊節(jié)點和sink節(jié)點具有競爭關(guān)系。sink節(jié)點為最大化IWSNs安全速率,選擇數(shù)據(jù)發(fā)送功率以獲得最大主信道容量;攻擊節(jié)點根據(jù)預(yù)測到的sink節(jié)點的策略,選擇最佳惡意干擾功率以獲得最大干擾信道容量,以最小化IWSNs安全速率。
(2) 協(xié)作節(jié)點和sink節(jié)點具有競爭合作關(guān)系。為sink節(jié)點和協(xié)作節(jié)點的合作關(guān)系長久保持,sink節(jié)點需要向協(xié)作節(jié)點支付報酬,以激勵協(xié)作節(jié)點共同合作抵御攻擊。對sink節(jié)點,為最大化IWSNs安全速率,需要選擇最佳發(fā)送功率,同時向協(xié)作節(jié)點購買最佳協(xié)作干擾功率;由于提供協(xié)作功率所需付出的額外消耗,協(xié)作節(jié)點為達(dá)到收支平衡,選擇最佳協(xié)作干擾功率單價。
由分析可知,研究利用兩層協(xié)作Stackelberg博弈模型分析sink節(jié)點、攻擊節(jié)點和協(xié)作節(jié)點之間的多層競爭合作關(guān)系。
根據(jù)協(xié)作節(jié)點共同防御移動干擾攻擊的方案中的兩層嵌套競爭和合作關(guān)系,在第一層Stackelberg博弈中,將攻擊節(jié)點設(shè)置為領(lǐng)導(dǎo)者,將sink節(jié)點設(shè)置為跟隨者;在第二層Stackelberg博弈中,將最佳協(xié)作節(jié)點設(shè)置為領(lǐng)導(dǎo)者,將sink節(jié)點設(shè)置為跟隨者。建立兩層協(xié)作Stackelberg博弈模型:
G=[{A,J*,s},{PA,μ,(Ps,PJ*)},{UA,UJ,Us}]
(17)
兩層協(xié)作Stackelberg博弈模型包含3個階段,如圖2所示。
圖2 兩層協(xié)作Stackelberg博弈模型Fig.2 Two-layer cooperative Stackelberg game model
兩層協(xié)作Stackelberg博弈是經(jīng)典Stackelberg博弈的多層嵌套[24],第一層博弈領(lǐng)導(dǎo)者攻擊節(jié)點同時也是第二層博弈的領(lǐng)導(dǎo)者,根據(jù)上一輪sink節(jié)點的策略選擇自身的攻擊功率;最佳協(xié)作節(jié)點作為第二層博弈的領(lǐng)導(dǎo)者,通過觀察攻擊節(jié)點的策略,調(diào)整協(xié)作功率單價;sink節(jié)點作為第一層和第二層博弈領(lǐng)導(dǎo)者的跟隨者,通過觀察兩個領(lǐng)導(dǎo)者的策略做出最佳選擇。第一層和第二層的博弈者之間按照決策順序參與博弈,形成嵌套關(guān)系,相互影響,相互制約,直至三方選擇出符合自身利益最大化原則的決策。
第一階段:對攻擊節(jié)點,為最小化網(wǎng)絡(luò)安全速率,同時考慮到自身受到的信道干擾和能量消耗,設(shè)計效用函數(shù)如下:
(18)
式中:第1項表示攻擊節(jié)點通過增加干擾信道容量使得網(wǎng)絡(luò)安全速率降低后的收益,安全速率越低,攻擊節(jié)點收益越大;第2項表示攻擊節(jié)點的能量消耗;第3項表示攻擊節(jié)點的信道干擾度量值。
由式(18),解決問題式(19)可得最佳干擾攻擊功率:
(19)
第二階段:對最佳協(xié)作節(jié)點J*,有償對sink節(jié)點提供協(xié)作服務(wù),同時考慮協(xié)作后的能量消耗和信道干擾度量值,設(shè)計效用函數(shù)如下:
(20)
式中:第1項表示節(jié)點J*提供服務(wù)后的收益;第2項表示節(jié)點J*的能量消耗;第3項表示節(jié)點J*的信道干擾度量值。
由式(20),解決問題式(21)可得最佳協(xié)作干擾功率單價:
(21)
第三階段:對sink節(jié)點,為最大化網(wǎng)絡(luò)安全速率,同時考慮到節(jié)點的能量消耗和信道干擾度量值,設(shè)計效用函數(shù)如下:
(22)
式中:第1項表示sink節(jié)點提高安全速率獲得的收益;第2項表示節(jié)點的能量消耗;第3項表示節(jié)點的信道干擾度量值;第4項為sink節(jié)點付給協(xié)作節(jié)點的報酬。
由式(22),解決問題式(23)可得sink節(jié)點最佳數(shù)據(jù)發(fā)送功率和最佳協(xié)作功率:
(23)
安全速率式(13)經(jīng)博弈建模轉(zhuǎn)化為3個節(jié)點的效用函數(shù)最大化問題,分別為式(19)、式(21)和式(23)的3個子優(yōu)化問題,子優(yōu)化問題的解即為博弈均衡解。
2.2.1 sink節(jié)點最佳策略分析
sink節(jié)點為最大化主信道容量,考慮節(jié)點的能量消耗和信道干擾,問題式(23)可轉(zhuǎn)化為問題式(24):
(24)
(25)
(26)
(27)
(28)
(29)
證明由式(24)和式(27)得到相應(yīng)的海塞矩陣:
(30)
式中:
證畢
2.2.2 最佳協(xié)作節(jié)點的最佳策略分析
(31)
令式(31)等于0,得μ*的均衡解為
(32)
當(dāng)μ*<0時,協(xié)作節(jié)點認(rèn)為需無償提供協(xié)作干擾功率到攻擊節(jié)點,這種情況不符合現(xiàn)實場景,本文不討論此條件。
2.2.3 攻擊節(jié)點的最佳策略分析
攻擊節(jié)點以最大化干擾信道容量為優(yōu)化目標(biāo),選擇最佳惡意干擾功率,考慮到能量消耗和信道干擾,優(yōu)化問題式(19)可轉(zhuǎn)化為
(33)
(34)
(35)
Stackelberg博弈是一種完全信息的動態(tài)博弈,采用逆向歸納法求解Stackelberg博弈均衡解,可體現(xiàn)博弈動態(tài)性,同時降低博弈中不可信的策略選擇,提高博弈均衡解的準(zhǔn)確性。
防移動干擾攻擊的兩層博弈模型均衡解的分析流程如圖3所示。
圖3 博弈均衡解的分析流程Fig.3 Analysis process for game equilibrium solution
該分析流程主要分為以下幾個步驟:
步驟 1初始化
步驟 2循環(huán)迭代
步驟 2.4循環(huán)迭代,t=t+1。
使用軟件進行仿真分析,參數(shù)配置如表1所示,其中sink節(jié)點和攻擊節(jié)點在移動過程中的路由協(xié)議參考低延遲最佳鏈路狀態(tài)路由[26],噪聲方差歸一化為1×10-3[27]。移動路由協(xié)議采用低延遲最佳鏈路狀態(tài)路由(low latency-optimized link state routing, LL-OLSR)。
表1 仿真參數(shù)Table 1 Simulation parameters
選取sink節(jié)點發(fā)送功率和效用函數(shù)、攻擊節(jié)點效用函數(shù)和協(xié)作節(jié)點的協(xié)作功率為評價指標(biāo),攻擊節(jié)點和sink節(jié)點的初始位置隨機設(shè)為(0,0)和(40,0),由式(5)~式(8),在節(jié)點區(qū)域內(nèi)隨機選取6組攻擊節(jié)點和sink節(jié)點之間距離由近及遠(yuǎn)的位置坐標(biāo),分析sink節(jié)點有簇頭節(jié)點協(xié)作和無簇頭節(jié)點協(xié)作時的發(fā)送功率,仿真結(jié)果如圖4、圖5和表2、表3所示。
表2 不同位置坐標(biāo)對的節(jié)點協(xié)作干擾功率Table 2 Cooperative interference power of cooperative nodes of coordinate pairs of different positions W
表3 有無協(xié)作時不同位置坐標(biāo)對的sink節(jié)點發(fā)送功率Table 3 Sending power of sink node of different coordinate pairs of different positions with or without collaboration W
圖4 不同位置坐標(biāo)對的sink節(jié)點效用函數(shù)Fig.4 Utility function of sink node of coordinate pairs of different positions
圖5 不同位置坐標(biāo)對的攻擊節(jié)點效用函數(shù)Fig.5 Utility function of attack node of coordinate pairs of different positions
由圖4和圖5可知,sink節(jié)點和攻擊節(jié)點距離較近的效用函數(shù)值低于距離較遠(yuǎn)的效用函數(shù)值,這是因為距離較近時,sink節(jié)點接收攻擊節(jié)點的信號強度高于距離較遠(yuǎn)時的信號強度,受到的干擾更大。攻擊節(jié)點在距離sink節(jié)點較近的效用函數(shù)值高于距離較遠(yuǎn)的效用函數(shù)值,這是因為距離較近時,攻擊節(jié)點更易攻擊到sink節(jié)點,效用函數(shù)也更高。
由表2可知,sink節(jié)點距離攻擊節(jié)點較近時,sink節(jié)點采取積極的防御策略,向協(xié)作節(jié)點購買的協(xié)作功率降低;sink節(jié)點距離攻擊節(jié)點較遠(yuǎn)時,sink節(jié)點采取消極的防御策略,向協(xié)作節(jié)點購買的協(xié)作功率增加。因此,協(xié)作節(jié)點起到了防御攻擊節(jié)點的作用。
表3對比分析了有無協(xié)作時sink節(jié)點的發(fā)送功率。在無協(xié)作節(jié)點時,sink節(jié)點在距離攻擊節(jié)點較遠(yuǎn)的位置獲得較大的發(fā)送功率,這是因為攻擊節(jié)點遠(yuǎn)離sink節(jié)點較遠(yuǎn)時,發(fā)射的干擾信號較弱,sink節(jié)點的發(fā)送功率得到提高;在有簇頭節(jié)點作為協(xié)作節(jié)點時,sink節(jié)點在距離攻擊節(jié)點較遠(yuǎn)時獲得較小的發(fā)送功率,這是因為攻擊節(jié)點遠(yuǎn)離sink節(jié)點時,協(xié)作節(jié)點通過發(fā)射反干擾信號給攻擊節(jié)點,使sink節(jié)點在發(fā)射功率較小的條件下完成數(shù)據(jù)收集過程??傊?sink節(jié)點在有協(xié)作條件下的發(fā)送功率比無協(xié)作時平均提升了101.5%。
分析本文方案在網(wǎng)絡(luò)安全速率方面的性能,選取網(wǎng)絡(luò)安全速率為評價指標(biāo),將無協(xié)作干擾(no cooperative jamming, NCJ)方案和邊緣計算設(shè)備協(xié)作方案[8]進行仿真對比分析,結(jié)果如圖6所示。
圖6 不同方案的網(wǎng)絡(luò)安全速率Fig.6 Network security rates of different schemes
由圖6可知,NCJ方案和邊緣計算設(shè)備協(xié)作方案的網(wǎng)絡(luò)安全速率均低于本文所提協(xié)作節(jié)點選擇方案,這是因為NCJ方案中的合法節(jié)點只依靠自身功率和能量抵御攻擊節(jié)點,邊緣計算設(shè)備協(xié)作方案采用邊緣設(shè)備選擇協(xié)作節(jié)點,大大增加了協(xié)作成本,導(dǎo)致協(xié)作節(jié)點服務(wù)積極性不高,協(xié)作節(jié)點選擇方案選取對攻擊節(jié)點干擾程度最大且對sink節(jié)點影響最低的協(xié)作節(jié)點,在降低干擾信道容量的同時降低了對主信道容量的影響。
分析sink節(jié)點抗干擾性能的提升,選取sink節(jié)點效用函數(shù)為評價指標(biāo),與基于抗干擾信道的積極吸引[28](active attraction based anti-jamming channel access, 3ACA)算法、基于博弈的信道分配[29](channel allocation based on Stackelberg game, CASG)算法和納什討價還價博弈[30](Nash bargaining game, NBG)算法進行仿真對比分析,結(jié)果如圖7所示。
圖7 不同方案的sink節(jié)點效用函數(shù)Fig.7 Utility function of sink node of different schemes
由圖7可知,本文方案的sink節(jié)點效用函數(shù)值高于其他3種方案。這是因為3ACA算法和CASG算法以犧牲節(jié)點的信道訪問方式為代價,且沒有其他抗干擾技術(shù)共同抵御攻擊,NBG模型中博弈雙方在未考慮彼此策略的前提下獨立且同步地進行決策,無法保證合法節(jié)點的收益函數(shù)。本文所提sink節(jié)點通過購買協(xié)作功率獲得協(xié)作節(jié)點有償服務(wù),實現(xiàn)了效用函數(shù)的最大化。
針對IWSNs物理層抵御移動干擾攻擊節(jié)點的安全問題,研究sink節(jié)點和簇頭節(jié)點共同協(xié)作的兩層抗干擾博弈模型。首先,利用協(xié)作干擾技術(shù)在簇頭節(jié)點中選擇最佳協(xié)作節(jié)點,共同抵御移動干擾節(jié)點。其次,利用兩層Stackelberg博弈模型為sink節(jié)點、最佳協(xié)作節(jié)點和攻擊節(jié)點之間的合作競爭關(guān)系行為建模,以網(wǎng)絡(luò)安全速率為優(yōu)化目標(biāo),采用逆向歸納法求解博弈均衡解。仿真結(jié)果表明,與其他博弈模型相比,本文采用的協(xié)作節(jié)點選擇方案對移動攻擊節(jié)點的抵御效果更佳,兩層協(xié)作Stackelberg博弈模型可有效提高通信網(wǎng)絡(luò)安全速率。