一種抵御攻擊者反向追蹤的源位置隱私保護(hù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及物聯(lián)網(wǎng)感知層節(jié)點(diǎn)安全技術(shù)領(lǐng)域,尤其涉及無線傳感器網(wǎng)絡(luò)中抵御攻擊者反向追蹤的源位置隱私保護(hù)方法。
【背景技術(shù)】
[0002]隨著物聯(lián)網(wǎng)的快速發(fā)展,作為物聯(lián)網(wǎng)感知層的重要組成部分,無線傳感器網(wǎng)絡(luò)有著極其廣闊的應(yīng)用,運(yùn)用部署在監(jiān)測(cè)區(qū)域內(nèi)的眾多節(jié)點(diǎn)感知、采集數(shù)據(jù),通過多跳無線傳輸將數(shù)據(jù)傳送給匯聚節(jié)點(diǎn)進(jìn)行處理。但是與傳統(tǒng)網(wǎng)絡(luò)相比,無線傳感器網(wǎng)絡(luò)由于其無線通信的特點(diǎn),其安全問題已經(jīng)成為制約無線傳感器網(wǎng)絡(luò)的阻礙。攻擊者可以通過無線信號(hào)定位設(shè)備,反向追蹤數(shù)據(jù)包,定位數(shù)據(jù)源,給被監(jiān)測(cè)目標(biāo)帶來威脅。
[0003]為了有效地保護(hù)被監(jiān)測(cè)對(duì)象,需要對(duì)源節(jié)點(diǎn)的位置進(jìn)行安全保護(hù)。抵御攻擊者反向追蹤的源位置隱私保護(hù)策略通?;诨糜奥酚?,但是幻影節(jié)點(diǎn)的數(shù)據(jù)通過最短路由策略發(fā)送到匯聚節(jié)點(diǎn),攻擊者可以發(fā)現(xiàn)幻影節(jié)點(diǎn)后,推斷幻影節(jié)點(diǎn)的分布規(guī)律,則有很高的可能發(fā)現(xiàn)源節(jié)點(diǎn)。
[0004]因此,為了使幻影節(jié)點(diǎn)的分布具有多樣的地理特性,分布無規(guī)律性,提出了基于幻影節(jié)點(diǎn)的源位置隱私保護(hù)策略,該策略中考慮具有更強(qiáng)可視能力的攻擊者,即如果攻擊者如果追蹤到距離源節(jié)點(diǎn)V跳的節(jié)點(diǎn)即認(rèn)為源節(jié)點(diǎn)暴露。該策略經(jīng)過兩次幻影節(jié)點(diǎn)的選擇,使幻影節(jié)點(diǎn)距離源節(jié)點(diǎn)的距離更遠(yuǎn),幻影節(jié)點(diǎn)的分布不集中于某一有規(guī)律的區(qū)域。
【發(fā)明內(nèi)容】
[0005]為了解決現(xiàn)有源位置隱私保護(hù)策略存在的不足,本發(fā)明提供了一種抵御攻擊者反向追蹤的源位置隱私保護(hù)方法,可以使幻影節(jié)點(diǎn)的分布無規(guī)律可循,同時(shí)避開失效路徑區(qū)域(所謂失效路徑區(qū)域即如果幻影節(jié)點(diǎn)到匯聚節(jié)點(diǎn)路徑經(jīng)過可視區(qū),則幻影節(jié)點(diǎn)所在的區(qū)域?yàn)槭^(qū)域),提供良好的源位置安全性能。
[0006]為了實(shí)現(xiàn)上述目的,本發(fā)明采取如下技術(shù)方案:通過兩次幻影節(jié)點(diǎn)的選擇過程,提供一種抵御攻擊者反向追蹤的源位置隱私保護(hù)方法,該方法包括以下步驟:
[0007](I)網(wǎng)絡(luò)初始化階段:靜態(tài)部署所有節(jié)點(diǎn),實(shí)現(xiàn)所有節(jié)點(diǎn)網(wǎng)絡(luò)參數(shù)的預(yù)載入,節(jié)點(diǎn)更新其鄰居列表;
[0008](2)源節(jié)點(diǎn)h跳有限泛洪階段:標(biāo)記出會(huì)引發(fā)失效路徑的節(jié)點(diǎn),并計(jì)算出h跳范圍內(nèi)節(jié)點(diǎn)自身和其鄰居節(jié)點(diǎn)距離源節(jié)點(diǎn)的最小跳數(shù);
[0009](3)源節(jié)點(diǎn)h跳有向路由階段:源節(jié)點(diǎn)將數(shù)據(jù)包按照遠(yuǎn)離源節(jié)點(diǎn)的方向轉(zhuǎn)發(fā)h跳,確定幻影節(jié)點(diǎn)I ;
[0010](4)等梯度c跳有向路由階段:幻影節(jié)點(diǎn)I按照等梯度路由將數(shù)據(jù)包轉(zhuǎn)發(fā)C跳,確定幻影節(jié)點(diǎn)2 ;
[0011](5)隨機(jī)路由階段:幻影節(jié)點(diǎn)2將接收到的數(shù)據(jù)包按照特定的路由轉(zhuǎn)發(fā)到匯聚節(jié)點(diǎn)。
[0012]更進(jìn)一步的,步驟(I)網(wǎng)絡(luò)初始化階段具體實(shí)現(xiàn)方式是:
[0013]匯聚節(jié)點(diǎn)設(shè)置初始跳數(shù)值hop為0,生成泛洪消息,進(jìn)行全網(wǎng)泛洪,并將攻擊者的可視區(qū)半徑V告訴所有節(jié)點(diǎn)。節(jié)點(diǎn)收到泛洪消息后,將跳數(shù)值hop加1,記錄下當(dāng)前的跳數(shù)值,并將泛洪消息向其鄰居節(jié)點(diǎn)廣播。泛洪結(jié)束后,每個(gè)節(jié)點(diǎn)在其所記錄的跳數(shù)值中選擇最小的一個(gè),作為自己到匯聚節(jié)點(diǎn)的最短路徑跳數(shù),更新其鄰居列表。
[0014]更進(jìn)一步的,步驟(2)源節(jié)點(diǎn)h跳有限泛洪階段具體實(shí)現(xiàn)方式是:
[0015]源節(jié)點(diǎn)生成廣播消息BM = {Bro_Source, id,h_s,θ,flag, s_x,s_y},其中 Bro_Source表示消息類型,id表示發(fā)送該消息的節(jié)點(diǎn)號(hào),h_s表示消息的計(jì)數(shù)值,初始化為O,Θ為可視區(qū)內(nèi)節(jié)點(diǎn)偏角中最大的角,由源節(jié)點(diǎn)位置坐標(biāo)、匯聚節(jié)點(diǎn)坐標(biāo)和可視區(qū)半徑V確定。flag表示節(jié)點(diǎn)號(hào)為id的節(jié)點(diǎn)是否會(huì)引發(fā)失效路徑的標(biāo)志位,初始為O。s_x, s_y表示源節(jié)點(diǎn)的位置坐標(biāo)。然后消息BM在源節(jié)點(diǎn)h跳內(nèi)進(jìn)行廣播。消息BM到達(dá)每個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)時(shí)h_s加1,同時(shí)根據(jù)源節(jié)點(diǎn)的位置(s_x,s_y)、匯聚節(jié)點(diǎn)的位置和自身位置按照余弦定理計(jì)算出自己的偏角并與Θ比較,如果偏角小于Θ,則使flag為1,向其鄰居節(jié)點(diǎn)廣播該消息。當(dāng)h_s計(jì)數(shù)到h時(shí),節(jié)點(diǎn)不再?gòu)V播該消息。經(jīng)過h跳有限泛洪,h跳范圍內(nèi)的節(jié)點(diǎn)獲得自身及其鄰居節(jié)點(diǎn)距離源節(jié)點(diǎn)的最小跳數(shù)值,同時(shí)根據(jù)消息中flag值判斷出其鄰居節(jié)點(diǎn)中哪些會(huì)引發(fā)失效路徑。
[0016]更進(jìn)一步的,步驟(3)源節(jié)點(diǎn)h跳有向路由階段的具體實(shí)現(xiàn)方式是:
[0017](3.1)源節(jié)點(diǎn)s每隔ΔΤ時(shí)間發(fā)送一個(gè)數(shù)據(jù)包PK = {Ek (m),h_r,nx_id},Ek(m)表示利用密鑰k加密消息內(nèi)容m的結(jié)果,h_r表示數(shù)據(jù)包轉(zhuǎn)發(fā)跳數(shù)的計(jì)數(shù)變量,nx_id表示下一跳節(jié)點(diǎn)的id號(hào);
[0018](3.2)節(jié)點(diǎn)收到源節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包PK后,從下一跳節(jié)點(diǎn)集合中隨機(jī)選擇一個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā);
[0019]所述的下一跳節(jié)點(diǎn)集合,滿足條件:是節(jié)點(diǎn)的鄰居節(jié)點(diǎn),且距離源節(jié)點(diǎn)的最小跳數(shù)大于自身到源節(jié)點(diǎn)的最小跳數(shù),同時(shí)不會(huì)引發(fā)失效路徑;
[0020](3.3)h_r初始為0,數(shù)據(jù)包每被轉(zhuǎn)發(fā)一次h_r加I,直到計(jì)數(shù)為h,則停止轉(zhuǎn)發(fā)。如果未計(jì)數(shù)到h跳,重復(fù)(3.2)步驟,直到數(shù)據(jù)包被轉(zhuǎn)發(fā)h跳。此時(shí)數(shù)據(jù)包到達(dá)的節(jié)點(diǎn)即為幻影節(jié)點(diǎn)I。
[0021]更進(jìn)一步的,步驟(4)等梯度c跳有向路由階段的具體實(shí)現(xiàn)方式是:
[0022]幻影節(jié)點(diǎn)I將收到的數(shù)據(jù)包中跳數(shù)計(jì)數(shù)值h_r清0,在其等梯度鄰居節(jié)點(diǎn)中選擇背離該數(shù)據(jù)包來源方向的節(jié)點(diǎn)作為下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),收到數(shù)據(jù)包的節(jié)點(diǎn)按照相同的方式進(jìn)行,轉(zhuǎn)發(fā),每轉(zhuǎn)發(fā)一次,h_r加I,直到h_r為C,停止轉(zhuǎn)發(fā),最后到達(dá)幻影節(jié)點(diǎn)2 ;所述的等梯度鄰居節(jié)點(diǎn)是指節(jié)點(diǎn)的鄰居節(jié)點(diǎn)中距離匯聚節(jié)點(diǎn)的最小跳數(shù)等于節(jié)點(diǎn)自身到匯聚節(jié)點(diǎn)最小跳數(shù)的節(jié)點(diǎn)。
[0023]更進(jìn)一步的,步驟(5)隨機(jī)路由階段的具體實(shí)現(xiàn)方式是:
[0024]幻影節(jié)點(diǎn)2將接收到的數(shù)據(jù)包從下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)集合中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為轉(zhuǎn)發(fā)節(jié)點(diǎn),收到數(shù)據(jù)包的節(jié)點(diǎn)重復(fù)此過程,直到數(shù)據(jù)包到達(dá)匯聚節(jié)點(diǎn)。
[0025]所述的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),滿足條件:是節(jié)點(diǎn)的鄰居節(jié)點(diǎn),且距離匯聚節(jié)點(diǎn)的最小跳數(shù)值小于節(jié)點(diǎn)自身到匯聚節(jié)點(diǎn)的跳數(shù)。
[0026]本發(fā)明采用上述技術(shù)方案,具有以下有益效果:在本發(fā)明中,(I)由于是避開失效路徑的源節(jié)點(diǎn)h跳有向路由,使數(shù)據(jù)包從源節(jié)點(diǎn)到幻影節(jié)點(diǎn)I的過程完全避開了可視區(qū),從而構(gòu)建可靠高效的源位置隱私保護(hù)策略體系。(2)本發(fā)明確?;糜肮?jié)點(diǎn)的最后分布不集中于以源節(jié)點(diǎn)為圓心的某一環(huán)形區(qū)域,保證攻擊者不可以通過幾個(gè)已捕獲幻影節(jié)點(diǎn)的位置分布,推斷出源節(jié)點(diǎn)的位置。(3)本發(fā)明中幻影節(jié)點(diǎn)盡可能的遠(yuǎn)離源節(jié)點(diǎn),數(shù)據(jù)包傳輸?shù)穆窂讲捎脛?dòng)態(tài)隨機(jī)路由,更好的阻礙攻擊者反向逐跳追蹤,延長(zhǎng)源節(jié)點(diǎn)的安全時(shí)間,理論分析和實(shí)驗(yàn)證明,本發(fā)明可以有效地保護(hù)源節(jié)點(diǎn)位置隱私,對(duì)于物聯(lián)網(wǎng)感知層節(jié)點(diǎn)位置隱私的研宄是一個(gè)有效補(bǔ)充。
【附圖說明】
[0027]圖1為本發(fā)明系統(tǒng)模型。
[0028]圖2為本發(fā)明網(wǎng)絡(luò)初始化流程圖。
[0029]圖3為本發(fā)明源節(jié)點(diǎn)h跳有限泛洪流程圖。
[0030]圖4為本發(fā)明源節(jié)點(diǎn)h跳有向路由流程圖。
[0031]圖5為本發(fā)明等梯度c跳等梯度流程圖。
【具體實(shí)施方式】
[0032]為了使本發(fā)明的目的,技術(shù)方案以及有益效果更加清楚明確,下面結(jié)合附圖和具體實(shí)施例,對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說明。
[0033]請(qǐng)見圖1,為本發(fā)明的系統(tǒng)模型圖,通過兩次幻影節(jié)點(diǎn)的選擇過程,實(shí)現(xiàn)供一種抵御攻擊者反向追蹤的源位置隱私保護(hù)方法。
[0034](I)網(wǎng)絡(luò)初始化階段
[0035]請(qǐng)見圖2,匯聚節(jié)點(diǎn)設(shè)置初始跳數(shù)值hop為0,生成泛洪消息,進(jìn)行全網(wǎng)泛洪,并將攻擊者的可視區(qū)半徑V告訴所有節(jié)點(diǎn)。節(jié)點(diǎn)收到泛洪消息后,將跳數(shù)值hop加1,記錄下當(dāng)前的跳數(shù)值,并將泛洪消息向其鄰居節(jié)點(diǎn)廣播。泛洪結(jié)束后,每個(gè)節(jié)點(diǎn)在其所記錄的跳數(shù)值中選擇最小的一個(gè),作為自己到匯聚節(jié)點(diǎn)的最短路徑跳數(shù),更新其鄰居列表。
[0036]此過程實(shí)現(xiàn)所有