1 引言
近十年來,隨著半導體技術和無線通信技術的不斷發展,無線傳感網的研究和應用正在世界各地蓬蓬勃勃地展開,具有成本低、體積小、功耗低的ZigBee技術無疑成為目前無線傳感網絡中,作為無線通信應用的首選技術之一。因此,無論是自動控制領域、計算機領域、無線通信領域對ZigBee 技術的發展、研究和應用都寄予了極大地關注和重視。
ZigBee 是一組基于IEEE802.15.4 無線標準而研制開發的有關組網、安全和應用軟件方面的通信技術;其實現了在數千個微小的傳感器之間相互協調通訊。
這些傳感器只需要很少的能量,就能以接力的方式通過無線電波將數據從一個節點傳到另一個節點,從而實現在全球2.4GHz 免費頻帶范圍內的高效、低速率的通訊功能。同時,該技術具有數據傳輸速率低、功耗低、成本低等特點。所以,該技術現已成功的運用于農業生產,工業控制,生物醫療,智能家居,環境監測,智能建筑和醫療等領域。
本文首先對ZigBee 技術的協議體系結構以及通信原理進行簡單的闡述,主要包括物理層協議、MAC層協議、網絡層協議等;在此基礎上,概括當前ZigBee技術中主要的安全方案和分析在實際應用過程中所存在的隱患和缺陷;最后,在結合ZigBee 體系構架的前提下,提出一種全新的可行安全方案,并對該方案的有效性進行了科學性的論證。
2 ZigBee傳感網的工作原理
2.1 體系構架。
在ZigBee 技術中,其體系機構通常由層來量化它的各個簡化標準。每一層負責完成所規定的任務,并且向上層提供服務。各層之間的接口通過所定義的邏輯鏈路來實現[6].ZigBee 技術的體系結構主要由物理層(PHY)、媒體接入控制層(MAC)、網絡/安全層(NWK)以及應用框架層(APS)組成。其中,PHY 層的特征是啟動和關閉無線收發器,對能量、鏈路質量進行檢測,選擇信道,清楚信道評估(CCA),以及通過物理媒體對數據包進行發送和接收。MAC 層的特征是信標管理,信道接入,時隙管理,發送確認幀,發送連接及斷開連接請求。除此之外,MAC 層為應用合適的安全機制提供一些方法。網絡/安全層(NWK)的特征是用于ZigBee 的LR-WPAN 網的組網連接、數據管理以及網絡安全等。應用框架層(APS)的特征是用于為ZigBee 技術的實際應用提供一些應用框架模型等,以便對ZigBee 技術的開發應用。
基于ZigBee 技術的無線傳感器網絡通常存在兩種不同類型的設備:一種是具有完整功能的設備(FFD),一種是簡化功能的設備(RFD) [8,9].在網絡中,FFD通常有3 種工作狀態:⑴作為個人區域網絡(PAN)的主協調器;⑵作為一個協調器;⑶作為一個終端設備。一個FFD 可以同時和多個RFD 或多個其他的FFD通信,而對于一個RFD 來說,它只能和一個FFD 進行通信。其工作過程如圖1 所示。
圖1 工作過程
2.2 通信原理
在ZIGBEE 體系中,存在網間通信和網內通信兩種方式。由于,網內通信與網間通信相類似。因此,本文以網內通信為例闡述其通信原理。其通信過程如圖2 所示。
2.2.1 網絡形成
FFD 設備首先根據來自網絡層的初始化命令;并結合應用層所設定的信道標號(Channel ID)、個人區域網絡標識符(PAN ID)以及本主協調器的網絡地址(Net Address),進行相關信息的初始化和信道掃描。
若指定的Channel ID 和PAN ID 不與現存網絡沖突,則開始形成網絡;若指定的Channel ID 和PAN ID 與現存網絡沖突,則從備選的信道中選擇另外一個信道,避免在該信道中PAN ID 不沖突;形成網絡并開始監聽指定信道的網絡數據。
圖2 通信過程。
2.2.2 網絡連接
當RFD 開始工作時,其首先根據應用層所設定的信道標號(Channel ID)、目的區域網絡標識符(PAN ID)以及本設備的網絡地址(Net Address)進行相關信息的初始化和主動的信道掃描;以確定其是否網絡存在。當確定網絡存在以后,網絡層發送連接請求原語到媒體接入控制層(MAC 層);MAC 層就會根據其指令,生成連接請求的數據幀,該數據幀中除了包含自身的網絡地址(Net Address)外還包括所要加入的區域網絡的標識符(PAN ID)[7].進而指示物理層檢測當前發送機狀態;若當前發送機已經打開,并且處于空閑狀態,則就在指定的信道中發送連接請求數據。
至此,整個ZIGBEE 網絡體系形成;可以開始進行相關的通信。
3 現存安全方案的隱患和缺陷
在現存的安全方案中,無論是計數模式加密還是密碼塊鏈消息認證碼;其更多的是注重保證應用數據的安全;但是這并不代表能夠保證整個ZigBee 網絡的安全。由于安全方案大多數針對MAC 層載荷(應用數據);而沒有對MAC 幀頭信息進行必要的保護;使得無線傳感網與互聯網類似,也存在很多的攻擊。其中,最典型的攻擊是偽裝攻擊。
根據攻擊的方式不同,偽裝攻擊可以分為主動偽裝攻擊和被動偽裝攻擊。
3.1 主動偽裝攻擊
在ZigBee 協議中,無論是連接請求或連接回應都是以MAC 幀為載體。并且在傳輸過程中,無論是否采取安全方案,其MAC 幀頭信息都是以明文形式傳輸的。這就會使攻擊者通過Sniffer 等專業工具獲取目的PAN 標識符(PANID)和源PAN 標識符(PANID);進而可以根據所獲得PAN標識符偽裝成合法協調器或協調器,與網絡中的其他設備進行連接。
3.2 被動偽裝攻擊
在網絡連接或數據傳輸過程中,即使數據包使用了密文形式,也不能完全阻止攻擊者進行攻擊。這是因為,攻擊者仍然可以通過專業工具獲得密文形態的數據包。進而,就可以在以后的某個時間,重新發送該密文形式的數據包,使得網絡中的其他設備誤以為是正常連接,導致整個網絡陷入癱瘓[7].
4 新的安全方案
通過對于偽裝攻擊的介紹可知:主動偽裝攻擊實施成功的原因在于MAC 層幀頭信息沒有必要的保護;使得攻擊者能夠獲得目的PANID 等相關機密信息;而被動偽裝攻擊實施成功的原因是由于接受機制沒有對接受數據進行一個有效性的判斷。在本文中,提出一種可行性安全方案。即在MAC 層中添加一個模塊;該模塊包含兩個功能:1.以幀的序列號為初始向量,采用AES 算法對相應的PANID 進行加解密;這樣就可以對PANID 進行合理保護,使得攻擊者無法獲得PANID.2.根據接受幀的序列號來對接受數據的有效性進行判斷,從而使攻擊者的重發數據無效。
具體流程如圖3 所示:
圖3 具體流程。
發送方發送數據時,在生成MAC 幀以后,選用幀頭信息中的幀序列號作為初始向量,對PAN 標識符進行AES 算法加密。完成相關的加密動作后,交由物理層進行數據的發送。接收方接受數據時,首先,除了進行網絡地址的判斷外,在交由MAC 層進行處理前;還要由幀的有效性判斷機制來判斷接受幀的有效性;若無效,則丟棄;反之,則提取當前幀的序列號,并進行AES 算法的解密。最終,將所解密后的MAC幀交由MAC 層進行進一步的處理[3-6].
4.1 AES 加/解密。
加/解密對象是MAC 幀頭信息中的PANID 區域;加/解密的初始向量是當前幀的序列號;由于加密的時機是在MAC 層生成MAC 幀以后。其優點在于由于采用了序列號作為初始向量;使得每次加密后的PANID值不相同;并且由于加密時機是選擇在MAC 層中來完成,不用去修改ZigBee 原有的體系結構。
4.2 幀的有效性判斷機制。
該機制由兩部分構成;一部分是相應的序列號表格,用來記錄已處理過的幀的序列號和當前正在處理的序列號;另一部分是幀的有效性判斷模塊,其作用是根據已設置的有效性判斷規則,對當前幀進行有效性判斷。
(1) 保證了PANID 的機密性。
由于在每次發送MAC 幀時,都要事先以序列號作為初始向量,對PANID 號進行AES 算法加密;進而保證每次發送的MAC 幀的PANID 不同,使得無法借助數理統計的方法獲得真實的PANID.
(2) 保證了接受幀的有效性。
由于在每次接受MAC 幀時,通過對其序列號的有效性進行判斷,能夠保證該幀的有效性。若判斷為無效,則對該幀進行丟棄處理;進而能夠有效地防止被動偽裝攻擊攻擊。
本方案之所以能有效的防止偽裝攻擊;是由于對PANID 進行了加密;大大增加了攻擊者獲得真實PANID 的難度。在本文中,將通過構造線性回歸方程模型以及最小二乘估計的技術手段來論述攻擊者是如何進行PANID 破獲,并指出其攻擊難度。假定 R 表示參與運算的幀序列號,X 表示真實的PANID 值,Y表示加密后的PANID 值。
構造線性回歸方程模型:
首先,根據相關的統計方法,選擇規模為N 的樣本數據:( Yi, Xi, Ri ), i=1,2,…,n ①;
其次,假定Y 與X 和R 成線性相關;即:
Y=β0 +β1X +β2R +α②;
其中,β0、β1、β2 為未知參數;α為隨機誤差,且其服從標準正態分布;由①和②可得:
Yi=β0 +β1X i+β2Ri +αi; i=1,2,…,n ③;
其中,α1,α2,…αn 相互獨立,且均服從標準正態分布,③就是所構造的線性回歸方程模型;最小二乘估計。
線性回歸方程構造完以后,需要去對未知參數進行估計,從而才能獲得確定函數關系。
在這里,采用最小二乘估計法估計未知參數。
由最小二乘原理得正規方程組X'Xβ=X'Y; ④
其解為β0、β1、β2 的最小二乘估計。
那么,Y 的回歸值y=β0+β1X +β2 R;根據δ2 無差估計理論可知:當αi (i=1,2,…,n)滿足服從標準正態分布時;y 就可以取代Y.換言之,就可以根據y=β0+β1X +β2 R 來推算得到X.
在整個運算過程中,攻擊者從拿到數據到推算得出X;中間有幾個必要環節需要解決:
樣本的數據選取問題;樣本的好壞決定了所構造的正規方程組的好壞,以及αi (i=1,2,…,n)的無差估計是否成立。由于安全方案采取的以序列號為初始向量的AES 加密,這就使得加密后的數據雜亂無章,進而使得在選擇樣本數據時毫無規律可言。樣本數據選擇不好,就無法進行有效的最小二乘估計。
影響因變量Y 的因素確定問題。建立回歸方程的前提,就是首先要確定自變量的個數以及種類。在本方案中,我們除了把PANID 作為自變量以外,還選擇幀的序列號作為自變量。這樣對于攻擊者而言,其無法清晰地獲得自變量的個數和種類,從而無法構造比較合適的回歸模型,進而無法進行深入的數學推算。
5 總結
在現存的ZigBee 協議中,偽裝攻擊是比較有效的一種攻擊方式。針對于此,本文在同時考慮到物聯網各設備計算能力有限的情況下,提出了一種有效的安全方案。理論證明,該方案在保證PANID 機密性、防止偽裝攻擊等方面,有非常顯著的效果。
-
無線通信
+關注
關注
58文章
4573瀏覽量
143602 -
ZigBee
+關注
關注
158文章
2270瀏覽量
242895 -
無線傳感網
+關注
關注
0文章
50瀏覽量
17113
發布評論請先 登錄
相關推薦
評論