一種無線傳感網(wǎng)中基于三階段路由的源位置隱私保護(hù)方法
【專利摘要】本發(fā)明的目的是提供一種無線傳感網(wǎng)中基于三階段路由的源位置隱私保護(hù)方法,目標(biāo)是讓數(shù)據(jù)包經(jīng)歷三階段的動(dòng)態(tài)路由后到達(dá)基站,通過數(shù)據(jù)包的隨機(jī)路由來避免獵人的逆向追蹤,達(dá)到源位置的隱私保護(hù)。三階段路由:1、定向隨機(jī)路由;2、環(huán)形區(qū)h跳路由;3、最短路徑路由。第一階段的定向隨機(jī)路由以很低的額外能耗開銷實(shí)現(xiàn)了路由路徑的局部方位隨機(jī)性,第二階段的環(huán)形區(qū)h跳路由以較低的額外能耗開銷實(shí)現(xiàn)了路由路徑的全方位隨機(jī)性。該方案是在考慮到野外無線傳感網(wǎng)覆蓋范圍較大的前提下,提出的一種能耗和安全兼顧的優(yōu)化方法。本發(fā)明提出的方法簡單靈活易實(shí)現(xiàn),只需要較低的額外能耗開銷便能確保源位置具有很高的隱私安全性。
【專利說明】一種無線傳感網(wǎng)中基于三階段路由的源位置隱私保護(hù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是一種基于三階段路由的無線傳感器網(wǎng)絡(luò)源位置隱私保護(hù)方法,主要用于解決無線傳感網(wǎng)中源節(jié)點(diǎn)的位置隱私問題,屬于無線傳感網(wǎng)位置隱私保護(hù)【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]微機(jī)電系統(tǒng)、片上系統(tǒng)、無線通信和低功耗嵌入式技術(shù)的飛速發(fā)展,孕育出無線傳感器網(wǎng)絡(luò),并以其低功耗、低成本、分布式和自組織的特點(diǎn)帶來了信息感知的一場變革。無線傳感器網(wǎng)絡(luò)是由部署在監(jiān)測區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn),通過無線通信方式形成的一個(gè)多跳自組織網(wǎng)絡(luò)。
[0003]為了更好地跟蹤和保護(hù)珍稀動(dòng)物,人們在珍稀動(dòng)物的活動(dòng)領(lǐng)域部署了大量無線傳感器節(jié)點(diǎn),以此構(gòu)建了一個(gè)無線監(jiān)控網(wǎng)絡(luò)。當(dāng)珍稀動(dòng)物路過某無線傳感器節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)(即源節(jié)點(diǎn))將監(jiān)控到的信息(如位置、圖像、聲音或視頻等)加密后通過無線多跳網(wǎng)絡(luò)傳回基站。由于該監(jiān)控網(wǎng)絡(luò)采用的是無線信號(hào),捕獵者可以通過偵聽無線信號(hào),計(jì)算信號(hào)的強(qiáng)度以及發(fā)送的角度從而追蹤到上游節(jié)點(diǎn),盡管捕獵者不知道數(shù)據(jù)包的具體內(nèi)容,但通過逐跳逆向追蹤的辦法,捕獵者最終能夠找到源節(jié)點(diǎn),這對珍稀動(dòng)物的安全構(gòu)成了嚴(yán)重威脅。因而,必須想出辦法讓捕獵者無法通過偵測無線電的方法進(jìn)行逆向追蹤,即實(shí)現(xiàn)無線傳感網(wǎng)源節(jié)點(diǎn)的位置隱私保護(hù)。
[0004]目前,無線傳感器網(wǎng)絡(luò)安全問題的研宄工作已經(jīng)涉及許多方面,但是,對位置隱私保護(hù)技術(shù)的研宄較少。根據(jù)攻擊者的能力不同,可以把已有研宄工作分為兩類:抗局部攻擊的源位置隱私保護(hù)和抗全局攻擊的源位置隱私保護(hù)??谷止舻脑次恢秒[私保護(hù)技術(shù)并不實(shí)用,因?yàn)橛糜诒O(jiān)控野外環(huán)境的無線傳感網(wǎng)通常覆蓋區(qū)域較大,攻擊者不容易做到對大范圍的無線傳感網(wǎng)進(jìn)行全局無線信號(hào)偵測,此外,該技術(shù)采用的讓大量節(jié)點(diǎn)主動(dòng)發(fā)送迷惑性數(shù)據(jù)包的策略代價(jià)過大,不但會(huì)縮短無線傳感網(wǎng)的生存周期,還會(huì)影響監(jiān)控系統(tǒng)的效率,不太適合無線傳感網(wǎng)資源受限的特點(diǎn)。因而,本發(fā)明考慮的是抗局部攻擊的源位置隱私保護(hù)方法。
【發(fā)明內(nèi)容】
[0005]技術(shù)問題:本發(fā)明的目的是提供一種無線傳感網(wǎng)中基于三階段路由的源位置隱私保護(hù)方法。本發(fā)明的目標(biāo)是讓數(shù)據(jù)包經(jīng)歷三階段的動(dòng)態(tài)路由后到達(dá)基站,通過數(shù)據(jù)包的隨機(jī)路由來避免獵人的逆向追蹤,達(dá)到源位置的隱私保護(hù)。
[0006]技術(shù)方案:技術(shù)問題可以用熊貓-獵人博弈模型來描述,在熊貓-獵人博弈模型里,部署了無線傳感網(wǎng)來監(jiān)控熊貓的活動(dòng),熊貓一旦被某節(jié)點(diǎn)監(jiān)測到,該節(jié)點(diǎn)(源節(jié)點(diǎn))便會(huì)對監(jiān)測信息進(jìn)行加密并以數(shù)據(jù)包的方式周期性地傳回基站。獵人無法通過解密截獲的數(shù)據(jù)包內(nèi)容來捕獲大熊貓,但是,他能通過偵測無線電信號(hào)的方式逆向追蹤大熊貓。本發(fā)明的源位置隱私保護(hù)方法基于三階段路由:1、定向隨機(jī)路由;2、環(huán)形區(qū)h跳路由;3、最短路徑路由。第一階段路由兼顧能耗和隨機(jī)性,第二階段路由則以犧牲能耗為代價(jià)使路由路徑相對于基站呈現(xiàn)隨機(jī)方向,第三階段路由力求節(jié)能。該方案是在考慮到無線傳感網(wǎng)覆蓋范圍較大的前提下,提出的一種能耗和隨機(jī)兼顧的優(yōu)化方法。具體方案如下:
[0007]該方法采用了三階段路由:第一階段為定向隨機(jī)路由,第二階段為環(huán)形區(qū)h跳路由,第三階段是最短路徑路由。私鑰在節(jié)點(diǎn)部署前預(yù)先載入節(jié)點(diǎn),節(jié)點(diǎn)間通信采用私鑰加密方式。具體方法如下:
[0008]I)網(wǎng)絡(luò)初$臺(tái)化
[0009]步驟1:基站初始化m和n,n> = m>0,n, m為系統(tǒng)整型參數(shù),基站周邊距離基站最小跳數(shù)介于m和η之間的節(jié)點(diǎn)大致圍成一個(gè)環(huán)形區(qū),一般地,當(dāng)網(wǎng)絡(luò)規(guī)模越大時(shí),環(huán)形區(qū)也越大,即n,m的取值越大,m和η的具體取值可根據(jù)實(shí)際應(yīng)用場景的仿真測試結(jié)果來確定;
[0010]步驟2:由基站發(fā)起洪泛操作,在此過程中每個(gè)傳感器節(jié)點(diǎn)記錄下到達(dá)基站的最小跳數(shù)值,同時(shí)將到達(dá)基站的最小跳數(shù)值大于等于m小于等于η的節(jié)點(diǎn)標(biāo)記為環(huán)形區(qū)節(jié)占.V,
[0011]步驟3:選取無線傳感網(wǎng)最東邊和最北邊的兩個(gè)節(jié)點(diǎn),由它們分別往西邊和南邊發(fā)起洪泛操作;通過該洪泛操作,傳感網(wǎng)中的任意一個(gè)傳感器節(jié)點(diǎn)s都記錄下其四個(gè)方向的鄰居節(jié)點(diǎn)集合:EN, WN, SN和NN ;節(jié)點(diǎn)s除了存儲(chǔ)其鄰居節(jié)點(diǎn)的ID外,還應(yīng)記錄下每個(gè)鄰居節(jié)點(diǎn)到達(dá)基站的最小跳數(shù)值以及是否是環(huán)形區(qū)節(jié)點(diǎn);
[0012]步驟4:環(huán)形區(qū)節(jié)點(diǎn)設(shè)置參數(shù)h在自然數(shù)范圍[l..n*m]內(nèi)隨機(jī)取值;
[0013]步驟5:在步驟2的洪泛操作過程中,每個(gè)傳感器節(jié)點(diǎn)還記錄下基站相對于它的方位信息,即東或西、南或北;
[0014]2)發(fā)現(xiàn)監(jiān)控目標(biāo)
[0015]步驟6:源節(jié)點(diǎn)生成監(jiān)控?cái)?shù)據(jù)包,給該數(shù)據(jù)包附加2位二進(jìn)制位以存儲(chǔ)方位信息,第I位二進(jìn)制位為O表示方向東,為I表示方向西,第2位二進(jìn)制位為O表示方向南,為I表示方向北,加密數(shù)據(jù)包等待發(fā)送;
[0016]步驟7:源節(jié)點(diǎn)根據(jù)方位信息編碼選擇鄰居節(jié)點(diǎn)集合:第I位二進(jìn)制位為O時(shí)選擇集合EN,為I為選擇集合WN ;第二位二進(jìn)制位為O時(shí)選擇集合SN,為I時(shí)選擇集合NN ;源節(jié)點(diǎn)在兩個(gè)選定集合中隨機(jī)選擇一個(gè)距離基站最小跳數(shù)減少的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),源節(jié)點(diǎn)發(fā)送加密后數(shù)據(jù)包給下一跳節(jié)點(diǎn);
[0017]步驟8:下一跳節(jié)點(diǎn)接收到數(shù)據(jù)包后首先判斷自己是否是環(huán)形區(qū)節(jié)點(diǎn),是則轉(zhuǎn)至步驟10,否則對數(shù)據(jù)包進(jìn)行解密,然后根據(jù)方位信息編碼在兩個(gè)對應(yīng)的集合中隨機(jī)選擇一個(gè)距離基站最小跳數(shù)減少的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),轉(zhuǎn)發(fā)數(shù)據(jù)包給該節(jié)點(diǎn);
[0018]步驟9:轉(zhuǎn)至步驟8,至此,三階段路由的第一段即定向隨機(jī)路由結(jié)束;
[0019]步驟10:環(huán)形區(qū)節(jié)點(diǎn)解密接收到的數(shù)據(jù)包,根據(jù)方位信息編碼在兩個(gè)對應(yīng)的集合中隨機(jī)選擇一個(gè)集合,并將選擇信息以一位二進(jìn)制位的形式附加到數(shù)據(jù)包中:編碼O表示選擇的是第一位方位信息編碼所對應(yīng)的集合,編碼I表示選擇的是第二位方位信息編碼所對應(yīng)的集合;接著,置參數(shù)h為系統(tǒng)所設(shè)定范圍內(nèi)的某隨機(jī)值,并將該值也附加到數(shù)據(jù)包中作為hop字段,然后,在選定集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),加密附加選擇信息編碼和hop字段后的數(shù)據(jù)包,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn);
[0020]步驟11:下一跳環(huán)形區(qū)節(jié)點(diǎn)解密接收到的數(shù)據(jù)包,提取hop字段值,并做自減操作,若結(jié)果等于0,則轉(zhuǎn)步驟16,否則,提取選擇信息編碼和方位信息編碼,計(jì)算在選定集合中的環(huán)形區(qū)節(jié)點(diǎn)個(gè)數(shù),若結(jié)果為O,則轉(zhuǎn)至步驟13,否則,在選定集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),對hop字段值更新后的數(shù)據(jù)包進(jìn)行加密,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn);
[0021]步驟12:轉(zhuǎn)至步驟11;
[0022]步驟13:環(huán)形區(qū)節(jié)點(diǎn)計(jì)算另一個(gè)非選定集合中的環(huán)形區(qū)節(jié)點(diǎn)個(gè)數(shù),若結(jié)果為0,則轉(zhuǎn)至步驟16,否則,在該集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),對hop字段值更新后的數(shù)據(jù)包進(jìn)行加密,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn);
[0023]步驟14:環(huán)形區(qū)節(jié)點(diǎn)解密接收到的數(shù)據(jù)包,提取hop字段值,并做自減操作,若結(jié)果等于0,則轉(zhuǎn)步驟16,否則,提取選擇信息編碼和方位信息編碼,計(jì)算在非選定集合中的環(huán)形區(qū)節(jié)點(diǎn)個(gè)數(shù),若結(jié)果為0,則轉(zhuǎn)至步驟16,否則,在非選定集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),對hop字段值更新后的數(shù)據(jù)包進(jìn)行加密,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn);
[0024]步驟15:轉(zhuǎn)至步驟14 ;至此,三階段路由的第二段即環(huán)形區(qū)h跳路由結(jié)束;
[0025]步驟16:環(huán)形區(qū)節(jié)點(diǎn)在其所維護(hù)的四個(gè)鄰居節(jié)點(diǎn)集合中選擇距離基站跳數(shù)最小的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),刪除數(shù)據(jù)包中的選擇信息編碼位、方位信息編碼位以及hop字段,加密更新后的數(shù)據(jù)包,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn);
[0026]步驟17:下一跳節(jié)點(diǎn)在其所維護(hù)的四個(gè)鄰居節(jié)點(diǎn)集合中選擇距離基站跳數(shù)最小的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),轉(zhuǎn)發(fā)數(shù)據(jù)包給下一跳節(jié)點(diǎn);
[0027]步驟18:下一跳節(jié)點(diǎn)若是基站節(jié)點(diǎn),則該數(shù)據(jù)包傳遞結(jié)束,轉(zhuǎn)至步驟6,否則,轉(zhuǎn)至步驟17。
[0028]有益效果:本發(fā)明提出的方法簡單易實(shí)現(xiàn),只需要很低的額外能耗開銷便可取得很高的隱私安全性。
[0029]安全性高:第一階段的定向隨機(jī)路由以很低的能耗開銷實(shí)現(xiàn)了路由路徑的局部方位隨機(jī)性,第二階段的環(huán)形區(qū)h跳路由以較低的能耗開銷實(shí)現(xiàn)了路由路徑的全方位隨機(jī)性,這兩階段的隨機(jī)路由有效避免了獵人的逆向追蹤,達(dá)到了很高的源位置隱私安全性。
[0030]能耗較低:第三階段的最短路徑路由沒有額外能耗開銷,第一階段的定向隨機(jī)路由產(chǎn)生的額外能耗不大,因?yàn)樗嵌ㄏ虻?,第二階段的環(huán)形區(qū)h跳路由會(huì)犧牲一些能耗,但是開銷是較低的,因?yàn)橄到y(tǒng)隨機(jī)參數(shù)h的取值范圍較小,畢竟從地理位置上看,環(huán)形區(qū)通常是距離基站較近的區(qū)域,其周長不會(huì)很長。
[0031]靈活性強(qiáng):不同監(jiān)控任務(wù)的無線傳感網(wǎng)覆蓋區(qū)域可能差異很大,且獵人的追蹤能力也會(huì)有強(qiáng)有弱。在獵人追蹤能力較強(qiáng)且覆蓋區(qū)域較小的應(yīng)用場景下,可以通過讓η和m取較大值來拉開環(huán)形區(qū)與基站的距離,即擴(kuò)大環(huán)形區(qū)的半徑,同時(shí)讓h的隨機(jī)取值范圍也變大,以達(dá)到盡可能全方位隨機(jī)方向的目標(biāo),這樣,在額外能耗開銷不大的情況下,可以大大提高源位置的隱私保護(hù)力度。反之,當(dāng)獵人追蹤能力較弱且覆蓋區(qū)域較大的情形下,可以適當(dāng)減小n、m和h的取值,在不影響源位置隱私安全的前提下,降低監(jiān)控系統(tǒng)的能耗開銷。
【專利附圖】
【附圖說明】
[0032]圖1是熊貓-獵人博弈模型示意,
[0033]圖2是二階段路由不意。
【具體實(shí)施方式】
[0034]為了使本發(fā)明的目的、技術(shù)方案以及有益效果更加清楚明確,下面結(jié)合附圖2和具體實(shí)施例,對本發(fā)明做進(jìn)一步的詳細(xì)說明。
[0035]—、體系結(jié)構(gòu)
[0036]本發(fā)明所基于的無線傳感器網(wǎng)絡(luò)是數(shù)據(jù)采集型傳感器網(wǎng)絡(luò),這種網(wǎng)絡(luò)廣泛應(yīng)用于各種環(huán)境監(jiān)測領(lǐng)域,可以采集多種應(yīng)用數(shù)據(jù),比如位置信息、語音、圖片和視頻等。該網(wǎng)絡(luò)由一個(gè)基站和均勻分布于平面上的大量傳感器節(jié)點(diǎn)構(gòu)成,每個(gè)節(jié)點(diǎn)都有唯一的標(biāo)識(shí),所有傳感器節(jié)點(diǎn)在部署之后不再移動(dòng),節(jié)點(diǎn)周期性地對被監(jiān)測對象進(jìn)行感知,并將所采集到的數(shù)據(jù)發(fā)送回基站。傳感器節(jié)點(diǎn)間的通信采用私鑰加密方式,節(jié)點(diǎn)私鑰在節(jié)點(diǎn)部署前預(yù)先載入節(jié)點(diǎn)。
[0037]本實(shí)施例假定獵人的監(jiān)聽半徑為傳感器節(jié)點(diǎn)的通信半徑,獵人不能篡改或解密數(shù)據(jù)包內(nèi)容,也不能破壞傳感器節(jié)點(diǎn)。起初,獵人處于基站位置,監(jiān)聽基站與其鄰居節(jié)點(diǎn)間的通信。一旦偵聽到某個(gè)節(jié)點(diǎn)向基站發(fā)送數(shù)據(jù)包,獵人能夠快速跟蹤到數(shù)據(jù)包的發(fā)送節(jié)點(diǎn)。獵人在追蹤過程中會(huì)記下其所經(jīng)過的每一跳節(jié)點(diǎn),當(dāng)獵人在一定時(shí)間段內(nèi)監(jiān)聽不到新數(shù)據(jù)包的到來,他可以選擇回退至前一節(jié)點(diǎn),即獵人具備較強(qiáng)的追蹤能力。圖2為本發(fā)明所基于的三階段路由示意。在介紹方法流程前先對幾個(gè)名詞進(jìn)行說明。
[0038]鄰居節(jié)點(diǎn)集合EN:傳感器節(jié)點(diǎn)s的鄰居節(jié)點(diǎn)集合EN是指在s的通信半徑內(nèi)位于s東面的所有傳感器節(jié)點(diǎn)。
[0039]鄰居節(jié)點(diǎn)集合WN:傳感器節(jié)點(diǎn)s的鄰居節(jié)點(diǎn)集合WN是指在s的通信半徑內(nèi)位于s西面的所有傳感器節(jié)點(diǎn)。
[0040]鄰居節(jié)點(diǎn)集合SN:傳感器節(jié)點(diǎn)s的鄰居節(jié)點(diǎn)集合SN是指在s的通信半徑內(nèi)位于s南面的所有傳感器節(jié)點(diǎn)。
[0041]鄰居節(jié)點(diǎn)集合NN:傳感器節(jié)點(diǎn)s的鄰居節(jié)點(diǎn)集合NN是指在s的通信半徑內(nèi)位于s北面的所有傳感器節(jié)點(diǎn)。
[0042]環(huán)形區(qū):假定傳感器節(jié)點(diǎn)在覆蓋網(wǎng)中均勻分布,基站周邊距離基站最小跳數(shù)介于m和n(n> = m>0,n, m為系統(tǒng)參數(shù))之間的節(jié)點(diǎn)大致圍成一個(gè)環(huán)形區(qū)域,稱之為環(huán)形區(qū)。
[0043]系統(tǒng)隨機(jī)參數(shù)h:h是控制環(huán)形區(qū)路由跳數(shù)的參數(shù),它在一定自然數(shù)范圍內(nèi)進(jìn)行隨機(jī)取值,一般地,當(dāng)η和m較大時(shí),h的取值范圍應(yīng)較大,當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)密度較大時(shí),h的取值范圍也應(yīng)較大。
[0044]二、方法流程
[0045]附圖2為本發(fā)明所基于的三階段路由示意,圖中Rl和R2表示兩個(gè)不同數(shù)據(jù)包的各自路由路徑。第一階段為定向隨機(jī)路由,第二階段為環(huán)形區(qū)h跳路由(附圖中用虛線標(biāo)識(shí)),第三階段是最短路徑路由?,F(xiàn)基于示意圖2將具體方法描述如下。
[0046]本發(fā)明基于三階段路由的源位置隱私保護(hù)方法包括如下步驟:
[0047]步驟I)、基站初始化整型參數(shù)m = 5和η = 6。
[0048]步驟2)、由基站發(fā)起洪泛操作,在此過程中每個(gè)傳感器節(jié)點(diǎn)記錄下到達(dá)基站的最小跳數(shù)值,同時(shí)將到達(dá)基站的最小跳數(shù)值大于等于m小于等于η的節(jié)點(diǎn)標(biāo)記為環(huán)形區(qū)節(jié)點(diǎn)。
[0049]步驟3)、選取無線傳感網(wǎng)最東邊和最北邊的兩個(gè)節(jié)點(diǎn),由它們分別往西邊和南邊發(fā)起洪泛操作。通過該洪泛操作,傳感網(wǎng)中的任意一個(gè)傳感器節(jié)點(diǎn)S都記錄下其四個(gè)方向的鄰居節(jié)點(diǎn)集合:EN, WN, SN和NN。節(jié)點(diǎn)s除了存儲(chǔ)其鄰居節(jié)點(diǎn)的ID外,還應(yīng)記錄下每個(gè)鄰居節(jié)點(diǎn)到達(dá)基站的最小跳數(shù)值以及是否是環(huán)形區(qū)節(jié)點(diǎn)。
[0050]步驟4)、環(huán)形區(qū)節(jié)點(diǎn)設(shè)置參數(shù)h在I到28范圍內(nèi)隨機(jī)取值。
[0051]步驟5)、在步驟2的洪泛過程中,每個(gè)傳感器節(jié)點(diǎn)還記錄下基站相對于它的方位信息(東或西、南或北)。以圖2為例,源節(jié)點(diǎn)記錄的方位為東南方向。
[0052]步驟6)、源節(jié)點(diǎn)生成監(jiān)控?cái)?shù)據(jù)包,給該數(shù)據(jù)包附加2位二進(jìn)制位以存儲(chǔ)方位信息,第I位二進(jìn)制位為O表示方向東,為I表示方向西,第2位二進(jìn)制位為O表示方向南,為I表示方向北,此例中方位信息編碼為00。加密數(shù)據(jù)包等待發(fā)送。
[0053]步驟7)、源節(jié)點(diǎn)根據(jù)方位信息編碼選擇鄰居節(jié)點(diǎn)集合:第I位二進(jìn)制位為O時(shí)選擇集合EN,為I為選擇集合WN ;第二位二進(jìn)制位為O時(shí)選擇集合SN,為I時(shí)選擇集合NN。此例中分別選擇EN和SN。源節(jié)點(diǎn)在兩個(gè)選定集合中隨機(jī)選擇一個(gè)距離基站最小跳數(shù)減少的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)。源節(jié)點(diǎn)發(fā)送加密后數(shù)據(jù)包給下一跳節(jié)點(diǎn)。
[0054]步驟8)、下一跳節(jié)點(diǎn)接收到數(shù)據(jù)包后首先判斷自己是否是環(huán)形區(qū)節(jié)點(diǎn),是則轉(zhuǎn)至步驟10,否則對數(shù)據(jù)包進(jìn)行解密,然后根據(jù)方位信息編碼在兩個(gè)對應(yīng)的集合中隨機(jī)選擇一個(gè)距離基站最小跳數(shù)減少的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),轉(zhuǎn)發(fā)數(shù)據(jù)包給該節(jié)點(diǎn)。
[0055]步驟9)、轉(zhuǎn)至步驟8。
[0056](注:至此,三階段路由的第一段即定向隨機(jī)路由結(jié)束)
[0057]步驟10)、環(huán)形區(qū)節(jié)點(diǎn)解密接收到的數(shù)據(jù)包,根據(jù)方位信息編碼在兩個(gè)對應(yīng)的集合中隨機(jī)選擇一個(gè)集合,并將選擇信息以一位二進(jìn)制位的形式附加到數(shù)據(jù)包中:編碼O表示選擇的是第一位方位信息編碼所對應(yīng)的集合,編碼I表示選擇的是第二位方位信息編碼所對應(yīng)的集合。接著,置參數(shù)h為系統(tǒng)所設(shè)定范圍內(nèi)的某隨機(jī)值,并將該值也附加到數(shù)據(jù)包中(作為hop字段)。然后,在選定集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),加密附加選擇信息編碼和hop字段后的數(shù)據(jù)包,發(fā)送加密數(shù)據(jù)包到下一跳環(huán)形區(qū)節(jié)點(diǎn)。
[0058]步驟11)、下一跳環(huán)形區(qū)節(jié)點(diǎn)解密接收到的數(shù)據(jù)包,提取hop字段值,并做自減操作,若結(jié)果等于0,則轉(zhuǎn)步驟16,否則,提取選擇信息編碼和方位信息編碼,計(jì)算在選定集合中的環(huán)形區(qū)節(jié)點(diǎn)個(gè)數(shù),若結(jié)果為0,則轉(zhuǎn)至步驟13,否則,在選定集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),對hop字段值更新后的數(shù)據(jù)包進(jìn)行加密,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn)。
[0059]步驟12)、轉(zhuǎn)至步驟11。
[0060]步驟13)、環(huán)形區(qū)節(jié)點(diǎn)計(jì)算另一個(gè)非選定集合中的環(huán)形區(qū)節(jié)點(diǎn)個(gè)數(shù),若結(jié)果為0,則轉(zhuǎn)至步驟16,否則,在該集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),對hop字段值更新后的數(shù)據(jù)包進(jìn)行加密,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn)。
[0061]步驟14)、環(huán)形區(qū)節(jié)點(diǎn)解密接收到的數(shù)據(jù)包,提取hop字段值,并做自減操作,若結(jié)果等于0,則轉(zhuǎn)步驟16,否則,提取選擇信息編碼和方位信息編碼,計(jì)算在非選定集合中的環(huán)形區(qū)節(jié)點(diǎn)個(gè)數(shù),若結(jié)果為0,則轉(zhuǎn)至步驟16,否則,在非選定集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),對hop字段值更新后的數(shù)據(jù)包進(jìn)行加密,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn)。
[0062]步驟15)、轉(zhuǎn)至步驟14。
[0063](注:至此,三階段路由的第二段即環(huán)形區(qū)h跳路由結(jié)束)
[0064]步驟16)、環(huán)形區(qū)節(jié)點(diǎn)在其所維護(hù)的四個(gè)鄰居節(jié)點(diǎn)集合中選擇距離基站跳數(shù)最小的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),刪除數(shù)據(jù)包中的選擇信息編碼位、方位信息編碼位以及hop字段,加密更新后的數(shù)據(jù)包,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn)。
[0065]步驟17)、下一跳節(jié)點(diǎn)在其所維護(hù)的四個(gè)鄰居節(jié)點(diǎn)集合中選擇距離基站跳數(shù)最小的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),轉(zhuǎn)發(fā)數(shù)據(jù)包給下一跳節(jié)點(diǎn)。
[0066]步驟18)、下一跳節(jié)點(diǎn)若是基站節(jié)點(diǎn),則該數(shù)據(jù)包傳遞結(jié)束,轉(zhuǎn)至步驟6,否則,轉(zhuǎn)至步驟17。
【權(quán)利要求】
1.一種無線傳感網(wǎng)中基于三階段路由的源位置隱私保護(hù)方法,其特征在于該方法采用了三階段路由:第一階段為定向隨機(jī)路由,第二階段為環(huán)形區(qū)h跳路由,第三階段是最短路徑路由。私鑰在節(jié)點(diǎn)部署前預(yù)先載入節(jié)點(diǎn),節(jié)點(diǎn)間通信采用私鑰加密方式。具體方法如下: 1)網(wǎng)絡(luò)初始化 步驟1:基站初始化m和n,n> = m>0,n, m為系統(tǒng)整型參數(shù),基站周邊距離基站最小跳數(shù)介于m和η之間的節(jié)點(diǎn)大致圍成一個(gè)環(huán)形區(qū),一般地,當(dāng)網(wǎng)絡(luò)規(guī)模越大時(shí),環(huán)形區(qū)也越大,即n,m的取值越大,m和η的具體取值可根據(jù)實(shí)際應(yīng)用場景的仿真測試結(jié)果來確定; 步驟2:由基站發(fā)起洪泛操作,在此過程中每個(gè)傳感器節(jié)點(diǎn)記錄下到達(dá)基站的最小跳數(shù)值,同時(shí)將到達(dá)基站的最小跳數(shù)值大于等于m小于等于η的節(jié)點(diǎn)標(biāo)記為環(huán)形區(qū)節(jié)點(diǎn);步驟3:選取無線傳感網(wǎng)最東邊和最北邊的兩個(gè)節(jié)點(diǎn),由它們分別往西邊和南邊發(fā)起洪泛操作;通過該洪泛操作,傳感網(wǎng)中的任意一個(gè)傳感器節(jié)點(diǎn)s都記錄下其四個(gè)方向的鄰居節(jié)點(diǎn)集合:EN, WN, SN和NN ;節(jié)點(diǎn)s除了存儲(chǔ)其鄰居節(jié)點(diǎn)的ID外,還應(yīng)記錄下每個(gè)鄰居節(jié)點(diǎn)到達(dá)基站的最小跳數(shù)值以及是否是環(huán)形區(qū)節(jié)點(diǎn); 步驟4:環(huán)形區(qū)節(jié)點(diǎn)設(shè)置參數(shù)h在自然數(shù)范圍[l..n*m]內(nèi)隨機(jī)取值; 步驟5:在步驟2的洪泛操作過程中,每個(gè)傳感器節(jié)點(diǎn)還記錄下基站相對于它的方位信息,即東或西、南或北; 2)發(fā)現(xiàn)監(jiān)控目標(biāo) 步驟6:源節(jié)點(diǎn)生成監(jiān)控?cái)?shù)據(jù)包,給該數(shù)據(jù)包附加2位二進(jìn)制位以存儲(chǔ)方位信息,第I位二進(jìn)制位為O表示方向東,為I表示方向西,第2位二進(jìn)制位為O表示方向南,為I表示方向北,加密數(shù)據(jù)包等待發(fā)送; 步驟7:源節(jié)點(diǎn)根據(jù)方位信息編碼選擇鄰居節(jié)點(diǎn)集合:第I位二進(jìn)制位為O時(shí)選擇集合EN,為I為選擇集合WN ;第二位二進(jìn)制位為O時(shí)選擇集合SN,為I時(shí)選擇集合NN ;源節(jié)點(diǎn)在兩個(gè)選定集合中隨機(jī)選擇一個(gè)距離基站最小跳數(shù)減少的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),源節(jié)點(diǎn)發(fā)送加密后數(shù)據(jù)包給下一跳節(jié)點(diǎn); 步驟8:下一跳節(jié)點(diǎn)接收到數(shù)據(jù)包后首先判斷自己是否是環(huán)形區(qū)節(jié)點(diǎn),是則轉(zhuǎn)至步驟.10,否則對數(shù)據(jù)包進(jìn)行解密,然后根據(jù)方位信息編碼在兩個(gè)對應(yīng)的集合中隨機(jī)選擇一個(gè)距離基站最小跳數(shù)減少的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),轉(zhuǎn)發(fā)數(shù)據(jù)包給該節(jié)點(diǎn); 步驟9:轉(zhuǎn)至步驟8,至此,三階段路由的第一段即定向隨機(jī)路由結(jié)束; 步驟10:環(huán)形區(qū)節(jié)點(diǎn)解密接收到的數(shù)據(jù)包,根據(jù)方位信息編碼在兩個(gè)對應(yīng)的集合中隨機(jī)選擇一個(gè)集合,并將選擇信息以一位二進(jìn)制位的形式附加到數(shù)據(jù)包中:編碼O表示選擇的是第一位方位信息編碼所對應(yīng)的集合,編碼I表示選擇的是第二位方位信息編碼所對應(yīng)的集合;接著,置參數(shù)h為系統(tǒng)所設(shè)定范圍內(nèi)的某隨機(jī)值,并將該值也附加到數(shù)據(jù)包中作為hop字段,然后,在選定集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),加密附加選擇信息編碼和hop字段后的數(shù)據(jù)包,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn); 步驟11:下一跳環(huán)形區(qū)節(jié)點(diǎn)解密接收到的數(shù)據(jù)包,提取hop字段值,并做自減操作,若結(jié)果等于0,則轉(zhuǎn)步驟16,否則,提取選擇信息編碼和方位信息編碼,計(jì)算在選定集合中的環(huán)形區(qū)節(jié)點(diǎn)個(gè)數(shù),若結(jié)果為0,則轉(zhuǎn)至步驟13,否則,在選定集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),對hop字段值更新后的數(shù)據(jù)包進(jìn)行加密,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn); 步驟12:轉(zhuǎn)至步驟11 ; 步驟13:環(huán)形區(qū)節(jié)點(diǎn)計(jì)算另一個(gè)非選定集合中的環(huán)形區(qū)節(jié)點(diǎn)個(gè)數(shù),若結(jié)果為O,則轉(zhuǎn)至步驟16,否則,在該集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),對hop字段值更新后的數(shù)據(jù)包進(jìn)行加密,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn); 步驟14:環(huán)形區(qū)節(jié)點(diǎn)解密接收到的數(shù)據(jù)包,提取hop字段值,并做自減操作,若結(jié)果等于0,則轉(zhuǎn)步驟16,否則,提取選擇信息編碼和方位信息編碼,計(jì)算在非選定集合中的環(huán)形區(qū)節(jié)點(diǎn)個(gè)數(shù),若結(jié)果為0,則轉(zhuǎn)至步驟16,否則,在非選定集合的環(huán)形區(qū)節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),對hop字段值更新后的數(shù)據(jù)包進(jìn)行加密,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn); 步驟15:轉(zhuǎn)至步驟14 ;至此,三階段路由的第二段即環(huán)形區(qū)h跳路由結(jié)束; 步驟16:環(huán)形區(qū)節(jié)點(diǎn)在其所維護(hù)的四個(gè)鄰居節(jié)點(diǎn)集合中選擇距離基站跳數(shù)最小的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),刪除數(shù)據(jù)包中的選擇信息編碼位、方位信息編碼位以及hop字段,加密更新后的數(shù)據(jù)包,發(fā)送加密數(shù)據(jù)包到下一跳節(jié)點(diǎn); 步驟17:下一跳節(jié)點(diǎn)在其所維護(hù)的四個(gè)鄰居節(jié)點(diǎn)集合中選擇距離基站跳數(shù)最小的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),轉(zhuǎn)發(fā)數(shù)據(jù)包給下一跳節(jié)點(diǎn); 步驟18:下一跳節(jié)點(diǎn)若是基站節(jié)點(diǎn),則該數(shù)據(jù)包傳遞結(jié)束,轉(zhuǎn)至步驟6,否則,轉(zhuǎn)至步驟.17。
【文檔編號(hào)】H04W40/02GK104469754SQ201410714730
【公開日】2015年3月25日 申請日期:2014年12月1日 優(yōu)先權(quán)日:2014年12月1日
【發(fā)明者】林巧民, 盧春紅, 王汝傳, 葉寧, 李勝艷, 韋修遠(yuǎn), 孫力娟, 肖甫, 黃海平, 李鵬 申請人:南京郵電大學(xué)