劉志雄,黎梨苗
(長沙學院 計算機工程與應用數學學院,長沙 410022)
無線傳感器網絡(WSN,Wireless Sensor Network)在健康醫療,交通監控和環境監測等領域均獲得了越來越廣泛的關注和應用[1].由于傳感器網絡往往是部署在環境惡劣的敵對區域,攻擊者能夠俘獲節點并獲取其中存儲的機密信息,然后捏造虛假數據并注入到網絡中[2],從而干擾用戶決策,并耗費傳感器節點寶貴的資源[3,4].
針對虛假數據的危害,國內外學者提出了一些應對策略[5-12],其共同之處是在數據包后攜帶t(系統閾值)個MAC,并由轉發節點進行驗證.這些機制在安全性方面獲得了較好的效果,但假包須傳輸較大跳數才被過濾,不利于節省網絡能量;且由于沒有將密鑰與部署區域綁定,無法防范地理上不相鄰的妥協節點通過協作偽造虛假數據.
本文提出一種雙重過濾虛假數據的方案DAFS,首先在節點間建立關聯,以形成密集認證區域,并將密鑰與所在簇綁定,然后由轉發節點同時對數據包中兩類MAC的正確性,以及位置的合法性進行驗證,以提高虛假數據過濾效率,并檢測由不同區域妥協節點協作偽造的假包.
文獻[5]率先對識別并過濾虛假數據進行了探究,提出了轉發過濾的框架算法 SEF.其思想是將全局密鑰池分成n(n>t)個密鑰,每個分區含m個密鑰.每個傳感器隨機存儲一個分區中的k個密鑰.檢測到突發事件時,多個節點聯合生成數據包,其中包含t個由來自不同密鑰分區產生的MAC.轉發節點以概率k/m對數據包中的MAC進行驗證.最后由sink對漏過中轉認證的假包實施驗證.后續機制大都基于SEF所提框架.
文獻[6]基于成組策略對假包進行過濾,將節點分成t組,采用多坐標系劃分監控區域,并基于區域分發密鑰.數據包由來自不同組的節點聯合產生.該策略減少了數據包攜帶的冗余信息,但多軸劃分和密鑰分發不利于節省網絡資源.
文獻[7]將過濾能力視為信息論中的隨機變量,并對其最優解進行了推導,然后結合對稱密鑰機制和公開密鑰機制進行驗證.該方案從理論上對虛假數據過濾進行了有益的探討,但公鑰機制存在效率低且開銷大的特點.
文獻[8]針對光學傳感器網絡提出了OARB機制,將節點組織成簇,并建立到sink的路徑,中間簇頭依次在轉發過程中對數據包進行驗證.限于節點性能,該方案很難擴展到常規傳感器網絡應用中.
文獻[9]中提出了基于單向哈希鏈的HFS方案,一方面利用哈希值和MAC的正確性校驗來過濾假包,另一方面通過哈希值的新鮮性驗證以檢測重復包.該方案能有效過濾假包和重復包,但哈希值的分發和存儲需較大的節點開銷.
文獻[10]針對傳感器網絡中惡意節點選擇性丟棄合法數據包的攻擊行為,提出了途中過濾策略EFASD,每個節點保存其1跳和2跳鄰居信息,轉發節點聯合其鄰居節點共同對數據包中附帶的單向鏈密鑰進行驗證.
網絡部署后成簇,簇頭負責產生數據包,并最終發送到sink.假定網絡在部署后有一段較短的安全期,建立關聯以及簇頭與sink的交互都在這段時間完成.假設sink無法被俘獲,掌握全局密鑰信息,并具備強大的計算和通信能力.
節點被妥協后,其所存儲的密鑰信息也會被攻擊者捕獲.攻擊者可以利用這些信息往網絡中注入虛假數據,篡改合法數據,發送重復數據等.本文僅針對虛假數據注入攻擊提出一種防范策略.
存在大小為N的全局密鑰池G,等分成n個不交叉的分區{Ui,0≤i≤n-1},每個分區的密鑰數為m個(N=n×m).部署前,每個傳感器節點隨機選擇一個分區中任意k個進行存儲,此類密鑰稱為R型密鑰.
節點部署后,如果某個節點在其所有一跳鄰居中的ID最小,則該節點成為簇頭CH.由于傳感器的感知半徑遠大于其傳輸半徑,故假定簇內所有節點能同時感知到發生在簇內的事件.CH收集簇內節點信息并生成hello包:{y,CH,S1,S2,…,Sy}.其中第一位y為計數器,初始值為簇內節點數;S1,S2,…,Sy表示簇內節點.
隨后CH將hello包往sink方向發送出去,傳輸跳數由y控制.第一個中轉節點Si收到包后,將節點數組的最后一位刪去并記錄Sy. 其中Si和Sy稱為一對協作節點,Si稱為上游節點,簇內節點Sy稱作下游節點.接下來,Si將自己的節點號插入到節點數組的第一位,然后將包轉發.計數器y減一,在其變為零之前,其它中轉節點執行類似的操作.
hello包傳輸了y跳之后停止,最后一個中轉節點Sj生成一個只包含其自身節點號的ACK包:{Sj},并將其沿hello包的逆向路徑傳輸.中轉節點依次將自己的節點號插入到包的最后一位,到達簇頭時終止.接下來,簇內節點依次從ACK包中記錄其上游協作節點的節點號.
協作節點之間通過短消息交互共享一對對偶密鑰,該過程可利用文獻[2]中的算法實現,此類密鑰稱為A型密鑰.最后,簇內節點任選一個R型密鑰對其A型密鑰以及協作節點號進行加密,并發送給簇頭,簇頭再將這些信息進行壓縮打包并發送給sink節點.建立了協作關系的區域能夠對數據進行密集認證,稱為“封鎖區”,如圖1所示.

