專利名稱:一種保障對等網絡數據安全的方法及系統的制作方法
技術領域:
本發明涉及通信領域,更具體的涉及一種保障對等網絡(Peer-to-Peer,簡稱 P2P)數據安全的方法及系統。
背景技術:
P2P網絡是一種在IP網絡之上的應用層的分布式網絡,網絡的參與者即對等節點 (peer)共享所擁有的一部分硬件資源。P2P網絡中的這些共享資源提供的服務和內容可以提供給P2P網絡中的節點,節點進行網絡訪問時不需要經過P2P網絡外的其它中間實體。 P2P網絡中的對等節點既是資源提供者,又是資源獲取者。數據傳輸安全是指為保證網絡中數據傳輸的安全(包括保密性、可用性等),在發送端和接收端分別對消息進行加密和解密。其中涉及到的內容包括加解密算法的選擇、密鑰協商、密鑰更新、密鑰撤銷等。P2P數據安全的典型方案如(I)Internet 工程任務組(Internet Engineering Task Force,簡稱 IETF) 的P2P會話發起協議(Session Initiation Protocol,簡稱SIP)工作組在其草案 (draft-ietf-p2psip-base-08)中,綜合采用證書認證機制和傳輸層安全/數據報傳輸層安全(Transport Layer Security/Datagram Transport Layer Security, Ml^ TLS/DTLS) 協議機制實現P2P數據傳輸安全。TLS/DTLS機制是指在需要安全數據傳輸的任意兩個節點之間分別建立TLS安全通信信道。TLS/DTLS機制不能適應P2P網絡的動態變化,在節點頻繁變化的P2P網絡環境下,需要經常進行TLS連接的拆除和建立,這樣會影響會話時延, 并且,TLS不能根據網絡中節點狀態及時做出調整,無法對網絡的整體安全狀況進行實時管理和控制,不能適應大規模組網的需求。(2)基于對等網絡的大規模視頻安全組播協議(P2P-SMP)。該協議將密鑰更新消息嵌于流調度協議在節點間通過接力的方式傳遞,不需構建專門的密鑰分發網絡。但該方案僅適用于流媒體組播場景,不具有廣泛適用性。P2PSIP工作組提出的數據安全方案綜合利用了預分配密鑰的管理方式以及兩點之間直接協商密鑰的管理方式。通過證書認證機制實現節點公鑰的預先分配,為下一步機密資料傳輸做準備。TLS/DTLS方案實現在兩個節點之間直接協商密鑰,具有靈活易部署的優點。但上述方案無法對整個P2P網絡的安全狀況進行監控和管理。
發明內容
本發明要解決的技術問題是提供一種在P2P網絡中建立公共安全通道以實現數據傳輸安全的方法和系統,提高P2P網絡的安全性以及可管理性。為了解決上述技術問題,本發明提供了一種保障對等網絡數據安全的方法,包括 屬于同一公共安全通道的對等網絡節點間進行信息交互時均使用與此公共安全通道對應的同一密鑰。
進一步地,上述方法還可以具有以下特點節點在初始化過程中獲取節點證書后,完成在密鑰管理服務器上的密鑰初始化過程,所述密鑰初始化過程包括所述節點向密鑰管理服務器發送密鑰初始化請求消息,攜帶節點標識和所述節點支持的加密算法集;所述密鑰管理服務器收到所述密鑰初始化請求消息后,對所述節點進行登記。進一步地,上述方法還可以具有以下特點在所述密鑰初始化過程中,所述節點在所述密鑰初始化請求消息中還攜帶節點請求加入的公共安全通道的標識和/或節點是否需要作為主節點建立公共安全通道的信息; 所述密鑰管理服務器根據所述節點的節點證書判斷所述節點是否有權限加入所述節點請求加入的公共安全通道或者所述節點是否有權限作為主節點建立公共安全通道,并將判斷結果通知至所述節點。進一步地,上述方法還可以具有以下特點所述密鑰管理服務器獲知所述節點的節點證書的方式是以下方式中的一種所述節點在所述密鑰初始化請求消息中攜帶節點證書,或者,所述密鑰管理服務器向證書服務器獲取所述節點的節點證書。進一步地,上述方法還可以具有以下特點具有作為主節點建立公共安全通道權限的節點在加入對等網絡后需要建立公共安全通道時,向所述密鑰管理服務器發送公共安全通道建立請求消息,所述密鑰管理服務器驗證所述節點的節點證書有效后,創建公共安全通道并為此公共安全信道生成對應的密鑰,將此公共安全通道的標識及密鑰通知至所述節點。進一步地,上述方法還可以具有以下特點節點加入已建立的公共安全通道的過程中采用節點主動請求加入方式,具體包括具有作為主節點建立公共安全通道權限的節點在發送的公共安全通道建立請求消息中攜帶接入控制信息,此接入控制信息中包括具有加入此公共安全通道權限的節點的標識; 所述密鑰管理服務器收到其它節點要求加入此公共安全通道的請求消息后,根據所述接入控制信息得知此節點有加入權限時,將此節點加入至此公共安全通道。進一步地,上述方法還可以具有以下特點節點加入已建立的公共安全通道的過程中采用節點被邀請加入方式,具體包括 主節點向所述密鑰管理服務器發送邀請節點加入公共安全信道的請求消息,攜帶被邀請的目標節點的標識;所述密鑰管理服務器向所述被邀請的目標節點發送邀請加入公共安全通道的請求消息,再根據目標節點的響應決定是否將此目標節點加入此公共安全通道。進一步地,上述方法還可以具有以下特點在滿足公共安全通道密鑰更新條件時,所述密鑰管理服務器為此公共安全通道生成新的密鑰,并將新的密鑰通知至屬于此公共安全通道中所有節點;公共安全通道密鑰更新條件是以下條件中的一種預設的密鑰更新定時器到時;有新節點加入此公共安全信道;此公共安全信道中有節點退出對等網絡。進一步地,上述方法還可以具有以下特點發起公共安全通道建立的主節點決定撤銷已建立的公共安全通道時,向密鑰管理服務器發送公共安全通道撤銷請求,所述密鑰管理服務器驗證此主節點的節點證書有效時,撤銷此主節點請求撤銷的公共安全通道,并通知此公共安全通道中所有節點。為了解決上述技術問題,本發明提供了一種保障對等網絡數據安全的系統,包括密鑰管理服務器和對等網絡節點,所述對等網絡節點,用于與屬于此對等網絡節點所在公共安全通道的節點進行信息交互時使用與此公共安全通道對應的密鑰;所述密鑰管理服務器,用于為對等網絡節點分配公共安全通道標識以及與公共安全通道對應的密鑰。本發明采用密鑰管理服務器對公共安全通道和密鑰進行集中管理,通過實時感知節點的加入退出狀況,提高P2P網絡的安全性以及可管理性,能對傳輸路徑的變化及時做出調整,能最大限度降低路徑調整帶來的時延,并且實現消息的快速、安全傳輸,且具有較小的建立時延和維護開銷。本發明中還將中心化密鑰管理和P2P節點的加入、退出過程結合,通過感知P2P網絡的變化,對公共安全通道的成員和密鑰進行調整,實現P2P網絡安全性的可管可控。
圖1是實施例中保障對等網絡數據安全的系統結構圖;圖2是實施例中節點進行初始化過程的流程圖。
具體實施例方式如圖1所示,保障對等網絡數據安全的系統在對等網絡中引用了密鑰管理服務器 (Key Management Server,簡稱 KMS)。對等網絡節點用于與屬于此對等網絡節點所在公共安全通道(Publidecurity Channel,簡稱PSC)的節點進行信息交互時使用與此公共安全通道對應的密鑰。密鑰管理服務器用于為對等網絡節點分配公共安全通道標識以及與公共安全通道對應的密鑰。對等網絡節點可以是P2P網絡中的包括普通節點或根節點,還可以是服務器網元,服務器網元可以作為特殊P2P節點在P2P網絡中登錄,也可以獨立的存在于P2P網絡之外。現有技術中,P2P網絡中還包括注冊服務器和證書服務器。注冊服務器用于對節點進行注冊并為節點分配節點標識。證書服務器用于向節點分配節點證書,并通過與注冊服務器通信將節點標識和節點證書綁定。節點對服務器(包括注冊服務器、證書服務器和密鑰管理服務器)的發現有兩種方式直接從配置文件中讀取和利用P2P網絡中的服務發現機制進行發現。密鑰管理服務器還用于維護和管理公共安全通道以及相應的密鑰;包括建立公共安全通道、進行公共安全通道的密鑰更新,以及撤銷公共安全通道。具體功能實現方式與下述方法中操作的方式相同。保障對等網絡數據安全的方法包括屬于同一公共安全通道的對等網絡節點間進行信息交互時均使用與此公共安全通道對應的同一密鑰。通過此方法,位于同一公共安全通道的對等節點共享同一密鑰對所交互的信息進行加解密,可以實現不同公共安全通道內的數據的安全傳輸,保障節點間的安全通信并防止竊聽、篡改等可能的惡意攻擊。
如圖2所示,節點在初始化過程包括以下幾個子過程獲取P2P網絡配置文件過程,節點注冊過程,節點證書獲取過程,密鑰初始化過程。獲取P2P網絡配置文件過程,節點注冊過程,節點證書獲取過程均是已有技術中原有流程。本發明中在節點初始化過程中增加了密鑰初始化過程。節點在初始化過程中獲取節點證書后,完成在密鑰管理服務器上的密鑰初始化過程,密鑰初始化過程包括節點向密鑰管理服務器發送密鑰初始化請求消息(Key Initialize Request),攜帶節點證書、節點標識和節點支持的加密算法集;密鑰管理服務器收到密鑰初始化請求消息后,對節點進行登記,還可以返回密鑰初始化響應消息(Key Initialize Response)通知登記成功。其中,節點向密鑰管理服務器提供節點證書用于密鑰管理服務器驗證節點的身份以及獲知節點相關信息(例如節點公鑰等信息)。節點向密鑰管理服務器提供節點支持的加密算法集用于節點和密鑰管理服務之間協商公共安全通道使用的加密算法。密鑰管理服務器在本地保存節點發送的相關信息。在密鑰初始化過程中,節點在密鑰初始化請求消息中還攜帶節點請求加入的公共安全通道的標識和/或節點是否需要作為主節點建立公共安全通道的信息(節點可以從配置文件中獲知系統預設的公共安全通道標識);密鑰管理服務器根據節點證書判斷節點是否有權限加入此節點請求加入的公共安全通道或者節點是否有權限作為主節點建立公共安全通道,并將判斷結果通知至此節點。密鑰管理服務器獲知所述節點的節點證書的方式是以下方式中的一種所述節點在所述密鑰初始化請求消息中攜帶節點證書,或者,所述密鑰管理服務器向證書服務器獲取所述節點的節點證書。其中,密鑰管理服務器確定節點有權限加入此節點請求加入的公共安全通道時,從本地數據庫中讀取該公共安全通道的密鑰,并通過密鑰初始化響應消息發送給上述節點。密鑰管理服務器確定節點有權限作為主節點建立公共安全通道時,根據節點支持的加密算法集合等信息,在本地創建一個公共安全通道,并為該公共安全通道分配標識,運行密鑰生成算法,預生成一個公共安全通道密鑰,并將生成信息預存儲在本地,并通過密鑰初始化響應消息將公共安全通道標識和對應的密鑰發送給上述節點。其中,密鑰部分需要用接收節點的公鑰進行加密,以防止安全信息被竊取。節點可以在加入P2P網絡后,再根據需要進行公共安全通道建立、公共安全通道更新、公共安全通道撤銷等操作。建立公共安全通道的過程包括步驟301,具有作為主節點建立公共安全通道權限的節點在加入對等網絡后需要建立公共安全通道時,向密鑰管理服務器發送公共安全通道建立請求消息(PSC Establish Request)。公共安全通道建立請求消息中攜帶節點標識還可以攜帶接入控制信息,此接入控制信息中包括具有加入此公共安全通道權限的節點的標識;還可以包括拒絕加入此公共安全通道權限的節點的標識。步驟302,密鑰管理服務器驗證所述節點的節點證書有效后,創建公共安全通道并為此公共安全信道生成對應的密鑰,將此公共安全通道的標識及密鑰通知至所述節點。密鑰管理服務器針對公共安全通道建立請求消息返回的響應消息為公共安全通
7道建立響應消息(PSC Establish Response),并通過此消息攜帶公共安全通道的標識及密鑰。密鑰管理服務器生成密鑰時可以直接根據本地密鑰生成算法生成,也可以通過與節點交互加密算法集后選擇算法生成密鑰。生成密鑰后,將為此節點分配的公共安全通道標識以及對應密鑰存儲在本地。其它節點加入已建立的公共安全通道的過程中可以采用節點主動請求加入方式, 具體包括具有作為主節點建立公共安全通道權限的節點在步驟301中發送的公共安全通道建立請求消息建立公共安全通道后,密鑰管理服務器收到其它節點要求加入公共安全通道的請求消息(PSC Join Request)后,根據所述接入控制信息得知此節點有加入權限時, 將此節點加入至此公共安全通道。其它節點加入已建立的公共安全通道的過程中還可以采用節點被邀請加入方式, 具體包括主節點向所述密鑰管理服務器發送邀請目標節點加入公共安全信道的請求消息 (PSC Invite peer Request),攜帶被邀請的目標節點的標識;密鑰管理服務器向所述被邀請的目標節點發送邀請加入公共安全通道的請求消息(PSC Invite Request),再根據目標節點的響應(PSC InviteResponse)決定是否將此被邀請的目標節點加入此公共安全通道, 并通過邀請目標節點加入公共安全信道的響應消息(PSC Invite peer Response)通知主節點。已加入公共安全通道的節點要求退出此公共安全通道時,向密鑰管理服務器發送退出公共安全通道的請求消息(PSC Quit),密鑰管理服務器同意后,將此節點從此公共安全通道中去除。密鑰管理服務器在維護已建立的公共安全通道的過程中,還可以執行密鑰更新流程,進行公共安全通道密鑰更新,以保證前向和后向安全性。在滿足公共安全通道密鑰更新條件時,密鑰管理服務器為此公共安全通道生成新的密鑰,并將新的密鑰通知至屬于此公共安全通道中所有節點。密鑰管理服務器可以向此公共安全通道中所有節點發送PSC更新消息(PSC Refresh)用于通知新的密鑰。公共安全通道密鑰更新條件是以下條件中的一種預設的密鑰更新定時器到時;有新節點加入此公共安全信道;此公共安全信道中有節點退出對等網絡。其中,公共安全通道中的節點退出P2P網絡時可能是正常退出或非正常退出。正常退出時,退出節點向密鑰管理服務器發送退出消息,觸發密鑰管理服務器進行密鑰更新。 非正常退出時,密鑰管理服務器檢測到節點退出后,觸發公共安全通道更新。發起公共安全通道建立的主節點決定撤銷已建立的公共安全通道時,向密鑰管理服務器發送公共安全通道撤銷請求(PSC Destroy Request),密鑰管理服務器驗證此主節點的節點證書有效時,撤銷此主節點請求撤銷的公共安全通道,并通知此公共安全通道中所有節點,例如發送指示公共安全通道撤銷的PSC更新消息(例如用PSC成員信息為空指示公共安全通道撤銷),收到此消息的節點停止該通道中的數據傳輸。密鑰管理服務器完成公共安全通道撤銷后,向主節點發送公共安全通道撤銷響應消息(PSC DestroyResponse) 0下面通過具體實施例詳細說明本發明。具體實施例一、公共安全通道的建立和加入節點A加入P2P網絡后,希望與節點B和節點C建立安全會話。這種需求可能的場景有(1)節點A、節點B、節點C在某個路由查詢路徑中,該路由查詢路徑上的路由消息需要安全性保證。(2)節點A、節點B和節點C之間要進行保密的群組通話。經過一定選擇機制,節點A被選擇出來建立一個公共安全通道。節點B和節點C 等待節點A建立完成PSC后加入。節點A完成密鑰初始化過程后,向密鑰管理服務器發送公共安全通道建立請求消息,攜帶節點A標識和接入控制信息(包括具有加入此公共安全通道權限的節點B和節點 C的標識)。密鑰管理服務器驗證節點A的證書有效后,啟動本地的公共安全通道建立過程, 生成公共安全通道標識和相應的密鑰。密鑰管理服務器向節點A返回公共安全通道建立響應消息,攜帶公共安全通道標識和相應的密鑰。節點A向密鑰管理服務器發送邀請目標節點加入公共安全信道的請求消息,密鑰管理服務器分別向節點B和節點C發送邀請加入公共安全通道的請求消息,節點B和節點C 收到后回復消息表示同意加入該公共安全通道,密鑰管理服務器將節點B和節點C加入至此公共安全通道并向節點A回復邀請加入公共安全通道的響應消息,表示同意節點A邀請節點B和節點C加入公共安全通道的請求。密鑰管理服務器更新密鑰,將新的密鑰發送至節點A、節點B和節點C,消息中包括公共安全通道標識和對應的密鑰。以上所有包含公共安全通道密鑰的信息,都使用對應節點的公鑰進行加密。至此,節點A、節點B和節點C都獲得了相同的公共安全通道標識和公共安全通道密鑰。此三個節點之間傳輸的數據均使用公共安全通道密鑰加密后傳輸,并使用公共安全通道密鑰對收到的信息進行解密。二、公共安全通道的更新B正常退出P2P網絡時,節點B向密鑰管理服務器發送退出公共安全通道的請求消息,密鑰管理服務器收到該消息后,找到節點所在的公共安全通道,將節點B從此公共安全通道成員列表中刪除,并為該公共安全通道生成新的密鑰,將新的密鑰發送至節點A和節 ;C OB異常退出P2P網絡時,節點B的鄰居節點檢測到節點B的退出后向密鑰管理服務器發送退出公共安全通道的請求消息,并在消息中指示出節點B的標識,密鑰管理服務器對消息真實性進行確認后,執行正常的公共安全通道更新流程。三、公共安全通道的撤銷當節點A認為公共安全通道的傳輸任務已經完成時,向密鑰管理服務器發送公共安全通道撤銷請求。密鑰管理服務器向公共安全通道中的成員發送PSC成員信息為空的 PSC更新消息,收到此消息的節點停止該通道中的數據傳輸,密鑰管理服務器刪除本地的公共安全通道有關的信息。本發明采用密鑰管理服務器對公共安全通道和密鑰進行集中管理,通過實時感知節點的加入退出狀況,能對傳輸路徑的變化及時做出調整,能最大限度降低路徑調整帶來的時延,并且實現消息的快速、安全傳輸,且具有較小的建立時延和維護開銷。本發明中還將中心化密鑰管理和P2P節點的加入、退出過程結合,通過感知P2P網絡的變化,對公共安全通道的成員和密鑰進行調整,實現P2P網絡安全性的可管可控。當然,本發明還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發明所附的權利要求的保護范圍。本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬件完成,所述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現。相應地,上述實施例中的各模塊/單元可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。本發明不限制于任何特定形式的硬件和軟件的結合。
權利要求
1.一種保障對等網絡數據安全的方法,其特征在于,屬于同一公共安全通道的對等網絡節點間進行信息交互時均使用與此公共安全通道對應的同一密鑰。
2.如權利要求1所述的方法,其特征在于,節點在初始化過程中獲取節點證書后,完成在密鑰管理服務器上的密鑰初始化過程, 所述密鑰初始化過程包括所述節點向密鑰管理服務器發送密鑰初始化請求消息,攜帶節點標識和所述節點支持的加密算法集;所述密鑰管理服務器收到所述密鑰初始化請求消息后,對所述節點進行登記。
3.如權利要求2所述的方法,其特征在于,在所述密鑰初始化過程中,所述節點在所述密鑰初始化請求消息中還攜帶節點請求加入的公共安全通道的標識和/或節點是否需要作為主節點建立公共安全通道的信息;所述密鑰管理服務器根據所述節點的節點證書判斷所述節點是否有權限加入所述節點請求加入的公共安全通道或者所述節點是否有權限作為主節點建立公共安全通道,并將判斷結果通知至所述節點。
4.如權利要求3所述的方法,其特征在于,所述密鑰管理服務器獲知所述節點的節點證書的方式是以下方式中的一種所述節點在所述密鑰初始化請求消息中攜帶節點證書,或者,所述密鑰管理服務器向證書服務器獲取所述節點的節點證書。
5.如權利要求1所述的方法,其特征在于,具有作為主節點建立公共安全通道權限的節點在加入對等網絡后需要建立公共安全通道時,向所述密鑰管理服務器發送公共安全通道建立請求消息,所述密鑰管理服務器驗證所述節點的節點證書有效后,創建公共安全通道并為此公共安全信道生成對應的密鑰, 將此公共安全通道的標識及密鑰通知至所述節點。
6.如權利要求5所述的方法,其特征在于,節點加入已建立的公共安全通道的過程中采用節點主動請求加入方式,具體包括具有作為主節點建立公共安全通道權限的節點在發送的公共安全通道建立請求消息中攜帶接入控制信息,此接入控制信息中包括具有加入此公共安全通道權限的節點的標識;所述密鑰管理服務器收到其它節點要求加入此公共安全通道的請求消息后,根據所述接入控制信息得知此節點有加入權限時,將此節點加入至此公共安全通道。
7.如權利要求5所述的方法,其特征在于,節點加入已建立的公共安全通道的過程中采用節點被邀請加入方式,具體包括主節點向所述密鑰管理服務器發送邀請節點加入公共安全信道的請求消息,攜帶被邀請的目標節點的標識;所述密鑰管理服務器向所述被邀請的目標節點發送邀請加入公共安全通道的請求消息,再根據目標節點的響應決定是否將此目標節點加入此公共安全通道。
8.如權利要求1所述的方法,其特征在于,在滿足公共安全通道密鑰更新條件時,所述密鑰管理服務器為此公共安全通道生成新的密鑰,并將新的密鑰通知至屬于此公共安全通道中所有節點;公共安全通道密鑰更新條件是以下條件中的一種預設的密鑰更新定時器到時;有新節點加入此公共安全信道; 此公共安全信道中有節點退出對等網絡。
9.如權利要求5所述的方法,其特征在于,發起公共安全通道建立的主節點決定撤銷已建立的公共安全通道時,向密鑰管理服務器發送公共安全通道撤銷請求,所述密鑰管理服務器驗證此主節點的節點證書有效時,撤銷此主節點請求撤銷的公共安全通道,并通知此公共安全通道中所有節點。
10.一種保障對等網絡數據安全的系統,包括密鑰管理服務器和對等網絡節點,其特征在于,所述對等網絡節點,用于與屬于此對等網絡節點所在公共安全通道的節點進行信息交互時使用與此公共安全通道對應的密鑰;所述密鑰管理服務器,用于為對等網絡節點分配公共安全通道標識以及與公共安全通道對應的密鑰。
全文摘要
本發明公開了一種保障對等網絡數據安全的方法及系統,此系統包括密鑰管理服務器和對等網絡節點,所述對等網絡節點,用于與屬于此對等網絡節點所在公共安全通道的節點進行信息交互時使用與此公共安全通道對應的密鑰;所述密鑰管理服務器,用于為對等網絡節點分配公共安全通道標識以及與公共安全通道對應的密鑰。本發明采用密鑰管理服務器對公共安全通道和密鑰進行集中管理,通過實時感知節點的加入退出狀況,提高P2P網絡的安全性以及可管理性,能對傳輸路徑的變化及時做出調整,能最大限度降低路徑調整帶來的時延,并且實現消息的快速、安全傳輸,且具有較小的建立時延和維護開銷。
文檔編號H04L29/08GK102447679SQ20101050502
公開日2012年5月9日 申請日期2010年10月9日 優先權日2010年10月9日
發明者孫崇偉, 裘曉峰, 陳書義, 高峰 申請人:中興通訊股份有限公司