亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于自動機和生命游戲的無線傳感器網(wǎng)絡(luò)廣播認證方法

文檔序號:7667999閱讀:329來源:國知局
專利名稱:基于自動機和生命游戲的無線傳感器網(wǎng)絡(luò)廣播認證方法
技術(shù)領(lǐng)域
本發(fā)明是WSN(Wireless Sensor Network,無線傳感器網(wǎng)絡(luò))中廣播認證機制的一種新型方法,屬于物聯(lián)網(wǎng)和無線傳感器網(wǎng)絡(luò)技術(shù)以及信息安全技術(shù)的交叉領(lǐng)域。
背景技術(shù)
WSN由部署在檢測區(qū)域內(nèi)的大量廉價微型傳感器節(jié)點組成,通過無線通信的方式形成一個多跳的自組織的網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作的感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對象的信息,并發(fā)送給觀察者。WSN由于廣播認證的特殊性,例如拓撲結(jié)構(gòu)的動態(tài)變化、觸發(fā)時間的同步性、以及網(wǎng)絡(luò)流量的不穩(wěn)定性,使得這種網(wǎng)絡(luò)需要定制一種有效的廣播認證方法。WSN按照網(wǎng)絡(luò)的拓撲結(jié)構(gòu)來分類,可以分成平面式結(jié)構(gòu)和層簇式結(jié)構(gòu)。平面式分布傳感器網(wǎng)絡(luò)由一個或一組計算能力強的基站和大量廉價的微型傳感器節(jié)點所組成。網(wǎng)絡(luò)中,采用延遲透露對稱密鑰的機制來實現(xiàn)非對稱性,從而達到廣播認證的目的。而當網(wǎng)絡(luò)規(guī)模大節(jié)點數(shù)眾多時,基站的覆蓋范圍受限,將很難實現(xiàn)向全網(wǎng)節(jié)點的廣播。層簇式結(jié)構(gòu)從一定程度上克服了平面式網(wǎng)絡(luò)結(jié)構(gòu)的缺陷,本發(fā)明提出一種基于DFA(Deterministic Finite Automation,確定有窮自動機)的分簇算法,將傳感器網(wǎng)絡(luò)劃分為多個簇,每個簇在地理位置上位于不同的區(qū)域,簇中含有多個節(jié)點(簇與簇之間沒有交集);另外,將按照某種算法 (例如Leach算法,具體采用何種選舉簇頭的算法對本發(fā)明要保護的內(nèi)容并無影響)選擇出某個節(jié)點擔(dān)任該簇的簇頭,負責(zé)該簇與上一層簇頭或者基站的信息交互等工作,具體的拓撲結(jié)構(gòu)如圖1所示。CA (Cellular Automaton,元胞自動機)結(jié)構(gòu)簡單、易于在計算機上實現(xiàn)、有較強的表達復(fù)雜關(guān)系的能力,因此可用于對網(wǎng)絡(luò)模型的研究,尤其是對網(wǎng)絡(luò)整體動態(tài)特性的研究。CA按其所在元胞空間的維數(shù)可簡單分為一維CA、二維CA、三維CA、高維CA。其中, 二維CA的著名模型有生命游戲模型??紤]到WSN網(wǎng)絡(luò)流量分布與因特網(wǎng)網(wǎng)絡(luò)流量分布的不同,本發(fā)明提出了一種基于 GoL(Game of Life,生命游戲)的網(wǎng)絡(luò)模擬流量算法。宏觀來看,因特網(wǎng)網(wǎng)絡(luò)流量呈現(xiàn)泊松分布,而WSN由于節(jié)點間的無線鏈接的脆弱性、拓撲結(jié)構(gòu)動態(tài)變化、以及無線信道的開放性等特征,其網(wǎng)絡(luò)流量呈現(xiàn)復(fù)雜的形態(tài)。將時間離散化,某一時段網(wǎng)絡(luò)的數(shù)據(jù)包流量映射為 GoL中某個時刻處于工作狀態(tài)的元胞數(shù)量。這樣,能夠模擬WSN中的一種或多種網(wǎng)絡(luò)流量形態(tài),并根據(jù)實際情況可以對流量模型進行實時的改變。

