本發(fā)明涉及安全網絡接入。更特別地,本發(fā)明涉及用于在包括中繼節(jié)點和邊界路由器節(jié)點的網狀網絡中調試加入節(jié)點的方法和裝置,其中,邊界路由器節(jié)點被連接到包括服務器的廣域網。
背景技術:
在物聯(lián)網中,可以將設備連接到廣域網,諸如因特網。此類廣域網可以例如借助于諸如gprs或umts之類的移動運營商網絡或者任何高速回程鏈路來實現(xiàn)。此外,設備可以彼此相連,共同地形成網狀網絡,其中多個設備用于將從第一設備發(fā)送的消息轉發(fā)至第二設備。此類網狀網絡技術的示例是6lowpan。6lowpan是允許使用802.15.4網絡上ipv6(其是網狀網絡的示例)的適配層。
例如,設備的子集具有廣域連接,并且充當網關以允許網狀網絡中的其它設備使用其廣域連接。此類設備被稱為邊界路由器。邊界路由器充當網狀網絡與例如通過蜂窩(gprs)或廣域網絡連接到邊界路由器的服務器之間的網關。
可以在網絡層處用網絡密鑰(也稱為l2密鑰)來保護網狀網絡。ieee802.15.4標準概括了由不同操作模式提供的安全機制和性質。例如,在ccm(aes-ccm,用關聯(lián)數(shù)據(jù)的認證加密(aead))模式中使用aes塊密碼,并且l2密鑰被密碼用來提供認證和/或加密。如通常的情況那樣,全網絡范圍的l2密鑰被特定區(qū)域內的節(jié)點共享,其中,區(qū)域可以跨越多個網狀網絡。
wo2009/090616a2公開了一種用以控制在網絡中受到損害的密碼密鑰材料、將捕捉到的節(jié)點從網絡排除并在未受損害設備中更新受損害密鑰材料的無線系統(tǒng)和方法。
技術實現(xiàn)要素:
改善網絡通信的安全特征將是有利的。為了更好地解決此問題,本發(fā)明的第一方面提供了一種用于路由調試請求的路由器節(jié)點的裝置,包括
網狀網絡單元,其用于將路由器節(jié)點連接到包括中繼節(jié)點的網狀網絡;
廣域網單元,其用于將路由器節(jié)點連接到廣域網,該廣域網包括用于控制用以加入網狀網絡的調試請求的授權的服務器;
接收單元,其用于從中繼節(jié)點接收用于請求加入網狀網絡的握手信號、認證令牌以及加入節(jié)點的標識;
密鑰生成單元,其用于基于加入節(jié)點標識和路由器節(jié)點的標識生成加入節(jié)點與路由器節(jié)點之間的成對基于標識密鑰;
檢查單元,其用于至少基于成對基于標識密鑰來檢查認證令牌是否是有效的;
轉發(fā)單元,其用于只有當認證令牌是有效的時才通過廣域網將握手信號轉發(fā)至服務器。
路由器節(jié)點可以更安全地處理調試消息,因為使用成對基于標識密鑰來保護與加入節(jié)點的通信。此外,認證令牌允許在轉發(fā)從加入節(jié)點接收到的調試消息之前執(zhí)行該節(jié)點的證書的檢查。這幫助防止(潛在地昂貴的)廣域網用于非法調試請求的不適當使用,并且?guī)椭乐狗掌魃系墓?,諸如拒絕服務攻擊。
檢查單元可以被配置成將用認證令牌認證的信息與黑名單中的條目和/或白名單中的條目相比較以確定認證令牌是否是有效的。這幫助執(zhí)行認證令牌的準確檢查。例如,在節(jié)點已被服務器拒絕一次之后,節(jié)點可以被放入路由器的黑名單,使得加入節(jié)點不能再次地使用相同證書來嘗試加入網絡。在特定示例中,可以不允許已經通過路由器節(jié)點(例如,對于其而言涉及到用以加入網絡的請求的握手信號已經通過路由器節(jié)點被轉發(fā)的節(jié)點)被調試的節(jié)點再次地使調試請求被轉發(fā)到服務器。例如,路由器可以被配置成通過保持列表來對此進行檢查,所述列表包含通過路由器節(jié)點發(fā)送調試請求的節(jié)點。可以通過針對列表檢查認證令牌來檢查認證令牌的有效性。
根據(jù)本發(fā)明的另一方面,提供了一種用于將加入節(jié)點調試到包括中繼節(jié)點和路由器節(jié)點的網狀網絡中的加入節(jié)點的裝置。在本文中,路由器節(jié)點被連接到廣域網,該廣域網包括用于控制用以加入網狀網絡的調試請求的授權的服務器。所述裝置包括
接收單元,其用于從中繼節(jié)點接收路由器節(jié)點的標識;
密鑰生成單元,其用于基于加入節(jié)點標識和路由器節(jié)點的標識生成加入節(jié)點與路由器節(jié)點之間的成對基于標識密鑰;
握手單元,其用于生成用于從服務器請求用以加入網狀網絡的許可的握手信號;
認證令牌單元,其用于基于加入節(jié)點的認證數(shù)據(jù)和加入節(jié)點與路由器節(jié)點之間的成對基于標識密鑰來計算認證令牌;
發(fā)送單元,其用于向中繼節(jié)點發(fā)送握手信號和認證令牌。
此加入節(jié)點通過提供認證令牌和握手信號來與路由器節(jié)點和服務器合作,使得其可以被以安全的方式調試到網狀網絡中。例如,認證令牌單元可以被配置成基于加入節(jié)點與路由器節(jié)點之間的成對基于標識密鑰將加入節(jié)點的認證數(shù)據(jù)加密,并且發(fā)送單元可以被配置成以已加密形式發(fā)送認證令牌。
密鑰生成單元可以被配置成基于加入節(jié)點的標識和中繼節(jié)點的標識來生成加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰。加入節(jié)點的裝置還可以包括簽名單元,其用于基于加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰對握手信號和認證令牌進行簽名。發(fā)送單元可以被配置成將由簽名單元簽名的握手信號和認證令牌發(fā)送到中繼節(jié)點。這進一步通過用于中繼器的附加密碼層來改善調試消息的安全性。這樣,中繼器還可以借助于簽名對加入節(jié)點的標識執(zhí)行初始檢查。
根據(jù)本發(fā)明的另一方面,提供了已知中繼節(jié)點的裝置。中繼節(jié)點被布置成用于將加入節(jié)點調試到包括中繼節(jié)點和路由器節(jié)點的網狀網絡中。
其中,路由器節(jié)點被連接到廣域網,該廣域網包括用于控制用以加入網狀網絡的調試請求的授權的服務器。所述裝置包括:
發(fā)送單元,其用于將路由器節(jié)點的標識和中繼節(jié)點的標識發(fā)送到加入節(jié)點;
標識接收單元,其用于接收加入節(jié)點的標識;
密鑰生成單元,其用于基于加入節(jié)點的標識和中繼節(jié)點的標識生成加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰;
握手接收單元,其用于從加入節(jié)點接收用于請求用于加入節(jié)點加入網狀網絡的許可的握手信號和認證令牌;
驗證單元,其用于基于加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰來驗證握手信號和認證令牌是否被簽名;
轉發(fā)單元,其用于基于驗證單元的輸出將握手信號和認證令牌轉發(fā)到路由器節(jié)點。
這通過由中繼器對加入節(jié)點的標識執(zhí)行檢查來進一步改善網狀網絡的安全性以限制不想要的調試請求。可選地,可以在可以從當前并未加入網絡的加入節(jié)點接收并轉發(fā)調試請求的網狀網絡的每個節(jié)點中提供此裝置。
在任何上述裝置中,認證令牌可以指示加入節(jié)點的標識的證據(jù)。例如,其是在工廠中在通信設備中預先編程的已簽名的一組證書。
路由器節(jié)點可以是直接地連接到廣域網的網狀網絡的邊界路由器節(jié)點。這幫助防止廣域網的非期望使用,并且限制在并非邊界路由器的其它路由器節(jié)點中所需的處理量。
在任何上述裝置中,握手信號可以包括數(shù)據(jù)報傳輸層安全dtls握手信號。
在任何上述裝置中,密鑰生成單元可以被配置成基于存儲在裝置中的基于標識預先分配密鑰材料來生成加入節(jié)點與路由器節(jié)點之間的成對基于標識密鑰。此外,密鑰生成單元可以被配置成基于基于標識預先分配密鑰材料來生成加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰。這兩個密鑰可以基于相同的基于標識預先分配密鑰材料??蛇x地,兩個密鑰可以根據(jù)同一節(jié)點的兩個標識而基于不同的基于標識預先分配密鑰材料。標識和密鑰材料可以是節(jié)點所特定的。
根據(jù)本發(fā)明的另一方面,提供了一種用于路由調試請求的路由器節(jié)點的方法。所述方法包括:
將路由器節(jié)點連接到包括中繼節(jié)點的網狀網絡;
將路由器節(jié)點連接到廣域網,該廣域網包括用于控制用以加入網狀網絡的調試請求的授權的服務器;
從中繼節(jié)點接收用于請求加入網狀網絡的握手信號、認證令牌以及加入節(jié)點的標識;
基于加入節(jié)點的標識和路由器節(jié)點的標識而生成加入節(jié)點與路由器節(jié)點之間的成對基于標識密鑰;
至少基于成對基于標識密鑰而檢查認證令牌是否是有效的;以及
只有當認證令牌是有效的時才通過廣域網將握手信號轉發(fā)至服務器。
根據(jù)本發(fā)明的另一方面,提供了一種用于將加入節(jié)點調試到包括中繼節(jié)點和路由器節(jié)點的網狀網絡中的加入節(jié)點的方法。路由器節(jié)點可以被連接到廣域網,該廣域網包括用于控制用以加入網狀網絡的調試請求的授權的服務器。所述方法包括:
從中繼節(jié)點接收路由器節(jié)點的標識;
基于加入節(jié)點的標識和路由器節(jié)點的標識而生成加入節(jié)點與路由器節(jié)點之間的成對基于標識密鑰;
生成用于從服務器請求用以加入網狀網絡的許可的握手信號;
基于加入節(jié)點的認證數(shù)據(jù)來計算認證令牌并基于加入節(jié)點與路由器節(jié)點的成對基于標識密鑰將認證令牌加密;以及
將握手信號和認證令牌發(fā)送到中繼節(jié)點。
根據(jù)本發(fā)明的另一方面,提供了用于將加入節(jié)點調試到包括中繼節(jié)點和路由器節(jié)點的網狀網絡中的加入節(jié)點的方法。路由器節(jié)點可以被連接到廣域網,該廣域網包括用于控制用以加入網狀網絡的調試請求的授權的服務器。所述方法包括:
將路由器節(jié)點的標識和中繼節(jié)點的標識發(fā)送到加入節(jié)點;
接收加入節(jié)點的標識;
基于加入節(jié)點的標識和中繼節(jié)點的標識來生成加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰;
從加入節(jié)點接收用于請求用于加入節(jié)點加入網狀網絡的許可的握手信號和認證令牌;
基于加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰來驗證握手信號和認證令牌是否被簽名;以及
基于驗證單元的輸出將握手信號和認證令牌轉發(fā)到路由器節(jié)點。
根據(jù)本發(fā)明的另一方面,提供了一種存儲在計算機可讀介質上的計算機程序產品。該計算機程序包括用于促使處理設備執(zhí)行所闡述的方法中的任何一個或多個的指令。
本領域的技術人員將認識到的是可以用認為有用的任何方式將本發(fā)明的上述實施例、實施方式和/或方面中的兩個或更多組合。技術人員在不脫離如由權利要求及其等價物闡述的本發(fā)明的范圍和精神的情況下可以實現(xiàn)本文中公開的技術的各種變型。
附圖說明
根據(jù)下文所述實施例,本發(fā)明的這些及其它目的是顯而易見的,并且將參考下述實施例來闡述本發(fā)明的這些及其它方面。
圖1是網狀網絡和服務器的框圖。
圖2是邊界路由器節(jié)點的框圖。
圖3是加入節(jié)點的框圖。
圖4是中繼節(jié)點的框圖。
圖5是用于路由調試請求的路由器節(jié)點的方法的流程圖。
圖6是嘗試加入網狀網絡的加入節(jié)點的方法的流程圖。
圖7是用于轉發(fā)調試請求的中繼節(jié)點的方法的流程圖。
圖8是網狀網絡中的許多示例性節(jié)點的框圖。
圖9是網狀網絡中的節(jié)點的第一示例的框圖。
圖10是網狀網絡中的節(jié)點的第二示例的框圖。
圖11是網狀網絡中的節(jié)點的第三示例的框圖。
圖12是用于網狀網絡中的消息的安全交換的方法的流程圖。
具體實施方式
下面將更詳細地描述實施例。然而,本文中提供的細節(jié)僅僅意圖作為用來舉例說明本發(fā)明的示例。這些細節(jié)并不意圖限制本發(fā)明。技術人員可以鑒于本公開做出本公開的變更和添加。
網狀網絡可以包括少量或大量節(jié)點。節(jié)點可以借助于網狀網絡相互傳送消息。網絡中的多個(或所有)節(jié)點可以充當中繼節(jié)點,其可以將消息從第一節(jié)點轉發(fā)至第二節(jié)點,使得消息可以沿著網絡從其發(fā)起節(jié)點朝著其目的地節(jié)點行進。為此,在網狀網絡中可以采用尋址機制。此外,路由器節(jié)點可以存在于網絡上以通過網狀網絡來路由在進行中的消息。在網狀網絡中可以存在一個或多個邊界路由器節(jié)點。邊界路由器節(jié)點的作用是將網狀網絡連接到廣域網。這可以通過移動數(shù)據(jù)網絡(諸如gprs、umts、lte)、wi-fi連接或到廣域網的線纜連接來完成。廣域網可以是例如因特網。想要作為網絡節(jié)點加入網狀網絡的設備在本公開中被稱為加入節(jié)點。一般地,用于加入節(jié)點的第一接觸點可以是網狀網絡的中繼節(jié)點。然后,由加入節(jié)點發(fā)送的認證、握手和/或調試消息被中繼節(jié)點轉發(fā)至邊界路由器節(jié)點。在其到邊界路由器節(jié)點的途中,消息可能可以穿過網狀網絡中的其它節(jié)點(也稱為路由節(jié)點)直至消息到達邊界路由器(br)為止。
圖1圖示出網狀網絡7。僅描繪了一個中繼節(jié)點2、路由器節(jié)點3以及邊界路由器節(jié)點4。然而,在網狀網絡7中存在多個每個類型的節(jié)點。此外,并不是所有這些類型的節(jié)點在網絡中必須存在。例如,在網絡中可以存在中繼節(jié)點2或路由器節(jié)點3中的一個或兩者。邊界路由器節(jié)點4將網狀網絡7連接到廣域網5。在網絡中可以存在其它節(jié)點(例如不轉發(fā)任何消息的節(jié)點或只能與中繼節(jié)點和/或路由器節(jié)點通信的節(jié)點)。在圖中未示出那些節(jié)點。加入節(jié)點1是還不是網狀網絡的一部分的節(jié)點,但是其可以向網狀網絡的節(jié)點發(fā)送消息以請求變成網狀網絡的一部分。允許加入節(jié)點進入網絡的過程有時也稱為調試。在加入節(jié)點的授權過程中涉及到的消息可以稱為調試消息。由其本身并非網狀網絡7的一部分的服務器6來控制對網狀網絡7的接入是可能的。此服務器6可以借助于廣域網5連接到網狀網絡7,例如無線移動數(shù)據(jù)網絡或者有線或無線因特網連接。
圖2圖示出邊界路由器節(jié)點4的裝置。邊界路由器節(jié)點4借助于網狀網絡單元201連接到網狀網絡210上的其它節(jié)點以便將路由器節(jié)點連接到網狀網絡。例如,網狀網絡單元201包括可以向網狀網絡210中的其它節(jié)點發(fā)送無線信號的無線電。此類其它節(jié)點可以包括例如中繼節(jié)點2或路由器節(jié)點3。
邊界路由器節(jié)點4還可以包括用于將路由器節(jié)點連接到廣域網的廣域網單元202。廣域網單元202可以例如包括移動網絡收發(fā)機以及例如sim卡讀取單元。廣域網提供到控制用以加入網狀網絡的調試請求的授權的服務器6的連接。
邊界路由器節(jié)點4還可以包括接收單元,其被操作耦合到網狀網絡單元201以便接收被生成且首先由加入節(jié)點1發(fā)送并被中繼節(jié)點2和/或路由器節(jié)點3轉發(fā)而到達邊界路由器節(jié)點4的一個或多個消息。這些接收到的消息可以包括用于請求加入網狀網絡的握手信號、認證令牌以及加入節(jié)點的標識??梢越柚谠诩尤牍?jié)點1的標識與邊界路由器節(jié)點4的標識之間建立的基于標識成對密鑰來將這些數(shù)據(jù)中的某些或全部加密。
邊界路由器節(jié)點4可以包括密鑰生成單元204,其用于基于加入節(jié)點的標識和路由器節(jié)點的標識而生成加入節(jié)點1與邊界路由器節(jié)點4之間的成對基于標識密鑰。例如,邊界路由器節(jié)點4已在存儲器中存儲節(jié)點特定的預先共享基于標識密鑰材料,可以將該預先共享基于標識密鑰材料與加入節(jié)點的標識組合以生成此密鑰。
邊界路由器節(jié)點4可以包括檢查單元205,其被配置成至少基于成對基于標識密鑰來檢查接收到的認證令牌是否是有效的。例如,可以確認認證令牌的簽名以確定認證令牌是否屬于該標識。此外,可以評估認證令牌的內容以檢查加入節(jié)點是否具有將被允許要加入網絡的請求的適當證書。在特定示例中,檢查單元205被配置成將用認證令牌認證的信息與黑名單中的條目和/或白名單中的條目相比較以確定認證令牌是否是有效的。
此外,邊界路由器節(jié)點4可以包括用于將握手信號通過廣域網轉發(fā)至服務器的轉發(fā)單元206。檢查單元205可以被操作耦合到轉發(fā)單元206,使得只有當認證令牌被確定為是有效時,轉發(fā)單元206才轉發(fā)握手信號。
圖3圖示出加入節(jié)點1的裝置。例如,此裝置可以是網絡設備。裝置1具有將連接到網狀網絡310中的設備的網狀網絡單元301。該裝置包括用以將加入節(jié)點調試到網狀網絡中、使得加入節(jié)點變成網狀網絡的節(jié)點的部件。網狀網絡是以這樣的方式組織的,即調試消息通過邊界路由器節(jié)點4被轉發(fā)至認證服務器6。此外,加入節(jié)點1可以不具有與邊界路由器節(jié)點4的直接連接。此連接可以是通過一個或多個中繼節(jié)點2和/或路由器節(jié)點3,其根據(jù)消息的目的地通過網狀網絡將消息朝著邊界路由器節(jié)點4或朝著加入節(jié)點1轉發(fā)。
網狀網絡單元301可以被配置成執(zhí)行發(fā)現(xiàn)程序以找到其直接環(huán)境中的中繼節(jié)點2或路由器節(jié)點3,即加入節(jié)點1可以與其通信而不要求由另一節(jié)點轉發(fā)消息的節(jié)點。找到的節(jié)點在下文中為了簡單起見被稱為中繼節(jié)點,然而其也可以是路由器節(jié)點。網狀網絡單元301可以進一步被配置成向找到的中繼節(jié)點2發(fā)送調試請求。
加入節(jié)點的裝置可以包括用于從中繼節(jié)點接收路由器節(jié)點的標識的接收單元302。例如,其標識被接收到的此路由器節(jié)點可以是邊界路由器節(jié)點4,因為這是充當從網狀網絡到(潛在地更加昂貴且技術上復雜的)廣域網的接口的節(jié)點。替換地,其可以是網狀網絡中的另一路由器節(jié)點3。在下文中,我們將假設接收到邊界路由器節(jié)點的標識,要理解的是其可以替換地是另一路由器節(jié)點。
此外,加入節(jié)點1可以包括密鑰生成單元330,其用于基于加入節(jié)點的標識和路由器節(jié)點的標識生成加入節(jié)點1與邊界路由器節(jié)點4之間的成對基于標識密鑰。為此,加入節(jié)點1的裝置可以在其存儲器中存儲關于加入節(jié)點的標識的預先共享基于標識的密鑰材料。
此外,加入節(jié)點1可以包括握手單元304,其用于生成用于從服務器請求用以加入網狀網絡的許可的握手信號。此握手信號意圖被服務器6接收到,并且可以由握手單元304根據(jù)調試協(xié)議生成,該調試協(xié)議在本領域中是本來已知的,例如是dtls協(xié)議。
此外,加入節(jié)點1可以包括認證令牌單元305,其用于基于加入節(jié)點的認證數(shù)據(jù)和加入節(jié)點與邊界路由器節(jié)點之間的成對基于標識密鑰來計算認證令牌。此認證令牌可以包括加入節(jié)點的證書的證據(jù)。通過使認證令牌基于成對基于標識密鑰,邊界路由器節(jié)點可以驗證認證令牌是由具有特定標識的加入節(jié)點發(fā)布的。例如,可以基于加入節(jié)點與邊界路由器節(jié)點之間的成對基于標識密鑰將認證令牌加密。
此外,加入節(jié)點1可以包括用于將握手信號和(已加密)認證令牌發(fā)送到中繼節(jié)點2的發(fā)送單元306。中繼節(jié)點然后可以將消息轉發(fā)至邊界路由器節(jié)點4。
在特定實施方式中,密鑰生成單元303被配置成進一步基于加入節(jié)點的標識和中繼節(jié)點的標識而生成加入節(jié)點1與中繼節(jié)點2之間的成對基于標識密鑰。例如,為此而使用與加入節(jié)點的標識相關聯(lián)并存儲在加入節(jié)點的存儲器中的預先共享密鑰材料。
加入節(jié)點1還可以包括簽名單元307,其用于基于加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰對握手信號和/或認證令牌進行簽名。發(fā)送單元306然后可以被配置成將已由簽名單元簽名的握手信號和已加密認證令牌發(fā)送到中繼節(jié)點2。例如,已加密認證令牌被認證令牌單元305使用加入節(jié)點與邊界路由器節(jié)點之間的成對基于標識密鑰進行加密。然后,簽名單元307使用加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰將已加密認證令牌(和/或握手信號)簽名。這允許中繼節(jié)點在將消息轉發(fā)到邊界路由器節(jié)點之前執(zhí)行加入節(jié)點的標識的第一次檢查。
圖4圖示出實現(xiàn)中繼節(jié)點2的裝置的示例。中繼節(jié)點2是網狀網絡中的節(jié)點,其執(zhí)行在網狀網絡的不同節(jié)點之間轉發(fā)消息的功能。然而,中繼節(jié)點2除此之外還可以具有許多其它功能,其在本文中并未描述。
在下文中,描述了用于將加入節(jié)點1調試到網狀網絡中的中繼節(jié)點2的功能。網狀網絡還包括邊界路由器節(jié)點4,其將網狀網絡連接到廣域網,該廣域網包括控制用以加入網狀網絡的調試請求的授權的服務器6。
如圖4中所示,中繼節(jié)點2具有用以與網狀網絡410中的設備通信的網狀網絡單元412。網狀網絡單元412被配置成與還不是網狀網絡的一部分但想要加入網狀網絡的設備通信。此類設備在圖中被指示為加入節(jié)點1。
網狀網絡單元412被配置成發(fā)現(xiàn)加入節(jié)點1或從此類加入節(jié)點1接收用以加入網絡的請求。此外,中繼節(jié)點2可以包括發(fā)送單元401,其用于響應于發(fā)現(xiàn)加入節(jié)點1或接收到用以加入網絡的請求而將邊界路由器節(jié)點4的標識和可選地中繼節(jié)點2本身的標識發(fā)送到加入節(jié)點。
此外,中繼節(jié)點2可以包括握手接收單元405,其用于從加入節(jié)點1接收握手信號,以便請求用于加入節(jié)點1加入網狀網絡410的許可。握手接收單元405可以進一步被配置成從加入節(jié)點1接收認證令牌。
此外,中繼節(jié)點2可以包括轉發(fā)單元406,其用于將握手信號和認證令牌轉發(fā)到路由器節(jié)點4。
在下文中,描述了具有更多特征的實施例。在本實施例中,中繼節(jié)點2還可以包括標識接收單元402,其用于從加入節(jié)點1接收加入節(jié)點1的標識。中繼節(jié)點2還可以包括密鑰生成單元403,其用于基于加入節(jié)點的標識和中繼節(jié)點的標識而生成加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰。例如,存儲在中繼節(jié)點的存儲器中的預先分配的基于標識密鑰材料可以被此密鑰生成單元403使用。此外,中繼節(jié)點2可以包括驗證單元404,其用于基于加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰來驗證握手信號和認證名牌是否被簽名。轉發(fā)單元406可以被配置成基于驗證單元404的輸出將握手信號和認證令牌轉發(fā)至路由器節(jié)點。例如,只有來自具有不在黑名單上的標識的節(jié)點的請求被轉發(fā)。例如,如果加入節(jié)點1被服務器6拒絕接入,則該節(jié)點標識可以被放到中繼器2的黑名單上,使得加入節(jié)點1不能通過該特定中繼節(jié)點2再次嘗試請求接入網狀網絡。
可以將以下特征應用于上述節(jié)點中的每一個。例如,認證令牌可以指示加入節(jié)點1的標識的證據(jù)。也可以將相對于邊界路由器4節(jié)點描述的特征應用于網狀網絡中的其它路由器節(jié)點3。握手信號可以包括數(shù)據(jù)報傳輸層安全dtls握手信號。密鑰生成單元204、303、403可以被配置成基于基于標識的預先分配密鑰材料而生成成對基于標識密鑰。在本文中,不同的節(jié)點每個可以具有與之相關聯(lián)的不同標識,并且因此每個不同節(jié)點可以具有存儲在其中的另一標識的基于標識預先分配密鑰材料。這包括加入節(jié)點1與(邊界)路由器節(jié)點3、4之間的成對基于標識密鑰和/或加入節(jié)點1與中繼節(jié)點2之間的成對基于標識密鑰。
圖5圖示出用于路由調試請求的方法。這種方法可以由路由網狀網絡的調試請求的路由器節(jié)點、特別是邊界路由器節(jié)點執(zhí)行。當邊界路由器節(jié)點連接至網狀網絡時,過程在步驟502處開始。此網狀網絡可以包括任何數(shù)目的節(jié)點,包括一個或多個中繼節(jié)點。在步驟503中,邊界路由器節(jié)點被連接至廣域網。可以通過移動電話網設備(諸如gprs或umts)接入此廣域網。通過廣域網,邊界路由器節(jié)點可以連接至控制調試請求的授權的服務器。這樣,服務器判定是否允許加入節(jié)點1接入網狀網絡。
在步驟504中,邊界路由器節(jié)點從中繼節(jié)點接收用于請求加入網狀網絡的握手信號、認證令牌以及加入節(jié)點的標識。
在步驟505中,邊界路由器節(jié)點基于加入節(jié)點的標識和路由器節(jié)點的標識而生成加入節(jié)點與路由器節(jié)點之間的成對基于標識密鑰。
在步驟506中,邊界路由器節(jié)點至少基于成對基于標識密鑰而檢查認證令牌是否是有效的。如果認證令牌是有效的,則邊界路由器節(jié)點在步驟507中通過廣域網將握手信號轉發(fā)至服務器??蛇x地,如果邊界路由器節(jié)點在步驟506中確定認證令牌不是有效的,則邊界路由器節(jié)點可以向服務器發(fā)送無效加入嘗試的通知。否則,如果邊界路由器節(jié)點在步驟506中確定認證令牌不是有效的,則方法在步驟508中結束而不將握手信號轉發(fā)至服務器。
圖6圖示出用于將加入節(jié)點調試到網狀網絡中的方法。這種方法可以由加入節(jié)點執(zhí)行。如前所述,網狀網絡可以包括中繼節(jié)點和邊界路由器節(jié)點,其中,邊界路由器節(jié)點被連接到廣域網,該廣域網包括用于控制用以加入網狀網絡的調試請求的授權的服務器。方法在步驟601處開始,其中加入節(jié)點從中繼節(jié)點接收路由器節(jié)點的標識。在步驟602中,加入節(jié)點基于加入節(jié)點的標識和路由器節(jié)點的標識而生成加入節(jié)點與路由器節(jié)點之間的成對基于標識密鑰。在步驟603中,加入節(jié)點生成用于從服務器請求用以加入網狀網絡的許可的握手信號。在步驟604中,加入節(jié)點基于加入節(jié)點的認證數(shù)據(jù)來計算認證令牌并基于加入節(jié)點與路由器節(jié)點之間的成對基于標識密鑰而將認證令牌加密。在步驟605中,加入節(jié)點將握手信號和已加密認證令牌發(fā)送到中繼節(jié)點。
圖7圖示出用于將加入節(jié)點調試到網狀網絡中的方法。這種方法可以由中繼節(jié)點執(zhí)行。如上所述,網狀網絡可以包括中繼節(jié)點和路由器節(jié)點,其中,路由器節(jié)點被連接到廣域網,該廣域網包括用于控制用以加入網狀網絡的調試請求的授權的服務器。方法在步驟702處開始,其中中繼節(jié)點將路由器節(jié)點的標識和中繼節(jié)點的標識發(fā)送到加入節(jié)點。在步驟703中,中繼節(jié)點接收加入節(jié)點的標識。在步驟704中,中繼節(jié)點基于加入節(jié)點的標識和中繼節(jié)點的標識而生成加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰。在步驟705中,中繼節(jié)點從加入節(jié)點接收用于請求用于加入節(jié)點加入網狀網絡的許可的握手信號和認證令牌。在步驟706,中繼節(jié)點可選地基于加入節(jié)點與中繼節(jié)點之間的成對基于標識密鑰來驗證握手信號和認證名牌是否被簽名。如果驗證是成功的,則中繼節(jié)點在步驟707中將握手信號和認證令牌轉發(fā)至路由器節(jié)點。否則,過程在步驟708中結束??蛇x地,在步驟708中,中繼節(jié)點向邊界路由器節(jié)點或服務器發(fā)送信息性消息以告知被拒絕的加入嘗試。
上文所述的方法可以借助于計算機程序來實現(xiàn)。此類程序可以由在其中實現(xiàn)節(jié)點的裝置的處理設備執(zhí)行。
在示例中,可以用以下步驟來概括用于將加入節(jié)點1調試到網狀網絡7中的方法:
加入節(jié)點1基于鄰點發(fā)現(xiàn)協(xié)議而聯(lián)系在加入節(jié)點1的緊鄰鄰域(例如,其無線范圍)中的中繼節(jié)點2。
加入節(jié)點1向中繼節(jié)點2發(fā)送其標識,并且中繼節(jié)點2向加入節(jié)點1發(fā)送其標識。
由加入節(jié)點1和中繼節(jié)點2基于加入節(jié)點1的標識和中繼節(jié)點2的標識來建立成對基于標識密鑰。
由中繼節(jié)點2將邊界路由器節(jié)點4的標識發(fā)送到加入節(jié)點1。由加入節(jié)點1基于加入節(jié)點1的標識和邊界路由器節(jié)點4的標識來建立成對基于標識密鑰。
加入節(jié)點1基于存儲在加入節(jié)點的存儲器中的認證數(shù)據(jù)和加入節(jié)點1與邊界路由器節(jié)點4之間的成對基于標識密鑰來計算認證令牌。
加入節(jié)點1將握手信號和認證令牌發(fā)送到中繼節(jié)點2??梢杂眉尤牍?jié)點與中繼器之間的密鑰對此握手信號和認證令牌進行加密和/或認證。這可以被用作中繼器處的第一次檢查。中繼節(jié)點2基于握手信號而檢查加入節(jié)點1的標識,只有當根據(jù)握手信號的加入節(jié)點1的標識與被用來建立成對基于標識密鑰的加入節(jié)點1的標識相同時,中繼節(jié)點2才由中繼節(jié)點2經由邊界路由器節(jié)點4將握手信號轉發(fā)至服務器6。
邊界路由器節(jié)點4檢查認證令牌是否是有效的。
只有當認證令牌是有效的時,邊界路由器節(jié)點4才通過廣域網將握手信號發(fā)送到服務器。
如果握手信號被服務器6接收到,則服務器6執(zhí)行與加入節(jié)點1的認證握手程序。
認證令牌可以提供對加入節(jié)點的合法性的附加檢查。此外,其可以允許邊界路由器4跟蹤哪些設備先前已被調試。邊界路由器4可以經由該邊界路由器通過網狀網絡而具有已被調試(或嘗試被調試)的節(jié)點的信息,并且可以拒絕由先前已經發(fā)送此類調試請求的節(jié)點進行的調試請求。這樣,可以防止拒絕服務攻擊。
用以生成認證令牌的一個方式是獲取握手消息(的子集)并用成對密鑰(例如使用hmac)對其進行簽名。邊界路由器然后獲取其從加入節(jié)點接收到的相同握手消息(的子集)并檢查其已計算的hmac是否與其從加入節(jié)點接收到的那個匹配。在此類實施例中,hmac是認證令牌。
用以由加入節(jié)點生成認證令牌的另一方式是獲取加入節(jié)點的證書并對其進行散列。散列證書形成節(jié)點的標識。此標識被用來導出成對基于標識密鑰,其可以用來將證書和握手消息(的子集)加密。這樣,邊界路由器可以驗證認證令牌,并且還對證書進行其它檢查(諸如其是否被列入黑名單或白名單)。
在實施例中,網絡是具有citytouch后端服務器的網狀網絡。例如,使用ctc協(xié)議??梢酝ㄟ^附加已配置路由器節(jié)點將加入節(jié)點和中繼節(jié)點連接到邊界路由器。除此之外,還可以使用himmo系統(tǒng)而采用成對基于標識密鑰。himmo是密鑰預先分配方案,其利用隱藏信息(hi)和混合模塊化操作(mmo)問題。himmo是密鑰協(xié)商方案,其中可信第三方基于設備的標識在每個設備中建立密鑰材料。
此步驟通常是在設備嘗試加入網絡之前執(zhí)行。例如,其是在工廠中或者由組織在為最終用戶部署設備之前執(zhí)行。每個節(jié)點n因此具有標識符idn以及基于節(jié)點n的標識idn的密鑰材料kmn。此密鑰材料被用來與其它節(jié)點建立成對密鑰。可以用符號kn,n來表示具有標識idn的節(jié)點n與具有標識idn'的節(jié)點n'之間的此成對密鑰。
單個網絡層密鑰(有時稱為l2密鑰)在許多設備之間的共享為其帶來這樣的風險,即如果單個設備受到危害,則共享受到危害的l2密鑰的設備的整個集合都處于風險中,因為不僅從其發(fā)送/接收到的數(shù)據(jù)可以被解密(如果l2處的加密在使用中的話),而且更壞的是,分組可以被注入到網絡中,引起網狀網絡上的拒絕服務(dos)。這還可以導致注入的分組被通過蜂窩鏈路發(fā)送,其可以對客戶造成金錢損失。此外,注入的分組需要在citytouch服務器處被處理,這也可以為citytouch服務器上的dos鋪平道路。通過發(fā)起全網絡范圍的重加密鑰來解決此問題可能是復雜的,尤其是如果網絡很大的話。這也是困難的,因為要識別所捕捉的設備并不容易。
在citytouch的未來迭代中,情況可能是某些設備并未裝配蜂窩接口。在這種情況或其中設備在蜂窩網絡的覆蓋區(qū)域之外的情況下,此設備的調試可以通過網狀網絡發(fā)生。此類設備連接到適當?shù)南噜彵徽{試節(jié)點,并且被調試節(jié)點充當中繼器,將初始安全握手和調試消息轉發(fā)至citytouch服務器。加入節(jié)點與中繼器之間的鏈路未受到l2密鑰的保護,因為加入節(jié)點還不具有l(wèi)2密鑰。如果加入節(jié)點被允許接入網絡,則l2密鑰在調試階段期間被從服務器發(fā)送到設備。這開辟了另一攻擊向量,其中用正確的報頭(表示初始握手和調試消息的報頭)注入的分組可以一直行進至服務器并引起如前所述的相同問題。上述裝置和方法可以幫助克服此類問題中的一個或多個。
圖8圖示出包括許多節(jié)點(節(jié)點中的某些被用標號801—806標記)的網狀網絡。線(諸如線810)指示兩個節(jié)點之間的直接通信連接。此類直接通信連接可以是例如無線鏈路。網絡中的在其之間不具有直接通信連接的節(jié)點仍可以通過沿著被直接互連的節(jié)點的路徑通過網絡轉發(fā)消息來進行通信。例如,通過經由網絡來轉發(fā)消息,可以將來自源節(jié)點801的消息發(fā)送到網絡上的目的地節(jié)點802。在其通過網絡的途中,節(jié)點803可以將消息轉發(fā)至節(jié)點804,節(jié)點804可以將消息轉發(fā)至節(jié)點805等等,直至消息到達目的地節(jié)點802為止。此外,廣域網5上的服務器6可以通過邊界路由器節(jié)點806連接至網狀網絡7。
圖9圖示出其中實現(xiàn)網狀網絡的節(jié)點的功能的裝置900。為了明了起見,將裝置900稱為第一節(jié)點900。將理解的是根據(jù)其任何需要,在網狀網絡的其它節(jié)點(包括在下文中將介紹的第二節(jié)點)中可以存在類似特征。裝置900可以是例如通信設備。
本裝置促進網狀網絡中的消息的安全交換。如所示,第一節(jié)點900可以包括存儲器901,其用于存儲與第一節(jié)點的標識相關聯(lián)的預先共享基于標識密鑰材料。此密鑰材料可以被例如存儲在只讀存儲器或非易失性存儲器中,并且可以在制造裝置900時或者在稍后的時間(通常在部署到最終用戶之前)存儲在其中。
第一節(jié)點900還可以包括網絡認證單元902,其用于執(zhí)行與服務器6的認證程序(針對具有服務器的網站網絡的示例性配置參考圖8,但是還可以使用其它配置)。根據(jù)在本領域中本來已知的調試協(xié)議,認證程序允許第一節(jié)點90可以接入網狀網絡。可選地,可以出于此目的使用相對于圖1至7所述的調試協(xié)議。網絡認證單元902可以被配置成從服務器6接收全網絡范圍密鑰,其中,全網絡范圍密鑰使得能夠接入網狀網絡。全網絡范圍密鑰對于網狀網絡上的所有節(jié)點而言可以是相同的。可以使用不同的全網絡范圍密鑰來創(chuàng)建其它網狀網絡。
第一節(jié)點900可以包括用于執(zhí)行與網狀網絡7中的第二節(jié)點的認證程序的對等認證單元903,其中,對等認證單元903可以被配置成通過網狀網絡7來接收第二節(jié)點的標識。對等認證單元903可以進一步被配置成基于第一節(jié)點的預先共享基于標識密鑰材料和第二節(jié)點的標識來生成第一節(jié)點與第二節(jié)點之間的成對基于標識密鑰。
在本文中的別處已描述并提及用以生成此類密鑰的方式。
第一節(jié)點900可以包括用于生成組合密鑰的組合密鑰發(fā)生器904。為此,組合密鑰發(fā)生器904可以被配置成將全網絡范圍密鑰與成對基于標識密鑰組合。用以將兩個密鑰組合的多個方式是可能的。例如,可以借助于相加或按位相加模2(xor)來將密鑰組合,或者其它種類的組合是可能的。
優(yōu)選地,組合密鑰發(fā)生器904被配置成將兩個密鑰組合,使得不能從組合密鑰提取兩個原始密鑰,但這并不是限制。用以實現(xiàn)這一點的方式本身在本領域中是已知的。xor和相加是如何實現(xiàn)這一點的示例。
第一節(jié)點900還可以包括消息發(fā)送單元905。消息發(fā)送單元905被配置成基于組合密鑰來保護通過網狀網絡在第一節(jié)點與第二節(jié)點之間交換的通信消息。如何保護通信消息的示例包括加密/解密以及數(shù)字簽名。
在特定示例中,對等認證單元903被配置成將第二節(jié)點檢測為具有與第一節(jié)點的直接通信連接的節(jié)點。直接通信連接的示例是無線鏈路?!苯油ㄐ胚B接’被理解為不需要沿著網狀網絡中的其它節(jié)點的通信路徑的連接。
圖10圖示出第一節(jié)點1000的裝置。第一節(jié)點1000可以包括如通過借助于相同參考標號來標記類似組件而指示的第一節(jié)點900的特征。
第一節(jié)點1000還包括應用認證單元1001。
應用認證單元1001被配置成執(zhí)行與網狀網絡中的應用節(jié)點的認證程序。應用認證單元1001和應用節(jié)點在本文中被這樣稱呼,因為如本文中所述的其特征可以涉及網狀網絡的應用層,但這并不是限制。此應用節(jié)點不必直接地連接到第一節(jié)點,而是可以經由網狀網絡中的至少第二節(jié)點被連接。例如,第一節(jié)點1000是生成消息的源節(jié)點,并且應用節(jié)點是該消息被尋址到的目的地節(jié)點。替換地,第一節(jié)點1000是目的地節(jié)點,并且應用節(jié)點是源節(jié)點。由于可以在兩個節(jié)點之間雙向地交換消息,所以源和目的地節(jié)點的作用可以被不斷地互換。
參考圖8,源節(jié)點可以是801且目的地節(jié)點可以是802。節(jié)點803、804和805是從源節(jié)點802到目的地節(jié)點802的路徑上的節(jié)點的示例。因此,消息可以從源節(jié)點801經由第二節(jié)點804行進至目的地節(jié)點802。
再次地參考圖10,應用認證單元1001被配置成可能接收第一節(jié)點與應用節(jié)點之間的路徑上的節(jié)點通過網狀網絡來接收應用程序的標識,并且基于應用節(jié)點的標識和預先共享基于標識密鑰材料而生成第一節(jié)點與應用節(jié)點之間的成對基于標識的密鑰。
第一節(jié)點1000還可以包括應用單元1002,其被配置成基于第一節(jié)點與應用節(jié)點之間的成對基于標識密鑰來保護在第一節(jié)點與應用節(jié)點之間交換的通信消息。此類安全可以包括加密和/或數(shù)字簽名。
應用單元1002可以被配置成與消息發(fā)送單元905交換安全消息。消息發(fā)送單元905可以被配置成將其自己的安全層(加密、數(shù)字簽名)添加到應用單元1002的安全消息。
因此,裝置可以被配置成首先基于第一節(jié)點與應用節(jié)點之間的成對基于標識密鑰且其次基于組合密鑰來保護經由第二節(jié)點在第一節(jié)點與應用節(jié)點之間交換的通信消息。
例如,如果第一節(jié)點1000是源節(jié)點,則可以首先(由應用單元1002)使用第一節(jié)點與應用節(jié)點之間的成對基于標識密鑰對消息進行加密或簽名。接下來,可以(由消息發(fā)送單元905)使用組合密鑰對已加密或已簽名消息進行簽名或加密。
然后可以將消息發(fā)送到在從第一節(jié)點至應用節(jié)點的路徑上并與第一節(jié)點具有直接通信連接的網狀網絡上的第二節(jié)點。
如果第一節(jié)點1000是目的地節(jié)點,則第一節(jié)點1000可以從第二節(jié)點接收消息,該第二節(jié)點在從第一節(jié)點至應用節(jié)點的路徑上,并且與第一節(jié)點具有直接通信連接。消息發(fā)送單元905可以首先使用組合密鑰對消息的數(shù)字簽名進行解密或驗證。接下來,應用單元1002可以使用第一節(jié)點與應用節(jié)點之間的成對基于標識密鑰對消息的數(shù)字簽名進行解密或驗證。
圖11圖示出第一節(jié)點1100的裝置。第一節(jié)點1100可以將從第二節(jié)點接收到的消息轉發(fā)至第三節(jié)點。例如,參考圖8,第一節(jié)點1100可以是例如804,并且第一節(jié)點804可以將從第二節(jié)點803接收到的消息轉發(fā)至第三節(jié)點805。正如先前所解釋的,該消息可以在從源節(jié)點801至目的地節(jié)點802的途中。
第一節(jié)點1100可以包括如通過借助于相同參考標號來標記類似組件而指示的第一節(jié)點900的特征??蛇x地,第一節(jié)點1100還可以包括圖10中所示的應用認證單元1001和應用單元1002。
在圖11的示例性實施方式中,對等認證單元903被配置成執(zhí)行與第二節(jié)點(如上文相對有圖9所述)且與網狀網絡中的第三節(jié)點兩者的認證程序。為了執(zhí)行與第三節(jié)點的認證程序,對等認證單元903被配置成例如經由直接連接通過網狀網絡接收第三節(jié)點的標識。此外,對等認證單元903被配置成基于第三節(jié)點的標識和預先共享基于標識密鑰材料而生成第一節(jié)點與第三節(jié)點之間的成對基于標識密鑰。
組合密鑰發(fā)生器903被配置成通過將全網絡范圍密鑰與第一節(jié)點與第三節(jié)點之間的成對基于標識密鑰組合而生成另一組合密鑰。因此,組合密鑰發(fā)生器904生成至少兩個不同的組合密鑰,用于與第二節(jié)點通信的一個組合密鑰以及用于與第三節(jié)點通信的另一組合密鑰。
消息發(fā)送單元905可以包括轉發(fā)單元1101。轉發(fā)單元的功能是例如使用與第二節(jié)點和第三節(jié)點的直接連接通過網狀網絡來轉發(fā)消息。轉發(fā)單元1101可以被配置成從第二節(jié)點接收消息,并且驗證消息被利用基于全網絡范圍密鑰和第一節(jié)點與第二節(jié)點之間的成對基于標識密鑰的組合密鑰來保護。這樣確保消息不是由未被適當?shù)卣J證的設備插入的。
此外,轉發(fā)單元1101可以被配置成利用另一組合密鑰來保護消息。例如,轉發(fā)消息1101可以從消息去除基于組合密鑰的安全特征,并且利用基于另一組合密鑰的安全特征將其替換。此類安全特征可以包括加密和/或數(shù)字簽名。
在轉發(fā)單元1101已經用另一組合密鑰保護消息之后,轉發(fā)單元1101被配置成將消息發(fā)送到第三節(jié)點。
在圖11的裝置的特定示例中,轉發(fā)單元1101被配置成處理消息,該消息是除了被利用組合密鑰或另一組合密鑰進行保護之外還根據(jù)在源節(jié)點與目的地節(jié)點之間的加密方案被加密的已加密消息。例如,消息是使用另一節(jié)點的應用認證單元1001生成的。
例如,轉發(fā)單元1101被配置成根據(jù)組合密鑰將接收到的消息解密,以獲得仍根據(jù)在源節(jié)點與目的地節(jié)點之間建立的加密方案被加密的消息,并且通過根據(jù)另一組合密鑰將該仍加密消息加密而生成轉發(fā)的消息。
可以將以下特征應用于上述示例中的每一個,包括圖8至11的那些。
在特定實施方式中,將在源節(jié)點與目的地節(jié)點之間使用的加密方案實現(xiàn)為應用層安全,并且將利用組合密鑰的加密實現(xiàn)為網絡層安全。
在示例性實施方式中,以下密鑰中的至少一個是用于特定對稱密鑰密碼協(xié)議的對稱密碼密鑰:全網絡范圍密鑰、組合密鑰以及成對基于標識密鑰。
在示例性實施方式中,至少全網絡范圍密鑰和組合密鑰是用于同一對稱密鑰密碼協(xié)議的密鑰。
在示例性實施方式中,消息發(fā)送單元被配置成用基于組合密鑰的對稱密碼來保護通信消息。
在示例性實施方式中,轉發(fā)單元1101被配置成通過根據(jù)基于數(shù)據(jù)報傳輸層安全(dtls)的協(xié)議將消息從在從發(fā)起節(jié)點至目的地節(jié)點的路線上的一個節(jié)點轉發(fā)至另一個來處理在從發(fā)起節(jié)點至目的地節(jié)點的其途上的消息。
在示例性實施方式中,裝置900包括應用單元,其用于使用消息發(fā)送單元來與網狀網絡上的另一節(jié)點交換應用數(shù)據(jù),其中,應用單元被配置成在應用層級保護與另一節(jié)點交換的消息,使得第二節(jié)點不能將消息解密,其中,消息發(fā)送單元被配置成進一步用組合密鑰來保護消息并將消息發(fā)送到第二節(jié)點。
在示例性實施方式中,將圖1至7的示例與圖8至11的示例組合。例如,網絡認證單元902被配置成經由網狀網絡中的邊界路由器節(jié)點4與服務器6通信。網絡認證單元902可以包括例如上文相對于圖3所述的加入節(jié)點1的特征。這樣,從服務器6獲得全網絡范圍密鑰。服務器6和加入節(jié)點1執(zhí)行(如果握手信號被服務器6接收到的話)的調試程序可以包括在加入節(jié)點1被認證的情況下由服務器發(fā)送全網絡范圍密鑰,并且由加入節(jié)點接收全網絡范圍密鑰。然后,可以由組合密鑰發(fā)生器904使用全網絡范圍密鑰來生成組合密鑰。
可以在第一節(jié)點嘗試加入網狀網絡之前,將預先共享密鑰材料存儲在第一節(jié)點的存儲器中。例如,可以當生產裝置時在工廠中存儲預先共享密鑰材料。
圖12圖示出用于包括多個網絡節(jié)點的網狀網絡中的消息的安全交換的第一節(jié)點的方法。本方法在存儲與網絡節(jié)點的標識相關聯(lián)的預先共享基于標識密鑰材料的步驟1201處開始。在步驟1202中,第一節(jié)點執(zhí)行與服務器的認證程序以可以接入網狀網絡,包括從服務器接收全網絡范圍密鑰,其中,全網絡范圍密鑰使得能夠接入網狀網絡。在步驟1203中,第一節(jié)點執(zhí)行與網狀網絡中的第二節(jié)點的認證程序,包括通過網網絡接收第二節(jié)點的標識,并且基于第二節(jié)點的標識和預先共享基于標識密鑰材料而生成第一節(jié)點與第二節(jié)點之間的成對基于標識密鑰。在步驟1204中,第一節(jié)點通過將全網絡范圍密鑰與成對基于標識密鑰組合而生成組合密鑰。在步驟1205中,加入節(jié)點基于組合密鑰來保護通過網狀網絡在第一節(jié)點與第二節(jié)點之間交換的組合消息。
示例提供用于包括多個網絡節(jié)點的網狀網絡中的消息的安全交換的第一節(jié)點的裝置,該裝置包括
存儲器,其用于存儲與第一節(jié)點的標識相關聯(lián)的預先共享基于標識密鑰材料;
網絡認證單元,其用于執(zhí)行與服務器的認證程序以可以接入網狀網絡,其中,網絡認證單元被配置成從服務器接收全網絡范圍密鑰,其中,全網絡范圍密鑰使得能夠接入網狀網絡;
對等認證單元,其用于執(zhí)行與網狀網絡中的第二節(jié)點的認證程序,
其中,對等認證單元被配置成通過網狀網絡來接收第二節(jié)點的標識并基于第二節(jié)點的標識和預先共享基于標識密鑰材料而生成第一節(jié)點與第二節(jié)點之間的成對基于標識密鑰;
組合密鑰發(fā)生器,其用于通過將全網絡范圍密鑰與成對基于標識密鑰組合來生成組合密鑰;以及
消息發(fā)送單元,其用于基于組合密鑰來保護通過網狀網絡在第一節(jié)點與第二節(jié)點之間交換的通信消息。
這允許改善網狀網絡的安全性。如果全網絡范圍密鑰受到危害,這并不意味著攻擊者可以與網絡中的設備通信,因為消息受到其中將全網絡范圍密鑰與成對基于標識密鑰組合的組合密鑰的保護。如果組合密鑰受到危害,只有與網絡中的設備中的一個的通信是可能的;這可以通過改變受到被危害的組合密鑰影響的一個或兩個節(jié)點的基于標識密鑰材料來修復。
例如,對等認證單元被配置成將第二節(jié)點檢測為具有與第一節(jié)點的直接通信連接的節(jié)點。這允許保護兩個特定設備之間的特定直接通信連接。
本裝置還可以包括用于執(zhí)行與網狀網絡中的應用節(jié)點的認證程序的應用認證單元,
其中,應用節(jié)點經由網狀網絡中的至少第二節(jié)點被連接到第一節(jié)點,
其中,應用認證單元被配置成通過網狀網絡來接收應用節(jié)點的標識,并且基于應用節(jié)點的標識和預先共享基于標識密鑰材料而生成第一節(jié)點與應用節(jié)點之間的成對基于標識密鑰;
本裝置還包括用于基于第一節(jié)點與應用節(jié)點之間的成對基于標識密鑰來保護通信消息的應用單元,并且
其中,消息發(fā)送單元被配置成利用除由應用單元提供的安全性之外的組合密鑰來保護通信消息。
這允許有更多的安全層級:在網絡層處,可以使用組合密鑰來保護用于通過網絡來轉發(fā)消息的直接連接,并且在應用層處,可以隨著消息沿著網絡從源節(jié)點行進至目的地節(jié)點而從頭至尾保護該消息。
本裝置可以被配置成用于從第二節(jié)點向第三節(jié)點轉發(fā)消息,
其中,對等認證單元被配置成還執(zhí)行與網狀網絡中的第三節(jié)點的認證程序,其中,對等認證單元被配置成通過網狀網絡來接收第三節(jié)點的標識,并且基于第三節(jié)點的標識和預先共享基于標識密鑰材料而生成第一節(jié)點與第三節(jié)點之間的成對基于標識密鑰;
其中,組合密鑰發(fā)生器被配置成通過將全網絡范圍密鑰與第一節(jié)點與第三節(jié)點之間的成對基于標識密鑰組合而生成另一組合密鑰;
其中,消息發(fā)送單元包括轉發(fā)單元,其用于從第二節(jié)點接收消息,驗證消息被利用組合密鑰來保護,并且將消息轉發(fā)至第三節(jié)點,其中,轉發(fā)的消息被利用另一組合密鑰來保護。
這允許以更加安全的方式轉發(fā)消息。這樣,消息可以在被通過網絡在節(jié)點之間轉發(fā)的同時沿著節(jié)點跳躍,其中,每對節(jié)點之間的傳輸被利用不同的組合密鑰來保護。
消息可以是除被用組合密鑰或另一組合密鑰來保護之外,還根據(jù)在源節(jié)點與目的地節(jié)點之間建立的加密方案進行加密的已加密消息。這允許有多個安全層。
轉發(fā)單元可以被配置成根據(jù)組合密鑰將接收到的消息解密以獲得仍根據(jù)在源節(jié)點與目的地節(jié)點之間建立的加密方案被加密的消息,并且通過根據(jù)另一組合密鑰將該仍加密消息加密而生成轉發(fā)的消息。
例如,全網絡范圍密鑰可以是用于特定對稱密鑰密碼協(xié)議的對稱密碼密鑰。例如,組合密鑰還可以是用于該特定對稱密鑰密碼協(xié)議的對稱密碼密鑰。例如,成對基于標識密鑰還可以是用于該特定對稱密鑰密碼協(xié)議的對稱密碼密鑰。換言之,以下密鑰中的至少一個可以是用于特定對稱密鑰密碼協(xié)議的對稱密碼密鑰:全網絡范圍密鑰、組合密鑰以及成對基于標識密鑰。這通過使得可能使用同一對稱密鑰密碼協(xié)議用于加密和解密(不考慮已生成了這些密鑰中的哪一個)來增強系統(tǒng)與現(xiàn)有系統(tǒng)的兼容性。
例如,至少全網絡范圍密鑰和組合密鑰是用于同一對稱密鑰密碼協(xié)議的密鑰。這在從將全網絡范圍密鑰用于通信的系統(tǒng)開始時,簡化了系統(tǒng)的實現(xiàn)。
組合密鑰可以被配置成保護網狀網絡的網絡層(l2)處的通信。這使得能夠使用一對設備所特定的密鑰來保護網絡層處的通信。
消息可以是除被利用組合密鑰或另一組合密鑰來保護之外,還根據(jù)在源節(jié)點與目的地節(jié)點之間建立的加密方案進行加密的已加密消息。源節(jié)點可以是生成消息的節(jié)點,而目的地節(jié)點可以是被源節(jié)點選作消息的最終目的地的網絡上的任何節(jié)點。這允許有附加的安全層,因為并非源節(jié)點或目的地節(jié)點的轉發(fā)節(jié)點可能不能將消息解密。
轉發(fā)單元可以被配置成根據(jù)組合密鑰將接收到的消息解密,以獲得仍根據(jù)在源節(jié)點與目的地節(jié)點之間建立的加密方案被加密的消息,并且通過根據(jù)另一組合密鑰將該仍被加密的消息進行加密而生成轉發(fā)的消息。這允許在例如‘網絡’層級(從轉發(fā)單元至轉發(fā)單元)以及在例如‘應用程序’層級(從源節(jié)點至目的地節(jié)點)兩者處保護消息。
消息發(fā)送單元可以被配置成利用基于對稱密碼密鑰的對稱密碼來保護通信消息。
例如,轉發(fā)單元被配置成通過根據(jù)基于數(shù)據(jù)報傳輸層安全(dtls)的協(xié)議將消息從在從發(fā)起節(jié)點至目的地節(jié)點的路線上的一個節(jié)點轉發(fā)至另一個,來處理在從發(fā)起節(jié)點至目的地節(jié)點的其途中的消息。這是用于此目的的適當協(xié)議。
本裝置可以包括應用單元,其用于使用消息發(fā)送單元來與網狀網絡上的另一節(jié)點交換應用數(shù)據(jù),其中,應用單元被配置成在應用層級保護與另一節(jié)點交換的消息,使得第二節(jié)點不能將消息解密,其中,消息發(fā)送單元被配置成進一步用組合密鑰來保護消息并將消息發(fā)送到第二節(jié)點。這幫助保護通信。
例如,網絡認證單元被配置成經由網狀網絡中的將網狀網絡與包括服務器的廣域網相連的邊界路由器節(jié)點來與服務器通信。這促進網絡接入的遠程控制。
預先共享密鑰材料可以在第一節(jié)點嘗試加入網狀網絡之前存在于第一節(jié)點的存儲器中。這促進以可信和/或高效的方式分配每個設備的預先共享密鑰材料。
根據(jù)另一示例,提供了一種用于在包括多個網絡節(jié)點的網狀網絡中的消息的安全交換的第一節(jié)點的方法,本方法包括
存儲與網絡節(jié)點的標識相關聯(lián)的預先共享基于標識密鑰材料;
執(zhí)行與服務器的認證程序以可以接入網狀網絡,包括從服務器接收全網絡范圍密鑰,其中,全網絡范圍密鑰使得能夠接入網狀網絡;
執(zhí)行與網狀網絡中的第二節(jié)點的認證程序,包括通過網狀網絡接收第二節(jié)點的標識,并且基于第二節(jié)點的標識和預先共享基于標識密鑰材料而生成第一節(jié)點與第二節(jié)點之間的成對基于標識密鑰;
通過將全網絡范圍密鑰與成對基于標識密鑰組合來生成組合密鑰;以及
基于組合密鑰來保護通過網狀網絡在第一節(jié)點與第二節(jié)點之間交換的通信消息。
可以將本方法實現(xiàn)為計算機程序產品,其包括用于促使處理設備執(zhí)行所闡述的方法的計算機代碼。
將認識到的是本發(fā)明還應用于適合于將本發(fā)明付諸實施的計算機程序,特別是在載體上或載體中的計算機程序。該程序可以是源代碼、目標代碼、代碼中間源和目標代碼(諸如部分編譯形式)的形式,或者是適合于在實現(xiàn)根據(jù)本發(fā)明的方法時使用的任何其它形式。還將認識到的是此類程序可具有許多不同的架構設計。例如,可以將實現(xiàn)根據(jù)本發(fā)明的方法或系統(tǒng)的功能的程序代碼再分成一個或多個子例程。使功能分布在這些子例程之間的許多不同方式對于技術人員而言將是顯而易見的。可以將子例程一起存儲在一個可執(zhí)行文件中以形成自包含程序。此類可執(zhí)行文件可以包括計算機可執(zhí)行指令,例如處理器指令和/或解釋器程序指令(例如java解釋器程序指令)。替換地,可以將子例程中的一個或多個或全部存儲在至少一個外部庫文件中,并且例如在運行時間靜態(tài)地或動態(tài)地與主程序鏈接。主程序包含對子例程中的至少一個的至少一個調用。子例程還可以包括對相互的調用。關于計算機程序產品的實施例包括對應于本文中闡述的方法中的至少一個的每個處理步驟的計算機可執(zhí)行指令??梢詫⑦@些指令再分成子例程和/或存儲在可以被靜態(tài)地或動態(tài)地鏈接的一個或多個文件中。關于計算機程序產品的實施例包括對應于本文中闡述的系統(tǒng)和/或產品中的至少一個的每個部件的計算機可執(zhí)行指令??梢詫⑦@些指令再分成子例程和/或存儲在可以被靜態(tài)地或動態(tài)地鏈接的一個或多個文件中。
計算機程序的載體可以是能夠承載程序的任何實體或設備。例如,該載體可以包括諸如rom(例如cdrom或半導體rom)之類的存儲介質或例如閃速驅動或硬盤之類的磁記錄介質。此外,載體可以是可傳輸載體(諸如電信號或光信號),其可以經由電纜或光纜或者用無線電或其它手段來傳送。當在此類信號中體現(xiàn)程序時,載體可以由此類線纜或其它設備或部件組成。替換地,載體可以是在其中嵌入程序的集成電路,該集成電路適合于執(zhí)行相關方法或者在執(zhí)行相關方法時使用。
應注意的是上述實施例舉例說明而不是限制本發(fā)明,并且在不脫離所附權利要求的范圍的情況下,本領域的技術人員將能夠設計許多替換實施例。在權利要求中,不應將放入括號內的任何參考標號理解為限制權利要求。動詞“包括”及其變化的使用并不排除除了在權利要求中敘述的那些之外的元件或步驟的存在。在元件前面的冠詞“一”或“一個”不排除多個此類元件的存在??梢越柚诎ǘ鄠€不同元件以及借助于適當編程的計算機來實現(xiàn)本發(fā)明。在枚舉多個部件的設備權利要求中,可以用硬件的同一個項目來體現(xiàn)這些部件中的多個。在相互不同的從屬權利要求中敘述某些措施的僅有事實并不指示這些措施的組合不能被有利地使用。