1.一種基于元胞自動機的無線傳感器網(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(xiàn)),根據(jù)無線傳感器網(wǎng)絡(luò)節(jié)點的三種不同節(jié)點狀態(tài),進(jìn)行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁的分發(fā);上述安全補丁分發(fā)模型中的C表示元胞空間,S表示元胞的狀態(tài)集,N表示元胞鄰域,F(xiàn)表示元胞演化規(guī)則。
2.根據(jù)權(quán)利要求1所述的一種基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)方法,其特征在于:所述步驟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é)點成功接收安全補丁概率為α,安全補丁清除病毒的概率為β。
3.根據(jù)權(quán)利要求1或2所述的一種基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)方法,其特征在于:所述安全補丁分發(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é)點獲得安全補丁后直接進(jìn)入免疫狀態(tài),已感染節(jié)點的病毒被清除候進(jìn)入免疫狀態(tài);狀態(tài)集SC通過如下公式進(jìn)行表示:
狀態(tài)集MAC考慮了無線傳感器網(wǎng)絡(luò)傳輸中的信道訪問原則,分發(fā)補丁時采用CSMA/CA方式:當(dāng)某無線傳感器網(wǎng)絡(luò)節(jié)點監(jiān)聽到信道忙碌后再隨機退避一段時間后進(jì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通過如下公式進(jìn)行表示:
(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)集共同決定的,則轉(zhuǎn)換函數(shù)由如下公式表示:
SCij(t)=f(5Cij(t-1),SNij(t-1))
①若無線傳感器網(wǎng)絡(luò)節(jié)點在t-1時刻是正常節(jié)點狀態(tài),則其狀態(tài)轉(zhuǎn)換函為:
SCijr(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é)點進(jìn)入免疫狀態(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é)點成功接收到補丁包;每收到一個補丁包后,有β的概率進(jìn)入免疫狀態(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ā)安全補丁。
4.根據(jù)權(quán)利要求1或2所述的一種基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)方法,其特征在于:所述步驟2進(jìn)行基于元胞自動機的無線傳感器網(wǎng)絡(luò)安全補丁分發(fā)的方法為:
在l×l正方形區(qū)域內(nèi),在已知的被感染的無線傳感器網(wǎng)絡(luò)中選取一個或若干個節(jié)點采取人工燒寫程序的方式打上安全補丁,進(jìn)入已打上安全補丁的對病毒免疫的狀態(tài);
(1)針對被選中的初始節(jié)點,進(jìn)行基于元胞自動機的無線傳感器網(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é)點的鄰域為改進(jìn)的擴展型摩爾型鄰域,任意節(jié)點Cij的鄰域為:
上式中,r為每個傳感器節(jié)點最大的發(fā)射距離;
隨后該節(jié)點狀態(tài)SCijm(t)=2并占用鄰域內(nèi)的的信道;
(2)對于已被病毒感染狀態(tài)的節(jié)點,進(jìn)行基于元胞自動機的無線傳感器網(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é)點每收到一個補丁包后,有β概率進(jìn)入免疫狀態(tài),則收到g個安全補丁包后治愈的幾率為1-(1-α)e)(1-(1-β)g);其中,g≤e;已感染病毒狀態(tài)的節(jié)點若被治愈則進(jìn)入步驟③,若已感染病毒狀態(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é)點的鄰域為改進(jìn)的擴展型摩爾型鄰域,任意節(jié)點Cij的鄰域為:
上式中,r為每個傳感器節(jié)點最大的發(fā)射距離;
隨后該節(jié)點狀態(tài)SCijm(t)=2并占用鄰域內(nèi)的的信道;
(3)針對正常工作但未打上安全補丁的狀態(tài)的節(jié)點,進(jìn)行基于元胞自動機的無線傳感器網(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é)點進(jìn)行安全升級,免疫病毒侵害,隨后進(jìn)入步驟③,若未收到補丁包則重復(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é)點的鄰域為改進(jìn)的擴展型摩爾型鄰域,任意節(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。