在 Event Streams 中管理加密

根據預設,IBM® Event Streams for IBM Cloud® 中的訊息有效負載資料會使用隨機產生的金鑰進行靜態加密。 雖然此預設加密模型提供了靜止安全,但您可能需要更高層次的控制。 對於這些使用個案,Event Streams 支援客戶管理加密,並提供下列 IBM Cloud® 金鑰管理服務:

  • IBM® Key Protect for IBM Cloud® (Bring Your Own Key - BYOK) 可協助您跨 IBM Cloud 服務為應用程式提供加密金鑰。 當您管理金鑰的生命週期時,您會知道您的金鑰是由經過 FIPS 140-2 Level three 認證的雲端硬體安全模組 (HSM) 所保護,可防止資訊被盜用。 如需使用 Key Protect的相關資訊,請參閱 入門指導教學
  • Hyper Protect Crypto Services(自管金鑰 - KYOK)是由您控制的單一承租戶專用 HSM。 該服務根據 FIPS 140-2 第 4 級認證硬體所建置,這是產業內任何雲端提供者所提供的最高安全層次的硬體。 請注意 Hyper Protect Crypto Services 已經被廢棄。

IBM Cloud® 正在將專用金鑰管理服務從 Hyper Protect Crypto Services 轉移到 IBM® Key Protect Dedicated。 在 2027 年 3 月 20 日 HPCS 壽命結束 (EOL) 前,將現有的 Hyper Protect Crypto Services (HPCS) 根金鑰遷移至 IBM® Key Protect Dedicated (Single Tenant),以確保服務的持續可用性。 在該日期之後,任何剩餘的事例都將被終止。 為確保服務的持續可用性和支援,您必須在 EOL 日期前將所有現有的 HPCS 根金鑰遷移至 IBM Key Protect Dedicated (Single Tenant)。 瞭解如何遷移您的根密鑰

這些服務可讓您使用客戶提供的金鑰來控制加密。 透過停用或刪除此金鑰,您可以阻止對服務所儲存資料的任何進一步存取,因為已不可能對其進行解密。

如果您需要以下功能,請考慮使用客戶管理的金鑰:

  • 由您自己的金鑰控制資料的加密。
  • 明確控制靜態儲存資料的生命週期。

客戶管理的金鑰在企業方案上可用,且僅在 2019 年 10 月之後建立的叢集上可用。

刪除客戶管理的金鑰是無法復原的,並會導致任何儲存在 Event Streams 範例中的資料遺失。

訊息等級加密以符合規範

某些法規標準 (例如 PCI DSS ) 要求敏感訊息資料 (例如持卡人資訊) 在其整個生命週期 (靜止、移動和使用中) 都必須加密。

Event Streams 用來儲存訊息資料的檔案系統已加密,可防止未經授權的存取。 然而,當訊息通過傳輸層時,Event Streams 必須解密這些檔案系統才能處理訊息。 雖然這表示訊息有效負載並非端對端加密,但傳輸中及靜止時的加密可確保在整個訊息生命週期中提供強大的保護,符合業界最佳實務。

為了確保敏感資料不被預期收件者以外的任何人讀取,用戶端必須先在應用程式層級加密訊息本身,然後才傳送至 Event Streams- 這種做法稱為訊息層級加密。

客戶管理的加密未涵蓋的內容

如果選取客戶管理的加密特性,請注意此加密 涵蓋訊息有效負載資料。Event Streams 會靜態加密與使用服務相關的其他資料。 不過,雖然已加密,但 不會 使用客戶管理的加密來加密非訊息有效負載資料。 範例是用戶端 meta 資料,例如主題名稱、主題配置資料、儲存在綱目登錄中的綱目,以及儲存在與企業實例配置相關的 meta 資料。

因此,請勿在這類用戶端 meta 資料中使用機密資訊。

客戶管理的加密的運作方式

Event Streams 使用稱為信封加密的概念來實現客戶管理金鑰。

封套加密是指使用一個加密金鑰對另一個加密金鑰進行加密的作法。 用於加密實際資料的金鑰稱為資料加密金鑰 (DEK)。 DEK 本身從不儲存,而是由第二個金鑰包覆,稱為金鑰加密金鑰 (KEK),以建立包覆的 DEK。

若要將資料解密,必須先對已包裝 DEK 解除包裝才能取得 DEK。 只有透過存取 KEK (在此情況下是儲存在 Key ProtectHyper Protect Crypto Services中的根金鑰),才能執行此處理程序。

您擁有 KEK,此金鑰由您在 Hyper Protect Crypto Services 或 Key Protect 服務中建立為根金鑰。 Event Streams 服務絕不會看到根 (KEK) 金鑰。 關於其儲存、管理及使用來包裝和解除包裝 DEK 的所有作業,完全在金鑰管理服務中執行。 如果您停用或刪除金鑰,則無法再解密資料。

為 Event Streams 啟用客戶管理的金鑰

請完成下列步驟,以佈建 Event Streams 實例來使用客戶管理的金鑰:

  1. 佈建 Key ProtectHyper Protect Crypto Services的實例。
  2. 建立授權原則,容許 Event Streams 服務以「讀者」身分存取金鑰管理服務實例。 如需詳細資訊,請參閱 使用授權在服務之間授予存取權
  3. 在金鑰管理服務實例中建立或匯入根金鑰。
  4. 使用金鑰管理服務實例 GUI 中的 View CRN 選項,擷取金鑰的 Cloud Resource Name (CRN)。
  5. 佈建 Event Streams 的實例。 僅企業方案上支援此特性。

