Cómo Amazon WorkMail usa AWS KMS - AWS Key Management Service

Cómo Amazon WorkMail usa AWS KMS

En este tema se explica cómo Amazon WorkMail utiliza AWS KMS para cifrar mensajes de correo electrónico.

Información general de Amazon WorkMail

Amazon WorkMail es un servicio empresarial de calendario y correo electrónico administrado y seguro compatible con clientes de correo electrónico existentes para dispositivos móviles y equipos de sobremesa. Puede crear una organización de Amazon WorkMail y asignarla uno o varios dominios de correo electrónico de su propiedad. A continuación, puede crear buzones de correo para los usuarios de correo electrónico y grupos de distribución de la organización.

Amazon WorkMail cifra de manera transparente todos los mensajes de los buzones de correo de todas las organizaciones de Amazon WorkMail antes de que se escriban en disco y los descifra también de forma transparente cuando el usuario obtiene acceso a ellos. No existe la opción de desactivar el cifrado. Para proteger las claves de cifrado que protegen los mensajes, Amazon WorkMail se integra con AWS Key Management Service (AWS KMS).

Amazon WorkMail también proporciona una opción que permite a los usuarios enviar correo electrónico firmado o cifrado. Esta característica de cifrado no utiliza AWS KMS.

Cifrado de Amazon WorkMail

En Amazon WorkMail, cada organización puede contener varios buzones de correo, una para cada usuario de la organización. Todos los mensajes, incluido los elementos de correo electrónico y de calendario, se almacenan en el buzón de correo del usuario.

Para proteger el contenido de los buzones de correo de sus organizaciones de Amazon WorkMail, Amazon WorkMail cifra todos los mensajes de buzón de correo antes de que se escriban en disco. Ninguno de los datos proporcionados por el cliente se almacena en texto no cifrado.

Cada mensaje se cifra con una clave de cifrado de datos única. La clave del mensaje se protege con una clave del buzón de correo, que es una clave de cifrado única que se utiliza únicamente para ese buzón de correo. La clave del buzón de correo se cifra con una clave maestra del cliente (CMK) de AWS KMS de la organización que nunca deja AWS KMS sin cifrar. En el siguiente diagrama se muestra la relación de los mensajes cifrados, claves de mensaje cifradas, clave de buzón de correo cifrada y la CMK de la organización en AWS KMS.


        Cifrado de los buzones de correo de Amazon WorkMail

Una CMK para la organización

Cuando crea una organización de Amazon WorkMail, puede seleccionar una clave maestra de cliente (CMK) de AWS KMS para la organización. Esta CMK protege todas las claves de buzón de correo de esa organización.

Si utiliza el procedimiento de configuración rápida para crear su organización, Amazon WorkMail utiliza la CMK administrada por AWS para Amazon WorkMail (aws/workmail) de su cuenta de AWS. Si utiliza la configuración estándar, puede seleccionar la CMK administrada por AWS para Amazon WorkMail o una CMK administrada por el cliente que usted posea y administre. Puede seleccionar la misma CMK o una CMK distinta para cada una de sus organizaciones, pero no puede cambiar la CMK una vez que la haya seleccionado.

importante

Amazon WorkMail solo admite CMK simétricas. No se puede utilizar una CMK asimétrica para cifrar datos en Amazon WorkMail. Para obtener ayuda para determinar si una CMK es simétrica o asimétrica, consulte Identificar CMK simétricas y asimétricas.

Para buscar la CMK de su organización, utilice la entrada del registro de AWS CloudTrail que registra las llamadas a AWS KMS.

Clave de cifrado única para cada buzón de correo

Al crear un nuevo buzón de correo, Amazon WorkMail genera una clave de cifrado simétrica Advanced Encryption Standard (AES) única de 256 bits, llamada clave del buzón de correo, fuera de AWS KMS. Amazon WorkMail utiliza la clave del buzón de correo para proteger las claves de cifrado de cada mensaje del buzón.

Para proteger la clave del buzón de correo, Amazon WorkMail llama a AWS KMS para cifrar la clave del buzón de correo con la CMK de la organización. A continuación, almacena la clave del buzón de correo cifrada en los metadatos del buzón.

nota

