羅永健,陳 濤,肖福剛,史德陽
(西安通信學院,西安 710106)
無線傳感器網絡具有廉價、自組織的性質,在戰(zhàn)場環(huán)境監(jiān)視、故障診斷、生物醫(yī)學、家庭安全及智能空間等領域有著廣泛的應用前景[1],但無線傳感器網絡的無人照管操作使得傳感器節(jié)點易于被敵方物理性地控制[2],面臨著較為嚴重的安全威脅。而無線傳感器網絡面臨的各種攻擊中,以節(jié)點克隆攻擊的危害尤為巨大。在節(jié)點克隆攻擊中,攻擊者通過俘獲網絡中一個或多個節(jié)點,提取出節(jié)點中的私密信息,如節(jié)點身份標識(ID)、用于與其他節(jié)點建立安全信道的密鑰等,利用這些信息復制出無限數(shù)量的具有相同ID和私密信息的節(jié)點,并將這些克隆節(jié)點投放到網絡中[3]。因為克隆節(jié)點擁有合法的身份信息,它可以作為正常節(jié)點參與網絡操作,肆意地發(fā)起對整個網絡的攻擊[4],例如往網絡中注入錯誤數(shù)據(jù)、利用克隆節(jié)點分隔網絡以及破壞網絡中其他協(xié)議等等。因此,對節(jié)點克隆攻擊檢測的研究具有重要意義。
節(jié)點克隆攻擊檢測方案主要分為兩類:集中式的檢測方案和分布式的檢測方案[5]。集中式的檢測方案利用基站資源豐富的特點,把普通節(jié)點收集到的相關信息都傳遞到基站處,由基站運行檢測算法對收到的信息進行處理,判斷有無克隆攻擊。例如,文獻[6]提出的檢測方案中,每個節(jié)點把自己的鄰居列表以及位置信息發(fā)送給基站,由基站來檢測有無克隆節(jié)點;文獻[7]中每個節(jié)點依據(jù)自身的鄰居信息按照一定規(guī)則產生一個指紋信息,并傳遞此指紋信息到基站,由基站通過節(jié)點指紋信息和ID號檢測異常;文獻[8]中每個節(jié)點記錄自己密鑰的使用次數(shù)并告知基站,如果節(jié)點密鑰使用次數(shù)大于設定的閾值,則判定該節(jié)點為克隆節(jié)點。集中式的檢測方案能夠實現(xiàn)較高檢測率,但節(jié)點直接向基站發(fā)送消息導致距離基站近的節(jié)點能耗較小,而距離基站遠的節(jié)點能耗較大,網絡中節(jié)點能耗不均衡,且網絡分布區(qū)域較大時,受無線傳感器節(jié)點通信距離的限制,距離基站較遠的節(jié)點的難以直接同基站通信。
分布式的檢測方案又分為隨機性和確定性檢測方案。隨機性檢測方案是指節(jié)點在每輪檢測過程中的驗證節(jié)點不是固定的[9],文獻[6]中提出的隨機多播和LSM(Line-Selected Multicast)屬于隨機性分布式檢測方案。在隨機多播算法中,每個節(jié)點的位置信息被發(fā)送到網絡中隨機選取的多個驗證節(jié)點,如果網絡中存在克隆節(jié)點,根據(jù)生日悖論,至少有一個驗證節(jié)點收到兩個沖突的位置信息是一個高概率事件。LSM算法對隨機多播算法進行了改進,每個節(jié)點減少了隨機選取的驗證節(jié)點的數(shù)目,但在位置信息轉發(fā)路徑上的節(jié)點記錄下位置信息,成為驗證節(jié)點,該方案與隨機多播相比降低了通信復雜度。徐軍在文獻[3]中提出的兩種基于隨機種子的檢測方案RS-Ⅰ(Random Seed-Ⅰ)和RS-Ⅱ中,節(jié)點通過ID和隨機種子計算出驗證節(jié)點,每輪的驗證節(jié)點不發(fā)生變化,屬于確定性分布式檢測方案。如果網絡中存在克隆節(jié)點,將在驗證節(jié)點處檢測到沖突信息。分布式的檢測方案容易組織實施,但網絡中每個節(jié)點都要參與檢測,檢測信息被收發(fā)多次,通信開銷和存儲開銷都很大。
本文提出的基于分簇的檢測方案是一種特殊的集中式檢測方案,能夠克服一般的集中式檢測方案的不足。該方案首先在局部檢測克隆攻擊,即由每個簇頭檢測它的簇內是否有克隆節(jié)點,待全網節(jié)點的ID匯聚至基站后,由基站檢測是否存在單個ID出現(xiàn)在兩個或多個簇里的情況。該方案具有集中式檢測方案檢測率高的優(yōu)點,同時利用了分簇算法的數(shù)據(jù)傳輸機制,能夠降低通信開銷和存儲開銷。
考慮有N個無線傳感器節(jié)點隨機分布在一個面積為L×L的正方形區(qū)域A內。模型假設如下:
(1)所有節(jié)點的功能相同,具備數(shù)據(jù)融合的功能,每個節(jié)點都有唯一的ID。
(2)網絡中只有一個基站,且是永久可信的,無線傳感器節(jié)點和基站在部署后不再發(fā)生移動。
(3)對于不同距離的接收者,節(jié)點可以自由調整其發(fā)射功率以減小能量消耗。
(5)無線通信是加密的。通過加密認證機制,接收方能夠確認數(shù)據(jù)是否來自發(fā)送方,傳輸過程中是否受到篡改。
文中采用與文獻[12]相同的傳輸能量消耗模型。數(shù)據(jù)發(fā)送能量消耗由發(fā)射電路損耗和功率放大損耗兩個部分組成,即
其中,l表示發(fā)送的比特數(shù),d表示發(fā)送距離,εfs和εmp表示自由空間模型和多路徑衰減模型下功率放大所需的能量,d0為判斷采用自由空間模型或多路徑衰減模型的臨界點。數(shù)據(jù)接收消耗的能量為ERX(l)=lEelec。
無線傳感器網絡運行分簇算法,被分成多個簇。無線傳感器網絡中的分簇算法是為了均衡節(jié)點能耗,延長網絡壽命而設計。它把整個網絡中的節(jié)點分入不同的簇,每個簇通常選舉一個稱為簇頭的管理節(jié)點,對簇內節(jié)點進行管理維護,并周期性進行簇頭輪換和簇重組,能有效延長無線傳感器網絡壽命[11]。LEACH(Low-Energy Adaptive Clustering Hierarchy)算法[12]是最早被提出的分簇算法,它是由W.R.Heinzelman在2000年的一次會議上提出,圖1為LEACH分簇算法拓撲結構示意圖。目前,已有大量的分簇算法被提出,其在無線傳感器網絡中的應用也越來越廣。
圖1 LEACH分簇算法拓撲結構圖
分簇算法中一個節(jié)點只能屬于一個簇,該特點有利于判斷網絡中是否有ID重復的節(jié)點。本文的克隆攻擊檢測方案正是基于分簇算法的這種特點,對網絡中產生的消息都標記上其源節(jié)點ID,然后依次在分簇算法成簇階段和基站處檢測是否存在克隆節(jié)點。
簇內節(jié)點向簇頭傳輸數(shù)據(jù)時采用時分復用策略,簇頭會給每個簇內的節(jié)點分配時隙,所以一個節(jié)點只能屬于一個簇,各個簇的交集為空。假設S為網絡中節(jié)點的集合,C1、C2、…Cn-1、Cn表示各個簇中節(jié)點的集合(包括簇頭和簇內節(jié)點),n表示簇的數(shù)目,則有式(1)、式(2)成立。
S=C1∪C2…Cn-1∪Cn
(1)
C1∩C2…Cn-1∩Cn=0
(2)
若網絡中存在克隆節(jié)點,當它們不在同一簇內時,則會出現(xiàn)式(3)情況。
C1∩C2…Cn-1∩Cn≠0
(3)
本文的檢測方案基于分簇的機制,但不限定具體的分簇算法,因為在實際應用中,可以根據(jù)網絡的規(guī)模選取合適的分簇算法。
文中方案的具體步驟如下:
(1)對網絡中生成的所有消息都標記上其源節(jié)點的ID。
(2)在分簇算法成簇階段,通過判斷RSSI和ID是否一致來檢測克隆節(jié)點。在分簇算法中,成為簇頭的節(jié)點廣播其當選簇頭的通告消息,非簇頭節(jié)點至少會收到一個簇頭的通告信息。選擇相應的簇頭組簇時,非簇頭節(jié)點會向該簇頭發(fā)送通告消息,簇頭就可以通過其簇內節(jié)點發(fā)來的消息來檢測簇內是否存在一個ID號有多個RSSI值的情況。倘若在此階段不做檢測,會使檢測方案存在漏洞,因為當節(jié)點與其克隆節(jié)點在一個簇內時,簇頭會把二者當作同一個節(jié)點,從而給二者只分配一個時隙,而利用該時隙的很可能是克隆節(jié)點。成簇階段的檢測是局部區(qū)域小范圍的檢測,節(jié)點與其克隆節(jié)點距離較近時才能夠檢測出來。
(3)簇頭對其ID和簇內節(jié)點ID以圖2形式進行整理后,同數(shù)據(jù)一起被傳送至基站?;緩娜纸嵌葘W絡中的ID進行檢測,由于每個節(jié)點只能屬于一個簇,如果網絡不存在克隆攻擊,就不會出現(xiàn)一個ID號出現(xiàn)在兩個或多個簇內的情況,各個簇中節(jié)點的集合滿足式(2)。
圖2 節(jié)點ID信息的組織形式
該方案在分簇算法的基礎上展開,具體流程如圖3所示。
圖3 本文檢測方案的流程圖
通過與LSM算法及RS-Ⅱ算法相比較,本節(jié)從理論分析和仿真實驗兩個方面來分析文中方案的性能。其中,N表示無線傳感器網絡中的節(jié)點數(shù)目,g表示節(jié)點的鄰居節(jié)點數(shù)目。
新方案的通信和存儲開銷與LSM算法以及RS-Ⅱ算法的比較如表1所示,其中通信和存儲開銷均表示單個節(jié)點的開銷。由于無線傳感器節(jié)點的大部分能量用于節(jié)點間通信,文中檢測方案的通信開銷又小于另外兩種算法,所以本文方案在能量受限的無線傳感器網絡中適用性更強。文中檢測方案的存儲開銷因分簇算法的不同會略有差別,一般簇頭的存儲開銷會略大,如果網絡中簇頭數(shù)目為c,則每個簇頭的平均存儲開銷為N/c,多數(shù)分簇算法里c也是N的函數(shù),所以存儲開銷量級仍為O(1)。視簇頭產生方法的不同,非簇頭節(jié)點的存儲開銷也不同,若簇頭是隨機產生(如LEACH算法),則非簇頭節(jié)點的存儲開銷為O(1);若簇頭是通過各節(jié)點信息交互后選舉產生(如HEED算法),則非簇頭節(jié)點的存儲開銷為O(g)。
生態(tài)文明理念在黃河干流水庫調度中的應用…………………………………… 蔣曉輝,董國濤,何宏謀(6.22)
表1 本文方案與LSM算法、RS-Ⅱ算法開銷的理論界限比較
仿真使用MATLAB軟件,參數(shù)設置為L=200 m,節(jié)點初始能量E=0.5 J,εfs=10 pJ/bit/m2,εmp=0.001 3 pJ/bit/m4,d0為88 m,Eelec值為50 nJ/bit。
本文方案基于LEACH分簇算法運行,LEACH分簇算法簇頭生成的概率p等于5%。
(1)存儲開銷比較
本文方案中簇內節(jié)點只需存儲其所在簇簇頭的信息,存儲開銷很小,而簇頭節(jié)點需要存儲全部簇內節(jié)點的ID和RSSI值(RSSI值占用2 byte),簇頭節(jié)點被占用的存儲空間在4 byte·(1/p)左右。文中以節(jié)點可能的存儲開銷的較大值—簇頭節(jié)點的存儲開銷來衡量本文方案的性能。圖4反映了各方法中相應節(jié)點存儲的字節(jié)數(shù)目,本文方案中簇頭的平均存儲開銷較小。因為LSM算法中,每個轉發(fā)節(jié)點都要存儲驗證消息的ID和地理位置信息,且隨著網絡中節(jié)點數(shù)目的增多,存儲的檢測消息的數(shù)目也逐漸增大。而RS-Ⅱ算法中每個節(jié)點平均有g+1個驗證節(jié)點,g的平均大小為40,所以,平均每個節(jié)點存儲的檢測消息在240 byte左右。
圖4 3種方法中相應節(jié)點的存儲開銷比較
(2)通信開銷比較
由于無線通信消耗掉傳感器節(jié)點的絕大多數(shù)能量,本文通過比較各方法的檢測次數(shù)與存活節(jié)點數(shù)目的關系,來間接反映各方法每次檢測的通信開銷大小。在N=1 000的情況下,假設網絡中不進行數(shù)據(jù)的收集,只發(fā)送和接收攻擊檢測消息,圖5為各方法運行次數(shù)與存活節(jié)點個數(shù)的關系。
圖5 3種方法檢測次數(shù)與存活節(jié)點數(shù)目的關系
(3)檢測率對比
若節(jié)點間的無線通信滿足不發(fā)生丟包且都能夠成功收發(fā)的理想情況,本文方案的檢測率能夠達到100%。圖6為在理想情況下,令網絡中只有一個克隆節(jié)點,N取不同值時各方案的檢測率對比。
圖6 理想情況下3種方法的檢測率比較
當然,實際情況中無線通信具有一定的失敗概率,會對跳數(shù)較多的檢測方案產生一定影響。因為檢測信息被傳遞次數(shù)的增多,將增大檢測信息傳遞不成功的概率。
本文提出的基于分簇的檢測方案是一種優(yōu)化的集中式檢測方案,該方案通過簇頭和基站分別從局部和整體對網絡進行克隆攻擊檢測,提高了檢測率。同時,充分利用了分簇算法的數(shù)據(jù)傳輸機制,降低了通信和存儲開銷,對資源受限的無線傳感器網絡具有較強的適用性。
參考文獻:
[1]孫勇,景博,張宗麟.基于不均勻環(huán)帶模型能量有效的無線傳感器網絡節(jié)點放置方法[J].傳感技術學報,2006,19(4):1287-1289.
[2]曾梅梅,蔣華,王鑫.一種新的無線傳感器網絡惡意節(jié)點追蹤方法[J].傳感技術學報,2013,26(1):122-127.
[3]徐軍.無線傳感器網絡惡意節(jié)點攻擊若干問題研究[D].合肥:中國科技大學,2012.
[4]李端端,曾子維,潘曉紅,等.無線傳感器網絡克隆攻擊檢測協(xié)議[J].計算機工程,2009,35(16):161-163.
[5]劉麗珍.無線傳感器網絡中克隆節(jié)點攻擊檢測協(xié)議研究[D].長沙:中南大學,2012.
[6]Parno B,Perrig A,Gligor V.Distributed Detection of Node Replication Attacks in Sensor Networks[C]//Proc IEEE Symp Security and Privacy(S&P’05),2005.49-63.
[7]Xing K,Liu F,Cheng X,et al.Realtime Detection of Clone Attacks in Wireless Sensor Networks[C]//Proc 28th Int Conf Distributed Computing Systems(ICDCS’08),June 2008.3-10.
[8]Zhu B,Addada V,Setia S,et al.Efficient Distributed Detection of Node Replication Attacks in Sensor Networks[C]//Proc 23rd Ann Computer Security Applications Conference(ACSAC’07),Dec 2007.257-267.
[9]Sheela D,Priyadarshini,Mahadevan Dr G.Efficient Approach to Detect Clone Attacks in Wireless Sensor Networks[C]//2011 3rd International Conference on Electronics Computer Technology(ICECT 2011),April 2011.194-198.
[10]陳姍姍,楊庚,陳生壽.基于LEACH協(xié)議的Sybil攻擊入侵檢測機制[J].通信學報,2011,32(8):143-149.
[11]孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005.
[12]Heinzelman W,Chandrakasan A,Balakrishnan H.Energy-Efficient Communication Protocol for Wireless Microsensor Networks[C]//Proceedings of the 33rd Hawaii International Conference on System Sciences.Maui,Hawaii,USA:IEEE Computer Society,2000.
[13]李成法,陳貴海,葉懋,等.一種基于非均勻分簇的無線傳感器網絡路由協(xié)議[J].計算機學報,2007,30(1):27-36.
羅永健(1971-),男,湖北人,西安通信學院教授,博士,主要從事陣列信號處理、雷達目標識別及多用戶通信等工作;
陳濤(1988-),男,河南人,在讀碩士研究生,研究方向為無線傳感器網絡,953284937@qq.com。