張雙杰,魏琴芳,秦曉良
(重慶郵電大學通信與信息工程學院,重慶 400065)
無線傳感器網絡(Wireless Sensor Networks,WSN)由部署在監測區域內大量的廉價微型傳感器節點組成。節點資源十分有限,主要體現在電池能量、處理能力、存儲容量和通信帶寬等幾個方面[1]。
由于WSN的資源約束和帶寬限制,減少基站和節點間的通信開銷,能夠顯著地提高能效和帶寬利用率。數據融合是將多份數據或信息進行處理,組合出更有效、更符合用戶需求的數據過程,它能夠顯著地提高能效和帶寬利用率,減少基站和節點間的通信開銷。然而數據融合并沒有考慮數據的機密性和完整性,安全問題依然存在。如何在保證傳感器節點能源高效性的同時確保其傳輸數據的機密性和完整性,于是安全的數據融合技術應運而生,并迅速成為無線傳感器網絡中頗受關注的研究領域[2]。
為了防止在融合過程中節點被捕獲的攻擊,保證融合結果的機密性和完整性,研究者已經提出多種方案來保證數據融合的安全。同態加密機制由于其獨特的優勢,已經成為安全數據融合領域的研究熱點。CDA[3]算法將DFPH[4]同態加密算法引入到WSN的數據融合領域。它首先將加密數據隨機分割成t份,然后每份數據mi分別乘以密鑰ki,最后將t份密文一起匯總上傳。數據融合節點在接到子節點上傳的數據后直接將每一份密文進行模加法即可得到融合結果的密文,它無法知道融合數據的明文信息。該算法容易遭受選擇明文攻擊,且普通葉節點的傳輸開銷較大,網絡的負載增加明顯。
文獻[5]中,作者提出了一種基于流密鑰的CMT同態加密算法,它直接采用移位密碼進行加密,其加密解密方法簡單,但算法存在很突出的問題,即為了成功解密,需要發送所有參與融合節點的ID,會造成很大的開銷。作者指出,即使只有10%的節點沒有響應,方案的總開銷也會增加2倍以上,而且網絡開銷分布極不均勻。
文獻[6]提出一種復合運算的方法來增加同態算法的安全性,它先將數據通過與基站共享的同態密鑰進行加密,然后再將密文使用與父節點共享的對稱密鑰加密傳送。算法使用成對的融合數據來進行數據完整性檢測,并且通過認證過程檢測惡意節點及其偽造的數據,但其加密解密開銷較大。
文獻[7]中作者對 DFPH,CMT,ECEG[8]這3 種同態加密算法進行了比較,指出基于流密鑰的CMT同態加密機制是最有發展前景的同態加密機制之一。因此,筆者提出一種安全數據融合機制,使用輕量級CMT加密機制來減少加密所帶來的計算開銷,并使用成對融合數據來檢測融合結果的完整性,同時設計認證過程來檢測惡意節點。下面對算法進行描述。
由于傳感器節點易受攻擊,節點被捕獲或惡意節點的加入,通過傳送虛假數據或篡改數據融合結果來進行惡意攻擊。不安全的數據融合結果對于基站和查詢用戶來說都是沒有意義的,并導致用戶做出錯誤的決定。因此,如何進行安全數據融合,在數據傳輸過程中保證數據的機密性和完整性,并同時檢測出惡意節點和排除惡意數據,成為研究的關鍵。
假設1個分簇的WSN(如圖1所示),包含大量資源有限的傳感器節點。基站(Base Station,BS)足夠安全且不能夠被俘獲,簇頭具有比普通傳感器節點更好的性能,即具有高能量電池、大的內存、強大的計算和數據處理能力。研究表明如果使用高性能的簇頭,傳感器網絡的生存性會大大提高[9]。

圖1 無線傳感器網絡模型
同態加密技術允許對融合結果直接進行運算。考慮到加密和解密操作,同態加密非常適合于無線傳感器網絡,它具有如下性質式中:Enc(a)表示用同態加密密鑰對明文a進行加密;⊕、⊕指分別對密文進行某種運算。