Amazon WorkMail utiliza una clave de cifrado de buzón de correo simétrica para proteger las claves de los mensajes. Anteriormente, Amazon WorkMail protegía cada buzón de correo con un par de claves asimétricas. Utilizaba la clave pública para cifrar cada clave del mensaje y la clave privada para descifrarla. La clave privada del buzón de correo se protegía con la CMK de la organización. Los buzones de correo existentes pueden seguir utilizando un par de claves de buzón de correo asimétricas. Este cambio no afecta a la seguridad de la bandeja de entrada ni de sus mensajes.

Clave de cifrado única para cada mensaje

Cuando se añade un mensaje a la bandeja de entrada, Amazon WorkMail genera una clave de cifrado simétrica AES única de 256 bits para el mensaje fuera de AWS KMS. Utiliza esta clave del mensaje para cifrar el mensaje. Amazon WorkMail cifra la clave del mensaje con la clave del buzón de correo y almacena la clave del mensaje cifrada con el mensaje. A continuación, cifra la clave de buzón de correo con la CMK de la organización.

Crear un nuevo buzón de correo

Cuando Amazon WorkMail crea un nuevo buzón de correo, utiliza el siguiente proceso para preparar el buzón de correo para almacenar mensajes cifrados.

  • Amazon WorkMail genera una clave de cifrado simétrica AES única de 256 bits para el buzón de correo fuera de AWS KMS.

  • Amazon WorkMail llama a la operación Encrypt de AWS KMS. Pasa la clave del buzón de correo y el identificador de la clave maestra del cliente (CMK) de la organización. AWS KMS devuelve un texto cifrado de la clave del buzón de correo cifrada con la CMK.

  • Amazon WorkMail almacena la clave del buzón de correo cifrada con los metadatos del buzón de correo.

Cifrar un mensaje del buzón de correo

Para cifrar un mensaje, Amazon WorkMail utiliza el siguiente proceso.

  1. Amazon WorkMail genera una clave simétrica AES única de 256 bits para el mensaje. Utiliza la clave del mensaje en texto no cifrado y el algoritmo Advanced Encryption Standard (AES) para cifrar el mensaje fuera de AWS KMS.

  2. Para proteger la clave del mensaje con la clave del buzón de correo, Amazon WorkMail necesita descifrar la clave del buzón de correo, que siempre se almacena en formato cifrado.

    Amazon WorkMail llama a la operación Decrypt de AWS KMS y pasa la clave del buzón de correo cifrada. AWS KMS utiliza la CMK de la organización para descifrar la clave del buzón de correo y devuelve la clave del buzón de correo en texto no cifrado a Amazon WorkMail.

  3. Amazon WorkMail utiliza la clave del buzón de correo en texto no cifrado y el algoritmo Advanced Encryption Standard (AES) para cifrar la clave del mensaje fuera de AWS KMS.

  4. Amazon WorkMail almacena la clave del mensaje cifrada en los metadatos del mensaje cifrado, por lo que está disponible para descifrarla.

Descifrar un mensaje del buzón de correo

Para descifrar un mensaje, Amazon WorkMail utiliza el siguiente proceso.

  1. Amazon WorkMail llama a la operación Decrypt de AWS KMS y pasa la clave del buzón de correo cifrada. AWS KMS utiliza la CMK de la organización para descifrar la clave del buzón de correo y devuelve la clave del buzón de correo en texto no cifrado a Amazon WorkMail.

  2. Amazon WorkMail utiliza la clave del buzón de correo en texto no cifrado y el algoritmo Advanced Encryption Standard (AES) para descifrar la clave del mensaje cifrada fuera de AWS KMS.

  3. Amazon WorkMail utiliza la clave del mensaje en texto no cifrado para descifrar el mensaje cifrado.

Almacenamiento en caché de las claves del buzón de correo

Para mejorar el rendimiento y reducir el número de llamadas a AWS KMS, Amazon WorkMail almacena en caché cada clave del buzón de correo en texto sin formato localmente durante un máximo de un minuto. Al final del período de almacenamiento en caché, la clave del buzón de correo se elimina. Si la clave de buzón de correo de ese cliente se requiere durante el período de almacenamiento en caché, Amazon WorkMail puede obtenerla de la caché en lugar de llamar a AWS KMS. La clave del buzón de correo está protegida en la memoria caché y nunca se escribe en disco en texto sin formato.

Autorizar el uso de la CMK

Cuando Amazon WorkMail utiliza una clave maestra de cliente (CMK) en las operaciones criptográficas, actúa en nombre del administrador del buzón de correo.

Para utilizar la clave maestra de cliente (CMK) de AWS KMS para un secreto en su nombre, el administrador debe tener los siguientes permisos. Puede especificar estos permisos necesarios en una política de IAM o política de claves.

  • kms:Encrypt

  • kms:Decrypt

  • kms:CreateGrant

