作者:崔林濤,侯方,張朕源,張衛東
1 引言
1.1 選題背景
WSN是由大量具有感知能力,計算能力和通信能力的微型計算機節點構成的自組織、分布式網絡系統,在軍事國防,環境監測等領域有著巨大的實用價值,被認為是將對二十一世紀產生巨大影響力的技術之一;但由于節點多分布在非受控區域,無線信道的廣播特性和自組織網絡的組網特性,使得網絡的拓撲結構易變,傳感器節點易受攻擊,WSN網絡中的安全問題也日益突出。
1.2 系統概述
針對無線傳感器網絡存在的上述安全問題,本系統在Xilinx的開發板上,首先利用無線模塊組成一個無線傳感器網絡,并基于SPINS協議框架實現了網絡內的密鑰管理,在系統內部的安全模塊內實現了RC5,MD5等算法,保證網絡的通信安全;其次為了保證傳感器網絡中節點本身的安全可信,增加了防篡改檢測電路,從硬件級保證節點的安全性和完整性;最后針對于WSN網絡的拓撲結構易變的特點,利用基于FPGA的可重構計算技術,使得網絡內的某些節點在需要時可以發生重構,代替失效的基站繼續工作,從而保證整個網絡安全可靠地運行。
整個系統以WSN中單個節點的安全可信為基礎,并采用SPINS協議提高了密鑰拓撲連通率,節點的可重構機制也大大增強了網絡的安全性和健壯性,由點到面地實現了WSN網絡的安全。
2 系統方案
2.1 WSN網絡拓撲結構
本系統采用的網絡結構(圖1)為分布式單跳簇網絡結構, 基站為單跳簇子網的中心,各個基站之間形成分布式網絡。
圖1:WSN網絡拓撲結構
2.2 WSN密鑰管理協議
SPINS密鑰管理協議是在無線傳感器網絡中應用廣泛的一種密鑰管理協議,適用于規模比較小的傳感器網絡。本系統基于SPINS協議的框架,實現了一個簡單的密鑰分發協議。
2.3 可重構體系結構
在以基站為中心的網絡結構中,基站往往是整個網絡的瓶頸,一旦基站失效則會導致其整個網絡的癱瘓。本系統為了解決基站的瓶頸問題,提出了一種可重構機制,在子網內,一旦節點發現基站失效,則節點之間會通過爭奪或是協商的方式來確定讓哪個節點發生重構,以代替原來的基站繼續維持網絡的正常運轉。整個過程如圖2,3,4所示。
圖2:子網正常工作
圖3:基站失效
圖4:節點重構
2.4 可信平臺體系結構
TCPA/TCG組織大大推動的了可信計算平臺的發展,本系統的安全模塊在設計時從下面兩個角度考慮可信性:
1:能夠保護指定數據存儲區域,防止敵手進行特定類型的物理訪問。
2:賦予計算平臺上的程序證明自身運行在一個未被篡改的環境中的能力。
3 系統功能
3.1 實現基于SPINS框架的密鑰管理協議
本系統用硬件實現了RC5加密算法,MD5算法和隨機數產生器,實現了基于SPINS框架的密鑰管理協議,保證WSN網絡中密鑰的安全分發和節點之間的安全通信。
3.2 實現網絡中節點的重構功能
以基站為中心的單跳簇網絡中,基站是子網安全的瓶頸,一旦基站失效則會導致子網癱瘓。為了保證網絡的穩定性和健壯性,本系統實現了節點的可重構機制,當子網基站失效后,某些節點會發生重構,代替原來的基站以保證網絡穩定運行。
3.3 增強WSN網絡內節點的抗篡改能力
傳感器節點大都布置在非受控區域(如布置在敵方控制區域內等),一旦節點被捕獲后,內部存儲的數據尤其是通信密鑰泄露出去的話,會威脅整個網絡的安全。本系統在保證通信安全的基礎上增加了防篡改檢測電路,一旦檢測到敵方欲竊取里面存儲的密鑰等重要信息時,則立即將數據清零,從而增強了網絡的安全。
4 系統原理與實現
4.1 WSN網絡的原理與實現
本系統采用的通信協議如圖5所示,DDL層以下采用IEEE802.15.4協議,網絡層以上根據系統自定義通信協議。
圖5 WSN網絡通信協議
系統網絡層協議的實現是基于XILINX公司的8位CPU軟核PicoBlaze,用匯編語言編寫模塊控制部分,幀協議的分析用硬件實現。
4.2 網絡節點的原理與實現
系統的總體設計如圖7所示。系統主要由4部分構成:中心控制器,數據傳輸控制器,安全模塊(TPM), 外圍模塊。
圖6 網絡節點的總體設計圖
4.3 中心控制器
4.3.1 中心控制器總體結構
中心控制器是整個系統的控制中心,接受無線收發模塊,數據采集模塊,TPM模塊和數據傳輸控制器的命令,并根據命令的內容控制各個模塊之間的協調工作。
圖7 中心控制器框圖
4.3.2 中心控制器具體實現
傳感器節點在不同時刻扮演不同的角色,如系統初始化過程中傳感器節點需要等待四個密鑰的輸入,在基站工作模式下需要分發密鑰協議相關包,在終端節點工作模式下需要接受密鑰協議包和采集數據并且發送給基站,因此中心控制器根據節點的工作狀態選擇信號,重構為不同的工作模式。中心控制器的工作模式有:初始化工作模式,基站工作模式和終端節點工作模式。
4.4 TPM模塊
4.4.1 TPM模塊總體設計
TPM模塊總體設計圖如圖10:主要包含模式選擇控制器,RC5加密模塊,MD5模塊,比較器模塊,隨機數產生器模塊,篡改響應模塊,密鑰存儲區。
圖8 TPM結構圖
4.4.2 模式選擇控制器
模式選擇控制器根據中心控制器的模式選擇命令,配置TPM成相應的工作模式后進入正常工作狀態。
4.4.3 RC5加密模塊
本系統用硬件實現了RC5-16/1/4,該模塊的為了提高加解密速率采用了流水線的設計方法,如圖11所示,首先輸入32位密鑰,22個周期之后擴展密鑰計算完成,輸入32位的明文,經過運算得到32位的密文。
圖9 RC5加密模塊
4.4.4 MD5模塊
MD5模塊(圖12)主要由三部分構成:數據讀入模塊,數據讀出模塊和數據處理模塊。
圖10 MD5模塊
4.5 外圍模塊
外圍硬件電路的設計使用了三個Xilinx提供的Picoblaze核,系統總體結構圖如圖13所示。
圖11 外圍電路設計圖
5 測試方案
5.1 密鑰管理協議測試方案
為了驗證系統的密鑰管理協議中在測試密鑰管理協議時,我們從以下幾個方面驗證:
a) 四個密鑰和ID基的注入正確
四個密鑰和ID基是后面密鑰協議相關包運算的原始數據,故如果可證明后面的結果正確則可得證前面的結果正確
b) 驗證K子的正確性
因為初始包的數據是經過K子加密后的結果,為了驗證 K子的正確性,我們查看下一步的初始包的數據正確與否即可得知。
c) 驗證初始包的正確性
為了驗證初始包的正確性,在電腦上接上一個無線收發模塊,用來接受節點和基站發送出來的消息。然后用已知的KT0和K0來算出相應的初始包的內容,和接受到的數據進行比對即可得知初始包的內容正確與否。
d) 驗證TESLA 密鑰包的正確性
接受到兩次的TESLA包,算出Ki,然后用算出相應的TESLA 密鑰包,和接受到的密鑰包進行比對,即可知道密鑰包分發正確與否。
e) 驗證通信密鑰Ki正確更新
為了驗證通信密鑰的正確更新,可以在不同時段使終端節點發送相同的數據,如果接受到的數據不同則說明密鑰發生了更新,為了驗證密鑰的正確更新則算出兩個時段發送的數據的正確內容,和接受到的內容進行比較即可知道通信密鑰是否正常更新。
5.2 可重構功能的測試方案
為了測試可重構功能,可以將原來網絡中的基站關閉,等待一段時間之后看網絡內是否有節點重構為基站,重構為基站后正常工作的驗證辦法同密鑰管理協議的測試方案。
5.3 可信平臺的測試方案
當發現敵手入侵時,clear信號為高,所有密鑰清零,為了驗證其正確性,以后發送的密鑰協議相關包用到的各種密鑰均為零,將計算結果和接受到的數據進行比對即可知道其正確與否
6 結束語
本系統創新性的將可信平臺理論和可重構機制引入WSN系統安全中,依托WSN通信協議和SPINS網絡密鑰管理協議,實現一種從點到面,點面結合的安全機制。系統方案不強調加解密算法的復雜性,著重于方案的靈活性,健壯性。
展望未來技術的發展,基于FPGA的動態可重構技術以及可重構密碼芯片理論,本系統還可以實現加解密算法的動態調整,工作模式的切換更加快捷,以適合不同情景下的安全需求。
責任編輯:gt
-
傳感器
+關注
關注
2548文章
50668瀏覽量
751979 -
FPGA
+關注
關注
1626文章
21665瀏覽量
601828 -
計算機
+關注
關注
19文章
7419瀏覽量
87714
發布評論請先 登錄
相關推薦
評論