本發(fā)明屬于無線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其是一種基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)方法。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks)是由大量部署在監(jiān)測區(qū)域內(nèi)的廉價微型傳感器節(jié)點組成并通過無線網(wǎng)絡(luò)傳輸方式形成的一個多跳自組織、自適應(yīng)的智能網(wǎng)絡(luò)系統(tǒng),其目的是合作地感知、收集并處理網(wǎng)絡(luò)覆蓋區(qū)域的信息,發(fā)送給管理者。目前,WSN在很多領(lǐng)域被廣泛應(yīng)用。
病毒對無線傳感器網(wǎng)絡(luò)而言是一個嚴(yán)峻的安全問題。計算機網(wǎng)絡(luò)中通常采用給計算機系統(tǒng)打上安全補丁的方法來清除病毒,但是對于無線傳感器網(wǎng)絡(luò),由于其部署量大,節(jié)點難以全部回收,必須考慮采用特殊的安全補丁分發(fā)方法來清除病毒。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)方法,解決無線傳感器網(wǎng)絡(luò)病毒感染后安全補丁難以分發(fā)的問題。
本發(fā)明解決其技術(shù)問題是采取以下技術(shù)方案實現(xiàn)的:
一種基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)方法,包括如下步驟:
步驟1、建立無線傳感器網(wǎng)絡(luò)模型,并將無線傳感器網(wǎng)絡(luò)模型中的無線傳感器網(wǎng)絡(luò)節(jié)點劃分為三種節(jié)點狀態(tài):傳感器節(jié)點處于能正常工作但未打上安全補丁的狀態(tài)、傳感器節(jié)點已被病毒感染的狀態(tài)、打上安全補丁對病毒免疫的狀態(tài);
步驟2、建立二維元胞自動機的安全補丁分發(fā)模型CAS=(C,S,N,F),根據(jù)無線傳感器網(wǎng)絡(luò)節(jié)點的三種不同節(jié)點狀態(tài),進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁的分發(fā);上述安全補丁分發(fā)模型中的C表示元胞空間,S表示元胞的狀態(tài)集,N表示元胞鄰域,F(xiàn)表示元胞演化規(guī)則。
所述步驟1的無線傳感器網(wǎng)絡(luò)模型為:監(jiān)測區(qū)域為一個正方形區(qū)域,其邊長l,在該監(jiān)測區(qū)域內(nèi)包含無線傳感器網(wǎng)絡(luò)節(jié)點個數(shù)為n,節(jié)點密度為ρ,節(jié)點的通信距離為r;所述無線傳感器網(wǎng)絡(luò)節(jié)點用于感知和采集監(jiān)測區(qū)域內(nèi)的數(shù)據(jù)并通過多跳的方式傳輸給基站;所述無線傳感器網(wǎng)絡(luò)節(jié)點初始狀態(tài)下被感染節(jié)點的比例為θ,節(jié)點成功接收安全補丁概率為α,安全補丁清除病毒的概率為β。
所述安全補丁分發(fā)模型中的C、S、N、F分別表示為:
(1)元胞空間C代表l×l個格子的二維網(wǎng)格,設(shè)每個單元最多只容納一個無線傳感器網(wǎng)絡(luò)節(jié)點,該無線傳感器網(wǎng)絡(luò)節(jié)點在空間中的位置使用二維網(wǎng)格中的水平坐標(biāo)i和垂直坐標(biāo)j表示為:
C={(i,j)|1≤i≤l,1≤j≤l}
(2)元胞的狀態(tài)集S包括如下兩個狀態(tài)集:
狀態(tài)集SC為無線傳感器網(wǎng)絡(luò)節(jié)點的狀態(tài),無線傳感器網(wǎng)絡(luò)節(jié)點共分為三個狀態(tài):正常節(jié)點狀態(tài)、已感染狀態(tài)和獲得安全補丁后的免疫狀態(tài);當(dāng)無線傳感器網(wǎng)絡(luò)正常節(jié)點獲得安全補丁后直接進入免疫狀態(tài),已感染節(jié)點的病毒被清除候進入免疫狀態(tài);狀態(tài)集SC通過如下公式進行表示:
狀態(tài)集MAC考慮了無線傳感器網(wǎng)絡(luò)傳輸中的信道訪問原則,分發(fā)補丁時采用CSMA/CA方式:當(dāng)某無線傳感器網(wǎng)絡(luò)節(jié)點監(jiān)聽到信道忙碌后再隨機退避一段時間后進行數(shù)據(jù)發(fā)送,當(dāng)一個無線傳感器網(wǎng)絡(luò)節(jié)點在發(fā)送數(shù)據(jù)時其領(lǐng)域節(jié)點均不能發(fā)送,只有監(jiān)聽到信道空閑后才會嘗試發(fā)送數(shù)據(jù);狀態(tài)集MAC通過如下公式進行表示:
(3)元胞鄰域N
任意節(jié)點Cij的元胞鄰域如下所示:
(4)元胞演化規(guī)則的元胞狀態(tài)轉(zhuǎn)換函數(shù)F
無線傳感器網(wǎng)絡(luò)節(jié)點的狀態(tài)SCij在t時刻的狀態(tài)SCij(t)是由t-1時刻無線傳感器網(wǎng)絡(luò)節(jié)點的狀態(tài)SCij(t-1)以及其鄰域節(jié)點的狀態(tài)集SNij共同決定的,則轉(zhuǎn)換函數(shù)由如下公式表示:
SCj(t)=f(SCij(t-1),SNij(t-1))
①若無線傳感器網(wǎng)絡(luò)節(jié)點在t-1時刻是正常節(jié)點狀態(tài),則其狀態(tài)轉(zhuǎn)換函為:
SCijT(t)=max(1,f1(SNij(t-1)))
上式中,兩個函數(shù)的最大值為無線傳感器網(wǎng)絡(luò)節(jié)點的狀態(tài)SCij;
②若該正常節(jié)點領(lǐng)域有e個獲得安全補丁并在免疫狀態(tài)的節(jié)點發(fā)送安全補丁包,在這個時間間隔內(nèi),則有1-(1-α)e的幾率收到補丁包,當(dāng)信道處于空閑狀態(tài),則無線傳感器網(wǎng)絡(luò)節(jié)點進入免疫狀態(tài);則該狀態(tài)轉(zhuǎn)化函數(shù)為:
③若無線傳感器節(jié)點在t-1時刻是已感染狀態(tài),則狀態(tài)轉(zhuǎn)換函數(shù)為:
SCijv(t)=max(0,f2(SNij(t-1)))
上式中,兩個函數(shù)的最大值為節(jié)點的狀態(tài)SCij;
④若該已感染狀態(tài)節(jié)點領(lǐng)域有e個獲得安全補丁并在免疫狀態(tài)的節(jié)點發(fā)送安全補丁包,在這個時間間隔內(nèi),有1-(1-α)e的幾率收到補丁包,當(dāng)信道處于空閑狀態(tài),則節(jié)點成功接收到補丁包;每收到一個補丁包后,有β的概率進入免疫狀態(tài),則收到g個安全補丁包后治愈的幾率為(1-(1-α)e)(1-(1-β)g);其中,g≤e;則狀態(tài)轉(zhuǎn)化函數(shù)為:
⑤若節(jié)點在t-1時刻已經(jīng)處在免疫狀態(tài),則狀態(tài)轉(zhuǎn)換函數(shù)為:
SCijm(t)=2
此時,免疫狀態(tài)節(jié)點維持此狀態(tài)不變,僅向外繼續(xù)分發(fā)安全補丁。
所述步驟2進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)的方法為:
在初始工作時,進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁的分發(fā),包括以下步驟:
①在l×l正方形區(qū)域內(nèi),在已知的被感染的無線傳感器網(wǎng)絡(luò)中選取一個或若干個節(jié)點采取人工燒寫程序的方式打上安全補丁,進入已打上安全補丁的對病毒免疫的狀態(tài);
1)針對被選中的初始節(jié)點,進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁的分發(fā):
①采用二維元胞自動機的方式向外分發(fā)安全補丁;
②處在已打上安全補丁的對病毒免疫狀態(tài)的節(jié)點,按下式計算元胞空間中的位置C:
C={(i,j)|1≤i≤l,1≤j≤l}
無線傳感器網(wǎng)絡(luò)節(jié)點在獲得安全補丁后的節(jié)點狀態(tài)為SCij=2;
向處在本節(jié)點的元胞鄰域內(nèi)的節(jié)點分發(fā)安全補丁,該節(jié)點的鄰域為改進的擴展型摩爾型鄰域,任意節(jié)點Cij的鄰域為:
上式中,r為每個傳感器節(jié)點最大的發(fā)射距離;
隨后該節(jié)點狀態(tài)SCijm(t)=2并占用鄰域內(nèi)的的信道;
(2)對于已被病毒感染狀態(tài)的節(jié)點,進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā),包括以下步驟:
①已感染病毒狀態(tài)的節(jié)點通過函數(shù)SCijv(t)=max(0,f2(SNij(t-1)))計算自己的下一時刻狀態(tài);
②探測鄰域內(nèi)的信道狀態(tài),若信道空閑,則接收鄰域內(nèi)這些節(jié)點發(fā)送的補丁包;若這個節(jié)點領(lǐng)域有e個獲得安全補丁并在免疫狀態(tài)的節(jié)點,則發(fā)送安全補丁包,在這個時間間隔內(nèi),有1-(1-α)e的幾率收到補丁包;節(jié)點每收到一個補丁包后,有β概率進入免疫狀態(tài),則收到g個安全補丁包后治愈的幾率為(1-(1-α)e)(1-(1-β)g);其中,g≤e;已感染病毒狀態(tài)的節(jié)點若被治愈則進入步驟③,若已感染病毒狀態(tài)的節(jié)點未被治愈,則重復(fù)步驟(2);
③處在已打上安全補丁的對病毒免疫狀態(tài)的節(jié)點,按下式計算元胞空間中的位置C:
C={(i,j)|1≤i≤l,1≤j≤l}
無線傳感器網(wǎng)絡(luò)節(jié)點在獲得安全補丁后的節(jié)點狀態(tài)為SCij=2;
向處在本節(jié)點的元胞鄰域內(nèi)的節(jié)點分發(fā)安全補丁,該節(jié)點的鄰域為改進的擴展型摩爾型鄰域,任意節(jié)點Cij的鄰域為:
上式中,r為每個傳感器節(jié)點最大的發(fā)射距離;
隨后該節(jié)點狀態(tài)SCijm(t)=2并占用鄰域內(nèi)的的信道;
(3)針對正常工作但未打上安全補丁的狀態(tài)的節(jié)點,進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā),包括以下步驟:
①正常工作節(jié)點通過函數(shù)SCijr(t)=max(1,f1(SNij(t-1)))計算自己下一時刻狀態(tài)。
②探測鄰域內(nèi)的信道狀態(tài),若信道空閑,則接收鄰域內(nèi)這些節(jié)點發(fā)送的補丁包;若這個節(jié)點領(lǐng)域有e個獲得安全補丁并在免疫狀態(tài)的節(jié)點發(fā)送安全補丁包,在這個時間間隔內(nèi),有1-(1-α)e的幾率收到補丁包;收到補丁包后,正常節(jié)點進行安全升級,免疫病毒侵害,隨后進入步驟③,若未收到補丁包則重復(fù)步驟(3);
③處在已打上安全補丁的對病毒免疫狀態(tài)的節(jié)點,按下式計算元胞空間中的位置C:
C={(i,j)|1≤i≤l,1≤j≤l}
無線傳感器網(wǎng)絡(luò)節(jié)點在獲得安全補丁后的節(jié)點狀態(tài)為SCij=2;
向處在本節(jié)點的元胞鄰域內(nèi)的節(jié)點分發(fā)安全補丁,該節(jié)點的鄰域為改進的擴展型摩爾型鄰域,任意節(jié)點Cij的鄰域為:
上式中,r為每個傳感器節(jié)點最大的發(fā)射距離;
隨后該節(jié)點狀態(tài)SCijm(t)=2并占用鄰域內(nèi)的的信道;
④令V(t)表示在t時刻已被病毒感染的狀態(tài)傳感器節(jié)點的數(shù)量占比,R(t)表示在t時刻處于能正常工作但未打上安全補丁狀態(tài)的傳感器節(jié)點的數(shù)量占比,M(t)表示在t時刻已打上安全補丁對病毒免疫狀態(tài)的傳感器節(jié)點的數(shù)量占比,表示為:
其中,V(t)+R(t)+M(t)=1。
本發(fā)明的優(yōu)點和積極效果是:
本發(fā)明采用正方形網(wǎng)格的二維元胞自動機,節(jié)點將接收到的安全補丁分發(fā)給其元胞鄰域內(nèi)其他節(jié)點,從而快速有效地將安全補丁分發(fā)給全部無線傳感器節(jié)點,無線傳感器網(wǎng)絡(luò)節(jié)點鄰域采用改進的擴展型摩爾領(lǐng)域,有效剔除了通信距離內(nèi)無法覆蓋的元胞,能夠清楚描述無線傳感器網(wǎng)絡(luò)的真實狀態(tài),解決了針對無線傳感器網(wǎng)絡(luò)病毒感染后安全補丁難以分發(fā)的問題。
附圖說明
圖1是普通元胞自動機摩爾型鄰域示意圖;
圖2是本發(fā)明采用的改進型元胞自動機摩爾型鄰域示意圖;
圖3是打上安全補丁后的V(t)、R(t)、M(t)的曲線圖;
圖4是β=0.2和β=0.6下的V(t)曲線圖;
圖5是β=0.2和β=0.6下的M(t)曲線圖;
圖6是θ=0.4和θ=0.8下的V(t)曲線圖;
圖7是θ=0.4和θ=0.8下的M(t)曲線圖;
圖8是從不同位置分發(fā)安全補丁的M(t)曲線圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明實施例作進一步詳述:
一種基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)方法,包括如下步驟:
步驟1、建立無線傳感器網(wǎng)絡(luò)模型,并根將無線傳感器網(wǎng)絡(luò)模型中的無線傳感器網(wǎng)絡(luò)節(jié)點根據(jù)節(jié)點的特性劃分為r、v、m三種節(jié)點狀態(tài)。
在本實施例中,無線傳感器網(wǎng)絡(luò)模型的監(jiān)測區(qū)域為一個正方形區(qū)域,其邊長l,在監(jiān)測區(qū)域內(nèi)包含無線傳感器網(wǎng)絡(luò)節(jié)點個數(shù)為n,節(jié)點密度為ρ,節(jié)點隨機均勻的分布在二維區(qū)域內(nèi),節(jié)點信號最大發(fā)射距離為r,其可以在距離r內(nèi)進行通信。上述無線傳感器網(wǎng)絡(luò)節(jié)點負(fù)責(zé)感知和采集監(jiān)測區(qū)域內(nèi)的數(shù)據(jù)并通過多跳的方式傳輸給基站。設(shè)無線傳感器網(wǎng)絡(luò)節(jié)點初始狀態(tài)下被感染節(jié)點的比例為θ,節(jié)點成功接收安全補丁概率α,安全補丁清除病毒的概率為β。
無線傳感器網(wǎng)絡(luò)模型根據(jù)節(jié)點的特性劃分為以下三種狀態(tài),如表1所示。
表1無線傳感器節(jié)點狀態(tài)參數(shù)表
r代表傳感器節(jié)點處于能正常工作但未打上安全補丁的狀態(tài);v代表傳感器節(jié)點已被病毒感染的狀態(tài);m代表已打上安全補丁對病毒免疫的狀態(tài);
則有:r(t)+v(t)+m(t)=n。
步驟2、建立二維元胞自動機的安全補丁分發(fā)模型,無線傳感器網(wǎng)絡(luò)節(jié)點的三種不同節(jié)點狀態(tài),進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁的分發(fā)。
二維元胞自動機是簡單構(gòu)造但能產(chǎn)生復(fù)雜自組織行為的離散動力學(xué)系統(tǒng),具有模擬復(fù)雜系統(tǒng)時空演化過程的能力。該二維元胞自動機是由有限個隨機分布的元胞對象組成的離散動態(tài)系統(tǒng),每個元胞都有一個狀態(tài),它在每一個時間步的狀態(tài)根據(jù)變化規(guī)則進行變化。
本發(fā)明的二維元胞自動機的安全補丁分發(fā)模型通過如下四元組公式(1)表示:
CAS=(C,S,N,F) (1)
上式中,C表示元胞空間;S表示元胞的狀態(tài)集;N表示元胞鄰域;F表示元胞演化規(guī)則。
下面分別對該四元組公式(1)中的每個元素進行詳細(xì)說明:
(1)元胞空間C:代表l×l個格子的二維網(wǎng)格,設(shè)每個單元最多只容納一個無線傳感器網(wǎng)絡(luò)節(jié)點。該無線傳感器網(wǎng)絡(luò)節(jié)點在空間中的位置可以用如公式(2)所示的二維網(wǎng)格中的水平坐標(biāo)i和垂直坐標(biāo)j表示:
C={(i,j)|1≤i≤l,1≤j≤l} (2)
(2)元胞的狀態(tài)集S:其內(nèi)包含兩個狀態(tài)集分別為SC和MAC;
其中,SC為無線傳感器網(wǎng)絡(luò)節(jié)點的狀態(tài),無線傳感器網(wǎng)絡(luò)節(jié)點共分為三個狀態(tài):正常節(jié)點狀態(tài)r(無線傳感器節(jié)點處于能正常工作但未打上安全補丁的狀態(tài))、已感染狀態(tài)v(無線傳感器網(wǎng)絡(luò)節(jié)點已被病毒感染的狀態(tài))和獲得安全補丁后的免疫狀態(tài)m(已打上安全補丁對病毒免疫的狀態(tài))。
當(dāng)無線傳感器網(wǎng)絡(luò)正常節(jié)點獲得安全補丁后直接進入免疫狀態(tài),已感染節(jié)點的病毒被清除候進入免疫狀態(tài)。具體如公式(3)所示:
狀態(tài)集MAC考慮了無線傳感器網(wǎng)絡(luò)傳輸中的信道訪問原則,分發(fā)補丁時采用CSMA/CA方式:當(dāng)某無線傳感器網(wǎng)絡(luò)節(jié)點監(jiān)聽到信道忙碌后再隨機退避一段時間后進行數(shù)據(jù)發(fā)送,當(dāng)一個無線傳感器網(wǎng)絡(luò)節(jié)點在發(fā)送數(shù)據(jù)時其領(lǐng)域節(jié)點均不能發(fā)送,只有監(jiān)聽到信道空閑后才會嘗試發(fā)送數(shù)據(jù)。具體如公式(4)所示:
(3)元胞鄰域N:
普通的摩爾型鄰域為圖1所示灰色為k節(jié)點的元胞鄰域,但由于單個無線傳感器網(wǎng)絡(luò)節(jié)點的通信覆蓋為圓形,不能清楚描述網(wǎng)絡(luò)的真實狀態(tài)。本發(fā)明的無線傳感器網(wǎng)絡(luò)節(jié)點鄰域采用改進的擴展型摩爾領(lǐng)域,剔除了通信距離內(nèi)無法覆蓋的元胞,如圖2所示,每個傳感器節(jié)點最大的發(fā)射距離是r,因此任意節(jié)點Cij的元胞鄰域具體如公式(5)所示:
在本發(fā)明的二維元胞自動機的安全補丁分發(fā)模型中,只有屬于鄰域范圍內(nèi)的節(jié)點才可以相互通信。
(4)元胞演化規(guī)則的元胞狀態(tài)轉(zhuǎn)換函數(shù)F
無線傳感器網(wǎng)絡(luò)節(jié)點的狀態(tài)SCij在t時刻的狀態(tài)SCij(t)是由t-1時刻無線傳感器網(wǎng)絡(luò)節(jié)點的狀態(tài)SCij(t-1)以及其鄰域節(jié)點的狀態(tài)集SNij共同決定的,則轉(zhuǎn)換函數(shù)可以由公式(6)表示:
SCij(t)=f(SCij(t-1),SNij(t-1)) (6)
①若無線傳感器網(wǎng)絡(luò)節(jié)點在t-1時刻是正常節(jié)點狀態(tài),則其狀態(tài)轉(zhuǎn)換函數(shù)如公式(7)所示:
SCijr(t)=max(1,f1(SNij(t-1))) (7)
上式中,兩個函數(shù)的最大值為無線傳感器網(wǎng)絡(luò)節(jié)點的狀態(tài)SCij;
②若該正常節(jié)點領(lǐng)域有e個獲得安全補丁并在免疫狀態(tài)的節(jié)點發(fā)送安全補丁包,在這個時間間隔內(nèi),則有1-(1-α)e的幾率收到補丁包,當(dāng)信道處于空閑狀態(tài),則無線傳感器網(wǎng)絡(luò)節(jié)點進入免疫狀態(tài)。
則該狀態(tài)轉(zhuǎn)化函數(shù)由公式(8)表示:
③若無線傳感器節(jié)點在t-1時刻是已感染狀態(tài),則狀態(tài)轉(zhuǎn)換函數(shù)如公式(9)所示:
SCijv(t)=max(0,f2(SNij(t-1))) (9)
上式中,兩個函數(shù)的最大值為節(jié)點的狀態(tài)SCij;
④若該已感染狀態(tài)節(jié)點領(lǐng)域有e個獲得安全補丁并在免疫狀態(tài)的節(jié)點發(fā)送安全補丁包,在這個時間間隔內(nèi),有1-(1-α)e的幾率收到補丁包,當(dāng)信道處于空閑狀態(tài),則節(jié)點成功接收到補丁包。每收到一個補丁包后,有β的概率進入免疫狀態(tài),則收到g個安全補丁包后治愈的幾率為(1-(1-α)e)(1-(1-β)g),其中g(shù)≤e;
則狀態(tài)轉(zhuǎn)化函數(shù)由公式(10)表示:
⑤若節(jié)點在t-1時刻已經(jīng)處在免疫狀態(tài),則狀態(tài)轉(zhuǎn)換函數(shù)由公式(11)表示:
SCijm(t)=2 (11)
此時,節(jié)點維持此狀態(tài)不變,僅向外繼續(xù)分發(fā)安全補丁。
根據(jù)上述二維元胞自動機的安全補丁分發(fā)模型,進行無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)的方法為:
在初始狀態(tài)下,進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁的分發(fā)。
初始狀態(tài)下無線傳感器節(jié)點狀態(tài)包括兩種:傳感器節(jié)點處于能正常工作但未打上安全補丁的狀態(tài)r;傳感器節(jié)點已被病毒感染的狀態(tài)v;
在l×l正方形區(qū)域內(nèi),在已知的被感染的無線傳感器網(wǎng)絡(luò)中選取一個或若干個節(jié)點采取人工燒寫程序的方式打上安全補丁,無論節(jié)點之前是什么狀態(tài),均進入已打上安全補丁的對病毒免疫的狀態(tài);
(1)針對被選中的初始節(jié)點,進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁的分發(fā)。
①采用二維元胞自動機的方式向外分發(fā)安全補??;
②處在已打上安全補丁的對病毒免疫狀態(tài)的節(jié)點可以通過所述步驟2的二維元胞自動機的安全補丁分發(fā)模型的公式(1)計算自己的狀態(tài):
CAS=(C,S,N,F) (1)
上式中,C為在元胞空間中的位置,節(jié)點在空間中的位置可以用二維網(wǎng)格中的水平坐標(biāo)i和垂直坐標(biāo)j表示為所述步驟2的公式(2)
C={(i,j)|1≤i≤l,1≤j≤l} (2)
無線傳感器網(wǎng)絡(luò)節(jié)點在獲得安全補丁后其節(jié)點狀態(tài)為SCij=2;
向處在本節(jié)點的元胞鄰域內(nèi)的節(jié)點分發(fā)安全補丁,與鄰域內(nèi)的節(jié)點進行通信,節(jié)點的鄰域為改進的擴展型摩爾型鄰域,由所述步驟2的公式(3)計算,每個傳感器節(jié)點最大的發(fā)射距離是r,因此,任意節(jié)點Cij的鄰域為:
隨后此節(jié)點狀態(tài)SCijm(t)=2占用鄰域內(nèi)的的信道,本節(jié)點自己的狀態(tài)SCijm(t)=2。
(2)針對病毒感染狀態(tài)的節(jié)點,進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā),具體方法為:
①針對已感染病毒狀態(tài)的節(jié)點通過函數(shù)SCijv(t)=max(0,f2(SNij(t-1)))計算自己的下一時刻狀態(tài);
②探測鄰域內(nèi)的信道狀態(tài),若信道空閑,則接收鄰域內(nèi)這些節(jié)點發(fā)送的補丁包;若這個節(jié)點領(lǐng)域有e個獲得安全補丁并在免疫狀態(tài)的節(jié)點發(fā)送安全補丁包,在這個時間間隔內(nèi),有1-(1-α)e的幾率收到補丁包;每收到一個補丁包后,有β的概率進入免疫狀態(tài),則收到g個安全補丁包后治愈的幾率為(1-(1-α)e)(1-(1-β)g);其中,g≤e。
已感染病毒狀態(tài)的節(jié)點若被治愈則進入“初始節(jié)點”中的步驟②,若已感染病毒狀態(tài)的節(jié)點未被治愈,則重復(fù)本步驟。
(3)針對正常工作狀態(tài)的節(jié)點,進行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)方法的具體步驟包括:
①正常工作節(jié)點通過函數(shù)SCijr(t)=max(1,f1(SNij(t-1)))計算自己下一時刻狀態(tài)。
②探測鄰域內(nèi)的信道狀態(tài),若信道空閑,則接收鄰域內(nèi)這些節(jié)點發(fā)送的補丁包。若這個節(jié)點領(lǐng)域有e個獲得安全補丁并在免疫狀態(tài)的節(jié)點發(fā)送安全補丁包,在這個時間間隔內(nèi),有1-(1-α)e的幾率收到補丁包;收到補丁包后,正常節(jié)點進行安全升級,免疫病毒侵害,隨后進入“初始節(jié)點”中的步驟②,若未收到補丁包則重復(fù)此步驟。
③令V(t)表示在t時刻已被病毒感染的狀態(tài)傳感器節(jié)點的數(shù)量占比,R(t)表示在t時刻處于能正常工作但未打上安全補丁狀態(tài)的傳感器節(jié)點的數(shù)量占比,M(t)表示在t時刻已打上安全補丁對病毒免疫狀態(tài)的傳感器節(jié)點的數(shù)量占比,由公式(4)表示:
其中,V(t)+R(t)+M(t)=1
經(jīng)過一段時間,表明采用本發(fā)明的一種基于元胞自動機的安全補丁分發(fā)方法能夠?qū)⒔狱c安全補丁分發(fā)完畢,安全補丁分發(fā)完畢后,所有節(jié)點狀態(tài)均為:已打上安全補丁對病毒免疫的狀態(tài)m。
下面對本發(fā)明的基于元胞自動機的安全補丁分發(fā)方法進行仿真實驗,用于驗證本方法的可靠性。
該仿真實驗網(wǎng)絡(luò)環(huán)境設(shè)置如下:監(jiān)測區(qū)域為一個正方形區(qū)域,其邊長l=200m,在監(jiān)測區(qū)域內(nèi)包含節(jié)點個數(shù)為n,節(jié)點密度為ρ,節(jié)點的通信距離為r,網(wǎng)絡(luò)中初始被感染節(jié)點的比例為θ,節(jié)點成功接收安全補丁概率α,安全補丁清除病毒的概率為β,每輪單位時間內(nèi)內(nèi)進行10次通信。
在本仿真實驗中,我們研究在無線傳感器的不同參數(shù)下安全補丁分發(fā)效果,初始值節(jié)點個數(shù)n=20000,節(jié)點密度為ρ=0.5,通信距離r=10m,初始被感染比例θ=0.4,節(jié)點成功接收安全補丁概率α=0.8,安全補丁清除病毒的概率為β=0.6時,將坐標(biāo)為(100,100)節(jié)點打上安全補丁后的V(t)、R(t)、M(t)的曲線如圖3所示。實驗表明在第23輪后所有節(jié)點均已打上安全補丁,此發(fā)明采用的方法非常高效。
我們考察在安全補丁清除病毒能力較差時的補丁分發(fā)效果,取β=0.2。圖4表示不同的取值下的V(t)曲線,圖5表示不同取值下的M(t)曲線。該實驗表明當(dāng)清除能力較差時β=0.2時,該方法仍能在第30輪將所有節(jié)點打上補丁,該方法仍然高效。
考察在網(wǎng)絡(luò)中初始被感染節(jié)點的比例較高時補丁分發(fā)效果,取θ=0.8。圖6表示不同的取值下的V(t)曲線,圖7表示不同取值下的M(t)曲線。該實驗表明當(dāng)感染節(jié)點在初始被感染節(jié)點補丁較高,80%節(jié)點都受病毒感染時,該方法可以在第25輪將所有節(jié)點打上補丁,仍然具有高效性。
考察此方法在不同坐標(biāo)位置初始節(jié)點的分發(fā)效果,分別從(100,100),(50,50)和(10,10)位置開始分發(fā)安全補丁,圖8表示不同取值下的M(t)曲線。此實驗表明越靠近區(qū)域中心,節(jié)點分發(fā)補丁的速度越快。但此方法在區(qū)域邊緣(10,10)的位置仍能在36輪將補丁分發(fā)完畢,證明此方法選擇區(qū)域中任何節(jié)點作為初始節(jié)點分發(fā)安全補丁,最終均能快速將補丁分發(fā)完畢。
需要強調(diào)的是,本發(fā)明所述的實施例是說明性的,而不是限定性的,因此本發(fā)明包括并不限于具體實施方式中所述的實施例,凡是由本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出的其他實施方式,同樣屬于本發(fā)明保護的范圍。