CMT算法由于其易于執行的特點,非常適合于資源受限的WSN。唯一的不足是為了成功解密,必須發送所有響應節點的ID。本文將其應用于分簇網絡,故簇頭發送的ID數目最多為簇內節點數的一半。算法需要每個節點i和基站共享密鑰種子Ki及偽隨機序列生成器。下面簡單介紹CMT算法。
參數取大整數M。加密過程為:1)明文m∈[0,M-1];2)隨機生成流密鑰k∈[0,M -1];3)密文c=Enc(m,k,M)=(m+k)modM 。
解密過程中:m=Dec(c,k,M)=(c - k)modM 。
融合過程中:對 c1=Enc(m1,k1,M),c2=Enc(m2,k2,M),則 c12=c1+c2=Enc(m1+m2,k1+k2,M),解密時有 Dec(c1+c2,k1+k2,M)=m1+m2。其中 mod 表示取模運算;Enc(m,k,M)指使用CMT算法加密明文m;Dec(c,k,M)指對密文c進行解密。顯然,CMT機制具有加法同態的性質。
假設傳感器節點采集部署區域的溫度,融合函數為AVERAGE。簇頭只進行融合并發送融合數據到基站,并不進行數據采集。使用文獻[10]中提出密鑰預分布機制來進行簇頭和簇內節點對稱密鑰的建立。
每個節點預分配3種不同的密鑰:1)節點和基站之間的同態加密密鑰Enc;2)簇頭和簇內節點共享的對稱密鑰 ksi,sj;3)節點和基站共享的對稱密鑰ksi。
本文使用如下的標記以便于描述:M表示節點和基站共享的大整數;IDsi表示節點si的ID,在WSN中是獨一無二的;s={s1,s2,…,sn}指傳感器節點集合;msi表示節點si感應到的信息;Enc(m)為使用CMT算法加密消息m;Ksi為節點si與基站共享的密鑰種子,用于產生偽隨機序列;ksi,sj(m)代表用簇頭和簇內節點共享的對稱密鑰ksi,sj對消息m進行加密;ksi為節點si與基站共享的對稱密鑰ksi;MAC(ksi,msi)指節點si使用對稱密鑰ksi對消息msi生成消息認證碼(Message Authentication Code,MAC)。
2.3.1 廣播查詢階段
基站廣播數據查詢信息,使用已存在的輕量級廣播認證機制如μTESLA來進行廣播認證。
2.3.2 數據融合階段
當簇內節點收到基站的查詢請求,便將自己的數據加密后發送至簇頭。如圖1所示,若節點X響應基站查詢,則將其感應數據mX做如下處理:1)使用同態加密密鑰加密mX得到Enc(mX);2)使用與簇頭B共享的對稱密鑰kX,B加密mX得到kX,B(mX);3)使用與基站共享的對稱密鑰kX對數據mX生成消息認證碼MAC(kX,mX);4)然后發送至B:X → B:IDX,Enc(mX),kX,B(mX),MAC(kX,mX)。當簇頭B接收到其所有響應的簇內節點的消息后,B進行如下操作:1)將Enc(mX),Enc(mY)等進行融合得 Enc(data'B);2)將 kX,B(mX),kY,B(mY)等密文解密,并進行融合得到dataB;3)將所有響應節點發送到MAC存儲;4)使用與基站共享的對稱密鑰kB,BS對dataB加密生成kB,BS(dataB);5)使用與基站共享的對稱密鑰kB對數據dataB生成消息認證碼MAC(kB,dataB);6)發送至基站 B → BS:listB,Enc(data'B),kB,BS(dataB),MAC(kB,dataB)。其中listB包含本簇內所有參與融合節點的ID。
當基站收到簇頭的融合數據后,將其進行融合。然后用對應的密鑰解密得到成對的融合數據data'和data。前者為簇內節點進行同態加密,簇頭對其密文直接融合所得的結果,融合結果對簇頭保密;后者為簇頭對接收到的簇內節點的響應信息解密后進行融合所得的結果,數據對簇頭可見。
基站首先通過相等檢查(Equality Test,ET)判定data'是否等于data,若相等,則基站認為此融合數據是有效的,沒有被篡改或偽造;若不相等,則基站進行認證過程。
2.3.3 認證過程
當基站發現data'≠data時,它將參與融合的簇頭節點加入到一個集合Q中,即Q中包含需要檢測的節點。基站要求每個簇頭si∈Q重新發送它們的數據si→BS:listsi,Enc(data'si),ksi,BS(datasi),MAC(ksi,datasi),基站用對應的密鑰解密后得到關于si的成對融合數據data'si和datasi
。基站首先由 datasi計算得出MAC(ksi,datasi)CALC。如果MAC(ksi,datasi)CALC= MAC(ksi,datasi),則基站認為si承認自己先前發送的融合數據。如果si承認自己先前發送的數據包并且ET檢查通過(data'si
=datasi),則基站認為si通過認證檢查并將其從Q中移除。如果si不承認自己先前發送的融合數據,即 MAC(ksi,datasi)CALC≠ MAC(ksi,datasi)或者其 ET 檢查失敗(data'si≠datasi),則將si加入可疑節點列表listL,同時將si的所有參與融合的簇內節點listsi都加入到Q中進行進一步證實。
當Q中的所有節點均處理后,listL中包含的所有節點或者否認自己發送的數據,或者ET檢查失敗。listL中所有否認自己發送數據的節點均被認為是惡意節點;其余節點均承認自己發送的數據,但是因為它的簇內節點(對于簇頭)或者自己(對于簇內節點)被捕獲,使其ET檢查失敗,通過進一步的檢查來消除listL中的正常節點。
算法1為基站認證算法,相關的代碼為:


消極攻擊指敵人只對傳輸的數據進行監聽,包括密文分析和已知明文攻擊。主要目標是敵人通過簡單的監聽不能獲得任何信息,由于提出的算法對數據進行加密傳輸,能夠有效地防止這種攻擊,唯一的不足是不能保證融合數據在簇頭的機密性。
指敵人能夠擾亂通信,比如捕獲、毀壞、篡改或者重發數據包等,以欺騙用戶接收非法值,這種類型的攻擊對于安全數據融合來說是最危險的。
3.2.1 重放攻擊
重放攻擊指惡意節點重發先前發送過的數據包。由于采用CMT流密鑰進行加密,對每個信息使用新的密鑰,若敵人重放數據包,則無法通過ET檢查,故提出的算法能夠有效地防止重放攻擊。
3.2.2 偽造數據包攻擊
偽造數據包攻擊指攻擊者通過偽造數據包來試圖欺騙基站和其他節點。由于每個節點和簇頭以及基站共享密鑰,若攻擊者無法獲得密鑰信息,不可能偽造正確的數據包被基站接收。
3.2.3 篡改攻擊
篡改攻擊指惡意中繼節點篡改融合結果。在方案中,由于成對數據中的一個數據對簇頭來說不可見,若簇頭篡改融合結果,這種攻擊會被ET檢查輕易發現。
3.2.4 節點捕獲攻擊
敵人通過捕獲節點來冒充正常節點發送非法數據。如果節點發送兩個不同的數據,可以通過所設計的機制檢測出來;若其插入的是正常范圍的數據,則對融合結果沒有影響。
使用小規模WSN來對提出的安全數據融合算法進行仿真。假設有99個節點的網絡(9個高性能簇頭節點,每簇內10個普通節點),隨機選擇20個普通節點為惡意節點。惡意節點發起的惡意攻擊為加密發送兩個不同的數據,即使用同態加密發送的數據和對稱加密發送的數據不同。簇頭收到后進行融合并將其發送至基站。基站收到數據后,若ET檢查失敗,則進行認證。
假設基站廣播查詢后,隨機選擇20個節點響應基站查詢并發送感應信息。仿真20輪,結果如圖2所示。

圖2 檢測的惡意節點數目與真實數目的對比
由圖2可知,隨著仿真輪數的增加,所提算法能夠有效地檢測出惡意節點,從而排除其發送的惡意虛假數據。
假設節點所監測的環境溫度為21~30℃之間的任一值。惡意節點發送的加密數據一個為正常數據,另一個為41~50℃之間的任一值(其目的是使用戶接受錯誤的融合值,并做出錯誤的決定)。基站檢測出惡意節點后,將惡意節點發送的惡意數據排除后進行數據融合。仿真進行20輪,結果如圖3所示。
可見,在排除了惡意數據后的融合值和真實數據之間的誤差很小,可以忽略不計,保證融合結果的真實性,便于用戶做出正確決策。

圖3 3種融合值之間的比較
能源效率和通信安全是WSN中的兩大工作重點。而加密傳送和數據融合本身就是一對矛盾[11]。本文提出了一種有效的安全數據融合方案,在保證數據機密性的同時實現對融合結果的完整性檢測。通過認證過程來排除惡意節點和惡意數據來保證融合結果的準確性。仿真結果表明即使存在部分偽造數據攻擊的情況,也能實現安全的數據融合,并同時檢測出惡意節點。
[1]孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005.
[2]劉鑫芝.無線傳感器網絡安全數據融合的研究[J].計算機與現代化,2010(5):151-155.
[3] GIRAO J,WESTHOFF D,SCHNEIDER M.CDA:concealed data aggregation for reverse multicast traffic in wireless sensor networks[C]//Proc.ICC 2005.Seoul:IEEE Press,2005:3044-3049.
[4] DOMINGO F J.A provably secure additive and multiplicative privacy homomorphism[C]//Proc.5th International Conference on Information Security(ISC 2002).Sao Paulo:ISC,2002:471-483.
[5] CASTELLUCCIA C,MYKLENTN E,TSUDIK G.Efficient aggregation of encrypted data in wireless sensor networks[C]//Proc.Second Annual International Conference on MobiQuitous 2005.San Diego:IEEE Computer Society,2005:109–117.
[6] MLAIH E,ALY S A.Secure hop-by-hop aggregation of end-to-end concealed data in wireless sensor networks[C]//Proc.the INFOCOM 2008.Phoenix:IEEE Press,2008:1-6.
[7] PETER S,PIOTROWSKI S,LANGENDOERFER R.On concealed data aggregation for WSNs[C]//Proc.CCNC 2007.Las Vegas:IEEE Press,2007:192-196.
[8] MYKLETUN E,GIRAO J,WESTHOFF D.Public key based cryptoschemes for data concealment in wireless sensor networks[C]//Proc.IEEE International Conference on Communications(ICC2006).Istanbul:IEEE Press,2006:2288-2295.
[9] AZARDERAKHSH R,REYHANI M A,ABID Z E.A key management scheme for cluster basedwireless sensor networks[C]//Proc.EUC 2008.Shanghai:IEEE Press,2008:222-227.
[10] DAS A K,SENGUPTA I.An effective group-based key establishment scheme for large-scale wireless sensor networks using bivariate polynomials[C]//Proc.COMSWARE 2008.Bangalore:IEEE Press,2008:9-16.
[11]羅蔚,胡向東.無線傳感器網絡中一種高效的安全數據融合協議[J].重慶郵電大學學報:自然科學版,2009,21(1):110-114.