Decrypt - AWS Key Management Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Decrypt

Una llamada AWS KMS a para descifrar un valor de texto cifrado acepta un texto cifrado con un valor cifrado y un contexto de cifrado. AWS KMS autentica la llamada mediante solicitudes firmadas con la versión 4 de la AWS firma y extrae del texto cifrado el HBKID de la clave de empaquetado. El HBKID se utiliza para obtener el EKT necesario a fin de descifrar el texto cifrado, el ID de clave y la política del ID de clave. La solicitud se autoriza en función de la política de clave, las concesiones que puedan encontrarse presentes y las políticas de IAM asociadas que hagan referencia al ID de clave. La función Decrypt es análoga a la función de cifrado.

A continuación se presenta la sintaxis de la solicitud Decrypt.

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

A continuación se presentan los parámetros de solicitud.

CiphertextBlob

Texto cifrado, incluido metadatos.

EncryptionContext

(Opcional) El contexto de cifrado. Si esto se especificó en la función Encrypt, debe especificarse aquí o se produce un error en la operación de descifrado. Para obtener más información, consulte Contexto de cifrado en la Guía para desarrolladores de AWS Key Management Service .

GrantTokens

(Opcional) Una lista de tokens de concesión que representan concesiones que proporcionan permisos para realizar el descifrado.

El texto cifrado y EKT se envían, junto con el contexto de cifrado, a través de una sesión autenticada a un HSM para su descifrado.

El HSM ejecuta lo siguiente:

  1. Descifra el EKT para obtener la HBK = Decrypt(DKi, EKT) .

  2. Extrae el nonce N desde la estructura del texto cifrado.

  3. Vuelve a generar una clave de cifrado K derivada de AES-GCM de 256 bits desde HBK y N.

  4. Descifra el texto cifrado para obtener plaintext = Decrypt(K, context, ciphertext).

El identificador de clave y el texto sin formato resultantes se devuelven al AWS KMS host a través de la sesión segura y, a continuación, a la aplicación del cliente que realiza la llamada a través de una conexión TLS.

A continuación, se muestra la sintaxis de respuesta.

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

Si la aplicación que llama desea asegurarse de la autenticidad del texto sin formato, debe verificar que el ID de clave devuelto es el esperado.