葉 清,李默泚,宋瑩瑩,朱春磊
(1.海軍工程大學信息安全系,武漢 430033;2.海軍密碼管理中心,北京 100841;3.南部戰區海軍作戰勤務保障大隊,廣東 湛江 524000;4.91208部隊,山東 青島 266071)
無線傳感器網絡(Wireless Sensor Network,WSN)在各領域中已取得越來越廣泛的應用,其安全問題也引起了更多的關注。位置隱私是無線傳感器網絡中的重要隱私信息之一,對于許多關鍵無線傳感器網絡,位置隱私的泄露將對整個傳感器網絡的生命產生極大的威脅。一方面,無線傳感器網絡中傳感器節點的位置泄露可能導致攻擊者對關鍵節點進行定位并進一步破壞節點[1],或者對其捕獲從而進一步滲透進入網絡;另一方面,源節點位置隱私的泄露可能導致傳感器監測對象位置的泄露,攻擊者可進一步分析監測對象的行為信息及其他隱私。在軍事領域中,無線傳感器網絡在特殊區域進行偵察探測具有極大的優勢,而位置隱私的泄露將導致偵察目的的泄露以及針對無線傳感器網絡自身的攻擊,給傳感器網絡造成巨大的損失。
無線傳感器網絡節點從功能上可分為源節點與匯聚節點[2]。源節點通過其帶有的各類型傳感器對環境中的信息數據進行采集,通過無線多跳的方式轉發數據,一般具有有限的能耗與計算能力。匯聚節點作用為收集匯聚各源節點采集的數據信息并進行簡單的融合處理,進一步將網絡中采集的數據發送至處理終端,由于傳感器網絡與最終數據處理終端往往在不同的地點,因此匯聚節點具有遠程無線通信與較強的計算能力。為更好的進行數據轉發,許多傳感器網絡在將源節點進行分簇并在簇內選擇一個簇頭節點,通過它收集匯聚簇內節點數據作為中間節點向匯聚節點轉發。因此簇頭節點及匯聚節點都是無線傳感器網絡中的關鍵節點,它們位置隱私的泄露將對整個無線傳感器網絡造成重大影響。
無線傳感器網絡具有無線通信與自組織的特點,這導致了其固有的安全缺陷,即更容易受到攻擊。針對無線傳感器網絡位置隱私的攻擊主要有普通攻擊模型和復雜攻擊模型兩種攻擊模式[3],普通攻擊模型中的攻擊者主要采用竊聽、逐跳回溯[4]、流量分析[5]等被動攻擊方式,它針對WSN節點的無線通信特征,基于節點的電磁信號信息進行分析,攻擊隱蔽不易被發現。復雜攻擊模型中的攻擊者具有更強的攻擊能力,它可以進行節點捕獲[6]、數據篡改等主動攻擊方式,具有更大的威脅?,F有的WSN位置隱私保護方案主要針對普通攻擊模型,從傳感器節點發送信號的電磁特性的角度分析位置隱私攻擊;而對于節點捕獲等從轉發消息內容角度進行的主動攻擊方式考慮較少,攻擊者可通過截獲數據并分析出數據實際內容來獲取節點位置隱私。對于具有主動攻擊能力的攻擊者,從數據內容本身安全角度保護節點位置隱私具有重要意義。
差分隱私保護是一種可證明的安全隱私保護定義,基于增加不確定性的原理,保護隱私的安全。將差分隱私的思想引入WSN位置隱私保護中來,通過增加噪聲,增強位置的不確定性,可以有效解決數據內容安全問題。本文針對WSN中關鍵節點位置隱私保護中存在的安全性與可用性的矛盾問題,擬提出一種基于差分隱私與加密體制結合的無線傳感器網絡位置隱私保護協議,將通過拉普拉斯機制對節點位置信息加噪,保護位置隱私,在基站通過密鑰方式消除噪聲,恢復原始位置信息。
目前WSN節點位置隱私保護多采用改變網絡環境中的電磁規律的方式擾亂攻擊者的分析。主要為幻象路由、環形路由及假數據包注入等方式。幻象路由技術由Ozturk提出[7],在源節點轉發數據包時首先進行一個隨機游走的過程,改變原有的路由規律使攻擊者難以逐跳追蹤溯源;PUSBRF方案[8]在幻象路由的基礎上,通過適當控制隨機游走的方向,使最后數據包的分布更加均勻,提升了安全性。汪衛星[9]等提出了PRABNS策略,通過對幻影節點分布的均勻和角度調整,對兄弟節點的選擇,增加了隨機路徑的不確定性和數量。李道全[10]等人在失效路徑及隨機游走的跳數等問題上進行了改進。環形路由技術[11]通過在路由過程中構造環路來迷惑攻擊者,使之不能溯源,徐智富提出的基于布朗運動的隱私保護方案[12]和張江南提出的SVCRM方案[13]中都采用了這種方式。假包注入技術[14]是考慮到不同節點的作用與數據傳輸特點導致網絡中流量分布的規律性進而暴露關鍵節點位置的情況,在轉發數據包時同時轉發一個虛假數據包以平衡網絡流量,使流量分布更加平均。例如,FitProbRate方案[13]以指數分布向網絡內注入假數據包,同時以一定方案嵌入真實消息,實現網絡流量的偽裝;GFS方案[14]利用假包注入技術構造虛假數據源,模仿真實原節點產生轉發數據包的過程以迷惑攻擊者;牛曉光提出ADRing方案[15],將假包注入技術與環策略結合,節點產生的假數據包在虛擬環路中篩選過濾。周倩[16]等基于Kautz圖的分區巡邏方法,保障位置隱私的基礎上建立了樹形路由拓撲,提出了網絡效率。多數位置隱私保護方案能夠抵御逐跳回溯追蹤、流量分析等攻擊手段,但對數據包分析、節點捕獲等攻擊方式保護較少。
差分隱私[17]是Dwork提出的一種新的隱私定義。在此定義下,對數據集的計算處理結果對于具體某個記錄的變化是不敏感的,單個記錄在或者不在數據集中,對計算結果的影響微乎其微,攻擊者無法通過數據集的背景知識變化分析出個體的隱私。
定義1設數據集D和D′具有相同的屬性結構,兩者的對稱差記作DΔD′,|DΔD′|表示DΔD′中記錄的數據,若|DΔD′|=1,則稱D和D′為鄰近數據集。
定義2設隨機算法M,PM為M所有可能輸出構成的集合,對任意兩個鄰近數據集D和D′及PM的任何子集SM,若算法M滿足
Pr[M(D)∈SM]≤exp(ε)×Pr[M(D′)∈SM]
(1)
則稱算法M提供ε-差分隱私保護,其中參數ε稱為隱私保護預算[18],決定了隱私保護水平的高低。
定義3設有函數f,其輸入為一數據集D,輸出為d維實數向量,對于任意鄰近數據集D和D′,則
(2)
稱為函數f的敏感度[19],它表征了引入噪聲對數據集查詢結果的影響程度。
定義4對于服從拉普拉斯分布的噪聲Lab(b),其概率密度函數為[20]:
(3)
式中:b為尺度參數。若給定數據集D,函數f為D上的一個查詢,Δf為其敏感度,則隨機算法M(D)=f(D)+Y提供ε-差分隱私保護[17],Y~Lap(Δf/ε)為服從尺度參數為Δf/ε的拉普拉斯分布的隨機噪聲。
差分隱私保護具有嚴格的數學證明,保證了其可靠性,它不需要考慮攻擊者的背景知識,相比較于k匿名等其他隱私保護具有更高的安全性。在拉普拉斯機制的基礎上,Hardt[21]等提出了一種多權隱私保護機制,在相同隱私保護預算下可回答更多查詢。吳偉民[22]等將差分隱私引入聚類算法之中,實現了聚類的差分隱私,用以保護數據融合中的隱私安全。
差分位置隱私是差分隱私在位置隱私保護中的應用,它基于位置模糊化的方法,通過對位置信息加入一定噪聲,使其符合差分隱私定義,從而保護位置隱私安全,解決傳統位置隱私保護中對背景知識過度依賴的問題。
定義5對于一個位置保護機制,該機制下產生的位置集合為Z,x與x′為兩個相鄰的實際位置點,對任意x滿足d(x,x′) (4) 則該機制滿足ε-差分位置隱私保護。 k-匿名技術通過k個節點的位置信息對單個節點的位置進行隱藏,通過節點周圍k個節點的位置進行統計運算(如取平均)來代替節點的實際位置,將單個位置信息與k個節點的位置相關聯,從而實現位置保護。這一思想是位置隱私保護的傳統思想之一。 張學軍等將差分位置隱私與k-匿名技術結合[23],提出用戶為中心的差分擾動位置隱私保護方法。游慶光[24]在軌跡保護中加入差分隱私,依據運動軌跡的馬爾可夫特性添加拉普拉斯噪聲,通過傳統位置隱私保護與差分隱私定義的結合,提高了位置隱私安全性。 平面坐標系下位置信息需要兩個坐標標識從而導致各坐標獨立加入噪聲增加了隱私保護預算的問題,Miguel等人針對這一問題提出極坐標下的添加噪聲分布[25]: (5) 將角度與距離兩個維度分離,可得極坐標中角度維度上噪聲為均勻分布: (6) 距離維度上噪聲的概率密度為: Dε,R(r)=ε2re-εr (7) 由直角坐標下獨立添加噪聲轉化為極坐標下添加單一噪聲,從而節省了隱私保護預算。周裕[26]根據此方法提出了基于質心加噪的多位置差分隱私保護機制,減小了位置誤差。 差分位置隱私保護基于位置模糊化的思想,因此必然存在著隱私安全與位置可用性之間的平衡問題,更強的隱私保護往往容易導致位置信息可用性的喪失,因此提出基于噪聲加密機制的WSN差分位置隱私保護協議(Noise Encrypted Based Differential Location Privacy Protection in WSN,NEDLP)具有重要意義。該協議將密碼學的思想引入差分位置隱私中,主要分為簇內隱私保護階段和簇間隱私保護階段。簇內隱私保護階段主要是簇頭節點收集簇內節點數據,各源節點將自身位置信息經過加噪處理后與所采集的數據一起發送至簇頭節點。簇頭節點對各節點數據進行初步融合,并以簇內節點質心位置取代原有位置信息。簇間隱私保護階段為各個簇頭節點通過多跳中繼的方式向基站轉發數據的過程,在此過程中,簇頭節點通過目標節點的公鑰來產生噪聲加入節點位置信息之中以滿足差分隱私保護的要求。 根據1.3節中所述,節點位置隱私保護中,向節點位置中加入式5概率密度的噪聲能夠符合差分位置隱私,在θ維度服從均勻分布,在r維度服從式(7)分布,分布函數為它的積分: (8) 綜上對于節點Pi=(θ,r),以極坐標表達的噪聲擾亂結果為: (9) 將無線傳感器網絡內的節點按區域分簇,同一簇內節點將采集數據首先發送至簇頭節點進行初步融合處理。在同一簇內,為保證各節點位置隱私安全,在向簇頭節點轉發數據時使用加入噪聲處理的位置信息,使得各個節點能夠與簇頭節點直接通信由于各節點距離較近,因此可以通過簇內節點的區域信息模糊化節點實際位置信息。 Step 1 源節點采集信息,獲得環境及目標數據。節點獲取自身位置并添加2.1中所述噪聲,將擾動后的位置信息與獲取數據一起發送至簇頭節點。 Step 2 簇頭節點接收簇內各節點數據信息并對其進行初步融合與預處理,消除異常數據。 Step 3 利用所采集的簇內節點數據計算簇的質心并替代簇內節點實際位置,實現區域的匿名化。 Step 4 簇頭節點周期性的查詢簇內節點狀態,更新節點信息,消除失效節點。 Step 5 對于簇內新節點,以廣播的方式查詢其對應的簇頭節點并獲取簇頭信息,將采集數據與加噪后的位置發送至簇頭。 簇間差分隱私保護階段,數據包由初始的簇頭節點開始,經中間簇頭節點中繼,最終發送到基站。數據包轉發過程采用最短路徑路由的方式,需要利用節點的位置信息進行轉發。因此,采用密鑰方式生成噪聲以保證路由過程中節點位置的噪聲可以消除,提高路由精度。首先在無線傳感器網絡初始時為基站和每個節點分配一對非對稱密鑰,其中私鑰由節點自己掌握,公鑰在網絡中公開,隱私保護過程如下。 Step 1 簇內各節點采集數據由簇頭節點收集并轉發,位置信息由下面公式得到的簇內區域質心位置替代。 (10) 式中:CL為一個簇內的節點集合,Pj(θ,r)為單個節點位置。 Step 2 對位置信息加入由2.1節點產生的噪聲。 Pc′(θ,r)=Pc(θ,r)+[a,C-1(b)] (11) Step 3 簇頭節點通過加噪擾動和替代后的位置Pi′(θ,r)=Pc′(θ,r)進行數據轉發,由基站公鑰加密對隨機數a,b進行加密,由節點私鑰進行簽名,源節點發送的數據經上述處理后轉發回基站。 packet=Pi′(θ,r)‖encryptpks(a‖b‖ (12) Step 4 轉發數據包時采用最小距離鄰近節點法: (13) 式中:P0為當前節點,SINK為基站即最終目標,Pdes為下一跳目標,PL為鄰近節點集合。 Step 5 當數據轉發過程中出現無法找到更鄰近的節點或陷入循環時,則采用“右手定則”的方法,返回上一跳節點,選擇繞開通過其他次鄰近節點轉發。 Step 6 基站接收數據包時,由私鑰SKs及公鑰PKi解密驗證噪聲隨機數a,b,并通過其還原噪聲,由下式消除噪聲得到分簇區域位置。 Pi(θ,r)=Pi′(θ,r)-[a,C-1(b)] (14) Step 7 簇頭節點周期性獲得簇內節點狀態更新后,重新計算噪聲與質心替代。 綜合2.2與2.3節,NEDLP算法的位置隱私保護與數據路由如圖1所示。 圖1 NEDLP協議數據轉發過程 各分簇之間通過其簇頭節點通信。利用鄰近簇頭節點列表的維護得到鄰近節點集合并實現最小鄰近距離的路由轉發,具體步驟如圖2所示。 Step 1 分簇A通過廣播查詢鄰近簇頭節點。 Step 2 接收到查詢的節點B向A返回確認信息并進行相互驗證。 Step 3A接收B的驗證信息,查詢自身鄰近簇頭節點列表,如果無對應節點信息或其信息發生變化,則將之加入或更新列表。將自身節點路由所需信息(節點位置與噪聲隨機數)加密發送至B。 Step 4B接收到A的信息,檢查自身鄰近簇頭節點列表并根據相應信息完成列表更新維護。 圖2 鄰近簇頭列表維護過程 在簇內節點位置隱私保護中,采用了拉普拉斯機制產生噪聲并對節點位置進行擾動,由其定義可知對于尺度參數為b的拉普拉斯分布,噪聲擾動后的數據滿足ε=b的ε-差分隱私保護。 在簇間節點位置隱私保護中,通過噪聲加密與位置模糊化方法,將簇內節點位置隱藏于簇的整體位置信息中,使節點位置模糊化,通過拉普拉斯噪聲使節點位置滿足差分隱私保護的要求,兩種方法結合得到的隱私保護預算為ε/n。 在節點間簇頭信息的查詢、鄰近節點列表維護以及噪聲隨機數的傳輸中都采用了公鑰密碼體制進行加密和驗證,以此保護節點位置信息外的相關敏感信息的安全,保障機密性和完整性,防止攻擊者通過其他信息還原噪聲或分析節點的位置。 隱私保護預算決定著在一定安全條件下實現差分隱私的代價,也相應表征了隱私保護的強度。當單個節點有ε的隱私保護預算時,簇內節點集合的整體加噪的的預算為nε;而采用質心位置替代單個節點位置時,對分簇整體加噪時,原來單個節點的位置敏感度將由分簇內全部節點共同分擔,因此質心位置的敏感度為rc=r/n,而相應的隱私保護預算為ε/n。 另一方面采用極坐標替換直角坐標系,加入噪聲從原來橫縱兩個維護產生拉普拉斯噪聲變為距離上一個維度產生噪聲,也相應節約了隱私保護預算。 對于同一簇內的節點,節點間位置本身較近且環境信息接近,采用質心替代實際位置所造成的誤差較小而不易影響位置可用性簇頭節點對質心的計算通過各節點加噪后位置平均,相同參數下的噪聲通過平均進行了消除從而保障了質心位置的準確性。 對于數據的路由轉發與基站的接收,利用了加密機制結合噪聲機制,噪聲保證傳輸的安全,加解密保證了噪聲的可還原性,使得實際使用的位置信息的精確度提高,保證位置可用性。 下面分析位置信息的誤差,誤差來源主要為質心的替代和噪聲的擾動: δi=d(Pi,Pc′)≤d(Pi,Pc)+fr (15) 式中:Pc′為加入噪聲后的質心位置,Pc為實際質心位置。 誤差的期望為: (16) 在同樣的隱私保護預算下,位置的誤差受到節點與分簇質心距離的影響,即是分簇的密度。簇內節點范圍越大,節點離質心的平均距離越大,相應位置誤差越高。通過分簇的調整,可以在同樣的隱私保護預算下調整位置的精度,從而實現位置隱私安全與位置信息可用的平衡。 通過計算機仿真所提出的算法,對隱私保護效果與位置可用性進行驗證并與平面直角坐標系下的拉普拉斯噪聲機制[19]以及極坐標下不進行分簇的噪聲機制[23]進行對比分析。 利用MATLAB軟件平臺與windows7操作系統在8 GB內存,core i7 CPU筆記本上進行仿真。分別仿真直角坐標下的分簇拉普拉斯噪聲加密算法(方法1)、極坐標下的不分簇噪聲加密算法(方法2)和本文所提算法(方法3)進行比較,計算各自位置誤差與路由效率。具體參數如表1所示。 表1 仿真參數表 方法一為直角坐標下的噪聲加密算法,分簇的質心與噪聲都通過直角坐標表示,分別在橫軸和縱軸兩個方向加入拉普拉斯噪聲進行位置隱私保護。方法二為極坐標下不分簇的噪聲加密算法,節點位置與噪聲通過極坐標表示,只在距離維度加入噪聲,但不對節點進行分簇和質心替換,每個節點分別獨立地加入噪聲。 通過噪聲擾動的位置偏移即位置誤差來反映隱私保護效果,在相同隱私保護預算條件下,具有相同的位置隱私安全性,位置誤差越小時,位置精度越高,體現了更好的隱私保護效果。當ε=0.1,分簇為10節點時,在5~100的直徑范圍內分別仿真計算三種算法的平均位置偏移,結果如圖3所示。 圖3 簇內節點平均偏移隨分簇范圍的變化 圖中反映出方法1與方法3隨著分簇范圍的增大位置誤差變化相近,具有相同的隱私保護效果,面方法1由于在兩個維度上加入噪聲,實際上消耗了兩倍的隱私保護預算。方法2由于不進行分簇,位置誤差保持恒定,與方法3比較,位置隱私保護效果取決于分簇的范圍大小,當分簇不很大時,方法3在同樣隱私保護強度下具有更小的位置誤差,從而提高了位置可用度。在實際應用中分簇可滿足算法的要求,因此算法具有實用性。 當ε=0.1,分簇范圍為30時,在簇內節點5~20的范圍內分別仿真三種算法,計算簇內節點位置的平均偏移量,結果如圖4所示。 圖4 簇內節點平均偏移隨節點數量的變化 圖中反映出在同樣的分簇大小下,節點的數量對位置誤差沒有影響,因此方法1、方法3下的隱私保護效果主要受分簇范圍的影響,即節到質心的平均距離,隱私保護安全性與位置信息可用性的平衡也通過調整分簇范圍實現。 下面通過路由長度分析算法的效率。以表1的仿真參數以方法2和方法3在最短鄰近距離方法下的路由過程進行仿真,簇頭節點和分簇情況通過對整個網絡節點位置信息聚類得到。分別計算兩種方法的路徑長度。結果如圖5所示。 圖中橫坐標為源節點與基站節點的距離,縱坐標為路由的平均路徑長度。在相同的隱私保護強度下,方法3因為具有更精確的位置信息進行路由,因此路由效果更好,整體路由路徑較短,從而提高網絡效率。根據計算,方法3路徑長度比方法2少29.52%。當節點距離基站較遠時,路由所需的中繼節點更多,因此位置誤差累計增大,因此對于越大規模的WSN,方法3對效率的提高越明顯。 本文針對無線傳感器網絡位置隱私保護問題中安全性與可用性之間的矛盾,提出了NEDLP協議,通過對網絡內節點的分簇,分別在簇內和簇間通信兩個階段進行位置隱私保護。簇內階段以噪聲方法實現差分位置隱私,簇間通信通過質心替換和噪聲加密兩個方法保障位置隱私安全并通過公鑰密碼體制對噪聲參數的傳遞實現了噪聲的還原和消除從而提高位置精度。所提協議在相同的隱私保護強度下,節約了隱私保護預算并提高了位置精度,使其更具有可用性。經過仿真和對比,NEDLP協議達到了理論預期的效果并具有實用性。
2 基于噪聲加密機制的差分位置隱私保護
2.1 產生噪聲



2.2 簇內差分位置隱私保護
2.3 簇間差分位置隱私保護

signski(a‖b))‖data
2.4 鄰近簇頭節點列表

3 協議分析與驗證
3.1 安全性分析
3.2 隱私保護預算
3.3 可用性分析

4 仿真實驗
4.1 仿真環境與參數

4.2 隱私保護效果比較


4.3 路由效果比較
5 結論