本主題說明如何驗證您匯入至 Cloud KMS 或 Cloud HSM 的非對稱金鑰版本。
如要進一步瞭解匯入功能的運作方式 (包括限制和限制),請參閱「匯入密鑰」一文。
驗證匯入金鑰的限制
在 Cloud KMS 外部加密的資料
測試匯入金鑰的最佳方法,是解密在匯入金鑰前已加密的資料,或是使用匯入的金鑰加密資料,並在匯入前使用該金鑰解密資料。
在 Cloud KMS 或 Cloud HSM 中,您只能匯入非對稱金鑰。這是因為使用對稱式 Cloud KMS 或 Cloud HSM 金鑰加密資料時,系統會將加密金鑰版本的額外中繼資料與加密資料一併儲存及加密。在 Cloud KMS 以外加密的資料中,不會出現這類中繼資料。
驗證認證
您可以驗證 Cloud HSM 金鑰的認證。這些認證會斷言金鑰是 HSM 金鑰、HSM 模組由 Google 擁有,以及金鑰的其他詳細資料。這些認證不適用於軟體金鑰。
事前準備
- 將非對稱金鑰匯入 Cloud KMS 或 Cloud HSM。如要驗證金鑰的認證,您必須使用 Cloud HSM。
- 盡可能使用您匯入金鑰的本機系統,完成本主題中的任務,這樣本機系統就會已安裝及設定 Google Cloud CLI。
- 使用本機金鑰加密檔案,或將使用該金鑰加密的檔案複製到本機系統。
驗證金鑰內容是否相同
將非對稱金鑰匯入 Cloud KMS 或 Cloud HSM 後,金鑰內容會與本機金鑰相同。如要確認這項資訊是否正確,您可以使用匯入的金鑰,解密在匯入前使用該金鑰加密的資料。
如要使用 Cloud KMS 或 Cloud HSM 金鑰解密檔案,請按照下列步驟操作:
gcloud kms decrypt \ --location=location \ --keyring=key-ring-name \ --key=key-name \ --ciphertext-file=filepath-and-file-to-decrypt \ --plaintext-file=decrypted-filepath-and-file.dec
如果 --plaintext-file
標記所指向的檔案包含正確的解密資料,外部和匯入金鑰的金鑰素材就會相同。
詳情請參閱「加密及解密資料」。
驗證 Cloud HSM 金鑰的認證
將金鑰匯入 HSM 後,您可以查看認證,驗證 HSM 是否由 Google 擁有。驗證對稱 Cloud HSM 金鑰和非對稱金鑰的程序不同。
Cloud KMS 中的軟體金鑰不支援認證。
對稱 Cloud HSM 金鑰
您可以使用擴充金鑰總和檢查碼值 (EKCV) 金鑰屬性,驗證匯入的 Cloud HSM 金鑰金鑰內容。這個值是依照 RFC 5869 的第 2 節所述的方式計算出來的,採用以 SHA-256 為基礎的 HMAC 式擷取後擴展金鑰衍生函式 (HKDF),使用 32 個零位元組做為「鹽」,然後使用固定字串 Key Check Value 做為資訊來擴展值。如要擷取這個值,您可以認證金鑰。
非對稱 Cloud HSM 金鑰
當您發出非對稱金鑰的匯入要求時,要納入已包裝的私密金鑰。該私密金鑰包含足夠資訊,可供 Cloud KMS 衍生公開金鑰。待金鑰匯入後,您可以擷取該公開金鑰,並驗證該金鑰是否符合已儲存在本機的公開金鑰。如要進一步瞭解如何檢查公開金鑰屬性,請參閱「驗證公開金鑰」。
您可以驗證非對稱金鑰的 EKCV 驗證。在這種情況下,該值為 DER 編碼公開金鑰的 SHA-256 摘要。您可以查看金鑰的認證來擷取這個值。如要進一步瞭解如何檢查 EKCV 金鑰屬性,請參閱「驗證金鑰屬性」。
如要進一步瞭解如何認證匯入的金鑰,請參閱「認證金鑰」