于吉喆,白樂強,曹科研
(沈陽建筑大學信息與控制工程學院,沈陽 110168)
物聯(lián)網(wǎng)(Internet of Things,IoT)通過連接大量的物體進行接收和交換數(shù)據(jù),在智能家居、工業(yè)制造、智慧城市等多個領域得到了廣泛的應用[1]。無線傳感器網(wǎng)絡(Wireless Sensor Network,WSN)由大量資源受限和供電受限的自組織傳感器節(jié)點組成,是物聯(lián)網(wǎng)中數(shù)據(jù)監(jiān)控和信息采集的基礎組件。然而,近年來大量的研究表明,WSN 中基站位置隱私的安全問題尚未得到有效的解決。基站作為整個網(wǎng)絡中唯一接收數(shù)據(jù)信息的節(jié)點,如果位置暴露,將嚴重威脅整個網(wǎng)絡的安全。因此,基站位置隱私保護成為近年來的研究熱點。
在WSN 中,針對基站位置隱私中的攻擊者能力不同,可將攻擊者分為具有全局攻擊能力和局部攻擊能力的攻擊者[2]。在針對具有全局攻擊能力的攻擊者研究中,文獻[3]最早考慮了WSN 基站位置隱私的問題,并針對此問題提出了MPR 路由、RW 路由、FP 和建立多個熱點區(qū)域4 種策略[4],欺騙攻擊者遠離真實基站的位置,然而以上4 種策略產(chǎn)生了額外的通信開銷,縮減了WSN 的生命周期。文獻[5]提出一種基于分組調(diào)整發(fā)送速率的策略SRA,該策略通過控制數(shù)據(jù)包的傳輸速率,平衡了整個網(wǎng)絡的通信流量,達到隱藏真實基站位置的目的。文獻[6]提出SRCRR 策略保護基站位置隱私,該策略網(wǎng)絡中的數(shù)據(jù)包沿著直線路徑傳輸,并存儲在網(wǎng)絡中的中間節(jié)點,基站則在給定的網(wǎng)絡區(qū)域內(nèi)以近似圓形的運動軌跡從本地節(jié)點收集存儲的數(shù)據(jù)包,從而防止攻擊者預測其位置,雖然該策略提高了數(shù)據(jù)包的收集效率,保護基站的位置隱私,但是數(shù)據(jù)包傳輸和基站移動過程產(chǎn)生了額外的能量消耗,縮短了網(wǎng)絡壽命。文獻[7]通過注入假包的策略統(tǒng)一分配通信流量,使攻擊者難以發(fā)現(xiàn)基站的位置,但該策略消耗較高的能量,不利于延長網(wǎng)絡的生命周期。
在針對具有局部攻擊能力的攻擊者研究中,文獻[8]提出了基站位置隱私路由的新策略LPR,該策略針對局部攻擊者的攻擊特征,提出針對基站位置隱私的數(shù)據(jù)包逐跳追蹤攻擊者,為延長攻擊者捕獲基站的時間,網(wǎng)絡中收到數(shù)據(jù)包的節(jié)點以一定的概率從遠鄰集隨機選擇一個節(jié)點作為下一跳,使數(shù)據(jù)包傳輸路徑具有多樣性,從而提升基站的安全周期。但是,數(shù)據(jù)包傳輸?shù)姆较蚩偸浅蚧?,不能有效地保護基站位置隱私。文獻[9]在傳統(tǒng)的單徑路由的基礎上通過注入假包和假基站的機制迷惑數(shù)據(jù)包逐跳追蹤攻擊者,使其偏離真實路徑,從而延長攻擊者捕獲基站的時間。但是,真實路徑為最短路徑,產(chǎn)生的交叉節(jié)點距離基站較近,其傳輸?shù)募侔窂讲荒苡行У仉[藏基站的位置。文獻[10]提出基于環(huán)的路由策略RBR,數(shù)據(jù)包通過最短路徑傳輸至最近的路由環(huán),然后通過路由線傳輸?shù)狡渌穆酚森h(huán),使攻擊者難以定位到基站的準確位置。由于逐跳追蹤攻擊者在某種程度上能通過數(shù)據(jù)包的傳輸方向推斷基站的位置,因此WANG 等綜合了LPR[8]和YAO[9]算法策略,提出了針對方向攻擊者的基站位置隱私保護策略MRF[11],該策略通過注入假包,誘導攻擊者偏離真實路徑。但是,隨著源節(jié)點數(shù)量的增多,交叉節(jié)點和隨機路徑產(chǎn)生的假包路徑也隨之增多,由于假包路徑距離基站較近,基站的位置容易暴露,因此不能有效地提高基站的安全周期。
在針對同時具有全局攻擊能力和局部攻擊能力的攻擊者研究中,文獻[12]提出MimiBS 策略,該策略將WSN 中的節(jié)點分為普通傳感器節(jié)點、聚集節(jié)點和基站節(jié)點,其中聚集節(jié)點形成熱點區(qū)域,將攻擊者誘導至該區(qū)域上,從而保護基站的位置。該策略的優(yōu)點是安全性能根據(jù)TTL 參數(shù)調(diào)整,缺點是會相應地增加延遲。上述策略雖然獲得了較高的安全周期,但相應地增加了通信開銷和能量消耗。為減少WSN 的能量消耗,文獻[13]建立了路徑受限移動基站的網(wǎng)絡流圖模型,提高了網(wǎng)絡能量利用率和數(shù)據(jù)收集的效率。
在當前抵御局部攻擊者的基站位置隱私保護協(xié)議的研究中,真實數(shù)據(jù)包的傳輸方向總是朝向基站,中間節(jié)點的位置距離基站較近,其產(chǎn)生的假包路徑不能有效地使攻擊者偏離真實路徑和隱藏基站的位置。為此,本文提出基于垂線的無線傳感器網(wǎng)絡基站位置隱私保護算法(ABP)。通過建立直線和垂線確定幻影源節(jié)點,不僅使其位置遠離基站,而且保證其位置在網(wǎng)絡中分布均勻,使其產(chǎn)生的真實路徑不總是朝向基站傳輸,同時幻影源節(jié)點向目的節(jié)點傳輸假包,使數(shù)據(jù)包的傳輸路徑具有多樣性,增加攻擊者捕獲基站的難度,以達到保護基站的目的。
本文的網(wǎng)絡模型與文獻[14]提出的熊貓-獵人位置隱私保護模型相似。網(wǎng)絡模型滿足以下條件[8,15]:
1)網(wǎng)絡中均勻分布大量的傳感器節(jié)點,每個傳感器節(jié)點的計算能力和電池供電非常有限,傳感器節(jié)點的通信半徑為r。
2)網(wǎng)絡中僅有1 個基站節(jié)點,位于網(wǎng)絡中心?;矩撠熅W(wǎng)絡初始化和收集網(wǎng)絡中所有節(jié)點的數(shù)據(jù)信息。
3)無線傳感器網(wǎng)絡中傳輸?shù)乃袛?shù)據(jù)包都經(jīng)過加密[16],攻擊者不具有內(nèi)容隱私的攻擊能力。
攻擊者作為熊貓活動區(qū)域內(nèi)具備局部無線監(jiān)聽能力的獵人,唯一的目的是捕獲熊貓。本文對無線傳感器網(wǎng)絡的攻擊模型作如下假設[17]:
1)攻擊者配備了先進的無線電設備,具有強大的計算和存儲能力。
2)攻擊者與傳感器節(jié)點的通信半徑相同。攻擊者通過計算信號強度和方向估計發(fā)送節(jié)點的位置,并快速移動到發(fā)送節(jié)點的位置。
3)攻擊者不具有竊取或篡改數(shù)據(jù)包內(nèi)容、更改路由路徑和破壞傳感器節(jié)點的能力。
以基站B為原點建立坐標系XOY。設隨機選擇的源節(jié)點S的坐標(xS,yS)。當|xS|≥|yS|和|xS|<|yS|時,源節(jié)點位于第1 象限下,預期幻影源節(jié)點P′1和P′2的位置如圖1 和圖2 所示。
圖1 |xS|≥|yS|時的預期幻影源節(jié)點數(shù)學模型Fig.1 Expected phantom source node mathematical model with|xS|≥|yS|
圖2 |xS|<|yS|時的預期幻影源節(jié)點數(shù)學模型Fig.2 Expected phantom source node mathematical model with|xS|<|yS|
同理可求源節(jié)點S位于第2、3、4 象限下對應的預期幻影源節(jié)點和的坐標。
同理,可求源節(jié)點S位于第2、3、4 象限下對應的預期幻影源節(jié)點和的坐標。
ABP 算法分為網(wǎng)絡初始化階段、基于直線的幻影路由階段、幻影源節(jié)點P1注入假包和基于垂線的幻影路由階段、幻影源節(jié)點P2注入假包和最短路徑路由階段。基站B進行網(wǎng)絡初始化,每個節(jié)點得到相關信息,源節(jié)點S計算預期幻影源節(jié)點和的坐標,為實際確定幻影源節(jié)點P1和P2提供方向,S沿著直線傳輸真包至P1,然后P1沿著垂線傳輸真包至P2,最后P2將真包沿著最短路徑傳輸至B;同時收到真包的幻影源節(jié)點P1和P2分別沿著直線和垂線傳輸假包。
2.2.1 網(wǎng)絡初始化階段
網(wǎng)絡安全初始化階段主要完成如下的任務:獲取網(wǎng)絡中的節(jié)點信息建立節(jié)點信息表,以及獲取節(jié)點的鄰居建立鄰居表。節(jié)點的信息表中存放節(jié)點的ID、坐標、到基站的最小跳數(shù)Hop。節(jié)點的鄰居表中存放鄰居節(jié)點的ID、坐標、到基站的最小跳數(shù)sender_Hop。網(wǎng)絡中任意節(jié)點通過定位算法獲得自己的坐標[18]基站B生成網(wǎng)絡初始化信息包Sink_Init[19]在整個網(wǎng)絡范圍內(nèi)廣播。Sink_Init={InformationType,sink_coordinate,sender_ID,sender_coordinate,hop},其中:InformationType代表發(fā)送消息的消息類型;sink_coordinate 代表基站的坐標;sender_ID代表發(fā)送節(jié)點的ID;sender_coordinate 代表發(fā)送節(jié)點的坐標;hop 代表發(fā)送節(jié)點到基站所經(jīng)歷的跳數(shù),初始值為0。
設節(jié)點Q為網(wǎng)絡中收到Sink_Init 信息包的節(jié)點,其處理信息包的步驟如下:
步驟1節(jié)點Q讀取Sink_Init 信息包,判斷是否首次收到Sink_Init 信息包,若首次收到,則在鄰居表中存儲sender_ID、sender_coordinate、sender_Hop,轉(zhuǎn)步驟2,否則轉(zhuǎn)步驟3。
步驟2節(jié)點Q判斷自己是否為基站,若是基站,則停止傳輸數(shù)據(jù)包,否則存儲基站坐標,更新Hop=hop+1,轉(zhuǎn)步驟4。
步驟3節(jié)點Q查詢sender_ID 是否在鄰居表中,若在鄰居表中,則更新此鄰居到基站的最小跳數(shù)sender_Hop=hop,否則在鄰居表中存儲sender_ID、sender_coordinate、sender_Hop。節(jié)點Q判斷hop+1和Hop 的大小,若Hop >hop+1,則更新Hop=hop+1,轉(zhuǎn)步驟4,否則停止傳輸數(shù)據(jù)包。
步驟4節(jié)點Q更新Sink_Init 信息包中的sender_ID 為節(jié)點Q的ID,sender_coordinate 為節(jié)點Q的坐標,hop 為Hop,傳輸數(shù)據(jù)包。
2.2.2 基于直線的幻影路由階段
如圖3 和圖4 所示,S沿著直線傳輸數(shù)據(jù)包。設節(jié)點Q為收到數(shù)據(jù)包的節(jié)點,S和Q處理數(shù)據(jù)包的步驟如下:
圖3 |xS |≥|yS |時的ABP 算法示意圖Fig.3 ABP algorithm schematic with |xS |≥|yS |
圖4 |xS |<|yS |時的ABP 算法示意圖Fig.4 ABP algorithm schematic with |xS |<|yS |
步驟1S計算,傳輸數(shù)據(jù)包至鄰居節(jié)點中距離最近的節(jié)點。
步驟2節(jié)點Q判斷自身的通信半徑范圍是否存在在節(jié)點Q的通信半徑范圍內(nèi),則停止傳輸數(shù)據(jù)包,節(jié)點Q視為幻影源節(jié)點否則,節(jié)點Q搜索鄰居表,計算每個鄰居節(jié)點到的距離,傳輸數(shù)據(jù)包至鄰居節(jié)點中距離最近的節(jié)點。
2.2.3P1注入假包和基于垂線的幻影路由階段
如圖3 和圖4 所示,P1沿著直線向目的節(jié)點D傳輸假包,同時P1沿著垂線向P′2傳輸真包。設節(jié)點Q為收到數(shù)據(jù)包的節(jié)點,Q的坐標為(xQ,yQ),S的坐標為(xS,yS),直線與x軸的夾角為和Q處理數(shù)據(jù)包的步驟如下:
步驟1P1向傳輸真包,同時傳輸生命周期TTL=5 的假包。
步驟1.1P1計算傳輸數(shù)據(jù)包至鄰居節(jié)點中距離最近的節(jié)點。
步驟1.2P1沿著直線向鄰居節(jié)點傳輸TTL=5 的假包,直線方程如式(5)所示:
步驟2節(jié)點Q判斷收到的數(shù)據(jù)包是否為真包,若為真包,則轉(zhuǎn)步驟2.1,否則,轉(zhuǎn)步驟2.2。
步驟2.1 節(jié)點Q判斷自身的通信半徑范圍是否存在在節(jié)點Q的通信半徑范圍內(nèi),則停止傳輸數(shù)據(jù)包,節(jié)點Q視為幻影源節(jié)點P2,否則,節(jié)點Q搜索鄰居表,計算每個鄰居節(jié)點到的距離,傳輸數(shù)據(jù)包至鄰居節(jié)點中距離最近的節(jié)點。
步驟2.2 節(jié)點Q判斷TTL 是否為0,若收到TTL=0 的假包,丟棄該假包,節(jié)點Q視為D;否則TTL-1,節(jié)點Q計算自身至直線的垂直距離d1如式(6)所示,傳輸假包至鄰居節(jié)點中d1值最小的節(jié)點。
2.2.4 幻影源節(jié)點P2注入假包和最短路徑路由階段
如圖3 和圖4 所示,幻影源節(jié)點P2沿著垂線向目的節(jié)點D傳輸假包,同時P2沿著最短路徑向基站B傳輸真包。設節(jié)點Q為收到數(shù)據(jù)包的節(jié)點,S的坐標為(xS,yS),P1的坐標為(x1,y1),直線與x軸的夾角為和Q處理數(shù)據(jù)包的步驟如下:
步驟1P2向B傳輸真包,同時傳輸生命周期TTL=5 的假包。
步驟1.1P2傳輸真包至鄰居節(jié)點中距離B最近的節(jié)點。
步驟1.2P2沿著垂線向鄰居節(jié)點傳輸TTL=5 的假包,垂線方程如式(7)所示:
步驟2節(jié)點Q判斷收到的數(shù)據(jù)包是否為真包,若為真包,則轉(zhuǎn)步驟2.1,否則,轉(zhuǎn)步驟2.2。
步驟2.1節(jié)點Q判斷自身是否為B,若是B,則停止傳輸數(shù)據(jù)包,否則Q傳輸真包至鄰居節(jié)點中距離B最近的節(jié)點。?
步驟2.2Q判斷TTL 是否為0,若收到TTL=0的假包,丟棄該假包,節(jié)點Q視為D,否則TTL-1,節(jié)點Q計算自身至垂線的垂直距離d2如式(8)所示,傳輸假包至鄰居節(jié)點中d2值最小的節(jié)點。
本文對傳輸時延進行理論分析,傳輸時延為真包從源節(jié)點傳輸至基站所移動的平均跳數(shù)。在節(jié)點均勻分布的大規(guī)模傳感器網(wǎng)絡中,數(shù)據(jù)包移動的跳數(shù)可用兩點間的距離表示[20]。本文的傳輸時延包括基于直線的幻影路由階段、基于垂線的幻影路由階段、最短路徑路由階段3 個部分。如圖5 所示,建立坐標系XOY,以第1 象限內(nèi)的源節(jié)點,其橫坐標的絕對值大于縱坐標的絕對值的情況為例分析平均傳輸時延,其他象限內(nèi)由源節(jié)點傳輸數(shù)據(jù)包產(chǎn)生的平均傳輸時延同理。設基于直線的幻影路由階段的平均傳輸時延為Dline,基于垂線的幻影路由階段的平均傳輸時延為Dper,最短路徑路由的傳輸時延為Dshortest,總的平均傳輸時延為Davg;源節(jié)點S的坐標為(xS,yS),S關于直線為對稱軸的對稱點P'1的坐標為(x1,y1),由垂線和直線lBS確定的預期幻影源節(jié)點的坐標為(x2,y2),且的求解結(jié)果如式(1)~式(4)所示。
圖5 S 向B 傳輸數(shù)據(jù)包路徑示意圖Fig.5 Schematic diagram of data packet transmission path from S to B
在基于直線的幻影路由階段中,源節(jié)點S向預期幻影源節(jié)點傳輸數(shù)據(jù)包,該階段的傳輸時延如式(9)所示:
因此,基于直線的幻影路由階段的平均傳輸時延Dline如式(11)所示:
在基于垂線的幻影路由階段中,P1沿著垂線向傳輸數(shù)據(jù)包,該階段的傳輸時延如式(12)所示:
由圖5 可知,S傳輸多條數(shù)據(jù)包路徑,都到達同一因此,基于最短路徑階段的平均傳輸時延Dshortest如式(14)所示:
由上述分析可得,ABP 算法的平均傳輸時延Davg如式(15)所示:
本文通過傳輸時延、安全周期和通信開銷3 個指標評估ABP 算法的性能,基于Matlab R2017b 仿真平臺,對LPR 算法[8]、MRF 算法[11]和ABP 算法進行仿真實驗。為實現(xiàn)傳感器節(jié)點均勻分布,將6 000 m×6 000 m 的區(qū)域均勻劃分成100×100 個大小相同的網(wǎng)格,10 000 個傳感器節(jié)點初始位于各個網(wǎng)格中心。為模擬自然狀態(tài)下傳感器節(jié)點的隨機分布情況,給各個傳感器節(jié)點加一個服從正太分布的隨機擾動ε(ε~N(μ,σ2)),使傳感器節(jié)點隨機出現(xiàn)在網(wǎng)格中的任意位置,基站位于網(wǎng)絡的中心位置。源節(jié)點周期定義為源節(jié)點傳輸2 個數(shù)據(jù)包的間隔時間[8]。
傳輸時延指在某一路由協(xié)議下真包從源節(jié)點傳輸至基站所移動的平均跳數(shù)。如圖6 所示,隨著源節(jié)點到基站跳數(shù)的不斷增加,3 種算法的傳輸時延不斷提高,這是因為隨著源節(jié)點距離基站跳數(shù)的不斷增加,源節(jié)點傳輸路徑長度可能不斷增大,源節(jié)點到基站的平均路徑長度也隨之增大。在MRF 算法中,數(shù)據(jù)包的傳輸路徑分為最短路徑和隨機路徑。該算法主要的傳輸路徑為最短路徑,由于隨機路徑短,其傳輸方向總是朝向基站,因此傳輸時延增長量小,該算法的傳輸時延最低。在LPR 算法中,節(jié)點以一定的概率隨機地將數(shù)據(jù)包向近鄰集或遠鄰集傳輸,其傳輸路徑為隨機路徑,相比最短路徑增加了額外的傳輸時延,因此該算法的傳輸時延略高于MRF 算法。在ABP 算法中,首先源節(jié)點沿著直線將數(shù)據(jù)包傳輸至距離基站較遠的地方,該階段提高了傳輸時延的增長量;為了避免產(chǎn)生額外的傳輸延遲,沿著垂線將數(shù)據(jù)包向基站方向傳輸;最后通過最短路徑傳輸至基站,總體上增加了數(shù)據(jù)包的轉(zhuǎn)發(fā)次數(shù),增加了傳輸時延,因此該算法的傳輸時延略高于LPR 算法和MRF 算法的傳輸時延。
圖6 傳輸時延示意圖Fig.6 Schematic diagram of transmission delay
安全周期指基站被攻擊者捕獲之前收到數(shù)據(jù)包的個數(shù)。如圖7 所示,隨著源節(jié)點數(shù)目的增多,3 種算法的安全周期不斷下降。LPR 算法由于沒有假包注入,且數(shù)據(jù)包傳輸方向總是朝向基站,不能有效地保護基站位置隱私,因此該算法的安全周期最低。MRF 算法由于真實路徑主要為最短路徑,攻擊者很容易追蹤到隨機路徑上,該算法通過隨機路徑上產(chǎn)生的假包路徑能夠起到迷惑攻擊者且保護基站位置隱私的作用,但是隨機路徑短,隨著源節(jié)點數(shù)目的增多,假包路徑距離基站較近,難以隱藏基站的位置,因此MRF 算法的安全周期明顯高于LPR 算法。與MRF 算法相比,ABP 算法進一步提高了安全周期,主要有2 點原因:1)ABP 算法有2 個具有位置多樣性的幻影源節(jié)點,第1 個幻影源節(jié)點距離基站較遠,能夠保護基站位置隱私,第2 個幻影源節(jié)點為數(shù)據(jù)包向基站傳輸提供方向,因此2 個幻影源節(jié)點為數(shù)據(jù)包傳輸提供有向的隨機路徑;2)2 個幻影源節(jié)點都注入假包,產(chǎn)生的假包路徑距離基站較遠且能夠有效地誘導攻擊者偏離真實路徑,增大攻擊者捕獲基站的難度,提高安全周期。
圖7 安全周期示意圖Fig.7 Schematic diagram of safety cycle
通信開銷指傳輸數(shù)據(jù)包的總跳數(shù)。如圖8 所示,隨著源節(jié)點數(shù)量的不斷增加,3 種算法的通信開銷不斷增大。在LPR 算法中,由于沒有假包注入,只有通過增加數(shù)據(jù)包傳輸路徑長度的方式提高通信開銷,因此該算法的通信開銷最低。在ABP 和MRF 算法中都有假包注入,且MRF 算法的通信開銷略高于ABP 算法,這是因為ABP算法的假包僅由幻影源節(jié)點P1和P2傳輸。然而,MRF 算法中的假包由交叉節(jié)點和隨機路由路徑上的節(jié)點傳輸,其中交叉節(jié)點傳輸假基站上的假包至假基站,隨機路徑上的節(jié)點傳輸假包至目的節(jié)點,增加了額外的通信開銷,因此MRF 算法的通信開銷略高于ABP 算法的通信開銷。
圖8 通信開銷示意圖Fig.8 Schematic diagram of communication overhead
本文針對無線傳感器網(wǎng)絡基站位置隱私保護問題,提出一種基于垂線的無線傳感器網(wǎng)絡基站位置隱私保護算法。通過在直線和垂線上隨機確定2 個均勻分布的幻影源節(jié)點,為真實數(shù)據(jù)包傳輸路徑提供多樣性,2 個幻影源節(jié)點分別沿著直線和垂線傳輸假包,誘導攻擊者偏離真實路徑,隱藏基站的真實位置。理論分析與仿真結(jié)果表明,該算法不僅能夠使攻擊者朝遠離基站的方向追蹤,而且同時能使數(shù)據(jù)包傳輸路徑具有多樣性,雖然增加了部分傳輸時延,但總體上提高了安全周期,減少了通信開銷,達到了保護基站位置隱私的目的。本文僅針對具有逐跳追蹤數(shù)據(jù)包攻擊能力的攻擊者,下一步將針對具有全局攻擊能力的流量分析攻擊者,通過在網(wǎng)絡中設置假基站節(jié)點,實現(xiàn)網(wǎng)絡中聚集節(jié)點數(shù)據(jù)傳輸流量的均衡,提升基站位置隱私的保護強度。