外部金鑰存放區 - AWS Key Management Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

外部金鑰存放區

外部金鑰存放區可讓您使用外部的加密金鑰來保護您的 AWS AWS資源。此進階功能專為受管制的工作負載而設計,您必須使用儲存在您控制的外部金鑰管理系統中的加密金鑰來保護這些工作負載。外部金鑰存放區支援AWS 數位主權承諾,讓您對資料擁有的主權控制權 AWS,包括使用您擁有的金鑰資料進行加密的能力,以及可控制的外部資料。 AWS

部金鑰存放區是由您在外部擁有和管理的外部金鑰管理員所支援的自訂金鑰存放區 AWS。您的外部金鑰管理員可以是實體或虛擬硬體安全模組 (HSMs),也可以是任何能夠產生和使用加密金鑰的硬體式或軟體型系統。在外部金鑰存放區中使用金KMS鑰的加密和解密作業是由外部金鑰管理員使用您的加密金鑰材料來執行,這項功能稱為「保留您自己的金鑰」(HYOKs)。

AWS KMS 切勿直接與外部金鑰管理員互動,也無法建立、檢視、管理或刪除您的金鑰。相反地,只會與您提供的外部金鑰存放區 XKS Proxy (Proxy) 軟體 AWS KMS 互動。您的外部金鑰存放區 Proxy 會協調與外部金鑰管理員 AWS KMS 之間的所有通訊。它會將所有要求傳送 AWS KMS 至外部金鑰管理員,並將外部金鑰管理員的回應傳送回。 AWS KMS外部金鑰存放區 Proxy 也會 AWS KMS 將來自廠商的一般要求轉譯成外部金鑰管理員可以瞭解的特定於廠商的格式,讓您可以搭配各種廠商的金鑰管理員使用外部金鑰存放區。

您可以在外部KMS金鑰存放區中使用金鑰進行用戶端加密,包括 AWS Encryption SDK. 但是外部金鑰存放區是伺服器端加密的重要資 AWS 源,可讓您使 AWS 服務 用外部的 AWS加密金鑰保護多個資源。 AWS 服務 支援用於對稱加密的客戶管理金鑰,也支援外部KMS金鑰存放區中的金鑰。如需服務支援詳細資訊,請參閱 AWS 服務整合

外部金鑰存放區可讓您用 AWS KMS 於受管制的工作負載,其中加密金鑰必須在外部儲存和使用 AWS。但其與標準共同責任模式有很大不同,並且需要額外的運營負擔。對於大多數客戶而言,可用性和延遲的風險更大,將超過外部金鑰存放區的安全優勢。

外部金鑰存放區可讓您控制信任的根源。只有使用您控制的外部KMS金鑰管理員,才能解密外部金鑰存放區中金鑰下加密的資料。如果您暫時撤銷對外部金鑰管理員的存取權,例如中斷外部金鑰儲存區的連線或中斷外部金鑰管理員與外部金鑰存放區 Proxy 的連線,則會 AWS 失去對加密編譯金鑰的所有存取權,直到您還原該金鑰為止。在該間隔期間,您的密KMS鑰下加密的密文無法解密。如果您永久撤銷對外部金鑰管理員的存取權,則在外部金鑰存放區中以KMS金鑰加密的所有加密文字都將無法復原。唯一的例外是會短暫快取受金鑰保護之資料金KMS鑰的 AWS 服務。這些資料金鑰會繼續運作,直到您停用資源或快取到期為止。如需詳細資訊,請參閱 無法使用的 KMS 金鑰如何影響資料金鑰

外部金鑰存放區會針對受管制的工作負載解除封鎖少數使用案例,其中加密金鑰必須完全由您控制且無法存取 AWS。但是,這是雲端基礎架構操作方式的重大變化,也是共同責任模式的明顯轉變。對於大多數工作負載而言,額外的操作負擔以及可用性和效能的更大風險將超過外部金鑰存放區感知的安全優勢。

進一步了解

我需要外部金鑰存放區嗎?

對於大多數使用者而言,預設金 AWS KMS 鑰存放區受到 FIPS140-2 安全等級 3 驗證的硬體安全性模組保護,可滿足其安全性、控制和法規要求。外部金鑰存放區使用者會產生巨大的成本、維護和疑難排解負擔,以及延遲、可用性和可靠性風險。

