劉軍華,凌 力
無線傳感器網絡(Wireless Sensor Network,WSN)是由微機電系統(MicroElectro Mechanism System,MEMS)、片上系統(System on Chip,SoC)、無線通信和低功耗嵌入式系統的集成,這些技術共同作用才孕育出無線傳感器網絡,帶來了信息感知的一場變革。
WSN作為物聯網的基礎和重要組成部分,而且借著物聯網的強勁發展,必然會加快WSN的技術提高。因為考慮到物聯網的安全性,這又會落到WSN的技術上,因此一個安全的密鑰管理方案是WSN的保證。
WSN是由部署在監測區域內大量靜止或移動的廉價微型傳感器節點,通過無線通信方式形成的一個自組織和多跳的無線網絡。這些傳感器節點通過感知周圍信息實現了數據的采集、處理和傳輸3種功能[1],并最終把這些信息發送給網絡所有者。其組織結構如圖1所示:
目前,WSN的應用遍及各行各業,在智能家居、環境檢測、醫療監護等多個領域已得到相應的應用,還在國防軍事、國家安全等敏感領域嶄露頭角,還由于其微型化、功耗大,加上它的處理能力、程序空間和內存空間比一般計算機弱得多,通訊能力也有限,這樣也使得其面臨很多安全漏洞,而解決這些漏洞,已經成為WSN安全研究中的一個重要難點及熱點。
由于WSN一般配置在惡劣環境、無人區域等復雜的、特殊的場景中,加之無線網絡本身固有的脆弱性,因而WSN安全引起了人們的極大關注。WSN的許多應用在很大程度上取決于網絡的安全運行,一旦傳感器受到攻擊或破壞,將可能導致災難性的后果。因此,如何在節點的計算速度有限、電源能量有限、通信能力和存儲空間都很有限的情況下,通過安全機制,可以為網絡提供機密性和身份證認證功能,防止各種惡意攻擊,為傳感器網絡創造一個相對比較安全的工作環境,這也是一個關系到WSN能夠走向實用的關鍵性問題。由于WSN由幾個模塊組成,因此可以從這幾個模塊出發來研究,如圖2所示:

圖1 傳感器網絡的基本結構

