專利名稱:一種容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法
技術領域:
本發(fā)明涉及網(wǎng)絡安全及無線網(wǎng)絡拓撲控制領域,具體地說是一種容忍入侵的無線傳感器網(wǎng) 絡拓撲生成方法,用于實現(xiàn)對無線傳感器網(wǎng)絡的容侵的拓撲控制,所生成拓撲能容忍部分節(jié)點 被入侵,依然能保持整個網(wǎng)絡安全結構及關鍵服務的正常運行,屬于網(wǎng)絡技術領域。
背景技術:
有線拓撲控制的目的在于構建與維持一個覆蓋所有節(jié)點的連通網(wǎng)絡,從而為信息傳輸提供 路由基礎;無線網(wǎng)絡的拓撲控制因為通信帶寬窄、信號易互相干擾,其拓撲控制不僅要考慮網(wǎng) 絡的覆蓋度,還要考慮網(wǎng)絡的稀疏性以避免信號干擾、提高通信效率。無線傳感器網(wǎng)絡的拓撲 控制有更高要求,因為相對于通常意義下的無線網(wǎng)絡具有通信帶寬更窄、計算和存儲能力極低、 電池能源有限、節(jié)點數(shù)目巨大以及外在環(huán)境通常惡劣甚至惡意等特點。當前有關無線傳感器網(wǎng) 絡的拓撲控制方法可以分為三個階段
1.節(jié)能的拓撲控制方法
節(jié)能的控制方法,主要考慮到電力耗盡會造成節(jié)點死亡,從而可能造成拓撲分割,針對此 問題,首先想到的是節(jié)省能量,盡量均衡全網(wǎng)范圍內的能源損耗,達到延長網(wǎng)絡壽命的作用。
常用的方法可以分為三類功率控制、分層結構和休眠輪值;
1.1功率控制統(tǒng)一功率分配方案COMPOW是第一個可實現(xiàn)的無線Adhoc網(wǎng)絡設計的典
型的功率控制方案,密集布置傳感器節(jié)點分布未必均勻,單一的相同功率分配方案產生的相同
發(fā)射半徑內不同節(jié)點的鄰節(jié)點數(shù)目必然不同,COMPOW可通過設置不同的power level agent來 管理不同節(jié)點的發(fā)射功率實現(xiàn)整個網(wǎng)絡中節(jié)點負載的均衡,能在保證網(wǎng)絡的連接與連通的前提 下,使得網(wǎng)絡交通容量最大化maximizing the traffic carrying capacity、延長電池壽命、減小MAC 層競爭;CUistenPOW、 MiniPOW分別是針對分簇網(wǎng)絡結構和網(wǎng)絡總能量最小化的功率控制方案; LINT/LILT和LMN/LMA等是典型的基于節(jié)點度數(shù)的功率分配算法,利用局部信息來調整相鄰 節(jié)點的連通性,從而保證整個網(wǎng)絡的連通性,同時保證節(jié)點鏈路間有一定的冗余性和可擴展性。 其核心思想是給定節(jié)點度的上限和下限需求,動態(tài)調整節(jié)點的發(fā)射功率,使得節(jié)點度數(shù)落在上 限和下限之間。適用于傳感器網(wǎng)絡的本地平均算法(LMA: Local mean algorithm)和本地鄰居平均 算法(LMN: Local mean of neighbors algorithm)是兩種周期性動態(tài)調整節(jié)點發(fā)射功率的算法, LMA以周期性的査詢鄰節(jié)點度數(shù),通過發(fā)射一定功率發(fā)送LifeMsg消息,統(tǒng)計收到該消息鄰節(jié) 點的回復消息LifeAckMsg數(shù)目,獲得自己的節(jié)點度數(shù),然后采用一定策略調整發(fā)射功率,使得 節(jié)點度數(shù)落在預先確定的上下限之間。LMN和LMA統(tǒng)計鄰居數(shù)目方法有所不同,在LMN算 法中,收到査詢消息LifeMsg的節(jié)點發(fā)送LifeAckMsg消息時,將自己的鄰居數(shù)放在消息中,查詢節(jié)點在收集完所有的LifeAckMsg消息后,將所有鄰居的鄰居平均數(shù)作為自己的鄰居數(shù)?;?節(jié)點度數(shù)的算法通過少量的局部信息達到了一定程度的優(yōu)化效果,且不需要嚴格的時鐘同步, 計算機仿真結果也表明,此類算法的收斂性和網(wǎng)絡的連通性可以保證。鄰近圖算法是解決功率 分配問題的近似解法,把節(jié)點都使用最大功率發(fā)射時形成的拓撲圖記為G=(V,E),其中V為網(wǎng)絡 節(jié)點集合;E邊集,表示節(jié)點之間可直接通信的鏈路。按照一定的規(guī)則q求出該圖的鄰近圖G', 最后G'中每個節(jié)點都使用以自己所鄰接的最遠通信節(jié)點來確定發(fā)射功率。鄰近圖的定義為如 果一個圖G'-(V',E')是G-(V,E)由條件q導出的鄰近圖,則V=V', E'包含于E,對V中所有 節(jié)點u,E'是滿足給定的鄰居判別條件q的E中邊(u,v)的集合。經(jīng)典的鄰近圖模型有RNG(Relative Neighborhood Graph), GG(Gabriel Graph), YG(Yao Graph)以及MST(Minimum Spanning Tree)等。 基于鄰近圖的功率控制算法有如CBTC、 LMST、 DRNG和DLSS等,主要分為兩個階段,第一 階段是信息收集階段,是節(jié)點以自己的最大發(fā)射功率査詢自己的可達鄰居集合構成初始拓撲圖, 然后求出鄰近圖(如最小生成樹),確定鄰居節(jié)點,根據(jù)最遠鄰居的距離,調整發(fā)射半徑,形成 兼顧網(wǎng)絡的連通性和節(jié)省能量兩個目的的拓撲結構,更進一步,通過對所形成拓撲圖進行邊的 增刪,使得網(wǎng)絡達到雙向連通。
1.2分層結構分簇分層的思想最初來自基于地理位置無線傳感器網(wǎng)絡路由算法GAF (Geographical Adaptive Fidelity),該算法是以節(jié)點地理位置為依據(jù)的把監(jiān)測區(qū)域劃分為虛擬單元 格,將節(jié)點按照位置信息劃入相應的單元格,在每個單元格中定期選舉產生一個當值節(jié)點,且 相鄰兩單元格內任意節(jié)點可以直接通信,屬于同一單元格的節(jié)點可以認為是等價的。GAF周期 性地每個單元格內選出一個當值節(jié)點保持活動狀態(tài),由活動節(jié)點組成骨干網(wǎng),負責數(shù)據(jù)的轉發(fā)。 這樣,既保證網(wǎng)絡拓撲的覆蓋度和連通性,又使得非當值節(jié)點進入休息狀態(tài),節(jié)省了能量的消 耗。GAF隨機選擇當值簇頭節(jié)點時沒有考慮節(jié)點的剩余能量,這樣會導致節(jié)點能量的不均勻分 布。RSanti提出了一種GAF改進算法,設計了完全選擇和隨機選擇兩種不同的當值節(jié)點選擇方 法,并詳細分析了活動節(jié)點產生后的網(wǎng)絡運行方式。這兩種選擇方法針對傳感器網(wǎng)絡的特點, 選舉剩余能量多的節(jié)點作為活動節(jié)點,有利于延長傳感器節(jié)點以及整個網(wǎng)絡的生存時間,但是 與GAF算法相比,此算法要求同一單元格中的節(jié)點保持時間同步。GAF單元格劃分時利用了 地理位置信息,這大大增加了節(jié)點的硬件成本。有一種基于圖論中最小支配集問題的分簇算法, 稱節(jié)點集合W是圖G氣V,E)的支配集,如果V中點要么屬于Vp要么是V,的鄰接點。為此, 可通過求出的最小支配集中的點組成數(shù)據(jù)轉發(fā)的骨干網(wǎng),而其它節(jié)點數(shù)據(jù)可以一跳找到骨干網(wǎng), 從而保證了網(wǎng)絡的覆蓋度。TopDisc成簇算法是利用顏色區(qū)分節(jié)點狀態(tài)求圖中最小支配集問題的 經(jīng)典解法,使節(jié)點在密集部署的傳感器網(wǎng)絡中快速地形成分簇結構,并在簇頭之間建立樹型關 系,解決骨干網(wǎng)絡拓撲結構的形成問題。由網(wǎng)絡中的一個節(jié)點啟動發(fā)送用于發(fā)現(xiàn)鄰居節(jié)點的查 詢消息,査詢消息攜帶發(fā)送節(jié)點的狀態(tài)信息。隨著查詢消息在網(wǎng)絡中傳播,TopDisc算法依次為 每個節(jié)點標上顏色。最后,按照顏色區(qū)分出簇頭節(jié)點,并通過反向尋找查詢消息的傳播路徑, 在簇頭節(jié)點之間建立通信鏈路,簇頭節(jié)點管轄自己簇內的節(jié)點。T叩Disc算法構建成的層次網(wǎng)絡 靈活性不強,重復執(zhí)行算法的開銷過大,另外,該算法也沒有考慮節(jié)點剩余能量和網(wǎng)絡魯棒性的問題。在分簇結構中,比較有影響的是LEACH算法。LEACH (Low Energy Adaptive Clustering Hierarchy)是一種周期執(zhí)行的自適應分簇拓撲算法,每個周期分為簇建立和穩(wěn)定數(shù)據(jù)通信兩個階 段。在簇的建立階段,相鄰節(jié)點動態(tài)地形成簇,隨機產生簇頭;在數(shù)據(jù)通信階段,簇內節(jié)點把 數(shù)據(jù)發(fā)給簇頭,簇頭進行數(shù)據(jù)融合,并把結果發(fā)送給匯聚節(jié)點。由于簇頭需要完成數(shù)據(jù)融合、 與匯聚節(jié)點通信等工作,所以能量消耗非常大。LEACH通過算法等概率地選取擔任簇頭的節(jié)點, 使得網(wǎng)絡中節(jié)點能耗相對均衡。節(jié)點當選簇頭以后,發(fā)布通告消息告知其它節(jié)點自己是新簇頭。 非簇頭節(jié)點根據(jù)自己與簇頭之間的距離來選擇加入哪個簇,并告知簇頭。與GAF相比,LEACH 算法僅僅利用了相對位置信息,不要節(jié)點的利用額外的硬件設備獲得節(jié)點具體位置信息。但是 LEACH算法隨機選取簇頭,沒有考慮到簇頭在網(wǎng)絡中的分布情況,HEED(Hybrid Energy Efficient Distributed Clustering)針對這個情況,考慮了與LEACH不同的簇頭選擇標準以及簇頭 競爭機制,引入成簇后簇內的通信開銷和節(jié)點剩余能量作為參數(shù),讓各節(jié)點以不同的初始概率 發(fā)送競爭消息,使得選出的簇頭更適合擔當數(shù)據(jù)轉發(fā)任務,形成的網(wǎng)絡拓撲更趨合理,全網(wǎng)能 量消耗更均勻,此外,節(jié)HEED成簇速度有一定的改進。在分簇算法的具體實現(xiàn)方面,Sohrahi 提出使用兩個信道將系統(tǒng)劃分成兩個簇的雙信道分組機制(DNC)和集合分組機制(RCA), Caccamo使用將系統(tǒng)分成多個簇,使用FDMA方式,相鄰的簇使用不同的頻率通信。Wei Ye結 提出在需要交互的節(jié)點之間進行時間同步、組成虛擬簇,同一虛擬簇中的節(jié)點按照統(tǒng)一的調度 表,周期性地休眠與監(jiān)聽。該方法避免了簇間交互帶來的復雜通信問題,但是,時間同步需要 每個節(jié)點都需要周期性地廣播調度信息,增加了網(wǎng)絡的開銷。
1.3休眠輪值在傳感器網(wǎng)絡中,功率控制可較好的解決網(wǎng)絡連通性需求,并在一定程度上 降低通信干擾、進行負載均衡控制,但相關研究工作表明,節(jié)點發(fā)射功率最大或者最小,對延 長節(jié)點使用時間的影響是非常有限的,對節(jié)點電力損耗最大的無線通信模塊,因此關閉接收器 和發(fā)射器甚至讓整個傳感器節(jié)點進入睡眠狀態(tài)是最有效的節(jié)能方法??紤]到面向監(jiān)測應用的傳 感器網(wǎng)絡通常是事件驅動的,網(wǎng)絡中節(jié)點在沒有檢測到事件時,通信模塊不必一直保持在活動 狀態(tài)。可在沒有事件發(fā)生時,設置節(jié)點的通信模塊為睡眠狀態(tài);而在有事件發(fā)生時,及時自動 醒來并喚醒鄰居節(jié)點,形成數(shù)據(jù)轉發(fā)的拓撲結構。此類方法的核心是何時喚醒哪些節(jié)點、又如 何喚醒這些節(jié)點。STEM (Sparse Topology and Energy Management)是較早提出的節(jié)點喚醒算法, 它包含兩種不同的機制,STEM-B, STEM-T,旨在提供簡單而迅速的節(jié)點喚醒方式,保證網(wǎng)絡 通信的暢通和減小節(jié)點喚醒造成的時延。STEM-B為了避免喚醒信號和數(shù)據(jù)通信的沖突,使用 偵聽信道和數(shù)據(jù)傳輸信道兩個分離信道,當一個節(jié)點想給另外一個節(jié)點發(fā)送數(shù)據(jù)時,主動發(fā)送 一串beacon包,目標節(jié)點通過開放的偵聽信道接受到beacon包后,發(fā)送應答信號并自動進入 數(shù)據(jù)接受狀態(tài)。主動節(jié)點接收到應答信號后,進入數(shù)據(jù)發(fā)送階段。STEM-T沒有使用分離信道, 休眠節(jié)點周期性進入偵聽階段,探測是否有鄰居節(jié)點發(fā)送數(shù)據(jù)。想與某鄰居節(jié)點進行通信的 節(jié)點,在長度大于偵聽時間間隔的區(qū)間內發(fā)送一連串的喚醒包,鄰居節(jié)點喚醒后直接進入數(shù)據(jù) 接受狀態(tài),然后節(jié)點直接發(fā)送數(shù)據(jù)包。STEM-T比STEM-B算法省略了請求應答過程,但增 加了節(jié)點喚醒次數(shù)。STEM算法使節(jié)點在整個生命周期中多數(shù)時間內通信模塊處于睡眠狀態(tài)適用于類似環(huán)境監(jiān)測或者突發(fā)事件監(jiān)測等應用,目前STEM算法可以和很多其它類型的拓撲算法 結合使用,如GAF算法。值得注意的是,在STEM算法中,節(jié)點的睡眠周期、部署密度以及 網(wǎng)絡的傳輸延遲之間有著密切的關系,要針對具體的應用進行調整。ASCENT(Adaptive self-configuring sensor networks topologies)與旨在減少節(jié)點喚醒時間的STEM算法不同,它著重 于均衡網(wǎng)絡中骨干節(jié)點的數(shù)量,并保證數(shù)據(jù)通路的暢通。在ASCENT算法中,節(jié)點可以處于四 種狀態(tài)休眠狀態(tài),節(jié)點關閉通信模塊,能耗最?。粋陕牋顟B(tài),節(jié)點只對信息進行偵聽,不進 行數(shù)據(jù)包的轉發(fā);測試狀態(tài), 一個暫態(tài),節(jié)點參與數(shù)據(jù)包的轉發(fā),并運行算法,判斷自己是否 需要變?yōu)榛顒訝顟B(tài);活動狀態(tài),節(jié)點負責數(shù)據(jù)包的轉發(fā),能耗最大。ASCENT算法運行過程可 劃分為觸發(fā)、建立和穩(wěn)定三個主要階段。觸發(fā)階段匯聚節(jié)點與數(shù)據(jù)源節(jié)點不能正常通信時,匯 聚節(jié)點向它的鄰居節(jié)點發(fā)出求助信息進入建立階段,處于偵聽狀態(tài)的鄰居節(jié)點收到求助信息時, 立即進入測試狀態(tài),通過一定的算法決定自己是否成為活動節(jié)點,如果成為活動節(jié)點,就向其 它鄰居節(jié)點發(fā)送通告消息,同時,這個消息是其它鄰居節(jié)點判斷自身是否成為活動節(jié)點的因素 之一;穩(wěn)定階段指當數(shù)據(jù)源節(jié)點和匯聚節(jié)點之間的通信恢復正常時,網(wǎng)絡中活動節(jié)點的個數(shù)保 持穩(wěn)定,其它節(jié)點周期性的處于偵聽和睡眠狀態(tài);穩(wěn)定階段保持一段時間后,由于個別節(jié)點能 量耗盡或者外界干擾等因素,網(wǎng)絡中又出現(xiàn)通信不暢現(xiàn)象,偵聽節(jié)點收到求助信息或者偵聽到 周圍存在丟包現(xiàn)象時,轉入測試狀態(tài),系統(tǒng)就進入新的觸發(fā)階段。
2. 容錯的拓撲控制方法
同樣是考慮到由于能量或者環(huán)境問題必然會有部分節(jié)點死亡,容錯的方法主要著眼于網(wǎng)絡 功能,研究能容忍網(wǎng)絡中個別節(jié)點失效的容錯拓撲生成方法,這類方法主要是提供多點連通和 多邊連通度的網(wǎng)絡圖的建立方法?;舅枷胧鞘」?jié)點會使得原本連通的網(wǎng)絡拓撲分割,從而 大大降低網(wǎng)絡的覆蓋度,甚至導致網(wǎng)絡失敗(Network failure),即整個網(wǎng)絡無法正常工作??紤] 到在k-連通圖中,k-l個節(jié)點的失敗,不會改變圖的連通性,近期出現(xiàn)了一些關于容錯拓撲的 研究["5,通過功率控制生成能量最小的k-連通的無線傳感器網(wǎng)絡拓撲,來容忍k-l個節(jié)點的失 敗。這些工作把容錯拓撲控制問題等價為尋找多連通圖,并把所找到的圖的連通度當成衡量拓 撲容錯能力高低的標準。然而,此類拓撲控制算法存在三個方面的問題, 一、尋找這種多連通 圖是困難的,即使是在平面圖中,求能量最優(yōu)的多連通圖問題都被證明為NP難的;已有尋找 k-點連通,k-邊連通的功率控制算法都是近似算法;二、獲得多連通圖的算法必然形成過于密
集的網(wǎng)絡,導致整個網(wǎng)絡的能耗成倍數(shù)增長7,同時節(jié)點間的通信干擾大大增加;三、由于上
述兩個問題的存在,使得此類算法所能提供的k-連通圖的k值非常小,通常介于2到5之間, 僅能容忍少量(l-4個)失敗節(jié)點,這對大規(guī)模網(wǎng)絡中常出現(xiàn)多個故障節(jié)點的情形是不夠的,對于 惡意的攻擊形成的大量的有選擇的入侵節(jié)點,這種k值非常小的k-連通圖更是無能為力。
3. 容侵的拓撲控制方法
基于節(jié)能和基于容錯的兩類方法都未曾考慮環(huán)境對拓撲影響,惡意環(huán)境可能攻擊拓撲生成 與運行過程從而進入網(wǎng)絡內部成為入侵節(jié)點進而控制整個網(wǎng)絡,也可能形成大量失敗節(jié)點超出 上述容錯拓撲的容忍能力從而導致網(wǎng)絡失敗;Wang等在IPDPS2006上指出了研究無線傳感器網(wǎng)絡中容忍入侵的拓撲的重要性,并從理論層面上探討了惡意環(huán)境下蓄意的入侵行為(Intrusion) 與通常情況下的網(wǎng)絡故障(Fault)對網(wǎng)絡拓撲的影響與評估方法,但是未能給出容忍入侵的拓撲 控制方法以保證在入侵存在的情況下能建立并維持連通且魯棒的拓撲結構。
總體來說,對于無線傳感器網(wǎng)絡的拓撲控制問題,考慮到其節(jié)點計算能力、通信能力、存
儲能力的弱以及電池電量有限,使得延長網(wǎng)絡的生存期保證關鍵服務成為第一要k,節(jié)能、容
錯、容侵都是為這個目標服務的。而現(xiàn)有的針對無線傳感器網(wǎng)絡提出的拓撲控制方法,多不曾
考慮惡意的敵對的外在環(huán)境,尚未見關于容忍入侵的拓撲控制方法的報道。
發(fā)明內容
技術問題為了克服現(xiàn)有技術的不足,本發(fā)明提供一種容忍入侵的無線傳感器網(wǎng)絡拓撲生 成方法,用于實現(xiàn)惡意環(huán)境中網(wǎng)絡的拓撲控制問題,可生成具有較高容侵能力的拓撲結構,該 結構能容忍部分節(jié)點被入侵,同時保證網(wǎng)絡的關鍵服務。
技術方案本發(fā)明的容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法是使用基于三色思想的拓撲 生成方法,首先將所有節(jié)點染成白色,任選一節(jié)點染成黑色節(jié)點,使用功率控方法,使用鄰節(jié) 點發(fā)現(xiàn)協(xié)議尋找簇半徑r,和控制半徑r2內點并分別染成灰色和黑色,對所有黑色節(jié)點重復使用 這種基于功率控制的染色方案,直到所有白色節(jié)點都被染成黑色或灰色節(jié)點為止,生成黑色節(jié) 點為活動節(jié)點、灰色節(jié)點為休眠節(jié)點的兩層網(wǎng)絡拓撲。
鄰節(jié)點發(fā)現(xiàn)協(xié)議中的簇半徑n和控制半徑r2的值需滿足, < 丄,< ,< 。5r 。
鄰節(jié)點發(fā)現(xiàn)協(xié)議中,發(fā)起者A以通信半徑r廣播用會話密鑰尺a加密后的鄰節(jié)點査詢消息, 該消息包含發(fā)起者A的節(jié)點身份/D;接收到鄰節(jié)點查詢消息的接收者B,用會話密鑰^a解密 后記錄發(fā)起者A的節(jié)點身份/Z),并將自己的節(jié)點身份/Z)用會話密鑰/:B傳送給發(fā)起者A作為 回復;發(fā)起者A收到接收者B的恢復消息后,用會話密鑰《B解密后記錄接收者B的節(jié)點身份 /£ ,該協(xié)議相關節(jié)點進行了 2次握手,僅發(fā)送了兩條消息。
會話密鑰Ka和Kb由會話密鑰建立協(xié)議生成,會話密鑰建立協(xié)議由R叫uest和Reply兩條 信息組成的一次交互生成;Request是發(fā)起者A計算出它與接收者B的共享秘密/Cab,然后選 擇一個隨機數(shù)《a作為會話密鑰,用Kab加密后,連同自己節(jié)點身份/D—起發(fā)送給B,即A向 B發(fā)送消息M氣(^kAB,/AO, /Z a為接收者A的節(jié)點身份ID; Reply是B收到M后,根據(jù)A
的身份信息計算出^AB解密求出KA,并用《AB加密它自己的密鑰尺B給A作為回應,即A向B
發(fā)送消息A/2= ((KB) kab, /^), /Db為接收者B的節(jié)點身份ID。
會話密鑰建立協(xié)議中的共享秘密^ab稱為主密鑰,由主密鑰協(xié)商協(xié)議生成,主密鑰協(xié)商協(xié) 議的發(fā)起者A向接收者B發(fā)出包含了自己的身份/Z)a的請求信息;B回復一條包含自己的身 份/Z B的信息;A、 B根據(jù)計算公式/^B^/(/Av,/DB)計算出共享秘密/CAB。
節(jié)點身份/Z)是在傳感器節(jié)點布置以前,由網(wǎng)絡部署者指定分配的。
計算公式Kab =X/Z)a, /Z b)中函,/由網(wǎng)絡部署者隨機產生,是一個在某一無窮域F上度數(shù)
為f的對稱雙變量多項式/0,力=力 JC>'( =。有益效果本發(fā)明與現(xiàn)有技術相比,具有以下優(yōu)點
1. 安全性,安全結構給拓撲控制過程提供了傳感器節(jié)點的認證,而且為拓撲建立和更新過程 提供了消息通信的保密性安全結構能夠阻止傳感器網(wǎng)絡面臨的絕大多數(shù)攻擊行為,唯一不能阻 止的威脅是物理的節(jié)點捕獲,但是拓撲的容侵性使得可以容忍一定數(shù)目的被捕獲節(jié)點。攻擊者 捕獲并復制了一個節(jié)點的信息從而獲得了該節(jié)點的所有消息,并作為一個合法節(jié)點打入網(wǎng)絡內 部。但是,先應式的會話密鑰更新,以及安全結構提供的前向保密性,使得該節(jié)點只能取得某 一個周期內的秘密;同時,若對第一批和第二批傳感器節(jié)點的ID進行區(qū)分的話,則該節(jié)點無法 重新以一個合法節(jié)點的身份加入網(wǎng)絡拓撲。即使該節(jié)點作為一個合法的節(jié)點打入網(wǎng)絡,僅能在 一個通信簇內進行活動,獲得該簇的會話密鑰并解密發(fā)送給它的消息,不能對網(wǎng)絡的正常服務 產生毀滅性的影響。
2. 前向保密性和后向保密性;為節(jié)點加入和離開網(wǎng)絡提供了前向保密性和后向保密性;此外, 它最小化了個別俘虜節(jié)點對整個網(wǎng)絡拓撲的影響。節(jié)點認證由主密鑰協(xié)商協(xié)議實現(xiàn),因為其他 節(jié)點無法獲得初始布置前CA分發(fā)的密鑰材料完成(多項式系數(shù)),從而沒有非法的節(jié)點能推導出 其他節(jié)點的發(fā)送密鑰,只有合法的節(jié)點能夠加入通信;此外,認證過程被隱式的包含在密鑰交 換過程中,僅僅只需要兩條額外的消息就能完成。保密性是通過加密消息獲得的,這防止了消 息的任何非法的泄漏,在一個方面使得攻擊者只能通過暴力攻擊獲得合法的信息,另一方面由 于信息的加密而使得攻擊者無法獲得信息的內容。使用計數(shù)器操作的加密過程與純粹簡單的加 密相比,在不增加消息負載的情況下,給每條消息增加一個索引號,消息僅僅被微量地擴展了, 但是接受者能夠發(fā)現(xiàn)已經(jīng)使用過的計數(shù)值,從而可以有效地阻止重放攻擊。節(jié)點死亡或者被敵 手物理攻擊造成節(jié)點離開時,會話密鑰更新,即使對手獲得離開節(jié)點的密鑰,依然不能解密后 續(xù)數(shù)據(jù),從而具備了后向保密性;新節(jié)點加入時,也會進行密鑰更新,新加入節(jié)點無法獲得加 入前的信息,從而使得網(wǎng)絡數(shù)據(jù)具備了前向保密性。
3. 節(jié)能性整個拓撲自再生過程是節(jié)能的。首先,在拓撲自生成協(xié)議中,算法是單步執(zhí)行 并且必然有終結點的,而當前的一些著色算法,只能通過大量計算迭代才能收斂相比,計算復 雜度非常低,降低了通信量;此外,拓撲生成算法的信息廣播限制在有限的通信半徑內,且是 單跳的,與常用全網(wǎng)多跳廣播相比,大大降低了通信量。其次,在拓撲更新協(xié)議中,雖然有幾 次廣播和通信,但是每次都局限在其通信半徑內的一跳通信,因此,對全網(wǎng)能量的消耗是非常 有限的。再次,在新節(jié)點加入?yún)f(xié)議中,也是就近加入已形成的簇,不用改變整個網(wǎng)絡的運行情 況,所使用的通信量非常有限。最后,在拓撲重構過程中,僅僅是增加了一個惡意節(jié)點黑名單, 其它過程和拓撲自生成算法一樣,具有很低的計算復雜度和通信量。此外,所有布置的密碼學 算子在運行時間和內存使用上都是非常有效的,沒有超出信息的重要性,基于密碼學的認證過 程也被隱式的包含在密鑰交換過程中,僅僅只需要兩條額外的消息就能完成。
4. 容侵性容侵性包括兩個方面, 一個是拓撲結構的容侵性,另一個是安全結構的容侵能 力。因為如果拓撲結構不具有容侵能力,即使安全結構尚未被破壞,但是網(wǎng)絡本身已無法提供 服務;如果僅拓撲結構具有容侵能力,但是安全結構己遭破壞,則網(wǎng)絡雖然能提供服務,但已無法保證服務的安全性。首先,安全結構提供的節(jié)點認證和通信加密與認證排除了來自外部節(jié) 點的攻擊行為,使得外部攻擊僅限于物理方式的破壞,這種破壞分為兩種形式, 一種是物理捕 獲并復制節(jié)點從而實施內部攻擊,對這種具有較高代價的攻擊方式放在后面分析,另一是單純 的被動的破壞,使得傳感器節(jié)點不能正常工作。對于被動的物理攻擊,僅能形成節(jié)點死亡,拓 撲生成和更新算法形成的網(wǎng)絡具有較高的容錯度和容侵度,在簇內,多個節(jié)點只要有一個沒有 死亡或者被俘虜,即可啟動拓撲更新協(xié)議選取該節(jié)點充當簇頭,從而不影響數(shù)據(jù)轉發(fā)骨干網(wǎng)的 連通絡,同時簇內允許第二代節(jié)點即時加入的節(jié)點加入?yún)f(xié)議保證了通信簇的簇內容侵能力;在 簇間,對于簇頭形成的骨干網(wǎng)絡,即使鄰近的3個簇包含簇頭的成員節(jié)點全部被隔離,亦可形 成具有較低容侵度的連通網(wǎng)絡,并發(fā)起拓撲自再生算法,讓新一代節(jié)點的加入已提高網(wǎng)絡的容 侵性能。只要能保證新節(jié)點的加入,就不會出現(xiàn)網(wǎng)絡失敗,就能保證高容侵拓撲的存在和網(wǎng)絡 的正常運行。對于主動的物理捕獲與節(jié)點造成的內部攻擊,安全結構使得我們可以容忍一定數(shù) 目的內部入侵節(jié)點。當一個來襲身份復制的攻擊節(jié)點,它自身可能通過網(wǎng)絡認證參與通信過程, 但是它僅僅只是一個灰色的休眠態(tài)節(jié)點,能獲得該簇內轉發(fā)給該節(jié)點的消息,它甚至不能偽造 傳感數(shù)據(jù),因為這樣很容易被同時具有數(shù)據(jù)融合任務的簇頭發(fā)現(xiàn)。如果該復制節(jié)點獲得了簇頭 的權利,它的破壞力會大大增加,但是拓撲更新協(xié)議使得它僅能在一個周期內充當簇頭,即使 在它充當簇頭期間,它的破壞力也由僅限于竊聽簇內廣播消息擴大為對本簇傳感數(shù)據(jù)的偽造以 及經(jīng)過它的消息傳說過程的竊聽和破壞,對于依賴于多路徑的數(shù)據(jù)轉發(fā)的主干網(wǎng)來說,只要不 超過Z個節(jié)點被俘獲,那些介于非俘獲節(jié)點間的通信依然是安全的。
圖1為基于著色思想的拓撲生成算法流程圖,
圖2為基于著色思想的拓撲生成算法實例示意圖。
具體實施例方式
在傳感器節(jié)點布置之初,全部設為白色,然后根據(jù)算法1,等算法結束時,黑色節(jié)點作為 簇頭,打開通信模塊,接受并轉發(fā)其通信半徑內其他傳感器節(jié)點發(fā)來的信息;而其鄰域內的灰 色節(jié)點節(jié)點均處于休眠狀態(tài),關閉通信模塊,節(jié)省能量,直到有新數(shù)據(jù)產生才發(fā)送給黑色簇頭 節(jié)點。
算法1基于著色思想的拓撲生成算法-
(1) 初始化網(wǎng)絡,所有節(jié)點均為白色節(jié)點;
(2) 任選網(wǎng)絡中某一節(jié)點A標記為黑色;
(3) 新當選黑色節(jié)點以半徑n發(fā)起鄰節(jié)點査詢協(xié)議(協(xié)議1),將該黑色節(jié)點的所有關于半徑n 的白色鄰節(jié)點標記為灰色,并保留這些灰色節(jié)點記錄;
(4) 新當選黑色節(jié)點以半徑^發(fā)起鄰節(jié)點査詢協(xié)議,在節(jié)點A的所有半徑為r2的白色節(jié)點中任 選一點B,標記為黑色,不保留以半徑^發(fā)起鄰節(jié)點記錄;(5)轉至(3),直到找不到滿足要求的白色節(jié)點為止。
算法l中r為傳感器節(jié)點的通信半徑,n、 ^的值需滿足式(1):
1 W
算法1中所使用的鄰節(jié)點發(fā)現(xiàn)協(xié)議由協(xié)議1給出 協(xié)議l鄰節(jié)點查詢協(xié)議
(1) 節(jié)點A以一定通信半徑r廣播鄰節(jié)點査詢消息,該消息包含節(jié)點A的ID;
(2) 節(jié)點B接受到A的鄰節(jié)點査詢消息后,記錄A的ID,并將自己的ID傳送給A作為回復;
(3) 節(jié)點A收到節(jié)點B的恢復消息后,記錄B的ID。
協(xié)議1中的消息是用會話密鑰加密的,這需要安全結構的支撐。相關安全結構實現(xiàn)了基于 三個不同但存在交互的步驟首先是主密鑰協(xié)商,提供了節(jié)點認證和最初的密鑰交換;然后是 會話密鑰建立,形成了通信簇,將基于對稱密鑰的加密通信擴展為一定通信范圍內的廣播;最
后是數(shù)據(jù)通信的加密和認證,如協(xié)議1中使用了消息加密,獲得了網(wǎng)絡消息的可認證性和保密 性。
在傳感器節(jié)點布置以前,由CA給每個傳感器節(jié)點一個唯一的身份標記/Z),同時CA隨機 產生一個在某一無窮域F上度數(shù)為/的對稱雙變量多項式/;cjO,如公式(2):
/(A力=Z " J V K = ) (2)
然后用式(2)給每個節(jié)點(依據(jù)不同的/Z)值)計算屬于它們的私有多項式
W = /("") (3)
顯然,g^是一個度數(shù)為f的關于x的單變量多項式,CA在網(wǎng)絡布置之初將密鑰材料(多項
式g^的系數(shù))分發(fā)到對應的傳感器節(jié)點中。這樣兩個節(jié)點就能通過計算各自的私有多項式確定 他們的共享秘密,即將對方的/Z 作為g^O)中的;c。很容易能推導出兩個節(jié)點會計算出相同的 多項式值/0,y)。如兩個不同的節(jié)點/I^和/D2,可以用采用式(4)和(5)求值
gMarg-yx/z^/z),) (4)
^2(叫)=/(叫,/£>2) (5) 從而可獲得g^(/Z)2) = 即式(3)和式(4)所得運算結果相同,可作為兩個節(jié)點共
享的秘密。主密鑰協(xié)商協(xié)議如下 協(xié)議2 :主密鑰協(xié)商協(xié)議
①發(fā)起者A向接收者B發(fā)出包含了自己的身份/D,的 請求信息;
② 節(jié)點B回復一條包含自己的身份/Z)2的信息中,同時
根據(jù)式(4)計算值作為共享秘密KBA;
③ 節(jié)點A根據(jù)公式(5)計算出B持有的共享秘密Xab。 主密鑰生成時為使無線傳感器網(wǎng)絡中兩個節(jié)點確能確定一個對稱的秘密并且該秘密僅僅被
這兩個節(jié)點所共享。會話密鑰的建立階段,傳感器節(jié)點總是要廣播信息給它們的直接鄰居,每個節(jié)點都必須與它的鄰節(jié)點隨機產生一個安全的會話密鑰,會話密鑰僅僅被用來加密和認證它 們之間發(fā)送或者接受到的消息。如果節(jié)點A接受了一條來自節(jié)點B的消息,但是A不能解密和 認證這條信息,則節(jié)點A啟動協(xié)議2來完成密鑰協(xié)商的過程。 協(xié)議3:會話密鑰建立協(xié)議
Request: A計算出它與消息源節(jié)點的共享秘密/^vb,然后選擇一個隨機數(shù)^a作為會話密鑰, 用Kab加密后,連同自己身份/DA —起發(fā)送給節(jié)點B ,即A向B發(fā)送消息A/產((KAkAB, /A0。 ②Reply:發(fā)送者B根據(jù)A的身份信息計算出Kab解密求出并用^ab加密它自己的密鑰KB 給A作為回應,即A向B發(fā)送消息恥=((KB) kab, /£>b)
實施實例 一種容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法,圖2(a)顯示了算法l執(zhí)行完的 第一個循環(huán)后的情景,依據(jù)算法l有^^r,因而在形成次序上相鄰的兩個黑色節(jié)點之間距離
小于節(jié)點的通信半徑,可以直接通信。
此外,在算法l形成的拓撲圖中,若標記出邊長為n的正方形虛擬網(wǎng)格,由于本文假設傳 感器節(jié)點在配置時具有足夠髙的密度,因而則任意一個虛擬網(wǎng)格中必有一個黑色節(jié)點;而由公 式(l)知^+"根據(jù)勾股定理,可以很容易的證明任意兩個相鄰網(wǎng)格內的節(jié)點間距離小于通信 半徑r,即任意兩個空間位置上相鄰的黑色節(jié)點之間可以直接通信,如圖2(b)所示,處于運行態(tài) 的黑色節(jié)點已經(jīng)形成了一個連通的網(wǎng)絡拓撲;灰色節(jié)點可以關閉通信模塊,達到在全網(wǎng)范圍內 節(jié)省能量的目的。圖2(b)中保證了任何一個黑色節(jié)點的通信半徑內有多個黑色節(jié)點,這就使得 網(wǎng)絡不會因為單點失效而失敗,且一定數(shù)量(f個)的節(jié)點失效后,不會造成某個黑色成為信息孤 島。
對于網(wǎng)絡的安全結構,在具體的實驗中,我們的網(wǎng)絡規(guī)模并不大,因此可以把/Z)取值限制 在一個較小的范圍,如0</£><216。然后每個節(jié)點采用式(6)的秦九韶算法來求這個秘密值,該算 法可以有效的減少多項式運算中的乘法運算次數(shù),將乘法運算的次數(shù)由0(力2)減少到O(O次。
=(...(a,/Z>+ +a,_2/D" + &
畔..(a, /D.+ aM )/D + a,—2 )/D +…+ a, )/D + a0 (6)
當傳感器節(jié)點布置完成后,兩個節(jié)點A、 B要進行通信,則只需要發(fā)起者A發(fā)出包含了自 己的身份IDA請求信息,B在回復信息中包含自己的身份IDB即可,然后各自根據(jù)式(2)求值, 即可求出共享秘密值,可以用作對密鑰材料。這個方法具有一定的容侵性能,對不超過/個節(jié) 點被俘虜(入侵)的情形下,是無條件安全的,在協(xié)作式傳感器網(wǎng)絡中,這意味著一個攻擊者必 須至少入侵f個節(jié)點才有可能破壞整個網(wǎng)絡的機密性,從而安全結構本身也是容侵的。
權利要求
1.一種容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法,其特征是使用基于三色思想的拓撲生成方法,首先將所有節(jié)點染成白色,任選一節(jié)點染成黑色節(jié)點,使用功率控方法,使用鄰節(jié)點發(fā)現(xiàn)協(xié)議尋找簇半徑r1和控制半徑r2內點并分別染成灰色和黑色,對所有黑色節(jié)點重復使用這種基于功率控制的染色方案,直到所有白色節(jié)點都被染成黑色或灰色節(jié)點為止,生成黑色節(jié)點為活動節(jié)點、灰色節(jié)點為休眠節(jié)點的兩層網(wǎng)絡拓撲。
2. 根據(jù)權利要求1所述的容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法,其特征是鄰節(jié)點發(fā)現(xiàn)協(xié)議中的簇半徑n和控制半徑r2的值需滿足,
3. 根據(jù)權利要求l所述的容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法,其特征是鄰節(jié)點發(fā)現(xiàn) 協(xié)議中,發(fā)起者A以通信半徑r廣播用會話密鑰《a加密后的鄰節(jié)點査詢消息,該消息包含發(fā)起者A的節(jié)點身份接收到鄰節(jié)點査詢消息的接收者B,用會話密鑰《a解密后記錄發(fā)起者A 的節(jié)點身份//),并將自己的節(jié)點身份/Z)用會話密鑰《b傳送給發(fā)起者A作為回復;發(fā)起者A 收到接收者B的恢復消息后,用會話密鑰^b解密后記錄接收者B的節(jié)點身份/D,該協(xié)議相關 節(jié)點進行了 2次握手,僅發(fā)送了兩條消息。
4. 根據(jù)權利要求3所述的容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法,其特征是會話密鑰 尺a和&由會話密鑰建立協(xié)議生成,會話密鑰建立協(xié)議由Request和Reply兩條信息組成的一次 交互生成;Request是發(fā)起者A計算出它與接收者B的共享秘密《AB,然后選擇一個隨機數(shù)《A 作為會話密鑰,用^ab加密后,連同自己節(jié)點身份/£> 一起發(fā)送給B,即A向B發(fā)送消息 M=((KAkAB,/£>A), /"a為接收者A的節(jié)點身份ID; Reply是B收到M,后,根據(jù)A的身份信息計算出《ab解密求出《a,并用《ab加密它自己的密鑰^b給A作為回應,即A向B發(fā)送消息械=((Kb) kab, /Db), JDb為接收者B的節(jié)點身份ID。
5. 根據(jù)權利要求4所述的容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法,其特征是會話密鑰建 立協(xié)議中的共享秘密尺ab稱為主密鑰,由主密鑰協(xié)商協(xié)議生成,主密鑰協(xié)商協(xié)議的發(fā)起者A向 接收者B發(fā)出包含了自己的身份/£>A的請求信息;B回復一條包含自己的身份/£ B的信息;A、B根據(jù)計算公式Kab =7(/£>A, /i B)計算出共享秘密^ab。
6. 根據(jù)權利要求3所述的容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法,其特征是節(jié)點身份/£> 是在傳感器節(jié)點布置以前,由網(wǎng)絡部署者指定分配的。
7. 根據(jù)權利要求5所述的容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法,其特征是計算公式^ab^/(/Av,/Z)b)中函數(shù)/由網(wǎng)絡部署者隨機產生,是一個在某一無窮域F上度數(shù)為f的對稱雙變量多項式/0,力=j] x'/( ="力)。<formula>formula see original document page 2</formula>
全文摘要
一種容忍入侵的無線傳感器網(wǎng)絡拓撲生成方法,使用一種基于三色思想的拓撲生成方法,分別表示傳感器網(wǎng)絡節(jié)點分為初始狀態(tài)、休眠狀態(tài)和運行狀態(tài)三種狀態(tài),通過讓部分節(jié)點休眠達到節(jié)省網(wǎng)絡總能耗延長網(wǎng)絡壽命的目的,同時生成的多連通的拓撲結構具有幾何上的容忍入侵特性,即當不超過一定數(shù)目的節(jié)點失敗時,不影響網(wǎng)絡的連通性。該方法中使用了一種輕量級的安全結構,可提供主密鑰協(xié)商協(xié)議、會話密鑰協(xié)商協(xié)議以及會話密鑰加密的數(shù)據(jù)傳輸。加密數(shù)據(jù)的會話密鑰丟失可及時更新,不影響主密鑰的安全性,提供了適用于變動拓撲的前向保密性和后向保密性,在不超過t個節(jié)點被俘虜變節(jié)或被復制時,不影響安全結構整體,具備安全意義上的容忍入侵特性。
文檔編號H04L9/08GK101409617SQ20081015572
公開日2009年4月15日 申請日期2008年10月8日 優(yōu)先權日2008年10月8日
發(fā)明者王良民, 羅軍舟, 韓志耕 申請人:東南大學