蘇耀鑫 高秀峰 盧 昱 喬文欣
(軍械工程學(xué)院信息工程系 石家莊 050003)
無線傳感器網(wǎng)絡(luò)[1~2](Wireless Sensor Networks,WSN)是由大量的能源有限,體積小并且價格低廉,具有監(jiān)測數(shù)據(jù)和傳輸數(shù)據(jù)的傳感器節(jié)點組成的。這些節(jié)點大都是利用人工安置或者是隨機(jī)空投的方式部署在無人值守,環(huán)境情況不明的區(qū)域,節(jié)點之間利用無線通信自組織的方式組成一個多跳的分布式網(wǎng)絡(luò)系統(tǒng)[3]。
因為網(wǎng)絡(luò)中傳感器節(jié)點地理位置的特殊性,部署之后節(jié)點具體拓?fù)湫畔o法獲取,而且在此后傳輸數(shù)據(jù)中,節(jié)點之間的位置信息,以及節(jié)點自身的能量也會發(fā)生變化。因此,派生出最明顯的一個問題就是網(wǎng)絡(luò)中節(jié)點的安全問題。
為了能很好地為無線傳感器網(wǎng)絡(luò)提供安全機(jī)制,就必須分析網(wǎng)絡(luò)的安全需求[4]。無線傳感器網(wǎng)絡(luò)的安全需求分為數(shù)據(jù)安全和網(wǎng)絡(luò)安全。
數(shù)據(jù)安全主要包括:1)機(jī)密性:通信雙方在信息交流的時候,確保不被攻擊者竊取,并且經(jīng)密鑰加密的密文如果被攻擊者竊取后無法解密為有用的明文。2)新鮮性:由于無線傳感器網(wǎng)絡(luò)節(jié)點信息測量以及時間同步的特點,確保收到的是最新的測量數(shù)據(jù)。3)完整性:指消息在傳遞過程中不被篡改。
網(wǎng)絡(luò)安全主要包括:1)訪問安全:訪問控制[5~6]機(jī)制讓基站有能力決定某級別的訪問者獲取對應(yīng)級別的資源,可以阻止非法用戶竊取數(shù)據(jù)。2)認(rèn)證安全[7]:任何節(jié)點對通信之前都要進(jìn)行認(rèn)證,防止攻擊節(jié)點冒充合法節(jié)點發(fā)送數(shù)據(jù)。3)定位安全:無線傳感器網(wǎng)絡(luò)部署后,需要獲取準(zhǔn)確的節(jié)點定位[8]信息。4)管理安全:主要是致力于引導(dǎo)網(wǎng)絡(luò)從分散獨立的節(jié)點協(xié)作組成可通信的安全網(wǎng)絡(luò),并且維持網(wǎng)絡(luò)中通信密鑰的更新。
安全協(xié)議SPINS是目前應(yīng)用較廣泛的一種WSN安全通信方案。許多研究工作以SPINS作為基礎(chǔ)展開,但是SPINS設(shè)計上也存在著過于依賴基站、缺乏密鑰更新等一些不足。針對協(xié)議存在的缺陷,提出了改進(jìn)方案,在一定程度上提高了協(xié)議的安全性。
本協(xié)議中涉及到的符號如表1所示。
SPINS協(xié)議[9]是由兩個子協(xié)議組成,分別是網(wǎng)絡(luò)安全加密協(xié)議(Secure Network Encryption Proto?col,SNEP)和基于時間的高效容忍丟包的流認(rèn)證協(xié)議(micro Timed Efficent Streaming Loss-tolerant Au?thentication Protocol,μ TESLA[10])。
表1 協(xié)議中涉及的符號及含義
SPINS協(xié)議[9]是由兩個子協(xié)議組成,分別是網(wǎng)絡(luò)安全加密協(xié)議(Secure Network Encryption Proto?col,SNEP)和基于時間的高效容忍丟包的流認(rèn)證協(xié)議(micro Timed Efficent Streaming Loss-tolerant Au?thentication Protocol,μ TESLA[10])。
SNEP協(xié)議[11]是一個高效的通信協(xié)議。通信雙方共享一個計數(shù)器(Counter,CTR),利用加密密鑰和計數(shù)器值共同加密數(shù)據(jù)包的方式,不僅保證了數(shù)據(jù)的機(jī)密性,還實現(xiàn)了語義安全。即同一數(shù)據(jù)包每次加密得到的密文是不同的,這是因為將雙方共享的計數(shù)器值作為加密的初始化向量(initial vector,IV),故產(chǎn)生不同的密文。此外,SNEP協(xié)議采用消息認(rèn)證碼(Message Authentication Code,MAC)[12]方式對加密后的密文以及計數(shù)器值結(jié)合運(yùn)算以實現(xiàn)點到點的身份認(rèn)證以及消息認(rèn)證。
假設(shè)兩個節(jié)點A,B需要建立通信,故與基站協(xié)商臨時會話密鑰,具體協(xié)商流程如圖1所示。
圖1 SNEP協(xié)議會話密鑰協(xié)商流程
其中 NA,NB表示節(jié)點A,B產(chǎn)生的隨機(jī)數(shù);IDA,IDB分別表示節(jié)點A,B的身份標(biāo)識;SKAB表示基站生成的認(rèn)證密鑰與消息認(rèn)證密鑰集合。
SNEP協(xié)議[13]利用對稱加密體制的身份認(rèn)證方式,是一種基于預(yù)共享密鑰的認(rèn)證技術(shù)。但是SNEP協(xié)議在傳統(tǒng)的預(yù)共享密鑰技術(shù)的基礎(chǔ)上進(jìn)行了改進(jìn)。摒棄了任何兩點之間都共享密鑰的方式,將傳統(tǒng)網(wǎng)絡(luò)中的KDC方案與無線傳感器網(wǎng)絡(luò)相結(jié)合,由基站擔(dān)任可信密鑰分配中心(Key Distribu?tion Center,KDC),每個節(jié)點與基站之間共享一個主密鑰,只有兩個節(jié)點在需要通信的時候才與基站協(xié)商共享密鑰。改進(jìn)了傳統(tǒng)預(yù)共享密鑰方法對節(jié)點資源要求過高的缺點。
但是這個協(xié)議本身存在著一些問題。由圖1所示,節(jié)點的會話密鑰協(xié)商都是通過基站來完成的,這個過程過分的依賴基站,如果一旦基站被俘獲,則整個網(wǎng)絡(luò)就會被攻破。即使基站認(rèn)為是絕對安全的,在通信的過程中,由于節(jié)點的數(shù)量過于龐大,基站也會成為通信的瓶頸。此外,無線傳感器網(wǎng)絡(luò)是一種無線自組織網(wǎng)絡(luò),節(jié)點收集的數(shù)據(jù)信息通過多跳的方式傳遞到基站。在這個過程中,中間節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)包不會進(jìn)行任何的數(shù)據(jù)認(rèn)證,只有數(shù)據(jù)包到達(dá)基站時才會被解密認(rèn)證。因此,如果一個惡意節(jié)點發(fā)送的虛假數(shù)據(jù)包,只有到達(dá)基站時才會被發(fā)現(xiàn)。這無疑是加重了基站的負(fù)擔(dān),并且基站很容易受到DoS攻擊。針對以上問題,本文提出一種基于分簇的SNEP協(xié)議改進(jìn)方案。
3.3.1 方案的總體設(shè)計
針對原協(xié)議存在的過于依賴基站、易受到DoS攻擊等缺陷,方案提出對無線傳感器網(wǎng)絡(luò)進(jìn)行節(jié)點分簇,選取能量較高,計算能力較強(qiáng)的節(jié)點作為簇頭節(jié)點,簇頭節(jié)點擔(dān)任數(shù)據(jù)包第一道認(rèn)證關(guān)卡,向簇內(nèi)節(jié)點分發(fā)通信密鑰,減輕了基站的任務(wù)量,同時也預(yù)防了惡意節(jié)點對基站發(fā)起的DoS攻擊?;窘y(tǒng)一管理簇頭節(jié)點,并將自己部分任務(wù)下發(fā)至簇頭節(jié)點,起到任務(wù)調(diào)度的中樞作用。網(wǎng)絡(luò)具體的網(wǎng)絡(luò)拓?fù)淙鐖D2所示。
圖2 基于分簇的無線傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
3.3.2 方案的詳細(xì)設(shè)計
基于分簇的無線傳感器網(wǎng)絡(luò)節(jié)點之間進(jìn)行密鑰協(xié)商的情況可分為兩種。
1)簇內(nèi)節(jié)點協(xié)商密鑰通信
如圖2所示,如果節(jié)點A要求與節(jié)點B進(jìn)行通信,則在密鑰協(xié)商時,由簇頭節(jié)點直接擔(dān)任密鑰生成及分發(fā)任務(wù),無需通過基站。這樣是將基站的一部分任務(wù)下放到簇頭節(jié)點,減少基站的通信資源消耗。如果簇頭節(jié)點被俘獲,網(wǎng)絡(luò)中被攻破的也只是本簇的節(jié)點信息,不至于危害全網(wǎng),降低的網(wǎng)絡(luò)的風(fēng)險性。
在網(wǎng)絡(luò)布置初期,每個節(jié)點都保存一個與基站共享的主密鑰。在節(jié)點分簇初始化階段,基站根據(jù)簇頭節(jié)點信息,將本簇的所有節(jié)點的主密鑰復(fù)制并保存到簇頭節(jié)點中,簇頭節(jié)點生成一個簇內(nèi)全局密鑰,用與簇頭節(jié)點共享的主密鑰加密發(fā)送至各個節(jié)點并保存,如果簇內(nèi)節(jié)點需要通信,直接利用共享的全局密鑰進(jìn)行加密通信。具體的工作路程如圖3所示。
其中NH,IDH分別表示的簇頭節(jié)點隨機(jī)生成的隨機(jī)數(shù)和簇頭節(jié)點的標(biāo)識;KHS指的是簇頭節(jié)點與基站共享的主密鑰;M指的是簇內(nèi)所有節(jié)點與基站的共享主密鑰列表,由基站下發(fā)至簇頭節(jié)點H并保存;KH是簇頭節(jié)點生成的簇內(nèi)節(jié)點全局密鑰,由簇頭節(jié)點利用普通節(jié)點與基站共享的主密鑰進(jìn)行加密后分發(fā)至各個節(jié)點并保存。
圖3 簇頭節(jié)點分發(fā)全局密鑰流程圖
如圖3所示,節(jié)點B需要與節(jié)點A建立通信時,在發(fā)送信息中加入簇頭節(jié)點的身份標(biāo)識,節(jié)點A可以辨認(rèn)節(jié)點B是否與自身處于同一簇內(nèi)。如果處于同一簇內(nèi),則利用簇內(nèi)全局密鑰KH直接建立通信。
2)簇間節(jié)點協(xié)商通信
如上所述,通信節(jié)點同屬于同一個簇內(nèi)時,利用簇頭節(jié)點生成全局密鑰建立通信。如果通信節(jié)點不屬于同一簇時,則會話密鑰協(xié)商過程由簇頭節(jié)點和基站共同配合實現(xiàn)。具體工作流程如圖4所示。
圖4 簇間節(jié)點會話密鑰協(xié)商流程
如圖2所示,節(jié)點A和節(jié)點C位于不同簇內(nèi),節(jié)點A先將請求信息利用簇內(nèi)全局密鑰KH1加密后發(fā)送至簇頭節(jié)點H1,H1對數(shù)據(jù)包進(jìn)行驗證,如果是惡意數(shù)據(jù)包,直接丟棄。如果驗證合法,則將自身身份標(biāo)識IDH1以及產(chǎn)生的隨機(jī)數(shù)NH1與解密的明文合并后發(fā)送至節(jié)點C。節(jié)點C將自己的身份標(biāo)識IDC與產(chǎn)生的隨機(jī)數(shù)NC同接收到的請求信息合并,并用簇內(nèi)全局密鑰KH2加密后發(fā)送至簇頭節(jié)點H2,H2對數(shù)據(jù)包進(jìn)行驗證,如果驗證不合法,則直接丟棄數(shù)據(jù)包;如果驗證合法,則將自己的身份標(biāo)識IDH2與接收信息進(jìn)行合并,并用與基站共享的主密鑰KSH2進(jìn)行加密后發(fā)送到基站S。基站計算好會話密鑰SKAC后,分別下發(fā)至節(jié)點A與節(jié)點C,具體發(fā)送方式與原協(xié)議類似,在此不再贅述。
1)基站依賴性 簇頭節(jié)點分擔(dān)基站部分任務(wù),降低了網(wǎng)絡(luò)對基站的依賴性。簇內(nèi)節(jié)點需要通信,只在簇內(nèi)協(xié)商密鑰,無需通過基站,降低了對基站的依賴性,也減少了基站通信的資源消耗。如果簇頭節(jié)點被俘獲,網(wǎng)絡(luò)中被攻破的也只是簇內(nèi)節(jié)點,不會影響整個大網(wǎng)絡(luò)的運(yùn)行,提高了網(wǎng)絡(luò)的安全性。
2)防范DoS攻擊 簇頭節(jié)點擔(dān)任中間跳認(rèn)證,降低惡意節(jié)點對基站的DoS攻擊。在簇間節(jié)點建立通信時,數(shù)據(jù)包利用簇內(nèi)全局密鑰加密,簇頭節(jié)點對其進(jìn)行認(rèn)證,防止虛假數(shù)據(jù)包直接傳送至基站才被發(fā)現(xiàn),減少了基站的任務(wù)量,也有效地降低了DoS攻擊的可能性。
3)密鑰更新 簇內(nèi)全局密鑰由簇頭節(jié)點定期更新,提高網(wǎng)絡(luò)安全性。簇內(nèi)全局密鑰是由簇頭節(jié)點生成,不同時段對其進(jìn)行更新并且分發(fā)至各個節(jié)點,排除密鑰長時間不更新而引發(fā)的安全隱患。
在網(wǎng)絡(luò)中,節(jié)點的身份標(biāo)識是2 Byte,產(chǎn)生的隨機(jī)數(shù),初始化向量IV是4 Byte,與基站共享的主密鑰、加密密鑰、消息認(rèn)證密鑰,以及簇頭節(jié)點生成的全局密鑰是8 Byte。
1)計算開銷 簇頭節(jié)點負(fù)擔(dān)基站部分密鑰分發(fā)任務(wù),在簇內(nèi)使用全局密鑰,分簇部署初始化時由簇頭節(jié)點統(tǒng)一分發(fā),舍棄原有的一次一密的方式,降低了簇頭節(jié)點的計算資源消耗,延長節(jié)點使用周期。
2)存儲開銷 建立網(wǎng)絡(luò)分簇機(jī)制,假設(shè)網(wǎng)絡(luò)共分為N個簇,每個簇內(nèi)平均有M個節(jié)點(M遠(yuǎn)小于N)。原協(xié)議中基站存儲的主密鑰有8M*N Byte,普通節(jié)點有8 Byte。改進(jìn)后的方案中基站存儲的只是與簇頭節(jié)點共享的主密鑰8N Byte。簇頭節(jié)點存儲開銷為8M Byte,普通節(jié)點的存儲開銷為16 Byte。
3)可擴(kuò)展性 如果傳感器節(jié)點數(shù)量增加,增加的節(jié)點分散至各個簇內(nèi),基站、簇頭節(jié)點需要存儲的密鑰數(shù)量不會發(fā)生明顯改變。對節(jié)點的計算能力、通信負(fù)荷也都是確定的。故改進(jìn)方案是可擴(kuò)展的。
綜上,改進(jìn)后的方案對基站的計算、存儲需求降低,網(wǎng)絡(luò)內(nèi)節(jié)點計算與存儲開銷沒有明顯增加,可擴(kuò)展性好。
隨著無線傳感器網(wǎng)絡(luò)的研究與應(yīng)用,安全問題逐漸成為備受關(guān)注的話題。本文介紹了無線傳感器網(wǎng)絡(luò)的特殊性及網(wǎng)絡(luò)自身安全需求。對目前比較成熟的,較為經(jīng)典的無線傳感器網(wǎng)絡(luò)安全框架協(xié)議SPINS進(jìn)行了重點深入的研究,針對協(xié)議本身存在的過于依賴基站、易受到DoS攻擊等問題,提出了改進(jìn)方案,并進(jìn)行了相關(guān)性能的分析。但改進(jìn)的協(xié)議與實際應(yīng)用還有很大差距,協(xié)議中加密算法的選取等問題都是以后的研究方向。
[1]陳林星.無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2009:300-330.CHEN Linxing.Wireless sensor network technology and reference[M].Beijing:Publishing House of Electronics In?dustry,2009:300-330.
[2]劉鳴.無線傳感器網(wǎng)絡(luò)技術(shù)發(fā)展分析[J].信息通信.2016(6):286-287.LIU Ming.Development of Wireless sensor network tech?nology[J].Information&Communications,2016(6):286-287.
[3]Shah M D,Gala S N,Shekokar N M.Lightweight authen?tication protocol used in wireless sensor network[C]//Cir?cuits,Systems,Communication and Information Technol?ogy Applications(CSCITA),2014 International Confer?ence on.IEEE,2014:138-143.
[4]王曙光,公偉.無線傳感器網(wǎng)絡(luò)安全性研究[J].信息技術(shù)與信息化,2014(8):52-54.WANG Shuguang,GONG Wei.Summarization on Wire?less Sensor Networks Security Research[J].Information Technology and Informatization,2014(8):52-54.
[5]汪明偉,汪烈軍,謝衛(wèi)民.無線傳感器網(wǎng)絡(luò)訪問控制的研 究 進(jìn) 展[J].計 算 機(jī) 應(yīng) 用 研 究 ,2013,30(10):2896-2902.WANG Mingwei,WANG Liejun,XIE Weimin.Survey of access control in wireless sensor networks[J].Application Research of Computers,2013,30(10):2896-2902.
[6]ZHU Wentao.Node replication attacks in wireless sensor networks:bypassing the neighbor-based detection scheme[C]//Proc of the International Conference on Network Computing and Information Security,2011:156-160.
[7]莊學(xué)波,周治平.無線傳感器網(wǎng)絡(luò)節(jié)點身份的分布認(rèn)證研究[J].計算機(jī)工程與應(yīng)用,2015,51(6):89-93.ZHUANG Xuebo,ZHOU Zhiping.Research of distributed authentication for wireless sensor networks node identity[J].Computer Engineering and Applications,2015,51(6):89-93.
[8]楊祥,王偉,陸超澤.無線傳感器網(wǎng)絡(luò)安全定位算法研究 進(jìn) 展[J].計 算 機(jī) 應(yīng) 用 與 軟 件 ,2013,30(11):221-226.YANG Xiang WANG Wei,LU Chaoze.Research Progress In Security Localisation Algorithm for Wireless Sensor Net?workk[J].Computer Applications and Software,2013,30(11):221-226.
[9]Adrian Perrig,Robert Szewczyk,Victor Wen.SPINS:Secu?rity Protocols for Sensor Networks[J].Wireless Network,2002,8(5):521-534。
[10]陳驍,郭達(dá)偉,張國慶,等.μTESLA廣播認(rèn)證協(xié)議優(yōu)化研究[J].傳感技術(shù)學(xué)報,2009,22(11):1623-1627.CHEN Xiao,GUO Dawei,ZHANG Guoqing,et al.Re?search on Optimization ofμ TESLA Broadcast Authenti?cation Pro-tocol[J].Chinese Journal of Sensors and Ac?tuators,2009,22(11):1623-1627.
[11]Perrig A,Szewczyk R,Tygar J D,et al.SPINS:Security protocols for sensor networks.Wireless Networks Journal,2002,8(5):521-534.
[12]Ren K,Yu S,Lou W,et al.Multi-user broadcast authen?tication in wireless sensor networks[J].Vehicular Tech?nology, IEEE Transactions on, 2009, 58 (8) :4554-4564.
[13]SHEN Mingyu,XUE Wei.Security analysis of SNEP pro?tocol based on CK model[J].Computer Engineering and Applications,2012,48(25):118-121.