摘要:首先分析了無線傳感器網絡的特點、面臨的安全威脅、所需要解決的關鍵完全問題以及安全協議設計原則,在此基礎上給出了一種安全解決方案,有效解決了無線傳感器網絡中通信的機密性、可靠性、完整性與時效性等安全需求。
關鍵詞:無線傳感器網絡; 安全; 威脅; 對策
中圖法分類號:TP393.08文獻標識碼:A
文章編號:1001-3695(2007)01-0140-04
無線傳感器網絡(Wireless Sensor Network,WSN)是一種自組織網絡,它通過大量低成本、資源受限的傳感節點設備協同工作以實現某一特定任務。由于其具有部署靈活、維護簡單等特點而在事件監測、軍事監控、氣候預測等方面有著廣泛的應用前景[1]。
而WSN通常部署在無人維護、不可控制的環境中,使其除了具有一般無線網絡所面臨的信息泄露、信息竄改、重放攻擊、拒絕服務等多種威脅外,它還面臨傳感節點容易被攻擊者物理操縱,并獲取存儲在傳感節點中的所有信息,從而控制部分網絡的威脅。隨著WSN應用的普遍化,安全問題也將越來越突出,如何保證傳感網絡以及所采集數據的機密性、真實性、可靠性,將是WSN研究的一個重要課題。
1傳感器網絡特點分析
WSN主要由三個主要部分組成:傳感節點(Sensor Node)、基站(Sink)和觀察對象。傳感節點散布在觀察區域內采集與觀察對象相關的數據,并將協同處理后的數據傳送到Sink,如圖1所示。在WSN中,每個節點都具有把所采集或收集的信息直接或通過其他節點轉發給基站、識別傳送給自己的信息包、處理廣播信息包的功能。
整個WSN的路由是一個樹狀結構,基站為樹的根,并根據路由算法選擇某些傳感節點作為樹的葉節點,也稱為簇節點(包括基站),簇內所有其他的普通節點只與簇節點進行通信,簇節點把接收到的傳感信息進行處理后,轉發給上級簇節點,并最終傳送給基站。
圖1無線傳感網絡體系結構
1.1傳感節點
由于WSN是一種大規模的分布式網絡,常部署于無人維護、條件惡劣的環境當中,且大多數情況下傳感節點都是一次性地使用,這決定了傳感節點是價格低廉、資源極度受限的無線通信設備。主要體現在以下幾個方面:
(1)能量有限。能量是限制傳感節點能力、壽命的最主要的約束性條件,現有的傳感節點都是通過標準的AAA或AA電池進行供電,并且不能重新充電。因此在進行安全機制設計時,必須充分考慮密碼算法、安全協議及密鑰存儲等對能量消耗的影響。
(2)計算能力有限。傳感節點CPU一般只具有8bits 4MHz~8MHz的處理能力,因此所選擇的密碼算法必須適合傳感節點處理器的特點,同時密碼算法的計算不能為傳感信息的傳輸引入過多的時延,如公鑰算法就不宜在傳感網絡中頻繁使用。
(3)存儲能力有限。傳感節點一般包括三種形式的存儲器,即RAM、程序存儲器和工作存儲器。RAM用于存放工作時的臨時數據,一般不超過2KB;程序存儲器用于存儲操作系統、應用程序以及安全函數等;工作存儲器用于存放獲取的傳感信息,這兩種存儲器一般也只有幾十千字節,用于存儲安全代碼、密鑰的空間很少。因此,預先存儲大量密鑰的安全機制不適用于WSN,而且還必須選擇密鑰長度較小的輕型密碼算法用于安全通信。
(4)通信范圍有限。為了節約信號傳輸時的能量消耗,傳感節點的RF模塊的傳輸能量一般在10mW~100mW之間,傳輸范圍也局限于100m~1km之內,因此并不是所有的傳感節點都能與基站直接進行通信,離基站較遠的傳感節點所發送的信息必須經過中間節點的轉發才能到達基站,因而傳感信息也面臨被竄改、丟棄等多種威脅。
(5)防竄改性。傳感節點是一種價格低廉、結構松散、開放的網絡設備,攻擊者一旦獲取傳感節點就很容易獲得和修改存儲在傳感節點中的密鑰信息以及程序代碼等[3]。因而在進行安全結構設計時,必須考慮整個安全結構在部分傳感節點被攻擊后的容錯性能。
1.2網絡特征
(1)自組織網絡。大多數傳感器網絡在進行部署前,其網絡拓撲是無法預知的;部署后,整個網絡拓撲、傳感節點在網絡中的角色也是經常變化的,因而不像有線網、大部分無線網絡那樣對網絡設備進行完全配置。對傳感節點進行預配置的范圍是有限的,很多網絡參數、密鑰等都是傳感節點在部署后進行協商后形成的。
(2)信息包的大小。考慮到傳感節點在發送傳感信息時的能量消耗以及無線傳輸時的信號沖突,傳感信息包的大小一般只有30Bytes左右[2]。因此,在對信息包進行完整性校驗、加密等安全保護時,允許添加的字節數也是有限的。另外,為了減少能量消耗,安全協議也應盡量減少對傳感信息包的擴展。
(3)時延。多跳路由于方式、較低的網絡傳輸速率(一般只有10kbps)、無線信道阻塞等問題將導致傳感信息在傳輸時會引入較大的時延,因此在保證信息包的時效性、可靠性時,必須考慮通信雙方在時間上的同步問題。
(4)路由變換。傳感網絡的路由算法是根據傳感節點能量來進行路由決策的,當充當網關的傳感節點能量損耗到預定值時,必須重新進行路由。路由的變化需要節點之間重新進行密鑰協商,這將會為整個網絡引入額外的能量消耗和網絡流量,因此密鑰協商協議應盡量減少握手的次數和通信負荷。
(5)信道誤碼率。傳感器網絡是通過無線進行通信的,且經常部署于惡劣的環境中,信道的誤碼率較高,這將會影響信息包的可靠性及完整性認證過程,因此可靠性、完整性認證協議應盡量減少交互的次數和增加的通信負荷。(6)不可靠的通信。傳感網絡是面向無連接的包交換網絡,由于信道誤碼率和無線信道沖突,信息包在傳輸時很可能會丟失,這也決定了應盡量減少或避免安全協議的交互次數。
(7)間歇的連接方式。為了節省能量,傳感節點在沒有信息傳輸時通常會處于休眠狀態,并按預定的時間間隔喚醒。因此進行密鑰協商、密鑰同步等安全操作時,必須充分考慮節點間時間的同步問題。
1.3通信方式
由文獻[4]可知,整個傳感網絡的路由是一個樹狀結構,基站為樹的根,并根據路由算法選擇某些傳感節點作為樹的葉節點,也稱為簇節點(包括基站)。簇內所有其他的普通節點只與簇節點進行通信,簇節點把接收到的傳感信息進行處理后,轉發給上級簇節點,并最終傳送給基站。在WSN中,主要有三種通信模式:①單播通信,如節點把讀取的傳感信息向簇節點進行傳送;②全局廣播通信,如基站發送給整個網絡的請求或控制信息;③局部廣播通信,如簇節點發給簇內所有節點的控制信息。
不同的通信模式具有不同的通信特點,所傳遞的信息也不一樣,所以具有不同的安全需求。但不管哪種通信模式,傳感節點都是通過RF模塊以廣播的方式對信息進行傳送,在信號廣播范圍內的所有節點都能接收到該廣播信息,這是一個共性問題。安全設計必須根據不同通信模式的特點,提出不同的有針對性的安全解決方案。
1.4部署環境
WSN一般規模比較大,從幾百個節點到成千甚至上萬個節點不等,同時常部署在無人維護、開放的、廣闊的環境當中,使攻擊者能很方便地對其傳送的傳感信息進行竊聽、插入、重放以及對傳感節點進行物理操縱。與其他的無線網絡、有線網絡相比,針對WSN的攻擊種類更多,且比較容易實施。因此所設計的安全協議必須具有相當的容錯能力,即使在部分節點被攻擊者捕獲后,整個安全協議也必須具有相當的安全等級。
2威脅分析
任何安全協議的設計都是基于對網絡可能的安全威脅充分分析基礎上的,本節將根據WSN的特點,對WSN所面臨的潛在安全威脅進行分類與描述。
(1)傳感節點的物理操縱。傳感節點是一種沒有防竄改能力的物理設備,同時為了提高傳感節點的靈活性,各傳感節點都有一個編程接口(JTAG接口),以便對傳感節點重新編程。當攻擊者獲取傳感節點后,就很容易地對傳感節點內存儲的內容進行讀取、修改,并把修改或偽造的節點重新部署到WSN中。一旦攻擊者控制了WSN中部分的傳感節點,就可以發起很多種攻擊,如偽造虛假傳感信息、丟棄所要轉發的傳感信息、分析傳感信息中的敏感數據、對轉發信息進行竄改、假冒合法節點、偽造擁有多個合法身份的節點等。
(2)傳感信息的竊聽。由于WSN的特點,攻擊者可以很容易地對單個甚至多個通信鏈路間傳輸的信息進行竊聽,并從多個傳感信息中分析出敏感數據。同時,通過傳感信息包的竊聽,還可以對WSN中的網絡流量進行分析,從而分析出傳感節點的位置、作用等。
(3)拒絕服務攻擊。它主要用于破壞WSN的正常功能,其攻擊形式主要有以下幾種:①在網絡中發送大量的無用信息以產生鏈路阻塞,從而干擾網絡協議和傳感信息的正常傳送;②向傳感節點發送大量有用或無用的傳感信息,從而快速消耗節點的能量和資源;③發布虛假路由,引起網絡路由循環等。
(4)重放攻擊。攻擊者截獲在WSN中傳播的傳感信息、控制信息、路由信息等,并假冒成合法節點對截獲信息進行重放,從而造成網絡混亂、傳感節點錯誤決策等。
(5)完整性攻擊。它一般包括對傳感信息的修改、插入,但由于傳感網絡的廣播性質,在攻擊者對傳感信息進行截取并修改重發之前,廣播范圍內的節點都已接收到了原始的廣播信息。對廣播信息進行修改攻擊在WSN中很難實施,因此WSN中的完整性攻擊一般指信息插入攻擊。
3安全需求和設計原則
3.1安全需求
(1)傳感信息的機密性。它可通過對傳感信息內容進行加密實現,以防止信息泄露給非法節點或外部攻擊者。
(2)傳感信息的完整性。它保證了信息在傳輸過程中沒有被非法竄改,信息的完整性可通過計算信息的摘要等來實現。
(3)傳感信息的可靠性。它保證了信息來自合法的傳感節點。可靠性可通過數字簽名、通過共享的唯一性密鑰對信息加密、通過共享的唯一性密鑰計算信息的摘要、單向密鑰鏈等實現,對于不同的通信模式應選擇不同的方式來實現信息可靠性。
(4)傳感信息的時效性。通過保證信息的時效性,可有效地防止重放攻擊。時效性可通過時間戳、隨機數、序列號等實現。
3.2設計原則
(1)能量有效性。由于傳感節點只具有有限的能量,因此所設計的安全機制必須是能量有效的,特別是不能引入過多的信息傳輸以及計算復雜的密碼算法。
(2)盡量避免使用交互式的安全協議。一方面是無線傳感器網絡大部分的能量消耗在信號的接收和發射上,因此使用交互式協議將會增加傳感器網絡的能量消耗和通信負荷;另一方面,傳感器網絡中容易發生信號丟失,從而導致傳感節點由于等待下一條信號而造成系統資源的浪費。
(3)避免信息的分段傳輸。由于安全而增加的安全負荷應盡量地小,否則必須對信息包進行分段傳輸。由于無線環境中包的丟失率很高,為了保證傳輸信息的可靠性,傳感網絡必須進行信息包的重傳和緩沖,這將會增加傳感網絡協議設計的困難和復雜性,同時會加大網絡的通信負荷、傳感節點的能量消耗和過多的RAM空間消耗。
(4)支持傳感信息的網內處理。為了增加網絡壽命,減少傳感節點的能量消耗,簇節點一般會對從簇內其他節點傳送的傳感信息進行網內處理,如對簇節點對傳感信息進行合并、簇內普通節點對傳感信息的被動監視等,因此在WSN中不宜實現端到端加密。
(5)較高的容錯性能。由于傳感節點很容易被攻擊者物理操縱,即使提高了節點本身的安全性能,也存在節點內信息被讀取、修改的可能性。因此所設計的安全機制必須保證在部分節點被破壞后也能達到一定的安全性能。
4安全解決方案
4.1密鑰協商
本文引入兩種密鑰來保證WSN中信息傳輸的安全:
(1)Pairwise Key。它是傳感節點之間或傳感節點與基站之間臨時建立起來的配對密鑰,主要用于在簇內安全地分發Cluster Key或保證節點之間傳感信息傳輸的安全。
(2)Cluster Key。它是簇節點和簇內所有普通節點所共享的密鑰,用于保證簇內局部廣播通信和簇內傳感信息的安全傳送。采用Cluster Key對傳感信息加密是為了支持傳感信息的網內處理,從而節省能量消耗,本文也采用Cluster Key對傳感信息加密。
4.2節點間的安全通信
根據傳感節點的特性,本文選擇對稱的分組密碼算法實現單播通信的機密性,常用的分組密碼包括AES,DES,RC5,Serpent,Skipjack等,但經過對以上算法的細致分析,發現并不是都適合于傳感節點的特性。如AES至少需要800Bytes的查詢表和不少于128bits的密鑰長度;DES需要一個大小分別為512的SBox、256的置換表;RC5雖然效率很高,但是其算法執行過程中需要的各種臨時密鑰,需要在算法執行前進行預計算,從而消耗額外的內存空間,如RC532/12/8至少需要112Bytes的臨時密鑰存儲;另外RC5算法需要進行32bits的環形移位操作,這對于8bits的傳感節點而言是一個非常復雜的計算;Serpent雖然只需要簡單的邏輯操作,但是其程序代碼空間很大。基于此本文選用Skipjack密碼算法。
本文選用CTR模式的加密方法:
(1)因為該模式的加解密過程是完全一樣的,可以節省代碼空間,如圖2所示;
(2)因為CTR加密方法具有流密碼性質,明文和密文具有一樣的長度;
(3)因為對于每次加密操作,由于計數器的不同,即使是相同的明文,其密文也是不同的,對于不知道加密密鑰的攻擊者來說,利用CTR模式加密的密文是一種無關的、隨機化的信息;
(4)遞增的計數器既保證了傳感信息具有弱的時效性,又可抵抗重放攻擊。
另外,為了減少能量消耗和暴露出當前計數器的值,本文把計數器的值存儲在相互通信的節點之內,并不隨著加密信息一起傳輸,當發生計數器之間的不同步時,由簇節點發送本身存儲的計數器的值,以維持傳感節點間計數器之間的同步。
5總結
本文所提出的安全措施,可有效地防止目前傳感網絡中出現的大多數安全威脅,保證了傳感信息的機密性與節點間的相互認證,同時還有效地減小了當傳感節點被捕獲后對整個網絡安全的影響。具體如下:
(1)通過加密、時間戳、信息摘要有效地保證了節點間通信的完整性、機密性和時效性,同時通過加密、CBCMAC的計算也保證了節點與節點之間的相互認證,因為只有合法的節點才可能知道相互之間的通信密鑰。除此之外,CTR方式的加密和時間戳還可以有效地抵抗重放攻擊。
(2)通過實現節點與節點之間的相互認證,有效地防止了非法節點加入WSN,從而增加了進行DoS攻擊的難度。
(3)提供了有效的密鑰更新方案,增加了攻擊者通過大量觀察傳感信息獲知Cluster Key等通信密鑰的難度。
安全是傳感網絡設計中的重要問題,本文首先分析了傳感器網絡的特點和面臨的威脅,并在此基礎上提出了安全的無線傳感器網絡所要解決的關鍵問題和設計原則,并有針對性地給出了安全的解決方案,有效解決了無線傳感器網絡中通信的機密性、可靠性、完整性及時效性等安全需求。
參考文獻:
[1]D W Carman, P S Kruus, B J Matt. Constraints and Approaches for Distributed Sensor Network Security[EB/OL]. http://download.nai.com/products/media/nai/zip/nailabsreport00010final.zip,20000901.
[2]Perring A, Szewczyk R,Tygar J D,et al. SPINS:Security Protocols for Sensor Networks[C]. Rome: the 7th Annual ACM International Conference on Mobile Computing and Networks, 2001.521534.
[3]Blom R. An Optimal Class of Symmetric Key Generation System[C]. Advances in CryptologyEurocrypt, Springer LNCS 209,1984.335338.
[4]Priit Caru. Practical Comparison of Fast PublicKey Cryptosystems[EB/OL]. http://www.tml.hut.fi/Opinnot/Tik110.501/2000/papers/loikkanenkahc.pdf,200007.
[5]Colleen Marie O’Rourke. Efficient NTRU Implementation[EB/OL]. http://www.emsec.ee.ucla.edu/pdf/corourke.pdf,200204.
作者簡介:
曾志峰,男,博士,研究方向為網絡安全、安全服務;
邱慧敏,男,博士研究生,研究方向為密碼學、電子商務、網絡安全等;
朱龍海,男,博士研究生,研究方向為密碼學、電子商務、網絡安全等。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文