考量外部金鑰存放區時,請花一些時間瞭解替代方案,包括由您擁有和管理的 AWS CloudHSM 叢集所支援的KMS金AWS CloudHSM 鑰存放區,以及您自行產生HSMs且可視需要從KMS金鑰中刪除的含匯入金鑰材料的金鑰。特別是,匯入有效期非常短的金鑰材料可能會提供類似的控制層級,而不會造成效能或可用性風險。

如果您有下列需求,外部金鑰存放區可能是您組織的正確解決方案:

  • 您必須在內部部署金鑰管理員或您控制之外的 AWS 金鑰管理員中使用密碼編譯金鑰。

  • 必須證明您的密碼編譯金鑰在雲端之外完全由您控制。

  • 您必須使用具有獨立授權的密碼編譯金鑰來進行加密和解密。

  • 金鑰資料必須放在次要、獨立的稽核路徑。

如果您選擇外部金鑰存放區,則請將其使用限制於需要利用 AWS之外的密碼編譯金鑰來保護的工作負載。

共同的責任模型

標準KMS金鑰使用的金鑰材料是在其中產生和使用HSMs的 AWS KMS 擁有和管理。您可以在KMS金鑰上建立存取控制原則,並設 AWS 服務 定使用KMS金鑰來保護您的資源。 AWS KMS 承擔金鑰中KMS金鑰材料的安全性、可用性、延遲和耐久性的責任。

KMS外部金鑰存放區中的金鑰取決於外部金鑰管理員中的金鑰材料和作業。因此,責任的天平會朝著您的方向移動。您必須對外部金鑰管理員中加密編譯金鑰的安全性、可靠性、耐久性和效能負責。 AWS KMS 負責迅速回應要求並與您的外部金鑰存放區代理進行通訊,以及維護我們的安全標準。為了確保每個外部金鑰儲存的密文至少都與標準 AWS KMS 密文相同,請 AWS KMS 先使用您金鑰專屬的 AWS KMS 金鑰材料將所有純文字加密,然後將其傳送至外部KMS金鑰管理員,以便使用外部金鑰加密,這個程序稱為雙重加密。因此,無論是 AWS KMS 還是外部金鑰材料擁有者都不能單獨解密雙重加密的密文。

您有責任維護符合您法規和效能標準的外部金鑰管理員、供應和維護符合外部金鑰存放區 Proxy API規格的AWS KMS 外部金鑰存放區 Proxy,以及確保金鑰材料的可用性與耐久性。此外,您也必須建立、設定和維護外部金鑰存放區。當您維護的元件所造成的錯誤發生時,您必須準備好識別並解決錯誤,如此一來, AWS 服務才能存取您的資源,而不會造成不必要的中斷。 AWS KMS 提供疑難排解指引,協助您判斷問題的原因和最可能的解決方案。

查看記 AWS KMS 錄外部金鑰存放區的 Amazon CloudWatch 指標和維度。 AWS KMS 強烈建議您建立 CloudWatch 警示來監控外部金鑰存放區,以便在效能和作業問題發生之前,早期偵測到效能和作業問題的跡象。

有什麼變化?

外部金鑰存放區僅支援對稱加密KMS金鑰。在中 AWS KMS,您在外部KMS金鑰存放區中使用和管理金鑰的方式與管理其他客戶管理金鑰的方式大致相同,包括設定存取控制政策監控金鑰使用情況。您可以使用相同參數APIs的相同參數來請求密碼編譯作業,其中包含您用於任何金鑰的外部金鑰存放區中的KMS金鑰。KMS定價也與標準KMS金鑰相同。如需詳細資訊,請參閱 管理外部金鑰存放區中的 KMS 金鑰使用外部金鑰存放區中的 KMS 金鑰AWS Key Management Service 定價

但是,對於外部金鑰存放區,以下原則發生了變化:

  • 您負責金鑰操作的可用性、耐久性和延遲。

  • 您負責開發、購買、操作和授權外部金鑰管理器系統的所有費用。

  • 您可以實作來 AWS KMS 自外部金鑰存放區 Proxy 的所有要求的獨立授權

  • 您可以監視、稽核和記錄外部金鑰存放區 Proxy 的所有作業,以及與 AWS KMS 要求相關的外部金鑰管理員的所有作業。

