本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
解密
AWS KMS 對 進行解密的呼叫會接受加密的值加密文字和加密內容。 會使用AWS 簽章第 4 版簽署的請求 AWS KMS 驗證呼叫,並從加密文字擷取包裝金鑰的 HBKID。HBKID 是用來取得解密加密文字、金鑰 ID 和金鑰 ID 政策所需的 EKT。請求是根據金鑰政策、可能存在的授予和參考金鑰 ID 的任何關聯 IAM 政策進行授權。Decrypt
函數類似於加密函數。
以下是 Decrypt
請求語法。
{ "CiphertextBlob": "blob", "EncryptionContext": { "string" : "string" } "GrantTokens": ["string"] }
以下是請求參數。
- CiphertextBlob
-
包括中繼資料的加密文字。
- EncryptionContext
-
(選用) 加密內容。如果這是在
Encrypt
函數中指定的,則必須在此處指定,否則解密操作會失敗。如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的加密內容。 - GrantTokens
-
(選用) 授予字符清單,代表授予提供執行解密的許可。
加密文字與 EKT 會連同加密內容,透過已驗證的工作階段傳送至 HSM 以進行解密。
HSM 會執行下列項目:
-
解密 EKT,以取得 HBK = Decrypt(DKi, EKT)。
-
從加密文字結構擷取 nonce N。
-
從 HBK 和 N 重新產生 256 位元 AES-GCM 衍生的加密金鑰 K。
-
解密加密文字以取得 plaintext = Decrypt(K, context, ciphertext)。
產生的金鑰 ID 和純文字會透過安全工作階段傳回給 AWS KMS 主機,然後透過 TLS 連線傳回給呼叫的客戶應用程式。
以下是回應語法。
{ "KeyId": "string", "Plaintext": blob }
如果呼叫的應用程式想要確保純文字的真實性,則必須驗證傳回的金鑰 ID 是預期的。