王 鋒 王金濤
(1.中國人民解放軍92493部隊98分隊 遼寧 葫蘆島 125000;2.中國科學院大學中國科學院沈陽自動化研究所 遼寧 沈陽 110016)
無線傳感器網絡(Wireless Sensor Networks,WSNs)[1]是由一系列部署在某些區(qū)域內大量的微型傳感器所組成的無線自組織網絡。無線傳感器網絡節(jié)點的電池容量、存儲能力以及計算能力都十分有限,因此更脆弱,更易受到安全威脅。正因為WSNs的節(jié)點能量和資源受限,在實際應用中要盡可能地在數據傳輸之前對數據進行處理,以減少數據的傳送數量或數據大小,實現能量和資源高效利用。數據融合就是解決此問題的一種精簡的感知數據技術。
數據融合[2]是同時將多份數據組合處理,得到更能滿足用戶需求、更有效的數據的過程。其目標是通過數據融合,將來自傳感器的多個數據轉換成單個值再進行傳輸,從而可以有效減輕傳感器節(jié)點和基站間的通訊負載開銷,并且節(jié)省能量、提高帶寬利用率、延長網絡壽命。然而由于采用數據融合技術,基站所接收到的信息不再是原始的傳感器節(jié)點感知的信息,并且由于數據融合技術采用明文數據傳輸,而傳感器網絡安全的機密性要求在網絡中傳輸的節(jié)點感知的信息必須是密文形式;網絡安全的可用性則要求基站收到傳感器節(jié)點感知的信息后能對原始信息提供認證機制。因此基于機密性和可用性條件下的數據融合安全問題成為備受關注的問題,一系列安全數據融合技術也應運而生[3]。
現有的數據融合安全技術總體上可分為基于保密性的數據融合方案[4]和基于完整性的數據融合方案[5]兩種,本文主要研究基于保密性的數據融合技術。
數據融合的保密性要求節(jié)點傳輸的數據以及聚合節(jié)點傳輸的聚合結果在整個的傳輸過程當中都是保密的。從而令攻擊者無法簡單的通過竊聽或獲取節(jié)點的方法進行攻擊。目前基于保密性的數據融合技術主要分為基于逐跳加密的數據融合和基于端到端加密的數據融合。
由于無線傳感器網絡節(jié)點資源受限,因此節(jié)能性是我們重點關注的。因此,我們基于對SMART方案的研究,提出了一種新的具有保密性的高效數據融合安全協議EDAA(Effective data aggregation algorithm),在保證安全高效性的同時能夠控制開銷。
該算法以SMART算法為基礎,在以下方面對其改進:
(1)采用中國剩余定理的思想來分割數據。與SMART算法采用的加法分割方法相比,此算法安全開銷小并且不再依賴安全閥值所取的值。
(2)采用多個數據融合樹進行數據的收集。并且要求各個數據融合樹拓撲結構間有較大區(qū)別,融合樹頂點之間各不相同并且要保持存在一定距離。與SMART算法相比,EDAA算法能夠有效減少碰撞,并且能夠降低攻擊者通過竊取基站周圍的節(jié)點融合的數據結果的風險。
EDAA算法分為初始化階段、數據收集階段和基站匯總階段三部分:
1)初始化
在初始化階段進行下列兩個步驟的操作:
(1)參數選擇:首先基站確定一個安全閥值t,之后再根據最終的數據融合的結果的最大值生成t個彼此兩兩之間都互素的整數,記為{S1,S2,…,St},其中數據融合結果的最大值M=節(jié)點上數據最大值Dmax*節(jié)點數N,并且S1*S2*…*St>M。最后基站將安全閾值-t和整數集{S1,S2,…,St}發(fā)送到所有的節(jié)點。
(2)數據融合樹的建立:為了降低節(jié)點同時被截獲的概率,基站首先會根據確定的安全閥值-t在整個網絡中選擇不同的t個節(jié)點。然后根據TAG算法,以選定的t個不同節(jié)點為頂點建立起t個互不相同的數據融合樹,記為{T1,T2,…,Tt},如圖 1 所示。 假如最后發(fā)現這 t個數據融合樹拓撲相似度比較高,則要重新進行頂點選擇。
圖1 建立t(t=2)條數據融合樹
2)數據收集
在初始化階段完成后,網絡中每個節(jié)點根據收到的基站發(fā)來的參數信息來確定自身在這t個數據融合樹中所處的位置以及自己的父節(jié)點和子節(jié)點等的信息。然后便進行t個輪次的數據收集,在每一輪次中,每個節(jié)點都要在不同數據融合樹上傳輸不同數據。
3)基站匯總
當數據收集完成后,網絡中的t個根節(jié)點就會將匯總后的數據發(fā)到基站。在基站收到這t份不同的數據后,首先會使用對密鑰對數據包進行解密,之后再使用中國剩余定理便能夠計算得到最終的結果。
在實際中,有時這t個根節(jié)點間彼此相距的距離都很長,這樣會使所選擇的某些根節(jié)點無法直接與直接聯系。此時我們規(guī)定,在這種情況下根節(jié)點要使用與基站單獨的共享密鑰進行單獨加密,加密后建立一條單獨的路徑將這些加密后的數據發(fā)送到基站。
EDAA算法采用t個不同的數據融合樹進行數據的傳輸,由于這t個融合樹的拓撲結構差異較大,每個節(jié)點在各不同的融合樹中都扮演不同角色,因此攻擊者難以使用監(jiān)聽或截獲節(jié)點的方法來得到數據融合的結果。
SMART算法是要節(jié)點最后通過同一個數據融合樹將數據傳向基站。另外,SMART算法采用TAG算法來建立數據融合樹,因此最終的融合樹高層節(jié)點都會集中到基站周圍。這樣攻擊者就會使用流量探測方法得知基站的大體方向,然后就可以通過截獲基站周圍節(jié)點或數據傳輸來得到最終的數據融合的結果。而在本文的EDAA算法中,采用了多條融合樹并且要求頂點間要保持較長的距離,因此高層節(jié)點就能分散地分布到整個網絡。這樣就可以減少高層節(jié)點遭到截獲的概率,因此比SMART算法彈性更好。
但是在EDAA算法中,由于數據融合樹采用節(jié)點的模值進行操作,因此攻擊者可以利用模值來對原值進行估計。一種解決方案是將閥值增大來減小模值。并且在實際中,由于數據融合的結果變化較大,并且明顯高于模值,因此利用模值估測原值的方法很難實現。
(我們采用基于NS2的仿真平臺對算法進行驗證,并與SMART的性能進行比較。區(qū)域部署范圍設定為400m×400m,節(jié)點數1000個,節(jié)點的通信半徑為50m。假設安全閥值的范圍2≤t≤7,初始時節(jié)點的數據取值范圍1023(10bit)到65535(16bit)。仿真結果如圖2到圖4所示。
圖2 節(jié)點剩余能量歲時間的變化關系
圖3 初始數據為10bit時,傳輸開銷對比
圖4 初始數據為16bit時,傳輸開銷對比
從上圖的仿真結果可以看出,由于SMART算法和EDAA算法都是采用多路數據進行傳輸,因此在網絡配置都相同時,兩者間底層開銷基本也相同,但是EDAA算法比SMART算法總數據傳輸量要更少。而且SMART算法數據傳輸量大小由安全閥值t決定,但是EDAA算法的數據傳輸量大小與安全閥值t沒有直接關系,因此EDAA算法比SMART算法在總的網絡傳輸性能上有更優(yōu)良的性能。
本文介紹了無線傳感器網絡數據融合的相關概念和關鍵技術,然后在SMART算法的基礎上提出了一種改進有效數據融合算法,最后利用NS2仿真平臺對其傳輸開銷進行仿真測試。仿真結果表明,相比SMART算法,本文所提的數據融合算法是EDAA能夠更有效的減少傳輸開銷并且節(jié)省節(jié)點能耗。
[1]于海斌,曾鵬,等.智能無線傳感器網絡系統(tǒng)[M].北京:科技出版社,2006.
[2]Akkaya K,Demirbas M,Aygun R S.The impact of data aggregation on the performance of wireless sensor networks[C].wireless communication&Mobile Computing.2008:171-193.
[3]劉鑫芝.無線傳感器網絡安全數據融合的研究[J].計算機與現代化,2010(5):151-155.
[4]J.Girao,D.Westhoff,M.Schneider.CDA:Concealed data aggregation for reverse multicast traffic in wireless sensor networks.In:proc of IEEE International Conference on Communications[M].Washington:IEEE Computer Society Press,2005:3044-3049.
[5]楊勇,方勇,周安.秘密同態(tài)技術研究及其算法實現[J].計算機工程,2005,31(2):157-159.