圖1 關聯建立及密鑰分發Fig.1 Association establishment and keys distribution
檢測到突發事件后,簇頭將感知值(記為e)發送給各個簇內節點.收到信息的檢測節點S將感知數值與e進行比對,若差別小于預定的閾值范圍,則認為兩個數據相等,然后隨機選一個R型密鑰及其A型密鑰產生簽名:MR,MA,并發送給簇頭.簇頭收集t個節點的簽名信息并生成數據報告:
R0:{C;e;R1,R2,…,Rt;MR1,MR2,…,MRt;
A1,A2,…,At;MA1,MA2,…,MAt}
(1)
其中C為包傳輸跳數計數器,其初始值等于y;R1…Rt為R型密鑰,MR1為用密鑰R1產生的MAC,稱為R型MAC;A1…At為節點號,MA1為A1節點用與其上游節點共享的對偶密鑰產生的MAC,稱為A型MAC.本文和SEF一樣,采用布隆過濾器[13]將兩類MAC各映射成d比特的字符串F=b0b1…bd-1,則報告為,
R:{C;e;R1,R2,…,Rt;A1,A2,…,At;F1;F2}
(2)
參數t的取值是過濾能力和能耗之間的折中,由sink根據網絡的規模及密度等參數來設定.包含多于或者少于t個節點簽名的數據包都屬于非法數據包.布隆過濾器(Bloom Filter)采用一些系統級哈希函數將長的MAC消息映射成短的字符,在維持MAC的完整性同時極大地減小了包長.其具體實現及功能描述在文獻[5,13]中有詳細介紹.
中轉節點除了對數據包進行雙重認證外,還對通過封鎖區的數據包進行“丟尾”處理.首先,中轉節點可能碰巧擁有數據包中一個R型密鑰,能以一定概率對其進行認證.其次,封鎖區節點利用與簇內節點協定的對偶密鑰對數據包進行認證.轉發驗證步驟如下:
1)檢查數據包中是否包含t對{Rk,MRk};{Ak,MAk}元組,不是則將包丟棄;
2)檢查數據包中的t個R型密鑰是否來自t個不同分區,不是則將包丟棄;
3)若節點擁有數據包中一個R型密鑰,則用該密鑰重新計算一個R型MAC,并與包中的R型MAC進行比對,不同則將包丟棄;
4)若節點擁有數據包中一個A型密鑰,則用該密鑰重新計算一個A型MAC,并與包中的A型MAC進行比對,不同則將包丟棄,相同則將包發給下一跳;
5)若節點不包含數據包中任何一個密鑰,直接將包轉發.轉發驗證偽碼如圖2所示.
當傳輸計數器減為零時,表明數據包已通過封鎖區,在接下來的轉發過程中,協作認證已經失去效用.中轉節點對經過封鎖區的數據包進行丟尾處理:丟棄數據包后附帶的t個A型MAC,t個A型密鑰索引以及計數器C.丟尾處理后的DAFS數據包相對于SEF數據包,便于節省傳輸能量.

