0 引言
無線傳感器網絡(WSN,Wireless Sensor Network)是一種自組織網絡,由大量具有無線通信、數據采集和處理、協同合作等功能的節點協同組織構成。WSN在軍事、環境、工控和交通等方面有著廣闊的應用前景。由于大多數用戶對WSN的安全性有較高要求,而WSN有著與傳統的Ad hoc網絡不同的特點,大多數傳統的安全機制和安全協議難以直接應用于WSN,因此有必要設計適合WSN的安全性方案。
無線傳感器網絡與傳統的ad hoc網絡相比有如下獨有的特點[1]:
(1)傳感器節點數量巨大,網絡規模龐大;
(2)節點密集分布在目標區域;
(3)節點的能量、存儲空間及計算能力受限,容易失效;
(4)動態的網絡拓撲結構;
(5)通常節點不具有統一的身份(ID)。
1 WSN的安全性問題
WSN中,最小的資源消耗和最大的安全性能之間的矛盾,是傳感器網絡安全性的首要問題。通常兩者之間的平衡需要考慮到有限的能量、有限的存儲空間、有限的計算能力、有限的通信帶寬和通信距離這五個方面的問題。
WSN在空間上的開放性,使得攻擊者可以很容易地竊聽、攔截、篡改、重播數據包。網絡中的節點能量有限,使得WSN易受到資源消耗型攻擊。而且由于節點部署區域的特殊性,攻擊者可能捕獲節點并對節點本身進行破壞或破解。
另外,WSN是以數據通信為中心的,將相鄰節點采集到的相同或相近的數據發送至基站前要進行數據融合,中間節點要能訪問數據包的內容,因此不適合使用傳統端到端的安全機制。通常采用鏈路層的安全機制來滿足WSN的要求。
2 常見的攻擊和解決方案
在WSN協議棧的不同層次上,會受到不同的攻擊,需要不同的防御措施和安全機制。
2.1 物理層
物理層完成頻率選擇、載波生成、信號檢測和數據加密的功能。所受到的攻擊通常有:
1)擁塞攻擊:攻擊節點在WSN的工作頻段上不斷的發送無用信號,可以使在攻擊節點通信半徑內的節點不能正常工作。如這種攻擊節點達到一定的密度,整個網絡將面臨癱瘓。
擁塞攻擊對單頻點無線通信網絡影響很大,采用擴頻和跳頻的方法可很好地解決它。
2)物理破壞:WSN節點分布在一個很大的區域內,很難保證每個節點都是物理安全的。攻擊者可能俘獲一些節點,對它進行物理上的分析和修改,并利用它干擾網絡的正常功能。甚至可以通過分析其內部敏感信息和上層協議機制,破壞網絡的安全性。
對抗物理破壞可在節點設計時采用抗竄改硬件,同時增加物理損害感知機制。另外,可對敏感信息采用輕量級的對稱加密算法進行加密存儲。
2.2 MAC層
MAC層為相鄰節點提供可靠的通信通道。MAC協議分3類:確定性分配、競爭占用和隨機訪問。其中隨機訪問模式比較適合無線傳感網絡的節能要求。
隨機訪問模式中,節點通過載波監聽的方式來確定自身是否能訪問信道,因此易遭到拒絕服務攻擊(Distributed Denial of Service,DOS)[2]。一旦信道發生沖突,節點使用二進指數倒退算法確定重發數據的時機。攻擊者只需產生一個字節的沖突就可以破壞整個數據包的發送,這時接收者回送數據沖突的應答ACK,發送節點則倒退并重新選擇發送時機。如此這般反復沖突,節點不斷倒退,導致信道阻塞,且很快耗盡節點有限的能量。
目前對抗這種DOS攻擊沒有很好的解決方案,可采用信道監聽機制降低沖突率。若攻擊者只是瞬間攻擊,只影響個別數據位,可采用糾錯碼來對抗這種攻擊。
如MAC層協議采用時分多路復用算法為每個節點分配傳輸時間片,不需要在數據傳輸前進行協商,可避免沖突,但也會受到DOS攻擊。惡意節點會利用MAC協議的交互特性來實施攻擊。例如,基于IEEE 802.11的MAC協議用RTS、CTS和DATA ACK消息來預定信道、傳輸數據。如果惡意節點向某節點持續地用RTS消息來申請信道,則目的節點不斷地CTS回應。這種持續不斷的請求最終導致目的節點能量耗盡。
訪問控制可對抗這種攻擊。讓節點自動忽略過多的請求,不必應答每個請求。同時在協議中添加策略,對過度頻繁的請求不予理睬,或限制同一數據包的重傳次數。
2.3 網絡層
路由協議在網絡層實現。WSN中的路由協議有很多種,主要可以分為3類,分別是以數據為中心的路由協議、層次式路由協議以及基于地理位置的路由協議[3]。而大多數路由協議都沒有考慮安全的需求,使得這些路由協議都易遭到攻擊,從而使整個WSN崩潰。在網絡層WSN受到的主要攻擊有:
1.虛假路由信息
惡意節點在接收到一個數據包后,除了丟棄該數據包外,還可能通過修改源和目的地址,選擇一條錯誤的路徑發送出去,從而導致網絡的路由的混亂。如果惡意的節點將收到的數據包全部轉向網絡中的某一個固定節點,該節點可能會通信阻塞和能量耗盡而失效。
這種攻擊方式與網絡層協議相關。對于層次式路由協議,可以使用輸出過濾的方法,即對源路由進行認證,確認一個數據包是否是從它的合法子節點發送過來的,直接丟棄不能認證的數據包。
2.選擇性轉發/不轉發
惡意節點在轉發數據包過程中丟棄部分或全部數據包,使得數據包不能到達目的節點。另外惡意節點也可能將自己的數據包以很高的優先級發送,破壞網絡通信秩序。
通常采用多徑路由來解決這個問題。即使惡意節點丟棄了數據包,數據包仍然可以通過其它的路徑到達到目的節點。雖然多徑路由方式增加了數據傳輸的可靠性,但是也引入了新的安全問題。
3.貪婪轉發
即黑洞(sinkhole)攻擊。攻擊者利用收發能力強的特點吸引一個特定區域的幾乎所有流量,創建一個以攻擊者為中心的槽洞。基于距離向量的路由機制通過計算路徑長短進行路由選擇,這樣收發能力強的惡意節點通過發送0距離(表明自己到達目標節點的距離為0)公告,吸引周圍節點所有的數據包,在網絡中形成一個路由黑洞,使數據包不能到達正確的目標節點。
黑洞攻擊破壞性大,但較易被感知。通過認證、多路徑路由等方法可以抵御黑洞攻擊。
4.Sybil攻擊[4]
在Sybil攻擊中,一個節點以多個身份出現在網絡中的其它節點面前,使其更易于成為路由路徑中的節點,然后與其他攻擊方法結合達到攻擊目的。Sybil攻擊能夠明顯地降低路由方案對于諸如分布式存儲、分散和多路徑路由、拓撲結構保持的容錯能力。它對于基于位置信息的路由協議構成很大的威脅。這類位置敏感的路由為了高效地為用地理地址標識的包選路,通常要求節點與它們的鄰居交換坐標信息。一個節點對于相鄰節點來說應該只有唯一的一組合理坐標,但攻擊者可以同時處在不同的坐標上。
對抗Sybil攻擊,通常采用基于密鑰分配、加密和身份認證等方法。
5.Wormholes攻擊
Wormholes攻擊通常需要兩個惡意節點互相串通,合謀攻擊。一個惡意節點在基站附近,另一個離基站較遠。較遠的節點聲稱自己和基站附近的節點可以建立低時延高帶寬的鏈路,吸引周圍節點的數據包。Wormholes攻擊很可能與選擇性轉發或Sybil攻擊相結合。當它與Sybil攻擊相結合的時候,通常很難探測出。
在路由設計中加入安全等級策略可對抗wormholes攻擊。文獻[5]中給出了Ad hoc網絡路由設計中添加安全等級的方法,可對之稍作改進,采用基站來完成監聽和檢測下一個節點信道的任務。改進后的路由協議可對抗sinkhole和wormhole攻擊。基于地理位置類的路由協議,如Greedy Perimeter Stateless Routing[6],通過定期廣播探測幀來檢測黑洞區域,可有效地發現和抵御sinkhole攻擊和wormholes攻擊。
6.HELLO flood
很多路由協議需要節點定時發送HELLO包,以聲明自己是其他節點的鄰居節點。攻擊者用足夠大的發射功率廣播HELLO包,使得網絡中所有節點認為其是鄰居節點,實際上卻相距甚遠。如其他節點以普通的發射功率向它發送數據包,則根本到達不了目的地,從而造成網絡混亂。
在路由設計中加入廣播半徑的限制可對抗HELLO flood。限制節點的數據發送半徑,使它只能對這個半徑區域內的節點發送數據,而不是對全網廣播,避免高能的攻擊者在整個網絡區域不斷發送數據包,使得網絡節點不停地處理這些數據,造成DOS和能源耗盡攻擊。
2.4 傳輸層
傳輸層用于建立WSN與Internet或者其他外部網絡的端到端的連接。目前在WSN大多數應用中,都沒有對于傳輸層的需求,傳輸層協議一般采用傳統網絡協議。
2.5 應用層
應用層提供了WSN的各種實際應用,因此也面臨各種安全問題。密鑰管理和安全組播為整個WSN的安全機制提供了安全支撐。
WSN中采用對稱加密算法、低能耗的認證機制和hash函數。目前普遍認為可行的密鑰分配方案是預分配,即在節點在部署之前,將密鑰預先配置在節點中。實現方法有多種:
基于密鑰池的預配置方案。每個節點在部署前,從事先生成的密鑰池中隨機選取一定數目的密鑰子集,節點部署到指定區域后,只與具有相同密鑰的節點通信。
基于多項式的預配置方案。由C Blundo等人提出 [7],能有效地抵御節點被捕獲,擴展性強,但計算開銷大,也不支持鄰居節點的身份認證。
利用節點部署信息的預配置方案。文獻[8,9]均是將節點按照地理位置關系分組,給處于相同組或是相鄰組的節點之間分配共享密鑰,使節點的分組模式和查詢更符合節點廣播特征,提高密鑰利用率,減少了密鑰分配和維護代價。
4 結論
作為一種新的信息獲取和處理技術,WSN在某些領域有著傳統技術不可比擬的優勢,但由于傳感器網絡和節點自身的一些限制,給它的安全性設計帶來新的挑戰。高效加密算法、安全的MAC協議和路由協議以及密鑰管理和安全組播等都是值得深入研究的領域。
本文作者創新點在于從WSN協議棧的不同層次上探討了安全性問題,對物理層的擁塞攻擊提出了擴頻的方法,以及完善傳感器節點以對抗物理破壞。鏈路層的DOS攻擊,可采用糾錯碼、訪問控制和限制重傳等抵御方法。網絡層的路由協議中增加安全機制,可采用層次路由、多徑傳輸、安全等級和廣播半徑限制等方法。密鑰管理和安全組播為整個WSN提供了安全支撐。