曹曉梅,沈何陽
(1.南京郵電大學無線網絡聯合實驗室,南京210003;2.南京郵電大學信息安全,南京210003)
無線傳感器網絡WSN(Wireless Sensor Network)是由部署在監測區域內大量的微型傳感器節點組成,通過無線通信方式形成的一個多跳的自組織的網絡系統,其目的是協作地感知、采集和處理網絡覆蓋區域中的感知對象的信息,并發送給觀察者[1]。WSN被廣泛應用于軍事、環境監測和預報、健康護理、智能家居、建筑物狀態監控以及城市交通等領域。由于WSN節點通常被部署在無人監管的環境中,很容易受到惡意攻擊,尤其當WSN被應用于軍事、經濟等存在敵我博弈的場景中時,安全問題尤為重要。數據融合技術是WSN的重要支撐技術,避免了大量冗余信息的傳輸,但融合節點往往承載著重要的數據信息,如果融合節點遭到攻擊,那么得到的信息可能無效,甚至有害[2]。因此,實現數據融合過程中的數據安全,同時減少節點的能量損耗,是數據融合要研究的重點。
Joao Girao等人最先提出了一種適用于WSN的基于同態加密的數據融合方案—CDA[3],該方案利用同態加密算法實現端到端的數據傳送,提供了較高的數據保密性。研究者在此基礎上提出了多種基于同態加密的算法方案[4-5],這些文中所提出的算法都是相對較成熟的,并且能提供較高的可靠性。但是,同態加密給節點的計算帶來了很大的開銷,因而,增加了網絡的開銷。Cam等人提出了基于模式碼的數據融合協議ESPDA[6],該方案采用基于模式碼的比較實現數據的融合,有效的降低了網絡開銷,同時由于融合階段傳送的模式碼,實現了數據的機密性。OSDA[7],SRDA[8],COER[9]等協議都旨在減少網絡的開銷,但是入手點卻不盡相同,前者通過傳送無實際物理意義的模式碼代替原始數據,SRDA則通過傳送比較差值來減少數據的冗余,而COER則是利用網絡編碼來減少網絡能耗。另外,現有的基于完整性的數據融合協議,如:Secure DAV[10]以及蔣君杰等提出的基于多貼近度的可靠性融合方案[11],它們的計算存儲量要求大,帶來了很大的系統開銷,并且節點的復制能力差,可能導致DOS攻擊。
綜上,李建明等人提出了一種可擴展性好的安全數據融合協議SSDAA[12]。該方案采用逐步認證μTESLA密鑰,在匯聚階段采用傳送模式碼形式,有效的保證了機密性,認證也不必等到匯聚完成,而是采用的兩跳延遲認證,減少了時延,該方案最大的優點是采用公鑰認證,利用兩跳延遲來公布認證密鑰,以達到認證的有效性。但是該方案當遇到節點被捕獲時,尤其是中間節點被捕獲,在認證階段只能發現敵人發送了虛假數據,但該協議并不清楚具體被捕獲的是孩子還是孫子節點,尤其是同時捕獲孩子和孫子節點,敵人就可以任意的修改以孩子節點為根的子樹,這種情況下,只能丟棄以孩子節點為根的整個子樹,許多有用的信息將會丟失。Miloud Bagga等人在2009年提出了一種安全高效的協議SEDAN[13],該協議針對上述的問題,有了很好的解答,協議中每個節點保存4個密鑰,分別是與父親節點、祖父節點、孩子節點、孫子節點的共享密鑰。傳送的時候采用兩個消息鑒別碼,一旦某個節點被攻擊,節點可以準確的知道是自己的孩子節點還是孫子節點被妥協,并且只丟棄相應的被攻擊了的節點。另外,相較于SSDAA協議的認證方案,由于采用的不同于TESLA的密鑰分配,能耗比較小。但是沒有考慮整個網絡的能量均衡等因素,仍有不足之處。
針對上述的不足,本文提出的SPDAA方案采用基于兩跳的認證技術,可避免節點因盲目拒絕而造成重要數據丟失,并且密鑰的分配能耗小,同時優化節點處的選擇,可以均衡全網的能耗,延長網絡生命周期。
本文針對無線傳感器網絡在應用中的需求和目前安全數據融合協議存在的問題,提出了一種安全數據融合方案SPDAA。假設網絡環境相對穩定,并且節點的分布較為密集,節點的位置較固定。下面用圖1來描述SPDAA協議在一輪會話中的過程。

