專利名稱:提供密碼對象的部署生命周期管理的方法與系統的制作方法
技術領域:
本發明涉及提供密碼對象的部署生命周期管理的方法與系統,密碼對象具體地是指網絡中的密鑰使用實體(key use entity)所消耗的密碼密鑰(cryptographic key)。
背景技術:
密鑰管理是一種進程,通過此進程,密碼密鑰根據合適的策略(policy)產生,并且為了不同的應用而被傳送至消耗該這些密鑰的單元。密碼密鑰在它們生命周期結束時可能被刪除。在傳統系統中大部分是以人為方式來管理例如密碼密鑰或證書的密碼對象 (cryptographic object)CO的,具體地是管理密碼對象的部署與分發。此種人為操作的密碼對象的部署與分發很容易出錯。具體地說,不能保證所有必要的密碼對象被正確地部署與分發到需要它們的精確位置或單元處,而且不能保證現有的密碼對象CO部署沒有任何風險。這是因為典型的企業或組織密鑰管理系統可能涉及多個密碼對象,例如密碼密鑰或密碼證書,其中大部分這些密碼對象都定期地更新或刷新(refreshed),并且其中存在多個密鑰部署點。因此,在傳統系統中,及時且有效的分發密碼對象的管理工作固有地是既復雜又容易出錯的。
發明內容
在實施例中,本發明的一個方面提供一種部署生命周期管理的系統,包括至少一個執行單元,以異步的方式來運行部署進程和分發進程,所述部署進行提供密碼對象(CO)的部署規范,所述分發進程響應于記錄在永久性數據存儲體中的CO部署規范來執行和部署有關的操作。在根據本發明的系統的實施例中,提供接口,用以接收至少一個CO部署規范,其根據預定的部署圖樣而指示將一個或多個密碼對象部署至一個或多個密鑰使用實體。在根據本發明的系統的實施例中,CO部署規范包括將密碼對象加入至密鑰使用實體中或從網絡的密鑰使用實體刪除密碼對象的指示符;響應于應用需求而將密碼對象傳送至網絡的密鑰使用實體的指示符;更新(或刷新)密鑰使用實體所使用的現有密碼對象或更新該密碼對象的一個或多個屬性的指示符。在根據本發明的系統的實施例中,該CO部署規范是由密鑰管理系統提供或是由用戶輸入至部署生命周期管理的系統中。在根據本發明的系統的實施例中,在執行單元上運行的部署進程包括相對于預定的安全策略來確認已接收的CO部署規范。在根據本發明的系統的實施例中,在該執行單元上運行的分發進程包括通過以下方式來執行被記錄在永久性數據存儲體中的每個經確認的CO部署規范根據各個CO部署規范將密碼對象分發至該網絡的密鑰使用實體;根據各個CO部署規范來更新或刷新該網絡的密鑰使用實體所使用的現有密碼對象;以及根據各個部署規范從該網絡的密鑰使用實體撤回密碼對象。在根據本發明的系統的實施例中,數據存儲體是永久性數據存儲體并且包括用以在部署進程及分發進程之間交換消息信息數據的數據域,其中提供分發動作數據域用以表示各個CO部署規范所需要的特定動作,且其中提供分發狀態數據域用以指示各個CO部署規范的執行狀態。在根據本發明的系統的實施例中,永久性數據存儲體的所述分發動作數據域指示動作類型,包括暫停(hold)動作,其在CO部署規范尚未準備好時通知分發進程跳過各個CO部署;部署動作,其指示準備部署的需求;更新動作,其指示CO部署規范已被修改并且命令分發進程通過再次執行對應的和部署相關的操作來刷新CO部署;以及撤回類型,其指示分發進程將撤回現有的CO部署。在根據本發明的系統的實施例中,永久性數據存儲體的分發狀態數據域指示執行狀態,包括初始狀態,其指示各個CO部署規范正在等待由分發進程執行;運行狀態,其指示各個CO部署規范目前正被分發進程執行;完成狀態,其指示CO部署已根據對應的CO部署規范成功地被分發進程執行;以及重試狀態,其指示分發進程已經嘗試過執行CO部署至少一次但是還未成功地完成。在根據本發明的系統的實施例中,密碼對象包括密碼密鑰,其包含私鑰、公鑰、對稱秘密密鑰、以及密鑰對;由證書機構的密鑰簽名的密碼證書,密碼秘密數據;以及用戶憑證。在根據本發明的系統的實施例中,密碼對象的CO部署規范包含CO部署規范,該CO 部署規范包括至少一個部署源;至少一個部署目的地;至少一個CO部署圖樣(pattern),其指定將密碼對象從源分發至目的地,所述部署規范還包括所述密碼對象的一個或多個CO屬性,具體地是時間屬性。在根據本發明的系統的實施例中,密鑰使用實體消耗密碼對象,所述密鑰使用實體包括網絡中的節點或在網絡的節點上運行的應用。本發明的另一方面還提供一種數據網絡,其包括消耗分發管理器所分發的密碼對象的網絡實體,該分發管理器響應于在部署進程中被部署管理器記錄在數據存儲體中的CO 部署規范,而在分發進程中執行和部署有關的操作,以將密碼對象分發至實體,其中,該分發進程和該部署進程獨立且異步地執行。本發明的另一方面提供一種用以執行密碼對象的部署生命周期管理的方法,包括以下步驟在部署進程中為密碼對象提供至少一個CO部署規范;以及在分發進程中響應于所提供的CO部署規范執行和部署有關的操作,其中,該部署進程和該分發進程以異步的方式獨立地執行。本發明的另一方面提供一種數據載體,其包括用以執行這種方法的指令。下文中,參考附圖來說明根據本發明的系統與方法的可能實施例。
圖1示出用于圖示根據本發明的用于部署生命周期管理的系統的可能實施例的方塊圖;圖2示出用于圖示根據本發明的用以執行密碼對象的部署生命周期管理的方法的可能的實施例的圖;圖3示出用于圖示根據本發明的生命周期管理的系統方法的可能實施例的狀態圖。
具體實施例方式從圖1中能夠看出,在可能的實施例中,用于部署生命周期管理的系統1包括分發管理單元2,其具有用以接收CO部署規范(C0DQ的接口 2A,以及用以分發密碼對象CO的接口 2B。分發管理單元2包括至少一個執行單元2C,例如微處理器,用以運行或執行各種進程。在可能的實施例中,分發管理單元2還包括至少一個永久性數據存儲體2D,用以記錄CO部署規范CODS。接口 2A被提供用以接收至少一個CO部署規范C0DS,其指示將一個或多個密碼對象CO部署至一個或多個密鑰使用實體3-1、3-2、3-3、3-Ν,如圖1中所示。密鑰使用實體3-i消耗每一個或多個密碼對象CO。在可能的實施例中,密鑰使用實體3-i可以是網絡(例如數據網絡)的節點。在替代的實施例中,密鑰使用實體3-i可以是在網絡的節點上運行的應用。網絡中的每個節點可以包括數個應用,每個應用形成消耗一個或數個密碼對象CO的密鑰使用實體。分發管理單元2經由其接口 2A從密鑰管理系統4接收至少一個CO部署規范CODS。 在替代的實施例中,分發管理系統能夠接收CO部署規范CODS作為來自用戶的輸入。該CO 部署規范CODS指示根據預定映射圖樣將一個或多個密碼對象CO部署至一個或多個密鑰使用實體3-i。在可能的實施例中,每個CO部署規范CODS可以包括將密碼對象CO加入至密鑰使用實體3-i中或從網絡的密鑰使用實體3-i刪除密碼對象的指示符。另外,在可能的其體實施例中,該CO部署規范CODS可以包括響應于應用需求而將密碼對象CO傳送至網絡的密鑰使用實體3-i的指示符。在可能的實施例中,該CO部署規范CODS還可以包括更新密鑰使用實體3-i所使用的現有密碼對象CO或更新相應密碼對象CO的屬性之一的指示符。
每個密碼對象CO可以包括一個或數個密鑰,例如,私鑰、公鑰、對稱或不對稱密鑰、以及密鑰對。該密碼對象CO還能夠由密鑰證書機構簽名的密碼證書來形成。該密碼對象還能夠由密碼秘密數據或由用戶的用戶憑證來形成。在可能的實施例中,提供給密碼對象CO的CO部署規范CODS包括CO部署規范。在可能的實施例中,該CO部署規范可以包括至少一個CO部署源;至少一個CO部署目的地;以及至少一個CO部署圖樣,用以指定將密碼對象CO從對象源分發至對象目的地。在可能的實施例中,部署規范還可以包括各個密碼對象的一個或多個CO屬性。這些對象屬性可以包括時間屬性。執行單元2C能夠同時執行數個進程。在根據本發明的系統中,執行單元2C異步地運行部署進程Pl和分發進程P2,所述部署進程Pl用以提供CO部署規范CODS給密碼對象C0,所述分發進程P2響應于記錄在永久性數據存儲體2D中的CO部署規范CODS來執行和部署有關的操作。分發進程P2與部署進程Pl以異步的方式獨立執行。進程P1、P2兩者沒有關聯(decoupled)并且以異步的方式工作。在可能的實施例中,在執行單元2C上運行的部署進程Pl可以包括相對于預定的安全策略來確認已接收的CO部署規范CODS。另外,部署進程Pl能夠更新部署規范對象屬性或者能夠執行CODS的撤回。CO從密鑰使用實體(KUE)的實際撤回由分發進程來完成。在實施例中,可以在分發管理單元2的相同或不同執行單元2C上執行的分發進程 P2包括執行記錄在永久性數據存儲體2D中的每個經確認的CO部署規范CODS。這通過以下方式來執行根據各個CO部署規范CODS將密碼對象CO分發至網絡的密鑰使用實體3-i ; 根據各個CO部署規范CODS來更新或刷新該網絡的密鑰使用實體3-i所使用的現有密碼對象;以及根據各個部署規范從網絡的密鑰使用實體3-i撤回密碼對象CO。數據存儲體2D是永久性數據存儲體并且包括數個數據域以便允許這兩個獨立運行的進程PI、P2相互通信。因此,永久性數據存儲體2D包括用以在部署進程Pl及分發進程P2之間交換消息信息數據的數據域。在可能的實施例中,提供分發動作數據域,用以表示各個CO部署規范CODS所需要的特定動作。另外,提供分發狀態數據域,用以指示各個CO 部署規范CODS的執行狀態。在可能的實施例中,永久性數據存儲體2D的分發動作數據域表示動作類型。此動作類型可以包括暫停(hold)動作,其在CO部署規范CODS尚未準備好時通知分發進程P2 跳過各個CO部署。動作類型可以進一步包括部署動作,其指示準備部署的需求。另外,動作類型可以包括更新動作,其指示CO部署規范CODS已被修改并且命令分發進程P2通過再次執行對應的和部署相關的操作來刷新該CO部署。另外,該動作類型可以包括撤回類型, 其指示分發進程P2要撤回現有的CO部署。除了指示動作類型的分發動作數據域以外,永久性數據存儲體2D可以包括指示執行狀態的分發狀態數據域。此執行狀態可以包括不活動(inert)或初始狀態,其指示各個CO部署規范CODS正在等待分發進程P2執行。該執行狀態還可以包括運行狀態,其指示各個CO部署規范CODS目前正被分發進程P2執行。另外,該執行狀態可以包括完成狀態, 其指示該CO部署已根據對應CO部署規范CODS成功地被分發進程P2執行。另外,該執行狀態可以包括重試狀態,其指示分發進程P2已經嘗試過執行該CO部署至少一次但是還未成功地完成。
根據本發明的方法和系統分離指定部署需求的工作和分發工作,即,實際執行和部署有關的操作的工作,使得該分發工作能夠完全自動化,而不需要人為介入。第一進程稱為部署進程P1,其致力于經由用戶接口來與管理者或安全人員交互,并且接收與確認這些部署需求,例如根據特定圖樣將一個或多個密碼密鑰或證書部署至一個或多個端點,例如,密鑰使用實體3-i ;更新部署特有屬性;撤回部署等。接著,經確認的部署規范被記錄在永久性數據存儲體2D中。第二進程P2稱為分發進程,其構成負責實際執行存儲在永久性數據存儲體2D中的部署規范的進程。分發進程P2負責多個動作,例如將密碼密鑰或證書分發至端點,例如,密鑰使用實體3-i ;更新現有的部署,例如,刷新密鑰或證書;以及從端點(例如,密鑰使用實體)撤回密碼密鑰或證書。在這兩種進程P1、P2之間傳遞的消息經由在其中可以存儲部署規格的記錄與狀態的永久性數據存儲體2D來執行,且被PI、P2兩種進程存取。提供密鑰管理系統使得組織能使用密碼學來管理風險并且符合管理的需求,以跨越多個應用以及數千個服務器、終端用戶及網絡設備來提供密碼密鑰K和數字證書C的生命周期管理。密碼對象CO的部署與分發的完整生命周期包括密碼對象的確認、執行、更新、 以及撤回。管理密碼對象CO部署與分發的生命周期的挑戰在于指定符合應用的有效部署需求,同時不違背安全策略。將密碼對象CO (例如密鑰K)實際分發至遠程網絡端點或刪除遠程端點的密鑰可以是冗長的進程,其在傳統的系統中使管理者等待完全的確定。相反地,根據本發明的方法與系統提供異步的部署與分發,其將傳統的順序串分解成異步工作的兩個獨立進程P1、P2。通過根據本發明的系統,指定部署需求的工作和實際執行與部署有關的操作的工作相分離。因此,不需要人為介入便可以實際執行與部署有關的操作。第一進程Pl 致力于經由用戶接口來與管理者交互,以便接收部署需求,例如,根據特定圖樣將一個或多個密碼對象CO部署至一個或多個端點。另外,可以修該部署特有的屬性,過期密鑰或證書可以被刷新,這與部署規范有關。另外,可能撤回現有的部署。這些CO部署規范CODS能夠由系統的其它組件自動產生。舉例來說,當密鑰管理系統(KMS)的生命周期管理引擎決定終止密碼密鑰或證書時,和此密鑰或證書有關的所有部署都必須因此被撤回。這導致自動產生適當的部署規范,而非人為產生。在可能的實施例中,管理者輸入的CO部署規范CODS 不被接受,直到其相對于預定的安全策略被確認。接著,僅經確認的部署規范CODS被記錄在永久性數據存儲體2D中,這表示它們準備好實際執行。該進程稱為部署進程P1。另一進程P2為分發進程P2,其負責實際執行被存儲在永久性數據存儲體2D中的已接受的部署規范。此進程P2負責以下動作,例如將密鑰或證書分發至端點3-i ;修改現有部署的與部署有關的屬性;刷新部署中所涉及的過期密鑰或證書;以及最后,從如圖1中所示的端點或密鑰使用實體3-i處,撤回密鑰K或證書C。PU P2兩種進程經由保留部署規范的狀態的永久性數據存儲體2D相互通信。有兩種可能的實施例使分發進程P2察覺尚未被執行的任何CO部署規范CODS。在實施例中, 部署進程Pl會通知分發進程P2有新的部署規范進來。在替代實施例中,分發進程P2定期檢查永久性數據存儲體2D中的CO部署規范CODS的狀態并且然后據以采取行動。兩種變化都可用來觸發執行CO部署規范CODS。圖2中圖解用以協調密鑰證書部署與分發的生命周期管理的異步的部署與分發的無關聯的進程P1、P2。
在可能的實施例中,被存儲在永久性數據存儲體2D中的CO部署規范CODS可以使用兩個域以在部署進程Pl與分發進程P2之間交換信息。第一數據域為分發動作數據域而第二數據域為分發狀態數據域。分發動作數據域可以采取以下四種動作類型的值暫停、部署、更新、以及撤回。分發狀態數據域可以代表該部署規范的執行狀態并且可以包括以下四種狀態初始、運行、完成、以及重試。分發動作數據域主要由部署進程Pl用來和分發進程P2溝通關于部署規范預期哪些操作。分發狀態數據域用來由分發進程按步驟來處理CO部署規范CODS的實際執行。分發動作數據域與分發狀態數據域兩者中的上述狀態都能被擴充以實現分發進程的更精細控制。部署的生命周期會被模擬成如圖3中所示的分發動作數據域與分發狀態數據域的組合。示出的狀態轉變僅示例性圖解分發進程如何處理永久性數據存儲體2D中的部署規范。如果分發進程沒有成功完成部署規范,則將其標注為“重試”并且會有背景安排機制將該狀態從“重試”變成“初始”。接著,分發進程嘗試再次執行。在可能的實施例中,管理者可以通過查找狀態域來查詢任何部署規范的狀態并且采取適當動作。在可能的實施例中,本發明可用在數據網絡中。此數據網絡可以包括消耗分發管理器(例如圖1中所示的分發管理單元幻所分發的密碼對象CO的多個網絡實體。此分發管理單元2響應于在部署進程Pl中被分發管理單元2記錄在數據存儲體2D中的CO部署規范C0DS,在分發進程P2中執行和部署有關的操作,以將密碼對象CO分發至網絡實體3。 分發進程P2與部署進程Pl以異步的方式獨立地執行。用以執行密碼對象CO的部署生命周期管理的方法可以包括以下步驟在部署進程Pl中提供至少一個CO部署規范CODS給密碼對象C0,并且在分發進程P2中響應于已提供的CO部署規范CODS來執行和該部署有關的操作,其中,部署進程Pl與分發進程P2以異步的方式獨立地執行。此方法能夠由包括用以執行該方法的指令的計算機程序來執行。此計算機程序可存儲在數據載體中并且會被加載至計算機或服務器。如圖1中所示的密鑰使用實體3-i可以是網絡(具體地是數據網絡中)所提供的任何種類的節點或設備。密鑰使用實體3-i會消耗任何種類的密碼密鑰或證書或憑證或秘密數據。圖1中所示的實體3-i可經由通信線或網絡或以無線方式相互通信。永久性數據存儲體2D可被整合在如圖1中所示的分發管理單元2中,但也能夠由執行單元2C經由網絡來存取。密鑰使用實體3-i可以是數據網絡中的移動或固定節點。在可能的實施例中,分發管理單元2被整合在如圖1中所示的密鑰管理系統4中。分發管理單元2可包括用于管理者或操作員的用戶界面。
權利要求
1.一種用于密碼對象(CO)部署生命周期管理的系統(1),包括至少一個執行單元(2C),異步地運行部署進程(Pl)和分發進程(P2),所述部署進程 (Pl)用于提供密碼對象(CO)的部署規范(CODS),所述分發進程(P2)用于響應于記錄在數據存儲體QD)中的部署規范(CODS)來執行和分發有關的操作。
2.如權利要求1的系統,其中,提供接口以K)用以接收至少一個部署規范(C0DQ,其指示將一個或多個密碼對象 (CO)部署至一個或多個密鑰使用實體(3)。
3.如權利要求1或2的系統,其中所述部署規范(CODS)包括將密碼對象(CO)加入至密鑰使用實體(3)或從網絡的密鑰使用實體(3)刪除密碼對象(CO)的指示符;響應于應用需求而將密碼對象(CO)傳送至網絡的密鑰使用實體(3)的指示符; 更新密鑰使用實體( 使用的現有密碼對象(CO)或更新所述密碼對象(CO)的屬性之一的指示符。
4.如權利要求1至3的系統,其中,所述部署規范(CODS)由密鑰管理系統(4)提供或由用戶輸入至所述用于部署生命周期管理的系統(1)中。
5.如權利要求1至4的系統,其中,在所述執行單元OC)上運行的所述部署進程(Pl)包括相對于預定的安全策略確認接收的部署規范(CODS)。
6.如權利要求1至5的系統,其中在所述執行單元OC)上運行的所述分發進程(P2) 包括通過以下方式來執行記錄在所述永久性數據存儲體OD)中的每個經確認的部署規范 (CODS)根據各個部署規范(CODS)將密碼對象(CO)分發至所述網絡的密鑰使用實體(3); 根據各個部署規范(CODS)來更新或刷新所述網絡的密鑰使用實體(3)使用的現有密碼對象(CO);以及根據各個部署規范(CODS)從所述網絡的密鑰使用實體(3)撤回密碼對象(C0)。
7.如權利要求1至6的系統,其中所述數據存儲體是永久性數據存儲體QD)并且包括用以在所述部署進程(Pi)及所述分發進程(P》之間交換消息信息數據的數據域, 其中提供分發動作數據域用以表示各個部署規范(CODS)需要的特定動作,且其中提供分發狀態數據域用以指示各個部署規范(C0DQ的執行狀態。
8.如權利要求7的系統,其中所述永久性數據存儲體OD)的所述分發動作數據域指示動作類型,包括 暫停動作,其通知所述分發進程(P》在部署規范(C0DQ未準備好時跳過各個部署; 部署動作,其指示準備部署的需求;更新動作,其指示所述部署規范(CODS)被修正并且命令分發進程(P2)通過再次執行對應的和部署相關的操作來刷新該部署;以及撤回動作,其指示將通過所述分發進程(P2)撤回現有的部署。
9.如權利要求7或8的系統,其中所述永久性數據存儲體OD)的所述分發狀態數據域指示執行狀態,包括初始狀態,其指示各個部署規范(C0DQ正在等待由所述分發進程(P》執行; 運行狀態,其指示各個部署規范(C0DQ目前正被所述分發進程(P》執行; 完成狀態,其指示所述分發進程(P》已經根據對應的部署規范(C0DQ成功地執行了所述部署;以及重試狀態,其指示所述分發進程(P》已經嘗試過執行所述部署至少一次,但是還未成功地完成。
10.如權利要求1到9的系統, 其中所述密碼對象(CO)包括密碼密鑰(K),包含私鑰、公鑰、對稱秘密密鑰、以及密鑰對; 由證書機構(CA)的密鑰簽名的加密證書; 加密秘密數據;以及用戶憑證。
11.如權利要求1到10的系統,其中用于密碼對象(CO)的所述部署規范(CODS)包括部署規范(CODS),包含至少一個部署源,即一個或多個密碼對象;至少一個部署目的地,即一個或多個密鑰使用實體(3);至少一個部署圖樣,指定將密碼對象(CO)從源分發至目的地,所述部署規范還包括所述密碼對象(CO)的一個或多個對象屬性,具體地時間屬性。
12.如權利要求2到11的系統,其中,所述密鑰使用實體C3)消耗密碼對象(C0),所述密鑰使用實體C3)包括網絡中的節點或在網絡的節點上運行的應用程序。
13.一種數據網絡,包括消耗分發管理器( 分發的密碼對象(CO)的網絡實體,該分發管理器( 響應于在部署進程(Pl)中由部署管理器( 記錄在數據存儲體中的部署規范(C0DQ,而在分發進程 (P2)中執行和部署有關的操作,以將所述密碼對象(CO)分發至所述實體, 其中所述分發進程(P》和所述部署進程(Pl)獨立地實施。
14.一種用于執行密碼對象(CO)的部署生命周期管理的方法,包括步驟 在部署進程(Pl)中為密碼對象(CO)提供至少一個部署規范(C0DQ ;以及在分發進程(P2)中,響應于所述提供的部署規范(CODS),執行和部署有關的操作, 其中所述部署進程(Pl)和所述分發進程(P》以異步的方式獨立地執行。
15.一種數據載體,包括用于執行根據權利要求14的方法的指令。
全文摘要
一種用于密碼對象(CO)部署生命周期管理的系統與方法,包括至少一個執行單元(2C),異步地運行部署進程(P1)和分發進程(P2),所述部署進程(P1)用于提供密碼對象的CO部署規范,所述分發進程(P2)用于響應于被記錄在分發管理單元(2)的數據存儲體(2D)中的CO部署規范(CODS)來執行和部署有關的操作。
文檔編號H04L29/06GK102577226SQ201080042426
公開日2012年7月11日 申請日期2010年9月17日 優先權日2009年9月25日
發明者I.伊利亞迪斯, M.武科利克, R.A.波利齊克, R.哈斯, 胡曉宇 申請人:國際商業機器公司