一種基于rpl的傳感器網絡密鑰管理方法
【專利摘要】本發明公開了一種基于RPL的傳感器網絡密鑰管理方法,該方法的步驟包括分別為系統每個傳感器節點分配共同的系統初始化密鑰M;組建RPL網絡,利用系統初始化公共密鑰M加密認證所有控制信息,并進行第一輪的密鑰分配;組網完畢后,根據網絡中父節點與子節點的關系,利用父節點對其下的子節點的密鑰進行分發和輪換。本發明所述技術方案將密鑰分配與RPL路由協議相結合,減少密鑰分配單獨發包開銷;并且通過路由協議對網絡動態性的監測動態的進行密鑰的輪換,在穩定的系統中增大密鑰輪換的間隔,而當系統不穩定時較快的更換密鑰,保證網絡安全性。
【專利說明】—種基于RPL的傳感器網絡密鑰管理方法
【技術領域】
[0001]本發明涉及無線傳感網絡中密鑰的管理,特別是涉及一種基于RPL的傳感器網絡密鑰管理方法。
【背景技術】
[0002]無線傳感器網絡是由大量的具有感知、采集、處理和傳輸能力的無線傳感器節點以自組織方式形成的特殊網絡,一般部署于人員難以到達的地區。傳感器網絡節點通過協作將區域內的信息發送給觀察者,在軍事、醫療、環境監測等領域有著光明的前景。
[0003]RPL是一種專為低功耗有損網絡設計的距離矢量路由協議,通過交換距離矢量構建一個有向無環圖,得到最優化路由。RPL通過廣播發送D10控制包傳遞距離矢量(Rank)信息,從而建立和維護一種圍繞匯聚節點生成的樹狀路由拓撲。
[0004]近年來,傳感技術和無線通信技術的快速進步推動了無線傳感器網絡在軍事、醫療、工業、智能城市等各領域的發展,這也導致了傳感器網絡這種資源嚴重受限網絡的安全問題被推到了風口浪尖。其中最具挑戰的問題無疑是密鑰管理的方案及其具體實施方法。眾所周知,密鑰分配在普通有線網絡當中都是通過非對稱加密的算法實現的,而到目前為止傳感器網絡仍然無法完成非對稱加密這種運算量相對較大的算法。這也就迫使我們針對傳感器網絡設計獨有的、高效的、輕量的密鑰管理機制。
[0005]因此,需要提供一種密鑰管理方法,以滿足對傳感器網絡中密鑰管理高效、輕量的需要。
【發明內容】
[0006]本發明要解決的技術問題是提供涉及一種基于RPL的傳感器網絡密鑰管理方法,以克服現有技術中現有技術中密鑰管理機制運算量大、效率低等問題。
[0007]為解決上述技術問題,本發明采用下述技術方案。
[0008]本發明提供一種基于RPL的無線傳感器安全密鑰管理方法,該方法包括對密鑰的分配和更新,該方法的步驟包括
[0009]系統初始化時,為每個節點分配共同的系統初始化組網密鑰;在組網時,使用組網密鑰進行認證和加密;組網完成后由父節點對子節點的密鑰進行分發和輪換的操作。具體的:
[0010]在系統初始化階段,為每個傳感器節點分配全網統一的系統初始化密鑰用于組網階段的認證與加密。
[0011]組建RPL網絡:路由拓撲構建由根節點開始,根結點廣播D10有關圖的信息,該信息為有向無環圖信息對象。監聽根節點的鄰居節點收到并處理D10消息,決定是否加入該圖,當此鄰居節點加入該圖時它就有了一條通往有向無環圖的路由,根節點則成為這個節點的父節點,該鄰居節點此時會計算自己在根節點的有向無環圖中的Rank值并向自己的父節點發送包含路由前綴信息的DA0消息。所有鄰居節點重復這一過程直至在整個網絡中構建出一個有向無環圖。此時,除根節點外的每個節點都擁有自己的父節點與子節點,并通過父節點與匯聚節點進行通信,即每個節點僅與自己的父節點、子節點之間進行通信。
[0012]組網階段,當一個節點選擇成為另外一個節點的子節點時,便接受該節點分配的第一輪密鑰,并通過該密鑰與父節點進行通信。其中,密鑰是由RPL路由的控制信息包D10攜帶的,包括代表本節點在圖中位置的獨有的Rank值以及ID等信息,保證全網的唯一性。
[0013]組網完成后,路由拓撲基本穩定。此時,每個節點都存儲了與父節點通信的密鑰,當其擁有子節點時,同時會存儲與子節點通信的密鑰。如圖1所示,從而在全網當中每個部分使用不同的通信密鑰,而每個節點僅需存儲兩個密鑰。
[0014]本發明中所述的密鑰輪換也是由控制包D10進行處理的,RPL路由協議的機制規定D10的發送間隔由網絡的穩定性決定,其中包括:當鏈路通信質量等信息發生變化時無條件發送D10以告知其他節點網絡的動態變化;當網絡穩定時,按比例增大發送D10的間隔,此時發送D10只是維護網絡穩定性;所以,使用D10控制包進行密鑰輪換可以使安全密鑰與網絡動態性相結合。當在不穩定的網絡中,節點更易受到攻擊,類似的,節點受到攻擊后也會造成網絡的不穩定,因此,使用D10控制包發送節點密鑰的輪換消息,能夠在穩定的網絡總減少密鑰更替帶來的開銷同時;在網絡發生動蕩時,盡快更替密鑰,從而保證該部分網絡的安全性。
[0015]本發明的有益效果如下:
[0016]本發明所述技術方案將密鑰分配與RPL路由協議相結合,減少密鑰分配單獨發包開銷;并且通過路由協議對網絡動態性的監測動態的進行密鑰的輪換,在穩定的系統中增大密鑰輪換的間隔,而當系統不穩定時較快的更換密鑰,保證網絡安全性。
【專利附圖】
【附圖說明】
[0017]下面結合附圖對本發明的【具體實施方式】作進一步詳細的說明;
[0018]圖1示出本發明實施例中路由拓撲圖的示意圖;
[0019]圖2示出本發明實施例中節點入網的示意圖;
[0020]圖3示出本發明實施例中的節點密鑰更替交互的示意圖;
[0021]圖4示出本發明實施例中的系統結構圖;
[0022]圖5示出本發明所述密鑰分配的流程圖。
【具體實施方式】
[0023]下面結合一組實施例及附圖對本發明做進一步描述。
[0024]本文公開了一種基于RPL路由協議的密鑰管理方法,該方法從組網初期開始進行對節點密鑰的分配與更替,并對新加入的節點進行監測,保證新加入節點自身的安全性,該方法的步驟包括
[0025]系統初始化時,分別為系統每個傳感器節點分配共同的系統初始化密鑰M。
[0026]組網開始時,用初始化公共密鑰加密Μ加密認證所有控制信息。此時根節點向外發送通過初始化公共密鑰Μ加密認證過的D10控制信息,本申請使用的加密算法是高級加密算法AES-128,認證算法是SHA1。該D10控制信息不僅是邀請鄰居節點加入發送該D10節點的有向無環圖,同時也在進行第一輪的密鑰分配,該D10控制信息包含2字節的Rank值和16字節的有向無環圖1D。其中Rank值和有向無環圖的前14個字節即將成為收到該D1并愿意成為根節點的子節點的下輪密鑰的生成部分k,利用該生成部分k產生下一輪密鑰,所產生的下一輪密鑰是對k使用當前密鑰進行一次哈希運算后得到的字符串。組網部署完成后,根節點的鄰居節點監聽后收到根節點的D1控制信息,用初始化公共密鑰Μ對其進行處理后,根據目標函數、DAG特點、廣播路徑開銷等決定是否成為根結點的子節點。決定成為根節點的子節點后,節點會計算自己在圖中的Rank值,并接受其父節點分配的生成部分,計算出第一輪密鑰為[M]k記作Ks并存儲,鄰居節點利用使用Ks對攜帶路由前綴的消息DAO進行處理,發送給根節點。根節點收到該DAO,并使用&對0八0進行行處理,將發送該DAO的子節點加入路由表,兩個節點間的路由生成。該過程如圖2所示,Sink節點與節點A之間的交互。
[0027]已經加入有向無環圖中的普通節點會向附近的普通節點發出邀請信息,經過信息交互后,附近未入圖的普通節點通過向外發送邀請的普通節點加入網絡的有向無環圖中,通過上述方法建立下去,直至整個路由建立完成。
[0028]未加入有向無環圖中的普通節點自身也會發送DIS請求入網,該節點用初始化公共密鑰加密認證DIS消息進行廣播,在其無線范圍內的已經加入有向無環圖的節點收到該請求后,會使用初始化公共密鑰Μ加密認證的D10消息邀請發送了 DIS的節點加入自己所在的有向無環圖中,之后進行信息交互。該過程如圖2所示,節點Β2與節點Α之間的交互。
[0029]如圖3所示,此后每次發送D10消息時,密鑰輪換開始,父節點發送通過第η-1輪密鑰KSIri處理的D10消息到子節點,子節點處理后生成新一輪密鑰Ksn并更換存儲中的與父節點間密鑰,之后用Ksn對DA0消息進行處理。
[0030]本申請中數據包傳輸的方式就是通過本輪密鑰對數據包進行加密認證等處理。密鑰的更替等操作實質上是通過控制包中的ICMP報文來進行的,其中,數據包文是指傳遞有用的UDP報文,但UDP報文不涉及任何路由控制盒密鑰更替等相關操作,只是單純的進行傳感數據的傳遞。
[0031]綜上所述,本發明所述技術方案將密鑰分配與RPL路由協議相結合,減少密鑰分配單獨發包開銷;并且通過路由協議對網絡動態性的監測動態的進行密鑰的輪換,在穩定的系統中增大密鑰輪換的間隔,而當系統不穩定時較快的更換密鑰,保證網絡安全性。
[0032]顯然,本發明的上述實施例僅僅是為清楚地說明本發明所作的舉例,而并非是對本發明的實施方式的限定,對于所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動,這里無法對所有的實施方式予以窮舉,凡是屬于本發明的技術方案所引伸出的顯而易見的變化或變動仍處于本發明的保護范圍之列。
【權利要求】
1.一種基于RPL的傳感器網絡密鑰管理方法,其特征在于,該方法的步驟包括 51、分別為系統每個傳感器節點分配共同的系統初始化密鑰M; 52、組建RPL網絡,利用系統初始化公共密鑰M加密認證所有控制信息,并進行第一輪的密鑰分配; 53、組網完畢后,根據網絡中父節點與子節點的關系,利用父節點對其下的子節點的密鑰進行分發和輪換。
2.根據權利要求1所述的傳感器網絡密鑰管理方法,其特征在于,所述密鑰為RPL路由的控制信息包D1攜帶的,其包括該節點所在的有向無環圖中的ID信息與父節點本身的獨有的Rank值信息。
3.根據權利要求2所述的傳感器網絡密鑰管理方法,其特征在于,根據網絡的穩定度,節點本身自發的實時調整所述控制信息包D1的發送間隔。
4.根據權利要求1所述的傳感器網絡密鑰管理方法,其特征在于,所述步驟S2包括 判斷是根節點還是普通節點廣播D1信息; 根據節點廣播的D1信息,建立父節點和子節點路由。
5.根據權利要求4所述的傳感器網絡密鑰管理方法,其特征在于,所述步驟S2中當根節點廣播D1信息時,建立父節點和子節點路由的步驟包括 521、根節點的鄰居節點監聽后收到根節點的D1信息,用初始化公共密鑰對其進行處理,判斷是否成為根節點的子節點,若成為根節點的子節點,則執行步驟S22,若否,則繼續執行當前步驟; 522、該鄰居節點計算自己在構建的有向無環圖中的Rank值,并根據接受其父節點分配的第一輪密鑰,經哈希運算計算出新的第一輪密鑰為[M]k,并記作Ks儲存入該節點,鄰居節點利用Ks對攜帶路由前綴的消息DAO進行加密與認證,發送給根節點; 523、根節點利用Ks對接收到的該DAO信息進行解密認證,確認發送DAO的節點愿意加入根節點所在的有向無環圖中,此時將其加入路由表,從而生成根節點和其子節點間的路由。
6.根據權利要求5所述的傳感器網絡密鑰管理方法,其特征在于,根據目標函數、DAG特點和廣播路徑開銷決定所述根節點的鄰居節點是否成為根節點的子節點。
7.根據權利要求4所述的傳感器網絡密鑰管理方法,其特征在于,所述步驟S2中當普通節點發出D1信息時,建立父節點和子節點路由的步驟包括 525、已入有向無環圖的普通節點廣播經過初始密鑰M處理的D1信息邀請其他普通節點加入該節點所在的有向無環圖中; 526、已入有向無環圖的普通節點附近的普通節點收到已入有向無環圖的普通節點的D1信息,經加密認證和解密認證的過程后,已入有向無環圖的普通節點將愿意加入其所在的有向無環圖的普通節點加入路由表,從而生成已入有向無環圖的普通節點和其子節點間的路由; S26、未加入有向無環圖中的普通節點也會發送經過初始密鑰M處理的DIS信息請求加入有向無環圖; S27未加入有向無環圖中的普通節點周圍的已經加入有向無環圖中的節點收到該DIS消息后使用密鑰M對該消息進行處理,分析未加入有向無環圖中節點的Rank值,符合條件時發送經過密鑰M處理的D1消息來邀請發送DIS消息的節點加入自己所在的有向無環圖中。
8.根據權利要求1所述的傳感器網絡密鑰管理方法,其特征在于,所述步驟S3包括 父節點將通過第η-1輪密鑰的Kslri處理的D1消息發送到子節點; 子節點接到父節點分配的第η-1輪密鑰,計算出新η輪密鑰Ksn,該子節點利用Ksn對攜帶路由前綴的DAO消息進行處理,發送給根節點,從而更換子節點和父節點間的密鑰。
【文檔編號】H04L9/08GK104301887SQ201410532256
【公開日】2015年1月21日 申請日期:2014年10月10日 優先權日:2014年10月10日
【發明者】高德云, 楊冬, 張宏科, 馬雁飛, 趙偉程, 朱婉婷, 劉嘉宇 申請人:北京交通大學