圖1 SPDAA的流程圖
如圖1所示,SPDAA方案的步驟如下:
步驟1 感應節點采集數據,利用差值比較算法選擇是否參加本輪的會話,執行模式生成算法,生成模式碼PC并向上層節點發送,節點在發送模式碼的同時,把自己的剩余能量和初始能量的百分比一起發送給上層節點,以便上層節點根據能量選擇通信節點,以均衡網絡能量;
步驟2 各級的中間融合節點在接受到數據后,對其中的模式碼做比較,并根據模式生成算法,確定冗余集合。中間節點在接受融合模式碼的同時,可以對消息中包含的兩個MAC值(一跳消息認證碼(OHM),兩跳消息認證碼(THM)。)進行認證,根據認證的結果來確定是否接受還是拒絕匯聚結果;
步驟3 若是接受消息,則依據融合節點處融合算法將數據融合后向上層節點匯聚,直到基站,然后基站反饋被選中的節點。若是被拒絕,則發出警告,表明其孩子或者孫子節點已經被攻擊;
步驟4 被選中的節點根據一定的加密算法安全的發送原始感應數據。一輪會話結束。
傳感器網絡是一個周期性的感應過程,其他周期重復上面的步驟。
我們假設網絡環境相對安全,運用一種新型的密鑰分布方案SEDAN,該方案中每個節點分別保存兩跳內的會話密鑰,每個節點保存四個密鑰,分別是與孩子、孫子、父親、祖父之間的共享密鑰。
設j為節點i的父節點,k為i的祖父節點;l為i的孩子節點,m為i的孫子節點,并且有融合函數f(d1,d2,d3,d4,d5)=f(d1,(d2,d3,d4),d5)成立,以下是各種符號的簡介:
A→B:節點A發送消息給節點B。
Ki,j:節點i與節點j之間的密鑰對。
IDi:節點i的唯一地址身份標識符。
Er/Em:節點剩余能量和初始能量之間的百分比。
PCi:節點i的模式碼。
MAC(K,M):用密鑰K加密的消息認證碼。
F(PC1,PC2):中間節點融合函數。
每個節點在確定其部署位置之后,分別保存上述的四個密鑰即與其孫子,孩子,父親,祖父之間的密鑰對。這個密鑰只建立一次,建立后不更換。圖2是一個簡化的傳感器層次網絡模型:假設只有葉子節點A、B、C、D感應數據。

圖2 節點層次簡化圖
在SPDAA算法中,節點的傳送數據模式如下:
步驟1 節點A向其父親節點E發送數據:
A→E:IDA,NA,PCA,Era/Ema,

上述數據結構為節點A發送給其父節點的數據,其中包括節點A的ID,隨機數據nonce,節點生成的模式碼,剩余能量與初始能量的百分比,以及兩個消息認證碼。其中第一個是用節點A與其父節點E之間共享密鑰加密的消息認證碼,被稱作一跳消息認證碼——One Hop MAC(OHM)。第二個消息認證碼是用與其祖父節點G之間共享密鑰加密的消息認證碼,被稱作兩跳消息認證碼——Two Hop MAC(THM)。這兩個消息認證碼實現父節點、祖父節點分別認證消息來源。
步驟2 節點B類似的發送消息給中間節點E,E根據與孩子節點A,B之間共享的密鑰,來認證是否是A,B節點發來的消息(詳解見認證算法描述),然后,節點E根據融合算法融合其接收到的數據。并發送如下消息給其上層節點:


這樣節點G利用THM就可以根據E發來的消息,直接認證A,B節點發來的源數據,同時利用OHM來認節點E是否有篡改融合數據。
節點F的數據處理過程類似于節點E。
步驟3 同理,節點G認證通過后,向基站發送數據,基站可以通過驗證THM來證實節點G是否有篡改數據。
這樣基站收到來自G以及其他的分支的消息之后,根據模式碼計算其融合值,并確定最終的被選節點的集合,然后反饋被選節點給網絡。被選節點再根據一定的加密算法,安全的傳送原始感應數據給基站,而中間節點不需要對接受到的消息進行解密,直接向上轉發。
還是利用圖2來描述,當節點G接受到節點E發來的消息后,它可以根據E發來的消息,分別認證其孩子節點,以及孫子節點。以確認其子孫節點是否篡改消息:
首先,利用KG,A來計算MAC,并將結果與E發過來的 MAC(KA,G,PCA‖NA)作對比,如果相等,則認證了節點A。同理利用KG,B驗證節點B。其次,利用KG,E來計算G的一跳OHM值,并將結果與E發過來的 MAC(KE,G,NE‖f(PCA,PCB)),若相等,則說明節點E沒有篡改消息。
同理,類似的可以驗證F。一旦認證不通過,節點可以清楚的知道是其孩子節點,還是孫子節點被妥協了,并且可以清楚的知道具體是哪一個節點被俘,一旦監測出異常,就會全網通知該節點已經被捕獲,并且自動的刪除與該節點之間的共享密鑰。若是中間節點被俘,如F,在刪除了F之后,節點由于跟其孫子節點有共享密鑰,這樣不影響整個網絡的連通性,可擴展性比較好。
SSDAA以及SPDAA協議都是實施在TinyOS環境下的,以下所有的仿真都是通過 TOSSIM(TinyOS mote simulator)仿真工具實現的。TOSSIM是無線傳感器網絡常用的一種仿真工具,它能直接從TinyOS應用的組建表編譯仿真程序。最后我們通過MATlab繪制仿真圖形。
由于SPDAA協議采用的是基于兩跳的認證方案。由上述認證過程的分析可知,SPDAA協議可以有效的防止假冒攻擊,減少甚至避免因針對攻擊時的盲目拒絕而導致重要數據的丟失。
圖3顯示了由于盲目拒絕而導致的數據丟失和攻擊者位置與基站距離之間的變化關系,有圖可見,SPDAA方案所采用的加密算法在處理盲目拒絕時相比于SSDAA方案有明顯的優勢,數據的丟失率較小。在SSDAA中由于認證算法采用的是延遲公布認證密鑰的方法,在遇到節點被攻擊妥協的情況下,節點并不能具體指出是哪個子節點受到攻擊,只能檢測出B或者A節點被妥協了,因而,采取的是丟棄以B節點為根的整個子樹節點,這樣數據的丟失比較多,甚至可以注意到,數據的丟失率是100%。而SPDAA方案使用的兩跳密鑰對共享方案,中間節點分別與孩子孫子節點之間共享密鑰對,一旦某個節點被捕獲,中間節點可以準確的判斷被捕獲的節點,并移除被捕獲的節點,而不是采取丟失子樹。相較與協議SSDAA而言,由于越靠近基站,節點融合的信息越多,當攻擊者的位置越靠近基站時,該協議的優勢可以越加凸顯,從而減少有效數據的丟失。