從何處開始?

若要建立和管理外部金鑰存放區,您需要選擇外部金鑰存放區代理連接選項備妥先決條件以及建立和設定外部金鑰存放區。若要開始,請參閱 規劃外部金鑰存放區

配額

AWS KMS 每個 AWS 帳戶 區域最多允許 10 個自訂金鑰存放區,包括AWS CloudHSM 金鑰存放區和外部金鑰存放區,無論其連線狀態為何。此外,在外部金鑰存放區中使用KMS金鑰也會有 AWS KMS要求配額。

如果您為外部金鑰存放區 VPCProxy 選擇 Proxy 連線,則必要元件 (例如VPCs子網路和網路負載平衡器) 可能也會有配額。如需這些配額的相關資訊,請使用 Service Quotas 主控台

區域

若要將網路延遲降到最低,請在離外部金鑰管理器最近的 AWS 區域 中建立外部金鑰存放區元件。如果可能,請選擇網路往返時間 (RTT) 在 35 毫秒或以下的地區。

除中國(北京)和中國(寧夏)外, AWS KMS 所有 AWS 區域 支持外部主要商店均受支持。

不支援的功能

AWS KMS 在自訂金鑰存放區中不支援下列功能。

外部金鑰存放區概念

此主題說明外部金鑰存放區中所使用的一些概念。

外部金鑰存放區

部金鑰存放區是由您擁有和管理的外部金鑰管理員所支援 AWS 的自 AWS KMS 訂金鑰存放區。外部KMS金鑰存放區中的每個金鑰都與外部金鑰管理員中的外部金鑰相關聯。當您在外部金KMS鑰存放區中使用金鑰進行加密或解密時,會使用外部金鑰在外部金鑰管理員中執行作業,這種安排稱為「保留您自己的金鑰」(HYOK)。此功能專為需要在其外部金鑰管理器中維護密碼編譯金鑰的組織而設計。

外部金鑰存放區可確保保護 AWS 資源的加密金鑰和作業會保留在您控制的外部金鑰管理員中。 AWS KMS 傳送要求給外部金鑰管理員以加密和解密資料,但 AWS KMS 無法建立、刪除或管理任何外部金鑰。 AWS KMS 向外部金鑰管理員傳送的所有要求,都會由您提供、擁有及管理的外部金鑰存放區 Proxy 軟體元件協調。

AWS 支援 AWS KMS 客戶管理金鑰的服務可以使用外部KMS金鑰存放區中的金鑰來保護您的資料。因此,使用外部金鑰管理器中的加密操作,您的資料最終會受到金鑰保護。

與標準KMS金鑰相比,外部金鑰存放區中的金KMS鑰具有根本不同的信任模式、共同責任安排以及效能期望。透過外部金鑰存放區,您負責金鑰材料和密碼編譯操作的安全性和完整性。外部金鑰存放區中金KMS鑰的可用性和延遲會受到硬體、軟體、網路元件以及與外部金鑰管理員之間 AWS KMS 的距離所影響。您也可能會為外部金鑰管理員以及外部金鑰管理員通訊所需的網路和負載平衡基礎結構產生額外費用 AWS KMS

您可以使用外部金鑰存放區作為更廣泛資料保護策略的一部分。對於您保護的每個 AWS 資源,您可以決定哪些資源需要外部KMS金鑰存放區中的金鑰,以及哪些金鑰可以由標準KMS金鑰保護。這可讓您彈性選擇特定資料分類、應用程式或專案的KMS金鑰。

外部金鑰管理器

部金鑰管理員是可產生 256 位元 AWS 對稱金鑰並執行AES對稱式加密與解密之外的元件。外部金鑰存放區的外部金鑰管理員可以是實體硬體安全性模組 (HSM) HSM、虛擬或軟體金鑰管理員 (含或不含HSM元件)。它可以位於以外的任何地方 AWS,包括在您的內部部署、本機或遠端資料中心或任何雲端中。您的外部金鑰存放區可以由單一外部金鑰管理員或多個共用加密金鑰的相關金鑰管理員執行個體 (例如HSM叢集) 進行支援。外部金鑰存放區的設計是為了支援來自不同廠商的各種外部管理器。如需有關外部金鑰管理器需求的詳細資訊,請參閱 規劃外部金鑰存放區

