摘 要:無線傳感器網絡具有廣泛的應用價值,而安全問題是無線傳感器網絡中的核心問題。文章著重研究密鑰管理問題,提出一種隨機密鑰預分布模型,在密鑰、路由方面改進了算法,增強了無線傳感器網絡的抵抗能力。
關鍵詞:無線傳感器網絡;密鑰管理;算法
前言
無線傳感器網絡是由大量密集分布的微型自主傳感器節點按照自組織方式構成的無線網絡,它具有易部署、成本低廉、靈活方便等優勢。然而由于傳感器節點各項資源嚴重受限,幾乎沒有安全防護的功能;并且,自組織網絡結構也無法提供相應的安全保障,因此,安全的傳感器網絡實現起來非常困難,本文將針對無線傳感器網絡密鑰管理技術進行研究。
1 無線網絡特點
1.1 無線網絡容易被竊聽、被篡改、被干擾。
1.2 無線信道帶寬小;信道誤碼率高。
1.3 網絡結構的差異性大,自組織網絡沒有固定的網絡結構。
1.4 移動設備的處理能力、存儲空間、通信帶寬、電源供應等嚴重受限。
1.5 移動設備不能提供足夠的安全防護。
2 無線網絡安全威脅
2.1 通信攔截:竊聽無線接口,對加密部分進行分析,試圖獲取通信內容;
2.2 身份假冒:偽裝合法用戶濫用網絡資源或者假冒接入網絡騙取用戶信息;
2.3 密碼攻擊:分析現有安全協議中存在的弱點,找出相應的攻擊方法來獲取通信內容;
2.4 泄漏隱私:通過無線通信尋找特定用戶的身份信息或者跟蹤特定用戶,破壞匿名性和不可跟蹤性;
2.5 信息篡改:有目的的插入、篡改或重傳在無線信道上傳輸的信息。
3 密鑰建立協議的評價標準
3.1 抗節點俘獲能力:攻擊者所俘獲的節點數目與因此所影響到的通信量占整個網絡通信量的比重。
3.2 抗節點復制能力: 攻擊者在獲得敏感數據后,是否可以在網絡中插入敵對節點。如果攻擊者復制節點并大規模插入,那么就有可能控制整個網絡。
3.3 節點撤銷:系統是否有能力從網絡中動態撤銷某些惡意節點。
3.4 可擴展性:隨著網絡規模不斷擴大,是否能確保協議的各項性能不被削弱。
4 隨機密鑰預分布模型
該模型中任何兩個節點之間都有一個獨立的共享密鑰。該模型只存儲與一定數量節點之間的相對獨立的共享密鑰對,保證節點之間的安全連通的。
4.1 密鑰預分配階段
每個節點獲取多個目標密鑰,這些密鑰都是從一個大的密鑰池里面隨機選擇的。
4.2 會話密鑰發現階段
任一對相鄰的節點開始尋找它們的密鑰,如果找到,就建立起節點間的安全鏈路。只要概率p足夠大,就可構成一個極高概率的密鑰共享圖。
4.3 Path-key 建立階段
在通信范圍中還存在一些沒有找到共享密鑰的節點,可通過兩跳或多跳已有的安全鏈路建立連接。節點A和B本來在通信范圍內,但A和B沒有找到會話密鑰,此時,A或B節點可生成一個密鑰并通過{A,C}、{B,C}傳送給B(或A),從而建立A與B之間的安全通信鏈路。由于得到一個連通的密鑰共享圖,每個源節點和它的鄰居節點必定能夠建立一條安全的路徑。
5 密鑰管理
因為WSN所有節點都從同一個密鑰池中抽取密鑰,所以其安全性不高。為了提高網絡的抗節點俘獲性能,可以在兩個節點間建立安全鏈路時設定q個共同密鑰,再用單向HASH(哈希)運算,將這些密鑰形成會話密鑰。若增加q的數量,攻擊者對其發動攻擊的難度將隨著q的增加成指數規律增大。為了保證安全連通率達到預定值,密鑰池大小需縮小,從而增加節點間有q個共同密鑰的概率,但密鑰池過小又會降低安全性。
針對該矛盾,本文借鑒了文獻中三密鑰的理念,即兩種密鑰在節點部署以前先存入所有節點中,并且由整個傳感器網絡所共享。第三種是網內生成簇密鑰,由該簇中所有節點所共享。
Kn(網絡密鑰):該密鑰由基站產生,節點使用這個密鑰加密數據,然后轉發到下一跳。
Ks(傳感器密鑰):該密鑰由基站產生,基站使用這個密鑰來解密和處理數據;簇頭使用該密鑰來解密數據并發送到基站。
Kc(簇密鑰):該密鑰由簇頭產生,該簇的節點使用這個密鑰來解密數據并轉發到簇頭。
5.1 密鑰計算
5.1.1 基站到節點的密鑰計算
基站使用私鑰Kn加密自己的交互式數據廣播系統IDBS、當前時間戳TS,基站產生一個隨機密鑰池S。消息包的結構為{IDBS,Kn,TS,MAC,S(Message)}。當傳感器節點收到信息時,使用Ks解密收到的消息。
5.1.2 節點到簇頭的密鑰計算
當節點發送消息包{IDN,Kn,TS,MAC,S(Message)}到簇頭時,先檢查其中的IDN,當ID與路由表中保存的ID匹配時,驗證MAC來確認消息包的私密性和完整性。若驗證未通過,丟棄掉數據包。
5.1.3 簇頭到基站的密鑰計算
基站從相鄰的簇頭那接收完數據后,檢查該節點的ID,再通過驗證MAC來確認其正確性和完整性。簇頭節點將它的ID添加到數據包中,其結構為{IDCL,Kn,[IDN,Kn,TS,MAC,S(Aggregation Message)]}
5.2 路由算法
本機制中,每個節點分配都一個唯一的ID。當完成網絡配置后,基站就構建一個含網絡中所有節點的ID表。該安全密鑰管理機制負責節點數據的收集,再轉發到簇頭節點,簇頭再融合這些數據,最終發送到基站。
5.2.1 節點路由算法
節點使用Kn加密數據,并將該數據傳送到簇頭;簇頭使用Kc解密數據包,并將它的ID添加到數據包中,再用Kn對其加密,然后轉發到基站。利用哈希函數Hash(Seed,Kc,Kn)求得Ki,cn。
第一步:如果節點i發送數據給簇頭,就跳轉到,進入到第二步,否則退出。
第二步:節點i向簇頭發出發送Kc的請求。
第三步:節點i計算加密密鑰Ki,cn。
第四步:節點i先加密數據,然后將其ID和TS放到加密好的數據中,再將它們發送給簇頭。
第五步:簇頭收到數據后,加上自己的ID,再轉發給基站。
第六步:進入第一步循環。
5.2.2 基站路由算法
第一步:基站先檢查有沒有必要廣播的消息。
第二步:如果有必要廣播,就對其進行加密,并廣播。
第三步:如果沒有必要廣播消息,就檢查簇頭節點有沒有數據發送過來。如果沒有,就跳到第一步。
第四步:如果簇頭有數據發送過來,就對數據進行解密。
第五步:檢查解密密鑰有沒有正確解密數據。如果解密后的數據出錯,就丟掉。
第六步:對正確解密出來的數據進行處理,還原傳感器節點的數據。
6 性能評價
6.1 安全連通率
任何兩個節點之間至少需要一個共享密鑰的概率p。假設密鑰池S中有w個密鑰,則p=1-(1-t/w)2(w-t+1/2)/(1-2t/w)(w-2t+1/2),密鑰環t增大、密鑰w減小都會提高節點的安全連通概率。但t不能過大,否則會占用過多的節點資源,w過小或w過大會使攻擊者人員在俘獲一定數量的節點后,獲得系統中絕大部分的密鑰,導致系統安全崩潰。
6.2 抗節點俘獲能力
比較傳感器網絡在給定被捕獲節點數的情況下,由這些節點導致的被敵人攻破的鏈路數來分析其抗節點俘獲能力。實驗結果如圖1所示。
7 結束語
本文對已有的密鑰基礎方案進行了研究,提出了更高效的解決方案。改進后的方案與原方案相比,提供了更好的節點抗捕獲能力,具有更好的網絡擴展性。
參考文獻
[1]丁翔翔.無線傳感器網絡安全協議的研究[D].南京航空航天大學,2008.
[2]楊金,肖德貴,羅娟.無線傳感器網絡三密鑰管理機制的研究[J].計算機工程與應用,2009.
[3]陶硯蘊,徐萃華,林家駿.無線傳感器網絡的安全性研究[J].計算機安全,2011.4.
作者簡介:邵雯(1981-),女,江蘇宜興,漢族,講師,大學本科,碩士,主要研究方向為應用。