專利名稱:用于在對等覆蓋網絡中降低所選位置攻擊的效果的方法和裝置的制作方法
技術領域:
概括而言,本申請涉及覆蓋網絡的操作,具體而言,涉及用于在對等覆蓋網絡中降 低所選位置攻擊的效果的方法和裝置。
背景技術:
本文將一種網絡稱為“對等”覆蓋網絡,在這種網絡中,成員節點在不存在基于服 務器的基礎設施的情況下獲得服務。在對等覆蓋網絡中,對等節點相互進行合作以提供服 務并維護網絡。對等覆蓋網絡可以建立在底層網絡之上,該底層網絡例如是利用互聯網協 議(IP)的網絡。基于分布式哈希表(DHT)的對等覆蓋網絡使用基于標識信息的哈希信息的標識 符。通常,使用相同的基于哈希的機制來建立節點標識符和資源標識符。如果未授權實體 可以選擇特定的節點標識符,則它們可以成為路由到特定節點的隊列中的重要成員或者對 特定資源進行控制。這種活動通常稱作為所選位置攻擊。用于在基于DHT的網絡中解決所選位置攻擊的傳統方法是進行集中式節點登記。 利用許可節點管理的集中式登記服務器能夠保證所提供的節點標識符是真正隨機的。為了 設置所選位置攻擊,攻擊者必須進行大量嘗試以便連接;丟棄所分配的沒有提供攻擊向量 的標識符。如果登記服務器要求身份證明,則進行大量的連接嘗試以設置攻擊將是不可能 的。然而,利用中央登記服務器存在一些問題。例如,登記服務器具有較大的職責,并且因 此可能需要具有不可中斷的電源以確保有效性。另外,登記服務器可能需要備份和特定的 網絡服務器。此外,即使登記服務器正常運行,其也可能危及自身從而危及整個覆蓋網絡的 運行。因此,希望有一種簡單的低成本高效機制,以降低在對等覆蓋網絡中所選位置攻 擊的效果。
發明內容
在一個或多個方面,提供了一種包括方法和裝置的對等覆蓋網絡保護系統,該系 統用于在對等覆蓋網絡中防止所選位置攻擊。在一方面,提供了一種方法,其用于對節點進行操作以便在對等覆蓋網絡中防止 所選位置攻擊。該方法包括確定將要為覆蓋網絡中的多個節點生成新的節點標識符,將所選參數輸入到哈希函數中以生成所選節點標識符,以及在對等覆蓋網絡中采用與所選節點 標識符相關聯的位置。在一方面,提供了一種節點,其用于在對等覆蓋網絡中防止所選位置攻擊。該節點 包括定時模塊,用于確定將要為覆蓋網絡中的多個節點生成新的節點標識符;以及處理 器模塊,用于將所選參數輸入到哈希函數中以生成所選節點標識符,并且在對等覆蓋網絡 中采用與所選節點標識符相關聯的位置。在一方面,提供了一種方法,其可由節點用于在對等覆蓋網絡中防止所選位置攻 擊。該方法包括接收與所選節點相關聯的新的節點標識符,將與所選節點相關聯的所選參 數輸入到哈希函數以生成對應的節點標識符,將新的節點標識符與對應的節點標識符進行 比較,以及如果新的節點標識符與對應的節點標識符不匹配,則確定所選節點是潛在的攻擊者。在一方面,提供了一種節點,其用于在對等覆蓋網絡中防止所選位置攻擊。該節點 包括收發機,用于接收與所選節點相關聯的新的節點標識符;處理器,用于將與所選節點 相關聯的所選參數輸入到哈希函數以生成對應的節點標識符,將新的節點標識符與對應的 節點標識符進行比較,以及如果新的節點標識符與對應的節點標識符不匹配,則確定所選 節點是潛在的攻擊者。在一方面,提供了一種方法,其用于對節點進行操作以便在對等覆蓋網絡中防止 所選位置攻擊。該方法包括檢測用于分別對與一個或多個節點相關聯的一個或多個節點標 識符發起更新的任務(responsibility),生成參數,所述參數可以由一個或多個節點用于 生成一個或多個節點標識符,以及在對等覆蓋網絡上發送所述參數。在一方面,提供了一種節點,其用于在對等覆蓋網絡中防止所選位置攻擊。該節點 包括處理器,用于檢測用于分別對與一個或多個節點相關聯的一個或多個節點標識符發 起更新的任務,以及生成參數,所述參數可以由一個或多個節點用于生成一個或多個節點 標識符。該節點還包括收發機,用于在對等覆蓋網絡上發送該參數。在閱讀所給出的對附圖、說明書和權利要求的簡要說明之后,其它方面將變得顯 而易見。
通過參照以下結合附圖所進行的說明,本文描述的以上方面將變得更加顯而易 見。圖1示出了一種網絡,其舉例說明了對等覆蓋保護系統的多個方面;圖2示出了根據對等覆蓋保護系統的多個方面在發生節點標識符更新之后的圖1 的網絡;圖3示出了根據對等覆蓋保護系統的多個方面在發生節點標識符更新之后的圖2 的網絡,其中節點之間已彼此建立通信;圖4示出了根據對等覆蓋保護系統的多個方面在發生節點標識符更新之后的圖3 的網絡,其中節點維持所選指針;圖5示出了在對等覆蓋保護系統的多個方面中使用的保護模塊;圖6示出了用于對節點進行操作以提供對等覆蓋網絡保護系統的多個方面的示例性方法;圖7示出了在對等覆蓋網絡保護系統的多個方面中使用的用于對節點進行操作 以發起節點標識符更新的示例性方法;圖8示出了在對等覆蓋網絡保護系統的多個方面中使用的用于對節點進行操作 以驗證節點標識符的示例性方法;圖9示出了用于在對等覆蓋網絡保護系統中使用的示例性保護模塊;圖10示出了在對等覆蓋網絡保護系統中使用的示例性保護模塊;圖11示出了在對等覆蓋網絡保護系統中使用的示例性保護模塊。
具體實施例方式以下說明描述了對等覆蓋網絡保護系統的多個方面,該保護系統用于在對等覆蓋 網絡中防止所選位置攻擊。在一方面,基于分布式哈希表(DHT)的對等覆蓋網絡保持共同 的時間服務,從而在覆蓋網絡中的所有節點是時間同步的。例如,在一方面,可以使用與網 絡時間協議(NTP)類似的機制來提供共同的時間服務。當節點加入對等覆蓋網絡時,其聲 明自己的節點標識符,該節點標識符是使用由對等覆蓋網絡選擇的一組輸入通過哈希函數 生成的。在一個實現中,在新加入的節點完成一些次數(即,一次或兩次)的節點標識符變 換之前的時間期間,限制該節點的特權。然而,所聲明的節點標識符不是永久性的;對等覆 蓋網絡將要求每個節點通過使用諸如其當前的節點標識符、當前時間、鹽值(salt value) 或其它信息之類的信息作為哈希函數的輸入來定期地更新其節點標識符。在一方面,在有 界限的時段內,通過在最后的變化或更新時間隨機標識的節點來隨機地設置節點更新其各 自的標識符的時間。當攻擊者聲明特定節點標識符時,可能發生嘗試的所選位置攻擊,其中該特定節 點標識符使得攻擊者接入對等覆蓋網絡上的具體位置。本系統用于通過使對等覆蓋網絡中 的節點定期地或者在所選時間/事件發生時改變節點標識符,來緩和這種類型的所選位置 攻擊。節點標識符的變化阻止了攻擊者確認對等覆蓋網絡上的已知位置。例如,因為所選 節點位置在兩次更新之間持續至多一個時間間隔,所以大大降低了攻擊的影響。在加入對 等覆蓋網絡的新的節點經歷至少一次節點標識符更新之前,通過限制該新的節點的動作來 進一步降低攻擊的影響。因為路由對等體能夠確認節點已經正確地更新其標識符,所以該 系統提供了非常簡單的、可量化的信譽形式。圖1示出了網絡100,其例示了對等覆蓋網絡保護系統的多個方面。網絡100包括 底層網絡102,其包括任何類型的網絡,例如因特網協議網絡。盡管將底層網絡102示為單 個實體,但是底層網絡可以包括任意數目或類型的網絡,例如WAN、LAN、無線網絡或任何其 它類型的網絡。對等覆蓋網絡104包括底層網絡102的節點的子集,并且利用底層網絡102的服 務來進行操作以允許這些節點進行通信。例如,節點1 (如在106處所示)表示作為對等覆 蓋網絡104的一部分的節點。在對等覆蓋網絡104中,節點通過通信鏈路108進行連接以 形成圓形路由路徑。通信鏈路108可以是由底層網絡102提供的安全隧道。對等覆蓋網絡 104利用與底層網絡102不同的許可和交互集來進行操作。還應當注意,對等覆蓋網絡104 可以具有任意拓撲結構或體系結構以支持任何路由模式而不局限于圖1中所示的路由。
對等覆蓋網絡104中的每個節點建立節點標識符。為簡化并易于說明,對等覆蓋 網絡104的八個節點的節點標識符是(1、4、7、10、13、16、19和22)。應當注意,在實踐中,覆 蓋網絡可以包括非常多的節點并且使用更多的節點標識符。在操作期間,業務沿任一方向 環繞對等覆蓋網絡104流動。因此,節點1可以通過沿路徑110發送業務來與節點10進行 通信。同樣,節點1可以通過沿路徑112發送業務來與節點19進行通信。在所選位置攻擊事件中,未授權實體可以嘗試在對等覆蓋網絡104上的特定位置 處對自己進行聲明。例如,假設未授權實體114將自己聲明作為對等覆蓋網絡上的節點21。 這樣節點21可以監視、破壞或包括節點19和22之間的業務。為了防止節點21出現所選位置攻擊,對等覆蓋網絡104的每個節點包括保護模 塊(PM) 116,其作為保護系統的一部分進行操作以便以定期間隔或在所選時間點執行節點 標識符更新和驗證。通過更新節點標識符,可以降低如由節點21所示的所選位置攻擊的效 果。下面提供了對PM 116的更具體描述,包括它們如何進行操作以防止對等覆蓋網絡104 受到所選位置攻擊。加入覆蓋網絡再次參照圖1,實體114通過聲明節點標識符21來加入對等覆蓋網絡104,從而確 定其在覆蓋網絡上的位置。因為保護系統不使用集中式登記服務器,所以不會質疑實體114 并且允許其使用節點標識符21加入覆蓋網絡。然而,因為節點21對于對等覆蓋網絡104 而言是新的,所以保護系統進行操作以限制節點21在覆蓋網絡上的操作。例如,在一方面, 限制節點21作為路由節點進行操作,所述路由節點使得在對等覆蓋網絡104上的節點之間 路由業務。然而,該限制阻止節點21接入或提供服務,或者對資源或其它網絡功能采取動 作,直到如下面所描述的在對節點標識符進行至少一次更新之后為止。節點標識符更新圖2示出了根據對等覆蓋保護系統的多個方面在發生節點標識符更新之后的網 絡100。在一方面,在每個節點處的PM 116進行操作以在所選時間或以所選時間間隔執行 節點標識符更新。為了有助于進行節點標識符更新,在每個節點處的PM 116保持同步定 時。在節點標識符更新期間,PM 116利用它們維護的各種類型的信息作為哈希函數的輸入, 以確定所更新的節點標識符。下面是每個PM 116維護的信息的示例性列表,其可以有選擇 地輸入到哈希函數。1.當前時間2.節點電子郵件地址3.節點IP地址4.鹽值5.當前節點標識符如在圖2中所示,對覆蓋網絡104的每個節點示出了新的節點標識符,以及在括號 中示出了舊的節點標識符。為了進行該描述,在圖2中示出的新的節點標識符是示例性的, 并且生成其它節點標識符也是可能的。例如,先前具有節點標識符1的節點現在具有新的 節點標識符7。對等覆蓋網絡104中的其它節點也具有如在圖2中所示的新的節點標識符。對于先前聲明節點標識符21的實體114,該實體現在聲明節點標識符9。確認已更新的節點標識符
一旦確定了新的節點標識符,在每個節點處的每個PM將其新的標識符發送到其 相鄰的節點。例如,每個節點僅在節點標識符更新之前維護到其相鄰節點的通信鏈路。在 更新之后,PM在現有通信鏈路上將新的節點標識符發送到相鄰節點以用于在對等覆蓋網絡 104上傳播。在保護系統的一方面,節點的新的標識符可以由對等覆蓋網絡104中的其它節點 來驗證。例如,由特定節點處的PM用來作為哈希函數輸入的信息對于對等覆蓋網絡104中 的其它節點而言是已知的。例如,在每個節點處維護的上述信息可用于對等覆蓋網絡104 上的所有節點。因此,對等覆蓋網絡104上的其它節點可以通過使用與特定節點相關聯的 信息執行哈希函數來驗證由該特定節點聲明的已更新的節點標識符。如果不能驗證節點的 標識符,則可以從對等覆蓋網絡中排除該節點或者可以采取一些其它動作。再次參照圖2,實體114可以向其先前的相鄰節點(即,新的節點標識符16和4) 聲明其新的節點標識符9。在節點16和4處的PM進行操作以通過對實體114使用的輸入 重新進行哈希運算以試圖重新生成節點標識符9來驗證節點標識符9是否正確。如果任何 相鄰節點不能驗證新的節點標識符9,則可以從對等覆蓋網絡中排除實體114或者可以采 取一些其它動作。圖3示出了根據對等覆蓋保護系統的多個方面,在發生節點標識符更新之后的網 絡100,其中節點之間已經彼此建立通信以獲得所需路由模式。例如,在節點標識符發生更 新之后,每個節點確定哪些節點是其新的相鄰節點,從而能夠建立到新的相鄰節點的新的 通信鏈路,并且從而允許重新建立圍繞覆蓋網絡的特定路由路徑。假設與實體114相關聯的節點標識符9不能被覆蓋網絡中的其它節點驗證,則從 該覆蓋網絡中排除實體114。例如,在具有節點標識符9的節點將位于的位置上示出實體 141 ;然而,將實體114示為從該覆蓋網絡中排除,使得其不具有到對等覆蓋網絡中的其它 節點的通信鏈路。更新覆蓋網絡的指針圖4示出了根據對等覆蓋保護系統的多個方面在發生節點標識符更新之后的網 絡100,其中節點之間已經彼此建立通信以獲得所需路由模式。一旦建立了新的通信鏈路, 節點可以仍然具有其原始通信鏈路,其構成弦(Chord)(或指針),該弦構成橫跨對等覆蓋 網絡的直接路徑。例如,節點7維持其與302處所示的節點16以及與304處所示的節點19 的通信鏈路。在一方面,維護“舊的”指針是一種機制,相比僅使用根據新的節點標識符確定的 相鄰節點所呈現的,該機制用于在節點之間提供隨機的以及更密集的互連集。因此,該系統 提供了輔助的防止所選位置攻擊的能力,以成功地阻止接入特定節點。例如,成功的攻擊必 須同時攻擊節點的當前節點標識符位置的和先前節點標識符位置,這需要知道節點的先前 相鄰節點的當前節點標識符。因此,在一方面,密集的互連集對于其自身是有幫助的,并且 該系統用于調整先前相鄰節點的數目,以保持滿足整體連接性目標。在一方面,在建立新的通信鏈路之后,可以保持或刪除通信指針。例如,在一方面, 隨著時間過去而丟棄指針,例如在執行下一個節點標識符更新之后丟棄指針。因此,對等覆蓋網絡保護系統包括保護模塊,其用于允許生成新的節點標識符從 而使所選位置攻擊的效果最小化。此外,與特定節點相關聯的任何新的標識符可以由對等覆蓋網絡上的其它節點來驗證。這進一步降低了任何實體試圖進行所選位置攻擊的效果, 這是因為該實體的操作將被局限于節點標識符更新之間的時間間隔。此外,對加入該覆蓋 網絡的新的節點的操作加以限制進一步減輕了任一攻擊者的影響。圖5示出了在對等覆蓋保護系統的各方面中使用的保護模塊500。例如,保護模塊 500適于用作圖1中所示的保護模塊116。保護模塊500包括處理器模塊502、鹽模塊504、 存儲器506、定時模塊508和收發機模塊510,其全部耦合到數據總線512。應當注意,保護 模塊500僅是一種實現方式,其它實現方式在各個方面的范圍內也是可能的。收發機模塊510包括硬件和/或硬件執行的軟件,其用于使得保護模塊500與對 等覆蓋網絡上的多個節點傳輸數據或其它信息。在一方面,收發機模塊510用于與對等覆 蓋網絡的節點建立一個或多個通信鏈路514。例如,通信鏈路514可以是利用底層IP網絡 的服務構成的安全隧道。存儲器模塊506包括任何適當的存儲設備,其用于存儲數據庫,該數據庫包括與 對等覆蓋網絡的一個或多個節點相關聯的信息。例如,該信息包括但不局限于電子郵件地 址、IP地址、節點標識符、鹽值或任何其它類型的信息。例如,該數據庫也可以包含時間值, 其指示將要生成新的節點標識符的時間。定時模塊508包括硬件和/或硬件執行的軟件,其用于為保護模塊500提供同步 定時。在一方面,定時模塊508是與對等覆蓋網絡的其它節點同步的。因此,定時模塊使得 保護模塊500能夠執行與對等覆蓋網絡上的其它節點同步的功能。這些功能包括生成新的 節點標識符。鹽模塊504包括硬件和/或硬件執行的軟件,其用于生成鹽值,其中可以利用該鹽 值來生成新的節點標識符。在一方面,將由鹽模塊504生成的鹽值發送到對等覆蓋網絡上 的其它節點。使用該鹽值作為哈希函數的輸入以生成新的節點標識符。在一方面,鹽模塊 504利用任何適當函數或算法來生成鹽值。在一個或多個方面,處理器模塊502包括CPU、處理器、門陣列、硬件邏輯、存儲器 元件和/或執行軟件的硬件中的至少一個。在一方面,處理器模塊502進行操作以控制保 護模塊執行以下功能。生成節點標識符在一方面,處理器模塊502執行哈希函數以生成新的節點標識符。例如,處理器模 塊502維護存儲在存儲器506中的數據庫中的信息,其中該信息可以有選擇地輸入到哈希 函數。在數據庫中存儲的信息還標識將要生成新的節點標識符的時間。處理器模塊使用定 時模塊508來檢測出現用于生成新的節點標識符的時間,并作為響應,使用從數據庫中選 擇的信息作為哈希函數的輸入以生成新的節點標識符。處理器模塊502進行操作以便通過 控制收發機模塊510在通信鏈路514上發送信息來將新的節點標識符發送到對等覆蓋網絡 上的其它節點。驗證節點標識符在另一方面,處理器模塊502用于驗證與一個或多個節點相關聯的節點標識符。 在發生節點標識符更新之后,對等覆蓋網絡的節點在對等覆蓋網絡上發送其新的節點標識 符。處理器模塊502進行操作以驗證與特定節點相關聯的新的節點標識符是否正確。例 如,處理器模塊502從存儲在存儲器506中的數據庫中獲得與特定節點相關聯的信息。在一方面,由節點用于生成新的節點標識符的信息對于對等覆蓋網絡上的所有節點而言是已 知的。在獲得所選信息之后,處理器模塊502使用特定信息作為輸入來執行哈希函數,以生 成特定節點的節點標識符。這個所生成的節點標識符應當匹配從該特定節點接收的新的節 點標識符。如果所生成的節點標識符不匹配所接收的標識符,則假定該節點是可能的攻擊 者,并且可以進一步在對等覆蓋網絡中限制該節點。發起節點標識符的牛成操作在另一方面,處理器模塊502用于發起為對等覆蓋網絡上的所有節點生成新的節 點標識符。在一方面,處理器模塊502確定當前節點標識符是否等于預選值,或者相比對等 覆蓋網絡上的任何其它節點,當前節點標識符是否更接近所選值。如果當前值是最接近的, 則處理器模塊502確定其負責發起下一個節點標識符更新。為了發起下一個節點標識符更新,處理器模塊502確定更新時間和鹽值。該鹽值 是從鹽模塊505中獲得的。將更新時間和鹽值發送到對等覆蓋網絡上的其它節點。在所確 定的時間,對等覆蓋網絡上的所有節點通過將鹽值和可能的其它信息輸入到哈希函數來計 算新的節點標識符。一旦生成了新的節點標識符,節點將這些標識符發送到對等覆蓋網絡 上的其它節點。在另一方面,假設用于生成新的節點標識符的時間對于對等覆蓋網絡上的所有節 點而言是已知的。在這種情況中,處理器模塊502從鹽模塊505中獲得鹽值,并且將該鹽值 發送到對等覆蓋網絡上的其它節點。因此,減少了將要發送到其它節點的信息量。在一方面,對等覆蓋網絡保護系統包括一種計算機編程產品,其具有存儲在或在 機器可讀介質上體現的一個或多個程序指令(“指令”)或“代碼”集。當由例如處理器模 塊502處的處理器的至少一個處理器執行所述代碼時,其執行操作使得保護模塊500提供 在此描述的對等覆蓋網絡保護系統的功能。例如,機器可讀介質包括軟盤、CDR0M、存儲器 卡、FLASH存儲器設備、RAM、ROM或任何其它類型的存儲器設備或連接到保護模塊500的機 器可讀介質。在另一方面,可以將代碼集從外部設備或通信網絡資源下載到保護模塊500 中。當執行該代碼集時,能夠提供在此描述的對等覆蓋網絡保護系統的多個方面。圖6示出了用于對節點進行操作以提供對等覆蓋網絡保護系統的多個方面的示 例性方法600。為清楚起見,下面參照圖5中所示的保護模塊500來描述該方法600。在一 方面,處理器模塊502執行一個或多個代碼集以控制保護模塊500來執行下述功能。在方框602處,對具有輸入到哈希函數的參數的數據庫加以維護。在一方面,處理 器模塊502維護存儲器506中的該數據庫。例如,該數據庫包括但不局限于當前時間、電子 郵件地址、IP地址、當前節點標識符、鹽值或者與運行在對等覆蓋網絡上的一個或多個節點 相關的任何其它參數。在方框604處,在可選步驟中,從對等覆蓋網絡接收至少一個鹽值。在一方面,收 發機模塊510從覆蓋網絡中的一個或多個其它節點接收至少一個鹽值,并且將該至少一個 鹽值存儲在位于存儲器506的參數數據庫中。例如,可以從對等覆蓋網絡中的特定節點或 多個節點接收鹽值,其中指定該對等覆蓋網絡用于生成鹽值并將其分發到覆蓋網絡上的其 它節點。在方框606處,針對是否需要進行節點標識符更新做出決定。在一方面,基于當前 時間和/或所選事件來判斷是否進行節點標識符更新。例如,處理器模塊502基于當前時間和/或事件來判斷是否需要更新節點標識符。如果需要新的節點標識符,則該方法進行 到方框608。如果不需要新的節點標識符更新,則該方法進行到方框602。在方框608處,選擇將要輸入到哈希函數的參數。在一方面,處理器模塊502根據 存儲在存儲器506中的數據庫來確定參數。例如,將要輸入到哈希函數的參數包括但不局 限于當前時間、電子郵件地址、IP地址、當前節點標識符、鹽值或存儲在數據庫中的任何其 它參數。應當注意,在任何節點處的參數對于對等覆蓋網絡上的所有節點而言是已知的。因 此,可以使用與任一特定節點相關聯的參數來驗證該節點的節點標識符。在方框610處,執行哈希函數以生成新的節點標識符。在一方面,處理器模塊502 用于通過從存儲器506中獲取適當參數并將這些參數輸入到預先確定的哈希函數來執行 哈希函數,以便生成新的節點標識符。在方框612處,基于新的節點標識符采用對等覆蓋網絡上的新的位置。在一方面, 收發機模塊510用于基于新的節點標識符與現在鄰近當前節點的節點建立鏈路。因此,方法600用于在節點處提供對等覆蓋網絡保護系統的多個方面。應當注意, 方法600只是一種實現方式,且方法600的操作可以在各個方面的范圍內重新設置或修改。 因此,在本文描述的各個方面的范圍內能夠有其它實現方式。圖7示出了一種示例性方法700,其用于對節點進行操作以發起在對等覆蓋保護 系統的各個方面中使用的節點標識符更新。例如,方法700適用于在對等覆蓋網絡中的節 點處運行的保護模塊,其中已經指定該方法針對對等覆蓋網絡中的所有節點發起節點標識 符更新。為清楚起見,下面參照圖5中所示的保護模塊500來描述該方法700。在一方面, 處理器模塊502執行一個或多個代碼集以控制保護模塊500來執行下述功能。在方框702處,確定一個節點負責在對等覆蓋網絡中發起節點標識符更新。在一 方面,處理器模塊502確定當前節點標識符最接近預選值。例如,具有最接近預選值的節點 標識符的節點是負責發起下一個節點標識符更新的節點。假設保護模塊500包括在具有最 接近預選值的節點標識符的節點中。在方框704處,生成更新時間,其指示何時發生節點標識符更新。在一方面,處理 器模塊502生成該更新時間。在方框706處,在可選操作中,生成鹽值。在一方面,鹽模塊504生成鹽值。在一 方面,鹽值是用作哈希函數的輸入的參數。在方框708處,將更新時間和可選鹽值發送到對等覆蓋網絡上的節點。例如,收發 機模塊510用于按照需要來發送更新時間和鹽值。在方框710處,在指定的更新時間執行節點標識符更新。在一方面,對等覆蓋網絡 中的節點根據圖6中示出的方法600來執行節點標識符更新。因此,方法700在節點處用于發起在對等覆蓋保護系統的多個方面中使用的節點 標識符更新。應當注意,方法700只是一種實現方式,并且可以在各個方面的范圍內重新設 置或修改方法700的操作。圖8示出了一種用于對節點進行操作以驗證節點標識符的示例性方法800,其用 于對等覆蓋網絡保護系統的各個方面。為清楚起見,下面參照圖5中所示的保護模塊500 來描述該方法800。在一方面,處理器模塊502執行一個或多個代碼集以控制保護模塊500 來執行下述功能。
在方框802處,從對等覆蓋網絡上的一個或多個節點接收一個或多個新的節點標 識符。在一方面,收發機模塊510用于使用通信鏈路514來接收新的節點標識符。在方框804處,執行哈希函數,以便針對在方框802處具有新的節點標識符的節點 生成節點標識符。在一方面,處理器模塊502用于從存儲器506中的數據庫中獲得與一個 或多個節點中的每個節點相關聯的參數集。將每個參數集輸入到由處理器模塊502執行的 哈希函數以生成相應的節點標識符。在方框806處,判斷在方框802處接收的任一新的節點標識符是否不匹配在方框 804處生成的相應的節點標識符。在一方面,處理器模塊502用于將新的節點標識符與相應 的節點標識符進行比較。如果任何節點標識符不匹配,則該方法進行到方框808。如果所有 的節點標識符都匹配,則方法進行到方框810。在方框808處,將與不匹配的節點標識符關聯的節點標記為可能的位置攻擊者。 在一方面,處理器模塊502執行該功能。例如,處理器模塊502可以與覆蓋網絡中的其它節 點進行通信,以通過信號形式通知對特定節點標識符驗證失敗。在方框810處,與具有經過驗證的節點標識符的節點建立通信鏈路。在一方面,處 理器模塊502用于控制收發機模塊510,以便與具有經過驗證的節點標識符的節點建立通 信鏈路,從而可以建立所需的對等覆蓋網絡路由模式。在方框812處,可以刪除根據先前的節點標識符配置而存在的通信指針。在一方 面,每個節點維護互連集以滿足總的連接性目標。因此,處理器模塊502用于確定需要維護 多少通信指針以及哪些通信指針需要被維護以滿足總的連接性目標。在一方面,收發機模 塊510用于終止已經由處理器模塊502標識為終止的任何通信指針,使得能夠達到總的連 接性目標。因此,方法800用于在節點處驗證節點標識符以用于對等覆蓋網絡保護系統的各 個方面。應當注意,方法800只是一種實現方式,并且方法800的操作可以在各個方面的范 圍內重新設置或修改。圖9示出了在覆蓋網絡保護系統的各個方面中使用的示例性保護模塊900。例如, 保護模塊900適于用作圖5中示出的保護模塊500。在一方面,保護模塊900由至少一個集 成電路來實現,該集成電路包括用于提供如本文所描述的覆蓋網絡保護系統的各個方面的 一個或多個模塊。例如,在一方面,每個模塊包括硬件和/或硬件執行的軟件。保護模塊900包括第一模塊,其包括用于確定將要為覆蓋網絡中的多個節點生成 新的節點標識符的單元(902),其在一方面包括定時模塊508。保護模塊900還包括第二模 塊,其包括用于將所選參數輸入到哈希函數以生成所選節點標識符的單元(904),其在一方 面包括處理器模塊502。保護模塊900還包括第三模塊,其包括用于在對等覆蓋網絡中采用 與所選節點標識符相關聯的位置的單元(906),其在一方面包括處理器模塊502。圖10示出了在覆蓋網絡保護系統的各個方面中使用的示例性保護模塊1000。例 如,保護模塊1000適于用作圖5中示出的保護模塊500。在一方面,保護模塊1000由至少 一個集成電路來實現,該集成電路包括用于提供如本文所描述的覆蓋網絡保護系統的各個 方面的一個或多個模塊。例如,在一方面,每個模塊包括硬件和/或硬件執行的軟件。保護模塊1000包括第一模塊,其包括用于接收與所選節點相關聯的新的節點標 識符的單元(1002),其在一方面包括收發機模塊510。保護模塊1000還包括第二模塊,其包括用于將與所選節點相關聯的所選參數輸入到哈希函數以生成相應的節點標識符的單 元(1004),其在一方面包括處理器模塊502。保護模塊1000還包括第三模塊,其包括用于將 新的節點標識符與相應的節點標識符進行比較的單元(1006),其在一方面包括處理器模塊 502。保護模塊1000還包括第四模塊,其包括用于如果新的節點標識符不匹配相應的節點 標識符則確定所選節點是潛在的攻擊者的單元(1008),其在一方面包括處理器模塊502。圖11示出了在覆蓋網絡保護系統的各個方面中使用的示例性保護模塊1100。例 如,保護模塊1100適于用作圖5中示出的保護模塊500。在一方面,保護模塊1100由至少 一個集成電路來實現,該集成電路包括用于提供如本文所描述的覆蓋網絡保護系統的各個 方面的一個或多個模塊。例如,在一方面,每個模塊包括硬件和/或硬件執行的軟件。保護模塊1100包括第一模塊,其包括用于檢測分別對與一個或多個節點相關 聯的一個或多個節點標識符發起更新的任務的單元(1102),其在一方面包括處理器模塊 502。保護模塊1100還包括第二模塊,其包括用于生成參數的單元(1104),所述參數可以由 一個或多個節點用來生成一個或多個節點標識符,其在一方面包括處理器模塊502。保護模 塊1100還包括第三模塊,其包括用于在對等覆蓋網絡上發送這些參數的單元(1106),其在 一方面包括收發機模塊510。結合本文公開的各個方面所描述的各種示例性邏輯、邏輯塊、模塊和電路可以 利用下列電子單元來實現或執行通用處理器、數字信號處理器(DSP)、專用集成電路 (ASIC)、現場可編程門陣列(FPGA)或其它可編程邏輯器件、分立門或晶體管邏輯、分立硬 件部件或者設計用于執行本文所描述功能的任意組合。通用處理器可以是微處理器,或者, 該處理器可以是任何傳統處理器、控制器、微控制器或狀態機。處理器也可以實現為計算設 備的組合,例如DSP和微處理器的組合、多個微處理器、一個或多個微處理器結合DSP核或 者任何其它這種配置。結合本文公開的各個方面所描述的方法和算法的步驟可以直接體現在硬件中、由 處理器執行的軟件模塊中或者這兩者的組合中。軟件模塊可以位于RAM存儲器、閃速存儲 器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、移動盤、CD-ROM或者本領域公 知的任何其它形式的存儲介質中。示例性存儲介質耦合到處理器,使得處理器能夠從該存 儲介質讀取信息并且向該存儲介質寫入信息。可替換地,存儲介質可以集成到處理器。處 理器和存儲介質可以位于ASIC中。該ASIC可以位于無線通信設備中。可替換地,處理器 和存儲介質可以作為分立部件位于無線通信設備中。本文提供了對所公開方面的描述以使本領域技術人員能夠制造并使用本發明。對 這些方面的各種修改對本領域技術人員而言將是顯而易見的,并且在不偏離本發明的精神 和范圍的基礎上,本文規定的一般原理可以適用于其它方面,例如用于即時消息服務或任 何通用無線數據通信應用。因此,本發明不旨在局限于本文所示方面,而是應符合與本文公 開的原理和新穎性特征相一致的最大范圍。本文專門使用的詞語“示例性的”表示“作為實 例、例子或示例”。不應將本文描述為“示例性的”任何方面理解為比其它方面優選或有利。因此,盡管本文示出并描述了對等覆蓋網絡保護系統的各個方面,但是應當理解, 在不偏離這些方面的精神或本質特征的基礎上可以對其進行各種修改。因此,本文的公開 內容和描述旨在對在以下權利要求中給出的發明的范圍進行說明而非限定。
權利要求
1.一種用于在對等覆蓋網絡中對節點進行操作以防止所選位置攻擊的方法,所述方法 包括確定將要為所述覆蓋網絡中的多個節點生成新的節點標識符; 將所選參數輸入到哈希函數以生成所選節點標識符;以及 在所述對等覆蓋網絡中采用與所述所選節點標識符相關聯的位置。
2.根據權利要求1所述的方法,還包括維護數據庫,其中,所述數據庫包括所述所選參數。
3.根據權利要求1所述的方法,還包括 接收至少一個鹽值;將所述至少一個鹽值作為所述所選參數的一部分輸入到所述哈希函數,以生成所述所 選節點標識符。
4.根據權利要求1所述的方法,其中,所述確定包括基于時間指示符來確定將要生成 所述新的節點標識符。
5.根據權利要求1所述的方法,其中,所述所選參數包括以下各項中的至少一個時間 指示符、電子郵件地址、IP地址、當前節點標識符和鹽值。
6.一種用于在對等覆蓋網絡中防止所選位置攻擊的節點,所述節點包括 用于確定將要為所述覆蓋網絡中的多個節點生成新的節點標識符的單元; 用于將所選參數輸入到哈希函數以生成所選節點標識符的單元;以及用于在所述對等覆蓋網絡中采用與所述所選節點標識符相關聯的位置的單元。
7.根據權利要求6所述的節點,還包括用于維護數據庫的單元,其中,所述數據庫包括所述所選參數。
8.根據權利要求6所述的節點,還包括 用于接收至少一個鹽值的單元;用于將所述至少一個鹽值作為所述所選參數的一部分輸入到所述哈希函數,以生成所 述所選節點標識符的單元。
9.根據權利要求6所述的節點,其中,所述用于確定的單元包括用于根據時間指示符 來確定將要生成所述新的節點標識符的單元。
10.根據權利要求6所述的節點,其中,所述所選參數包括以下各項中的至少一個時 間指示符、電子郵件地址、IP地址、當前節點標識符和鹽值。
11.一種用于在對等覆蓋網絡中防止所選位置攻擊的節點,所述節點包括 定時模塊,用于確定將要為所述覆蓋網絡中的多個節點生成新的節點標識符;以及處理器模塊,用于將所選參數輸入到哈希函數以生成所選節點標識符,以及在所述對 等覆蓋網絡中采用與所述所選節點標識符相關聯的位置。
12.根據權利要求11所述的節點,還包括存儲器,用于維護數據庫,其中,所述數據庫包括所述所選參數。
13.根據權利要求11所述的節點,其中,所述處理器模塊還用于 接收至少一個鹽值;以及將所述至少一個鹽值作為所述所選參數的一部分輸入到所述哈希函數,以生成所述所 選節點標識符。
14.根據權利要求11所述的節點,其中,所述定時模塊還用于根據時間指示符來確定 將要生成所述新的節點標識符。
15.根據權利要求11所述的節點,其中,所述所選參數包括以下各項中的至少一個時 間指示符、電子郵件地址、IP地址、當前節點標識符和鹽值。
16.一種用于在對等覆蓋網絡中防止所選位置攻擊的計算機程序產品,所述計算機程 序產品包括具有可執行以下操作的代碼的計算機可讀介質 確定將要為所述覆蓋網絡中的多個節點生成新的節點標識符; 將所選參數輸入到哈希函數以生成所選節點標識符;以及 在所述對等覆蓋網絡中采用與所述所選節點標識符相關聯的位置。
17.根據權利要求16所述的計算機可讀介質,其中,所述代碼還用于維護數據庫,其 中,所述數據庫包括所述所選參數。
18.根據權利要求16所述的計算機可讀介質,其中,所述代碼還用于 接收至少一個鹽值;以及將所述至少一個鹽值作為所述所選參數的一部分輸入到所述哈希函數,以生成所述所 選節點標識符。
19.根據權利要求16所述的計算機可讀介質,其中,所述代碼還用于根據時間指示符 來確定將要生成所述新的節點標識符。
20.根據權利要求16所述的計算機可讀介質,其中,所述所選參數包括以下各項中的 至少一個時間指示符、電子郵件地址、IP地址、當前節點標識符和鹽值。
21.一種由節點用于在對等覆蓋網絡中防止所選位置攻擊的方法,所述方法包括 接收與所選節點相關聯的新的節點標識符;將與所述所選節點相關聯的所選參數輸入到哈希函數以生成相應的節點標識符; 將所述新的節點標識符與所述相應的節點標識符進行比較;以及 如果所述新的節點標識符不匹配所述相應的節點標識符,則確定所述所選節點是潛在 的攻擊者。
22.根據權利要求21所述的方法,還包括維護數據庫,其中,所述數據庫包括所述所選參數。
23.根據權利要求21所述的方法,其中,所述所選參數包括全部與所述所選節點相關 聯的以下各項中的至少一個時間指示符、電子郵件地址、IP地址、節點標識符和鹽值。
24.根據權利要求21所述的方法,還包括如果所述新的節點標識符不匹配所述相應的節點標識符,則從所述覆蓋網絡中排除所 述所選節點。
25.一種用于在對等覆蓋網絡中防止所選位置攻擊的節點,所述節點包括 用于接收與所選節點相關聯的新的節點標識符的單元;用于將與所述所選節點相關聯的所選參數輸入到哈希函數以生成相應的節點標識符 的單元;用于將所述新的節點標識符與所述相應的節點標識符進行比較的單元;以及 用于如果所述新的節點標識符不匹配所述相應的節點標識符,則確定所述所選節點是潛在的攻擊者的單元。
26.根據權利要求25所述的節點,還包括用于維護數據庫的單元,其中,所述數據庫包括所述所選參數。
27.根據權利要求25所述的節點,其中,所述所選參數包括全部與所述所選節點相關 聯的以下各項中的至少一個時間指示符、電子郵件地址、IP地址、節點標識符和鹽值。
28.根據權利要求25所述的節點,還包括用于如果所述新的節點標識符不匹配所述相應的節點標識符,則從所述覆蓋網絡中排 除所述所選節點的單元。
29.一種用于在對等覆蓋網絡中防止所選位置攻擊的節點,所述節點包括 收發機,用于接收與所選節點相關聯的新的節點標識符;以及處理器,用于將與所述所選節點相關聯的所選參數輸入到哈希函數以生成相應 的節點標識符;將所述新的節點標識符與所述相應的節點標識符進行比較;以及 如果所述新的節點標識符不匹配所述相應的節點標識符,則確定 所述所選節點是潛在的攻擊者。
30.根據權利要求四所述的節點,其中,所述處理器還用于維護數據庫,其中,所述數 據庫包括所述所選參數。
31.根據權利要求四所述的節點,其中,所述所選參數包括全部與所述所選節點相關 聯的以下各項中的至少一個時間指示符、電子郵件地址、IP地址、節點標識符和鹽值。
32.根據權利要求四所述的節點,其中,所述處理器還用于如果所述新的節點標識符 不匹配所述相應的節點標識符,則從所述覆蓋網絡中排除所述所選節點。
33.一種用于在對等覆蓋網絡中防止所選位置攻擊的計算機程序產品,所述計算機程 序產品包括具有可執行以下操作的代碼的計算機可讀介質 接收與所選節點相關聯的新的節點標識符;將與所述所選節點相關聯的所選參數輸入到哈希函數以生成相應的節點標識符; 將所述新的節點標識符與所述相應的節點標識符進行比較;以及 如果所述新的節點標識符不匹配所述相應的節點標識符,則確定所述所選節點是潛在 的攻擊者。
34.根據權利要求33所述的計算機可讀介質,其中,所述代碼還用于維護數據庫,其 中,所述數據庫包括所述所選參數。
35.根據權利要求33所述的計算機可讀介質,其中,所述所選參數包括全部與所述所 選節點相關聯的以下各項中的至少一個時間指示符、電子郵件地址、IP地址、節點標識符 和鹽值。
36.根據權利要求33所述的計算機可讀介質,其中,所述代碼還用于如果所述新的節 點標識符不匹配所述相應的節點標識符,則從所述覆蓋網絡中排除所述所選節點。
37.一種用于在對等覆蓋網絡中對節點進行操作以防止所選位置攻擊的方法,所述方 法包括檢測對分別與一個或多個節點相關聯的一個或多個節點標識符發起更新的任務; 生成參數,其中,所述參數可由所述一個或多個節點用于生成所述一個或多個節點標 識符;以及在所述對等覆蓋網絡上發送所述參數。
38.根據權利要求37所述的方法,其中,所述參數包括以下各項中的至少一個更新時 間和鹽值。
39.根據權利要求38所述的方法,還包括 在所述更新時間執行節點標識符更新。
40.根據權利要求37所述的方法,其中,所述檢測包括在當前節點標識符等于所選值 時檢測任務。
41.根據權利要求37所述的方法,其中,所述檢測包括在當前節點標識符相比任一其 它節點標識符更接近所選值時檢測任務。
42.一種用于在對等覆蓋網絡中防止所選位置攻擊的節點,所述節點包括用于檢測對分別與一個或多個節點相關聯的一個或多個節點標識符發起更新的任務 的單元;用于生成參數的單元,其中,所述參數可由所述一個或多個節點用于生成所述一個或 多個節點標識符;用于在所述對等覆蓋網絡上發送所述參數的單元。
43.根據權利要求42所述的節點,其中,所述參數包括以下各項中的至少一個更新時 間和鹽值。
44.根據權利要求43所述的節點,還包括用于在所述更新時間執行節點標識符更新的單元。
45.根據權利要求42所述的節點,其中,所述用于檢測的單元包括用于在當前節點標 識符等于所選值時檢測任務的單元。
46.根據權利要求42所述的節點,其中,所述用于檢測的單元包括用于在當前節點標 識符相比任一其它節點標識符更接近所選值時檢測任務的單元。
47.一種用于在對等覆蓋網絡中防止所選位置攻擊的節點,所述節點包括 處理器,用于檢測對分別與一個或多個節點相關聯的一個或多個節點標識符發 起更新的任務;生成參數,其中,所述參數可由所述一個或多個節點用于生成所述一個或多個節點標識符;收發機,用于在所述對等覆蓋網絡上發送所述參數。
48.根據權利要求47所述的節點,其中,所述參數包括以下各項中的至少一個更新時 間和鹽值。
49.根據權利要求48所述的節點,其中,所述處理器還用于在所述更新時間執行節點 標識符更新。
50.根據權利要求47所述的節點,其中,所述處理器還用于在當前節點標識符等于所 選值時檢測任務。
51.根據權利要求47所述的節點,其中,所述處理器還用于在當前節點標識符相比任 一其它節點標識符更接近所選值時檢測任務。
52.一種用于在對等覆蓋網絡中防止所選位置攻擊的計算機程序產品,所述計算機程 序產品包括具有可執行以下操作的代碼的計算機可讀介質檢測對分別與一個或多個節點相關聯的一個或多個節點標識符發起更新的任務;生成參數,其中,所述參數可由所述一個或多個節點用于生成所述一個或多個節點標 識符;以及在所述對等覆蓋網絡上發送所述參數。
53.根據權利要求52所述的計算機可讀介質,其中,所述參數包括以下各項中的至少 一個更新時間和鹽值。
54.根據權利要求53所述的計算機可讀介質,其中,所述代碼還用于在所述更新時間 執行節點標識符更新。
55.根據權利要求52所述的計算機可讀介質,其中,所述代碼還用于在當前節點標識 符等于所選值時檢測任務。
56.根據權利要求52所述的計算機可讀介質,其中,所述代碼還用于在當前節點標識 符相比任一其它節點標識符更接近所選值時檢測任務。
全文摘要
本文提供了用于在對等覆蓋網絡中降低所選位置攻擊的效果的方法和裝置。一種方法包括確定將要為網絡中的多個節點生成新的節點標識符,將參數輸入到哈希函數以生成所選節點標識符,以及在網絡中采用與所選節點標識符相關聯的位置。另一種方法包括接收與所選節點相關聯的節點標識符;將與所選節點相關聯的參數輸入到哈希函數以生成相應的節點標識符,將節點標識符與相應的節點標識符進行比較,以及如果節點標識符不匹配,則確定所選節點是潛在的攻擊者。另一種方法包括檢測對一個或多個節點標識符發起更新的任務,生成參數,其中所述參數用于生成節點標識符,以及在網絡上發送所述參數。
文檔編號H04L29/06GK102067553SQ200980122757
公開日2011年5月18日 申請日期2009年6月19日 優先權日2008年6月19日
發明者E·T·L·哈迪, L·R·東代蒂, R·S·賈亞拉姆, V·納拉亞南 申請人:高通股份有限公司