外部金鑰

外部KMS金鑰存放區中的每個金鑰都與外部金鑰管理員 (稱為外部金鑰) 中的加密編譯金鑰相關聯。當您使用外部金鑰存放區中的KMS金鑰加密或解密時,會使用外部金鑰在外部金鑰管理員中執行密碼編譯作業。

警告

外部鍵對於鍵的操作至關重KMS要。如果外部金鑰遺失或刪除,在關聯金KMS鑰下加密的加密文字將無法復原。

對於外部金鑰存放區,外部金鑰必須是已啟用且可以執行加密和解密的 256 位元AES金鑰。如需外部金鑰需求的詳細資訊,請參閱 外部金鑰存放區中 KMS 金鑰的要求

AWS KMS 無法建立、刪除或管理任何外部金鑰。您的加密金鑰材料永遠不會離開外部金鑰管理員。當您在外部KMS金鑰存放區中建立金鑰時,您會提供外部金鑰的 ID ()。XksKeyId您無法變更與金鑰相關聯的外部KMS金鑰 ID,不過您的外部金鑰管理員可以旋轉與外部金鑰 ID 相關聯的金鑰材料。

除了外部金鑰外,外部KMS金鑰存放區中的金鑰也有 AWS KMS 金鑰材料。KMS金鑰保護的資料會先 AWS KMS 使用金 AWS KMS 鑰材料加密,然後再由外部金鑰管理員使用外部金鑰加密。這種雙重加密過程可確保您的密KMS鑰保護的密文始終至少與僅受密文保護的強度一樣強。 AWS KMS

許多密碼編譯金鑰具有不同類型的識別符。在外部KMS金鑰存放區中建立金鑰時,請提供外部金鑰存放區 Proxy 用來參照外部金鑰的外部金鑰 ID。如果您使用錯誤的識別碼,您嘗試在外部KMS金鑰存放區中建立金鑰時會失敗。

外部金鑰存放區代理

外部金鑰存放區 Proxy (「XKSProxy」) 是由客戶擁有且由客戶管理的軟體應用程式,可協調與外部金鑰管理員之間 AWS KMS 的所有通訊。它還將通用 AWS KMS 請求轉換為特定於供應商的外部密鑰管理器了解的格式。外部金鑰存放區需要外部金鑰存放區代理。每個外部金鑰存放區與一個外部金鑰存放區代理相關聯。

外部金鑰存放區代理

AWS KMS 無法建立、刪除或管理任何外部金鑰。您的密碼編譯金鑰材料永遠不會離開您的外部金鑰管理器。 AWS KMS 與外部密鑰管理器之間的所有通信都由外部密鑰存儲代理協調。 AWS KMS 將要求傳送至外部金鑰存放區 Proxy,並接收來自外部金鑰存放區 Proxy 的回應。外部金鑰存放區 Proxy 負責將要求從您的外部金鑰管理員傳送 AWS KMS 至您的外部金鑰管理員,並將回應從外部金鑰管理員傳送回 AWS KMS

您擁有並管理外部金鑰存放區的外部金鑰存放區代理,並負責其維護和操作。您可以根據開放原始碼外部金鑰存放區 Proxy API規格來開發外部金鑰存放區 Proxy,以 AWS KMS 發佈或向廠商購買 Proxy 應用程式。您的外部金鑰存放區代理可能包含在您的外部金鑰管理器中。為了支援 Proxy 開發, AWS KMS 還提供範例外部金鑰存放區 Proxy (aws-kms-xks-proxy) 和測試用戶端 (xks-kms-xksproxy-test-client),以驗證您的外部金鑰存放區 Proxy 是否符合規格。

若要對其進行驗證 AWS KMS,Proxy 會使用伺服器端TLS憑證。若要對 Proxy 進行驗證, AWS KMS 請使用 Sigv4 Proxy 驗證認證將所有要求簽署至外部金鑰存放區 Proxy。或者,您的代理可以啟用相互TLS(mTLS),以獲得僅接受來自的請求的額外保證 AWS KMS。

