摘 要:針對無線網(wǎng)絡(luò)中路由協(xié)議的安全問題進(jìn)行研究,分析了LEACH協(xié)議可能受到的攻擊,并提出了一種安全的LEACH協(xié)議(SLEACH),引入了節(jié)點(diǎn)間的安全認(rèn)證方案,對該方案通過BAN邏輯語言進(jìn)行了證明。通過信譽(yù)機(jī)制遏制內(nèi)部異常節(jié)點(diǎn)的自私行為。仿真結(jié)果顯示,SLEACH在性能上的影響是可以接受的。
關(guān)鍵詞:傳感器網(wǎng)絡(luò); 路由協(xié)議; 路由安全
中圖分類號:TP393.08 文獻(xiàn)標(biāo)志碼:A
文章編號:10013695(2008)09281303
Secure LEACH routing protocol in wireless sensor network
LIU Zhiyuan1,2
(1.Dept. of Computer, Huangshi Institute of Technology, Huangshi Hubei 435003, China; 2.College of Computer Science Technology, Huazhong University of Science Technology, Wuhan 430074, China)
Abstract:This paper analyzed the wireless network secure problem and proposed a secure LEACH routing protocol. It induced the secure authentication and used the BAN proving it. The reputation mechanism ensured that the selfish node would abide the protocol. The result of simulation shows that SLEACH has the acceptable affect.
Key words:sensor network; routing protocol; secure routing
近年來, 微電子技術(shù)和無線通信技術(shù)的進(jìn)步推動了低功耗、低價格、多功能傳感器的快速發(fā)展。傳感器技術(shù)正向著集成化、微型化、智能化、網(wǎng)絡(luò)化的方向發(fā)展。具有自組織和分布智能化的傳感器技術(shù)應(yīng)用于工業(yè)控制、軍事偵察、環(huán)境科學(xué)、醫(yī)療健康、空間探索、智能建筑等各種復(fù)雜環(huán)境進(jìn)行檢測、診斷、目標(biāo)定位和跟蹤。無線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSN)正是基于這種形式下發(fā)展起來的新技術(shù),已成為當(dāng)今世界工業(yè)界和學(xué)術(shù)界的研究熱點(diǎn)[1,2]。
由于工作環(huán)境和工作方式的限制,與傳統(tǒng)無線網(wǎng)絡(luò)相比,無線傳感器網(wǎng)絡(luò)有著不同的特點(diǎn),在研究應(yīng)用于無線傳感器網(wǎng)絡(luò)的各種技術(shù)時,考慮的關(guān)鍵問題是低能耗和低成本。路由和數(shù)據(jù)轉(zhuǎn)發(fā)是無線傳感器網(wǎng)絡(luò)通信的重要部分。然而,已有的適用于傳感器網(wǎng)絡(luò)的路由協(xié)議大多是對有限的節(jié)點(diǎn)資源和特定應(yīng)用的網(wǎng)絡(luò)特性進(jìn)行的最優(yōu)化設(shè)計,并沒有考慮安全路由的問題。這使得網(wǎng)絡(luò)在實(shí)際通信中會受到針對路由協(xié)議漏洞的各種攻擊[3]。隨著無線傳感器網(wǎng)絡(luò)的廣泛應(yīng)用,其安全性已受到了研究人員的普遍重視。在設(shè)計了滿足低能耗、低成本、低開銷需求的路由協(xié)議后,對路由協(xié)議安全性的研究將成為新的熱點(diǎn)。
按路由協(xié)議的網(wǎng)絡(luò)構(gòu)成方式,可以將無線傳感網(wǎng)絡(luò)分為平面型路由協(xié)議和層次型路由協(xié)議。平面型路由協(xié)議中,無線傳感網(wǎng)絡(luò)中的每個節(jié)點(diǎn)都是對等的,沒有功能上的區(qū)分。而層次型的路由協(xié)議中,將傳感器節(jié)點(diǎn)分成多個簇,每個簇都有簇頭節(jié)點(diǎn),控制簇內(nèi)的節(jié)點(diǎn)間通信,并可對簇區(qū)域內(nèi)數(shù)據(jù)進(jìn)行聚集融合處理,各簇頭節(jié)點(diǎn)將融合過的數(shù)據(jù)傳向網(wǎng)關(guān)節(jié)點(diǎn)。這樣可以減少通信量,維持節(jié)點(diǎn)能耗,延長生命期。
低能量自適應(yīng)分簇(LEACH)是一種典型的層次式路由協(xié)議。它采用隨機(jī)選擇簇頭節(jié)點(diǎn)的方式,避免簇頭節(jié)點(diǎn)因?yàn)槟芎倪^大成為網(wǎng)絡(luò)性能瓶頸。LEACH定義了“輪”(round)的概念,將一輪分為初始化和穩(wěn)定工作兩個階段。路由協(xié)議在產(chǎn)生簇頭后,向周圍節(jié)點(diǎn)廣播信息,其他節(jié)點(diǎn)根據(jù)接收廣播信息信號強(qiáng)度決定所在簇,并通知簇頭節(jié)點(diǎn)。攻擊者可以利用此特點(diǎn)偽造簇頭節(jié)點(diǎn)廣播信息,使部分傳感器節(jié)點(diǎn)為自己服務(wù),形成陷洞,并在此基礎(chǔ)上進(jìn)行選擇性轉(zhuǎn)發(fā)信息。另外,路由協(xié)議簇頭節(jié)點(diǎn)產(chǎn)生機(jī)制使每個節(jié)點(diǎn)獨(dú)立判斷是否成為簇頭。那么攻擊者可以每次都在網(wǎng)絡(luò)內(nèi)散布信息,選為簇頭,控制覆蓋區(qū)域內(nèi)的所有傳感器節(jié)點(diǎn)。
1 前提假設(shè)與攻擊類型分析
1.1 前提假設(shè)
假設(shè)網(wǎng)絡(luò)是對稱的,也就是說,如果節(jié)點(diǎn)A可以傳輸報文到B,那么節(jié)點(diǎn)B也可以傳輸報文到A。
假設(shè)各個節(jié)點(diǎn)在初始化階段,由服務(wù)器CA(certificate authority )頒發(fā)ID、證書和CA的公鑰。也就是說,只有內(nèi)部節(jié)點(diǎn)才可以獲得合法的證書和CA公鑰。
在系統(tǒng)初始化時,節(jié)點(diǎn)兩兩之間協(xié)商共享密鑰,即在n個節(jié)點(diǎn)的系統(tǒng)中,共有n(n-1)/2對密鑰。
1.2 攻擊類型分析
1)陷洞攻擊(sinkholes) 惡意節(jié)點(diǎn)吸引某一特定區(qū)域的通信流量,形成以該節(jié)點(diǎn)為中心的陷洞[4],作為陷洞的攻擊者就能相對容易地對數(shù)據(jù)進(jìn)行竄改。LEACH的實(shí)現(xiàn)思想使得陷洞攻擊十分容易。因?yàn)長EACH是層次型路由協(xié)議,所有的簇成員節(jié)點(diǎn)都要將信息傳遞給簇頭節(jié)點(diǎn)。這樣,攻擊者就可以使用大功率設(shè)備聲明自己為簇頭節(jié)點(diǎn),令較遠(yuǎn)處的節(jié)點(diǎn)也認(rèn)為該簇頭離本節(jié)點(diǎn)較近,從而成為該惡意簇頭節(jié)點(diǎn)的成員節(jié)點(diǎn)。附近的節(jié)點(diǎn)都將信息分組轉(zhuǎn)發(fā)至惡意節(jié)點(diǎn)。
2)選擇性轉(zhuǎn)發(fā)信息(selective forwarding) 在LEACH中,如果惡意節(jié)點(diǎn)對于部分報文進(jìn)行轉(zhuǎn)發(fā),而另一部分報文不進(jìn)行轉(zhuǎn)發(fā)。那么其他節(jié)點(diǎn)較難發(fā)現(xiàn)其異常行為,并且會作出其他節(jié)點(diǎn)死亡的錯誤判斷。
3)Sybil攻擊 同一惡意節(jié)點(diǎn)在網(wǎng)絡(luò)中呈現(xiàn)多個ID號,那些實(shí)際上并不存在的節(jié)點(diǎn)稱為Sybil節(jié)點(diǎn)[5]。LEACH路由協(xié)議中,如果一個節(jié)點(diǎn)出現(xiàn)多個ID號,可能在簇頭的選舉和數(shù)據(jù)融合上產(chǎn)生混亂,導(dǎo)致路由協(xié)議無法正常運(yùn)作。
4)蟲洞攻擊[6,7] 兩個或者多個攻擊者通過協(xié)作將信息從網(wǎng)絡(luò)的一個區(qū)域轉(zhuǎn)移到另一個區(qū)域,并在另一個區(qū)域進(jìn)行重送。LEACH協(xié)議中,簇頭是直接與基站節(jié)點(diǎn)進(jìn)行通信,所以蟲洞攻擊主要是惡意節(jié)點(diǎn)模仿簇成員節(jié)點(diǎn)進(jìn)行的。例如惡意節(jié)點(diǎn)a所在簇A,惡意節(jié)點(diǎn)b所在簇B,惡意節(jié)點(diǎn)a將自身的信息不發(fā)送給簇A的簇頭節(jié)點(diǎn),而發(fā)送給簇B的惡意節(jié)點(diǎn)b,節(jié)點(diǎn)b再將信息發(fā)送給簇B的簇頭節(jié)點(diǎn)。那么,最終將導(dǎo)致簇B的簇頭節(jié)點(diǎn)得到錯誤的信息,影響數(shù)據(jù)融合的正確性,也影響到基站的最終判斷。
2 符號定義(表1)
3 安全LEACH協(xié)議
由第1章的攻擊分析可以看出,要抵御這些攻擊首先需要對進(jìn)入網(wǎng)絡(luò)的節(jié)點(diǎn)進(jìn)行安全認(rèn)證,這樣可以防止惡意節(jié)點(diǎn)隨意發(fā)布虛假信息,從而發(fā)起各種各樣的攻擊。但是單單這樣是不夠的。可能有些惡意節(jié)點(diǎn)通過物理上的捕獲,獲得了合法認(rèn)證,如此一來,該節(jié)點(diǎn)依舊可以進(jìn)行其惡意行為。此時就需要利用信譽(yù)機(jī)制來遏制這些節(jié)點(diǎn)的惡意行為。
3.1 節(jié)點(diǎn)安全認(rèn)證
LEACH協(xié)議中,所有節(jié)點(diǎn)是按輪進(jìn)行簇選舉的。每輪中的簇頭節(jié)點(diǎn)可能都不相同,但是由于無線傳感網(wǎng)絡(luò)中,節(jié)點(diǎn)基本上不移動,除了能量耗盡的死亡節(jié)點(diǎn)以外,節(jié)點(diǎn)一旦加入網(wǎng)絡(luò),并不會隨意退出。SLEACH中,對于新加入網(wǎng)絡(luò)中的節(jié)點(diǎn)將進(jìn)行安全認(rèn)證,不論是該節(jié)點(diǎn)聲明為簇頭,還是該節(jié)點(diǎn)聲明為簇成員時。每個節(jié)點(diǎn)會保留一個可信節(jié)點(diǎn)列表,并會在每輪選舉簇頭時進(jìn)行交換。
為了方便描述,稱相互認(rèn)證的節(jié)點(diǎn)為節(jié)點(diǎn)A和B。節(jié)點(diǎn)在初始化時會獲得認(rèn)證中心的公鑰KCA和由認(rèn)證中心頒發(fā)的證書CertA={IDA,KA}K下面對協(xié)議的安全認(rèn)證進(jìn)行描述并用BAN邏輯證明其安全性[8,9]。
協(xié)議描述如下:
安全性證明:
由假設(shè)(c)和信息流a),應(yīng)用信息意義推理規(guī)則,得知
A|≡CA|~KBB(1)
由證書的性質(zhì)得出:
A|≡CA|≡KBB(2)
由假設(shè)(e),應(yīng)用仲裁推理規(guī)則,得知
A|≡KBB(3)
A|≡B|~#(Na)(4)
由信息流b),結(jié)合式(3),得知
對式(6)和假設(shè)(b),應(yīng)用信息的意義推理規(guī)則,得出
B|≡CA|~A(7)
根據(jù)證書的性質(zhì)得出B|≡CA|≡A,B|≡A,即主體相信A的證書的合理性。同時,B|≡A|≡#(Na+1)。所以,B|≡A|≡{AKABB},得證。
3.2 信譽(yù)機(jī)制
通過節(jié)點(diǎn)之間的安全認(rèn)證,可以有效地防御沒有獲得認(rèn)證中心授權(quán)的惡意節(jié)點(diǎn)的異常行為。但是有些節(jié)點(diǎn)可能是網(wǎng)絡(luò)中獲得了認(rèn)證中心授權(quán)的自私節(jié)點(diǎn),這些節(jié)點(diǎn)可能是做一些自私行為,如選擇性轉(zhuǎn)發(fā),也可能做出一些惡意行為,如竄改報文數(shù)據(jù)。對于這些節(jié)點(diǎn),由于有授權(quán),不可能完全將其排除到網(wǎng)絡(luò)之外,只能對異常行為進(jìn)行遏制[10]。
定義1 信任評估等級。當(dāng)節(jié)點(diǎn)i有對節(jié)點(diǎn)j的可信度評價時,則i與j之間存在信任關(guān)系。在本文中用Ti,j代表節(jié)點(diǎn)i對j的信任評估等級。經(jīng)驗(yàn)是信任評估的主要依據(jù),包括所有直接或間接的經(jīng)驗(yàn)。根據(jù)經(jīng)驗(yàn)的來源,信任關(guān)系可分為兩類,即直接信任和間接信任。信任評估等級是綜合了直接信任值和間接信任值的結(jié)果。
定義2 直接信任值。它是實(shí)體根據(jù)直接觀察,在特定環(huán)境中和特定時間內(nèi),對評估客體行為的評價。節(jié)點(diǎn)i對節(jié)點(diǎn)j的直接信任值用Dij表示。
在網(wǎng)絡(luò)中,直接信任值主要來源于節(jié)點(diǎn)i對j的信息收集,如節(jié)點(diǎn)j鏈路幀的接收、數(shù)據(jù)包和路由包的接收以及數(shù)據(jù)包和路由包的轉(zhuǎn)發(fā)。
定義3 間接信任值。這是因?yàn)樵跓o線傳感網(wǎng)復(fù)雜的環(huán)境中,當(dāng)對一個客體評估信任時,有可能主體對其一無所知,需要借助中間者來進(jìn)行信任關(guān)系建立;間接信任值表示其他節(jié)點(diǎn)對節(jié)點(diǎn)j的信任評估,如節(jié)點(diǎn)k對節(jié)點(diǎn)j的間接信任值為Iij。
節(jié)點(diǎn)i對j的信任評估等級應(yīng)滿足Tij=f(Dij,Ikj)。
對于直接信任值Dij,如果觀察到的行為正常,Tij+a1;如果觀察到的行為屬于異常行為,那么Tij-a2(為了保證系統(tǒng)能快速檢測出內(nèi)部異常節(jié)點(diǎn),要求a1
在初始化時,有三個規(guī)定值rmax、r0、rthresh分別表示信譽(yù)評估等級最大值、初始值和最低門限值。當(dāng)Tij≥rthresh時,節(jié)點(diǎn)i認(rèn)為j為友節(jié)點(diǎn);否則 ,認(rèn)為節(jié)點(diǎn)j不可信。表2給出仿真時的參數(shù)設(shè)置。
當(dāng)然,在無線信道中,很難區(qū)分惡意節(jié)點(diǎn)和傳輸失敗或其他錯誤。如果令η=rmax-rthresh,隨著η的增大,那么誤判率將會降低,但是同時對于檢查惡意節(jié)點(diǎn)的靈敏度也會隨之下降。在誤判率與靈敏度之間只能尋求一個平衡。此外,信譽(yù)系統(tǒng)僅僅是提供一定的概率來發(fā)現(xiàn)內(nèi)部異常節(jié)點(diǎn)。雖然信譽(yù)系統(tǒng)中積極的反饋可以在一定的門限范圍內(nèi)迫使節(jié)點(diǎn)行為正常化。但是卻不可能完全避免攻擊。例如,開始時,節(jié)點(diǎn)正常參與路由形成與數(shù)據(jù)轉(zhuǎn)發(fā),從而增加該節(jié)點(diǎn)信任評估等級,使得其遠(yuǎn)遠(yuǎn)高于信任評估等級門限;然后再發(fā)送虛假的或者是竄改過的信譽(yù)信息到整個網(wǎng)絡(luò)。這種情況只有適當(dāng)?shù)卦龃螵玜2來限制內(nèi)部背叛節(jié)點(diǎn)。
4 仿真實(shí)驗(yàn)
41 仿真環(huán)境
實(shí)驗(yàn)平臺為Pentium4 2.0 GHz, 512 MB RAM ,使用的操作系統(tǒng)是Windows 2000下Cygwin平臺,網(wǎng)絡(luò)仿真平臺是NS 2.27(network simulator version 2.27)。仿真中,節(jié)點(diǎn)總數(shù)設(shè)置為100個, 第一個仿真場景,100個節(jié)點(diǎn)隨機(jī)分布在面積大小為50 m×50 m的區(qū)域,其中基站位置(50 m, 50 m);第二個仿真場景,100個節(jié)點(diǎn)隨機(jī)分布在面積大小為100 m×100 m的區(qū)域,其中基站位置(50 m, 100 m)。每個節(jié)點(diǎn)初始能量為2 J;一旦節(jié)點(diǎn)死亡,將退出網(wǎng)絡(luò)。MAC層使用的802.11協(xié)議,模擬時間為200 s,20 s一輪。節(jié)點(diǎn)傳輸半徑為15 m。
4.2 仿真結(jié)果
圖1顯示了50 m×50 m的區(qū)域中,傳感器網(wǎng)絡(luò)總的能量消耗隨時間的變化。由圖中可以看出,網(wǎng)絡(luò)中的總能量開始時,消耗增長率明顯較大,隨著時間的推移,網(wǎng)絡(luò)中總能量的消耗增長率越來越小,最后趨近于零。這是因?yàn)殚_始時,網(wǎng)絡(luò)中所有的節(jié)點(diǎn)都是存活的,每個節(jié)點(diǎn)都在消耗能量。隨著輪數(shù)的增加,死亡節(jié)點(diǎn)的數(shù)量也越來越多,所以能量消耗的增長率越來越低。與LEACH相比較,SLEACH對網(wǎng)絡(luò)總能量的消耗雖然略有增加(平均大約11%),但是在可接受范圍內(nèi)。
從圖2中可以看出,節(jié)點(diǎn)在開始時,由于能量比較充裕,基本上沒有死亡。在80~160 s,由于有些節(jié)點(diǎn)作為簇頭消耗較大,開始死亡。節(jié)點(diǎn)數(shù)量的減少也呈加速度趨勢。由LEACH與SLEACH的對比也可以發(fā)現(xiàn),雖然對于網(wǎng)絡(luò)總能量消耗上SLEACH較大,但是在網(wǎng)絡(luò)的生存周期上,兩種協(xié)議是比較接近的。這是因?yàn)椋琇EACH協(xié)議20 s一輪選舉新簇頭,所以即使有安全認(rèn)證過程,也要隔20 s才進(jìn)行,相對來說,對于每個節(jié)點(diǎn)的額外負(fù)載并不是很大。
圖3和4顯示了當(dāng)網(wǎng)絡(luò)監(jiān)測區(qū)域面積到達(dá)100 m×100 m時,網(wǎng)絡(luò)中總能量消耗和存活節(jié)點(diǎn)數(shù)量隨時間的變化。相對于50 m×50 m的區(qū)域而言,其無論是能量變化還是存活節(jié)點(diǎn)數(shù)量的變化,整體趨勢是很接近的,但是由于在100 m×100 m的區(qū)域中,節(jié)點(diǎn)分布相對比較散,節(jié)點(diǎn)間距離較遠(yuǎn),節(jié)點(diǎn)在通信時會消耗更多的能量,由安全認(rèn)證帶來的額外負(fù)載影響更小。圖3中,LEACH和SLEACH的總能量消耗是十分接近的。圖4中,無論是LEACH還是SLEACH,都比圖2中相應(yīng)協(xié)議的生存周期要短。
LEACH協(xié)議節(jié)點(diǎn)的能量主要分為兩個部分:初始階段簇頭選舉的能量消耗;選舉完成后的傳感器數(shù)據(jù)采集以及上傳。其中第二部分,對本文的安全機(jī)制基本上不會帶來什么影響。所以圖5主要分析的是初始階段帶來的影響。由圖5可知,在50 m×50 m的區(qū)域中大約多出了0.33 J,而100 m×100 m區(qū)域中大約多出了0.23 J。同時這也反映了安全機(jī)制給性能造成的影響遠(yuǎn)遠(yuǎn)不如距離對協(xié)議造成的影響。
5 結(jié)束語
本文針對無線網(wǎng)絡(luò)中路由協(xié)議的安全問題進(jìn)行研究,分析了LEACH協(xié)議可能受到的攻擊,提出了一種安全的LEACH協(xié)議,對節(jié)點(diǎn)之間的安全性認(rèn)證進(jìn)行了形式化證明,并利用信譽(yù)機(jī)制來監(jiān)督節(jié)點(diǎn)的自私行為。仿真結(jié)果對50 m×50 m和100 m×100 m兩個區(qū)域進(jìn)行了能量以及存活節(jié)點(diǎn)數(shù)量的分析,最后對輪初始階段的能量消耗進(jìn)行了比較。由實(shí)驗(yàn)可知,SLEACH引入的安全機(jī)制給性能所帶來的影響是可以接受的。
參考文獻(xiàn):
[1]AKYILDIZ L, SU W, SANKARASUBRAMANIAM Y,et al. A survey on sensor networks[J].IEEE Communications Magazine,2002,40(8):102114.
[2]RENTALA P,MUSUNURI R,GANDHAM S,et al.Survey on sensor networks,UTDCS233202[R]. Dallas:University of Texas at Dallas, 2002.
[3]PERR I G A, STANKOV I C J, WAGNE D. Security in wireless sensor networks[J].Communications of the ACM,2004,47(6):5357.
[4]KARLOF C, WAGNER D. Secure routing in wireless sensor networks:attacks and countermeasures[C]//Proc of the 1st IEEE International Workshop on Sensor Network Protocols and Applications. 2003:113127.
[5]NEWSOME J, SH I E, SONG D,et al. The sybil attack in sensor networks:analysis defenses[EB/OL].(2002).http: //www. cs. rice.edu /Conferences/ IPTPS02.
[6]POTTIE G J, KAISER W J. Wireless integrated network sensors[J].Communications of the ACM,2000,43(5):5158.
[7]HEINZELMAN W R. Applicationspecific protocol architectures for wireless networks[D].Massachusetts: Massachusetts Institute of Technology, 2000.
[8]DUARTEMELO E J, LIU M. Analysis of energy consumption and lifetime of heterogeneous wireless sensor networks[C]//Proc of Global Telecommunications Conference (GLOBECOM2002). 2002:2125.
[9]MHATRE V, ROSENBERG C. Homogeneous vs. heterogeneous clustered sensor networks: a comparative study[C]//Proc ofIEEE International Conference on Communications. 2004.
[10]MHATRE V, ROSENBERG C, KOFMAN D,et al. A minimum cost heterogeneous sensor network with a lifetime constraint[J].IEEE Trans on Mobile Computing,2004,3
(3):415