蔡志偉,江 汀,李銀勇,李 佳,褚偉銘
(中國人民解放軍理工大學通信工程學院 南京 210007)
由于傳感器網絡具有自組織、無線通信等特點,被運用于軍事通信、地震等緊急情況下的通信。隨著傳感器廣泛地運用于各種領域,其網絡的安全性日益被關注。傳感器網絡的無線通信的特點,比固定網絡面臨著更多的安全問題,構建良好的安全路由協議是其必要的一種手段。傳統路由協議的主要設計目標是如何提供更好的QoS和高效利用網絡帶寬,安全節約的問題被放到了次要的地位。本文根據傳感器網絡的特點,提出一種基于CPK和能量的安全路由算法。
無線傳感器網絡(wireless sensor network,WSN)是一種特殊類型的網絡,其約束條件很多 (相對于計算機網絡),這些約束條件加劇了網絡的安全問題[1]。參考文獻[2]列出了WSN在網絡協議棧的各個層次可能受到的攻擊和主要的防御手段,如表1所示。
本文研究融合網絡安全路由機制,因此重點分析網絡層面臨的安全威脅。針對網絡層的攻擊主要有以下幾種[3~5]。

表1 傳感器網絡各層攻防手段
·選擇性的轉發,基于多跳傳輸的路由機制,中間節點需要忠實地轉發數據包。但處在數據傳輸路徑上的惡意節點在轉發信息包時會有意丟棄,造成信息包的丟失。
·黑洞攻擊,就是通過一個惡意節點吸引一個特定區域的幾乎所有的數據流量。這個節點使路由算法認為數據經過它能達到最優的性能。黑洞形成后,惡意節點可以實施其他攻擊,比如選擇性轉發攻擊。
·偽造、篡改或者重放路由信息,攻擊者通過改變原路由,在網絡中形成路由環路,創造不存在的路由,吸引或抑制網絡流量,縮短或延長路由長度,產生虛假錯誤消息,延長端到端的時延,分割網絡等。
傳統路由協議的主要設計目標是如何提供更好的QoS和高效利用網絡帶寬,節約能量的問題被放到了次要的地位。
針對不同的網絡應用,研究人員提出了不同的路由協議。到目前為止,路由協議分類仍然不具有確定性,參考文獻[6]總結了不同的分類方法如圖1所示。有時一種協議具有多種屬性,可以同時分屬于多類。
傳感器網絡的安全需求主要表現為以下幾個方面。
·數據機密性:無線通信的廣播特性使節點間傳輸的數據包很容易被截聽。機密性的含義是即使攻擊者截獲節點間的物理通信信號仍然不能破解其所攜帶的具體內容。
·數據完整性:在WSN通信環境下,惡意節點極容易對傳輸的數據進行改動。完整性要求網絡節點收到的數據包在傳輸過程中未被插入、刪除、篡改等,即保證收到的消息和源方發出的消息是完全一致的。
·數據真實性:數據的真實性需求主要體現在點對點的消息認證和廣播認證。前者指任何一個節點在收到來自另一節點的消息時,能夠核實這個消息的來源真實性,不是被偽造或假冒的。
傳感器網絡專門設立了安全管理中心用來實現密鑰的生成與分配。安全管理中心主要作用就是負責用戶的注冊和認證,為每個新接入網絡的節點分配ID。如圖2所示,節點在通信前以現場接觸的方式到安全管理中心獲取橢圓曲線參數、公鑰矩陣、自己的私鑰以及身份標識ID,通過這些參數節點就能得到全網的公鑰和自己的私鑰。
傳感器節點需要與其他節點通信時,只要知道其ID就可以進行數據加解密、數字簽名等操作。若節點需要發送數據給節點i時(IDi),節點需要先計算公鑰。首先節點將節點的身份標識IDi通過標識映射算法Functionmap得出值data:


圖1 WSN路由協議分類

圖2 密鑰分配
然后在公鑰矩陣PKM中找出與data對應的元素A:

最后,組合這些元素A生成節點i的公鑰PKi:

節點通過得到公鑰 PKi對數據進行加密處理,數據包到達節點i時,節點i通過自己的私鑰對數據包進行解密處理。
該體制的優點就是網絡擴展性很好,容易實現新節點的加入。新節點只需要到安全管理中心獲取自己的私鑰、公鑰矩陣、標識映射算法以及使用的橢圓曲線的一系列參數即可獲得加入網絡的資格,而其他節點不需要進行額外的通信開銷。
在LEACH中采取等概率的方式進行簇頭選擇,這樣會導致網絡中節點的能量分布不均。為了延長網絡壽命,本協議是以能量為依據進行簇頭選擇,以此來保證網絡能量的均衡,其基本思想是簇頭的選擇盡量靠近低能量節點,避免低能量節點能量消耗過快退出網絡。
在簇頭選舉之初,網絡中節點交換自己的剩余能量,首先廣播自己的能量包。能量報文格式如圖3所示。