您的外部金鑰存放區 Proxy 必須支援 HTTP /1.1 或更新版本,以及 TLS 1.2 或更新版本,且至少需要下列其中一個加密套件:

  • TLS_ AES GCM _ SHA384 (1.3) TLS

  • TLS_ CHACHA2 _ POLY13 _ (1.3SHA256) TLS

    注意

    該系統 AWS GovCloud (US) Region 不支援 TLS _ CHACHA2 POLY13 0 SHA256 _。

  • TLS_ ECDHE _ RSA _ WITH _ _ AES _ GCM _ SHA384 (1.2) TLS

  • TLS_ ECDHE _ ECDSA _ WITH _ _ AES _ GCM _ SHA384 (1.2) TLS

若要在外部KMS金鑰存放區中建立並使用金鑰,您必須先將外部金鑰存放區連線至其外部金鑰存放區 Proxy。您也可以視需求中斷外部金鑰存放區與其代理的連接。當您這樣做時,外部KMS金鑰存放區中的所有金鑰都無使用;它們無法用於任何密碼編譯作業。

外部金鑰存放區代理連接

外部金鑰儲存區 Proxy 連線 (「XKSProxy 連線」) 說明 AWS KMS 用來與外部金鑰存放區 Proxy 通訊的方法。

您可以在建立外部金鑰存放區時指定代理連接選項,其會成為外部金鑰存放區的屬性。您可以透過更新自訂金鑰存放區屬性來變更代理連接選項,但您必須確定外部金鑰存放區代理仍可存取相同的外部金鑰。

AWS KMS 支援下列連線選項:

  • 公用端點連線 — 透過網際網路 AWS KMS 將外部金鑰存放區 Proxy 的要求傳送至您控制的公用端點。此選項的建立和維護非常簡單,但可能無法滿足每個安裝的安全需求。

  • VPC端點服務連線 — AWS KMS 將請求傳送到您建立和維護的 Amazon 虛擬私有雲端 (AmazonVPC) 端點服務。您可以在 Amazon 內部託管外部密鑰存儲代理VPC,也可以在外部託管外部密鑰商店代理, AWS 並VPC僅將 Amazon 用於通信。

如需有關外部金鑰存放區代理連接選項的詳細資訊,請參閱 選擇代理連接選項

外部金鑰存放區代理身分驗證憑證

若要對外部金鑰存放區 Proxy 進行驗證, AWS KMS 請使用簽章 V4 (SIGv4) 驗證認證,將所有要求簽署至外部金鑰存放區 Proxy。您可以在 Proxy 上建立並維護驗證認證,然後在建立外部存放區 AWS KMS 時向其提供此認證。

注意

AWS KMS 用於向 XKS Proxy 簽署要求的 Sigv4 認證與您的 AWS Identity and Access Management 主體相關聯的任何 SIGv4 認證無關。 AWS 帳戶請勿對外部金鑰存放區 Proxy 重複使用任何 IAM Sigv4 認證。

每個代理身分驗證憑證有兩部分。建立外部金鑰存放區或更新外部金鑰存放區的身分驗證憑證時,您必須同時提供這兩個部分。

  • 存取金鑰 ID:識別私密存取金鑰。您可以提供純文字形式的 ID。

  • 秘密存取金鑰:認證的秘密部分。 AWS KMS 在儲存憑證之前,先加密認證中的秘密存取金鑰。

您可以隨時編輯憑證設定,例如當您輸入錯誤的值時、變更代理上的憑證時或者代理輪換憑證時。如需有關外部金鑰存放區 Proxy AWS KMS 驗證的技術詳細資訊,請參閱 AWS KMS 外部金鑰存放區 Proxy API 規格中的證。

若要讓您在不中斷外部金鑰存放區中使用KMS金鑰 AWS 服務 的情況下輪換認證,我們建議您至少支援兩個的外部金鑰存放區 Proxy 的有效驗證認證。 AWS KMS這可確保當您為 AWS KMS提供新憑證時,先前的憑證可繼續運作。