圖2 WSN的模塊化組成方式
WSN的安全和一般網絡安全的出發點是相同的,都要解決機密性、消息認證、完整性、新鮮性、安全管理等問題。如前所述,無線傳感器網絡具有許多鮮明特點,這些特點對于安全方案的設計提出了一系列挑戰。一種比較完善的無線傳感器網絡安全解決方案應當具備如下基本特征[2]:
一個良好的WSN不應當向其他網絡或攻擊者泄露任何有效的信息。節點之間傳遞的是對實驗者非常重要的數據,這些數據一旦被攻擊者竊取,整個網絡將無法保障安全,因此需要保障密鑰泄露造成的影響盡可能小,密鑰的泄露不至于影響整個網絡的安全。
節點身份認證或數據源認證在WSN的許多應用中是非常重要的,由于攻擊者極易向網絡注入虛假信息,接收者只有通過數據源認證才能確信消息的真實性。
數據完整性能夠保證接收者收到的信息在傳輸過程中沒有被篡改或替換。在WSN中,通常使用消息認證碼來檢驗數據的完整性,如果對數據進行細微改動,都會對消息認證碼的值產生較大影響。
新鮮性是指發送方傳給接收者的數據是最新數據,通信雙發所共享的密鑰是最新的。在傳感器網絡中,基站和簇頭節點需要處理很多節點發送過來的采集信息,為防止攻擊者的重放攻擊。
WSN的可擴展性表現在傳感器數量、網絡覆蓋區域、環境條件、惡意攻擊、節點的加入、生命周期、時間延遲、感知精度等方面的可擴展極限。因此,安全解決方案必須提供支持該可靠的擴展性及安全機制和算法,使得傳感器網絡保持良好的工作狀態。
WSN理應具有節能的特點和不太復雜的安全通信協議和算法的設計、也盡可能地避開公鑰運算、考慮WSN的計算開銷、存儲容量和通信能力,從而使得能量消耗最小化,最終延長網絡的生命周期,保證網絡的可用性。
WSN是由一組傳感器以Ad-Hoc方式構成的無線網絡,因此相應的安全解決方案也應當是自組織的。
WSN的環境惡劣、現實威脅和當前任務具有很大的不確定性。因此,需要傳感器節點能夠靈活地加入或去除,網絡能夠合并或拆分,因而安全解決方案應當具有魯棒性和自適應性,能夠隨著應用的變化而靈活拓展,為所有可能的應用環境提供安全解決方案。
密鑰管理技術是數據加密技術中的重要一環,它處理密鑰包括生成、存儲、備份/恢復、載入、驗證、傳遞、保管、使用、分配、保護、更新、控制、丟失、吊銷和銷毀等多個方面的內容。密鑰既可以作為一個整體保存,也可以分散保存。它涵蓋了密鑰的整個生存周期,是整個加密系統中最薄弱的環節,密鑰的管理與泄漏將直接導致明文內容的泄漏,那么一切的其它安全技術,無論是認證、接入等都喪失了安全基礎。
在傳統網絡中我們往往通過分析密鑰管理方案所能提供的安全性來評估一個密鑰管理方案的優劣,但是在無線傳感器網絡中,我們需要結合無線傳感器網絡自身的特點和限制進行分析,下面給出了一些具體的評估指標。
由于密鑰管理方案本身就是為了安全目標而設計的,因此其安全性、保密性、完整性和可用性等是首要考慮的因素。
考慮到傳感器節點的脆弱性,使其容易受到惡意的攻擊,導致信息泄漏。抗攻擊性能就是指當一個網絡中的部分節點被攻擊之后,對其它正常節點之間通信的影響大小。理想的密鑰管理方案應該是在部分節點被攻擊之后,對其它正常節點之間安全通信不產生任何影響。
許多實際應用的網絡中部署大量的傳感器節點,共同來完成要求的任務,所以密鑰管理方案必須支持很大的網絡規模。這是一個很重要的評估指標,直接關系到一個密鑰管理方案的可用性。
對于WSN來說,密鑰管理方案必須保證節點具有耗電少、通信負載小。對于節點的計算能力來說,傳統網絡中廣泛采用的復雜的加密算法、簽名算法都不能很好地應用于WSN,需要設計簡單的密鑰管理方案。同時,傳感器節點可以儲存的信息有限,而在許多預分配的方案中,需要傳感器節點預先保存一定的信息。
網絡的動態變化包括兩種情況:節點的動態加入和離開。由于遭受攻擊、能量耗盡等原因而不能工作的節點,方案必須要保證網絡的后向安全性,即保證節點離開后不能繼續獲得網絡中的重要數據。同時,方案必須支持網絡的擴充,而且能夠保證網絡的前向安全,即新節點不能得到其加入前網絡內傳輸的秘密信息。
認證是WSN安全要求的一個重要因素,通過節點間的認證,可以抵御多種攻擊。所以,能否實現節點間的認證也是WSN密鑰管理方案的一個重要評估指標。
密鑰管理機制的選取必須根據WSN的特性、應用環境和規模。下面對常用的密鑰管理機制進行分析。
在這種機制中,WSN中的所有節點共享一個全局密鑰,所有的節點在通信中均利用該密鑰進行加密、解密、驗證MAC。這種機制在密鑰的建立階段所需的代價最小,但是安全性很差,尤其是抗攻擊能力很差。如果一個節點被俘或叛逆,它掌握了整個網絡的密鑰,就可以隨意的破解其通信范圍內的所有鏈路,獲取傳送的秘密信息。同時叛逆節點還可以對其鄰居節點發起主動攻擊,摧毀整個網絡。
網絡中的每個節點都保存與其它所有節點的共享密鑰。如果網絡規模為n個節點,那么每個節點需要存儲n-1個密鑰。這種模式不依賴于匯聚節點,計算復雜度低,引導成功率為100%,任何兩個節點之間的密鑰是獨享的。這種模型缺點:擴展性不好,新節點加入難(除非重建網絡);網絡的免疫力低,如果有節點被俘,攻擊者容易通過該節點獲得與所有節點之間的密鑰并通過這些密鑰攻破整個網絡。這種機制在WSN中是不現實的。WSN一般具有很大的規模,那么節點需要保存很大數量的密鑰,而節點的內存資源又非常有限,因此這種密鑰分配機制會占用掉巨大的存儲資源,也不利于動態拓撲下新節點的加入。
基于KDC的密鑰管理方案需要一個可信的第三方密鑰分配中心(Key Distribution Center),用于在任何兩節點之間建立共享的會話密鑰。每個傳感器節點與KDC之間共享一個會話密鑰,KDC保存與所有節點的共享密鑰。如果一個節點要與另外一個節點通信,則這個節點可以向KDC發出請求,由KDC生成一個會話密鑰,秘密的傳送給請求的節點和被請求的節點。這個密鑰就是這兩個節點以后通信使用的共享會話密鑰。這種方法可以較好地抵抗部分節點遭受的攻擊,使這種攻擊對其它節點間的通信產生較小的影響,但是這種方法可能會導致較大的通信負載。在兩個節點間建立會話密鑰,需要多次與基站通信,將會消耗很大的電源能量,尤其是如果節點離基站較遠,那么節點用于與基站通信的消耗將會導致節點可用性的急劇下降。
當傳感器節點部署后,通過預分發的密鑰進行密鑰協商,鄰接點間能夠成功協商共享密鑰的概率達到一定的值,就可以實現整個網絡的安全通信。這類方案是基于隨機圖論數學模型的。實現共享密鑰協商一般需要3個步驟:密鑰預分發階段、共享密鑰發現階段、路徑密鑰建立階段,在這種機制下,每個節點的通信代價與網絡的規模沒有關系。但是,為保證安全性,每個節點需要的存儲量將隨網絡規模的增大而線性增大。
基于位置的密鑰對分配方案是對隨機密鑰預分配方案的一個改進。這類方案在隨機密鑰對模型的基礎上引入了傳感器節點的位置信息,每個節點都存放一個地理位置參數。在相同網絡規模、存儲容量的條件下,可以提高兩個鄰居節點具有相同密鑰對的概率。
現有的WSN的密鑰管理協議大多是根據對稱算法而來的,因為這樣加密算法的計算量較小,使用于 WSN網絡,因此選擇不同的密鑰管理方案會對WSN的壽命產生直接影響。以下討論的密鑰管理方案也是基于對稱密鑰實現的。
(1)基于SPINS方式,其基本思想是假設在網絡中存在可信的第三方來執行密鑰的協商和交換,每個節點與服務器共享一個密鑰。其優點是:節點抗毀性好而且實現簡單、存儲開銷固定、節點可以通過第三方來協商節點間的密鑰。缺點是:服務器上的通信、存儲開銷會隨著網絡中節點數目的增加而增加,同時也要求網絡中必須具備良好抗毀性能的可信第三方,有很大的局限性。
(2)基于主密鑰方式,全網節點共享一個密鑰,通過修改密鑰來實現驗證。文獻[4]提出的協議本質上屬于詢問—回答的方式,全網節點使用主密鑰進行驗證,這些方式不需要WSN中存在可信的第三方來實施密鑰協商協議。這類方式對于基本的安全應用能夠達到要求,單點失效會引起網絡崩潰,另外,通信的開銷較大。
(3)基于BROSK的方式,是對SPINS方式的改進,使之達到節能的目的。這種協議將節點多次廣播降低為節點的一次廣播。其最大的優勢是大大節約了能量消耗,但是,一旦主密鑰泄露,整個網絡的安全性將遭到破壞,抗毀性能較差。可以對主密鑰進行更新,以便提高網絡的安全性,但是這樣以來通信開銷大、時延長、實現復雜。
為了提高WSN的相鄰節點的安全性,其想法是在節點上預先存儲所有節點之間的會話密鑰用來加密通信過程。對于網絡規模為n,全網中需要的密鑰總數為C2n,每個節點存儲(n-1)個密鑰。這種方案的優點是安全的,無單節點失效的威脅,支持節點的動態離開,但是節點存儲負擔大,網絡可擴展性差,新增節點難以加入,對于網絡連通性而言,存儲了許多多余的密鑰。這里又有3種方案,其一是基于密鑰池預分配方案,有E&G Schemep等人的方案,基本思想是在節點部署前,將所有的節點隨機地從一個很大的對稱密鑰池中選取一部分密鑰子集作為該節點的密鑰環,并預先存儲到節點上,在節點部署后,通過某種方式與直接鄰居互相發現各自預先存儲的子集間共同擁有的部分,稱為共享密鑰,并將這些作為鄰居之間的會話密鑰。其二是基于動態計算的預分配方案。其主要的典型協議有 Bkm's Scheme、基于多項式方案和多項式方案擴展到多維空間等不同的方案。針對以上方案,后來也有人對此作了許多改進。其三是基于網絡部署知識密鑰管理方案,在預分配方案中,密鑰池的大小也是一個重要的調節參數。文獻[5]中提出的方案旨在解決如何在大的密鑰池下保持較高的連通性,或是在相同的密鑰池下,需要更少的內存和更高的連通性以及網絡抗毀性。
WSN可以分割成多個組/簇,基于組/簇來實施密鑰管理,目前主要有基于單向函數分組、基于分簇、多層次密鑰LEAP。其存儲需求比起基本的E&G方式能節約 60%的能量但是隨著網絡規模的增加,這種優勢急劇下降。該方式對于小規模攻擊提供了較好的網絡抗毀性,但是當攻擊規模增大時,對于網絡的影響呈指數上升。它采取的分組方式,節點上預先存儲量減少,因此增加了支持更大型網絡的能力,可擴展性較好,但其計算開銷較大,且當節點被俘獲后,無法繼續支持網絡節點的加入。
LEAP首次提出針對不同的數據提供不同的安全機制。設計該協議是由于不同的消息類型有不同的安全需求,單一的密鑰無法滿足多種需求。因此LEAP協議建立了四種類型的密鑰,即私鑰、密鑰對、簇密鑰和全組密鑰;同時LEAP還包含一個基于單向密鑰鏈實現的廣播驗證協議。該方案的存儲需求大大減小,計算負擔減少,通信量較小,以簇的方式更加貼近應用。
針對以前WSN密鑰管理方案的研究,后來也有許多人提出了一些改進和新的方案,以此來加強WSN的安全性能。
在層次式WSN中,整個網絡被劃分成許多簇,普通的簇內成員節點和簇頭節點起著不同的作用,為了保證通信的安全性,又有人提出了采用樹型密鑰管理和認證機制相結合的密鑰管理方案,利用平衡二叉樹結構提高管理效率,并實現了動態密鑰更新。
該方案采用分層式拓撲結構,將節點分為基站、簇頭和普通節點。簇頭擁有較高的存儲能力和信息處理能力,負責收集其他節點傳遞來的數據,并發給基站,簇頭通過廣播形式與其他節點通信,以此建立一個樹型結構的模型,并且采用動態密鑰管理方案,來保證WSN的安全。
每個節點從密鑰池中任意選擇若干密鑰,只有相同密鑰的節點間才可以建立密鑰,這類方案非常簡單,通常需要的計算量很小,支持網絡的動態變化,網絡擴展能力強。
基于密鑰對模型的密鑰管理方案--BPKP,該方案是基于確定性方案中的矩陣思想,除了具有矩陣信息,還加入了“一次一密”的密鑰更新的思想。
密鑰分配中心隨機從密鑰池中挑選n個密鑰(n為WSN中節點數),取m=n的開方,組成m*n的矩陣,把取得的密鑰放入矩陣中,隨機選取密鑰,直到把所有的矩陣空間填滿,變成矩陣向量K,向量K中,有一個唯一的二維ID標示,即有 Kij(v)=(vo,v1,v2,…,vm)(i,j=1,2,…,m),則有Kpi(i=1,2,…,m)和Kqj(j=1,2,…,m)分別標識 K 的行列值。KDC為每個節點隨機的從矩陣中挑選密鑰,放入節點,構成密鑰向量環,在網絡中肯定存在和該節點對應的行列值的節點,這樣BPKP方案就布置完了,節點間就可以安全通信。節點建立通信之后每次產生一個標示當前通信狀態的向量,每次把該通信狀態經過數據融合參與到數據通信中,接收節點收到該通信后,進行逆運算獲得該標識,驗證是否為當前通信,進而完成密鑰更新。
該方案是源于多項式的密鑰預分配方案、區域劃分的隨機預分配方案和BPKP方案的綜合,在密鑰的生成過程中采取二元t次多項式的方式,并且在二元t次多項式中多加一個區域的參數,在密鑰的更新過程中采取BPKP更新的形式,這是一種混合模型,同樣存在隨機預分配密鑰管理方案的特性。通過把大的區域劃分為小的區域,在密鑰池生成過程中,我們引入該區域的地理位置信息,把該信息加入到基站密鑰池生成算法中間。
這些新的密鑰管理方案都是為了保障WSN中信息的安全傳輸,防止竊取、篡改等攻擊行為,都是為了收集比較正確的數據。
本文對WSN基本知識及其安全需求進行了分析,也對現有的密鑰管理方案及改進方案進行了探究,當前提出的一系列的管理協議,它們都有各自的優點和不足,都有自己適用的網絡環境。當然,WSN中密鑰管理的研究也集中在這幾個方面,雖然密鑰管理的研究進行了很多年,但是受計算能力和能耗的限制。相信隨著工藝和計算機及其網絡技術的發展,WSN技術必將得到越來越廣泛的應用,這樣以來,針對這種迫切需要高效、輕量的密鑰管理協議的研究,也會給WSN的發展帶來巨大的飛躍。
考慮到無線鏈路的特性和網絡的不可靠性,需要允許一定的丟包率來實現安全的密鑰管理。如何根據動態簇的變化來生成和更新簇密鑰問題,使得密鑰管理協議滿足能量均勻分布和內網應用技術。WSN中的每個節點都可能成為轉發數據報文的臨時路由,而無線信道又是開放的,這對WSN的安全協議提出了更高的要求。在WSN設計的安全協議時,不僅要考慮到應用層的數據報文的安全,同時也應該考慮到類似路由信息、控制信息的安全,分析不同報文的不同安全需求。因此應該結合網絡層安全路由協議,進一步探索如何有效地減小管理協議對內存的需求,提高網絡的抗毀性能,以降低計算量和通信量,整體來設計和實現具有層次性的密鑰管理方案。
[1]Shuai Yang,Jie Liu,Chunxiao Fan,Xiaoying Zhang ,Junwei Zou.A NEW DESIGN OF SECURITY WIRELESS SENSOR NETWORK USING EFFICIENT KEY MANAGEMENT SCHEME.Proceedings of IC-NIDC2010.[C],IEEE,2010:504-508
[2]郎為民 楊宗凱 吳世宗 譚運猛.無線傳感器網絡安全研究[J],計算機科學,2005,32(5):54-58
[3]Hero Modares,Rosli Salleh.OVERVIEW OF SECURITY ISSUES IN WIRELESS SENSOR NETWORKS,2011 THIRD INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE,MODELLING &SIMULATION.[C],2011:308-311
[4]Yuling Li.RESEARCH ABOUT SECURITY MECHANISM IN WIRELESS SENSOR NETWORK.IEEE,[J],2011:405-409
[5]Daniel E.Burgner,Luay A.WAHSHEH.SECURITY OF WIRELESS SENSOR NETWORKS,2011 Eighth International Conference on Information Technology.[C],2011:315-320
[6]Yan Xiao Li,Lian Qin,Qian Liang.RESEARCH ON WIRELESS SENSOR NETWORK SECURITY.International Conference on Computational Intelligence and Secruity.[C],IEEE,2011: 483-496