圖3 能量報文格式
并在每個節點內設置兩個參數:N為收到廣播包的總數,L為收到廣播包能量小于自己的數目。根據參考文獻中指出的簇優化方案,當每個簇節點接近20個左右時,網絡壽命最長,故在本算法中盡量使得每個簇接近20個,即網絡可分為N/20個簇。
假設節點i在時間t其能量為Ei(t),每次收到廣播包的能量Ej(t),若 Ej(t) 通過簇頭初選之后,簇頭節點發布自己為簇頭的消息,非簇頭節點根據收到簇頭消息中的能量指示加入該簇頭,為了保證安全性,在加入簇頭階段時,雙方要進行身份認證。當節點經過身份認證后,發布入簇消息,然后進行時隙分配。 節點確定可以成為簇頭之后: ·生成隨機數NHead,用自身私鑰SKHead對廣播消息BHead加密,得到 MSG=DSK(BHead+NHead); ·候選簇頭廣播消息BHead、MSG和自己的ID; ·等待節點加入消息。 如圖4所示,其為簇頭節點進行認證的步驟。 圖4 簇頭節點認證步驟 上述步驟可以看出,當非簇頭節點使用簇頭的公鑰解密密文MSG時,如果得不到原明文,則證明簇頭并沒有使用簇頭節點的私鑰加密,從而判斷來源不真實,實現了核實發送者的功能;如果報文遭他人篡改,則非簇頭節點解密密文MSG時,不能得到可閱讀的明文,從而實現了報文的完整性驗證功能。 在數據傳輸階段,普通節點采集監測地域的數據,然后把這些數據上傳給簇頭節點。簇頭節點將收集到的數據進行融合處理,得到用戶所需的信息,然后沿路由傳輸給用戶。由于傳輸的信息均是用戶的敏感信息,為了保證數據的機密性,需要對數據進行安全加密處理,其處理流程如下。 節點A在向節點B發包之前,對報文進行如下處理。 第一步,節點A首先根據節點B的ID組合出B的公鑰PKB,使用PKB加密數據。加密計算式如式(4)所示: 其中EnMsg表示加密后的密文;Msg表示加密前的明文;PKB表示簇頭節點的公鑰。 圖5 數據的安全傳輸 第二步,對密文進行報文摘要運算Fone-way后得到報文摘要MD,如式(5)所示,將簽名的報文摘要附加在密文EnMsg的尾端等待發送。 節點B收包之后,進行如下處理。 第一步,節點B收包后,首先從數據包中分離出密文EnMsg和報文摘要MD。 第二步,對報文EnMsg’進行報文摘要運算得到報文摘要 MD’: 比較MD與MD’,一致則消息完整、真實,不一致則消息被人篡改。 第三步,節點B使用其私鑰SKB、計數器C的值,解密密文 EnMsg,獲取明文Msg。 其具體的傳輸流程如圖5所示。 本文采用NS2仿真工具建立了網絡仿真模型,對改進算法和LEACH路由算法進行了仿真和性能比較。模擬將100個節點隨機分布在(100×100)的空間中,SINK節點的位置為(0,0)。所有的節點都是靜止的。帶寬設置為1 Mbit/s,消息的長度為500 byte,發送與接收的時延均為25 s,每個節點的初始能量相同,為2 J。 指標主要有3個:網絡的穩定周期以及網絡的生存期。其中網絡穩定周期是指傳感器網絡啟動到第一個節點能量耗盡的時間。 圖6 網絡生存期 圖6 顯示了兩種協議的網絡生命周期。從中可以看出,第一個節點的死亡時間,BECPK協議要晚于LEACH,網絡穩定周期比LEACH要長,全部節點死亡時BECPK比LEACH多運行了31輪,網絡生存期要比LEACH要長。這說明,新協議加入了安全機制和能量計算,雖然造成了一定的能量消耗,但是由于可以使能量損耗更加均勻地分布到所有的節點中,避免了單個節點因能量損耗過大而過早死亡,從而延長了網絡的生存期。本文的仿真場景僅包含100個節點,當WSN網絡規模更大時,網絡的性能提升會更好。 本文提出了適用于基于能量和組合密鑰的安全路由算法。本算法借鑒鄰近節點信息交換的思想,在成簇過程中與探測范圍內的節點交換能量信息,保護低能量節點,有效延長了網絡的穩定周期,并且加入了基于CPK的安全機制,能夠在一定程度上防御有害節點的入侵。該算法具有分布式算法的優點,無需任何全局信息和地理位置信息,因此有很好的可擴展性。 1 李善倉,張克旺.無線傳感器網絡原理與應用.北京:機械工業出版社,2008 2 趙海霞.無線傳感器網絡安全路由研究.國防科學技術大學碩士學位論文,2005 3 Wood A,Stankovic J.Denial of service in sensor networks.IEEE Computer,2002,35(10):54~62 4 Yu B,Xiao B.Detecting selective forwarding attacks in wireless sensor networks.In:Proceedings of the 2nd International Workshop on Security in Systems and Networks,Greece,2006 5 Newsome J, Shi E, Song D, et al.The sybil attack in sensor networks analysis and defenses.In:Proceedings of Third Int'1 Symposium on Information Processingin SensorNetworks,Berkeley,2004 6 嚴國強.無線傳感器網絡路由協議研究.蘭州西北工業大學碩士學位論文,2007 7 何美紅,徐成謙,張東良.基于NS2的LEACH協議仿真與分析.電子測量技術,2009,32(1):40~42
3.3 數據穩定傳輸





4 仿真實驗

5 結束語