為了協助您追蹤代理身份驗證登入資料的使用期 AWS KMS 限,請定義 Amazon CloudWatch 指標XksProxyCredentialAge。您可以使用此指標建立 CloudWatch 警示,以在認證的年齡達到您建立的臨界值時通知您。

為了提供外部金鑰存放區 Proxy 僅回應的額外保證 AWS KMS,某些外部金鑰 Proxy 支援相互傳輸層安全性 (mTLS)。如需詳細資訊,請參閱 mTLS 身份驗證 (選用)

代理 APIs

若要支援 AWS KMS 外部金鑰儲存區,外部金鑰存放區 Proxy 必須依照AWS KMS 外部金鑰存放區 Proxy API 規格中所述實APIs作必要的 Proxy。這些代理API請求是 AWS KMS 發送到代理的唯一請求。雖然您永遠不會直接傳送這些請求,但了解其可能有助於您解決外部金鑰存放區或其代理可能出現的任何問題。例如,在外部金鑰存放區的 Amazon CloudWatch 指標中 AWS KMS 包含這些API呼叫延遲和成功率的相關資訊。如需詳細資訊,請參閱 監控外部金鑰存放區

下表列出並說明每個代理伺服器APIs。它也包含觸發呼叫 Proxy 的作 AWS KMS 業,以API及與 Proxy 相關的任何 AWS KMS 作業例外狀況API。

代理 API 描述 相關 AWS KMS 業務
解密 AWS KMS 傳送要解密的密文,以及要使用的外部金鑰 ID。所需的加密演算法為 AES _ GCM。 解密ReEncrypt
加密 AWS KMS 發送要加密的數據,以及要使用的外部密鑰的 ID。所需的加密演算法為 AES _ GCM。 加密GenerateDataKeyGenerateDataKeyWithoutPlaintextReEncrypt
GetHealthStatus AWS KMS 請求有關代理和外部密鑰管理器狀態的信息。

每個外部金鑰管理器的狀態可以為以下其中一種。

  • Active:狀態良好;可以提供流量

  • Degraded:狀態不良,但可提供流量

  • Unavailable:狀態不良;不能提供流量

