專利名稱:安全無線網(wǎng)狀網(wǎng)絡中的不良行為檢測方法
技術領域:
本發(fā)明涉及一種用于無線網(wǎng)狀網(wǎng)絡中的安全數(shù)據(jù)傳輸?shù)姆椒?。該網(wǎng)狀網(wǎng)絡包括將
至少一個分組發(fā)送到至少一個轉(zhuǎn)發(fā)節(jié)點的發(fā)送節(jié)點、從發(fā)送節(jié)點接收所述至少一個分組并將所述至少一個分組轉(zhuǎn)發(fā)給一個或更多接收節(jié)點的至少一個轉(zhuǎn)發(fā)節(jié)點和從至少一個接收節(jié)點接收所述至少一個分組的目的地節(jié)點。本發(fā)明還涉及一種計算機程序產(chǎn)品。此外,本發(fā)明還涉及無線網(wǎng)狀網(wǎng)絡中的節(jié)點和無線網(wǎng)狀網(wǎng)絡。
背景技術:
無線網(wǎng)狀網(wǎng)絡建立在用戶節(jié)點上,以形成網(wǎng)絡的路由基礎架構(gòu)。特別地,從源節(jié)點到目的地節(jié)點的多跳路徑上的每個中間節(jié)點的正確轉(zhuǎn)發(fā)行為對于網(wǎng)狀網(wǎng)絡的運行極其重要。根據(jù)上述介紹,至少一個轉(zhuǎn)發(fā)節(jié)點和一個或更多接收節(jié)點表示中間節(jié)點。發(fā)送節(jié)點也可以是中間節(jié)點。然而,在網(wǎng)狀網(wǎng)絡中,當前的安全路由解決方法和不良行為檢測機制是不充分的并且大部分是不適用的。 在S. Marti、 T. Giuli、 K. Lai禾口 M. Baker的"Mitigating Routing MisbehaviourinMobile Ad Hoc Networks'' (Sixth Annual International Conference on MobileComputingand Networking, 2000年,第255-265頁)中,已引入看門狗和選路人(pathrater)的想法,以便解決惡意節(jié)點的問題。該機制的主要思想是為轉(zhuǎn)發(fā)給鄰居節(jié)點的每個分組存儲標識符并且(通過串音(overhearing))驗證鄰居是否轉(zhuǎn)發(fā)了這個分組。無線信道上的混雜監(jiān)聽有若干限制。存在其中在物理層上發(fā)生傳輸沖突和無法檢驗相鄰節(jié)點的行為的場景。而且,有效帶寬利用可能依賴于在也禁止可靠的混雜監(jiān)聽的兩跳鄰域內(nèi)的同時傳輸?shù)囊?guī)劃。
在F. Kargl、 S. Schlott、 A. Klenk、 A. Geiss禾口 M.Weber的"AdvancedDetectionof Selfish or Malicious Nodes in Ad Hoc Networks" (Proceedings of1st EuropeanWorkshop on Security in Ad-Hoc and Sensor Networks(ESAS 2004),SpringerLecture Notes in Computer Science,海德堡,2004年9月)中,提出迭代探測,該迭代探測是檢測路由上的黑洞的機制。假定每個分組中的包含加密信息的字段僅通過路由上的單個節(jié)點是可譯碼的。這個節(jié)點不得不確認分組的接收。從目的地節(jié)點開始,源節(jié)點迭代地尋址路由上的每個單個節(jié)點。丟棄消息(分組)的惡意節(jié)點因此可以借組探測機制被識別出來最后確認或者來自路由中的惡意節(jié)點或者來自一跳之前的節(jié)點。然而,該方法僅限于源路由并且需要網(wǎng)狀網(wǎng)絡的網(wǎng)絡層上的變化。 在 一 些無線網(wǎng)狀網(wǎng)絡中,存在所傳輸?shù)姆纸M的逐跳每鏈路加密(hop-by-ho卯er-link encryption)。在這些無線網(wǎng)狀網(wǎng)絡中,無法通過無線信道的串音來控制中間節(jié)點的不良行為。在分散型開放式網(wǎng)狀網(wǎng)絡中,拒絕轉(zhuǎn)發(fā)消息的惡意中間節(jié)點的檢測是一項必需的且有挑戰(zhàn)性的任務。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種用于無線網(wǎng)狀網(wǎng)絡中的安全數(shù)據(jù)傳輸?shù)姆椒ǎ摲椒z測轉(zhuǎn)發(fā)數(shù)據(jù)消息以及路由消息中的不良行為并且另外能應付無線網(wǎng)狀網(wǎng)絡的MAC層處的每鏈路加密。本發(fā)明的另一目的是提供一種計算機程序產(chǎn)品。本發(fā)明的又一目的是提供無線網(wǎng)狀網(wǎng)絡中的能夠?qū)嵤┖蛯崿F(xiàn)根據(jù)本發(fā)明的方法的節(jié)點。此外,本發(fā)明的目的還是提供一種無線網(wǎng)狀網(wǎng)絡,其中當激活MAC層處的每鏈路加密時可能檢測轉(zhuǎn)發(fā)數(shù)據(jù)消息以及路由消息中的不良行為。 這些目的通過根據(jù)權利要求1所述的方法、根據(jù)權利要求18所述的計算機程序產(chǎn)
品、根據(jù)權利要求19和21所述的無線網(wǎng)狀網(wǎng)絡中的節(jié)點以及根據(jù)權利要求23和24所述
的無線網(wǎng)狀網(wǎng)絡來解決。本發(fā)明的優(yōu)選實施方式在從屬權利要求中被陳述。 根據(jù)本發(fā)明的第一方面,一種用于無線網(wǎng)狀網(wǎng)絡中的安全數(shù)據(jù)傳輸?shù)姆椒?該無
線網(wǎng)狀網(wǎng)絡包括將至少一個分組發(fā)送給至少一個轉(zhuǎn)發(fā)節(jié)點的發(fā)送節(jié)點、從發(fā)送節(jié)點接收所
述至少一個分組并將所述至少一個分組轉(zhuǎn)發(fā)給一個或更多接收節(jié)點的至少一個轉(zhuǎn)發(fā)節(jié)點
和從至少一個接收節(jié)點接收所述至少一個分組的目的地節(jié)點)包括以下步驟-從發(fā)送節(jié)點(即挑戰(zhàn)節(jié)點)將挑戰(zhàn)傳輸給至少一個轉(zhuǎn)發(fā)節(jié)點(即被挑戰(zhàn)節(jié)點),
從而導致至少一個轉(zhuǎn)發(fā)節(jié)點以響應不但回復發(fā)送節(jié)點而且回復至少一個接收節(jié)點,該響應
至少包括關于從發(fā)送節(jié)點經(jīng)由至少一個轉(zhuǎn)發(fā)節(jié)點和至少一個接收節(jié)點已發(fā)送給目的地節(jié)
點的至少一個分組/多個分組中的一個或更多的轉(zhuǎn)換信息,-通過檢驗所述轉(zhuǎn)換信息是否等同于能夠或已經(jīng)得自被請求分組/多個被請求分組的信息來處理所述響應,以找出至少一個轉(zhuǎn)發(fā)節(jié)點是否行為不良,其中不但由發(fā)送節(jié)點而且由至少一個接收節(jié)點實現(xiàn)處理。 即使在不可能串音相鄰無線節(jié)點的活動的情況下,根據(jù)本發(fā)明的方法也能檢測路由不良行為。在有無線鏈路級的加密傳輸?shù)那闆r下,本方法是可適用的。本方法可以適于與各種路由協(xié)議組合工作。本方法是用于檢測相鄰節(jié)點的轉(zhuǎn)發(fā)不良行為的基于挑戰(zhàn)-響應的方案。因此,甚至在有如在現(xiàn)有技術的無線網(wǎng)狀網(wǎng)絡中經(jīng)常采用的MAC層每鏈路加密的情況下,本方法也可以檢測節(jié)點不良行為。 根據(jù)優(yōu)選實施方式,轉(zhuǎn)換信息是挑戰(zhàn)中的被請求分組/多個被請求分組的哈希
和,尤其是被請求分組/多個被請求分組的不可改變的部分的哈希和。在這種情況下,僅小
部分信息必須在被挑戰(zhàn)節(jié)點與其兩個鄰居之間被交換,以檢測節(jié)點不良行為。 如果通過邏輯運算根據(jù)相應分組的哈希值產(chǎn)生哈希和,則可以是有利的。根據(jù)這
個實施方式,將計算兩個節(jié)點之間所交換的每個分組的哈希值。如果挑戰(zhàn)節(jié)點要求被挑戰(zhàn)
節(jié)點傳輸關于所傳輸?shù)姆纸M中的多于一個的轉(zhuǎn)換信息,則可以根據(jù)相對應的哈希值來計算
哈希和。因此,能簡化檢驗的過程。 為了增加安全,在另一實施方式中,通過單向哈希函數(shù)來計算哈希和和/或哈希值。 根據(jù)另一優(yōu)選實施方式,在挑戰(zhàn)中,關于最后X個分組的轉(zhuǎn)換信息被請求哪些分組已從發(fā)送節(jié)點經(jīng)由至少一個轉(zhuǎn)發(fā)節(jié)點和至少一個接收節(jié)點被發(fā)送給目的地節(jié)點。挑戰(zhàn)節(jié)點自由選擇該挑戰(zhàn)節(jié)點想要接收轉(zhuǎn)換信息的分組的數(shù)目X。通過這個實施方式,可以改進節(jié)點不良行為的檢測。 根據(jù)另一實施方式,響應進一步包括挑戰(zhàn)節(jié)點(即接收挑戰(zhàn)的被挑戰(zhàn)節(jié)點的在前跳)的標識符。另外,響應還包括接收被請求的和所傳輸?shù)姆纸M的挑戰(zhàn)的被挑戰(zhàn)節(jié)點的下一跳的標識符。響應也還包括從挑戰(zhàn)節(jié)點被傳輸給被挑戰(zhàn)節(jié)點的被請求分組的數(shù)目??梢岳眠@個信息改進不良行為的檢測。 在第一替換方案中,不加密對挑戰(zhàn)節(jié)點和接收節(jié)點的響應。可替換地,加密對挑戰(zhàn)節(jié)點和接收節(jié)點的響應。第一替換方案在使用每鏈路加密的無線網(wǎng)狀網(wǎng)絡中可以是有用的。因此,被挑戰(zhàn)節(jié)點不必利用相對應的加密密鑰對該響應進行加密。因此,簡化了實現(xiàn)本方法。根據(jù)第二替換方案,如果網(wǎng)狀網(wǎng)絡要求,則可以使用響應的加密。 根據(jù)另一實施方式,可以作為廣播消息傳輸響應??梢杂稍谶@個響應中被尋址的節(jié)點處理該響應。 根據(jù)另一實施方式,發(fā)送節(jié)點、至少一個轉(zhuǎn)發(fā)節(jié)點、至少一個接收節(jié)點和目的地節(jié)
點中的每個都維持針對關于從鄰居節(jié)點接收到的分組的信息的第一列表和用于存儲關于
發(fā)送給鄰居節(jié)點的分組的信息的第二列表。針對存儲在第一列表中的每個接收到的分組,
存儲下列參數(shù)中的一個或更多哈希值、傳輸分組的在前鄰居節(jié)點的標識符、在該在前鄰居
節(jié)點之前傳輸分組的節(jié)點的標識符和關于分組的下一跳的信息。針對存儲在第二列表中的
每個所傳輸?shù)姆纸M,存儲下列參數(shù)中的一個或更多哈希值、分組被轉(zhuǎn)發(fā)給的下一鄰居節(jié)點
的標識符和傳輸分組的在前鄰居節(jié)點的標識符。當接收或傳輸分組時,憂選地更新所述節(jié)
點之一中的第一和第二列表。被挑戰(zhàn)節(jié)點使用第一列表來針對從挑戰(zhàn)節(jié)點接收到的被請求
分組找出緊接著的跳。挑戰(zhàn)節(jié)點使用第二列表來確定由被挑戰(zhàn)節(jié)點接收到的轉(zhuǎn)換信息是否
與發(fā)送給該節(jié)點的分組的轉(zhuǎn)換信息相匹配。從被挑戰(zhàn)節(jié)點接收響應和在這個響應中被尋址
的其它節(jié)點使用第一列表來檢查該節(jié)點是否真正轉(zhuǎn)發(fā)該節(jié)點在轉(zhuǎn)發(fā)時報告的被請求分組。
因此,可能識別試圖操縱響應的惡意節(jié)點。被挑戰(zhàn)節(jié)點僅能欺騙挑戰(zhàn)節(jié)點或下一跳,而不能
同時欺騙上述兩者,并且因此可以檢測到其轉(zhuǎn)發(fā)不良行為。 因此,在另一改進方案中,周期性地傳輸該挑戰(zhàn)。 根據(jù)本發(fā)明的第二方面,提出一種可以直接加載到數(shù)字計算機內(nèi)存中的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括當所述產(chǎn)品運行在計算機上時執(zhí)行根據(jù)本發(fā)明的方法的步驟的軟件代碼部分。該計算機程序產(chǎn)品可以是CD-ROM、磁盤的形式或正好是在計算機網(wǎng)絡內(nèi)被傳輸?shù)男盘栃问健?根據(jù)本發(fā)明的第三方面,提出一種無線網(wǎng)狀網(wǎng)絡中的節(jié)點。無線網(wǎng)狀網(wǎng)絡包括將
至少一個分組發(fā)送給至少一個轉(zhuǎn)發(fā)節(jié)點的發(fā)送節(jié)點、從發(fā)送節(jié)點接收所述至少一個分組并
將所述至少一個分組轉(zhuǎn)發(fā)給一個或更多接收節(jié)點的至少一個轉(zhuǎn)發(fā)節(jié)點和從至少一個接收
節(jié)點接收所述至少一個分組的目的地節(jié)點。節(jié)點(即挑戰(zhàn)節(jié)點)包括用于將挑戰(zhàn)傳輸給至
少一個轉(zhuǎn)發(fā)節(jié)點從而導致至少一個轉(zhuǎn)發(fā)節(jié)點(即被挑戰(zhàn)節(jié)點)以響應不但回復挑戰(zhàn)節(jié)點而
且回復至少一個接收節(jié)點的第一裝置,該響應至少包括關于從挑戰(zhàn)節(jié)點經(jīng)由至少一個轉(zhuǎn)發(fā)
節(jié)點和至少一個接收節(jié)點已發(fā)送給目的地節(jié)點的至少一個分組/多個分組中的一個或更
多的轉(zhuǎn)換信息,并且節(jié)點(即挑戰(zhàn)節(jié)點)包括用于通過檢驗轉(zhuǎn)換信息是否等同于能夠或已
經(jīng)得自被請求分組/多個被請求分組的信息來處理該響應以找出至少一個轉(zhuǎn)發(fā)節(jié)點是否
行為不良的第二裝置,其中不但由發(fā)送節(jié)點而且由至少一個接收節(jié)點實現(xiàn)處理。 節(jié)點還可包括用于實現(xiàn)根據(jù)本發(fā)明的方法所述的其它步驟的裝置。 根據(jù)本發(fā)明的第四方面,提出無線網(wǎng)狀網(wǎng)絡中的另一節(jié)點。該無線網(wǎng)狀網(wǎng)絡包括
將至少一個分組發(fā)送給至少一個轉(zhuǎn)發(fā)節(jié)點的發(fā)送節(jié)點、從發(fā)送節(jié)點接收所述至少一個分組并將所述至少一個分組轉(zhuǎn)發(fā)給一個或更多接收節(jié)點的至少一個轉(zhuǎn)發(fā)節(jié)點和從至少一個接收節(jié)點接收所述至少一個分組的目的地節(jié)點。節(jié)點(即被挑戰(zhàn)節(jié)點)包括用于接收和處理來自發(fā)送節(jié)點(即挑戰(zhàn)節(jié)點)的挑戰(zhàn)從而導致被挑戰(zhàn)節(jié)點以響應不但回復挑戰(zhàn)節(jié)點而且回復至少一個接收節(jié)點的裝置,該響應至少包括關于從挑戰(zhàn)節(jié)點經(jīng)由至少一個轉(zhuǎn)發(fā)節(jié)點和至少一個接收節(jié)點已發(fā)送給目的地節(jié)點的至少一個分組/多個分組中的一個或更多的轉(zhuǎn)換信息,其中該轉(zhuǎn)換信息可得自被請求分組/多個被請求分組。 在另一實施方式中,這個節(jié)點還包括用于實現(xiàn)根據(jù)本發(fā)明的方法的其它步驟的其它裝置。 根據(jù)本發(fā)明的第五和第六方面,無線網(wǎng)狀網(wǎng)絡包括至少一個節(jié)點,所述至少一個節(jié)點表現(xiàn)為根據(jù)本發(fā)明的挑戰(zhàn)節(jié)點和/或表現(xiàn)為根據(jù)本發(fā)明的被挑戰(zhàn)節(jié)點。
本發(fā)明的進一步改進將參考附圖進行描述。
圖1示出說明本發(fā)明原理的無線網(wǎng)狀網(wǎng)絡, 圖2示出網(wǎng)狀子報頭(mesh subheader)的修改方案, 圖3示出挑戰(zhàn)的消息格式,以及 圖4示出對挑戰(zhàn)作出反應的響應的消息格式。
具體實施例方式
根據(jù)本發(fā)明的用于檢測相鄰節(jié)點的轉(zhuǎn)發(fā)不良行為的方法基于挑戰(zhàn)_響應過程并將通過參考示出無線網(wǎng)狀網(wǎng)絡的圖l來解釋。A、 R、 NR和D各自表示節(jié)點集。節(jié)點集A包
括產(chǎn)生分組或轉(zhuǎn)發(fā)分組的發(fā)送節(jié)點A.....Ah和& (縮寫為A》。在本例中,發(fā)送節(jié)點&
想要檢驗其針對所發(fā)送的分組的下一跳的轉(zhuǎn)發(fā)行為。節(jié)點集R包括表示由節(jié)點&發(fā)送的
分組P的可能的緊接著的跳的節(jié)點&.....和Rj (縮寫為Rj)。相對應地,節(jié)點集NR包
括表示節(jié)點Rj的緊接著的跳的節(jié)點NRp NR2.....NRk(縮寫為節(jié)點NRk并稱為接收節(jié)點)。
因此,由發(fā)送節(jié)點&傳輸給至少一個轉(zhuǎn)發(fā)節(jié)點Rj的分組PP將在其朝向節(jié)點集D中的目的
地節(jié)點D工.....D卜pDj縮寫為D》的途中被轉(zhuǎn)發(fā)給至少一個節(jié)點NRk。節(jié)點DJ皮假定為是
由發(fā)送節(jié)點&發(fā)起或者最初傳輸或轉(zhuǎn)發(fā)的分組的目的地。要注意的是,節(jié)點集A、 R、 NR和D被假定為是不相交的。然而,節(jié)點集A、R、NR和D在實踐中也可以是相交的。
圖1中的參考數(shù)字P可表示一個或多個連續(xù)分組。為了描述簡便,以下將其稱為多個或大量分組。在本說明書內(nèi),假定由節(jié)點Ai(在圖1中為A》發(fā)起或最初轉(zhuǎn)發(fā)分組P。
Pabx表示由節(jié)點a傳輸給節(jié)點b的最后的分組。Pabx—i表示由節(jié)點a傳輸給節(jié)點b的最后第i個分組。 此夕卜,使用數(shù)學函數(shù)hashsum(lv. ,hn),該數(shù)學函數(shù)hashsum(lv ,hn)基本上是映射({H} , , {H}) — H,其中H G {0, 1} 16° (H是160位二進制值),對于i G N, ^ G H??梢哉J為該集合是使用哈希函數(shù)針對各個分組所計算的160比特哈希集。函數(shù)hashsum()不得不是可交換的以及相關的。hashsum()的語義如下
/K^—ZJ'...'/^/^"-...,""") ° 另外,如果所用的哈希值hash()是單向哈希函數(shù),則可以實施改進的抗不良行為的安全性。然而,這是可選的。只要hashsum()保持定義的屬性,運算0就是任意的。在本 示例中,0對應于異或運算。 以下將描述根據(jù)本發(fā)明的方法的挑戰(zhàn)_響應機制。希望檢驗其鄰居(即轉(zhuǎn)發(fā)節(jié)點 R》的轉(zhuǎn)發(fā)行為的節(jié)點A向轉(zhuǎn)發(fā)節(jié)點Rl傳輸挑戰(zhàn)。挑戰(zhàn)可以具有如圖3所示的消息格式。 在該表之內(nèi),挑戰(zhàn)用"WatchAnt Request"來描述,從而表明一個或多個被挑戰(zhàn)的節(jié)點的數(shù) 目和標識符(大小為8比特的"Nr. Challenged nodes (n)"和大小為16比特的"Node ID") 和大小為16比特的應被驗證的分組數(shù)目("packet count")。因此,挑戰(zhàn)識別出地址節(jié)點 (此處為R》并要求該地址節(jié)點以針對由挑戰(zhàn)節(jié)點&發(fā)送給被挑戰(zhàn)節(jié)點&的最后i個分組 的轉(zhuǎn)發(fā)信息進行回復。在本例中,請求^回復關于分組《,'..^^'的轉(zhuǎn)發(fā)的詳細說明信息。 然后,在作出反應時,Ri發(fā)送如圖4所示的格式的響應。如可從該表中看出的那樣,響應包 括以下集合標識在前跳(16比特的"Previous Hop")的元組、即挑戰(zhàn)節(jié)點(這里是A》; 分組集的下一跳(8比特的"Nr.Next Hop Nodes (n)"和16比特的"Node ID");轉(zhuǎn)發(fā)給下 一跳的分組數(shù)目(16比特的"Nr. Packets forwarded")和發(fā)送給下一跳的所有分組的哈希 值(160比特的"Hash Value")。 更具體地,假定&已經(jīng)發(fā)送了如上面詳細說明的挑戰(zhàn)。此外,假定節(jié)點&已將 分組僅轉(zhuǎn)發(fā)給單個接收節(jié)點NR"在本例中,挑戰(zhàn)已要求最后兩個分組。接著,響應好像 是[A!,NR!,2, totom(" /vr')]。作為廣播消息不加密地傳輸這個響應。針對其要計算 hashs咖()的在前分組的數(shù)目用Wa ReqN咖表示。在上例中,Wa ReqN咖=2。這一參數(shù)確 定了檢測相鄰節(jié)點的轉(zhuǎn)發(fā)不良行為的概率。因此,當&傳輸響應時,該響應將由其鄰居、即 發(fā)送節(jié)點&和接收節(jié)點以及NR2接收。只有在該響應中被尋址的節(jié)點將處理該回復。 在本例中,節(jié)點&和將處理接收到的回復。 通過檢驗該回復或響應,或或兩者都將能夠檢測節(jié)點&在該節(jié)點行為不良 的情況下的轉(zhuǎn)發(fā)不良行為。通常,由挑戰(zhàn)節(jié)點和被挑戰(zhàn)節(jié)點之后的所報告的緊接著的跳來 檢驗被挑戰(zhàn)節(jié)點發(fā)送的響應。這些節(jié)點都需要能夠檢驗回復,而被挑戰(zhàn)節(jié)點需要產(chǎn)生響應。
因此,上述節(jié)點中的每個都需要維持緊接著描述的某些數(shù)據(jù)結(jié)構(gòu)。每個節(jié)點為每 個相鄰節(jié)點維持兩個列表從鄰居節(jié)點接收到的分組的信息的InList和用于存儲關于發(fā) 送給鄰居節(jié)點的分組的信息的0utList。因此,根據(jù)節(jié)點的鄰居數(shù)目,一個節(jié)點可以維持 InList禾P 0utList的集合。 以下,hashhlm(P)表示分組P的不可改變的部分的哈希和。針對已接收到的分組 的InList中的條目包含hash(P)、傳輸這個分組的鄰居(也就是在前節(jié)點)的節(jié)點標識符 和在該在前節(jié)點之前傳輸分組的節(jié)點的節(jié)點標識符。另外,InList中的字段可以被用來輸 入關于分組的下一跳的信息。 針對所傳輸?shù)姆纸M的0utList包含hashhlm(P)和該分組被轉(zhuǎn)發(fā)給的節(jié)點的節(jié)點 標識符。上述列表中的條目數(shù)目可以被限制為某個最大值。另外,為了能夠檢驗被挑戰(zhàn)節(jié) 點的響應,需要關于該分組的在前兩跳的信息。因此,對于每個所傳輸?shù)姆纸M,除了傳輸方 的節(jié)點標識符之外,還設置在前節(jié)點標識符字段。 在接收或傳輸分組時,更新InList或OutList,并且如在前所詳細說明的那樣設 置這些列表中的所有字段。 發(fā)送節(jié)點周期性地發(fā)出如先前所解釋的挑戰(zhàn),從而要求關于發(fā)送給其鄰居節(jié)點(即轉(zhuǎn)發(fā)節(jié)點)的在前WaReqNum個分組的信息。然后,被挑戰(zhàn)節(jié)點使用InList找出從挑戰(zhàn) 方接收到的最后WaReqNum個分組的緊接著的跳。使用從InList中找到的正被討論的分組 的哈希值和相對應的下一跳,被挑戰(zhàn)節(jié)點使用哈希和函數(shù)來產(chǎn)生響應。然后傳輸該響應。
挑戰(zhàn)方使用其0utList來確定被挑戰(zhàn)節(jié)點所報告的哈希和是否與發(fā)送給該節(jié)點 的分組的哈希和相匹配。對應于接收該響應和在回復中被尋址的接收節(jié)點的其它節(jié)點使用 其InList來檢查被挑戰(zhàn)節(jié)點是否真正轉(zhuǎn)發(fā)被挑戰(zhàn)節(jié)點在轉(zhuǎn)發(fā)時報告的分組。
可以從該過程中看出,試圖操縱響應的惡意節(jié)點只能欺騙挑戰(zhàn)節(jié)點或關于被挑戰(zhàn) 節(jié)點的下一跳,但不能同時欺騙上述兩者。因此,將檢測到被挑戰(zhàn)節(jié)點的轉(zhuǎn)發(fā)不良行為。
參數(shù)WaReqNum對于確定檢測轉(zhuǎn)發(fā)不良行為的方法的能力來說很重要。在惡意節(jié)
點不是轉(zhuǎn)發(fā)分組而是以概率P^^來丟棄分組時,分組不被丟棄的概率由(1_PS#)給出。倘 若要求關于最后Wa ReqNum個分組的信息的請求被尋址到惡意節(jié)點,則將當且僅當該惡意 節(jié)點沒有丟棄最后Wa ReqNum個分組中的單個分組時無法檢測出其惡意行為。該節(jié)點沒有 丟棄最后WaReqNum個分組中的單個分組的概率由(卜p^^),一給出,該概率等于將沒有
檢測到惡意節(jié)點的概率。因此,將檢測到以概率P^^丟棄分組的惡意節(jié)點的概率為l-(l-P
、WaReqNum 丟棄^ ° 本發(fā)明可以在根據(jù)IEEE標準802. 16-2004的802. 16網(wǎng)狀網(wǎng)絡的背景下實施???以使用如圖2中所示的標準中的網(wǎng)狀子報頭來實施上述方法。在圖2中,這個網(wǎng)狀子報頭 也包含大小為16比特的變量"Xmt Node Id"和大小為16比特的變量"Prev Node Id"。隨 后,網(wǎng)狀子報頭包含傳輸節(jié)點和在前節(jié)點的節(jié)點Id。 消息的在前轉(zhuǎn)發(fā)方的節(jié)點Id被包含在變量"Prev Node Id"中。根據(jù)圖2的修改 方案允許節(jié)點在接收時確定最后第二轉(zhuǎn)發(fā)方的節(jié)點Id。 即使在不可能串音相鄰無線節(jié)點的活動的情況下,本發(fā)明也能檢測路由不良行 為。 在有無線鏈路級的加密傳輸?shù)那闆r下,本發(fā)明也是可適用的,并且本發(fā)明可適于 與各種路由協(xié)議組合工作。此外,甚至在有被用于現(xiàn)有技術的無線網(wǎng)狀網(wǎng)絡中的MAC層每 鏈路加密的情況下,所述方法也能檢測節(jié)點不良行為。監(jiān)控轉(zhuǎn)發(fā)行為的優(yōu)點在于檢測和識 別行為不良的節(jié)點。那些不勞而獲的節(jié)點試圖從網(wǎng)絡中的參與節(jié)點的服務中獲益而自己卻 不貢獻。如果能夠追蹤那些節(jié)點并且如果那些節(jié)點變得太多,則會對網(wǎng)絡在吞吐量和可靠 性方面的性能產(chǎn)生重大影響。
10
權利要求
一種用于無線網(wǎng)狀網(wǎng)絡中的安全數(shù)據(jù)傳輸?shù)姆椒?,該無線網(wǎng)狀網(wǎng)絡包括-將至少一個分組(P)發(fā)送給至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)的發(fā)送節(jié)點(Ai),-從發(fā)送節(jié)點(Ai)接收所述至少一個分組并將所述至少一個分組轉(zhuǎn)發(fā)給一個或更多接收節(jié)點(NRk)的至少一個轉(zhuǎn)發(fā)節(jié)點(Rj),-從至少一個接收節(jié)點(NRj)接收至少一個分組的目的地節(jié)點(Dl),該方法包括以下步驟-從發(fā)送節(jié)點(Ai)、即挑戰(zhàn)節(jié)點向至少一個轉(zhuǎn)發(fā)節(jié)點(Ri)傳輸挑戰(zhàn),從而導致至少一個轉(zhuǎn)發(fā)節(jié)點(Ri)、即被挑戰(zhàn)節(jié)點以響應不但回復發(fā)送節(jié)點(Ai)而且回復至少一個接收節(jié)點(NRk),該響應至少包括關于已從發(fā)送節(jié)點(Ai)經(jīng)由至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)和至少一個接收節(jié)點(NRk)被發(fā)送給目的地節(jié)點(Dl)的至少一個分組/多個分組中的一個或更多的轉(zhuǎn)換信息,-通過檢驗所述轉(zhuǎn)換信息是否等同于能夠或已經(jīng)得自被請求分組/多個被請求分組的信息來處理該響應,以找出至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)是否行為不良,其中不但由發(fā)送節(jié)點(Ai)而且由至少一個接收節(jié)點(NRk)來實現(xiàn)處理。
2. 根據(jù)權利要求1所述的方法,其中,轉(zhuǎn)換信息是挑戰(zhàn)中的被請求分組/多個被請求分 組(P)的哈希和,尤其是針對被請求分組/多個被請求分組(P)的不可改變的部分的哈希 和。
3. 根據(jù)權利要求2所述的方法,其中,哈希和通過邏輯運算根據(jù)相應分組的哈希值來產(chǎn)生。
4. 根據(jù)權利要求2或3所述的方法,其中,哈希和和/或哈希值由單向哈希函數(shù)來計算。
5. 根據(jù)前述權利要求之一所述的方法,其中,在挑戰(zhàn)中,關于最后x個分組(P)的轉(zhuǎn)換 信息被請求哪些分組(P)已從發(fā)送節(jié)點(Ai)經(jīng)由至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)和至少一個接收 節(jié)點(NRk)被發(fā)送給目的地節(jié)點(D》。
6. 根據(jù)前述權利要求之一所述的方法,其中,響應還包括挑戰(zhàn)節(jié)點(Ai)的標識符,所述 挑戰(zhàn)節(jié)點(Ai)即接收挑戰(zhàn)的被挑戰(zhàn)節(jié)點的在前跳。
7. 根據(jù)前述權利要求之一所述的方法,其中,響應還包括接收被請求的和所傳輸?shù)姆?組(P)的挑戰(zhàn)的被挑戰(zhàn)節(jié)點的下一跳的標識符。
8. 根據(jù)前述權利要求之一所述的方法,其中,響應還包括從挑戰(zhàn)節(jié)點傳輸給被挑戰(zhàn)節(jié) 點的被請求分組(P)的數(shù)目。
9. 根據(jù)前述權利要求之一所述的方法,其中,將不加密對挑戰(zhàn)節(jié)點和接收節(jié)點的響應。
10. 根據(jù)權利要求1至8之一所述的方法,其中,將加密對挑戰(zhàn)節(jié)點和接收節(jié)點的響應。
11. 根據(jù)前述權利要求之一所述的方法,其中,響應作為廣播消息被傳輸。
12. 根據(jù)前述權利要求之一所述的方法,其中,將由在響應中被尋址的節(jié)點處理響應。
13. 根據(jù)前述權利要求之一所述的方法,其中,發(fā)送節(jié)點(A》、至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)、 至少一個接收節(jié)點(NRk)和目的地節(jié)點(D》中的每個都維持針對關于從鄰居節(jié)點接收到的 分組(P)的信息的第一列表和用于存儲關于發(fā)送給鄰居節(jié)點的分組的信息的第二列表。
14. 根據(jù)權利要求13所述的方法,其中,針對存儲在第一列表中的每個接收到的分組(P),存儲下列參數(shù)中的一個或更多-哈希值,_傳輸分組的在前鄰居節(jié)點的標識符,_在所述在前鄰居節(jié)點之前傳輸分組的節(jié)點的標識符,-關于分組的下一跳的信息。
15. 根據(jù)權利要求13所述的方法,其中,針對存儲在第二列表中的每個所傳輸?shù)姆纸M, 存儲下列參數(shù)中的一個或更多-哈希值,_分組被轉(zhuǎn)發(fā)給的下一鄰居節(jié)點的標識符, _傳輸分組的在前鄰居節(jié)點的標識符。
16. 根據(jù)權利要求13至15之一所述的方法,其中,在接收或傳輸分組時更新節(jié)點之一 中的第一和第二列表。
17. 根據(jù)前述權利要求之一所述的方法,其中,周期性地傳輸挑戰(zhàn)。
18. —種能被直接加載到數(shù)字計算機的內(nèi)存中的計算機程序產(chǎn)品,其包括用于當在計 算機上運行所述產(chǎn)品時執(zhí)行前述權利要求之一所述的步驟的軟件代碼部分。
19. 一種無線網(wǎng)狀網(wǎng)絡中的節(jié)點,該無線網(wǎng)狀網(wǎng)絡包括 -將至少一個分組(P)發(fā)送給至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)的發(fā)送節(jié)點(A,), -從發(fā)送節(jié)點(Ai)接收所述至少一個分組并將所述至少一個分組轉(zhuǎn)發(fā)給一個或更多接收節(jié)點(NRk)的至少一個轉(zhuǎn)發(fā)節(jié)點(Rj),-從至少一個接收節(jié)點(NRj)接收所述至少一個分組的目的地節(jié)點(D》, 該節(jié)點、即挑戰(zhàn)節(jié)點包括-第一裝置,用于將挑戰(zhàn)傳輸給至少一個轉(zhuǎn)發(fā)節(jié)點(RJ ,從而導致至少一個轉(zhuǎn)發(fā)節(jié)點 (Ri)、即被挑戰(zhàn)節(jié)點以響應不但回復挑戰(zhàn)節(jié)點(Ai)而且回復至少一個接收節(jié)點(NRk),該響 應至少包括關于已從挑戰(zhàn)節(jié)點(Ai)經(jīng)由至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)和至少一個接收節(jié)點(NRk) 被發(fā)送給目的地節(jié)點(D》的至少一個分組/多個分組中的一個或更多的轉(zhuǎn)換信息,-第二裝置,用于通過檢驗所述轉(zhuǎn)換信息是否等同于能夠或已經(jīng)得自被請求分組/多 個被請求分組的信息來處理該響應,以找出至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)是否行為不良,其中不 但由發(fā)送節(jié)點(Ai)而且由至少一個接收節(jié)點(NRk)實現(xiàn)處理。
20. 根據(jù)權利要求19所述的節(jié)點,其中,該節(jié)點包括用于實現(xiàn)根據(jù)前述方法權利要求 之一所述的其它步驟的其它裝置。
21. —種無線網(wǎng)狀網(wǎng)絡中的節(jié)點,該無線網(wǎng)狀網(wǎng)絡包括 -將至少一個分組(P)發(fā)送給至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)的發(fā)送節(jié)點(A,), -從發(fā)送節(jié)點(Ai)接收所述至少一個分組并將所述至少一個分組轉(zhuǎn)發(fā)給一個或更多接收節(jié)點(NRk)的至少一個轉(zhuǎn)發(fā)節(jié)點(Rj),-從至少一個接收節(jié)點(NRj)接收所述至少一個分組的目的地節(jié)點(D》, 該節(jié)點、即被挑戰(zhàn)節(jié)點包括用于從發(fā)送節(jié)點(Ai)、即挑戰(zhàn)節(jié)點接收和處理挑戰(zhàn)從而導 致被挑戰(zhàn)節(jié)點(RJ以響應不但回復挑戰(zhàn)節(jié)點(Ai)而且回復至少一個接收節(jié)點(NRk)的裝 置,該響應至少包括關于已從挑戰(zhàn)節(jié)點(Ai)經(jīng)由至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)和至少一個接收節(jié) 點(NRk)被發(fā)送給目的地節(jié)點(D》的至少一個分組/多個分組中的一個或更多的轉(zhuǎn)換信 息,其中所述轉(zhuǎn)換信息能夠得自被請求分組/多個被請求分組。
22. 根據(jù)權利要求21所述的節(jié)點,其中,該節(jié)點包括用于實現(xiàn)根據(jù)前述方法權利要求 之一所述的其它步驟的其它裝置。
23. —種包括至少一個節(jié)點的無線網(wǎng)狀網(wǎng)絡,所述至少一個節(jié)點表現(xiàn)為根據(jù)權利要求 19或20所述的挑戰(zhàn)節(jié)點。
24. —種包括至少一個節(jié)點的無線網(wǎng)狀網(wǎng)絡,所述至少一個節(jié)點表現(xiàn)為根據(jù)權利要求 21或22所述的被挑戰(zhàn)節(jié)點。
全文摘要
本發(fā)明描述一種用于無線網(wǎng)狀網(wǎng)絡中的安全數(shù)據(jù)傳輸?shù)姆椒?。發(fā)送節(jié)點(Ai)將至少一個分組(P)發(fā)送給至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)。至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)從發(fā)送節(jié)點(Ai)接收所述至少一個分組并將所述至少一個分組轉(zhuǎn)發(fā)給一個或更多接收節(jié)點(NRk)。目的地節(jié)點(Dl)從至少一個接收節(jié)點(NRj)接收所述至少一個分組。本發(fā)明包括從發(fā)送節(jié)點(Ai)、即挑戰(zhàn)節(jié)點將挑戰(zhàn)傳輸給至少一個轉(zhuǎn)發(fā)節(jié)點(Ri)從而導致至少一個轉(zhuǎn)發(fā)節(jié)點(Ri)、即被挑戰(zhàn)節(jié)點以響應不但回復發(fā)送節(jié)點(Ai)而且回復至少一個接收節(jié)點(NRk)的步驟,該響應至少包括關于從發(fā)送節(jié)點(Ai)經(jīng)由至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)和至少一個接收節(jié)點(NRk)發(fā)送給目的地節(jié)點(Dl)的至少一個分組/多個分組中的一個或更多的轉(zhuǎn)換信息。本發(fā)明還包括通過檢驗轉(zhuǎn)換信息是否等同于能夠或已經(jīng)得自被請求分組/多個被請求分組的信息來處理該響應以找出至少一個轉(zhuǎn)發(fā)節(jié)點(Rj)是否行為不良的步驟,其中不但由發(fā)送節(jié)點(Ai)而且由至少一個接收節(jié)點(NRk)實現(xiàn)處理。
文檔編號H04L12/26GK101796861SQ200880105935
公開日2010年8月4日 申請日期2008年9月3日 優(yōu)先權日2007年9月6日
發(fā)明者A·齊勒, K·格拉菲, M·霍利克, P·S·莫格雷 申請人:西門子公司