圖2 中轉驗證偽碼Fig.2 Pseudo-code for en-route authentication
sink節點預先知道全局網絡密鑰信息以及拓撲結構,配備有較強的通信和計算能力,能夠過濾所有漏過轉發認證的假包.收到數據包后,sink首先對數據包中所有的MAC和傳感器位置信息進行校驗,僅當這些信息都正確才接收數據包,否則將認為數據包是假的并丟棄.
為分析簡便,將網絡區域視為半徑Ra的圓形區域,其中隨機布撒有W個感應半徑為Rs的傳感器,如圖3所示.其中節點S1,…,S5來自不同簇,而S6,…,S10都來自簇C1.

圖3 SEF和DAFS中協作攻擊比較Fig.3 Coordinated attacks in SEF and DAFS
已有SEF,OARB等機制通過中間節點驗證數據包中附帶的MAC來過濾假包,它們防范協同攻擊的能力相同.攻擊者在獲取了網絡中任意區域t個密鑰分區后,便能協作偽造無法被識別的假包.例如當t=5,攻擊者俘獲了擁有不同密鑰分區的S1,…,S5之后,即可偽造出SEF,OARB等機制無法識別的假包.
定理1.攻擊者俘獲SEF或OARB中任意Nc(Nc≥t)個節點,其中有至少t個密鑰分區的概率可以表達為:
(3)

(4)

DAFS將一組密鑰與簇進行綁定,并由轉發節點驗證是否所有檢測節點來自同一個簇,從而能檢測來自不相鄰區域多個妥協節點協作偽造的假包.例如,來自不同簇的妥協節點S1,…,S5協作偽造的假包將在第一跳被過濾.為了偽造出無法被DAFS所識別的假包,攻擊者需要俘獲同一個簇內的t個密鑰分區.
定理2.假定DAFS應用于半徑為Rc的圓形區域,攻擊者隨機俘獲了Nc(Nc≥t)個節點,其中同一個簇內有至少t個妥協節點的概率為,
(5)

圖4給出了當t=5,Rc/Ra=2/5,n=35時,psef,oarb和pdafs的實驗值和理論值,其中實驗值是隨機測試5000次的均值.從圖中可以看出,攻擊者僅需捕獲少量節點即可以較大概率攻破OARB和SEF,而攻破DAFS所需的妥協節點數量較多.例如當Nc=10,攻擊者有高達97.4%的概率攻破OARB和SEF,而僅有1.5%的幾率攻破DAFS.理論分析和仿真實驗結果都說明,DAFS的妥協容忍能力遠強于SEF,OARB等機制.

圖4 psef,oarb、pdafs的理論值與仿真值Fig.4 Comparison of logical and simulation results of psef,oarb and pdafs
在Nc個節點被妥協的條件下,攻擊者偽造一個“看起來合法”的假數據,必須要構造(t-Nc)個可被識別的假MAC.
全局節點對假包在每一跳進行隨機過濾的概率為p1=k(t-Nc)/N;封鎖區對假包進行確定性過濾的概率記為p2.則假包每傳輸一跳被過濾的概率為p0=p1+p2-p1p2.顯然SEF在每跳過濾假包的概率為p1.
當H≤y時,p2=(y-z)/y;反之,p2=(y-z)/H.則p0為,
(6)
圖5所示為DAFS,SEF和OARB的過濾概率隨傳輸跳數的變化曲線,參數設置為Nc=4,t=5,N=1000;n=10;k=50;H=20;簇內平均節點數y=10;協作節點失效率為10%,即z=1,由圖可見,DAFS在H≤y的范圍內的過濾概率達到90%以上,且隨傳輸跳數增大僅略有下降,但仍保持在15%以上.這是因為H≤y的區域為密集認證的封鎖區.而SEF和OARB由于僅在節點間以一定概率共享對稱密鑰,過濾概率隨跳數變化不大,分別維持在5%和8%左右.顯然DAFS較SEF及OARB等機制在過濾效率上有明顯的優勢.