CreateCustomKeyStore(用於公共端點連接),ConnectCustomKeyStore(用於VPC端點服務連接

如果所有外部金鑰管理器執行個體都是 Unavailable,則嘗試建立或連接金鑰存放區會失敗,且出現 XksProxyUriUnreachableException

GetKeyMetadata AWS KMS 要求與外部金鑰存放區中金鑰相關聯之外部KMS金鑰的相關資訊。

回應包括金鑰規格 (AES_256)、金鑰用法 ([ENCRYPT, DECRYPT]) 以及外部金鑰是否為 ENABLEDDISABLED

CreateKey

如果金鑰規格不是 AES_256,或金鑰用法不是 [ENCRYPT, DECRYPT],或狀態為 DISABLED,則 CreateKey 操作會失敗,且會出現 XksKeyInvalidConfigurationException

雙重加密

透過外部KMS金鑰儲存區中的金鑰加密的資料會加密兩次。首先,使用金鑰特定的 AWS KMS 金鑰材料來 AWS KMS 加密資料。KMS然後,外部金鑰管理器使用外部金鑰對 AWS KMS加密的密文進行加密。此過程稱為雙重加密

雙重加密可確保透過外部KMS金鑰存放區中的金鑰加密的資料至少與標準KMS金鑰加密的密文一樣強度。它還可 AWS KMS 以保護您從外部金鑰存放區 Proxy 傳輸過程中的純文字。使用雙重加密,您可以完全控制您的密文。如果您透過外部代理永久撤銷對外部金鑰的 AWS 存取權,則 AWS 中剩餘的任何密文都會被有效地加密銷毀。

雙重加密由外部金鑰存放區中的KMS金鑰保護的資料

若要啟用雙KMS重加密,外部金鑰存放區中的每個金鑰都有個加密後備金鑰:

  • AWS KMS 鑰匙特有的KMS關鍵材料。此金鑰材料是產生的,僅用於 AWS KMS FIPS140-2 安全等級 3 認證的硬體安全模組 () HSMs。

  • 外部金鑰管理器中的外部金鑰

雙重加密具有以下效果:

  • AWS KMS 在沒有透過外部金鑰存放區 Proxy 存取外部金KMS鑰的情況下,無法解密由外部金鑰存放區中的金鑰加密的任何加密文字。

  • 即使您擁有外部KMS金鑰材料 AWS,也無法將外部金鑰存放區中的金鑰加密的任何加密文字解密。

  • 您無法重新建立從外部KMS金鑰儲存庫中刪除的金鑰,即使您擁有其外部金鑰材質也是如此。每個KMS金鑰都有包含在對稱加密文字中的唯一中繼資料。即使新KMS金鑰使用相同的外部金鑰材料,也無法解密由原始金鑰加密的加密文字。

如需做法中的雙重加密範例,請參閱 外部金鑰存放區的運作方式

外部金鑰存放區的運作方式

您的外部金鑰存放區外部金鑰存放區代理外部金鑰管理器會共同運作,以保護您的 AWS 資源。下列程序說明典型的加密工作流程, AWS 服務 該工作流程會在受金鑰保護的唯一資料金鑰下加密每個物件。KMS在此情況下,您已選擇外部KMS金鑰存放區中的金鑰來保護物件。此範例顯示如何 AWS KMS 使用雙重加密來保護傳輸中的資料金鑰,並確保外部金鑰存放區中的KMS金鑰所產生的加密文字永遠至少與使用標準對稱KMS金鑰加密的加密文字相同。 AWS KMS

每個實際 AWS 服務 集成使用的加密方法各 AWS KMS 不相同。如需詳細資訊,請參閱 AWS 服務 文件「安全性」一章中的「資料保護」主題。

外部金鑰存放區的運作方式
  1. 您可以將新物件加入至資 AWS 服務 源。若要加密物件,會將GenerateDataKey要求 AWS 服務 傳送至 AWS KMS 使用外部KMS金鑰存放區中的金鑰。

  2. AWS KMS 產生 256 位元對稱資料金鑰,並準備透過外部金鑰存放區 Proxy 將純文字資料金鑰的副本傳送至外部金鑰管理員。 AWS KMS 透過使用與外部金鑰存放區中的金鑰相關聯的金鑰材料加密純文字資料AWS KMS 金鑰,以開始雙重加密程序。KMS

  3. AWS KMS 傳送加要求至與外部金鑰存放區相關聯的外部金鑰存放區 Proxy。要求包含要加密的資料金鑰加密文字,以及與金鑰相關聯的外部金鑰 ID。KMS AWS KMS 使用外部金鑰存放區 Proxy 的 Proxy 驗證認證來簽署要求。

    資料金鑰的純文字複本不會傳送至外部金鑰存放區代理。

  4. 外部金鑰存放區代理會驗證請求,然後將加密請求傳送至外部金鑰管理器。

    某些外部金鑰存放區代理也會實作選用的授權政策,只允許選取的主體在特定條件下執行操作。

  5. 您的外部金鑰管理器會使用指定的外部金鑰加密資料金鑰密文。外部金鑰管理器會將雙重加密的資料金鑰傳回至您的外部金鑰存放區代理,它會將其傳回 AWS KMS。

  6. AWS KMS 會將純文字資料金鑰和該資料金鑰的雙重加密副本傳回給。 AWS 服務

  7. 會 AWS 服務 使用純文字資料金鑰來加密資源物件、銷毀純文字資料金鑰,並將加密的資料金鑰與加密的物件一起儲存。

    有些人 AWS 服務 可能會快取純文字資料索引鍵以用於多個物件,或在資源使用時重複使用。如需詳細資訊,請參閱 無法使用的 KMS 金鑰如何影響資料金鑰

若要解密加密的物件, AWS 服務 必須在「解密」要求 AWS KMS 中將加的資料金鑰傳回至。若要解密加密的資料金鑰, AWS KMS 必須使用外部金鑰的 ID 將加密的資料金鑰傳回外部金鑰存放區 Proxy。如果對外部金鑰存放區 Proxy 的解密要求因任何原因而失敗,則 AWS KMS 無法解密加密的資料金鑰,且 AWS 服務 無法解密加密的物件。