將加密金鑰帶到雲端-標準方案

加密金鑰包含資訊子集,例如協助您識別金鑰的 meta 資料,以及用來加密及解密資料的金鑰資料。

當您使用 IBM Cloud® Hyper Protect Crypto Services 來建立金鑰時,服務會代表您產生以 Hyper Protect Crypto Services 實例的硬體安全模組 (HSM) 為根的加密金鑰資料。 然而取決於您的商業需求,您可能需要從內部解決方案產生金鑰資料,然後藉由將金鑰匯入至 Hyper Protect Crypto Services 來將內部部署金鑰管理基礎架構擴充至雲端。

表 1. 說明匯入主要資料的好處
優點 說明
保留自己的金鑰 (KYOK) 如果您選擇從內部金鑰管理基礎架構匯出對稱金鑰,您可以使用 Hyper Protect Crypto Services 將它們安全地帶到雲端。 KYOK 功能可確保您擁有金鑰階層的根信任,且除了您有權存取加密金鑰之外沒有任何人。
安全匯入根金鑰資料 將金鑰匯出至雲端時,您想要保證金鑰資料在進行時受到保護。 使用匯入記號將根金鑰資料安全地匯入至 Hyper Protect Crypto Services 服務實例,以減輕中間人攻擊。

提前規劃匯入金鑰資料

當您備妥要將根金鑰資料匯入至服務時,請記住下列考量事項。

檢閱用來建立金鑰資料的選項
根據您的安全需求,探索建立 256 位元對稱加密金鑰的選項。 例如,您可以使用由 FIPS 驗證的內部部署硬體安全模組 (HSM) 所支援的內部金鑰管理系統,先產生金鑰資料然後自帶金鑰到雲端。 如果您要建置概念證明,則也可以使用加密法工具箱 (例如 OpenSSL ) 來產生金鑰資料,您可以根據測試需要將這些資料匯入至 Hyper Protect Crypto Services。
選擇選項以將金鑰資料匯入至 Hyper Protect Crypto Services
根據環境或工作量所需的安全層次,從兩個選項中選擇用於匯入根金鑰的選項。 依預設,在使用「傳輸層安全 (TLS)」 1.2 通訊協定進行傳輸時,Hyper Protect Crypto Services 會加密您的金鑰資料。 如果您是第一次建置概念證明或嘗試服務,您可以使用此預設選項,將根金鑰資料匯入至 Hyper Protect Crypto Services。 如果工作量需要 TLS 以外的安全機制,您也可以 使用匯入記號,將根金鑰資料加密並匯入至服務。
提前規劃加密金鑰資料
如果您選擇使用匯入記號來加密金鑰資料,請決定在金鑰資料上執行 RSA 加密的方法。 您必須使用 PKCS #1 v2.1 RSA 加密標準所指定的 RSAES_OAEP_SHA_1 加密方法。 請檢閱內部金鑰管理系統或內部部署 HSM 的功能,以判定您的選項。
提前計劃加密暫時性要求
如果您選擇使用匯入記號來加密金鑰資料,則還必須決定在 Hyper Protect Crypto Services所配送的 Nonce 上執行 AES-GCM 加密的方法。 Nonce 會作為階段作業記號,用來檢查要求的原始性,以防止惡意攻擊及未獲授權的呼叫。 請檢閱內部金鑰管理系統或內部部署 HSM 的功能,以判定您的選項。
管理匯入金鑰資料的生命週期
在您將金鑰資料匯入至服務之後,請牢記,您要負責管理金鑰的完整生命週期。 透過使用 Hyper Protect Crypto Services 金鑰管理服務 API,您可以在決定將金鑰上傳至服務時設定金鑰的到期日。 不過,如果您想要 替換匯入的根金鑰,則必須產生並提供新的金鑰資料,以撤銷並取代現有的金鑰。

使用匯入記號

如果您想要在將金鑰資料匯入至 Hyper Protect Crypto Services之前加密金鑰資料,則可以使用 Hyper Protect Crypto Services 金鑰管理服務 API 來建立服務實例的匯入記號。

匯入記號是 Hyper Protect Crypto Services 中的資源類型,可讓金鑰資料安全匯入至服務實例。 透過使用匯入記號的內容來加密內部部署的金鑰資料,您可以根據您指定的原則,在根金鑰進行到 Hyper Protect Crypto Services 時保護它們。 例如,您可以在匯入記號上設定原則,以根據時間和使用量計數來限制使用。

如何運作

當您為服務實例 建立匯入記號 時,Hyper Protect Crypto Services 會從 HSM 產生 4096 位元 RSA 金鑰組。 當您 擷取匯入記號 時,服務會提供公開金鑰,可用來加密金鑰並將金鑰上傳至 Hyper Protect Crypto Services。

下列清單說明匯入記號工作流程。

  1. 您傳送建立匯入記號的要求。
    1. Hyper Protect Crypto Services 會從加密單位 (HSM) 產生 RSA 金鑰組。
    2. 公開金鑰會根據您在建立時指定的原則變成可供擷取。
    3. 私密金鑰會變成無法擷取,且永不離開加密單位。
  2. 您傳送要求以擷取匯入記號。
    1. 您會收到匯入記號內容,包括:
      • 您要匯入至服務之加密金鑰資料的公開金鑰。
      • 用來驗證金鑰匯入要求的暫時性要求值。
  3. 您準備要匯入至服務的金鑰。
    1. 您可以使用內部部署金鑰管理機制來產生金鑰資料。
    2. 您可以使用與環境相容的 AES-GCM 加密方法,使用金鑰資料來加密 Nonce 值。
    3. 您可以使用與環境相容的 RSA 加密方法,以公開金鑰來加密金鑰資料。
  4. 您傳送要求以匯入金鑰。
    1. 您可以提供已加密的金鑰資料、已加密的暫時性要求,以及 AES-GCM 演算法所產生的起始設定向量 (IV)。
    2. Hyper Protect Crypto Services 會驗證您的要求,解密已加密的封包,並將金鑰資料儲存為服務實例中的根金鑰。

您一次只能為每個服務實例建立一個匯入記號。 若要進一步瞭解匯入記號的擷取限制,請參閱 Hyper Protect Crypto Services 金鑰管理服務 API 參考資料文件

API 方法

在幕後,Hyper Protect Crypto Services 金鑰管理服務 API 會驅動匯入記號建立處理程序。

下表列出為服務實例設定匯入記號的 API 方法。

表 2. 說明金鑰管理服務 API 方法
方法 說明
POST api/v2/import_token 建立匯入記號
GET api/v2/import_token 擷取匯入記號

下一步