圖5 過濾概率隨傳輸跳數變化Fig.5 Filtering probability changes according to transmitted hops
DAFS通過盡早過濾虛假數據來達到能耗節省的目的.但數據包增加了一個計數器,t個密鑰索引,t個節點索引以及兩個布隆過濾器,這些信息會帶來額外開銷.
采用如下模型對能耗進行量化分析.布隆過濾器,密鑰索引,節點索引及計數器的長度分別記為Ls,Lk,Ln和Lc.純數據長度記為Lr,DAFS數據包長度記為Ldafs.記α1=LSEF/Lr=1+Ls/Lr+c×t,α2=LDAFS/Lr=1+2Ls/Lr+Lc/Lr+2×c×t,其中c=Lk/Lr.合法數據量和虛假數據量分別記為1和β.則一個包含(t-Nc)個假MAC的數據包傳輸H跳的能耗可計算為,

(7)
協作節點最多存儲t個對偶密鑰,相比SEF中所增加的密鑰存儲比例僅為t/m.例如,取t=5,m=50,則僅增加了10%的存儲量,一個密鑰為64比特,則存儲開銷約為3 kB(比較:OARB的存儲開銷為3.4kB).當前典型的節點配置,如UCB(University of California Berkeley)研制的MICA2節點[11],使用4KB的SRAM和128KB的ROM,顯然滿足需求.
數據包中MAC數量t的取值是安全性和能耗之間的折中.t越大,攻擊者需要獲取相應更多的秘密信息才能偽造出驗證節點無法識別的假包,故而增大了攻擊的難度[12].此外,附帶更多的額外信息也引入了更大的傳輸能耗.
妥協節點越多,即Nc越大,攻擊者獲取某個簇內的節點信息的幾率越大,從而需偽造的假MAC數量越少,故而降低了假包被發現的幾率.當Nc足夠大(最壞情況下),有了足夠的機密信息的攻擊者可任意偽造假包逃過DAFS驗證.
本文利用C++語言建立了模擬仿真平臺,環境如下:在圓形監控區域,源節點和sink(均為靜態點)分別位于圓心和圓周,其它傳感器節點任意布撒.設定從S到sink的前10跳為協作節點,其它仿真參數的設置見表1.限于篇幅,僅給出了在Nc=4時,DAFS,OARB和SEF在過濾效率和能量耗費方面的實驗數據.取15次模擬實驗的均值作為結果.

表1 仿真參數Table 1 simulation parameters
圖6所示為分別采用OARB,SEF和DAFS三種算法時,假數據包被過濾的比率與傳輸跳數的關系曲線.從圖中可以看出,采用DAFS機制時,攻擊者注入的虛假數據的90%以上在前10跳被過濾,其余假數據在20跳時也全部被過濾;而采用SEF算法時,前10跳僅有34%左右的假數據被過濾,20跳后仍然有約一半未被過濾,而全部過濾要到40跳以后;在OARB中,前10跳也僅能過濾42%的假包,假包全部被過濾要傳輸35跳.顯然,實施雙重認證的DAFS機制在過濾性能上明顯優于單重過濾的SEF和OARB.

圖6 假包丟棄比率隨傳輸跳數變化Fig.6 Percentage of dropped false reports changes according to the transmitted hops H
圖7所示為當H=20,Nc=4時,SEF,OARB和DAFS的傳輸能耗(分別記為E1,E2和E3)關于傳輸跳數的變化曲線.