Para permitir que la CMK solo se pueda utilizar para las solicitudes que se originan en Amazon WorkMail, puede usar la clave de condición kms:ViaService con el valor workmail.<region>.amazonaws.com.

También puede utilizar las claves o valores del contexto de cifrado como condición para utilizar la CMK para operaciones criptográficas. Por ejemplo, puede utilizar un operador de condición de cadena en un documento de política de IAM o de políticas de claves, o bien utilizar una restricción de concesión en una concesión.

Política clave para la CMK administrada por AWS

La política de claves para la CMK administrada por AWS para Amazon WorkMail concede a los usuarios permiso para utilizar la CMK para las operaciones especificadas solo cuando Amazon WorkMail realiza la solicitud en nombre del usuario. La política de claves no permite a ningún usuario utilizar la CMK directamente.

Esta política de claves, como las políticas de todas las claves administradas por AWS, la establece el servicio. No puede cambiar la política de claves, pero puede verla en cualquier momento. Para obtener más información, consulte Consultar una política de claves.

Las instrucciones de política de la política de claves tienen el siguiente efecto:

  • Permite a los usuarios de la cuenta y región que utilicen la CMK para operaciones criptográficas y para crear concesiones, pero solo cuando la solicitud proviene de Amazon WorkMail en su nombre. La clave de condición kms:ViaService aplica esta restricción.

  • Permite a la cuenta de AWS crear políticas de IAM que permiten a los usuarios ver propiedades de CMK y revocar concesiones.

A continuación, se muestra una política de claves para una CMK administrada por AWS de ejemplo para Amazon WorkMail.

{ "Version" : "2012-10-17", "Id" : "auto-workmail-1", "Statement" : [ { "Sid" : "Allow access through WorkMail for all principals in the account that are authorized to use WorkMail", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:Decrypt", "kms:CreateGrant", "kms:ReEncrypt*", "kms:DescribeKey", "kms:Encrypt" ], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "workmail.us-east-1.amazonaws.com", "kms:CallerAccount" : "111122223333" } } }, { "Sid" : "Allow direct access to key metadata to the account", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:Describe*", "kms:List*", "kms:Get*", "kms:RevokeGrant" ], "Resource" : "*" } ] }

Usar concesiones para autorizar a Amazon WorkMail

Además de las políticas de claves, Amazon WorkMail utiliza concesiones para añadir permisos a la CMK de cada organización. Para ver las concesiones de la CMK de su cuenta, utilice la operación ListGrants.

Amazon WorkMail utiliza concesiones para añadir los siguientes permisos a la CMK de la organización.

  • Añade el permiso kms:Encrypt para permitir que Amazon WorkMail cifre la clave del buzón de correo.

  • Añade el permiso kms:Decrypt para permitir que Amazon WorkMail utilice la CMK para descifrar la clave del buzón de correo. Amazon WorkMail requiere este permiso en una concesión porque la solicitud para leer mensajes del buzón de correo utiliza el contexto de seguridad del usuario que lee el mensaje. La solicitud no utiliza las credenciales de la cuenta de AWS. Amazon WorkMail crea esta concesión cuando selecciona una CMK para la organización.

Para crear las concesiones, Amazon WorkMail llama a CreateGrant en nombre del usuario que ha creado la organización. El permiso para crear la concesión proviene de la política de claves. Esta política permite a los usuarios de la cuenta llamar a CreateGrant en la CMK de la organización cuando Amazon WorkMail realiza la solicitud en nombre de un usuario autorizado.

La política de claves también permite a la raíz de la cuenta revocar la concesión para la clave administrada por AWS. Sin embargo, si revoca la concesión, Amazon WorkMail no puede descifrar los datos cifrados de sus buzones de correo.

Contexto de cifrado de Amazon WorkMail

Un contexto de cifrado es un conjunto de pares de clave-valor que contienen datos no secretos arbitrarios. Cuando se incluye un contexto de cifrado en una solicitud para cifrar datos, AWS KMS vincula criptográficamente el contexto de cifrado a los datos cifrados. Para descifrar los datos, es necesario pasar el mismo contexto de cifrado.

Amazon WorkMail utiliza el mismo contexto de cifrado en todas las operaciones criptográficas de AWS KMS. Puede utilizar el contexto de cifrado para identificar una operación criptográfica en los registros y registros de auditoría, como AWS CloudTrail y como una condición para la autorización en las políticas y concesiones.