圖3 入侵者位置與數據丟失率的關系圖
本文提出的SPDAA協議在在感知節點處設置了差值比較算法,對減少網絡數據的冗余度有很顯著的功效。還是利用圖2做比較,其中A、B、C、D節點中,若是節點A和C分別計算到的差值都是小于閾值的,那么它們就直接進入休眠狀態。只有節點C和D參加本輪的會話。當網絡的規模比較大的時候,優勢就很明顯,所以該方案在節點分布密集的網絡環境下很有優勢。最重要的是可以減少上層節點的通信量。
SPDAA協議同時還考慮了節點的剩余能量的情況,圖4顯示了沒有考慮節點能量因素的協議和SPDAA協議中的網絡節點的衰竭率的比較。由于SPDAA協議中提出了一個節點剩余能量和初始能量百分比的因子Er/Em,例如在基站進行選擇的時候,A和C具有相同的模式碼,基站選擇的時候,通過比較每個節點參加會話的頻率的大小,來確定本輪會話選哪個節點,盡量減少節點頻繁發送消息而導致能量衰竭的情況,有效地延長了整個網絡的生命周期。

圖4 網絡的會話輪數和節點衰竭比較
本文提出了一種無線傳感器網絡的安全數據融合協議SPDAA。與SSDAA協議類似,融合操作都是基于無物理意義的模式碼,從而保證融合過程中的數據保密。SSDAA協議在解決節點攻擊問題時往往采用盲目拒絕方式,造成大量有效數據丟失。相比較而言,SPDAA協議采用的是基于兩跳的加密認證算法,與SSDAA采用的延遲公布密鑰的認證算法相比較,在解決節點攻擊問題方面更有優勢。另外,SPDAA協議在節能方面提出了兩點改進,可以有效的減少節點的衰竭度,延長網絡的生命周期。同時該協議采用的基于密鑰對的加密認證,不同于SSDAA采用的μTESLA密鑰鏈。在密鑰的管理上相對簡單,能耗小。
[1]孫利民,李建中.無線傳感器網絡[M].清華大學出版社,2005:3-5.
[2]羅蔚,胡向東.無線傳感器網絡中一種高效的安全數據融合協議[J].重慶郵電大學學報,2009,21(1):110-114.
[3]Girao J,WesthoffD,SchneiderM.CDA:Concealed Data Aggregation for Reverse Multicast Traffic in WSN[C]//ACM Workshop on Wireless Security.2005.
[4]Poornima A S,Amberker B B.SEEDA:Secere end-to-end Data Aggregation in Wireless Sensor Networks[C]//IEEE Tran on Wireless and Optical Communications Networks(WOCN),2010:1-5.
[5]Liu Xinzhi.The Data Fusion of Wireless Sensor Network[J].Cmputer and Modernization,2010,177(5):151-159.
[6]Cam H,Ozdemir S,Nair P.ESPDA:Energy Efficient and Secure Pattern Based Data Aggregation for Wireless Sensor Network[C]//IEEE Society Press,2003,732-736.
[7]Qin Xiaoliang,Wei Qinfang.Optimal and Senure Comparison Based Datda Aggregation Protocol for WSN[J].Journal of Chongqing University of Posts and Telecommunications,2011,23(6):753-757.
[8]Sanli H O,Ozdemir S,Hasan Cam.SRDA:Secure Reference-Based Data Aggregation Protocol for WSN[C]//Processing of the IEEE VTC Fall Conference.2004.
[9]田賢忠,朱金鳳,陳群,等.無線網絡中基于編碼感知的能量優化路由算法[J].傳感技術學報,2012,25(9):1304-1310.
[10]Mahimakar A,Secure T R.DAV:A Secure Data Sggregation and Verification Protol for Sensor Networks[C]//Proceeding of the IEEE Global Telecommunications Conference,2004.
[11]蔣君杰,戴菲菲,彭力,等.基于擴維貼近度的多傳感器一致可靠性融合方法[J].傳感技術學報,2012,25(9):1312-1315.
[12]張建明,廖建勇,周四望,等.傳感器網絡中可擴展性好的數據匯聚與認證協議[J].計算機工程與應用,2006,20:108-113.
[13]Bagga M,Lasla N.SEDAN:Secure and Efficient Protol Data Aggregation in WSN[C]//University of Science and Technology Houari Boumediene,LSI lab,2009.