圖7 傳輸能耗關于傳輸距離H的變化Fig.7 Energy consumption changes according to H
參數取值為Ls=64 bits,Lk=10 bits,Lr=24 bits,Lc=10bits,n=10bits,Nc=4,m=100以及k=50.從圖中可以看出,隨著傳輸距離增大,E3比E1及E2增長速度慢,且DAFS較SEF及OARB在能耗節省方面優勢明顯.
本文在深入分析當前方案過濾效率不高且無法檢測協作注入的假包的原因后,給出了基于雙重過濾的算法DAFS.將節點組織成簇,并綁定密鑰與部署區域,由轉發節點同時驗證兩類MAC的正確性和位置的合法性,從而能提高過濾概率,并有效識別不同區域妥協節點協作偽造的假包.如何對一些參數進行優化選擇,將會是進一步的研究工作.
:
[1] Ren Feng-yuan,Huang Hai-ning,Lin Chuang.Wireless sensor networks [J].Journal of Software,2003,14(7):1282-1291.
[2] Su Zhong,Lin Chuang,Feng Fu-jun,et al.Key management schemes and protocols for wireless sensor networks [J].Journal of Software,2007,18(5):1218-1231.
[3] Peng S L,Li S S,Liao X K,e al.Estimation of a population size in large-scale wireless sensor networks [J].Journal of Computer Science and Technology,2009,24(5):987-996.
[4] Yang F,Zhou X H,Zhang Q Y.Multi-dimensional resilient statistical en-route filtering in wireless sensor networks [J].Journal of Internet Technology,2010,12(1):130-139.
[5] Ye F,Luo H,Zhang L.Statistical en-route filtering of injected false data in sensor networks [C].In Proc.IEEE International Conference on Computer Communications(INFOCOM),2004:2446-2457.
[6] Yu L,Li J Z.Grouping-based resilient statistical en-route filtering for sensor networks [C].In Proc.IEEE International Conference on Computer Communications(INFOCOM),2009:1782-1790.
[7] Cao Z,Deng H,Guan Z,et al.Information-theoretic modeling of false data filtering schemes in wireless sensor networks [J].ACM Transactions on Sensor Networks,2012,8(2):72-83.
[8] Dobrev S,Narayanan L,Opatrny J.Optimal sensor networks for area monitoring using rotating and beam sensors [J].Theory of Computing Systems,2014,54(4):622-639.
[9] Liu Zhi-xiong,Wang Jiang-tao,Wang Wei-ping,et al.One-way hash chain based filtering scheme in wireless sensor networks [J].Journal of Software,2014,25(10):2385-2396.
[10] Zhang Shu-guang,Zhou Xue-hai,Yang Feng,et al.En-route filtering strategy against selective discarding in wireless sensor networks [J].Journal of Beijing University of Posts and Telecommunications,2016,39(1):68-73.
[11] Naresh K,PrDadeep K P,Sathish K S.An active en-route filtering scheme for information reporting in wireless sensor networks [J].International Journal of Computer Science and Informatin Technologies,2011,2(4):1812-1819.
[12] Lu R X,Lin X D,Zhu H J,et al.BECAN:a bandwidth-efficient cooperative authentication scheme for filtering injected false data in wireless sensor networks [J].IEEE Transactions on Parallel and Distributed Systems,2012,23(1):32-43.
[13] B.Bloom.Space/Time trade-offs in hash coding with allowable errors[J].Communications of the ACM,1970,13(7):422-426.
附中文參考文獻:
[1] 任豐原,黃海寧,林 闖.無線傳感器網絡[J].軟件學報,2003,14(7):1282-1291.
[2] 蘇 忠,林 闖,封富君,等.無線傳感器網絡密鑰管理的方案和協議[J].軟件學報,2007,18(5):1218-1231.
[9] 劉志雄,王江濤,王偉平,等.傳感器網絡中一種基于單向哈鏈的過濾方案[J].軟件學報,2014,25(10):2385-2396.
[10] 章曙光,周學海,楊 峰,等.無線傳感器網絡中防范選擇性丟棄的途中過濾策略[J].北京郵電大學學報,2016,39(1):68-73.