發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的主要是針對層簇式結(jié)構(gòu)的WSN,提出一種新型的基于自動機的無線傳感器網(wǎng)絡(luò)廣播認證方法,根據(jù)實際節(jié)點分布管理、密鑰發(fā)布時間確定、WSN網(wǎng)絡(luò)流量模擬三方面情況來具體實現(xiàn)廣播認證。技術(shù)方案
首先給出幾個定義鄰居節(jié)點任意節(jié)點A—跳范圍內(nèi)的節(jié)點稱之為其鄰居節(jié)點,A可與其鄰居節(jié)點直接通信,但并非A所有的鄰居節(jié)點都和其在同一簇中;舉例說明,如圖1所示,節(jié)點1和節(jié)點 3都是節(jié)點2的鄰居節(jié)點,但是節(jié)點1和節(jié)點2位于簇1中,而節(jié)點3位于簇2。非鄰居節(jié)點任意節(jié)點A除了鄰居節(jié)點之外不能直接通信的節(jié)點稱之為其非鄰居節(jié)點,可能存在許多A的非鄰居節(jié)點與A在同一簇中;舉例說明,如圖1所示,節(jié)點3與節(jié)點 5位于同一簇內(nèi),但節(jié)點5不是節(jié)點3的鄰居節(jié)點。在本方法中,簇頭節(jié)點之間并非直接通信,而是通過中繼節(jié)點轉(zhuǎn)發(fā)信息。舉例說明,如圖1所示,簇1中的簇頭節(jié)點(節(jié)點1)需要和簇2中的簇頭節(jié)點(節(jié)點4)進行通信, 則需要通過中繼節(jié)點(節(jié)點2)進行跳轉(zhuǎn)。改進的模η確定有窮自動機(模nDFA)有一個初態(tài),η個終態(tài),對于任意的0、1字符串(二進制數(shù))能且只能到達其中一個終態(tài);舉例說明,如圖2所示,為改進的模3DFA, 終態(tài)Cli表示該二進制數(shù)所對應(yīng)的十進制數(shù)模3后余i,如,某二進制數(shù)(00101101)2經(jīng)過改進模3DFA到達終態(tài)q(l,表示該二進制數(shù)對應(yīng)的十進制數(shù)G5) 10模3結(jié)果為0 ;圖3所示的模5DFA和圖4所示的模7DFA和模3DFA同理,只有終態(tài)個數(shù)有變化。完成代價對于任意改進的模nDFA,從狀態(tài)Qi —步跳轉(zhuǎn)到Qj的權(quán)值為| i_j |/n(i 可以大于等于或者小于j),而每個0、1字符串從初態(tài)qn到達終態(tài)qz的所有路徑的權(quán)值和即為該字符串相對該DFA的完成代價;舉例說明,如圖2所示,字符串0011相對于改進模3DFA 的完成代價為5/3。元胞自動機(CA)模型空間被一定形式的網(wǎng)格分割為許多單元,即元胞(cell), 每一元胞取有限的離散狀態(tài),遵循同樣的作用規(guī)則,依據(jù)確定的局部規(guī)則作同步更新,散布在規(guī)則網(wǎng)格中的大量元胞通過簡單的相互作用而構(gòu)成動態(tài)系統(tǒng)的演化。CA按其所在元胞空間的維數(shù)可簡單分為一維CA、二維CA、三維CA、高維CL·以Wolfram —維CA舉例說明,如圖 5所示,每個元胞的狀態(tài)(有0、1兩種狀態(tài))由其本身和左、右鄰居三者在上一個時刻的狀態(tài)決定(即S/+1 =_/^_/,S1', Si+/),其中^+1代表t+1時刻中間元胞的狀態(tài),幻,Si-ASi+/分別代表t時刻中間元胞和左、右鄰居的狀態(tài)),按照規(guī)則90演化0011011010 (隨機值,默認為t =0時刻的狀態(tài)),在t = 1時刻狀態(tài)為0111011001,在t = 2時刻狀態(tài)為0101011110,. . ·, 這樣不斷動態(tài)變化下去,構(gòu)成整個系統(tǒng)的時間空間動態(tài)變化。(注規(guī)則90以3個元胞為一個單位,每個元胞有0、1兩種狀態(tài),所以3個元胞組成的一個單位有 8 種狀態(tài),分別是(111)、(110)、(101)、(100)、(011)、(010)、(001)、(000), 其中,(110)表示t時刻左鄰居狀態(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)下,下一時刻中間元胞的狀態(tài)為1,其余4種相鄰狀態(tài)的下一時刻中間元胞的狀態(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ī)則,即將一個隨機的0、1字符串首尾相接,左邊界和右邊界為新鄰居,左邊界變成右邊界的右鄰居,而右邊界變成左邊界的左鄰居。則左邊界、右邊界、右邊界的左鄰居三者為一個單位共同決定下一時刻右邊界的狀態(tài),同理右邊界、左邊界、左邊界的右鄰居三者為一個單位共同決定下一時刻左邊界的狀態(tài)。如圖5所示,舉例說明,t時刻的狀態(tài)為0111011001,則左邊界0為右邊界1的右鄰居,右邊界1為左邊界0的左鄰居,在計算t+Ι時刻的狀態(tài)時,可將其看作是Iloil 10110011 0,左邊界t時刻為0,t+1 時刻為0 = €(1,0,1),右邊界1時刻為1, t+Ι時刻為0 = f(0,l,0)。)S23/B3 即為Survive2,3/Birth3,以9個網(wǎng)格為一個單位,每個網(wǎng)格有“工作”、 “休眠”兩種狀態(tài)。如果一個“工作”的網(wǎng)格周圍的8個鄰居網(wǎng)格中有2個或者3個“工作”, 那么這個網(wǎng)格在下一個時刻的狀態(tài)依然為“工作”,否則“休眠”;如果一個“休眠”的網(wǎng)格周圍恰巧有3個“工作”的鄰居網(wǎng)格,那這個網(wǎng)格在下一個時刻的狀態(tài)變成“工作”,否則依然 “休眠”。舉例說明,如圖6所示,圖中有18張小圖,每個小圖左邊代表t時刻9個相鄰網(wǎng)格的狀態(tài),小圖右邊表示t+Ι時刻9個相鄰網(wǎng)格的狀態(tài)。t時刻,在小圖(1)到小圖(9)中, 中間網(wǎng)格的狀態(tài)為“工作”,但只有小圖⑶和小圖⑷符合S23的條件(S卩,小圖(3)有兩個“工作”鄰居,小圖⑷有三個“工作”鄰居)所以,在t+Ι時刻,只有小圖(2)和小圖(3) 的中間網(wǎng)格狀態(tài)仍保持為“工作”,而小圖⑴、(4)、(5)、(6)、(7)、(8)、(9)的中間網(wǎng)格狀態(tài)變成“休眠”。t時刻,在小圖(10)到小圖(18)中,中間網(wǎng)格的狀態(tài)為“休眠”,但只有小圖(13)滿足B3的條件(S卩,小圖(13)有3個“工作”鄰居)所以,在t+Ι時刻,只有小圖 (13)的中間網(wǎng)格狀態(tài)變成“工作”,而小圖(10)、(11)、(12)、(14)、(15)、(16)、(17)、(18) 的中間網(wǎng)格狀態(tài)仍保持“休眠”。生命游戲是二維元胞自動機的一種著名模型,依照規(guī)則S23/B3來實現(xiàn)元胞在 “工作”、“休眠”兩種狀態(tài)間的轉(zhuǎn)換。本發(fā)明中,將“工作”狀態(tài)的元胞數(shù)作為WSN中數(shù)據(jù)包的流量。舉例說明,如圖7所示,t時刻黑色格子的數(shù)目為12,代表此時網(wǎng)絡(luò)中的數(shù)據(jù)包的數(shù)目也為12。本發(fā)明針對WSN,將廣播認證分成三個部分,第一部分是普通節(jié)點的分簇方法,第二部分是網(wǎng)絡(luò)數(shù)據(jù)包流量的模擬,第三部分是廣播密鑰發(fā)布時間的確定。在方法實現(xiàn)第一部分之前,需要對WSN進行初始化。網(wǎng)絡(luò)部署之前,每個節(jié)點存儲一個身份標識(ID號)、一個能識別0、1字符串的 DFA、能量值、簇頭節(jié)點(某個節(jié)點的ID號,表示該節(jié)點屬于哪一個簇)、節(jié)點類型標識(標識為簇頭、中繼、普通三者之一)。舉例說明,如圖1所示,簇2的簇頭節(jié)點是節(jié)點4,節(jié)點4 的前驅(qū)節(jié)點為節(jié)點2。每個節(jié)點也含有一個鄰居列表,記錄鄰居節(jié)點的ID號、能量值、完成代價(見定義)、簇頭號、響應(yīng)時間等信息。配置完以上信息之后,網(wǎng)絡(luò)開始部署。方法流程該廣播認證方法的完整過程將具體描述如下一基于DFA的分簇過程將DFA作為每個節(jié)點的屬性特征,即每個節(jié)點都含有某一種改進的模nDFA,用于識別和處理分簇建立過程中的接收信號。改進的模nDFA通過對接收信號的處理得到各自的完成代價,即當接收信號和模nDFA確定時,所對應(yīng)的完成代價也確定。這樣,綜合完成代價、能量值等因素來確定所需要選擇的節(jié)點的優(yōu)先級,選擇優(yōu)先級高的節(jié)點作為所需要的節(jié)點?;镜泥従庸?jié)點建立過程
該認證流程劃分為基于用窮自動機DFA的分簇過程,基于生命游戲的無線傳感器網(wǎng)絡(luò)WSN數(shù)據(jù)流量的模擬過程,哈希Hash密鑰鏈的構(gòu)造、基于網(wǎng)絡(luò)流量的發(fā)布和驗證過程三部分一 .基于DFA的分簇過程將DFA作為每個節(jié)點的屬性特征,即每個節(jié)點都含有某一種改進的模η有窮自動機(模nDFA),用于識別和處理分簇建立過程中的接收信號,改進的模nDFA通過對接收信號的處理得到各自的完成代價,即當接收信號和模nDFA確定時,所對應(yīng)的完成代價也確定, 這樣,綜合完成代價、能量值等因素來確定所需要選擇的節(jié)點的優(yōu)先級,選擇優(yōu)先級高的節(jié)點作為所需要的節(jié)點;基站的鄰居節(jié)點建立過程步驟1)基站節(jié)點廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點ID,一串隨機的0、1字符串]的數(shù)據(jù)包;步驟2)若接收節(jié)點尚未有簇頭節(jié)點,則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點 ID,本節(jié)點ID,能量信息,完成代價],并將基站節(jié)點作為簇頭節(jié)點記錄下來;步驟3)基站節(jié)點將所有接收節(jié)點信息存入鄰居節(jié)點列表中,并以完成代價升序排列;基站的簇頭選舉過程步驟4)基站節(jié)點從上向下遍歷鄰居列表,選擇響應(yīng)時間小于時間閾值Tt、能量值大于能量閾值A(chǔ)的節(jié)點為簇頭節(jié)點;簇頭數(shù)量可通過調(diào)整Tt和&來確定;步驟5)基站節(jié)點廣播發(fā)送“簇建立消息”,按照[消息類型,源節(jié)點ID,選為簇頭節(jié)點ID]的格式進行;步驟6)接收節(jié)點收到“簇建立消息”后,若被選舉為簇頭節(jié)點,則將類型標識改為 “簇頭”,簇頭節(jié)點ID改為自己的ID ;簇頭的鄰居節(jié)點建立過程步驟7)任一簇頭節(jié)點i廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點ID, 一串隨機的0、1字符串]的數(shù)據(jù)包;步驟8)若接收節(jié)點尚未有簇頭節(jié)點,則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點 ID,本節(jié)點ID,能量信息,完成代價],并將節(jié)點i作為簇頭節(jié)點記錄下來;步驟9)節(jié)點i將所有接收節(jié)點信息存入鄰居節(jié)點列表中,并以完成代價升序排列;簇頭的中繼節(jié)點的選舉過程步驟10)簇頭節(jié)點i從上向下遍歷鄰居列表,選擇類型標識為“普通”、響應(yīng)時間小于時間閾值TTi、能量值大于能量閾值QTi的節(jié)點為中繼節(jié)點;中繼節(jié)點的數(shù)量可通過調(diào)整 Tli和QTi來確定;步驟11)節(jié)點i廣播發(fā)送“中繼節(jié)點選舉消息”,按照[消息類型,源節(jié)點ID,選為中繼節(jié)點ID]的格式進行;步驟12)接收節(jié)點收到“中繼節(jié)點選舉消息”后,若被選舉為中繼節(jié)點,則將類型標識改為“中繼”;中繼的鄰居節(jié)點建立過程
步驟13)任一中繼節(jié)點j廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點 ID,一串隨機的0、1字符串]的數(shù)據(jù)包;步驟14)若接收節(jié)點尚未有簇頭節(jié)點,則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點ID,本節(jié)點ID,能量信息,完成代價];步驟15)中繼節(jié)點將所有接收節(jié)點信息存入鄰居節(jié)點列表中,并以完成代價升序排列;中繼的后繼簇頭節(jié)點選舉過程步驟16)中繼節(jié)點j從上向下遍歷鄰居列表,選擇類型標識為“普通”、響應(yīng)時間小于時間閾值TTi、能量值大于能量閾值QTi的節(jié)點為簇頭節(jié)點;中繼節(jié)點的數(shù)量可通過調(diào)整 Tli和QTi來確定;步驟17)節(jié)點j廣播發(fā)送“簇頭節(jié)點選舉”消息,按照[消息類型,源節(jié)點ID,選為簇頭節(jié)點ID]的格式進行;步驟18)接收節(jié)點收到“簇頭節(jié)點選舉消息”后,若被選舉為簇頭節(jié)點,則將類型標識改為“簇頭”,簇頭節(jié)點ID改為自己的ID ;新節(jié)點的加入過程步驟19)任一新節(jié)點k廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點ID, 一串隨機的0、1字符串]的數(shù)據(jù)包;步驟20)接收節(jié)點立即反饋應(yīng)答消息,即[消息類型,源節(jié)點ID,本節(jié)點ID,能量信息,完成代價,節(jié)點類型];步驟21)節(jié)點k將所有接收節(jié)點信息存入鄰居節(jié)點列表中,將“簇頭”節(jié)點優(yōu)先排在前面,再以完成代價升序排列;步驟22)節(jié)點k從上向下遍歷鄰居列表,若沒有鄰居則此節(jié)點失效,加入失敗,結(jié)束;步驟23)若鄰居節(jié)點中有簇頭節(jié)點,則向簇頭發(fā)送“請求加入”消息,按照[消息類型,簇頭節(jié)點ID,本節(jié)點ID]的格式進行;步驟24)簇頭節(jié)點收到請求消息后,發(fā)送“新鄰居更新”消息,即包含[消息類型, 源節(jié)點ID,新節(jié)點ID,一串隨機的0、1字符串]的數(shù)據(jù)包;步驟25)節(jié)點k立即反饋應(yīng)答消息,即消息類型,源節(jié)點ID,本節(jié)點ID,能量信息,完成代價],并將簇頭ID記錄下來;步驟26)簇頭節(jié)點按照完成代價由小到大的順序,將節(jié)點k的信息插入鄰居節(jié)點列表中;步驟27)若鄰居節(jié)點全部為普通節(jié)點,節(jié)點k從上向下遍歷鄰居列表,選擇響應(yīng)時間小于時間閾值TTi、能量值大于能量閾值QTi的節(jié)點ρ為中繼節(jié)點,向節(jié)點ρ發(fā)送“中繼節(jié)點選舉”消息,按照[消息類型,源節(jié)點ID,選為中繼節(jié)點ID]的格式進行;步驟28)節(jié)點ρ收到被選舉消息后,發(fā)送“新鄰居更新”消息,即包含[消息類型, 源節(jié)點ID,新節(jié)點ID,一串隨機的0、1字符串]的數(shù)據(jù)包;步驟29)節(jié)點k立即反饋應(yīng)答消息,即消息類型,源節(jié)點ID,本節(jié)點ID,能量信息,完成代價],并將中繼ID記錄下來記為簇頭節(jié)點;二基于生命游戲的WSN數(shù)據(jù)流量的模擬過程
采用L*L的正方形網(wǎng)格的二維模型,每個網(wǎng)格為一個元胞,“工作”狀態(tài)的元胞數(shù)即為網(wǎng)絡(luò)流量數(shù);其中,L值由網(wǎng)絡(luò)的最大流量數(shù)dgmax確定,即L*L ^ dgmax ;將一維的網(wǎng)絡(luò)流量映射到二維的網(wǎng)格中,通過對網(wǎng)格生命狀態(tài)的模擬近似得到網(wǎng)絡(luò)流量的分布;每個離散時刻點所有“工作”狀態(tài)的網(wǎng)格數(shù)即為對應(yīng)時間段內(nèi)基站節(jié)點需要廣播的數(shù)據(jù)包個數(shù);對應(yīng)的時間段為(q_l) *tdg到q*tdg,其中^g為一段固定的時長,q為時刻點,q = 0,1,2,3,...;網(wǎng)絡(luò)啟動時流量的模擬過程步驟30)置L*L個網(wǎng)格的初始狀態(tài)為0,即表示“休眠”狀態(tài),設(shè)初始時刻時間為0, 即;步驟31)隨機選擇rdm個網(wǎng)格,將其狀態(tài)置為1,即表示“工作”狀態(tài),此時刻記為 l*tdg,表示0*tdg到l*tdg時段內(nèi)數(shù)據(jù)包流量為rdm ;rdm為小于2*L的隨機值;步驟3 所有的網(wǎng)格會根據(jù)生命游戲的S23/B3規(guī)則,隨著^g前的系數(shù)q的遞增不斷地變換其狀態(tài),對應(yīng)于(Q-IRttig到C^ttlg時段內(nèi)數(shù)據(jù)包流量不斷變化;步驟33)網(wǎng)絡(luò)啟動過程中,即從l*tdg到20*、8時間段,流量是一個宏觀的遞增過程,因此,當“工作”狀態(tài)網(wǎng)格數(shù)目小于rdm/2時,需要增加rdn個“工作”網(wǎng)格,即再次隨機選擇rdn個網(wǎng)格,將其狀態(tài)置為1 ;rdn為小于rdm的隨機數(shù);網(wǎng)絡(luò)穩(wěn)定時流量的模擬過程步驟34)網(wǎng)絡(luò)穩(wěn)定過程中,即從21*、8往后的時間段,所有的網(wǎng)格會根據(jù)生命游戲的S23/B3規(guī)則,隨著tdg前的系數(shù)q的遞增不斷地變換其狀態(tài),對應(yīng)于(q_l) *tdg到C^ttlg時段內(nèi)數(shù)據(jù)包流量不斷變化;步驟35)在網(wǎng)絡(luò)穩(wěn)定過程中,若出現(xiàn)數(shù)據(jù)流量長時間低于閾值Iiumsmall = L的情況, 則需要增加rdk個“工作”網(wǎng)格,即隨機選擇rdk個網(wǎng)格,將其狀態(tài)置為1 ;其中,長時間表示 tdg遞增了 30次,即表示整個網(wǎng)格的狀態(tài)連續(xù)變換了 30次;rdk為小于L的隨機數(shù);三Hash密鑰鏈的構(gòu)造、基于網(wǎng)絡(luò)流量的發(fā)布和驗證過程假設(shè)在(q-1) *tdg到q*tdg時間段內(nèi)的數(shù)據(jù)包總數(shù)目為dg,,且以速度dg/、勻速到達基站,即表示在(q-1) *tdg到q*、時間段內(nèi),dgq個數(shù)據(jù)包每個以tdg/c^的時間間隔依次到達基站;將一個^g長的時間段可分為(1 個小時段,每個小時段長為tdg/dg(1,每個小時段用I表示,第i個小時段記為Ii);每一小時段擁有一對對稱密鑰Ki,用于加密和解密需要廣播的內(nèi)容,并且,在第Ii小時段內(nèi)廣播第i個廣播密文和公布第i-d個密鑰Ki_d,顯然,發(fā)布廣播密鑰較發(fā)布密文的時間差C^tdgAtetl要長于基站節(jié)點與最遠節(jié)點之間的一次包交換時間;d表示密鑰發(fā)布的延遲尺寸;步驟36)基站生成一個隨機數(shù)R,并利用偽隨機函數(shù)H,計算H(R),H2 (R),-,Hn(R) 分別作為η次會話的密鑰存放在密鑰池中,將Hn(R)作為密鑰頭Ktl,并規(guī)定第i小時段的密鑰 Ki = Hlri(R),其中,i = 1,2, ...,n,且 Htl(R) =R),n>>dgq;步驟37)基站廣播初始參數(shù)消息,即[消息類型,源節(jié)點ID,當前基站時鐘Tb,開始時間T1,密鑰頭Ktl,時間間隔tdg/dg(1,透露時延d,最大時鐘差異δ_];步驟38)每級簇頭節(jié)點和中繼節(jié)點轉(zhuǎn)發(fā)基站的廣播初始參數(shù)消息;步驟39)各節(jié)點收到后,將各自的時鐘與基站節(jié)點的時鐘同步,并且記錄下1\為、tdg/dgq> d、δ max 等信息;步驟40)基站節(jié)點在第i個小時段內(nèi),廣播第i個數(shù)據(jù)包密文和發(fā)布第i_d個密鑰U ;步驟41)接收節(jié)點收到第i個tdg/dg(1的數(shù)據(jù)包密文后,判斷密鑰Ki是否已經(jīng)發(fā)布過,若已經(jīng)發(fā)布則丟棄此包;若尚未發(fā)布則先驗證Κ"的真假,若為真則緩存此包并且解密第i_d時段密文數(shù)據(jù)包,否則丟棄;步驟42) (q-1) *tdg到C^ttlg時間段內(nèi)的數(shù)據(jù)包廣播完成后,hash密鑰鏈從 Α'Οι Μ用到巧^歧,則從q*td往后的時間段的數(shù)據(jù)包使用從%^郇,1開始往后的密鑰,以此類推直到密鑰鏈用完。有益效果本發(fā)明提出了基于自動機和生命游戲的無線傳感器網(wǎng)絡(luò)廣播認證方法,該方法具有如下優(yōu)點(1)通過利用基于DFA的分簇算法一定程度上克服了平面式網(wǎng)絡(luò)結(jié)構(gòu)的缺陷,擴大了基站節(jié)點的通信范圍,并且實現(xiàn)了網(wǎng)絡(luò)中節(jié)點能量的合理分配;(2)通過利用基于生命游戲的模擬流量算法,一定程度上能夠模擬WSN中的一種或多種網(wǎng)絡(luò)流量形態(tài),并可以根據(jù)實際情況對流量模型進行實時的改變。


圖1層簇式WSN網(wǎng)絡(luò)拓撲結(jié)構(gòu)圖,
圖2改進的模3DFA,
圖3改進的模5DFA,
圖4改進的模7DFA,
圖5沃爾夫勒姆(Wolfram) —維<
圖6 S23/B3 規(guī)則,
圖7生命游戲,
圖8 WSN流量模擬啟動過程,
圖9 WSN流量模擬穩(wěn)定過程。
具體實施例方式以下將以圖1到圖9為例,通過一個具體的例子來進一步詳細說明本發(fā)明的技術(shù)方案和方法流程。首先完成網(wǎng)絡(luò)的初始化,即分配給每個節(jié)點唯一的ID、某個模η的DFA、并且在節(jié)點中存儲以下內(nèi)容能量值、簇頭節(jié)點、節(jié)點類型標識、鄰居列表[鄰居節(jié)點ID、能量值、完成代價、簇頭節(jié)點、響應(yīng)時間]。以圖1中的節(jié)點1為例,節(jié)點1的ID為ID1,存放著一個模 3的DFA,能量值為2J,簇頭節(jié)點為基站的ID(IDtl),節(jié)點類型為“簇頭”,鄰居列表中存在四項內(nèi)容,代表它有四個鄰居,即分別為節(jié)點2、節(jié)點7、節(jié)點8、節(jié)點9,其中鄰居節(jié)點2的信息為ID2,1. 5J,8/5,0. 2msO一基于DFA的分簇過程基站的鄰居節(jié)點建立過程以基站節(jié)點、節(jié)點1、節(jié)點8、節(jié)點10、節(jié)點11為例說明。
步驟1)基站節(jié)點廣播發(fā)送“鄰居建立”消息Mbn =[ “鄰居建立”,IDq,00110110], 其中“鄰居建立”是消息類型,ID0是源節(jié)點ID,00110110是一串隨機的0、1字符串;步驟2)節(jié)點1收到基站發(fā)來的Mbn消息,首先檢查自己的的簇頭節(jié)點,為空,則立即反饋應(yīng)答消息軋=[“鄰居應(yīng)答”,1^^,217/3],其中“鄰居應(yīng)答”是消息類型,IDtl是源節(jié)點IDdD1是本節(jié)點ID,2J是能量信息,7/3是完成代價(節(jié)點1中的DFA是模3DFA), 節(jié)點8反饋消息為Mr =[ “鄰居應(yīng)答”,ID0, ID8,0. 5J,19/7](節(jié)點8中的DFA是模7DFA), 節(jié)點10反饋消息為Mr =[ “鄰居應(yīng)答”,ID0, ID10, 2J, 3](節(jié)點10中的DFA是模5DFA),節(jié)點11反饋消息為Mr =[ “鄰居應(yīng)答”,ID0, ID11,1. 2J,7/3](節(jié)點11中的DFA是模3DFA);步驟3)假設(shè)節(jié)點1、8、10、11的響應(yīng)時間分別為0. 2ms, 0. 3ms, 0. 4ms, 1. 0ms,基站收到反饋的應(yīng)答消息后,將應(yīng)答消息和響應(yīng)時間一并存入鄰居節(jié)點列表中,順序為節(jié)點1、 節(jié)點11、節(jié)點8、節(jié)點10 (先按照完成代價升序排列,完成代價相同則按照響應(yīng)時間升序排列,響應(yīng)時間相同則按照能量值升序排列,能量值相同則按照ID號排列);基站的簇頭選舉過程以基站節(jié)點、節(jié)點1、節(jié)點8、節(jié)點10、節(jié)點11為例說明。步驟4)基站節(jié)點從上向下遍歷鄰居列表,選擇響應(yīng)時間小于時間閾值Tt = 0. 5ms、能量值大于能量閾值Qt = IJ的節(jié)點為簇頭節(jié)點,符合條件的只有節(jié)點1和節(jié)點10 ;步驟5)基站節(jié)點廣播發(fā)送“簇建立”消息Mbc =[ “簇建立”,ID0, ID1, ID10],其中 “簇建立”為消息類型,ID0為源節(jié)點ID,ID1, ID10為被選為簇頭節(jié)點ID ;步驟6)節(jié)點1、8、10、11收到“簇建立消息”后,節(jié)點1和節(jié)點10將其類型標識改為“簇頭”,簇頭節(jié)點改為自己的ID ;簇頭的鄰居節(jié)點建立過程以節(jié)點1、節(jié)點2、節(jié)點7、節(jié)點8、節(jié)點9為例說明。步驟7)節(jié)點1(簇頭)廣播發(fā)送“鄰居建立”消息Mbn=[ “鄰居建立”,ID1, 10011110],其中“鄰居建立”是消息類型,ID1是源節(jié)點ID,10011110是一串隨機的0、1字
符串;步驟8)節(jié)點2簇頭為空,將IDdt為“簇頭節(jié)點”,并反饋消息為軋=[“鄰居應(yīng)答”,ID1, ID2,1. 5J,15/7](節(jié)點2中的DFA是模7DFA),節(jié)點7簇頭為空,將ID1作為“簇頭節(jié)點”,并反饋消息為Mr =[ “鄰居應(yīng)答”,ID1, ID7,1. 2J,8/5](節(jié)點7中的DFA是模5DFA), 節(jié)點8簇頭為空,將ID1作為“簇頭節(jié)點”,并反饋消息為Mr =[ “鄰居應(yīng)答”,ID1, ID8,0. 5J, 3](節(jié)點8中的DFA是模3DFA),節(jié)點9 “簇頭節(jié)點”是IDltl,所以不反饋應(yīng)答消息;步驟9)假設(shè)節(jié)點2、7、8的響應(yīng)時間分別為:0. 3ms, 0. 2ms, 0. lms,節(jié)點1收到反饋的應(yīng)答消息后,將應(yīng)答消息和響應(yīng)時間一并存入鄰居節(jié)點列表中,順序為節(jié)點7、節(jié)點2、節(jié)點8 (先按照完成代價升序排列,完成代價相同則按照響應(yīng)時間升序排列,響應(yīng)時間相同則按照能量值升序排列,能量值相同則按照ID號排列);簇頭的中繼節(jié)點的選舉過程以節(jié)點1、節(jié)點2、節(jié)點7、節(jié)點8為例說明。步驟10)節(jié)點1 (簇頭)從上向下遍歷鄰居列表,選擇類型標識為“普通”、響應(yīng)時間小于時間閾值TTi = 0. 5ms、能量值大于能量閾值QTi = IJ的節(jié)點為中繼節(jié)點,符合條件的只有節(jié)點2和節(jié)點7 ;
步驟11)節(jié)點1廣播發(fā)送“中繼節(jié)點選舉”消息Mbm =[ “中繼節(jié)點選舉”,ID1, ID2, ID7],其中“中繼節(jié)點選舉”為消息類型,ID1為源節(jié)點ID,ID2, ID7為被選為中繼節(jié)點ID ;步驟12)節(jié)點2、7、8節(jié)點收到“中繼節(jié)點選舉”消息后,節(jié)點2和節(jié)點7將其類型標識改為“中繼”;中繼的鄰居節(jié)點建立過程以節(jié)點2、節(jié)點3、節(jié)點4為例說明。步驟13)節(jié)點2(中繼節(jié)點)廣播發(fā)送“鄰居建立”消息Mbn =[ “鄰居建立”,ID2, 11001000],其中“鄰居建立”是消息類型,ID2是源節(jié)點ID,11001000是一串隨機的0、1字符串;步驟14)節(jié)點3簇頭為空,立即反饋消息為Mr =[ “鄰居應(yīng)答”,ID2,ID3,0. 5J, 11/5](節(jié)點3中的DFA是模5DFA),節(jié)點4簇頭為空,立即反饋消息為Mr =[ “鄰居應(yīng)答”, ID2,ID4,1. 2J,7/3](節(jié)點 4 中的 DFA 是模 3DFA);步驟15)假設(shè)節(jié)點3、4的響應(yīng)時間分別為:0. 3ms,0. 2ms,節(jié)點2收到反饋的應(yīng)答消息后,將應(yīng)答消息和響應(yīng)時間一并存入鄰居節(jié)點列表中,順序為節(jié)點3、節(jié)點4(先按照完成代價升序排列,完成代價相同則按照響應(yīng)時間升序排列,響應(yīng)時間相同則按照能量值升序排列,能量值相同則按照ID號排列);中繼的后繼簇頭節(jié)點選舉過程以節(jié)點2、節(jié)點3、節(jié)點4為例說明。步驟16)節(jié)點2(中繼節(jié)點)從上向下遍歷鄰居列表,選擇類型標識為“普通”、響應(yīng)時間小于時間閾值TTi = 0. 5ms、能量值大于能量閾值QTi = IJ的節(jié)點為簇頭節(jié)點,符合條件的只有節(jié)點4 ;步驟17)節(jié)點2廣播發(fā)送“簇頭節(jié)點選舉”消息Mb。=[“簇頭節(jié)點選舉”,ID2,ID4], 其中“簇頭節(jié)點選舉”為消息類型,ID2為源節(jié)點ID,ID4為被選為簇頭節(jié)點ID ;步驟18)節(jié)點3、4節(jié)點收到“簇頭節(jié)點選舉”消息后,節(jié)點4將其類型標識改為“簇頭”,“簇頭節(jié)點”改為ID4;新節(jié)點的加入過程以節(jié)點6、節(jié)點12、節(jié)點13、節(jié)點14、節(jié)點15為例說明(節(jié)點13、14、15為新節(jié)點)。步驟19)新節(jié)點13廣播發(fā)送“鄰居建立”消息Mbn=[“鄰居建立”,ID13,01111100], 其中“鄰居建立”是消息類型,ID13是源節(jié)點ID,01111100是一串隨機的0、1字符串;新節(jié)點14廣播發(fā)送“鄰居建立”消息Mbn=[ “鄰居建立”,ID14,00111111];新節(jié)點15廣播發(fā)送“鄰居建立”消息Mbn =[ “鄰居建立”,ID15,10011101];步驟20)節(jié)點6立即反饋應(yīng)答消息虬=[“鄰居應(yīng)答”,ID13, ID6,1.5J,3,“簇頭”] (節(jié)點6中的DFA是模5DFA),節(jié)點12立即反饋應(yīng)答消息Mr =[ “鄰居應(yīng)答”,ID13, ID12, 2. 5J,10/3,“普通”](節(jié)點 12 中的 DFA 是模 3DFA);節(jié)點12立即反饋應(yīng)答消息Mr =[ “鄰居應(yīng)答”,ID14, ID12, 2. 5J,3,“普通”](節(jié)點 12中的DFA是模3DFA);沒有節(jié)點反饋應(yīng)答消息給節(jié)點15 ;步驟21)節(jié)點13將鄰居節(jié)點信息存入鄰居節(jié)點列表中,節(jié)點6的信息排在節(jié)點12 的前面(簇頭節(jié)點優(yōu)先排在前面,再以完成代價升序排列);
節(jié)點14將鄰居節(jié)點信息存入鄰居節(jié)點列表中(只有一個鄰居節(jié)點,所以不用排序);節(jié)點15鄰居節(jié)點列表中鄰居節(jié)點信息為空;步驟22)節(jié)點15從上向下遍歷鄰居列表,沒有鄰居,節(jié)點15失效,加入失敗,結(jié)束;步驟23)節(jié)點13從上向下遍歷鄰居列表,發(fā)現(xiàn)節(jié)點6為簇頭節(jié)點,則向節(jié)點6發(fā)送“請求加入”消息化。=[“請求加入”,ID6, ID13],其中“請求加入”為消息類型,ID6為簇頭節(jié)點ID, ID13為本節(jié)點ID,再轉(zhuǎn)到步驟24);步驟24)節(jié)點6 (簇頭)收到請求消息后,發(fā)送“新鄰居更新”消息Mnu =[ “新鄰居更新”,ID6, ID13,10000001],其中“新鄰居更新”為消息類型,ID6為源節(jié)點ID,ID13為新節(jié)點IDaooooooi為一串隨機的0、1字符串;步驟25)節(jié)點13立即反饋應(yīng)答消息Mr =[ “鄰居應(yīng)答”,ID13, ID6, 2. 0J,8/7],其中“鄰居應(yīng)答”為消息類型,ID13為源節(jié)點ID,ID6為本節(jié)點ID,2. OJ為能量信息,8/7為完成代價](節(jié)點13中的DFA是模7DFA),并且將簇頭節(jié)點改為ID6 ;步驟26)節(jié)點6按照完成代價由小到大的順序,將新節(jié)點13的信息插入鄰居節(jié)點列表中,節(jié)點13加入成功,結(jié)束;步驟27)節(jié)點14從上向下遍歷鄰居列表,發(fā)現(xiàn)只有一個鄰居節(jié)點且為普通節(jié)點, 向節(jié)點12發(fā)送“中繼節(jié)點選舉”消息Mbm =[ “中繼節(jié)點選舉”,ID14, ID12],其中為消息類型, 為源節(jié)點ID,為被選為中繼節(jié)點ID ;步驟28)節(jié)點12收到被選舉消息后,發(fā)送“新鄰居更新”消息Mnu=[ “新鄰居更新”,ID12, ID14,00110110],其中,“新鄰居更新”為消息類型,ID12為源節(jié)點ID, ID14為新節(jié)點ID,00110110—串隨機的0、1字符串;步驟29)節(jié)點14立即反饋應(yīng)答消息Mr =[ “鄰居應(yīng)答”,ID12, ID14, 2. 5J,7/3],其中“鄰居應(yīng)答”為消息類型,ID12為源節(jié)點ID,ID14為本節(jié)點ID,2. 5J為能量信息,7/3為完成代價,并將中繼ID記錄下來記為簇頭節(jié)點;二基于生命游戲的WSN數(shù)據(jù)流量的模擬過程簡單起見,取網(wǎng)絡(luò)的最大流量數(shù)為120,且取L值為12,滿足12*12彡120。即采用 12*12 (表示整個平面橫向網(wǎng)格有12個,縱向網(wǎng)格也有12個)的正方形網(wǎng)格的二維模型。 、為固定時長,不妨取為lmin。網(wǎng)絡(luò)啟動時流量的模擬過程步驟30)置12*12個網(wǎng)格的初始狀態(tài)為0 (即表示“休眠”狀態(tài)),不妨設(shè)初始時刻時間為0,用0*、表示;步驟31)隨機選擇rdm(rdm為小于2*12的隨機值,不妨取2 個網(wǎng)格,將其狀態(tài)置為1 (即表示“工作”狀態(tài)),此時刻記為l*tdg,如圖8中Nttlg的小圖所示,表示0*tdg到 l*tdg時段內(nèi)數(shù)據(jù)包流量為22;步驟32)所有的網(wǎng)格會根據(jù)生命游戲的S23/B3規(guī)則,隨著tdg前的系數(shù)q(q = 0, 1,2,3,…)的遞增不斷地變換其狀態(tài),如圖8所示,小圖1*、中有22個“工作”元胞,小圖2*tdg中有20個“工作”元胞,表示從l*tdg到2*tdg時段內(nèi)數(shù)據(jù)包流量減少了 2個;步驟33)從l*tdg到20*、8時間段(啟動過程),流量是一個宏觀的遞增過程。圖8中20*、8小圖中的“工作”狀態(tài)網(wǎng)格數(shù)目為10(表示I^ttlg到20*、8時段內(nèi)數(shù)據(jù)包流量為10)小于閾值rdm/2 = 11,需要增加rdn (rdn為小于rdm的隨機數(shù),不妨取20)個“工作” 網(wǎng)格,如圖8中21*、8的小圖所示,增加了 20個“工作”狀態(tài)的網(wǎng)格,8卩“工作”網(wǎng)格變成了 10+20 = 30個(表示20*、到21*、時段內(nèi)數(shù)據(jù)包流量為30);網(wǎng)絡(luò)穩(wěn)定時流量的模擬過程步驟34)從21*、8往后的時間段(穩(wěn)定過程),所有的網(wǎng)格會根據(jù)生命游戲的S23/ B3規(guī)則,隨著tdg前的系數(shù)q的遞增不斷地變換其狀態(tài),如圖9所示,小圖50*、中有37個 “工作”元胞,小圖51*、8中有50個“工作”元胞,小圖52*、8中有34個“工作”元胞,表示從50*、到51*、8時段內(nèi)數(shù)據(jù)包流量增加了 13個,從51*、8到52*、8時段內(nèi)數(shù)據(jù)包流量減少了 16個;步驟35)在網(wǎng)絡(luò)穩(wěn)定過程中,出現(xiàn)數(shù)據(jù)流量長時間(長時間表示、遞增了 30次) 低于閾值numsmall (Mimsmall = L,本例中取12)的情況,如圖9中231*、8到的小圖所示,此30*、時段中,“工作”網(wǎng)格數(shù)目一直低于12(表示231*tdg到時段內(nèi)數(shù)據(jù)包流量一直低于12)。則需要增加rdk(rdk為小于L的隨機數(shù),不妨取11)個“工作”網(wǎng)格,如圖9中到262*、的小圖所示,增加了 11個“工作”狀態(tài)的網(wǎng)格,即“工作”網(wǎng)格變成了 8+11 =19個(表示^Nttlg到262*、8時段內(nèi)數(shù)據(jù)包流量為19);三Hash密鑰鏈的構(gòu)造、基于網(wǎng)絡(luò)流量的發(fā)布和驗證過程以50*、8到51*、8時間段為例說明,時段長lmin,假設(shè)在此時間段內(nèi),數(shù)據(jù)包總數(shù)目為50,則數(shù)據(jù)包以50/1(個/min)的速度勻速到達基站。即表示在50*、到51*、時間段內(nèi),50個數(shù)據(jù)包每個以l/50min= 1. 2 的時間間隔依次到達基站。一個Imin長的時間段可分為50個小時段,每個小時段長為1. 25s,每個小時段用 I表示(例如第i個小時段記為Ii)。每一小時段擁有一對對稱密鑰Ki,用于加密和解密需要廣播的內(nèi)容。并且,在第Ii小時段內(nèi)廣播第i個廣播密文和公布第表示密鑰發(fā)布的延遲尺寸)個密鑰,顯然廣播密鑰較密文發(fā)布的延遲時間(2*1. 25s)要長于基站節(jié)點與最遠節(jié)點之間的一次包交換時間。步驟36)基站生成一個隨機數(shù)R,并利用偽隨機函數(shù)H,計算H(R),H2(R),…, H1000 (R)分別作為1000(1000 >> 50)次會話的密鑰存放在密鑰池中,將Hicicitl(R)作為密鑰頭K。,并規(guī)定第i時段的密鑰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é)點ID,12:00:00’ 00”為當前基站時鐘時間TB,12:01:00’ 00”為開始時間T1, 00100011. . . 11001110為密鑰頭KQ,1. 25s為時間間隔tdg/dg(1,2為密鑰發(fā)布的延遲尺寸d, 20ms為最大時鐘差異δ_ ;步驟38)每級簇頭節(jié)點和中繼節(jié)點轉(zhuǎn)發(fā)基站的廣播初始參數(shù)消息;步驟39)各節(jié)點收到后,將各自的時鐘與基站節(jié)點的時鐘同步,并且記錄下T1 = 12:01:00’ 00”、K0 = 00100011. . . 11001110、tdg/dgq = 1. 25ms、d = 2、δ max = 20ms 等信息;步驟40)基站節(jié)點在第i個1. 25s內(nèi),廣播第i個數(shù)據(jù)包密文和發(fā)布第i_2個密鑰Kh ;
步驟41)接收節(jié)點收到第i個1. 25s內(nèi)的數(shù)據(jù)包密文后,判斷密鑰Ki是否已經(jīng)發(fā)布過,若已經(jīng)發(fā)布則丟棄此包;若尚未發(fā)布則先驗證IV2的真假,若為真則緩存此包并且解密第i-2時段密文數(shù)據(jù)包,否則丟棄;步驟4 50*tdg到51*、8時間段內(nèi)的數(shù)據(jù)包共有50個,因此50個數(shù)據(jù)包廣播完成后,hash密鑰鏈已經(jīng)使用了Z^rfft = 1 -SO個密鑰,則從51*、往后的時間段的數(shù)據(jù)包使用從icZfii^s^ =開始往后的密鑰,以此類推直到密鑰鏈用完。
權(quán)利要求
1. 一種基于自動機和生命游戲的無線傳感器網(wǎng)絡(luò)廣播認證方法,其特征在于該認證流程劃分為基于用窮自動機DFA的分簇過程,基于生命游戲的無線傳感器網(wǎng)絡(luò)WSN數(shù)據(jù)流量的模擬過程,哈希Hash密鑰鏈的構(gòu)造、基于網(wǎng)絡(luò)流量的發(fā)布和驗證過程三部分 一.基于DFA的分簇過程將DFA作為每個節(jié)點的屬性特征,即每個節(jié)點都含有某一種改進的模η有窮自動機 (模nDFA),用于識別和處理分簇建立過程中的接收信號,改進的模nDFA通過對接收信號的處理得到各自的完成代價,即當接收信號和模nDFA確定時,所對應(yīng)的完成代價也確定,這樣,綜合完成代價、能量值等因素來確定所需要選擇的節(jié)點的優(yōu)先級,選擇優(yōu)先級高的節(jié)點作為所需要的節(jié)點;基站的鄰居節(jié)點建立過程步驟1)基站節(jié)點廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點ID,一串隨機的0、1字符串]的數(shù)據(jù)包;步驟2)若接收節(jié)點尚未有簇頭節(jié)點,則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點ID, 本節(jié)點ID,能量信息,完成代價],并將基站節(jié)點作為簇頭節(jié)點記錄下來;步驟3)基站節(jié)點將所有接收節(jié)點信息存入鄰居節(jié)點列表中,并以完成代價升序排列; 基站的簇頭選舉過程步驟4)基站節(jié)點從上向下遍歷鄰居列表,選擇響應(yīng)時間小于時間閾值Tt、能量值大于能量閾值A(chǔ)的節(jié)點為簇頭節(jié)點;簇頭數(shù)量可通過調(diào)整Tt和&來確定;步驟5)基站節(jié)點廣播發(fā)送“簇建立消息”,按照[消息類型,源節(jié)點ID,選為簇頭節(jié)點 ID]的格式進行;步驟6)接收節(jié)點收到“簇建立消息”后,若被選舉為簇頭節(jié)點,則將類型標識改為“簇頭”,簇頭節(jié)點ID改為自己的ID; 簇頭的鄰居節(jié)點建立過程步驟7)任一簇頭節(jié)點i廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點ID,一串隨機的0、1字符串]的數(shù)據(jù)包;步驟8)若接收節(jié)點尚未有簇頭節(jié)點,則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點ID, 本節(jié)點ID,能量信息,完成代價],并將節(jié)點i作為簇頭節(jié)點記錄下來;步驟9)節(jié)點i將所有接收節(jié)點信息存入鄰居節(jié)點列表中,并以完成代價升序排列; 簇頭的中繼節(jié)點的選舉過程步驟10)簇頭節(jié)點i從上向下遍歷鄰居列表,選擇類型標識為“普通”、響應(yīng)時間小于時間閾值TTi、能量值大于能量閾值QTi的節(jié)點為中繼節(jié)點;中繼節(jié)點的數(shù)量可通過調(diào)整TTi和 QTi來確定;步驟11)節(jié)點i廣播發(fā)送“中繼節(jié)點選舉消息”,按照[消息類型,源節(jié)點ID,選為中繼節(jié)點ID]的格式進行;步驟12)接收節(jié)點收到“中繼節(jié)點選舉消息”后,若被選舉為中繼節(jié)點,則將類型標識改為“中繼”;中繼的鄰居節(jié)點建立過程步驟13)任一中繼節(jié)點j廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點ID,一串隨機的0、1字符串]的數(shù)據(jù)包;步驟14)若接收節(jié)點尚未有簇頭節(jié)點,則立即反饋應(yīng)答消息,即[消息類型,源節(jié)點ID, 本節(jié)點ID,能量信息,完成代價];步驟15)中繼節(jié)點將所有接收節(jié)點信息存入鄰居節(jié)點列表中,并以完成代價升序排列;中繼的后繼簇頭節(jié)點選舉過程步驟16)中繼節(jié)點j從上向下遍歷鄰居列表,選擇類型標識為“普通”、響應(yīng)時間小于時間閾值TTi、能量值大于能量閾值QTi的節(jié)點為簇頭節(jié)點;中繼節(jié)點的數(shù)量可通過調(diào)整TTi和 QTi來確定;步驟17)節(jié)點j廣播發(fā)送“簇頭節(jié)點選舉”消息,按照[消息類型,源節(jié)點ID,選為簇頭節(jié)點ID]的格式進行;步驟18)接收節(jié)點收到“簇頭節(jié)點選舉消息”后,若被選舉為簇頭節(jié)點,則將類型標識改為“簇頭”,簇頭節(jié)點ID改為自己的ID ; 新節(jié)點的加入過程步驟19)任一新節(jié)點k廣播發(fā)送“鄰居建立”消息,即包含[消息類型,源節(jié)點ID,一串隨機的0、1字符串]的數(shù)據(jù)包;步驟20)接收節(jié)點立即反饋應(yīng)答消息,即[消息類型,源節(jié)點ID,本節(jié)點ID,能量信息, 完成代價,節(jié)點類型];步驟21)節(jié)點k將所有接收節(jié)點信息存入鄰居節(jié)點列表中,將“簇頭”節(jié)點優(yōu)先排在前面,再以完成代價升序排列;步驟22)節(jié)點k從上向下遍歷鄰居列表,若沒有鄰居則此節(jié)點失效,加入失敗,結(jié)束; 步驟23)若鄰居節(jié)點中有簇頭節(jié)點,則向簇頭發(fā)送“請求加入”消息,按照[消息類型, 簇頭節(jié)點ID,本節(jié)點ID]的格式進行;步驟24)簇頭節(jié)點收到請求消息后,發(fā)送“新鄰居更新”消息,即包含[消息類型,源節(jié)點ID,新節(jié)點ID,一串隨機的0、1字符串]的數(shù)據(jù)包;步驟25)節(jié)點k立即反饋應(yīng)答消息,S卩[消息類型,源節(jié)點ID,本節(jié)點ID,能量信息,完成代價],并將簇頭ID記錄下來;步驟26)簇頭節(jié)點按照完成代價由小到大的順序,將節(jié)點k的信息插入鄰居節(jié)點列表中;步驟27)若鄰居節(jié)點全部為普通節(jié)點,節(jié)點k從上向下遍歷鄰居列表,選擇響應(yīng)時間小于時間閾值TTi、能量值大于能量閾值QTi的節(jié)點ρ為中繼節(jié)點,向節(jié)點ρ發(fā)送“中繼節(jié)點選舉”消息,按照[消息類型,源節(jié)點ID,選為中繼節(jié)點ID]的格式進行;步驟28)節(jié)點ρ收到被選舉消息后,發(fā)送“新鄰居更新”消息,即包含[消息類型,源節(jié)點ID,新節(jié)點ID,一串隨機的0、1字符串]的數(shù)據(jù)包;步驟29)節(jié)點k立即反饋應(yīng)答消息,S卩[消息類型,源節(jié)點ID,本節(jié)點ID,能量信息,完成代價],并將中繼ID記錄下來記為簇頭節(jié)點; 二基于生命游戲的WSN數(shù)據(jù)流量的模擬過程采用L*L的正方形網(wǎng)格的二維模型,每個網(wǎng)格為一個元胞,“工作”狀態(tài)的元胞數(shù)即為網(wǎng)絡(luò)流量數(shù);其中,L值由網(wǎng)絡(luò)的最大流量數(shù)dgmax確定,即L*L ^ dgmax ;將一維的網(wǎng)絡(luò)流量映射到二維的網(wǎng)格中,通過對網(wǎng)格生命狀態(tài)的模擬近似得到網(wǎng)絡(luò)流量的分布;每個離散時刻點所有“工作”狀態(tài)的網(wǎng)格數(shù)即為對應(yīng)時間段內(nèi)基站節(jié)點需要廣播的數(shù)據(jù)包個數(shù);對應(yīng)的時間段為(q-Ι)*、到q*tdg,其中、為一段固定的時長,q為時刻點, q = 0,1,2,3,…;網(wǎng)絡(luò)啟動時流量的模擬過程步驟30)置L*L個網(wǎng)格的初始狀態(tài)為0,即表示“休眠”狀態(tài),設(shè)初始時刻時間為0,即 O^tdg ;步驟31)隨機選擇rdm個網(wǎng)格,將其狀態(tài)置為1,即表示“工作”狀態(tài),此時刻記為l*tdg, 表示0*tdg到l*tdg時段內(nèi)數(shù)據(jù)包流量為rdm ;rdm為小于2*L的隨機值;步驟32)所有的網(wǎng)格會根據(jù)生命游戲的S23/B3規(guī)則,隨著^g前的系數(shù)q的遞增不斷地變換其狀態(tài),對應(yīng)于(卩-1)*、8到(1*、8時段內(nèi)數(shù)據(jù)包流量不斷變化;步驟33)網(wǎng)絡(luò)啟動過程中,即從1*、到20*、8時間段,流量是一個宏觀的遞增過程,因此,當“工作”狀態(tài)網(wǎng)格數(shù)目小于rdm/2時,需要增加rdn個“工作”網(wǎng)格,即再次隨機選擇 rdn個網(wǎng)格,將其狀態(tài)置為1 ;rdn為小于rdm的隨機數(shù); 網(wǎng)絡(luò)穩(wěn)定時流量的模擬過程步驟34)網(wǎng)絡(luò)穩(wěn)定過程中,即從21*、8往后的時間段,所有的網(wǎng)格會根據(jù)生命游戲的 S23/B3規(guī)則,隨著tdg前的系數(shù)q的遞增不斷地變換其狀態(tài),對應(yīng)于(q_l) *tdg到C^ttlg時段內(nèi)數(shù)據(jù)包流量不斷變化;步驟35)在網(wǎng)絡(luò)穩(wěn)定過程中,若出現(xiàn)數(shù)據(jù)流量長時間低于閾值Iiumsmall = L的情況,則需要增加rdk個“工作”網(wǎng)格,即隨機選擇rdk個網(wǎng)格,將其狀態(tài)置為1 ;其中,長時間表示 tdg遞增了 30次,即表示整個網(wǎng)格的狀態(tài)連續(xù)變換了 30次;rdk為小于L的隨機數(shù); 三Hash密鑰鏈的構(gòu)造、基于網(wǎng)絡(luò)流量的發(fā)布和驗證過程假設(shè)在(q_l)*tdg到q*tdg時間段內(nèi)的數(shù)據(jù)包總數(shù)目為dg,,且以速度Clgyttlg勻速到達基站,即表示在(q-Ι)*、到q*、時間段內(nèi),(1 個數(shù)據(jù)包每個以tdg/c^的時間間隔依次到達基站;將一個tdg長的時間段可分為(1 個小時段,每個小時段長為tdg/dg(1,每個小時段用I 表示,第i個小時段記為Ii);每一小時段擁有一對對稱密鑰Ki,用于加密和解密需要廣播的內(nèi)容,并且,在第Ii小時段內(nèi)廣播第i個廣播密文和公布第i_d個密鑰IVd,顯然,發(fā)布廣播密鑰較發(fā)布密文的時間差d*tdg/c^要長于基站節(jié)點與最遠節(jié)點之間的一次包交換時間;d 表示密鑰發(fā)布的延遲尺寸;步驟36)基站生成一個隨機數(shù)R,并利用偽隨機函數(shù)H,計算H(R),H2(R),-,Hn(R)分別作為η次會話的密鑰存放在密鑰池中,將Hn(R)作為密鑰頭Ktl,并規(guī)定第i小時段的密鑰 Ki = Hlri (R),其中,i = 1,2, ...,n,且 Htl(R) = R),n >> dgq ;步驟37)基站廣播初始參數(shù)消息,即[消息類型,源節(jié)點ID,當前基站時鐘Τκ,開始時間T1,密鑰頭Ktl,時間間隔tdg/dg(1,透露時延d,最大時鐘差異δ max]; 步驟38)每級簇頭節(jié)點和中繼節(jié)點轉(zhuǎn)發(fā)基站的廣播初始參數(shù)消息; 步驟39)各節(jié)點收到后,將各自的時鐘與基站節(jié)點的時鐘同步,并且記錄下T1、K0, tdg/ dgq、 d、δ max 等信息;步驟40)基站節(jié)點在第i個小時段內(nèi),廣播第i個數(shù)據(jù)包密文和發(fā)布第i_d個密鑰Kh;步驟41)接收節(jié)點收到第i個tdg/c^的數(shù)據(jù)包密文后,判斷密鑰Ki是否已經(jīng)發(fā)布過, 若已經(jīng)發(fā)布則丟棄此包;若尚未發(fā)布則先驗證IVd的真假,若為真則緩存此包并且解密第 i-d時段密文數(shù)據(jù)包,否則丟棄;步驟42) (q-1) *tdg到q*tdg時間段內(nèi)的數(shù)據(jù)包廣播完成后,hash密鑰鏈從妨力用到則從q*td往后的時間段的數(shù)據(jù)包使用從ΚΣ^^^-ι 開始往后的密鑰,以此類推直到密鑰鏈用完。
全文摘要
無線傳感器網(wǎng)絡(luò)由于其特征使之面臨較多的隱患。本發(fā)明方法針對無線傳感器網(wǎng)絡(luò)認證中基站的覆蓋范圍受限、網(wǎng)絡(luò)流量特殊分布這兩方面的問題,提出了基于自動機和生命游戲的無線傳感器網(wǎng)絡(luò)廣播認證方法,該方法可擴大基站的覆蓋范圍實現(xiàn)全網(wǎng)節(jié)點的廣播,模擬WSN網(wǎng)絡(luò)流量的分布形態(tài)。主要通過改進的確定有窮自動機、分簇算法、生命游戲算法等多種方式相結(jié)合,來實現(xiàn)無線傳感器網(wǎng)絡(luò)廣播認證。并設(shè)計了具體的技術(shù)方案和步驟流程,顯著區(qū)別于現(xiàn)有的WSN網(wǎng)絡(luò)中使用的廣播認證方法。在基站節(jié)點的通信范圍、網(wǎng)絡(luò)中節(jié)點能量的合理分配、網(wǎng)絡(luò)流量形態(tài)的模擬等方面具有有益效果。
文檔編號H04W28/10GK102164369SQ201110126518
公開日2011年8月24日 申請日期2011年5月13日 優(yōu)先權(quán)日2011年5月13日
發(fā)明者劉莉, 周旋, 孫力娟, 張偉, 戴庭, 沙超, 王汝傳, 竇軼, 譚志剛, 陳昊, 黃文聰, 黃海平 申請人:南京郵電大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1