開始使用 IBM Cloud Hyper Protect Crypto Services
IBM Cloud® Hyper Protect Crypto Services (簡稱Hyper Protect Crypto Services ) 是以 IBM Cloud為基礎的專用金鑰管理服務及硬體安全模組 (HSM)。 使用此服務,您可以取得雲端 HSM 的所有權,以完全管理加密金鑰及執行加密作業。Hyper Protect Crypto Services 也是雲端產業中以 FIPS 140-2 Level 4 認證硬體為建置基礎的唯一服務。 Unified Key Orchestrator 函數在您企業的混合式多雲端環境中提供加密金鑰的唯一雲端原生單一控制點。
本指導教學顯示如何透過載入主要金鑰、使用使用者介面建立及管理加密金鑰,以及使用 PKCS #11 API 或 GREP11 API 執行加密作業,來設定服務實例的高階步驟。
步驟 1: 起始設定服務實例
視服務實例所在位置及安全需求而定,Hyper Protect Crypto Services 提供下列三個選項來起始設定服務實例:
-
選項 1: 使用智慧卡及「管理公用程式」來起始設定服務實例
此選項提供最高安全,可讓您使用智慧卡來儲存及管理主要金鑰組件。
-
選項 2: 使用回復加密單位來起始設定服務實例
如果您在啟用回復加密單位的地區中建立服務實例,則可以選擇此選項。 使用此選項,會在回復加密單位內隨機產生主要金鑰,然後自動匯出至其他加密單位。 您可以輕鬆管理主要金鑰並完成實例起始設定。
-
選項 3: 使用金鑰組件檔來起始設定服務實例
您也可以使用本端工作站上儲存在檔案中的主要金鑰組件,來起始設定服務實例。 不論您的服務實例是否包括回復加密單位,都可以使用此方法。
步驟 2 (僅限標準方案): 建立金鑰
使用「標準方案」,您可以建立根金鑰或標準金鑰來進行資料加密。 請完成下列步驟,以建立第一個加密金鑰。 若要完成這些步驟,請確定您是 IBM Cloud 帳戶擁有者或獲指派 writer 角色。 如需詳細資料,請參閱 在使用者介面中指派 Hyper Protect Crypto Services。
- 從使用者介面中,按一下 KMS 金鑰 > 新增金鑰。
- 選取 建立金鑰。
- 指定 根金鑰 或 標準金鑰 作為金鑰類型,並輸入金鑰的唯一名稱。 確保金鑰名稱不包含個人識別資訊 (PII),例如您的名稱或位置。
- 按一下 新增金鑰 以確認。
建立的金鑰是 AES-CBC 演算法所支援的對稱 256 位元金鑰。 您可以在 金鑰管理服務金鑰 表格中檢查金鑰的一般性質。 您也可以透過 匯入 base64-encoded 金鑰資料 來攜帶自己的金鑰。
步驟 2 (僅限Unified Key Orchestrator 方案): 管理加密金鑰
如果您將 Hyper Protect Crypto Services 與 Unified Key Orchestrator搭配使用,請遵循下列步驟來管理加密金鑰。 若要完成這些步驟,請確定您是 IBM Cloud 帳戶擁有者或獲指派 儲存庫管理者 角色。 如需詳細資料,請參閱 在使用者介面中指派 Hyper Protect Crypto Services。
1. 建立儲存庫
儲存庫是單一儲存庫,可透過 Cloud Identity and Access Management (IAM) 控制使用者或存取群組對受管理金鑰及金鑰儲存庫的存取權。
請完成下列步驟來建立您的第一個儲存庫:
- 從服務實例使用者介面中,從導覽中按一下 儲存庫,以檢視所有可用的儲存庫。
- 按一下 建立儲存庫。
- 在 儲存庫名稱中輸入名稱。 儲存庫名稱可以是 1 到 100 個字元。 您可以選擇性地在 說明 區段中新增延伸說明至儲存庫。
- 按一下 建立儲存庫 以確認。
2. 建立金鑰儲存庫
金鑰儲存庫是儲存加密金鑰的儲存庫。 您可以在服務實例內建立內部金鑰儲存庫,或連接至另一個服務實例或甚至另一個雲端提供者 (例如 Microsoft Azure Key Vault、Amazon Web Services (AWS) Key Management Service (KMS) 及 Google Cloud KMS) 中的外部金鑰儲存庫。
請完成下列步驟來建立第一個內部金鑰儲存庫:
- 從服務實例使用者介面中,從導覽中按一下 金鑰儲存庫,以檢視所有可用的金鑰儲存庫。
- 按一下 新增金鑰儲存庫。
- 在 儲存庫下,選取您建立的儲存庫,然後按 下一步。 如果您想要將金鑰儲存庫指派給新的儲存庫,請按一下 建立儲存庫。
- 在 金鑰儲存庫類型下,選取 IBM Cloud KMS,然後按 下一步。
- 在 金鑰儲存庫內容下,在 金鑰儲存庫名稱中輸入名稱。 金鑰儲存庫名稱可以是 1 到 100 個字元。 然後,按 下一步。
- 在 摘要下,您可以檢視所建立金鑰儲存庫的摘要,包括金鑰儲存庫類型、指派的儲存庫及一般內容。
- 確認金鑰儲存庫詳細資料之後,請按一下 建立金鑰儲存庫 來建立金鑰儲存庫。
3. 建立金鑰範本
金鑰範本指定要建立之受管理金鑰的內容,例如命名慣例、金鑰演算法及金鑰長度。
請完成下列步驟來建立您的第一個金鑰範本:
- 從服務實例使用者介面中,從導覽中按一下 金鑰範本。
- 按一下 建立金鑰範本。
- 在 儲存庫下,選取您剛建立的儲存庫,然後按 下一步。
- 在 金鑰儲存庫下,選取 IBM Cloud KMS 作為金鑰儲存庫類型,選取您剛建立的金鑰儲存庫,然後按 下一步。
- 在 金鑰範本內容下,指定金鑰範本的下列詳細資料。 按下一步繼續。
- 在 摘要下,檢視金鑰範本的摘要,然後按一下 建立金鑰範本 以完成金鑰範本建立。
4. 建立受管理金鑰
只有在至少一個金鑰儲存庫中建立並啟動受管理金鑰之後,才能使用受管理金鑰進行加密或解密。 請完成下列步驟來建立第一個 IBM Cloud KMS 金鑰,並在您建立的金鑰儲存庫中啟動金鑰:
- 從服務實例使用者介面中,從導覽中按一下 受管理金鑰,以檢視所有可用的金鑰。
- 按一下建立金鑰。
- 在 儲存庫下,選取您剛建立的儲存庫,然後按 下一步。
- 在 金鑰範本下,選取 從金鑰範本建立,然後選取您剛才建立的金鑰範本,並按 下一步。
- 在 索引鍵內容下,指定索引鍵的詳細資料。 完成後,按 下一步 以繼續。 請注意,在您手動啟動金鑰儲存庫之前,不會將
Pre-active金鑰安裝在金鑰儲存庫中。Active金鑰會自動安裝在金鑰儲存庫中。 如需金鑰內容的相關資訊,請參閱 在 IBM Cloud 使用者介面中使用金鑰範本建立受管理金鑰。 - 在 摘要下,檢視金鑰的摘要,然後按一下 建立金鑰 以建立金鑰。
步驟 3: 使用雲端 HSM 加密資料
您可以從遠端存取 Hyper Protect Crypto Services 雲端 HSM,以使用 PKCS #11 API 或 GREP11 API 來執行加密作業。 若要完成這些步驟,請確定您是 IBM Cloud 帳戶擁有者或獲指派 writer 角色。 如需詳細資料,請參閱 在使用者介面中指派 Hyper Protect Crypto Services。
使用 PKCS #11 API 執行加密作業
若要使用 PKCS #11 API 執行加密作業,請完成下列步驟:
- 設定 PKCS #11 服務 ID、角色及動作。 如需相關資訊,請參閱 設定 PKCS #11 API 使用者類型。
- 下載、安裝及配置 PKCS #11 用戶端程式庫。 如需配置 PKCS #11 用戶端程式庫的相關資訊,請參閱 使用 PKCS #11 API 執行加密作業。
使用 GREP11 API 執行加密作業
若要使用 GREP11 API 執行加密作業,您需要確保使用 gRPC支援的程式設計語言來開發應用程式。
下列程序使用 Golang 程式碼作為範例來測試 GREP11 函數。
-
遵循 指示來安裝 Golang。
-
將 Golang 的範例 GitHub 儲存庫 複製到您選擇的本端目錄。 Go 模組用於此儲存庫,因此您不需要將複製的儲存庫放置在
GOPATH中。 如需 GREP11 Go 程式碼範例的相關資訊,請參閱儲存庫的 README 檔。 -
更新
examples/server_test.go檔案中的下列程式碼 Snippet。var ( Address = "<instance_ID>.ep11.us-east.hs-crypto.appdomain.cloud" APIKey = "<ibm_cloud_apikey>" )在程式碼範例中,請執行下列動作:
- 將
<instance_ID>取代為 GREP11 API 端點的值。 若要尋找服務端點 URL,請從已佈建的服務實例使用者介面中,按一下 概觀 > 連接 > 企業 PKCS #11 端點 URL。 - 將
<ibm_cloud_apikey>取代為您建立的 服務 ID API 金鑰。
- 將
-
從
<your_repository_path>/hpcs-grep11-go/examples目錄,執行go test -v -run Example指令來執行範例。