En sus solicitudes Encrypt y Decrypt a AWS KMS, Amazon WorkMail utiliza un contexto de cifrado en el que la clave es aws:workmail:arn y el valor es el Nombre de recurso de Amazon (ARN) de la organización.

"aws:workmail:arn":"arn:aws:workmail:region:account ID:organization/organization ID"

Por ejemplo, el siguiente contexto de cifrado incluye un ARN de organización de ejemplo en la región EE.UU. Este (Ohio) (us-east-2).

"aws:workmail:arn":"arn:aws:workmail:us-east-2:111122223333:organization/m-68755160c4cb4e29a2b2f8fb58f359d7"

Monitorear la interacción de Amazon WorkMail con AWS KMS

Puede utilizar AWS CloudTrail y Amazon CloudWatch Logs para realizar un seguimiento de las solicitudes que Amazon WorkMail envía a AWS KMS en su nombre.

Encrypt

Al crear un nuevo buzón de correo, Amazon WorkMail genera un clave de buzón de correo y llama a AWS KMS para cifrar la clave del buzón de correo. Amazon WorkMail envía una solicitud Encrypt a AWS KMS con la clave del buzón de correo en texto no cifrado y un identificador para la CMK de la organización de Amazon WorkMail.

El evento que registra la operación Encrypt es similar al siguiente evento de ejemplo. El usuario es el servicio Amazon WorkMail. Los parámetros incluyen el ID de CMK (keyId) y el contexto de cifrado de la organización de Amazon WorkMail. Amazon WorkMail pasa también la clave del buzón de correo, pero esta clave no se registra en el registro de CloudTrail.

{ "eventVersion": "1.05", "userIdentity": { "type": "AWSService", "invokedBy": "workmail.eu-west-1.amazonaws.com" }, "eventTime": "2019-02-19T10:01:09Z", "eventSource": "kms.amazonaws.com", "eventName": "Encrypt", "awsRegion": "eu-west-1", "sourceIPAddress": "workmail.eu-west-1.amazonaws.com", "userAgent": "workmail.eu-west-1.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:workmail:arn": "arn:aws:workmail:eu-west-1:111122223333:organization/m-c6981ff7642446fa8772ba99c690e455" }, "keyId": "arn:aws:kms:eu-west-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" }, "responseElements": null, "requestID": "76e96b96-7e24-4faf-a2d6-08ded2eaf63c", "eventID": "d5a59c18-128a-4082-aa5b-729f7734626a", "readOnly": true, "resources": [ { "ARN": "arn:aws:kms:eu-west-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d", "accountId": "111122223333", "type": "AWS::KMS::Key" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333", "sharedEventID": "d08e60f1-097e-4a00-b7e9-10bc3872d50c" }

Decrypt

Al añadir, ver o eliminar un mensaje de correo, Amazon WorkMail pide a AWS KMS que descifre la clave del buzón de correo. Amazon WorkMail envía una solicitud Decrypt a AWS KMS con la clave del buzón de correo en texto no cifrado y un identificador de la CMK de la organización de Amazon WorkMail.

El evento que registra la operación Decrypt es similar al siguiente evento de ejemplo. El usuario es el servicio Amazon WorkMail. Los parámetros incluyen la clave del buzón de correo cifrada (como un blob en texto cifrado), que no se registra en el registro, y el contexto de cifrado de la organización de Amazon WorkMail. AWS KMS obtiene el ID de la CMK del texto cifrado.

{ "eventVersion": "1.05", "userIdentity": { "type": "AWSService", "invokedBy": "workmail.eu-west-1.amazonaws.com" }, "eventTime": "2019-02-20T11:51:10Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "eu-west-1", "sourceIPAddress": "workmail.eu-west-1.amazonaws.com", "userAgent": "workmail.eu-west-1.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:workmail:arn": "arn:aws:workmail:eu-west-1:111122223333:organization/m-c6981ff7642446fa8772ba99c690e455" } }, "responseElements": null, "requestID": "4a32dda1-34d9-4100-9718-674b8e0782c9", "eventID": "ea9fd966-98e9-4b7b-b377-6e5a397a71de", "readOnly": true, "resources": [ { "ARN": "arn:aws:kms:eu-west-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d", "accountId": "111122223333", "type": "AWS::KMS::Key" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333", "sharedEventID": "241e1e5b-ff64-427a-a5b3-7949164d0214" }