專利名稱:無線傳感器網絡的多維途中過濾方法
技術領域:
本發明涉及一種無線傳感器網絡中的過濾方法,尤其涉及一種無線傳感器網絡的
多維途中過濾方法。
背景技術:
無線傳感器網絡是一項有望將無線網絡、現代傳感器和嵌入式系統三大核心工業 技術集成融合的新興交叉學科技術。它可以廣泛應用于實時自主監控和目標遠程追蹤等軍 事與民用的各個領域。其應用場景有些是對人具有危險性(如化工領域)的環境,有些是 具有敵對性(如交戰雙方的戰場)的場景。因此,對于自主運行的無線傳感器網絡來說,安 全性是非常關鍵也是必不可少的特性。 由于無線傳感器網絡一般具有遠程部署、自主運行等特點,所以傳感器節點容易 被攻擊者所俘獲并用來發動各類攻擊,其中就包括虛假數據注入攻擊與虛假數據報告攻 擊。虛假數據注入攻擊是指被俘獲的傳感器節點發送大量虛假數據包以便耗盡網絡資源, 虛假數據報告攻擊是指被俘獲的傳感器節點發送虛假數據報告以便誤導匯聚節點做出錯 誤判斷。虛假數據注入攻擊類似于互聯網中的拒絕服務攻擊,而互聯網中應對拒絕服務攻 擊的方法主要包括出口過濾與溯源追蹤等。因為溯源追蹤需要收集到大量的數據報,所以 目前無線傳感器網絡領域應對此兩類攻擊的方案主要為一維途中過濾,即密鑰庫被劃分為 多個組,每個節點選擇加入一個組,然后在該組中選擇部分密鑰存儲。 一個合法的數據包必 須獲得T個監測節點的標記,節點利用其所存儲的密鑰標記它所監測到的事件對應的數據 包,或者對轉發數據包進行認證與過濾。 覆蓋性能、過濾效率、抗俘獲性是衡量途中過濾解決方案的三大指標。網絡中任意 位置一個事件發生后,該事件所對應的數據包能夠攜帶T個合法標記的概率為p,則p代表 了網絡的覆蓋性。假設一個虛假數據包平均在被轉發h步后被過濾掉,則h代表了方案的 過濾效率。假設網絡中共有N個節點,網絡區域面積為A,當有n個節點被俘獲的情況下,攻 擊者可以偽造An面積內的虛假數據而不被發現,則An/A表示網絡的抗俘獲性。
目前存在三類典型的途中過濾方案SEF,LBRS,GBSEF。其中SEF是最早提出的途 中過濾方案,在該方案中每個節點隨機地在密鑰庫中選擇小部分密鑰存儲,每個節點用自 己的密鑰加密和過濾數據包,但是SEF方案抗俘獲性較差,攻擊者俘獲大約2T個節點,便 可以極高的概率偽造發生于網絡中任何區域的事件。為了解決SEF抗俘獲性較差的問題, LBRS提出了基于地理位置信息的密鑰分配方案,即攻擊者俘獲一定數目的節點,則只能偽 造這些節點對應區域所發生的事件,同時,為了提高方案的覆蓋性能,LBRS將網絡密鑰庫分 為L組,其中L遠大于T,但是由于途中節點可能存儲了大量無效分組的密鑰,所以降低了過 濾效率,雖然LBRS通過光束模型緩解了此問題,但是光束模型要求匯聚節點不能移動,并 且系統必須采用特定的基于地理位置信息的路由機制,造成了方案通用性不足。GBSEF解決 方案將網絡密鑰庫僅分為T組,這樣可以在不依賴靜態匯聚節點與特定路由機制的前提下 顯著提高過濾效率,但是因為網絡密鑰庫僅僅被分為T組,通過計算可知,發生在網絡區域內的事件恰好被來自T組的T個節點探測到的概率將降低,因此,該方案的覆蓋性能較低。通過理論分析與實驗驗證可以得到結論一維途中過濾方案或者不能保證抗俘獲性,或者在保證抗俘獲性的前提下,不能同時提高覆蓋性能與過濾效率。
發明內容
本發明的目的就是為了解決現有技術中存在的上述問題,提供一種無線傳感器網絡的多維途中過濾方法 本發明的目的通過以下技術方案來實現 無線傳感器網絡的多維途中過濾方法,其包括以下步驟 步驟①,將整體密鑰庫被分為兩層,設有M個密鑰集合與G個密鑰組,且每個密鑰組包含S個密鑰; 步驟②,采用坐標軸旋轉方式,令整個網絡區域內存在M條坐標軸,每條坐標軸在網絡區域內的投影被等距離劃分為S段; 步驟③,節點在部署之前都被預置了參數DT,表示分組算法運行的時段;節點被
部署后,通過定位算法確定自身位置,每個節點選擇自己在每個集合中需要加入的密鑰組。 步驟④,節點在部署時,其隨機在每個坐標軸上選擇"分段"作為其"驗證分段",即
獲得這些分段所對應的密鑰,以便對發生在遠處的事件所形成的報告進行驗證。 步驟⑤,對節點計算其在每條坐標軸上的投影位置,根據其所加入的組及每條坐
標軸上的投影位置,確定其需要存儲的每個密鑰集合中的密鑰; 步驟⑥,當發生事件時,探測此事件的多個節點,共同標記此事件,形成報告并向匯聚節點傳送,轉發節點收到報告時,利用其所存儲的密鑰對此報告進行驗證,如果驗證不通過則丟棄此節點,否則轉發此節點;匯聚節點收到報告后,對其進行最后的驗證,根據驗證結果確定接受或丟棄此報告。 上述的無線傳感器網絡的多維途中過濾方法,其中在步驟③所述的每個節點在部署之前都被分配了一個哈希函數H,用于獲得其自身需要存儲的密鑰,以便對發生在其探測區域內的事件進行標記。 進一步地,上述的無線傳感器網絡的多維途中過濾方法,其中步驟③所述的節點在部署后,首先通過一個隨機數生成算法,在每個集合中隨機選擇一個組作為本節點預備加入的組,即{&, G2, . . GM},其中&表示其在集合i中預備加入的組,然后節點運行一定的定位算法獲得其自身的位置,如果DT耗盡,則跳轉至步驟⑤。 更進一步地,上述的無線傳感器網絡的多維途中過濾方法,其中步驟③所述的節點v生成其準備廣播的信息〈v, Lv, {Gvl, Gv2,. . . GvM} >,其中v表示節點id, Lv表示節點v的位置,Gvi表示節點v在集合i中選擇加入的組,節點采用CSMA/CA協議廣播信息,如果信道不產生沖突,則發送成功,否則隨機退避一定的時間再次選擇發送;并且任意節點v維護一個鏈表,其中鏈表元素是〈dist, {GnG2,. . . GJ〉,鏈表元素按照dist降序排列,假設有m個節點在集合i中預備加入組Gi,dist表示節點v距這m個節點中之間的最短距離;節點v收到任意節點u (即節點v收到了某一個節點廣播的信息,則稱這個節點點為節點u,只是為了表述方便)的廣播〈u, Lu, {Gul, Gu2, . . . GJ >后,將進行如下步驟首先計算節點v與節點u之間的距離,設計算結果為Lvu,節點v更新本身所維護的鏈表,如果{G^G^.^GJ在以前
5的鏈表中存在并假設其對應的dist為dis^ ;如果LTO < dist"則用Lvu替換distl,否則保持dis^不變;如果{Gul, Gu2, . . GJ在以前的鏈表中不存在,則將〈LTO, {Gul, Gu2, . . . GJ >插入鏈表;節點v更新其分組的信息及廣播信息;對于任意一個密鑰集合j (例如集合1 ,集合2等,對于每一個集合,都是采用這樣的方式來確定),節點v按照如下的方法更新其所需要加入的組節點v遍歷并記錄其鏈表中節點在集合j中加入的組,如果還有i個組沒有節點加入,則節點v在這i個組中隨機選擇一個加入,如果所有的組都已經有節點加入,則節點v從這些節點中選擇距離最選的節點,并加入其所加入的組;對于其他任意集合,節點v按照同樣方法確定其所需要加入的組;如果DT未耗盡,跳轉至步驟②。
再進一步地,上述的無線傳感器網絡的多維途中過濾方法,其中步驟⑥所述的驗證為,假設原始數據報為D,同時D攜帶有一個消息認證碼MAC(k, D);其中MAC是一個全局函數,所有的節點都知道,k是密鑰;如果節點i恰好存儲有密鑰k(在本發明中,密鑰是與地理位置相對應的,節點i可以通過獲得數據報所發生的地理位置來判斷自己是否掌握密鑰k),則節點i也計算MAC (k, D),如果與數據報中攜帶的MAC (k, D) —致,則驗證通過,否則不通過。 本發明技術方案的優點主要體現在可以有效地應對無線傳感器網絡中的拒絕服務攻擊與虛假報告攻擊,解決了傳統途中過濾方法中覆蓋性能與過濾性能不可以同時提高的問題,同時仍然保持了較高的抗俘獲性。
本發明的目的、優點和特點,將通過下面優選實施例的非限制性說明進行圖示和
解釋。這些實施例僅是應用本發明技術方案的典型范例,凡采取等同替換或者等效變換而
形成的技術方案,均落在本發明要求保護的范圍之內。這些附圖當中, 圖1是網絡結構的示意圖; 圖2是密鑰組成的示意圖; 圖3是生成數據報的示意圖; 圖4是節點廣播認證數據報的示意圖; 圖5是途中過濾的示意圖。
具體實施例方式
無線傳感器網絡的多維途中過濾方法,其特別之處在于包括以下步驟步驟①,將整體密鑰庫被分為兩層,設有M個密鑰集合與G個密鑰組,且每個密鑰組包含S個密鑰;步驟②,采用坐標軸旋轉方式,令整個網絡區域內存在M條坐標軸,每條坐標軸在網絡區域內的投影被等距離劃分為S段;步驟③,節點在部署之前都被預置了參數DT,表示分組算法運行的時段;節點被部署后,通過定位算法確定自身位置,每個節點選擇自己在每個集合中需要加入的密鑰組。步驟④,節點在部署時,其隨機在每個坐標軸上選擇"分段"作為其"驗證分段",即獲得這些分段所對應的密鑰,以便對發生在遠處的事件所形成的報告進行驗證。步驟 ,對節點計算其在每條坐標軸上的投影位置,根據其所加入的組及每條坐標軸上的投影位置,確定其需要存儲的每個密鑰集合中的密鑰;步驟⑥,當發生事件時,探測此事件的多個節點,共同標記此事件,形成報告并向匯聚節點傳送,轉發節點收到報告時,利用其所存儲的密鑰對此報告進行驗證,如果驗證不通過則丟棄此節點,否則轉發此節點;匯聚節點收到報告后,對其進行最后的驗證,根據驗證結果確定接受或丟棄此報告。
進一步來看,在步驟③所述的每個節點在部署之前都被分配了一個哈希函數H,用于獲得其自身需要存儲的密鑰,以便對發生在其探測區域內的事件進行標記。并且,在步驟③所述的節點在部署后,首先通過一個隨機數生成算法,在每個集合中隨機選擇一個組作為本節點預備加入的組,即{&, G2, . . GM},其中&表示其在集合i中預備加入的組,然后節點運行一定的定位算法獲得其自身的位置,如果DT耗盡,則跳轉至步驟⑤。
再進一步來看,步驟③所述的節點v生成其準備廣播的信息〈v, Lv, {Gvl,Gv2, . . . GvM} >,其中v表示節點id, Lv表示節點v的位置,Gvi表示節點v在集合i中選擇加入的組,節點采用CSMA/CA協議廣播信息,如果信道不產生沖突,則發送成功,否則隨機退避一定的時間再次選擇發送;并且任意節點v維護一個鏈表,其中鏈表元素是〈dist, {&,G2,. . . GJ〉,鏈表元素按照dist降序排列,假設有m個節點在集合i中預備加入組Gi, dist表示節點v距這m個節點中之間的最短距離。 并且,節點v收到任意節點u的廣播〈u, Lu, {Gul, . . . Gj >后,將進行如下步驟首先計算節點v與節點u之間的距離,設計算結果為Lw節點v更新本身所維護的鏈表,如果{Gul, Gu2, . . . GJ在以前的鏈表中存在并假設其對應的dist為dis^ ;如果Lvu < dist"則用Lvu替換distl,否則保持dis^不變;如果{Gul, Gu2, . . . 在以前的鏈表中不存在,則將〈LVU, {Gul, . . . GJ >插入鏈表;節點v更新其分組的信息及廣播信息;對于任意集合j,節點v按照如下的方法更新其所需要加入的組節點v遍歷并記錄其鏈表中節點在集合j中加入的組,如果還有i個組沒有節點加入,則節點v在這i個組中隨機選擇一個加入,如果所有的組都已經有節點加入,則節點v從這些節點中選擇距離最選的節點,并加入其所加入的組;對于其他任意集合,節點v按照同樣方法確定其所需要加入的組;如果DT未耗盡,跳轉至步驟②。 結合本發明的實際應用來看,其系統模型如下采用本領域的通用假設,即普通傳感器節點被部署后即不再移動,但是匯聚節點(即數據采集點)可以移動,這符合常用的無線傳感器網絡模型。換句話說,探測數據的普通節點不需要移動,而數據采集點有可能移動以便更好地采集其所感興趣的數據。同時,不對路由方式做任何假設,即本方法可以與各類路由協議并存。
進一步結合本發明的工作流程來看 設A為能覆蓋節點部署區域的最小區域,在A中選擇適當的位置作為參考位置,令此位置的坐標為0。同時在該區域內設置一條參考坐標軸,稱為坐標軸l,坐標軸1旋轉一定角度形成坐標軸2。并且依此類推,坐標軸i旋轉一定角度后形成坐標軸i+l。每條坐標軸都以參考位置為原點,設坐標軸的單位長度為l,則網絡管理員可以根據具體情況設定坐標軸的實際長度。由此,每個節點在每條坐標軸上都有一個投影位置,如果此位置位于該坐標軸的第k段(節點),則稱該節點在該坐標軸上的投影位置為k。 同時,假設整個網絡的密鑰庫由M個密鑰集合(Set)組成,其中每個密鑰集合包含G個密鑰組(Group)。設坐標軸i在網絡區域內的投影長度為Lit)則集合i的每個密鑰組都包含Li個密鑰,其中每個密鑰對應于坐標軸中單位長度(segment)。由此,每個節點都在每個集合中選擇一個密鑰組加入,使相鄰的節點盡量加入一個集合的不同組中。其具有逐步求精的優點,即使在極短的運行時間內也可以得到相對較好的結果,隨著運行時間的增加,算法的精度也將提高。 而且,每個節點在每條坐標軸上都有一個投影位置,假設節點K在坐標軸i上的投影位置為Ki,同時節點K按照上文所提出的算法加入了集合i的j密鑰組,則節點K將獲得密鑰集合i中j密鑰組Ki位置所對應的密鑰。同時對于其他所有密鑰集合,節點K都將獲得相應的密鑰。這些密鑰被成為探測密鑰,即節點K探測到一個事件發生時,將用此密鑰生成的標記來標記此事件。再者,節點K也將在集合i中j密鑰組隨機選擇一定數目的位置,并獲得相應的密鑰,這些密鑰被成為認證密鑰。節點K將利用此類密鑰認證所收到的數據報。 為了延長整個網絡的壽命,降低單個節點的功耗,本發明不采用探測節點形成集群(cluster),然后由集群首領(cluster head)發送探測數據報的形式。而采用如下一種隨機的方式生成探測數據報假設一個合法數據報應該攜帶T個不同標記(MAC),則當一個事件發生時,探測到的節點首先對此事件的描述達成一致意見,其中包括事件發生的地點,然后每個探測到的節點便向周圍節點廣播如下元組 {{1, S"MACh ... {i, Si,MAC}, ... {M, SM, MAC}},其中在第i個密鑰集合中,節點加入Si組。 進一步來看,每個節點記錄它的鄰居節點廣播的信息,當它收集到足夠多MAC時,便組合成一個完整的數據報。為了避免重復發送,每個節點都監聽無線信道,同時每個節點都擁有一個隨機的定時器,當定時器時間耗盡后便將完整的數據報發出。如果節點偵聽到有完整的數據報被發送,則定時器被取消。否則,如果定時器時間耗盡,則發送所生成的數據報。 當一個節點收到一個數據報,首先抽取出事件發生的地點,相應地計算出其在每條坐標軸上的投影位置。如果本節點存儲了用來標記此數據報的密鑰,則驗證其所攜帶的MAC是否正確。 結合圖5來看,如果不正確則丟棄此數據報,如果正確或者該節點并沒有存儲相應的密鑰,則轉發此數據報。匯聚節點對所有收到的數據報進行最后的驗證,因為它擁有所有的密鑰,所以可以進行該操作。 結合圖l來看,本發明所說明的網絡環境如下所示每個合法數據報需要被8來自
不同組的節點所標記,整個密鑰庫被劃分為2個密鑰集合,其中每個密鑰集合由4個密鑰組
組成。假設傳感器網絡分布在一個矩形范圍內,其中匯聚節點位于矩形中心。 結合圖2來看,在本實施例中本發明假設整體密鑰庫由兩個密鑰集合組成,而每
個密鑰集合包含四個密鑰組。節點在部署之前都被預置了參數DT,表示分組算法運行的時
段。可以通過計時器或者計數器來實現,本發明選擇計時器來表示DT。 節點被部署后,首先啟動計時器,然后運行一個隨機數生成算法,為每個集合在相
應范圍內生成一個隨機數,選擇該隨機數所對應的組作為本節點預備加入的組。 如果計時器歸零,則算法結束,預備加入的組將作為本節點最終加入的組,如果時
間沒有耗盡,則繼續運行如下算法。 如圖1所示,在一個實際應用中整個密鑰庫被劃分為兩個密鑰集合,每個密鑰集合包含4個密鑰組。每個節點采用CSMA/CA協議廣播位置消息〈v, Lv, {&, G2} >,其中v表示節點id, Lv表示節點v的位置,^與G2分別表示其在集合1與集合2中預備加入的組。
采用CSMA/CA協議可以解決信道沖突問題,所以在一個信道區域內,在一特定的時間段只會有一個節點在廣播其位置信息。同時,如果產生沖突,則每個節點隨機退避一定時間再監聽信道,因此整個算法具有隨機與公平的特性。 并且,每個節點v維持一個鏈表,其中鏈表元素是〈dist, {&, G2} >, {&, G2}表示節點v的某些鄰居節點在集合1中加入了 ^組。在集合2中加入了 G2組,dist表示節點v與這些鄰居節點中距自己最近鄰居的距離。其中鏈表元素是按照dist的降序排列的。
如圖3所示,假設節點1目前準備廣播的信息為〈1, {3,4}>,目前它所維護的鏈表為{〈2.1, {1,3}>,〈3.9, {2,2}>},即表示存在一個或者多個鄰居在集合1中加入密鑰組1 ,在集合2中加入密鑰組3,這些鄰居到自己的最近距離為2. 1 ,存在一個或者多個鄰居在集合1中加入密鑰組2,在集合2中加入密鑰組2,這些鄰居到自己的最近距離為3. 9。但是節點1通過CSMA/CA協議進行廣播時與其他節點產生沖突,節點1選擇隨機退避,此過程中節點1收到節點7的廣播信息〈7,L7, {3,2}>,便計算出二者之間的距離為1.9,并更新自己所維護的鏈表為{〈1.9, {3,2}>,〈2.1, {1,3}>,〈3.9, {2,2}>}。 具體來說,因為在密鑰集合1中節點1的鄰居分別加入了密鑰組1、2、3,所以節點l選擇加入密鑰組4。在密鑰集合2中,節點1的鄰居分別加入密鑰組2,3,節點1隨機選擇加入密鑰組3或者4,最終選擇為4。因此節點1更新自己需要廣播的信息為〈l,Ll, {4,4}>。以上運算一直運行,直到DT等于O,此時節點l擬廣播信息中的分組即自己所選擇的最終分組。可以看出,本方法是分布式的,并且每個節點都將盡量選擇與它鄰居節點不同的組加入,最終使節點平均分配在各個組中。算法運行時間越長,則分布效果越好,因此具有較好的適應性。 雖然在概念上可以認為每個節點是在一定的密鑰組內選擇相應的密鑰,但是因為本發明中節點的密鑰與位置相關,在實際應用中節點一般不會事先掌握其將要被部署的位置。因此,本發明中節點獲得密鑰的具體方法如下每個節點在被部署之前都將獲得4個主密鑰及一個哈希函數,4個主密鑰分別表示為KpI^,K3,K4。節點l被部署后,通過運行上一節的分組選擇算法,節點1加入了集合1中的第4組,即該組的對應主密鑰為K4K4,則節點i通過如下方式獲得其對應于該組中段落s的密鑰Ks = H(K4, 1, s),其他集合中的相應密鑰計算方法相同。密鑰獲取之后,節點便刪除其所存儲的主密鑰。 如圖3所示,當一個事件發生時,在探測范圍內的節點都將按照固定格式生成數據報,然后通過事先存儲的哈希函數與監測密鑰生成消息認證碼,并向鄰居節點廣播此消息認證碼。 例如,節點2廣播的認證數據報如圖4所示,表示在節點2在密鑰集合1中加入密鑰組2,并生成相應的消息認證碼,在密鑰集合2中加入密鑰組3,并生成相應的消息認證碼。集合1收集到足夠多的認證碼(來自于2個密鑰集合中8個密鑰組),便可以整合成一條完整的數據報向匯聚節點發送。 本實施例中如果事件發生的位置在坐標軸1上的投影為5,在坐標軸2上的投影為6,則途中節點12收到數據報后,首先判斷是否選擇坐標軸1的段落5或者坐標軸2的段落6作為認證段落。具體結合圖5來說,如果節點12選擇了坐標軸1的段落5作為認證段落,同時節點12在密鑰集合1中加入密鑰縱3,則節點12提取該數據報所攜帶的密鑰集合1中
9密鑰組3段落5對應的消息認證碼,并與利用自身密鑰計算的消息認證碼相比對。如果二者完全相同則認證通過,否則丟棄此數據報。如果認證通過,或者節點12沒有選擇相應的段落作為認證段落,則直接轉發此數據報。其他途中節點采用相同的處理方式,匯聚節點對收集到的數據報進行最后的認證操作,因為它掌握所有密鑰。
從覆蓋性能、過濾效率及抗俘獲性三個方面來看—— 覆蓋性能因為本發明所提出的分組算法具有隨機與公平的屬性,因此在分析過程中我們假設存儲某一個密鑰組的節點數目為Ne " N/G,其中N為網絡中節點總數目,每個密鑰集合包含G個密鑰組。為了計算的方便,我們令N。 = N/G,同時我們令G = T/M,M代表密鑰集合的數目,而每個數據報需要包含T個標記。 —般認為,單個傳感器節點的探測距離要遠小于整個網絡的尺度,本發明仍采用
此假設,并用R表示單個節點的探測半徑,因此一個節點的探測范圍為S二 JiR2。首先,考
慮一個密鑰集合中的一個特定密鑰組,因為有Ne = NM/T節點存儲這一密鑰組的密鑰,所以
網絡區域內的任意一點被存儲此組密鑰的節點覆蓋的概率為^= 1(1-S/A) /T。網絡區域
內的任意一點被一個密鑰集合中的所有組覆蓋的概率為Ps = P。T/M。網絡區域內的任意一點
被所有密鑰集合的所有組覆蓋的概率為
<formula>formula see original document page 10</formula> 將此方法與擁有T個密鑰組的一維過濾方案進行對比。公平起見,每個密鑰組中密鑰數目被設置為相同的,并且每個節點隨機地以相同概率決定其所加入的密鑰組。在一維的過濾方案中,網絡區域內的任意一點被T個密鑰組覆蓋的概率為P工=(1-(1_S/A)N/T)T。為了簡化表達方式,令a = (1-S/A)N/T。
因為,本方案與一維方案在覆蓋性能上的對比如下 <formula>formula see original document page 10</formula> 過濾效率在分析中假設攻擊者掌握了來自于Nc個不同密鑰組的密鑰,相應地偽造了來自于(T-Nc)個密鑰組的密鑰。在這種情況下,計算偽造的數據報在h步內被過濾掉的概率。任一轉發節點過濾掉該數據報的概率為[酬《,》=M^。 為了簡化表達,令|3 = ((T-N。)/T)q,在存在M個集合的情況下,偽造數據報被過濾掉的概率為尸,=1 - (1 - ^= 1 - (1 _邪"。 如果考慮一維的途中過濾方案,過濾效率隨著密鑰組數目減少而增加。當密鑰庫被劃分為T個密鑰組的情況下, 一維方案的過濾效率達到最高。這種情況便相當于多維過濾方案中M等于1的情況,因此
<formula>formula see original document page 10</formula> 抗俘獲性為了計算方便,假設網絡區域在每條坐標軸上的投影距離都為L,坐標軸的單位長度為seg,每個節點的探測半徑為R。首先考慮密鑰集合l,假設節點v被攻擊者
俘獲,那么坐標軸1的第i段被節點V覆蓋的概率為《=^"P1 , Pi可以認為是一個常量,
節點v以概率q從它選擇加入的組中獲取密鑰,所以一個節點獲得坐標軸1中第i段對應的密鑰的概率為<formula>formula see original document page 11</formula>同樣,Pai也可以被看作常量。 假設攻擊者俘獲了 N。m個節點,首先考慮這樣一個單位區域——它在每條坐標軸上的投影都是第i段。計算這個單位區域被完全俘獲的概率,即攻擊者可以偽造該區域所發生的事件而不被發現的概率。首先考慮集合1,很顯然攻擊者從密鑰集合1的G個組中獲得了 l個密鑰,計算得到X個節點屬于集合1中特定組k的概率<formula>formula see original document page 11</formula> 當x個節點被俘獲,則該組中對應于該段的密鑰被俘獲的概率為
<formula>formula see original document page 11</formula>
因此,對應于該段的密鑰被俘獲的概率為<formula>formula see original document page 11</formula>
因為一個數據報需要攜帶來自于集合1中G個組的G個密鑰,可以得到集合1整
體被俘獲的概率為<formula>formula see original document page 11</formula>
因為攻擊者俘獲了任何集合中的G個組的N。m個密鑰,可以計算得到此單位區域被完全俘獲的概率為<formula>formula see original document page 11</formula>
PMT代表了一個單位區域被俘獲的概率,總的網絡區域中被俘獲面積的期望值為
,其中S為整個網絡區域的面積。
因為本方案采用了地理位置相關的密鑰分配機制,即攻擊者俘獲部分節點則只能偽造一定區域內發生的事件,這樣非常有利于網絡管理員進行定位與隔離,因此本發明也是一種抗俘獲的途中過濾解決方案。 通過上述的文字表述并結合附圖可以看出,采用本發明后,可以有效地應對無線傳感器網絡中的拒絕服務攻擊與虛假報告攻擊,解決了傳統途中過濾方法中覆蓋性能與過濾性能不可以同時提高的問題,同時仍然保持了較高的抗俘獲性。
權利要求
無線傳感器網絡的多維途中過濾方法,其特征在于包括以下步驟步驟①,將整體密鑰庫被分為兩層,設有M個密鑰集合與G個密鑰組,且每個密鑰組包含S個密鑰;步驟②,采用坐標軸旋轉方式,令整個網絡區域內存在M條坐標軸,每條坐標軸在網絡區域內的投影被等距離劃分為S段;步驟③,節點在部署之前都被預置了參數DT,表示分組算法運行的時段;節點被部署后,通過定位算法確定自身位置,每個節點選擇自己在每個集合中需要加入的密鑰組;步驟④,節點在部署時,其隨機在每個坐標軸上選擇“分段”作為其“驗證分段”,即獲得這些分段所對應的密鑰,以便對發生在遠處的事件所形成的報告進行驗證。步驟⑤,對節點計算其在每條坐標軸上的投影位置,根據其所加入的組及每條坐標軸上的投影位置,確定其需要存儲的每個密鑰集合中的密鑰;步驟⑥,當發生事件時,探測此事件的多個節點,共同標記此事件,形成報告并向匯聚節點傳送,轉發節點收到報告時,利用其所存儲的密鑰對此報告進行驗證,如果驗證不通過則丟棄此節點,否則轉發此節點;匯聚節點收到報告后,對其進行最后的驗證,根據驗證結果確定接受或丟棄此報告。
2. 根據權利要求1所述的無線傳感器網絡的多維途中過濾方法,其特征在于在步驟 ③所述的每個節點在部署之前都被分配了一個哈希函數H,用于獲得其自身需要存儲的密 鑰,以便對發生在其探測區域內的事件進行標記。
3. 根據權利要求1所述的無線傳感器網絡的多維途中過濾方法,其特征在于步驟③ 所述的節點在部署后,首先通過一個隨機數生成算法,在每個集合中隨機選擇一個組作為 本節點預備加入的組,即{&,G2,. . . GM},其中&表示其在集合i中預備加入的組,然后節點 運行一定的定位算法獲得其自身的位置,如果DT耗盡,則跳轉至步驟⑤。
4. 根據權利要求1所述的無線傳感器網絡的多維途中過濾方法,其特征在于步驟③ 所述的節點v生成其準備廣播的信息〈v, Lv, {Gvl, Gv2, ...GJ〉,其中v表示節點id, k表 示節點v的位置,Gvi表示節點v在集合i中選擇加入的組,節點采用CSMA/CA協議廣播信 息,如果信道不產生沖突,則發送成功,否則隨機退避一定的時間再次選擇發送;并且任意 節點v維護一個鏈表,其中鏈表元素是〈dist, {&, G2, . . . GJ〉,鏈表元素按照dist降序排 列,假設有m個節點在集合i中預備加入組Gi, dist表示節點v距這m個節點中之間的最 短距離;節點v收到任意節點u的廣播〈u, Lu, {Gul, Gu2, Gj >后,將進行如下步驟首 先計算節點v與節點u之間的距離,設計算結果為Lw節點v更新本身所維護的鏈表,如果 {Gul, Gu2, . . . GJ在以前的鏈表中存在并假設其對應的dist為dis^ ;如果Lvu < distp則 用Lvu替換distl,否則保持dis^不變;如果{Gul, Gu2, . . . 在以前的鏈表中不存在,則 將〈LVU, {Gul, . . . GJ >插入鏈表;節點v更新其分組的信息及廣播信息;對于任意一個 密鑰集合j,節點v按照如下的方法更新其所需要加入的組節點v遍歷并記錄其鏈表中節 點在集合j中加入的組,如果還有i個組沒有節點加入,則節點v在這i個組中隨機選擇一 個加入,如果所有的組都已經有節點加入,則節點v從這些節點中選擇距離最選的節點,并 加入其所加入的組;對于其他任意集合,節點v按照同樣方法確定其所需要加入的組;如果 DT未耗盡,跳轉至步驟②。
5. 根據權利要求1所述的無線傳感器網絡的多維途中過濾方法,其特征在于步驟⑥所述的驗證為,假設原始數據報為D,同時D攜帶有一個消息認證碼MAC(k, D);其中MAC是 一個全局函數,所有的節點都知道,k是密鑰;如果節點i恰好存儲有密鑰k,則節點i也計 算MAC (k, D),如果與數據報中攜帶的MAC (k, D) —致,則驗證通過,否則不通過。
全文摘要
本發明涉及一種無線傳感器網絡的多維途中過濾方法,將網絡密鑰庫被分為多個集合,每個節點可以在每個集合中都選擇一個組加入。可以有效地應對無線傳感器網絡中的拒絕服務攻擊與虛假報告攻擊,解決了傳統途中過濾方法中覆蓋性能與過濾性能不可以同時提高的問題,同時仍然保持了較高的抗俘獲性。
文檔編號H04W84/18GK101754206SQ20091026488
公開日2010年6月23日 申請日期2009年12月25日 優先權日2009年12月25日
發明者余艷瑋, 周學海, 張起元, 李曦, 楊峰, 陳香蘭, 高妍妍 申請人:中國科學技術大學蘇州研究院