Decrypt - AWS Key Management Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Decrypt

暗号文の値を復号 AWS KMS するための の呼び出しは、暗号化された値の暗号文と暗号化コンテキストを受け入れます。 はAWS 、署名バージョン 4 の署名付きリクエストを使用して呼び出しを AWS KMS 認証し、暗号文からラッピングキーの HBKID を抽出します。HBKID は、暗号文、キー ID、およびそのポリシーを復号化するために必要な EKT の取得に使用されます。リクエストは、キーポリシー、存在する可能性のある許可、およびキー ID を参照する関連 IAM ポリシーに基づいて許可されます。Decrypt 関数は、暗号化関数に類似しています。

次に示すのは、Decrypt のリクエスト構文です。

{ "CiphertextBlob": "blob", "EncryptionContext": { "string" : "string" } "GrantTokens": ["string"] }

次に示すのは、リクエストパラメータです。

CiphertextBlob

メタデータを含む暗号文です。

EncryptionContext

(オプション) 暗号化コンテキストです。これが Encrypt 関数で指定されている場合、ここで指定する必要があります。そうしないと、復号オペレーションが失敗します。詳しくは、AWS Key Management Service デベロッパーガイドの「Encryption context」を参照してください。

GrantTokens

(オプション) 復号化を実行するためのアクセス許可を提供する権限を示す、許可トークンのリストです。

暗号文EKT は、認証されたセッションを通じて暗号化コンテキストとともに HSM に送信され、復号化が行われます。

HSM では、次の操作を実行します。

  1. EKT を復号化し、HBK = Decrypt(DKi, EKT) を取得します。

  2. 暗号文構造から、ノンス N を抽出します。

  3. HBK および N から、256 ビットの AES-GCM 導出暗号化キー K を再生成します。

  4. 暗号文を復号化し、plaintext = Decrypt(K, context, ciphertext) を取得します。

結果として得られるキー ID とプレーンテキストは、安全なセッションを介して AWS KMS ホストに返され、TLS 接続を介して呼び出し元の顧客アプリケーションに戻ります。

次に示すのは、応答の構文です。

{ "KeyId": "string", "Plaintext": blob }

呼び出し元のアプリケーションからプレーンテキストの信頼性を確認したい場合は、返されたキー ID が期待どおりであることを確認する必要があります。