摘要:介紹了無線傳感網絡的發展現狀和網絡應用的特點,詳細描述了時變加密技術的工作原理和在無線傳感網絡中的應用。針對時變加密密鑰在無線傳感網絡中容易出現丟失和誤碼,從而導致網絡中的感應節點與控制節點安全數據傳輸失效的缺點,提出了密鑰預傳輸的解決方案。該方法在不縮短節點壽命的前提下,大大提高了無線傳感網絡的安全性和節點數據傳輸的穩定性。
關鍵詞:WSN;時變加密;海明碼;哈希算法
0 引言
無線傳感器網絡(Wireless-Sensor-Network,WSN)由部署在監測區域內大量的廉價微型傳感器節點組成,通過無線通信方式形成的一個多跳的自組織的網絡系統,其目的是協作地感知、采集和處理網絡覆蓋區域中感知對象的信息,并發送給觀察者。無線傳感器網絡的研究起步于20世紀90年代末期。從21世紀開始,無線傳感器網絡引起了學術界、軍界和工業界的極大關注,美國和歐洲相繼啟動了許多關于無線傳感器網絡的研究計劃。特別是美國通過國家自然基金委、國防部等多種渠道投入巨資支持傳感器網絡的研究。傳感器技術、微機電系統、現代網絡和無線通信等技術的進步,推動了具有現代意義的無線傳感器網絡的產生和發展。無線傳感器網絡是一種“無處不在”的傳感技術,
它可以使用戶更加深入地了解和把握周圍的世界。具有隨機布設、自組織、環境適應等特點,因此在軍事、環境、醫療、家庭和其他商用領域有著廣闊的應用前景和很高的應用價值。
隨著相關技術的進步,無線傳感網絡的應用面越來越廣,隨之而來的是在不同場合中對數據安全的要求也越來越高。由于無線傳感網絡本身拓撲結構的特殊性和網絡節點構造的限制,應用于普通互聯網絡的對稱和非對稱數據加密方法已無法滿足無線傳感網絡數據安全的要求。需要根據網絡特點,選擇新的數據加密方法,以實現網絡的安全。
1 無線傳感網絡安全現狀
無線傳感網絡的節點主要由傳感模塊、運算處理模塊、無線傳輸模塊和電源模塊4部分組成。工作時將大量傳感器的節點分布于感興趣的區域,節點通過自組織方式快速形成一個無線網絡。每個節點都有自己控制的一個區域,通過感知設備,如溫度、濕度、聲音或光學設備,化學分析裝置,電磁感應裝置等,對周圍的物理環境進行監控,也可以通過配置一些專用的功能單元來實現與特定環境交互的功能。無線傳感器節點采用電池供電,由于受到體積、價格等因素的影響,電池的容量一般不是很大。傳感器節點個數多,成本要求低廉,分布區域廣,部署區域環境復雜,有些區域甚至人員不能達到,通過更換電池的方式來補充傳感器節點能源是不現實的。因此在傳感器網絡設計過程中,任何技術和協議的使用都要以節能為前提,設計有效的節能策略,延長網絡的生命周期已成為無線傳感器網絡的核心問題。網絡傳輸加密也必須采取節能的數據加密方法。
無線傳感器網絡系統具有嚴格的資源限制,需要設計低開銷的通信協議,但同時會帶來嚴重的安全問題。一方面,入侵者可以比較容易地進行服務拒絕攻擊;另一方面,無線傳感器網絡系統的資源嚴格受限,以及節點間自組織協調工作的特點,使其難以實現嚴密的安全防護。由于低成本的限制,一些無線傳感器網絡系統只能采用單頻率通信機制。入侵者通過頻率掃描的手段就可以很容易地捕獲無線傳感器網絡的工作頻率,通過在網絡中植入偽裝節點,采用各種手段發動攻擊。
目前常用的安全策略是使用時變密鑰加密的方法對無線傳感網絡的信息進行加密。時變加密就是連續的廣播信息單元在傳輸之前,使用一個從密鑰串中按一定的算法選取不同的密鑰對需要傳輸的信息單元進行加密。網絡中的傳感節點在不同的信息單元和不同的時間擁有的密鑰不同,通過使用單向的哈希算法生成一系列的密碼,一個根密碼值通過反復的哈希計算產生一系列的密鑰,密鑰系列以反向的順序用來對連續的數據包進行加密,這種方法可以產生加密機制。接收器可以通過對接收的密碼進行哈希計算,將計算的結果同老的密碼進行比較,如果與舊密碼相同,則密鑰有效,否則密鑰失效。這種機制保證密碼確實來自同一個源,單向的哈希算法保證接收器可以使用下一個密鑰,但不能偽造密鑰。工作原理如圖1所示。
當無線傳感網絡的節點分布時,通過靜態輸入或者通過密鑰管理模式對每個節點初始化密鑰,每一個節點都有相同的初始密鑰,在傳輸過程中,數據包使用根密鑰進行加密,下一個密鑰同數據包一同傳輸;接收器使用根密鑰對數據包進行解碼,并將密鑰的哈希算法值與舊密鑰進行比較,如果相同就將新密鑰替換舊密鑰,作為下一次數據包解碼的密鑰。這樣的密鑰解密使用的是對稱加密的方法,運算的強度大大小于非對稱加密算法。但由于密鑰的不固定性,使監聽和破譯的難度加大,因此可以很好地滿足無線開放數據傳輸同時要求低耗能的要求。
2 安全方案的改進
在傳感器網絡中,由于受環境噪聲、地面和建筑物的反射、多普勒效應和多徑等多種衰變效應的影響,傳感器信號通過無線信道傳輸的過程中很容易發生錯誤,使接收端接收到錯誤的信息。并且在無線傳感器網絡某些特殊的應用環境,必須保證數據傳輸的可靠性。同時時變加密方法也存在明顯的缺點,由于密鑰的連續性,要求每一次接收器都能夠收到正確密鑰,才能夠完成數據解密和更新密鑰。如果一個合法的接收器由于傳輸中的干擾而收到了錯誤的密鑰數據或者暫時的無法連接而失去了密鑰的更新操作。那么它就無法繼續解密數據和更新密鑰,節點將與整個網絡失去了聯系。
通過增大發送端的輸出功率可以提高數據傳輸的可靠性,但同時也提高了無線傳感網絡節點的能源功耗,這樣就減少了節點的使用壽命。如果通過編碼方式提高數據傳輸的可靠性,隨著糾錯位數的增加,編碼的長度會大大增加,數據包的編碼處理和解碼處理同樣需要增加節點的能耗。只有在對可靠性要求較高時,才可以考慮這種方案。但是通過對數據傳輸采用差錯補救控制,在無需太多增加編碼復雜程度的條件下,可以將數據傳輸錯誤造成的損失降到最低。
通過研究,知道節點間傳輸數據包的數據分為2部分,一部分為業務數據,一部分為密鑰數據。業務數據傳輸中出現一次錯誤,可以放棄這一數據,不會影響傳輸節點的工作,但是如果密鑰數據出現錯誤,節點就會失去下一次解密的密鑰,結點就會與整個網絡失去聯系。因此可以在傳輸數據包中,通過增加再后一次解密的密鑰Ki+1字節,使接收節點在開始數據傳輸后始終保證擁有本次解密的K值和下一次解密的Ki+1值,當本次數據傳輸發送錯誤后,可以丟棄本次數據包,等待下一數據包成功收到后直接使用密鑰Ki+1進行解密,減少一次數據包錯誤造成節點失去和源節點聯系的可能性,降低節點對單一密鑰的依賴,改進的編碼原理如圖2所示。
3 結語
通過增加1次密鑰的方法可以增強時變加密方法的薄弱環節,減少接收節點對一次密鑰的依賴。并可通過此種方式進行擴展,增加Ki+2字節,使接收節點同時擁有第2次解密的密鑰,這樣就可以防止2次數據包錯誤對節點的影響。在不增加傳輸數據字節和編碼耗費的情況下,達到節點安全工作的目的。由于隨機錯誤連續出現大概率大大低于1次出現的概率,因此這種方案可改善無線傳感網絡節點的數據傳輸安全和節點連接的可靠性。