專利名稱:基于自動(dòng)機(jī)和生命游戲的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明是WSN(Wireless Sensor Network,無(wú)線傳感器網(wǎng)絡(luò))中廣播認(rèn)證機(jī)制的一種新型方法,屬于物聯(lián)網(wǎng)和無(wú)線傳感器網(wǎng)絡(luò)技術(shù)以及信息安全技術(shù)的交叉領(lǐng)域。
背景技術(shù):
WSN由部署在檢測(cè)區(qū)域內(nèi)的大量廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信的方式形成一個(gè)多跳的自組織的網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作的感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對(duì)象的信息,并發(fā)送給觀察者。WSN由于廣播認(rèn)證的特殊性,例如拓?fù)浣Y(jié)構(gòu)的動(dòng)態(tài)變化、觸發(fā)時(shí)間的同步性、以及網(wǎng)絡(luò)流量的不穩(wěn)定性,使得這種網(wǎng)絡(luò)需要定制一種有效的廣播認(rèn)證方法。WSN按照網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)來(lái)分類,可以分成平面式結(jié)構(gòu)和層簇式結(jié)構(gòu)。平面式分布傳感器網(wǎng)絡(luò)由一個(gè)或一組計(jì)算能力強(qiáng)的基站和大量廉價(jià)的微型傳感器節(jié)點(diǎn)所組成。網(wǎng)絡(luò)中,采用延遲透露對(duì)稱密鑰的機(jī)制來(lái)實(shí)現(xiàn)非對(duì)稱性,從而達(dá)到廣播認(rèn)證的目的。而當(dāng)網(wǎng)絡(luò)規(guī)模大節(jié)點(diǎn)數(shù)眾多時(shí),基站的覆蓋范圍受限,將很難實(shí)現(xiàn)向全網(wǎng)節(jié)點(diǎn)的廣播。層簇式結(jié)構(gòu)從一定程度上克服了平面式網(wǎng)絡(luò)結(jié)構(gòu)的缺陷,本發(fā)明提出一種基于DFA(Deterministic Finite Automation,確定有窮自動(dòng)機(jī))的分簇算法,將傳感器網(wǎng)絡(luò)劃分為多個(gè)簇,每個(gè)簇在地理位置上位于不同的區(qū)域,簇中含有多個(gè)節(jié)點(diǎn)(簇與簇之間沒(méi)有交集);另外,將按照某種算法 (例如Leach算法,具體采用何種選舉簇頭的算法對(duì)本發(fā)明要保護(hù)的內(nèi)容并無(wú)影響)選擇出某個(gè)節(jié)點(diǎn)擔(dān)任該簇的簇頭,負(fù)責(zé)該簇與上一層簇頭或者基站的信息交互等工作,具體的拓?fù)浣Y(jié)構(gòu)如圖1所示。CA (Cellular Automaton,元胞自動(dòng)機(jī))結(jié)構(gòu)簡(jiǎn)單、易于在計(jì)算機(jī)上實(shí)現(xiàn)、有較強(qiáng)的表達(dá)復(fù)雜關(guān)系的能力,因此可用于對(duì)網(wǎng)絡(luò)模型的研究,尤其是對(duì)網(wǎng)絡(luò)整體動(dòng)態(tài)特性的研究。CA按其所在元胞空間的維數(shù)可簡(jiǎn)單分為一維CA、二維CA、三維CA、高維CA。其中, 二維CA的著名模型有生命游戲模型??紤]到WSN網(wǎng)絡(luò)流量分布與因特網(wǎng)網(wǎng)絡(luò)流量分布的不同,本發(fā)明提出了一種基于 GoL(Game of Life,生命游戲)的網(wǎng)絡(luò)模擬流量算法。宏觀來(lái)看,因特網(wǎng)網(wǎng)絡(luò)流量呈現(xiàn)泊松分布,而WSN由于節(jié)點(diǎn)間的無(wú)線鏈接的脆弱性、拓?fù)浣Y(jié)構(gòu)動(dòng)態(tài)變化、以及無(wú)線信道的開放性等特征,其網(wǎng)絡(luò)流量呈現(xiàn)復(fù)雜的形態(tài)。將時(shí)間離散化,某一時(shí)段網(wǎng)絡(luò)的數(shù)據(jù)包流量映射為 GoL中某個(gè)時(shí)刻處于工作狀態(tài)的元胞數(shù)量。這樣,能夠模擬WSN中的一種或多種網(wǎng)絡(luò)流量形態(tài),并根據(jù)實(shí)際情況可以對(duì)流量模型進(jìn)行實(shí)時(shí)的改變。
發(fā)明內(nèi)容
技術(shù)問(wèn)題本發(fā)明的目的主要是針對(duì)層簇式結(jié)構(gòu)的WSN,提出一種新型的基于自動(dòng)機(jī)的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,根據(jù)實(shí)際節(jié)點(diǎn)分布管理、密鑰發(fā)布時(shí)間確定、WSN網(wǎng)絡(luò)流量模擬三方面情況來(lái)具體實(shí)現(xiàn)廣播認(rèn)證。技術(shù)方案
首先給出幾個(gè)定義鄰居節(jié)點(diǎn)任意節(jié)點(diǎn)A—跳范圍內(nèi)的節(jié)點(diǎn)稱之為其鄰居節(jié)點(diǎn),A可與其鄰居節(jié)點(diǎn)直接通信,但并非A所有的鄰居節(jié)點(diǎn)都和其在同一簇中;舉例說(shuō)明,如圖1所示,節(jié)點(diǎn)1和節(jié)點(diǎn) 3都是節(jié)點(diǎn)2的鄰居節(jié)點(diǎn),但是節(jié)點(diǎn)1和節(jié)點(diǎn)2位于簇1中,而節(jié)點(diǎn)3位于簇2。非鄰居節(jié)點(diǎn)任意節(jié)點(diǎn)A除了鄰居節(jié)點(diǎn)之外不能直接通信的節(jié)點(diǎn)稱之為其非鄰居節(jié)點(diǎn),可能存在許多A的非鄰居節(jié)點(diǎn)與A在同一簇中;舉例說(shuō)明,如圖1所示,節(jié)點(diǎn)3與節(jié)點(diǎn) 5位于同一簇內(nèi),但節(jié)點(diǎn)5不是節(jié)點(diǎn)3的鄰居節(jié)點(diǎn)。在本方法中,簇頭節(jié)點(diǎn)之間并非直接通信,而是通過(guò)中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)信息。舉例說(shuō)明,如圖1所示,簇1中的簇頭節(jié)點(diǎn)(節(jié)點(diǎn)1)需要和簇2中的簇頭節(jié)點(diǎn)(節(jié)點(diǎn)4)進(jìn)行通信, 則需要通過(guò)中繼節(jié)點(diǎn)(節(jié)點(diǎn)2)進(jìn)行跳轉(zhuǎn)。改進(jìn)的模η確定有窮自動(dòng)機(jī)(模nDFA)有一個(gè)初態(tài),η個(gè)終態(tài),對(duì)于任意的0、1字符串(二進(jìn)制數(shù))能且只能到達(dá)其中一個(gè)終態(tài);舉例說(shuō)明,如圖2所示,為改進(jìn)的模3DFA, 終態(tài)Cli表示該二進(jìn)制數(shù)所對(duì)應(yīng)的十進(jìn)制數(shù)模3后余i,如,某二進(jìn)制數(shù)(00101101)2經(jīng)過(guò)改進(jìn)模3DFA到達(dá)終態(tài)q(l,表示該二進(jìn)制數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)G5) 10模3結(jié)果為0 ;圖3所示的模5DFA和圖4所示的模7DFA和模3DFA同理,只有終態(tài)個(gè)數(shù)有變化。完成代價(jià)對(duì)于任意改進(jìn)的模nDFA,從狀態(tài)Qi —步跳轉(zhuǎn)到Qj的權(quán)值為| i_j |/n(i 可以大于等于或者小于j),而每個(gè)0、1字符串從初態(tài)qn到達(dá)終態(tài)qz的所有路徑的權(quán)值和即為該字符串相對(duì)該DFA的完成代價(jià);舉例說(shuō)明,如圖2所示,字符串0011相對(duì)于改進(jìn)模3DFA 的完成代價(jià)為5/3。元胞自動(dòng)機(jī)(CA)模型空間被一定形式的網(wǎng)格分割為許多單元,即元胞(cell), 每一元胞取有限的離散狀態(tài),遵循同樣的作用規(guī)則,依據(jù)確定的局部規(guī)則作同步更新,散布在規(guī)則網(wǎng)格中的大量元胞通過(guò)簡(jiǎn)單的相互作用而構(gòu)成動(dòng)態(tài)系統(tǒng)的演化。CA按其所在元胞空間的維數(shù)可簡(jiǎn)單分為一維CA、二維CA、三維CA、高維CL·以Wolfram —維CA舉例說(shuō)明,如圖 5所示,每個(gè)元胞的狀態(tài)(有0、1兩種狀態(tài))由其本身和左、右鄰居三者在上一個(gè)時(shí)刻的狀態(tài)決定(即S/+1 =_/^_/,S1', Si+/),其中^+1代表t+1時(shí)刻中間元胞的狀態(tài),幻,Si-ASi+/分別代表t時(shí)刻中間元胞和左、右鄰居的狀態(tài)),按照規(guī)則90演化0011011010 (隨機(jī)值,默認(rèn)為t =0時(shí)刻的狀態(tài)),在t = 1時(shí)刻狀態(tài)為0111011001,在t = 2時(shí)刻狀態(tài)為0101011110,. . ·, 這樣不斷動(dòng)態(tài)變化下去,構(gòu)成整個(gè)系統(tǒng)的時(shí)間空間動(dòng)態(tài)變化。(注規(guī)則90以3個(gè)元胞為一個(gè)單位,每個(gè)元胞有0、1兩種狀態(tài),所以3個(gè)元胞組成的一個(gè)單位有 8 種狀態(tài),分別是(111)、(110)、(101)、(100)、(011)、(010)、(001)、(000), 其中,(110)表示t時(shí)刻左鄰居狀態(tài)為1,本身狀態(tài)為1,右鄰居狀態(tài)為0,即SiY = 1,S/= 1, Si+/ = 0,其余的 7 種狀態(tài)含義類似。又由于 Ill2 = 710,IlO2 = 610,IOl2 = 510,IOO2 = 410, Oll2 = 31(|,OlO2 = 21(|,OOl2 = IiqjOOO2 = Oltl,且 90 = 0^2^1^2^0^2^1^2^1^2^0^2^1^21 +0 °,故規(guī)定在(110)、(100)、(011)、(001)這四種相鄰狀態(tài)下,下一時(shí)刻中間元胞的狀態(tài)為1,其余4種相鄰狀態(tài)的下一時(shí)刻中間元胞的狀態(tài)為0,即1 = f(l,l,0),l = f(l,0,0), 1 = f(0,l,l),l = f(0,0,l),0 = f(l,1,1),0 = f(l,0,1),0 = f(0,1,0),0 = f(0,0,0)。邊界條件為周期邊界規(guī)則,即將一個(gè)隨機(jī)的0、1字符串首尾相接,左邊界和右邊界為新鄰居,左邊界變成右邊界的右鄰居,而右邊界變成左邊界的左鄰居。則左邊界、右邊界、右邊界的左鄰居三者為一個(gè)單位共同決定下一時(shí)刻右邊界的狀態(tài),同理右邊界、左邊界、左邊界的右鄰居三者為一個(gè)單位共同決定下一時(shí)刻左邊界的狀態(tài)。如圖5所示,舉例說(shuō)明,t時(shí)刻的狀態(tài)為0111011001,則左邊界0為右邊界1的右鄰居,右邊界1為左邊界0的左鄰居,在計(jì)算t+Ι時(shí)刻的狀態(tài)時(shí),可將其看作是Iloil 10110011 0,左邊界t時(shí)刻為0,t+1 時(shí)刻為0 = €(1,0,1),右邊界1時(shí)刻為1, t+Ι時(shí)刻為0 = f(0,l,0)。)S23/B3 即為Survive2,3/Birth3,以9個(gè)網(wǎng)格為一個(gè)單位,每個(gè)網(wǎng)格有“工作”、 “休眠”兩種狀態(tài)。如果一個(gè)“工作”的網(wǎng)格周圍的8個(gè)鄰居網(wǎng)格中有2個(gè)或者3個(gè)“工作”, 那么這個(gè)網(wǎng)格在下一個(gè)時(shí)刻的狀態(tài)依然為“工作”,否則“休眠”;如果一個(gè)“休眠”的網(wǎng)格周圍恰巧有3個(gè)“工作”的鄰居網(wǎng)格,那這個(gè)網(wǎng)格在下一個(gè)時(shí)刻的狀態(tài)變成“工作”,否則依然 “休眠”。舉例說(shuō)明,如圖6所示,圖中有18張小圖,每個(gè)小圖左邊代表t時(shí)刻9個(gè)相鄰網(wǎng)格的狀態(tài),小圖右邊表示t+Ι時(shí)刻9個(gè)相鄰網(wǎng)格的狀態(tài)。t時(shí)刻,在小圖(1)到小圖(9)中, 中間網(wǎng)格的狀態(tài)為“工作”,但只有小圖⑶和小圖⑷符合S23的條件(S卩,小圖(3)有兩個(gè)“工作”鄰居,小圖⑷有三個(gè)“工作”鄰居)所以,在t+Ι時(shí)刻,只有小圖(2)和小圖(3) 的中間網(wǎng)格狀態(tài)仍保持為“工作”,而小圖⑴、(4)、(5)、(6)、(7)、(8)、(9)的中間網(wǎng)格狀態(tài)變成“休眠”。t時(shí)刻,在小圖(10)到小圖(18)中,中間網(wǎng)格的狀態(tài)為“休眠”,但只有小圖(13)滿足B3的條件(S卩,小圖(13)有3個(gè)“工作”鄰居)所以,在t+Ι時(shí)刻,只有小圖 (13)的中間網(wǎng)格狀態(tài)變成“工作”,而小圖(10)、(11)、(12)、(14)、(15)、(16)、(17)、(18) 的中間網(wǎng)格狀態(tài)仍保持“休眠”。生命游戲是二維元胞自動(dòng)機(jī)的一種著名模型,依照規(guī)則S23/B3來(lái)實(shí)現(xiàn)元胞在 “工作”、“休眠”兩種狀態(tài)間的轉(zhuǎn)換。本發(fā)明中,將“工作”狀態(tài)的元胞數(shù)作為WSN中數(shù)據(jù)包的流量。舉例說(shuō)明,如圖7所示,t時(shí)刻黑色格子的數(shù)目為12,代表此時(shí)網(wǎng)絡(luò)中的數(shù)據(jù)包的數(shù)目也為12。本發(fā)明針對(duì)WSN,將廣播認(rèn)證分成三個(gè)部分,第一部分是普通節(jié)點(diǎn)的分簇方法,第二部分是網(wǎng)絡(luò)數(shù)據(jù)包流量的模擬,第三部分是廣播密鑰發(fā)布時(shí)間的確定。在方法實(shí)現(xiàn)第一部分之前,需要對(duì)WSN進(jìn)行初始化。網(wǎng)絡(luò)部署之前,每個(gè)節(jié)點(diǎn)存儲(chǔ)一個(gè)身份標(biāo)識(shí)(ID號(hào))、一個(gè)能識(shí)別0、1字符串的 DFA、能量值、簇頭節(jié)點(diǎn)(某個(gè)節(jié)點(diǎn)的ID號(hào),表示該節(jié)點(diǎn)屬于哪一個(gè)簇)、節(jié)點(diǎn)類型標(biāo)識(shí)(標(biāo)識(shí)為簇頭、中繼、普通三者之一)。舉例說(shuō)明,如圖1所示,簇2的簇頭節(jié)點(diǎn)是節(jié)點(diǎn)4,節(jié)點(diǎn)4 的前驅(qū)節(jié)點(diǎn)為節(jié)點(diǎn)2。每個(gè)節(jié)點(diǎn)也含有一個(gè)鄰居列表,記錄鄰居節(jié)點(diǎn)的ID號(hào)、能量值、完成代價(jià)(見定義)、簇頭號(hào)、響應(yīng)時(shí)間等信息。配置完以上信息之后,網(wǎng)絡(luò)開始部署。方法流程該廣播認(rèn)證方法的完整過(guò)程將具體描述如下一基于DFA的分簇過(guò)程將DFA作為每個(gè)節(jié)點(diǎn)的屬性特征,即每個(gè)節(jié)點(diǎn)都含有某一種改進(jìn)的模nDFA,用于識(shí)別和處理分簇建立過(guò)程中的接收信號(hào)。改進(jìn)的模nDFA通過(guò)對(duì)接收信號(hào)的處理得到各自的完成代價(jià),即當(dāng)接收信號(hào)和模nDFA確定時(shí),所對(duì)應(yīng)的完成代價(jià)也確定。這樣,綜合完成代價(jià)、能量值等因素來(lái)確定所需要選擇的節(jié)點(diǎn)的優(yōu)先級(jí),選擇優(yōu)先級(jí)高的節(jié)點(diǎn)作為所需要的節(jié)點(diǎn)?;镜泥従庸?jié)點(diǎn)建立過(guò)程
該認(rèn)證流程劃分為基于用窮自動(dòng)機(jī)DFA的分簇過(guò)程,基于生命游戲的無(wú)線傳感器網(wǎng)絡(luò)WSN數(shù)據(jù)流量的模擬過(guò)程,哈希Hash密鑰鏈的構(gòu)造、基于網(wǎng)絡(luò)流量的發(fā)布和驗(yàn)證過(guò)程三部分一 .基于DFA的分簇過(guò)程將DFA作為每個(gè)節(jié)點(diǎn)的屬性特征,即每個(gè)節(jié)點(diǎn)都含有某一種改進(jìn)的模η有窮自動(dòng)機(jī)(模nDFA),用于識(shí)別和處理分簇建立過(guò)程中的接收信號(hào),改進(jìn)的模nDFA通過(guò)對(duì)接收信號(hào)的處理得到各自的完成代價(jià),即當(dāng)接收信號(hào)和模nDFA確定時(shí),所對(duì)應(yīng)的完成代價(jià)也確定, 這樣,綜合完成代價(jià)、能量值等因素來(lái)確定所需要選擇的節(jié)點(diǎn)的優(yōu)先級(jí),選擇優(yōu)先級(jí)高的節(jié)點(diǎn)作為所需要的節(jié)點(diǎn);基站的鄰居節(jié)點(diǎn)建立過(guò)程步驟1)基站節(jié)點(diǎn)廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點(diǎn)ID,一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟2)若接收節(jié)點(diǎn)尚未有簇頭節(jié)點(diǎn),則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點(diǎn) ID,本節(jié)點(diǎn)ID,能量信息,完成代價(jià)],并將基站節(jié)點(diǎn)作為簇頭節(jié)點(diǎn)記錄下來(lái);步驟3)基站節(jié)點(diǎn)將所有接收節(jié)點(diǎn)信息存入鄰居節(jié)點(diǎn)列表中,并以完成代價(jià)升序排列;基站的簇頭選舉過(guò)程步驟4)基站節(jié)點(diǎn)從上向下遍歷鄰居列表,選擇響應(yīng)時(shí)間小于時(shí)間閾值Tt、能量值大于能量閾值A(chǔ)的節(jié)點(diǎn)為簇頭節(jié)點(diǎn);簇頭數(shù)量可通過(guò)調(diào)整Tt和&來(lái)確定;步驟5)基站節(jié)點(diǎn)廣播發(fā)送“簇建立消息”,按照[消息類型,源節(jié)點(diǎn)ID,選為簇頭節(jié)點(diǎn)ID]的格式進(jìn)行;步驟6)接收節(jié)點(diǎn)收到“簇建立消息”后,若被選舉為簇頭節(jié)點(diǎn),則將類型標(biāo)識(shí)改為 “簇頭”,簇頭節(jié)點(diǎn)ID改為自己的ID ;簇頭的鄰居節(jié)點(diǎn)建立過(guò)程步驟7)任一簇頭節(jié)點(diǎn)i廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點(diǎn)ID, 一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟8)若接收節(jié)點(diǎn)尚未有簇頭節(jié)點(diǎn),則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點(diǎn) ID,本節(jié)點(diǎn)ID,能量信息,完成代價(jià)],并將節(jié)點(diǎn)i作為簇頭節(jié)點(diǎn)記錄下來(lái);步驟9)節(jié)點(diǎn)i將所有接收節(jié)點(diǎn)信息存入鄰居節(jié)點(diǎn)列表中,并以完成代價(jià)升序排列;簇頭的中繼節(jié)點(diǎn)的選舉過(guò)程步驟10)簇頭節(jié)點(diǎn)i從上向下遍歷鄰居列表,選擇類型標(biāo)識(shí)為“普通”、響應(yīng)時(shí)間小于時(shí)間閾值TTi、能量值大于能量閾值QTi的節(jié)點(diǎn)為中繼節(jié)點(diǎn);中繼節(jié)點(diǎn)的數(shù)量可通過(guò)調(diào)整 Tli和QTi來(lái)確定;步驟11)節(jié)點(diǎn)i廣播發(fā)送“中繼節(jié)點(diǎn)選舉消息”,按照[消息類型,源節(jié)點(diǎn)ID,選為中繼節(jié)點(diǎn)ID]的格式進(jìn)行;步驟12)接收節(jié)點(diǎn)收到“中繼節(jié)點(diǎn)選舉消息”后,若被選舉為中繼節(jié)點(diǎn),則將類型標(biāo)識(shí)改為“中繼”;中繼的鄰居節(jié)點(diǎn)建立過(guò)程
步驟13)任一中繼節(jié)點(diǎn)j廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點(diǎn) ID,一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟14)若接收節(jié)點(diǎn)尚未有簇頭節(jié)點(diǎn),則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點(diǎn)ID,本節(jié)點(diǎn)ID,能量信息,完成代價(jià)];步驟15)中繼節(jié)點(diǎn)將所有接收節(jié)點(diǎn)信息存入鄰居節(jié)點(diǎn)列表中,并以完成代價(jià)升序排列;中繼的后繼簇頭節(jié)點(diǎn)選舉過(guò)程步驟16)中繼節(jié)點(diǎn)j從上向下遍歷鄰居列表,選擇類型標(biāo)識(shí)為“普通”、響應(yīng)時(shí)間小于時(shí)間閾值TTi、能量值大于能量閾值QTi的節(jié)點(diǎn)為簇頭節(jié)點(diǎn);中繼節(jié)點(diǎn)的數(shù)量可通過(guò)調(diào)整 Tli和QTi來(lái)確定;步驟17)節(jié)點(diǎn)j廣播發(fā)送“簇頭節(jié)點(diǎn)選舉”消息,按照[消息類型,源節(jié)點(diǎn)ID,選為簇頭節(jié)點(diǎn)ID]的格式進(jìn)行;步驟18)接收節(jié)點(diǎn)收到“簇頭節(jié)點(diǎn)選舉消息”后,若被選舉為簇頭節(jié)點(diǎn),則將類型標(biāo)識(shí)改為“簇頭”,簇頭節(jié)點(diǎn)ID改為自己的ID ;新節(jié)點(diǎn)的加入過(guò)程步驟19)任一新節(jié)點(diǎn)k廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點(diǎn)ID, 一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟20)接收節(jié)點(diǎn)立即反饋應(yīng)答消息,即[消息類型,源節(jié)點(diǎn)ID,本節(jié)點(diǎn)ID,能量信息,完成代價(jià),節(jié)點(diǎn)類型];步驟21)節(jié)點(diǎn)k將所有接收節(jié)點(diǎn)信息存入鄰居節(jié)點(diǎn)列表中,將“簇頭”節(jié)點(diǎn)優(yōu)先排在前面,再以完成代價(jià)升序排列;步驟22)節(jié)點(diǎn)k從上向下遍歷鄰居列表,若沒(méi)有鄰居則此節(jié)點(diǎn)失效,加入失敗,結(jié)束;步驟23)若鄰居節(jié)點(diǎn)中有簇頭節(jié)點(diǎn),則向簇頭發(fā)送“請(qǐng)求加入”消息,按照[消息類型,簇頭節(jié)點(diǎn)ID,本節(jié)點(diǎn)ID]的格式進(jìn)行;步驟24)簇頭節(jié)點(diǎn)收到請(qǐng)求消息后,發(fā)送“新鄰居更新”消息,即包含[消息類型, 源節(jié)點(diǎn)ID,新節(jié)點(diǎn)ID,一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟25)節(jié)點(diǎn)k立即反饋應(yīng)答消息,即消息類型,源節(jié)點(diǎn)ID,本節(jié)點(diǎn)ID,能量信息,完成代價(jià)],并將簇頭ID記錄下來(lái);步驟26)簇頭節(jié)點(diǎn)按照完成代價(jià)由小到大的順序,將節(jié)點(diǎn)k的信息插入鄰居節(jié)點(diǎn)列表中;步驟27)若鄰居節(jié)點(diǎn)全部為普通節(jié)點(diǎn),節(jié)點(diǎn)k從上向下遍歷鄰居列表,選擇響應(yīng)時(shí)間小于時(shí)間閾值TTi、能量值大于能量閾值QTi的節(jié)點(diǎn)ρ為中繼節(jié)點(diǎn),向節(jié)點(diǎn)ρ發(fā)送“中繼節(jié)點(diǎn)選舉”消息,按照[消息類型,源節(jié)點(diǎn)ID,選為中繼節(jié)點(diǎn)ID]的格式進(jìn)行;步驟28)節(jié)點(diǎn)ρ收到被選舉消息后,發(fā)送“新鄰居更新”消息,即包含[消息類型, 源節(jié)點(diǎn)ID,新節(jié)點(diǎn)ID,一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟29)節(jié)點(diǎn)k立即反饋應(yīng)答消息,即消息類型,源節(jié)點(diǎn)ID,本節(jié)點(diǎn)ID,能量信息,完成代價(jià)],并將中繼ID記錄下來(lái)記為簇頭節(jié)點(diǎn);二基于生命游戲的WSN數(shù)據(jù)流量的模擬過(guò)程
采用L*L的正方形網(wǎng)格的二維模型,每個(gè)網(wǎng)格為一個(gè)元胞,“工作”狀態(tài)的元胞數(shù)即為網(wǎng)絡(luò)流量數(shù);其中,L值由網(wǎng)絡(luò)的最大流量數(shù)dgmax確定,即L*L ^ dgmax ;將一維的網(wǎng)絡(luò)流量映射到二維的網(wǎng)格中,通過(guò)對(duì)網(wǎng)格生命狀態(tài)的模擬近似得到網(wǎng)絡(luò)流量的分布;每個(gè)離散時(shí)刻點(diǎn)所有“工作”狀態(tài)的網(wǎng)格數(shù)即為對(duì)應(yīng)時(shí)間段內(nèi)基站節(jié)點(diǎn)需要廣播的數(shù)據(jù)包個(gè)數(shù);對(duì)應(yīng)的時(shí)間段為(q_l) *tdg到q*tdg,其中^g為一段固定的時(shí)長(zhǎng),q為時(shí)刻點(diǎn),q = 0,1,2,3,...;網(wǎng)絡(luò)啟動(dòng)時(shí)流量的模擬過(guò)程步驟30)置L*L個(gè)網(wǎng)格的初始狀態(tài)為0,即表示“休眠”狀態(tài),設(shè)初始時(shí)刻時(shí)間為0, 即;步驟31)隨機(jī)選擇rdm個(gè)網(wǎng)格,將其狀態(tài)置為1,即表示“工作”狀態(tài),此時(shí)刻記為 l*tdg,表示0*tdg到l*tdg時(shí)段內(nèi)數(shù)據(jù)包流量為rdm ;rdm為小于2*L的隨機(jī)值;步驟3 所有的網(wǎng)格會(huì)根據(jù)生命游戲的S23/B3規(guī)則,隨著^g前的系數(shù)q的遞增不斷地變換其狀態(tài),對(duì)應(yīng)于(Q-IRttig到C^ttlg時(shí)段內(nèi)數(shù)據(jù)包流量不斷變化;步驟33)網(wǎng)絡(luò)啟動(dòng)過(guò)程中,即從l*tdg到20*、8時(shí)間段,流量是一個(gè)宏觀的遞增過(guò)程,因此,當(dāng)“工作”狀態(tài)網(wǎng)格數(shù)目小于rdm/2時(shí),需要增加rdn個(gè)“工作”網(wǎng)格,即再次隨機(jī)選擇rdn個(gè)網(wǎng)格,將其狀態(tài)置為1 ;rdn為小于rdm的隨機(jī)數(shù);網(wǎng)絡(luò)穩(wěn)定時(shí)流量的模擬過(guò)程步驟34)網(wǎng)絡(luò)穩(wěn)定過(guò)程中,即從21*、8往后的時(shí)間段,所有的網(wǎng)格會(huì)根據(jù)生命游戲的S23/B3規(guī)則,隨著tdg前的系數(shù)q的遞增不斷地變換其狀態(tài),對(duì)應(yīng)于(q_l) *tdg到C^ttlg時(shí)段內(nèi)數(shù)據(jù)包流量不斷變化;步驟35)在網(wǎng)絡(luò)穩(wěn)定過(guò)程中,若出現(xiàn)數(shù)據(jù)流量長(zhǎng)時(shí)間低于閾值Iiumsmall = L的情況, 則需要增加rdk個(gè)“工作”網(wǎng)格,即隨機(jī)選擇rdk個(gè)網(wǎng)格,將其狀態(tài)置為1 ;其中,長(zhǎng)時(shí)間表示 tdg遞增了 30次,即表示整個(gè)網(wǎng)格的狀態(tài)連續(xù)變換了 30次;rdk為小于L的隨機(jī)數(shù);三Hash密鑰鏈的構(gòu)造、基于網(wǎng)絡(luò)流量的發(fā)布和驗(yàn)證過(guò)程假設(shè)在(q-1) *tdg到q*tdg時(shí)間段內(nèi)的數(shù)據(jù)包總數(shù)目為dg,,且以速度dg/、勻速到達(dá)基站,即表示在(q-1) *tdg到q*、時(shí)間段內(nèi),dgq個(gè)數(shù)據(jù)包每個(gè)以tdg/c^的時(shí)間間隔依次到達(dá)基站;將一個(gè)^g長(zhǎng)的時(shí)間段可分為(1 個(gè)小時(shí)段,每個(gè)小時(shí)段長(zhǎng)為tdg/dg(1,每個(gè)小時(shí)段用I表示,第i個(gè)小時(shí)段記為Ii);每一小時(shí)段擁有一對(duì)對(duì)稱密鑰Ki,用于加密和解密需要廣播的內(nèi)容,并且,在第Ii小時(shí)段內(nèi)廣播第i個(gè)廣播密文和公布第i-d個(gè)密鑰Ki_d,顯然,發(fā)布廣播密鑰較發(fā)布密文的時(shí)間差C^tdgAtetl要長(zhǎng)于基站節(jié)點(diǎn)與最遠(yuǎn)節(jié)點(diǎn)之間的一次包交換時(shí)間;d表示密鑰發(fā)布的延遲尺寸;步驟36)基站生成一個(gè)隨機(jī)數(shù)R,并利用偽隨機(jī)函數(shù)H,計(jì)算H(R),H2 (R),-,Hn(R) 分別作為η次會(huì)話的密鑰存放在密鑰池中,將Hn(R)作為密鑰頭Ktl,并規(guī)定第i小時(shí)段的密鑰 Ki = Hlri(R),其中,i = 1,2, ...,n,且 Htl(R) =R),n>>dgq;步驟37)基站廣播初始參數(shù)消息,即[消息類型,源節(jié)點(diǎn)ID,當(dāng)前基站時(shí)鐘Tb,開始時(shí)間T1,密鑰頭Ktl,時(shí)間間隔tdg/dg(1,透露時(shí)延d,最大時(shí)鐘差異δ_];步驟38)每級(jí)簇頭節(jié)點(diǎn)和中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)基站的廣播初始參數(shù)消息;步驟39)各節(jié)點(diǎn)收到后,將各自的時(shí)鐘與基站節(jié)點(diǎn)的時(shí)鐘同步,并且記錄下1\為、tdg/dgq> d、δ max 等信息;步驟40)基站節(jié)點(diǎn)在第i個(gè)小時(shí)段內(nèi),廣播第i個(gè)數(shù)據(jù)包密文和發(fā)布第i_d個(gè)密鑰U ;步驟41)接收節(jié)點(diǎn)收到第i個(gè)tdg/dg(1的數(shù)據(jù)包密文后,判斷密鑰Ki是否已經(jīng)發(fā)布過(guò),若已經(jīng)發(fā)布則丟棄此包;若尚未發(fā)布則先驗(yàn)證Κ"的真假,若為真則緩存此包并且解密第i_d時(shí)段密文數(shù)據(jù)包,否則丟棄;步驟42) (q-1) *tdg到C^ttlg時(shí)間段內(nèi)的數(shù)據(jù)包廣播完成后,hash密鑰鏈從 Α'Οι Μ用到巧^歧,則從q*td往后的時(shí)間段的數(shù)據(jù)包使用從%^郇,1開始往后的密鑰,以此類推直到密鑰鏈用完。有益效果本發(fā)明提出了基于自動(dòng)機(jī)和生命游戲的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,該方法具有如下優(yōu)點(diǎn)(1)通過(guò)利用基于DFA的分簇算法一定程度上克服了平面式網(wǎng)絡(luò)結(jié)構(gòu)的缺陷,擴(kuò)大了基站節(jié)點(diǎn)的通信范圍,并且實(shí)現(xiàn)了網(wǎng)絡(luò)中節(jié)點(diǎn)能量的合理分配;(2)通過(guò)利用基于生命游戲的模擬流量算法,一定程度上能夠模擬WSN中的一種或多種網(wǎng)絡(luò)流量形態(tài),并可以根據(jù)實(shí)際情況對(duì)流量模型進(jìn)行實(shí)時(shí)的改變。
圖1層簇式WSN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖,
圖2改進(jìn)的模3DFA,
圖3改進(jìn)的模5DFA,
圖4改進(jìn)的模7DFA,
圖5沃爾夫勒姆(Wolfram) —維<
圖6 S23/B3 規(guī)則,
圖7生命游戲,
圖8 WSN流量模擬啟動(dòng)過(guò)程,
圖9 WSN流量模擬穩(wěn)定過(guò)程。
具體實(shí)施例方式以下將以圖1到圖9為例,通過(guò)一個(gè)具體的例子來(lái)進(jìn)一步詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案和方法流程。首先完成網(wǎng)絡(luò)的初始化,即分配給每個(gè)節(jié)點(diǎn)唯一的ID、某個(gè)模η的DFA、并且在節(jié)點(diǎn)中存儲(chǔ)以下內(nèi)容能量值、簇頭節(jié)點(diǎn)、節(jié)點(diǎn)類型標(biāo)識(shí)、鄰居列表[鄰居節(jié)點(diǎn)ID、能量值、完成代價(jià)、簇頭節(jié)點(diǎn)、響應(yīng)時(shí)間]。以圖1中的節(jié)點(diǎn)1為例,節(jié)點(diǎn)1的ID為ID1,存放著一個(gè)模 3的DFA,能量值為2J,簇頭節(jié)點(diǎn)為基站的ID(IDtl),節(jié)點(diǎn)類型為“簇頭”,鄰居列表中存在四項(xiàng)內(nèi)容,代表它有四個(gè)鄰居,即分別為節(jié)點(diǎn)2、節(jié)點(diǎn)7、節(jié)點(diǎn)8、節(jié)點(diǎn)9,其中鄰居節(jié)點(diǎn)2的信息為ID2,1. 5J,8/5,0. 2msO一基于DFA的分簇過(guò)程基站的鄰居節(jié)點(diǎn)建立過(guò)程以基站節(jié)點(diǎn)、節(jié)點(diǎn)1、節(jié)點(diǎn)8、節(jié)點(diǎn)10、節(jié)點(diǎn)11為例說(shuō)明。
步驟1)基站節(jié)點(diǎn)廣播發(fā)送“鄰居建立”消息Mbn =[ “鄰居建立”,IDq,00110110], 其中“鄰居建立”是消息類型,ID0是源節(jié)點(diǎn)ID,00110110是一串隨機(jī)的0、1字符串;步驟2)節(jié)點(diǎn)1收到基站發(fā)來(lái)的Mbn消息,首先檢查自己的的簇頭節(jié)點(diǎn),為空,則立即反饋應(yīng)答消息軋=[“鄰居應(yīng)答”,1^^,217/3],其中“鄰居應(yīng)答”是消息類型,IDtl是源節(jié)點(diǎn)IDdD1是本節(jié)點(diǎn)ID,2J是能量信息,7/3是完成代價(jià)(節(jié)點(diǎn)1中的DFA是模3DFA), 節(jié)點(diǎn)8反饋消息為Mr =[ “鄰居應(yīng)答”,ID0, ID8,0. 5J,19/7](節(jié)點(diǎn)8中的DFA是模7DFA), 節(jié)點(diǎn)10反饋消息為Mr =[ “鄰居應(yīng)答”,ID0, ID10, 2J, 3](節(jié)點(diǎn)10中的DFA是模5DFA),節(jié)點(diǎn)11反饋消息為Mr =[ “鄰居應(yīng)答”,ID0, ID11,1. 2J,7/3](節(jié)點(diǎn)11中的DFA是模3DFA);步驟3)假設(shè)節(jié)點(diǎn)1、8、10、11的響應(yīng)時(shí)間分別為0. 2ms, 0. 3ms, 0. 4ms, 1. 0ms,基站收到反饋的應(yīng)答消息后,將應(yīng)答消息和響應(yīng)時(shí)間一并存入鄰居節(jié)點(diǎn)列表中,順序?yàn)楣?jié)點(diǎn)1、 節(jié)點(diǎn)11、節(jié)點(diǎn)8、節(jié)點(diǎn)10 (先按照完成代價(jià)升序排列,完成代價(jià)相同則按照響應(yīng)時(shí)間升序排列,響應(yīng)時(shí)間相同則按照能量值升序排列,能量值相同則按照ID號(hào)排列);基站的簇頭選舉過(guò)程以基站節(jié)點(diǎn)、節(jié)點(diǎn)1、節(jié)點(diǎn)8、節(jié)點(diǎn)10、節(jié)點(diǎn)11為例說(shuō)明。步驟4)基站節(jié)點(diǎn)從上向下遍歷鄰居列表,選擇響應(yīng)時(shí)間小于時(shí)間閾值Tt = 0. 5ms、能量值大于能量閾值Qt = IJ的節(jié)點(diǎn)為簇頭節(jié)點(diǎn),符合條件的只有節(jié)點(diǎn)1和節(jié)點(diǎn)10 ;步驟5)基站節(jié)點(diǎn)廣播發(fā)送“簇建立”消息Mbc =[ “簇建立”,ID0, ID1, ID10],其中 “簇建立”為消息類型,ID0為源節(jié)點(diǎn)ID,ID1, ID10為被選為簇頭節(jié)點(diǎn)ID ;步驟6)節(jié)點(diǎn)1、8、10、11收到“簇建立消息”后,節(jié)點(diǎn)1和節(jié)點(diǎn)10將其類型標(biāo)識(shí)改為“簇頭”,簇頭節(jié)點(diǎn)改為自己的ID ;簇頭的鄰居節(jié)點(diǎn)建立過(guò)程以節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)7、節(jié)點(diǎn)8、節(jié)點(diǎn)9為例說(shuō)明。步驟7)節(jié)點(diǎn)1(簇頭)廣播發(fā)送“鄰居建立”消息Mbn=[ “鄰居建立”,ID1, 10011110],其中“鄰居建立”是消息類型,ID1是源節(jié)點(diǎn)ID,10011110是一串隨機(jī)的0、1字
符串;步驟8)節(jié)點(diǎn)2簇頭為空,將IDdt為“簇頭節(jié)點(diǎn)”,并反饋消息為軋=[“鄰居應(yīng)答”,ID1, ID2,1. 5J,15/7](節(jié)點(diǎn)2中的DFA是模7DFA),節(jié)點(diǎn)7簇頭為空,將ID1作為“簇頭節(jié)點(diǎn)”,并反饋消息為Mr =[ “鄰居應(yīng)答”,ID1, ID7,1. 2J,8/5](節(jié)點(diǎn)7中的DFA是模5DFA), 節(jié)點(diǎn)8簇頭為空,將ID1作為“簇頭節(jié)點(diǎn)”,并反饋消息為Mr =[ “鄰居應(yīng)答”,ID1, ID8,0. 5J, 3](節(jié)點(diǎn)8中的DFA是模3DFA),節(jié)點(diǎn)9 “簇頭節(jié)點(diǎn)”是IDltl,所以不反饋應(yīng)答消息;步驟9)假設(shè)節(jié)點(diǎn)2、7、8的響應(yīng)時(shí)間分別為:0. 3ms, 0. 2ms, 0. lms,節(jié)點(diǎn)1收到反饋的應(yīng)答消息后,將應(yīng)答消息和響應(yīng)時(shí)間一并存入鄰居節(jié)點(diǎn)列表中,順序?yàn)楣?jié)點(diǎn)7、節(jié)點(diǎn)2、節(jié)點(diǎn)8 (先按照完成代價(jià)升序排列,完成代價(jià)相同則按照響應(yīng)時(shí)間升序排列,響應(yīng)時(shí)間相同則按照能量值升序排列,能量值相同則按照ID號(hào)排列);簇頭的中繼節(jié)點(diǎn)的選舉過(guò)程以節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)7、節(jié)點(diǎn)8為例說(shuō)明。步驟10)節(jié)點(diǎn)1 (簇頭)從上向下遍歷鄰居列表,選擇類型標(biāo)識(shí)為“普通”、響應(yīng)時(shí)間小于時(shí)間閾值TTi = 0. 5ms、能量值大于能量閾值QTi = IJ的節(jié)點(diǎn)為中繼節(jié)點(diǎn),符合條件的只有節(jié)點(diǎn)2和節(jié)點(diǎn)7 ;
步驟11)節(jié)點(diǎn)1廣播發(fā)送“中繼節(jié)點(diǎn)選舉”消息Mbm =[ “中繼節(jié)點(diǎn)選舉”,ID1, ID2, ID7],其中“中繼節(jié)點(diǎn)選舉”為消息類型,ID1為源節(jié)點(diǎn)ID,ID2, ID7為被選為中繼節(jié)點(diǎn)ID ;步驟12)節(jié)點(diǎn)2、7、8節(jié)點(diǎn)收到“中繼節(jié)點(diǎn)選舉”消息后,節(jié)點(diǎn)2和節(jié)點(diǎn)7將其類型標(biāo)識(shí)改為“中繼”;中繼的鄰居節(jié)點(diǎn)建立過(guò)程以節(jié)點(diǎn)2、節(jié)點(diǎn)3、節(jié)點(diǎn)4為例說(shuō)明。步驟13)節(jié)點(diǎn)2(中繼節(jié)點(diǎn))廣播發(fā)送“鄰居建立”消息Mbn =[ “鄰居建立”,ID2, 11001000],其中“鄰居建立”是消息類型,ID2是源節(jié)點(diǎn)ID,11001000是一串隨機(jī)的0、1字符串;步驟14)節(jié)點(diǎn)3簇頭為空,立即反饋消息為Mr =[ “鄰居應(yīng)答”,ID2,ID3,0. 5J, 11/5](節(jié)點(diǎn)3中的DFA是模5DFA),節(jié)點(diǎn)4簇頭為空,立即反饋消息為Mr =[ “鄰居應(yīng)答”, ID2,ID4,1. 2J,7/3](節(jié)點(diǎn) 4 中的 DFA 是模 3DFA);步驟15)假設(shè)節(jié)點(diǎn)3、4的響應(yīng)時(shí)間分別為:0. 3ms,0. 2ms,節(jié)點(diǎn)2收到反饋的應(yīng)答消息后,將應(yīng)答消息和響應(yīng)時(shí)間一并存入鄰居節(jié)點(diǎn)列表中,順序?yàn)楣?jié)點(diǎn)3、節(jié)點(diǎn)4(先按照完成代價(jià)升序排列,完成代價(jià)相同則按照響應(yīng)時(shí)間升序排列,響應(yīng)時(shí)間相同則按照能量值升序排列,能量值相同則按照ID號(hào)排列);中繼的后繼簇頭節(jié)點(diǎn)選舉過(guò)程以節(jié)點(diǎn)2、節(jié)點(diǎn)3、節(jié)點(diǎn)4為例說(shuō)明。步驟16)節(jié)點(diǎn)2(中繼節(jié)點(diǎn))從上向下遍歷鄰居列表,選擇類型標(biāo)識(shí)為“普通”、響應(yīng)時(shí)間小于時(shí)間閾值TTi = 0. 5ms、能量值大于能量閾值QTi = IJ的節(jié)點(diǎn)為簇頭節(jié)點(diǎn),符合條件的只有節(jié)點(diǎn)4 ;步驟17)節(jié)點(diǎn)2廣播發(fā)送“簇頭節(jié)點(diǎn)選舉”消息Mb。=[“簇頭節(jié)點(diǎn)選舉”,ID2,ID4], 其中“簇頭節(jié)點(diǎn)選舉”為消息類型,ID2為源節(jié)點(diǎn)ID,ID4為被選為簇頭節(jié)點(diǎn)ID ;步驟18)節(jié)點(diǎn)3、4節(jié)點(diǎn)收到“簇頭節(jié)點(diǎn)選舉”消息后,節(jié)點(diǎn)4將其類型標(biāo)識(shí)改為“簇頭”,“簇頭節(jié)點(diǎn)”改為ID4;新節(jié)點(diǎn)的加入過(guò)程以節(jié)點(diǎn)6、節(jié)點(diǎn)12、節(jié)點(diǎn)13、節(jié)點(diǎn)14、節(jié)點(diǎn)15為例說(shuō)明(節(jié)點(diǎn)13、14、15為新節(jié)點(diǎn))。步驟19)新節(jié)點(diǎn)13廣播發(fā)送“鄰居建立”消息Mbn=[“鄰居建立”,ID13,01111100], 其中“鄰居建立”是消息類型,ID13是源節(jié)點(diǎn)ID,01111100是一串隨機(jī)的0、1字符串;新節(jié)點(diǎn)14廣播發(fā)送“鄰居建立”消息Mbn=[ “鄰居建立”,ID14,00111111];新節(jié)點(diǎn)15廣播發(fā)送“鄰居建立”消息Mbn =[ “鄰居建立”,ID15,10011101];步驟20)節(jié)點(diǎn)6立即反饋應(yīng)答消息虬=[“鄰居應(yīng)答”,ID13, ID6,1.5J,3,“簇頭”] (節(jié)點(diǎn)6中的DFA是模5DFA),節(jié)點(diǎn)12立即反饋應(yīng)答消息Mr =[ “鄰居應(yīng)答”,ID13, ID12, 2. 5J,10/3,“普通”](節(jié)點(diǎn) 12 中的 DFA 是模 3DFA);節(jié)點(diǎn)12立即反饋應(yīng)答消息Mr =[ “鄰居應(yīng)答”,ID14, ID12, 2. 5J,3,“普通”](節(jié)點(diǎn) 12中的DFA是模3DFA);沒(méi)有節(jié)點(diǎn)反饋應(yīng)答消息給節(jié)點(diǎn)15 ;步驟21)節(jié)點(diǎn)13將鄰居節(jié)點(diǎn)信息存入鄰居節(jié)點(diǎn)列表中,節(jié)點(diǎn)6的信息排在節(jié)點(diǎn)12 的前面(簇頭節(jié)點(diǎn)優(yōu)先排在前面,再以完成代價(jià)升序排列);
節(jié)點(diǎn)14將鄰居節(jié)點(diǎn)信息存入鄰居節(jié)點(diǎn)列表中(只有一個(gè)鄰居節(jié)點(diǎn),所以不用排序);節(jié)點(diǎn)15鄰居節(jié)點(diǎn)列表中鄰居節(jié)點(diǎn)信息為空;步驟22)節(jié)點(diǎn)15從上向下遍歷鄰居列表,沒(méi)有鄰居,節(jié)點(diǎn)15失效,加入失敗,結(jié)束;步驟23)節(jié)點(diǎn)13從上向下遍歷鄰居列表,發(fā)現(xiàn)節(jié)點(diǎn)6為簇頭節(jié)點(diǎn),則向節(jié)點(diǎn)6發(fā)送“請(qǐng)求加入”消息化。=[“請(qǐng)求加入”,ID6, ID13],其中“請(qǐng)求加入”為消息類型,ID6為簇頭節(jié)點(diǎn)ID, ID13為本節(jié)點(diǎn)ID,再轉(zhuǎn)到步驟24);步驟24)節(jié)點(diǎn)6 (簇頭)收到請(qǐng)求消息后,發(fā)送“新鄰居更新”消息Mnu =[ “新鄰居更新”,ID6, ID13,10000001],其中“新鄰居更新”為消息類型,ID6為源節(jié)點(diǎn)ID,ID13為新節(jié)點(diǎn)IDaooooooi為一串隨機(jī)的0、1字符串;步驟25)節(jié)點(diǎn)13立即反饋應(yīng)答消息Mr =[ “鄰居應(yīng)答”,ID13, ID6, 2. 0J,8/7],其中“鄰居應(yīng)答”為消息類型,ID13為源節(jié)點(diǎn)ID,ID6為本節(jié)點(diǎn)ID,2. OJ為能量信息,8/7為完成代價(jià)](節(jié)點(diǎn)13中的DFA是模7DFA),并且將簇頭節(jié)點(diǎn)改為ID6 ;步驟26)節(jié)點(diǎn)6按照完成代價(jià)由小到大的順序,將新節(jié)點(diǎn)13的信息插入鄰居節(jié)點(diǎn)列表中,節(jié)點(diǎn)13加入成功,結(jié)束;步驟27)節(jié)點(diǎn)14從上向下遍歷鄰居列表,發(fā)現(xiàn)只有一個(gè)鄰居節(jié)點(diǎn)且為普通節(jié)點(diǎn), 向節(jié)點(diǎn)12發(fā)送“中繼節(jié)點(diǎn)選舉”消息Mbm =[ “中繼節(jié)點(diǎn)選舉”,ID14, ID12],其中為消息類型, 為源節(jié)點(diǎn)ID,為被選為中繼節(jié)點(diǎn)ID ;步驟28)節(jié)點(diǎn)12收到被選舉消息后,發(fā)送“新鄰居更新”消息Mnu=[ “新鄰居更新”,ID12, ID14,00110110],其中,“新鄰居更新”為消息類型,ID12為源節(jié)點(diǎn)ID, ID14為新節(jié)點(diǎn)ID,00110110—串隨機(jī)的0、1字符串;步驟29)節(jié)點(diǎn)14立即反饋應(yīng)答消息Mr =[ “鄰居應(yīng)答”,ID12, ID14, 2. 5J,7/3],其中“鄰居應(yīng)答”為消息類型,ID12為源節(jié)點(diǎn)ID,ID14為本節(jié)點(diǎn)ID,2. 5J為能量信息,7/3為完成代價(jià),并將中繼ID記錄下來(lái)記為簇頭節(jié)點(diǎn);二基于生命游戲的WSN數(shù)據(jù)流量的模擬過(guò)程簡(jiǎn)單起見,取網(wǎng)絡(luò)的最大流量數(shù)為120,且取L值為12,滿足12*12彡120。即采用 12*12 (表示整個(gè)平面橫向網(wǎng)格有12個(gè),縱向網(wǎng)格也有12個(gè))的正方形網(wǎng)格的二維模型。 、為固定時(shí)長(zhǎng),不妨取為lmin。網(wǎng)絡(luò)啟動(dòng)時(shí)流量的模擬過(guò)程步驟30)置12*12個(gè)網(wǎng)格的初始狀態(tài)為0 (即表示“休眠”狀態(tài)),不妨設(shè)初始時(shí)刻時(shí)間為0,用0*、表示;步驟31)隨機(jī)選擇rdm(rdm為小于2*12的隨機(jī)值,不妨取2 個(gè)網(wǎng)格,將其狀態(tài)置為1 (即表示“工作”狀態(tài)),此時(shí)刻記為l*tdg,如圖8中Nttlg的小圖所示,表示0*tdg到 l*tdg時(shí)段內(nèi)數(shù)據(jù)包流量為22;步驟32)所有的網(wǎng)格會(huì)根據(jù)生命游戲的S23/B3規(guī)則,隨著tdg前的系數(shù)q(q = 0, 1,2,3,…)的遞增不斷地變換其狀態(tài),如圖8所示,小圖1*、中有22個(gè)“工作”元胞,小圖2*tdg中有20個(gè)“工作”元胞,表示從l*tdg到2*tdg時(shí)段內(nèi)數(shù)據(jù)包流量減少了 2個(gè);步驟33)從l*tdg到20*、8時(shí)間段(啟動(dòng)過(guò)程),流量是一個(gè)宏觀的遞增過(guò)程。圖8中20*、8小圖中的“工作”狀態(tài)網(wǎng)格數(shù)目為10(表示I^ttlg到20*、8時(shí)段內(nèi)數(shù)據(jù)包流量為10)小于閾值rdm/2 = 11,需要增加rdn (rdn為小于rdm的隨機(jī)數(shù),不妨取20)個(gè)“工作” 網(wǎng)格,如圖8中21*、8的小圖所示,增加了 20個(gè)“工作”狀態(tài)的網(wǎng)格,8卩“工作”網(wǎng)格變成了 10+20 = 30個(gè)(表示20*、到21*、時(shí)段內(nèi)數(shù)據(jù)包流量為30);網(wǎng)絡(luò)穩(wěn)定時(shí)流量的模擬過(guò)程步驟34)從21*、8往后的時(shí)間段(穩(wěn)定過(guò)程),所有的網(wǎng)格會(huì)根據(jù)生命游戲的S23/ B3規(guī)則,隨著tdg前的系數(shù)q的遞增不斷地變換其狀態(tài),如圖9所示,小圖50*、中有37個(gè) “工作”元胞,小圖51*、8中有50個(gè)“工作”元胞,小圖52*、8中有34個(gè)“工作”元胞,表示從50*、到51*、8時(shí)段內(nèi)數(shù)據(jù)包流量增加了 13個(gè),從51*、8到52*、8時(shí)段內(nèi)數(shù)據(jù)包流量減少了 16個(gè);步驟35)在網(wǎng)絡(luò)穩(wěn)定過(guò)程中,出現(xiàn)數(shù)據(jù)流量長(zhǎng)時(shí)間(長(zhǎng)時(shí)間表示、遞增了 30次) 低于閾值numsmall (Mimsmall = L,本例中取12)的情況,如圖9中231*、8到的小圖所示,此30*、時(shí)段中,“工作”網(wǎng)格數(shù)目一直低于12(表示231*tdg到時(shí)段內(nèi)數(shù)據(jù)包流量一直低于12)。則需要增加rdk(rdk為小于L的隨機(jī)數(shù),不妨取11)個(gè)“工作”網(wǎng)格,如圖9中到262*、的小圖所示,增加了 11個(gè)“工作”狀態(tài)的網(wǎng)格,即“工作”網(wǎng)格變成了 8+11 =19個(gè)(表示^Nttlg到262*、8時(shí)段內(nèi)數(shù)據(jù)包流量為19);三Hash密鑰鏈的構(gòu)造、基于網(wǎng)絡(luò)流量的發(fā)布和驗(yàn)證過(guò)程以50*、8到51*、8時(shí)間段為例說(shuō)明,時(shí)段長(zhǎng)lmin,假設(shè)在此時(shí)間段內(nèi),數(shù)據(jù)包總數(shù)目為50,則數(shù)據(jù)包以50/1(個(gè)/min)的速度勻速到達(dá)基站。即表示在50*、到51*、時(shí)間段內(nèi),50個(gè)數(shù)據(jù)包每個(gè)以l/50min= 1. 2 的時(shí)間間隔依次到達(dá)基站。一個(gè)Imin長(zhǎng)的時(shí)間段可分為50個(gè)小時(shí)段,每個(gè)小時(shí)段長(zhǎng)為1. 25s,每個(gè)小時(shí)段用 I表示(例如第i個(gè)小時(shí)段記為Ii)。每一小時(shí)段擁有一對(duì)對(duì)稱密鑰Ki,用于加密和解密需要廣播的內(nèi)容。并且,在第Ii小時(shí)段內(nèi)廣播第i個(gè)廣播密文和公布第表示密鑰發(fā)布的延遲尺寸)個(gè)密鑰,顯然廣播密鑰較密文發(fā)布的延遲時(shí)間(2*1. 25s)要長(zhǎng)于基站節(jié)點(diǎn)與最遠(yuǎn)節(jié)點(diǎn)之間的一次包交換時(shí)間。步驟36)基站生成一個(gè)隨機(jī)數(shù)R,并利用偽隨機(jī)函數(shù)H,計(jì)算H(R),H2(R),…, H1000 (R)分別作為1000(1000 >> 50)次會(huì)話的密鑰存放在密鑰池中,將Hicicitl(R)作為密鑰頭K。,并規(guī)定第i時(shí)段的密鑰Ki = Η1000"1㈨(其中,i = 1,2,…,1000,且H° (R) = R);步驟37)基站廣播初始參數(shù)消息Mip =[ “初始參數(shù)配置”,ID0,12:00:00' 00”, 12:01:00,00",00100011. · · 11001110,1. 25s,2,20ms],其中“初始參數(shù)配置”為消息類型, ID0為源節(jié)點(diǎn)ID,12:00:00’ 00”為當(dāng)前基站時(shí)鐘時(shí)間TB,12:01:00’ 00”為開始時(shí)間T1, 00100011. . . 11001110為密鑰頭KQ,1. 25s為時(shí)間間隔tdg/dg(1,2為密鑰發(fā)布的延遲尺寸d, 20ms為最大時(shí)鐘差異δ_ ;步驟38)每級(jí)簇頭節(jié)點(diǎn)和中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)基站的廣播初始參數(shù)消息;步驟39)各節(jié)點(diǎn)收到后,將各自的時(shí)鐘與基站節(jié)點(diǎn)的時(shí)鐘同步,并且記錄下T1 = 12:01:00’ 00”、K0 = 00100011. . . 11001110、tdg/dgq = 1. 25ms、d = 2、δ max = 20ms 等信息;步驟40)基站節(jié)點(diǎn)在第i個(gè)1. 25s內(nèi),廣播第i個(gè)數(shù)據(jù)包密文和發(fā)布第i_2個(gè)密鑰Kh ;
步驟41)接收節(jié)點(diǎn)收到第i個(gè)1. 25s內(nèi)的數(shù)據(jù)包密文后,判斷密鑰Ki是否已經(jīng)發(fā)布過(guò),若已經(jīng)發(fā)布則丟棄此包;若尚未發(fā)布則先驗(yàn)證IV2的真假,若為真則緩存此包并且解密第i-2時(shí)段密文數(shù)據(jù)包,否則丟棄;步驟4 50*tdg到51*、8時(shí)間段內(nèi)的數(shù)據(jù)包共有50個(gè),因此50個(gè)數(shù)據(jù)包廣播完成后,hash密鑰鏈已經(jīng)使用了Z^rfft = 1 -SO個(gè)密鑰,則從51*、往后的時(shí)間段的數(shù)據(jù)包使用從icZfii^s^ =開始往后的密鑰,以此類推直到密鑰鏈用完。
權(quán)利要求
1. 一種基于自動(dòng)機(jī)和生命游戲的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,其特征在于該認(rèn)證流程劃分為基于用窮自動(dòng)機(jī)DFA的分簇過(guò)程,基于生命游戲的無(wú)線傳感器網(wǎng)絡(luò)WSN數(shù)據(jù)流量的模擬過(guò)程,哈希Hash密鑰鏈的構(gòu)造、基于網(wǎng)絡(luò)流量的發(fā)布和驗(yàn)證過(guò)程三部分 一.基于DFA的分簇過(guò)程將DFA作為每個(gè)節(jié)點(diǎn)的屬性特征,即每個(gè)節(jié)點(diǎn)都含有某一種改進(jìn)的模η有窮自動(dòng)機(jī) (模nDFA),用于識(shí)別和處理分簇建立過(guò)程中的接收信號(hào),改進(jìn)的模nDFA通過(guò)對(duì)接收信號(hào)的處理得到各自的完成代價(jià),即當(dāng)接收信號(hào)和模nDFA確定時(shí),所對(duì)應(yīng)的完成代價(jià)也確定,這樣,綜合完成代價(jià)、能量值等因素來(lái)確定所需要選擇的節(jié)點(diǎn)的優(yōu)先級(jí),選擇優(yōu)先級(jí)高的節(jié)點(diǎn)作為所需要的節(jié)點(diǎn);基站的鄰居節(jié)點(diǎn)建立過(guò)程步驟1)基站節(jié)點(diǎn)廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點(diǎn)ID,一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟2)若接收節(jié)點(diǎn)尚未有簇頭節(jié)點(diǎn),則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點(diǎn)ID, 本節(jié)點(diǎn)ID,能量信息,完成代價(jià)],并將基站節(jié)點(diǎn)作為簇頭節(jié)點(diǎn)記錄下來(lái);步驟3)基站節(jié)點(diǎn)將所有接收節(jié)點(diǎn)信息存入鄰居節(jié)點(diǎn)列表中,并以完成代價(jià)升序排列; 基站的簇頭選舉過(guò)程步驟4)基站節(jié)點(diǎn)從上向下遍歷鄰居列表,選擇響應(yīng)時(shí)間小于時(shí)間閾值Tt、能量值大于能量閾值A(chǔ)的節(jié)點(diǎn)為簇頭節(jié)點(diǎn);簇頭數(shù)量可通過(guò)調(diào)整Tt和&來(lái)確定;步驟5)基站節(jié)點(diǎn)廣播發(fā)送“簇建立消息”,按照[消息類型,源節(jié)點(diǎn)ID,選為簇頭節(jié)點(diǎn) ID]的格式進(jìn)行;步驟6)接收節(jié)點(diǎn)收到“簇建立消息”后,若被選舉為簇頭節(jié)點(diǎn),則將類型標(biāo)識(shí)改為“簇頭”,簇頭節(jié)點(diǎn)ID改為自己的ID; 簇頭的鄰居節(jié)點(diǎn)建立過(guò)程步驟7)任一簇頭節(jié)點(diǎn)i廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點(diǎn)ID,一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟8)若接收節(jié)點(diǎn)尚未有簇頭節(jié)點(diǎn),則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點(diǎn)ID, 本節(jié)點(diǎn)ID,能量信息,完成代價(jià)],并將節(jié)點(diǎn)i作為簇頭節(jié)點(diǎn)記錄下來(lái);步驟9)節(jié)點(diǎn)i將所有接收節(jié)點(diǎn)信息存入鄰居節(jié)點(diǎn)列表中,并以完成代價(jià)升序排列; 簇頭的中繼節(jié)點(diǎn)的選舉過(guò)程步驟10)簇頭節(jié)點(diǎn)i從上向下遍歷鄰居列表,選擇類型標(biāo)識(shí)為“普通”、響應(yīng)時(shí)間小于時(shí)間閾值TTi、能量值大于能量閾值QTi的節(jié)點(diǎn)為中繼節(jié)點(diǎn);中繼節(jié)點(diǎn)的數(shù)量可通過(guò)調(diào)整TTi和 QTi來(lái)確定;步驟11)節(jié)點(diǎn)i廣播發(fā)送“中繼節(jié)點(diǎn)選舉消息”,按照[消息類型,源節(jié)點(diǎn)ID,選為中繼節(jié)點(diǎn)ID]的格式進(jìn)行;步驟12)接收節(jié)點(diǎn)收到“中繼節(jié)點(diǎn)選舉消息”后,若被選舉為中繼節(jié)點(diǎn),則將類型標(biāo)識(shí)改為“中繼”;中繼的鄰居節(jié)點(diǎn)建立過(guò)程步驟13)任一中繼節(jié)點(diǎn)j廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點(diǎn)ID,一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟14)若接收節(jié)點(diǎn)尚未有簇頭節(jié)點(diǎn),則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點(diǎn)ID, 本節(jié)點(diǎn)ID,能量信息,完成代價(jià)];步驟15)中繼節(jié)點(diǎn)將所有接收節(jié)點(diǎn)信息存入鄰居節(jié)點(diǎn)列表中,并以完成代價(jià)升序排列;中繼的后繼簇頭節(jié)點(diǎn)選舉過(guò)程步驟16)中繼節(jié)點(diǎn)j從上向下遍歷鄰居列表,選擇類型標(biāo)識(shí)為“普通”、響應(yīng)時(shí)間小于時(shí)間閾值TTi、能量值大于能量閾值QTi的節(jié)點(diǎn)為簇頭節(jié)點(diǎn);中繼節(jié)點(diǎn)的數(shù)量可通過(guò)調(diào)整TTi和 QTi來(lái)確定;步驟17)節(jié)點(diǎn)j廣播發(fā)送“簇頭節(jié)點(diǎn)選舉”消息,按照[消息類型,源節(jié)點(diǎn)ID,選為簇頭節(jié)點(diǎn)ID]的格式進(jìn)行;步驟18)接收節(jié)點(diǎn)收到“簇頭節(jié)點(diǎn)選舉消息”后,若被選舉為簇頭節(jié)點(diǎn),則將類型標(biāo)識(shí)改為“簇頭”,簇頭節(jié)點(diǎn)ID改為自己的ID ; 新節(jié)點(diǎn)的加入過(guò)程步驟19)任一新節(jié)點(diǎn)k廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點(diǎn)ID,一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟20)接收節(jié)點(diǎn)立即反饋應(yīng)答消息,即[消息類型,源節(jié)點(diǎn)ID,本節(jié)點(diǎn)ID,能量信息, 完成代價(jià),節(jié)點(diǎn)類型];步驟21)節(jié)點(diǎn)k將所有接收節(jié)點(diǎn)信息存入鄰居節(jié)點(diǎn)列表中,將“簇頭”節(jié)點(diǎn)優(yōu)先排在前面,再以完成代價(jià)升序排列;步驟22)節(jié)點(diǎn)k從上向下遍歷鄰居列表,若沒(méi)有鄰居則此節(jié)點(diǎn)失效,加入失敗,結(jié)束; 步驟23)若鄰居節(jié)點(diǎn)中有簇頭節(jié)點(diǎn),則向簇頭發(fā)送“請(qǐng)求加入”消息,按照[消息類型, 簇頭節(jié)點(diǎn)ID,本節(jié)點(diǎn)ID]的格式進(jìn)行;步驟24)簇頭節(jié)點(diǎn)收到請(qǐng)求消息后,發(fā)送“新鄰居更新”消息,即包含[消息類型,源節(jié)點(diǎn)ID,新節(jié)點(diǎn)ID,一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟25)節(jié)點(diǎn)k立即反饋應(yīng)答消息,S卩[消息類型,源節(jié)點(diǎn)ID,本節(jié)點(diǎn)ID,能量信息,完成代價(jià)],并將簇頭ID記錄下來(lái);步驟26)簇頭節(jié)點(diǎn)按照完成代價(jià)由小到大的順序,將節(jié)點(diǎn)k的信息插入鄰居節(jié)點(diǎn)列表中;步驟27)若鄰居節(jié)點(diǎn)全部為普通節(jié)點(diǎn),節(jié)點(diǎn)k從上向下遍歷鄰居列表,選擇響應(yīng)時(shí)間小于時(shí)間閾值TTi、能量值大于能量閾值QTi的節(jié)點(diǎn)ρ為中繼節(jié)點(diǎn),向節(jié)點(diǎn)ρ發(fā)送“中繼節(jié)點(diǎn)選舉”消息,按照[消息類型,源節(jié)點(diǎn)ID,選為中繼節(jié)點(diǎn)ID]的格式進(jìn)行;步驟28)節(jié)點(diǎn)ρ收到被選舉消息后,發(fā)送“新鄰居更新”消息,即包含[消息類型,源節(jié)點(diǎn)ID,新節(jié)點(diǎn)ID,一串隨機(jī)的0、1字符串]的數(shù)據(jù)包;步驟29)節(jié)點(diǎn)k立即反饋應(yīng)答消息,S卩[消息類型,源節(jié)點(diǎn)ID,本節(jié)點(diǎn)ID,能量信息,完成代價(jià)],并將中繼ID記錄下來(lái)記為簇頭節(jié)點(diǎn); 二基于生命游戲的WSN數(shù)據(jù)流量的模擬過(guò)程采用L*L的正方形網(wǎng)格的二維模型,每個(gè)網(wǎng)格為一個(gè)元胞,“工作”狀態(tài)的元胞數(shù)即為網(wǎng)絡(luò)流量數(shù);其中,L值由網(wǎng)絡(luò)的最大流量數(shù)dgmax確定,即L*L ^ dgmax ;將一維的網(wǎng)絡(luò)流量映射到二維的網(wǎng)格中,通過(guò)對(duì)網(wǎng)格生命狀態(tài)的模擬近似得到網(wǎng)絡(luò)流量的分布;每個(gè)離散時(shí)刻點(diǎn)所有“工作”狀態(tài)的網(wǎng)格數(shù)即為對(duì)應(yīng)時(shí)間段內(nèi)基站節(jié)點(diǎn)需要廣播的數(shù)據(jù)包個(gè)數(shù);對(duì)應(yīng)的時(shí)間段為(q-Ι)*、到q*tdg,其中、為一段固定的時(shí)長(zhǎng),q為時(shí)刻點(diǎn), q = 0,1,2,3,…;網(wǎng)絡(luò)啟動(dòng)時(shí)流量的模擬過(guò)程步驟30)置L*L個(gè)網(wǎng)格的初始狀態(tài)為0,即表示“休眠”狀態(tài),設(shè)初始時(shí)刻時(shí)間為0,即 O^tdg ;步驟31)隨機(jī)選擇rdm個(gè)網(wǎng)格,將其狀態(tài)置為1,即表示“工作”狀態(tài),此時(shí)刻記為l*tdg, 表示0*tdg到l*tdg時(shí)段內(nèi)數(shù)據(jù)包流量為rdm ;rdm為小于2*L的隨機(jī)值;步驟32)所有的網(wǎng)格會(huì)根據(jù)生命游戲的S23/B3規(guī)則,隨著^g前的系數(shù)q的遞增不斷地變換其狀態(tài),對(duì)應(yīng)于(卩-1)*、8到(1*、8時(shí)段內(nèi)數(shù)據(jù)包流量不斷變化;步驟33)網(wǎng)絡(luò)啟動(dòng)過(guò)程中,即從1*、到20*、8時(shí)間段,流量是一個(gè)宏觀的遞增過(guò)程,因此,當(dāng)“工作”狀態(tài)網(wǎng)格數(shù)目小于rdm/2時(shí),需要增加rdn個(gè)“工作”網(wǎng)格,即再次隨機(jī)選擇 rdn個(gè)網(wǎng)格,將其狀態(tài)置為1 ;rdn為小于rdm的隨機(jī)數(shù); 網(wǎng)絡(luò)穩(wěn)定時(shí)流量的模擬過(guò)程步驟34)網(wǎng)絡(luò)穩(wěn)定過(guò)程中,即從21*、8往后的時(shí)間段,所有的網(wǎng)格會(huì)根據(jù)生命游戲的 S23/B3規(guī)則,隨著tdg前的系數(shù)q的遞增不斷地變換其狀態(tài),對(duì)應(yīng)于(q_l) *tdg到C^ttlg時(shí)段內(nèi)數(shù)據(jù)包流量不斷變化;步驟35)在網(wǎng)絡(luò)穩(wěn)定過(guò)程中,若出現(xiàn)數(shù)據(jù)流量長(zhǎng)時(shí)間低于閾值Iiumsmall = L的情況,則需要增加rdk個(gè)“工作”網(wǎng)格,即隨機(jī)選擇rdk個(gè)網(wǎng)格,將其狀態(tài)置為1 ;其中,長(zhǎng)時(shí)間表示 tdg遞增了 30次,即表示整個(gè)網(wǎng)格的狀態(tài)連續(xù)變換了 30次;rdk為小于L的隨機(jī)數(shù); 三Hash密鑰鏈的構(gòu)造、基于網(wǎng)絡(luò)流量的發(fā)布和驗(yàn)證過(guò)程假設(shè)在(q_l)*tdg到q*tdg時(shí)間段內(nèi)的數(shù)據(jù)包總數(shù)目為dg,,且以速度Clgyttlg勻速到達(dá)基站,即表示在(q-Ι)*、到q*、時(shí)間段內(nèi),(1 個(gè)數(shù)據(jù)包每個(gè)以tdg/c^的時(shí)間間隔依次到達(dá)基站;將一個(gè)tdg長(zhǎng)的時(shí)間段可分為(1 個(gè)小時(shí)段,每個(gè)小時(shí)段長(zhǎng)為tdg/dg(1,每個(gè)小時(shí)段用I 表示,第i個(gè)小時(shí)段記為Ii);每一小時(shí)段擁有一對(duì)對(duì)稱密鑰Ki,用于加密和解密需要廣播的內(nèi)容,并且,在第Ii小時(shí)段內(nèi)廣播第i個(gè)廣播密文和公布第i_d個(gè)密鑰IVd,顯然,發(fā)布廣播密鑰較發(fā)布密文的時(shí)間差d*tdg/c^要長(zhǎng)于基站節(jié)點(diǎn)與最遠(yuǎn)節(jié)點(diǎn)之間的一次包交換時(shí)間;d 表示密鑰發(fā)布的延遲尺寸;步驟36)基站生成一個(gè)隨機(jī)數(shù)R,并利用偽隨機(jī)函數(shù)H,計(jì)算H(R),H2(R),-,Hn(R)分別作為η次會(huì)話的密鑰存放在密鑰池中,將Hn(R)作為密鑰頭Ktl,并規(guī)定第i小時(shí)段的密鑰 Ki = Hlri (R),其中,i = 1,2, ...,n,且 Htl(R) = R),n >> dgq ;步驟37)基站廣播初始參數(shù)消息,即[消息類型,源節(jié)點(diǎn)ID,當(dāng)前基站時(shí)鐘Τκ,開始時(shí)間T1,密鑰頭Ktl,時(shí)間間隔tdg/dg(1,透露時(shí)延d,最大時(shí)鐘差異δ max]; 步驟38)每級(jí)簇頭節(jié)點(diǎn)和中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)基站的廣播初始參數(shù)消息; 步驟39)各節(jié)點(diǎn)收到后,將各自的時(shí)鐘與基站節(jié)點(diǎn)的時(shí)鐘同步,并且記錄下T1、K0, tdg/ dgq、 d、δ max 等信息;步驟40)基站節(jié)點(diǎn)在第i個(gè)小時(shí)段內(nèi),廣播第i個(gè)數(shù)據(jù)包密文和發(fā)布第i_d個(gè)密鑰Kh;步驟41)接收節(jié)點(diǎn)收到第i個(gè)tdg/c^的數(shù)據(jù)包密文后,判斷密鑰Ki是否已經(jīng)發(fā)布過(guò), 若已經(jīng)發(fā)布則丟棄此包;若尚未發(fā)布則先驗(yàn)證IVd的真假,若為真則緩存此包并且解密第 i-d時(shí)段密文數(shù)據(jù)包,否則丟棄;步驟42) (q-1) *tdg到q*tdg時(shí)間段內(nèi)的數(shù)據(jù)包廣播完成后,hash密鑰鏈從妨力用到則從q*td往后的時(shí)間段的數(shù)據(jù)包使用從ΚΣ^^^-ι 開始往后的密鑰,以此類推直到密鑰鏈用完。
全文摘要
無(wú)線傳感器網(wǎng)絡(luò)由于其特征使之面臨較多的隱患。本發(fā)明方法針對(duì)無(wú)線傳感器網(wǎng)絡(luò)認(rèn)證中基站的覆蓋范圍受限、網(wǎng)絡(luò)流量特殊分布這兩方面的問(wèn)題,提出了基于自動(dòng)機(jī)和生命游戲的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,該方法可擴(kuò)大基站的覆蓋范圍實(shí)現(xiàn)全網(wǎng)節(jié)點(diǎn)的廣播,模擬WSN網(wǎng)絡(luò)流量的分布形態(tài)。主要通過(guò)改進(jìn)的確定有窮自動(dòng)機(jī)、分簇算法、生命游戲算法等多種方式相結(jié)合,來(lái)實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證。并設(shè)計(jì)了具體的技術(shù)方案和步驟流程,顯著區(qū)別于現(xiàn)有的WSN網(wǎng)絡(luò)中使用的廣播認(rèn)證方法。在基站節(jié)點(diǎn)的通信范圍、網(wǎng)絡(luò)中節(jié)點(diǎn)能量的合理分配、網(wǎng)絡(luò)流量形態(tài)的模擬等方面具有有益效果。
文檔編號(hào)H04W28/10GK102164369SQ201110126518
公開日2011年8月24日 申請(qǐng)日期2011年5月13日 優(yōu)先權(quán)日2011年5月13日
發(fā)明者劉莉, 周旋, 孫力娟, 張偉, 戴庭, 沙超, 王汝傳, 竇軼, 譚志剛, 陳昊, 黃文聰, 黃海平 申請(qǐng)人:南京郵電大學(xué)