如果透過 IBM Cloud® 主控台進行佈建,請選取金鑰管理服務實例,然後從實例中選取根金鑰。

如果透過 CLI 進行佈建,請使用下列指令:

ibmcloud resource service-instance-create EVENT-STREAMS-INSTANCE-NAME messagehub ibm.message.hub.enterprise.3nodes.2tb REGION -p '{"kms_key_crn":"KMS_KEY_CRN"}'

無法更新沒有客戶管理金鑰的現有群集,因為這是一項破壞性作業,會導致所有訊息和主題定義的遺失。 您必須使用加密金鑰刪除並重製您的實例。

使用客戶管理的金鑰

使用客戶管理的金鑰設定 Event Streams 的實例後,它會以下列額外功能運作。

阻止對資料的存取

若要暫時阻止存取,請停用根金鑰。 這樣,Event Streams 就無法再存取資料,因為它無法再存取金鑰。

若要永久移除存取權限,請刪除金鑰。 但是,您必須極為謹慎,因為此作業是不可回復的。 您無法存取儲存在 Event Streams 實例中的任何資料。 無法復原這些資料。

在這兩種情況下,Event Streams 實例都會關閉,不再接受或處理連線。 會產生 Activity Tracker 事件來報告此動作。 如需相關資訊,請參閱 Activity Tracker 事件

即使在刪除服務實例之後,您的 Event Streams 和金鑰管理服務實例之間也要一直保留授權。Event Streams 將繼續需要到位的服務對服務政策來取消註冊金鑰。 若要判定何時可以放心移除服務對服務原則,請檢查 KMS 根金鑰上的相關聯資源。 如果根密鑰仍與 Event Streams 範例相關聯,請將政策保留在原處。 雖然移除此授權會阻止 Event Streams 在未來存取您的資料,但已在使用中的資料仍可繼續使用一段時間。

在您使用 IBM Cloud 主控台或 CLI 取消配置之前,您都要為 Event Streams 的實例支付費用。 即使您選擇阻止存取資料,仍會套用這些費用。

還原對資料的存取

僅當未刪除金鑰時,才能還原存取權。 若要還原存取權,請重新啟用根金鑰。 在經過很短的一段起始設定時間後,Event Streams 實例會重新啟動並再次開始接受連線。 這將保留所有資料,但會受實例中配置的正常保留限制的制約。

會產生 Activity Tracker 事件以報告動作。 如需相關資訊,請參閱 Activity Tracker 事件

輪換金鑰

Key Protect 和 Hyper Protect Crypto Services 支援根據需求或按排定輪換根金鑰。 輪替金鑰時,Event Streams 會重新包裝 DEK 來採用新金鑰,如先前 客戶管理的加密如何運作 中所述。

會產生 Activity Tracker 事件以報告動作。 如需相關資訊,請參閱 Activity Tracker 事件

停用客戶管理的加密

啟用客戶管理加密後,就無法停用。 您必須改為刪除服務實例,然後建立新的實例。

從 Hyper Protect Crypto Services (HPCS) 遷移到 Key Protect Dedicated (KP-ST)

在從 Hyper Protect Crypto Services (HPCS) 遷移到 Key Protect Dedicated (KP-ST) 的過程中,會發生以下情況:

  • 每個 KMS 範例都維護自己唯一的根金鑰。 遷移包括使用新的 IBM® Key Protect Dedicated 根金鑰重新關聯服務。
  • 現有的資料加密金鑰 (DEK) 會被安全地重新包覆。
  • 在過渡期間,Hyper Protect Crypto Services 至服務和 Key Protect 至服務的存取政策都必須維持不變。
  • 加密資料不會重新加密或移動。
  • 維持服務可用性。

必要條件

開始遷移之前,請確保您已

  • Key Protect 專用(單一租戶)實例。
  • 在該 Key Protect Dedicated (KP-ST) 範例中建立的根金鑰。
  • 管理金鑰和服務存取政策的權限。

移轉步驟

  1. 識別使用中的現有 Hyper Protect Crypto Services 根金鑰。 該金鑰必須存在於 Hyper Protect Crypto Services 範例中,而且服務必須已經可以存取該金鑰。
  2. 建立或選擇 Key Protect 專用根金鑰。 該金鑰必須位於適當的 Key Protect Dedicated (Single Tenant) 範例中,且服務可以存取。
  3. 建立連結兩個金鑰的移轉意向。 遷移意向會將目前的 Hyper Protect Crypto Services 金鑰 (來源) 對應至新的 Key Protect 專用金鑰 (目標)。 如需 Key Protect 移轉的詳細資訊,請參閱 從 Hyper Protect Crypto Services(HPCS)移轉至 Key Protect Dedicated
  4. 請預留 1-2 個工作天的時間執行遷移。Event Streams 安全地重新關聯和重新包裝 DEK(如適用),而不會重新加密或移動資料。
  5. 驗證移轉完成。 服務現在必須參考 Key Protect ST root key。Key Protect ST 根密鑰應該是可見和有效的,而且 Hyper Protect Crypto Services 關聯應該被移除。