AWS Key Management ServiceConceptos de - 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.

AWS Key Management ServiceConceptos de

Conozca los términos y conceptos básicos de AWS Key Management Service (AWS KMS) y cómo funcionan conjuntamente para proteger sus datos.

Claves maestras de cliente (CMKs)

Claves maestras de cliente son los recursos principales de AWS KMS.

Un clave maestra de cliente (CMK) es una representación lógica de un clave maestra. El CMK incluye metadatos, como el ID de clave, la fecha de creación, la descripción y el estado de la clave. El CMK también contiene el material de claves utilizado para cifrar y descifrar datos.

AWS KMS admite simétricas y CMKsasimétricas. Una simétrica CMK representa una clave de 256-bit que se utiliza para el cifrado y el descifrado. Un par de claves asimétricas CMK representa un par de claves RSA que se utiliza para el cifrado y el descifrado o la firma y la verificación (pero no ambos) o un par de claves de curva elíptica (ECC) que se utiliza para la firma y la verificación. Para obtener información detallada acerca de simétrica y CMKsasimétrica, consulte Usar claves simétricas y asimétricas.

CMKs Los se crean en AWS KMS. Las claves simétricas CMKs y privadas de asimétricas CMKs nunca salen AWS KMS de sin cifrar. Para administrar la CMK, puede utilizar la Consola de administración de AWS o la AWS KMS API de . Para utilizar un CMK en operaciones criptográficas, debe utilizar la AWS KMS API de . Esta estrategia difiere de las claves de datos. AWS KMS no almacena, administra ni realiza el seguimiento de las claves de datos. Debe utilizarlas fuera de AWS KMS.

De forma predeterminada, AWS KMS crea el material de claves para un CMK. No puede extraer, exportar, ver ni administrar este material de claves. Además, no puede eliminar este material de claves; debe eliminar el CMK . Sin embargo, puede importar su propio material de claves en un CMK o crear el material de claves para un CMK en el AWS CloudHSM clúster de asociado a un almacén de claves AWS KMS personalizado de .

Para obtener información sobre cómo crear y administrar CMKs, consulte Introducción. Para obtener más información acerca del uso de CMKs, consulte la AWS Key Management Service API Reference.

AWS KMS admite tres tipos de CMKs: administrado por el CMKscliente, AWS administrado por CMKsy AWS propiedad de CMKs.

Tipo de CMK Puede ver CMK metadatos Puede administrar CMK Usada solo para mi cuenta de AWS Rotación automática
Administrado por el cliente CMK Opcional. Cada 365 días (1 año).
AWS administrado CMK No Obligatorio. Cada 1095 días (3 años).
AWS propiedad de CMK No No No Varía

Para distinguir el cliente administrado CMKs por de AWS administrado por CMKs, utilice el KeyManager campo en la respuesta de la operación DescribeKey. Para las administradas por el CMKscliente, el KeyManager valor es Customer. Para AWS administrado por CMKs, el KeyManager valor es AWS.

AWS Los servicios de que se integran con AWS KMS difieren en su compatibilidad con CMKs. Algunos AWS servicios de cifran los datos de forma predeterminada con una AWS propiedad CMK de o una AWS administrada por CMK. Otros AWS servicios ofrecen cifrar los datos con un cliente administrado CMK por usted. Y otros AWS servicios de admiten todos los tipos de CMKs para permitirle la facilidad de un AWS propiedad de CMK, la visibilidad de un AWS administrado por CMKo el control de un administrado por el CMKcliente. Para obtener información detallada sobre las opciones de cifrado que ofrece un servicio de AWS, consulte el tema Cifrado en reposo en la guía del usuario o en la guía para desarrolladores del servicio.

Administrado por el cliente CMKs

Los administrados por el cliente CMKs se encuentran CMKs en su AWS cuenta de que crea, posee y administra. Puede controlar estos CMKs, incluido el establecimiento y el mantenimiento de sus políticas de claves, IAM políticas de y concesiones, su habilitación y deshabilitación, la rotación de su material criptográfico, la adición de etiquetas, la creación de alias que hacen referencia a la CMKy la programación de CMKs la para su eliminación.

Las administradas por el cliente CMKs aparecen en la página Customer managed keys (Claves administradas por el cliente) de la Consola de administración de AWS de AWS KMS. Para identificar definitivamente un administrado por el CMKcliente, utilice la operación DescribeKey. Para las administradas por el CMKscliente, el valor del KeyManager campo de la DescribeKey respuesta es CUSTOMER.

Puede utilizar su cliente administrado CMKs por en operaciones criptográficas y auditar su uso en AWS CloudTrail registros de . Además, muchos AWS servicios de que se integran con le AWS KMS permiten especificar un cliente administrado CMK para proteger los datos que almacenan y administran por usted.

El cliente administrado CMKs por incurre en una cuota mensual y una cuota por uso que exceda la capa gratuita. Se contabilizan para las AWS KMS cuotas de de su cuenta. Consulte los Precios de AWS Key Management Service y Cuotas para obtener más información.

AWS administrado CMKs

AWS CMKs Los administrados de se encuentran CMKs en su cuenta de , que un AWS servicio de integrado con AWS KMScrea, administra y utiliza en su nombre. Algunos AWS servicios de solo admiten un AWS administrado por CMK. Otros utilizan una CMK AWS propiedad de u ofrecen la opción de CMKs.

Puede ver el AWS administrado CMKs en su cuenta, ver sus políticas de claves y auditar su uso en AWS CloudTrail los registros de . Sin embargo, no puede administrar estas CMKs, rotarlas ni cambiar sus políticas de claves. Además, no puede utilizar AWS administrado CMKs en operaciones criptográficas directamente; el servicio que los crea los utiliza en su nombre.

AWS Los administrados de CMKs aparecen en la página de claves AWS administradas de la Consola de administración de AWS de AWS KMS. También puede identificar la mayoría AWS de los administrados CMKs por sus alias, que tienen el formato aws/service-name, como aws/redshift. Para identificar definitivamente un AWS administrado por CMK, utilice la operación DescribeKey. Para AWS administrado por CMKs, el valor del KeyManager campo de la DescribeKey respuesta es AWS.

No paga una cuota mensual por las AWS administradas por CMKs. Pueden estar sujetas a tarifas por uso excesivo de la capa gratuita, pero algunos servicios de AWS cubren estos costos por usted. Para obtener más información, consulte el tema Cifrado en reposo en la guía del usuario o en la guía para desarrolladores del servicio de . AWS Las administradas por CMKs no se incluyen en las cuotas de recursos del número de CMKs en cada región de su cuenta de . Sin embargo, cuando se utilizan en nombre de una entidad principal de su cuenta, estas CMKs se contabilizan en las cuotas de solicitud. Consulte los Precios de AWS Key Management Service y Cuotas para obtener más información.

AWS propiedad de CMKs

AWS CMKs son una colección de CMKs que un AWS servicio de posee y administra para su uso en varias AWS cuentas de . Aunque AWS la propiedad de no CMKs está en su AWS cuenta, un AWS servicio de puede utilizar su AWS propiedad CMKs para proteger los recursos de su cuenta.

No es necesario crear ni administrar la AWS propiedad de CMKs. Sin embargo, no se pueden ver, usar, supervisar ni auditar. No se le cobra ninguna tarifa mensual ni tarifa de uso por AWS propiedad de CMKs y no se incluyen en las AWS KMS cuotas de de su cuenta.

La estrategia de rotación de claves para un CMK propiedad de AWS se determina según el servicio de AWS que crea y administra el CMK. Para obtener información sobre los tipos de CMKs compatibles con un AWS servicio de , incluido el AWS de CMKspropiedad, consulte el tema Cifrado en reposo en la guía del usuario o en la guía para desarrolladores del servicio.

Claves de datos

Las claves de datos son las claves de cifrado que puede utilizar para cifrar los datos, incluidas grandes cantidades de datos y otras claves de cifrado de datos.

Puede utilizar AWS KMS claves maestras de cliente (CMKs) para generar, cifrar y descifrar claves de datos. Sin embargo, AWS KMS no almacena, administra o realiza el seguimiento de las claves de datos, ni realiza operaciones criptográficas con claves de datos. Debe utilizar y administrar claves de datos fuera de AWS KMS.

Crear una clave de datos

Para crear una clave de datos, llame a la operación GenerateDataKey. AWS KMS utiliza la CMK que especifique para generar una clave de datos. La operación devuelve una copia en texto no cifrado de la clave de datos y una copia de la clave de datos cifrada con el CMK. En la imagen siguiente, se muestra esta operación.


          Generar una clave de datos

AWS KMS también admite la operación GenerateDataKeyWithoutPlaintext, que devuelve solo una clave de datos cifrada. Cuando tenga que utilizar la clave de datos, solicite a AWS KMS que la descifre.

Cifrar los datos con una clave de datos

AWS KMS no puede utilizar una clave de datos para cifrar los datos. Sin embargo, la clave de datos puede utilizarse fuera de KMS; por ejemplo, con OpenSSL o una biblioteca criptográfica, como SDK de cifrado de AWS.

Después de utilizar la clave de datos en texto no cifrado para cifrar los datos, elimínela de la memoria tan pronto como sea posible. Puede almacenar de forma segura la clave de datos cifrada con los datos cifrados para que esté disponible para descifrar los datos.


          Cifrar datos de usuario fuera de AWS KMS

Descifrar los datos con una clave de datos

Para descifrar los datos, pase la clave de datos cifrada a la operación https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html Decrypt. AWS KMS utiliza su CMK para descifrar la clave de datos y, a continuación, devuelve la clave de datos en texto no cifrado. Utilice la clave de datos de texto no cifrado para descifrar los datos y, a continuación, elimine la clave de datos de texto no cifrado de la memoria tan pronto como sea posible.

En el siguiente diagrama, se muestra cómo se utiliza la operación Decrypt para descifrar una clave de datos cifrada.


          Descifrando una clave de datos

Pares de claves de datos

Los pares de claves de datos son claves de datos asimétricos que constan de una clave pública relacionada matemáticamente y una clave privada. Están diseñados para ser utilizados para el cifrado y descifrado del lado del cliente o la firma y verificación fuera de AWS KMS.

A diferencia de los pares de claves de datos que generan herramientas como OpenSSL, AWS KMS protege la clave privada en cada par de claves de datos bajo una simétrica CMK en AWS KMS que especifique. Sin embargo, AWS KMS no almacena, administra o realiza el seguimiento de los pares de claves de datos, ni realiza operaciones criptográficas con pares de claves de datos. Debe utilizar y administrar pares de claves de datos fuera de AWS KMS.

AWS KMS admite los siguientes tipos de pares de claves de datos:

  • Pares de claves RSA: RSA_2048, RSA_3072 y RSA_4096

  • Pares de claves de curva elíptica: ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521 y ECC_SECG_P256K1

El tipo de par de claves de datos que por lo general depende de su caso de uso o de los requisitos reglamentarios. La mayoría de los certificados precisan claves RSA. Las claves de curva elíptica se utilizan a menudo para firmas digitales. Las claves ECC_SECG_P256K1 son se utiliza normalmente con criptomonedas.

Crear un par de clave de datos

Para crear un par de claves de datos, llame a las operaciones GenerateDataKeyPair o GenerateDataKeyPairWithoutPlaintext. Especifique la simétrica CMK que desea utilizar para cifrar la clave privada.

GenerateDataKeyPair devuelve una clave pública de texto no cifrado, una clave pública de texto no cifrado y una clave privada cifrada. Utilice esta operación cuando necesite una clave privada de texto no cifrado inmediatamente, por ejemplo, para generar una firma digital.

GenerateDataKeyPairWithoutPlaintext devuelve una clave pública de texto no cifrado y una clave privada de texto cifrado, pero no una clave privada de texto no cifrado. Utilice esta operación cuando no necesite una clave privada de texto no cifrado inmediatamente, por ejemplo, cuando esté cifrando con una clave pública. Más tarde, cuando necesite una clave privada de texto no cifrado para descifrar los datos, puede llamar a la operación Decrypt.

En la imagen siguiente, se muestra la operación GenerateDataKeyPair. La operación GenerateDataKeyWithoutPlaintext omite la clave privada de texto no cifrado.


          Cree un par de claves de datos

Cifrar los datos con un par de claves de datos

Cuando cifra con un par de claves de datos, utiliza la clave pública del par para cifrar los datos y la clave privada del mismo par para descifrar los datos. Normalmente, los pares de claves de datos se utilizan cuando muchas partes necesitan cifrar datos que solo la parte que posee la clave privada puede descifrar.

Las partes con la clave pública utilizan esa clave para cifrar datos, como se muestra en el siguiente diagrama.


          Cifre los datos del usuario con la clave pública de un par de claves de datos fuera de AWS KMS

Descifrar los datos con un par de claves de datos

Para descifrar los datos, utilice la clave privada en el par de claves de datos. Para que la operación tenga éxito, las claves públicas y las privadas deben pertenecer al mismo par de claves de datos y debe utilizar el mismo algoritmo de cifrado.

Para descifrar la clave privada cifrada, pásala a la operación Decrypt . Utilice la clave privada de texto no cifrado para descifrar los datos. A continuación, elimina la clave privada de texto no cifrado de la memoria lo antes posible.

El siguiente diagrama muestra cómo utilizar la clave privada en un par de claves de datos para descifrar el texto cifrado.


          Descifre los datos con la clave privada en un par de claves de datos fuera de AWS KMS.

Firmar los mensajes con un par de claves de datos

Para generar una firma criptográfica para un mensaje, utilice la clave privada en el par de claves de datos. Cualquier persona con clave pública puede utilizarla para verificar que el mensaje se firmase con su clave privada y que no haya cambiado desde entonces.

Si la clave privada está cifrada, pase la clave privada cifrada a la operación https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html Decrypt. AWS KMS utiliza su CMK para descifrar la clave de datos y, a continuación, devuelve la clave privada de texto no cifrado. Utilice la clave privada de texto no cifrado para generar la firma. A continuación, elimina la clave privada de texto no cifrado de la memoria lo antes posible.

Para firmar un mensaje, cree un resumen de mensaje con una función hash criptográfica, como el comando dgst en OpenSSL. Después, pase su clave privada no cifrada al algoritmo de firma. El resultado es una firma que representa los contenidos del mensaje. (Es posible que pueda firmar mensajes más cortos sin crear primero un resumen. El tamaño máximo del mensaje varía según la herramienta de firma que utilice).

El siguiente diagrama muestra cómo utilizar la clave privada en un par de claves de datos para firmar un mensaje.


          Genere una firma criptográfica con la claves privada en un par de claves de datos fuera de AWS KMS.

Verificar una firma con un par de claves de datos

Cualquier persona que tenga la clave pública en su par de claves de datos puede utilizarla para verificar la firma que generó con su clave privada. La verificación confirma que un usuario autorizado firmó el mensaje con el algoritmo de firma y la clave privada especificada y el mensaje no ha cambiado desde entonces.

Para tener éxito, la parte que verifique la firma debe generar el mismo tipo de resumen, utilizar el mismo algoritmo y utilizar la clave pública que se corresponde con la clave privada utilizada para firmar el mensaje.

El siguiente diagrama muestra cómo utilizar la clave pública en un par de claves de datos para verificar la firma de un mensaje.


          Verifique una firma criptográfica mediante la clave pública en un par de claves de datos fuera de AWS KMS.

Aliases

Un alias es un nombre fácil de recordar para una CMK. Por ejemplo, puede hacer referencia a una CMK como test-key en lugar de 1234abcd-12ab-34cd-56ef-1234567890ab.

Los alias facilitan la identificación de una CMK en el Consola de administración de AWS. Puede utilizar un alias para identificar una CMK en algunas AWS KMS operaciones, incluidas las operaciones criptográficas. En las aplicaciones de , puede utilizar un único alias para hacer referencia a diferentes CMKs en cada AWS región.

También puede permitir o denegar el acceso a CMKs en función de sus alias sin tener que editar políticas de ni administrar concesiones. Esta característica forma parte de la AWS KMS compatibilidad con el control de acceso basado en atributos (ABAC). Para obtener más información, consulte Uso de ABAC para AWS KMS.

En AWS KMS, los alias son recursos independientes, no propiedades de una CMK. Por tanto, puede añadir, cambiar y eliminar un alias sin que ello afecte a la CMK asociada.

Más información:

Almacenes de claves personalizados

Un almacén de claves personalizado es un AWS KMS recurso de asociado a módulos de seguridad de hardware (HSMs) FIPS 140-2 nivel 3 en un AWS CloudHSM clúster de su propiedad y que administra.

Al crear una clave maestra AWS KMS de cliente de (CMK) en el almacén de claves personalizado, AWS KMS genera una clave simétrica Advanced Encryption Standard (AES) de 256-bit, persistente y no exportable en el AWS CloudHSM clúster asociado. Este material de claves nunca sale de los HSM sin cifrar. Cuando se utiliza un CMK en un almacén de claves personalizado, las operaciones criptográficas se realizan en los HSMs del clúster.

Para obtener más información, consulte Usar un almacén de claves personalizado.

Operaciones criptográficas

En AWS KMS, las operaciones criptográficas son operaciones de API que utilizan CMKs para proteger los datos. Dado que CMKs permanece dentro de AWS KMS, debe llamar AWS KMS a para utilizar un CMK en una operación criptográfica.

Para realizar operaciones criptográficas con CMKs, utilice los AWS SDKs de , AWS Command Line Interface la (AWS CLI) o la Herramientas de AWS para PowerShell. No puede realizar operaciones criptográficas en la consola de AWS KMS. Para ver ejemplos de cómo llamar a las operaciones criptográficas en varios lenguajes de programación, consulte Programación de la API de AWS KMS.

En la siguiente tabla se muestran las operaciones criptográficas de AWS KMS. También muestra el tipo de clave y los requisitos de uso de clave para CMKs su uso en la operación .

Operation CMK Tipo de clave de CMK uso de claves
Decrypt Cualquiera ENCRYPT_DECRYPT
Encrypt Cualquiera ENCRYPT_DECRYPT
GenerateDataKey Simétrica ENCRYPT_DECRYPT
GenerateDataKeyPair Simétrica [1] ENCRYPT_DECRYPT
GenerateDataKeyPairWithoutPlaintext Simétrica [1] ENCRYPT_DECRYPT
GenerateDataKeyWithoutPlaintext Simétrica ENCRYPT_DECRYPT
GenerateRandom N/D. Esta operación no utiliza un CMK. N/D
ReEncrypt Cualquiera ENCRYPT_DECRYPT
Sign Asimétrica SIGN_VERIFY
Verificar Asimétrica SIGN_VERIFY

[1] GenerateDataKeyPair y GenerateDataKeyPairWithoutPlaintext generan un par de claves de datos asimétricas protegidas por una CMK simétrica.

Para obtener información acerca de los permisos para operaciones criptográficas, consulte Permisos de AWS KMS.

Para que AWS KMS tenga capacidad de respuesta y sea eficaz para todos los usuarios, AWS KMS establece cuotas en el número de operaciones criptográficas que se pueden llamar en cada segundo. Para obtener más información, consulte Cuotas compartidas para operaciones criptográficas.

Identificadores de clave (KeyId)

Los identificadores clave actúan como nombres para su AWS KMS claves maestras de cliente (CMKs). Le ayudan a reconocer su CMKs en la consola de . Utilícelas para indicar qué CMKs desea utilizar en operaciones, AWS KMS políticas y concesiones de IAM API.

AWS KMS define varios identificadores de clave. Al crear un CMK, AWS KMS genera un ARN de clave y un ID de clave, que son propiedades del CMK. Al crear un alias, AWS KMS genera un ARN de alias basado en el nombre de alias que defina. Puede ver los identificadores de clave y alias en la Consola de administración de AWS y en la API de AWS KMS.

En la AWS KMS consola de , puede ver y filtrar CMKs por su ARN de clave, ID de clave o nombre de alias, y ordenar por ID de clave y nombre de alias. Para obtener ayuda para encontrar los identificadores clave en la consola, consulte Encontrar el ID y el ARN de la clave.

En la AWS KMS API de , los parámetros que utiliza para identificar una se CMK denominan KeyId o una variación de , como TargetKeyId o DestinationKeyId. Sin embargo, los valores de esos parámetros no se limitan a los ID de clave. Algunos pueden tomar cualquier identificador de clave válido. Para obtener información sobre los valores de cada parámetro, consulte la descripción del parámetro en la AWS Key Management Service API Reference.

nota

Cuando utilice la AWS KMS API, tenga cuidado con el identificador de clave que utilice. Las diferentes API requieren identificadores de clave distintos. En general, utilice el identificador de clave más completo que sea práctico para su tarea.

AWS KMS admite los siguientes identificadores de clave.

ARN de clave

El ARN de clave es el nombre de recurso de Amazon (ARN) de un CMK. Se trata de un identificador único y completo para CMK. Un ARN de clave incluye la cuenta de AWS, la región y el ID de clave. Para obtener ayuda para encontrar el ARN de clave de un CMK, consulte Encontrar el ID y el ARN de la clave.

El formato de un ARN de clave es el siguiente:

arn:<partition>:kms:<region>:<account-id>:key/<key-id>

A continuación, se muestra un ARN de clave de ejemplo.

arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
ID de clave

El ID de clave identifica de forma exclusiva una CMK dentro de una cuenta y región. Para obtener ayuda para encontrar el ID de clave de un CMK, consulte Encontrar el ID y el ARN de la clave.

A continuación, se muestra un ID de clave de ejemplo.

1234abcd-12ab-34cd-56ef-1234567890ab
ARN de alias

El ARN de alias es el nombre de recurso de Amazon (ARN) de un alias de AWS KMS. Es un identificador único y completo para el alias y para el CMK que representa. Un ARN de alias incluye la cuenta de AWS, la región y el nombre del alias.

En cualquier momento dado, un ARN de alias identifica un determinado CMK. Sin embargo, como puede cambiar el CMK asociado al alias, el ARN del alias puede identificar diferentes CMKs en diferentes momentos. Para obtener ayuda para encontrar el ARN del alias de un CMK, consulte Buscar el nombre del alias y el ARN de alias.

El formato de un ARN de alias es el siguiente:

arn:<partition>:kms:<region>:<account-id>:alias/<alias-name>

A continuación, se muestra el ARN de alias de un fictici ExampleAlias.

arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
Nombre del alias

El nombre del alias es una cadena de hasta 256 caracteres. Identifica de forma exclusiva un asociado CMK dentro de una cuenta y región. En la API de AWS KMS, los nombres de alias siempre comienzan por alias/. Para obtener ayuda para encontrar el nombre de alias de un CMK, consulte Buscar el nombre del alias y el ARN de alias.

El formato de un nombre de alias es el siguiente:

alias/<alias-name>

Por ejemplo:

alias/ExampleAlias

El aws/ prefijo de un nombre de alias está reservado para AWS las administradas por CMKs . No se puede crear un alias con este prefijo. Por ejemplo, el nombre del alias del AWS administrado CMK para Amazon Simple Storage Service (Amazon S3) es el siguiente.

alias/aws/s3

Origen del material de claves

El origen del material de claves es una CMK propiedad que identifica el origen del material de claves en el CMK. Puede elegir el origen del material de claves al crear el CMKy no puede cambiarlo. Para buscar el origen del material de claves de un CMK, utilice la operación DescribeKey o consulte el valor Origin (Origen) en la pestaña Cryptographic configuration (Configuración criptográfica) de la página de detalles de un CMK en la AWS KMS consola de . Para obtener ayuda, consulte Visualización de claves.

CMKs puede tener uno de los siguientes valores de origen de material de claves.

KMS (predeterminado)

Valor de la API: AWS_KMS

AWS KMS crea y administra el material de claves para el CMK en su propio almacén de claves. Este es el valor predeterminado y el valor recomendado para la mayoría de CMKs.

Para obtener ayuda para crear claves con material de claves de AWS KMS, consulte Crear claves.

Externo

Valor de la API: EXTERNAL

ha CMK importado el material de claves. Al crear un CMK con un origen de material de External claves de , el no CMK tiene material de claves. Posteriormente, puede importar material de claves en CMK. Cuando utilice material de claves importado, debe proteger y administrar ese material de claves fuera de AWS KMS, incluido reemplazar el material de claves si caduca. Para obtener más información, consulte Acerca de material de claves importado.

Para obtener ayuda para crear un CMK para el material de claves importado, consulte Paso 1: Crear un CMK sin material de claves.

Almacén de claves personalizado (CloudHSM)

Valor de la API: AWS_CLOUDHSM

AWS KMS creó el material de claves para el CMK en su almacén de claves personalizado.

Para obtener ayuda para crear un CMK en un almacén de claves personalizado, consulte Creación CMKs de en un almacén de claves personalizado

Especificación de clave

La especificación de clave es una CMK propiedad que representa la configuración criptográfica del CMK. La especificación de clave determina si el CMK es simétrico o asimétrico, el tipo de material de clave del CMKy los algoritmos de cifrado o los algoritmos de firma que puede utilizar con el CMK.

Normalmente, la especificación de clave que elija para su CMK se basa en su caso de uso y en los requisitos reglamentarios. Puede elegir la especificación de clave al crear el CMKy no puede cambiarla. Si ha elegido la especificación de clave incorrecta, elimine el CMKy cree una nueva.

Para obtener una lista de especificaciones de clave y ayuda para elegir una especificación de clave, consulte Seleccionar la especificación de clave. Para buscar la especificación de clave de un CMK, utilice la operación DescribeKey o consulte la pestaña Cryptographic configuration (Configuración criptográfica) en la página de detalles de un CMK en la AWS KMS consola de . Para obtener ayuda, consulte Visualización de claves.

nota

En las operaciones de API de AWS KMS, la especificación de la clave de las CMK se denomina CustomerMasterKeySpec. Esto la distingue de la especificación de las claves de datos (KeySpec), de la especificación de los pares de claves de datos (KeyPairSpec) y de la especificación de claves que se utiliza cuando se encapsula material de claves para su importación (WrappingKeySpec). Cada tipo de especificación de claves tiene valores diferentes.

Para limitar las especificaciones de clave que las entidades principales pueden utilizar al crear CMKs, utilice la clave de condición CustomerMasterKeySpec kms:. También puede utilizar la clave de kms:CustomerMasterKeySpec condición para permitir que las entidades principales llamen a AWS KMS operaciones para un en CMK función de su especificación de clave. Por ejemplo, puede denegar permiso para programar la eliminación de CMK con una especificación de RSA_4096 clave de .

Uso de claves

El uso de claves es una CMK propiedad que determina si una CMK se utiliza para el cifrado y el descifrado o para la firma y la verificación. No se pueden elegir ambas opciones. El uso de un CMK para más de un tipo de operaciones hace que el producto de ambas operaciones sea más vulnerable a ataques.

El uso de claves para simétricas CMKs siempre es el cifrado y descifrado. El uso de claves para curva elíptica (ECC) CMKs es siempre de firma y verificación. Solo tiene que elegir un uso de clave para CMKsRSA. Puede elegir el uso de la clave al crear la CMKy no puede cambiarla. Si ha elegido un uso de clave incorrecto, elimine el CMKy cree uno nuevo.

Para seleccionar el uso de claves, consulte Seleccionar el uso de la clave. Para buscar el uso de claves de un CMK, utilice la operación DescribeKey o elija la pestaña Cryptographic configuration (Configuración criptográfica) en la página de detalles de un CMK en la AWS KMS consola de . Para obtener ayuda, consulte Visualización de claves.

Para permitir que las entidades principales creen CMKs solo para firmar y verificar o solo para cifrar y descifrar, utilice la clave de condición CustomerMasterKeyUsage kms:. También puede utilizar la clave de kms:CustomerMasterKeyUsage condición para permitir que las entidades principales llamen a operaciones de la API de para un en CMK función de su uso de claves. Por ejemplo, puede permitir el permiso para deshabilitar un CMK solo si su uso de clave es SIGN_VERIFY.

Cifrado de sobre

Al cifrar sus datos, los datos están protegidos, pero tiene que proteger su clave de cifrado. Una estrategia consiste en cifrarla. El cifrado de sobres es la práctica de cifrar los datos en texto no cifrado con una clave de datos y, a continuación, cifrar la clave de datos con otra clave.

Incluso puede cifrar la clave de cifrado de datos con otra clave de cifrado y cifrar dicha clave de cifrado con otra clave de cifrado. Sin embargo, finalmente, una clave debe permanecer en texto no cifrado para que pueda descifrar las claves y los datos. Esta clave de cifrado de clave de texto no cifrado de nivel superior se conoce como clave maestra .


        Cifrado de sobre

AWS KMS le ayuda a proteger su claves maestras almacenándolos y administrándolos de forma segura. Las claves maestras almacenadas en AWS KMS, conocidas como claves maestras de cliente (CMKs), nunca salen de los módulosAWS KMS de seguridad de hardware validados por FIPS sin cifrar. Para utilizar un AWS KMS CMK, debe llamar a AWS KMS.


        Cifrado de sobres con varias claves de cifrado de claves

El cifrado de sobre ofrece varios beneficios:

  • Protección de las claves de datos

    Al cifrar una clave de datos, no tiene que preocuparse del almacenamiento la clave de datos cifrada, porque la clave de datos está intrínsecamente protegida por el cifrado. Puede almacenar de forma segura la clave de datos cifrada junto con los datos cifrados.

  • Cifrado de los mismos datos con varias claves maestras

    Las operaciones de cifrado pueden tardar mucho tiempo, en concreto cuando los datos que se cifran son objetos grandes. En vez de volver a cifrar los datos sin procesar varias veces con claves distintas, puede volver a cifrar solo las claves de datos que protegen los datos sin procesar.

  • Combinación de los puntos fuertes de varios algoritmos

    En general, los algoritmos de clave simétrica son más rápidos y producen textos cifrados más pequeños que los algoritmos de clave pública. Sin embargo, los algoritmos de clave pública proporcionan una separación inherente entre las funciones y facilitan la administración de las claves. El cifrado de sobre le permite combinar los puntos fuertes de cada estrategia.

Contexto de cifrado

Todas las operaciones AWS KMS Operaciones criptográficas criptográficas con simétricas CMKs aceptan un contexto de cifrado, un conjunto opcional de pares de –clavevalor que puede contener información contextual adicional sobre los datos. AWS KMS utiliza el contexto de cifrado como información autenticada adicional (AAD) para admitir el cifrado https://docs.aws.amazon.com/crypto/latest/userguide/cryptography-concepts.html#define-authenticated-encryptionautenticado.

No puede especificar un contexto de cifrado en una operación criptográfica con una CMK asimétrica. Los algoritmos de cifrado asimétrico estándar que AWS KMS utiliza no admiten los contextos de cifrado.

Cuando incluye un contexto de cifrado en una solicitud de cifrado, este se vincula criptográficamente al texto cifrado de forma que sea necesario utilizar el mismo contexto de cifrado para descifrar (o descifrar y volver a cifrar) los datos. Si el contexto de cifrado proporcionado en la solicitud de descifrado no es una coincidencia exacta, incluido el uso de mayúsculas y minúsculas, la solicitud de descifrado producirá un error. Solo puede variar el orden de los pares clave-valor en el contexto de cifrado.

El contexto de cifrado no es secreto. Aparece en texto no cifrado en los registros de AWS CloudTrail para que pueda utilizarlo para identificar y clasificar las operaciones criptográficas.

Un contexto de cifrado puede contener cualquier clave y cualquier valor. Sin embargo, como no es secreto y no está cifrado, el contexto de cifrado no debe incluir información confidencial. Le recomendamos que el contexto de cifrado describa los datos que se van a cifrar o descifrar. Por ejemplo, cuando cifre un archivo, puede usar parte de la ruta del archivo como contexto de cifrado.

La clave y el valor de un par de contexto de cifrado deben ser cadenas literales simples. No pueden ser números enteros ni objetos, ni ningún tipo que no esté totalmente resuelto. Si utiliza un tipo diferente, como un número entero o flotante, AWS KMS lo interpretará como una cadena.

"encryptionContext": { "department": "10103.0" }

La clave y el valor de contexto de cifrado pueden incluir caracteres especiales, como guiones bajos (_), guiones (-), barras diagonales (/, \) y dos puntos (:).

Por ejemplo, al cifrar volúmenes e instantáneas creados con la operación CreateSnapshotAmazon Elastic Block Store de Amazon EBS (), Amazon EBS utiliza el ID de volumen como valor de contexto de cifrado.

"encryptionContext": { "aws:ebs:id": "vol-abcde12345abc1234" }

También puede utilizar el contexto de cifrado para ajustar o limitar el acceso a claves maestras de cliente (CMKs) en su cuenta. Puede utilizar el contexto de cifrado como una restricción en concesiones y como una condición en instrucciones de política.

Para obtener información sobre cómo usar el contexto para proteger la integridad de los datos cifrados, consulte la publicación How to Protect the Integrity of Your Encrypted Data by Using AWS Key Management Service and EncryptionContext en el blog de seguridad de AWS.

Más información sobre el contexto de cifrado.

El contexto de cifrado se utiliza principalmente para verificar la integridad y la autenticidad. Sin embargo, también puede utilizar el contexto de cifrado para controlar el acceso a claves maestras de cliente (CMKs) simétrico en las políticas de claves y las IAM políticas de .

Las claves de condición kms:EncryptionContext: y kms:EncryptionContextKeys solamente conceden (o deniegan) un permiso cuando la solicitud contiene determinadas claves de contexto de cifrado o determinados pares de clave–valor.

Por ejemplo, la siguiente declaración de política de claves permite al RoleForExampleApp rol utilizar CMK en Decrypt las operaciones de . Utiliza la clave de condición kms:EncryptionContext: para conceder este permiso solo cuando el contexto de cifrado de la solicitud incluye un par de contexto de cifrado AppName:ExampleApp.

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RoleForExampleApp" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "kms:EncryptionContext:AppName": "ExampleApp" } } }

Para obtener más información sobre estas claves de condición de contexto de cifrado, consulte Usar condiciones de política con AWS KMS.

Al crear una concesión, puede incluir restricciones de https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html concesión que establecen condiciones para los permisos de concesión. AWS KMS admite dos restricciones de concesión, EncryptionContextEquals y EncryptionContextSubset, que implican el contexto de cifrado en una solicitud para una operación criptográfica. Cuando se utilizan estas restricciones de concesión, los permisos de la concesión solo son efectivos cuando el contexto de cifrado de la solicitud de la operación criptográfica cumple los requisitos de las restricciones de concesión.

Por ejemplo, puede añadir una restricción de EncryptionContextEquals concesión a una concesión que permita la operación GenerateDataKey. Con esta restricción, la concesión solo permite la operación cuando el contexto de cifrado de la solicitud distingue entre mayúsculas y minúsculas para el contexto de cifrado de la restricción de concesión.

$ aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/exampleUser \ --retiring-principal arn:aws:iam::111122223333:role/adminRole \ --operations GenerateDataKey \ --constraints EncryptionContextEquals={Purpose=Test}

Una solicitud como la siguiente del principal beneficiario satisfaría la EncryptionContextEquals restricción .

$ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --encryption-context Purpose=Test

Para obtener más información sobre las restricciones de concesión, consulte Uso de restricciones de concesión. Para obtener información detallada acerca de las concesiones, consulte Usar concesiones.

AWS KMS utiliza AWS CloudTrail para registrar el contexto de cifrado para que pueda determinar a qué datos CMKs y se ha accedido. La entrada de registro muestra exactamente qué CMK se utilizó para cifrar o descifrar datos específicos a los que hace referencia el contexto de cifrado en la entrada de registro.

importante

Como el contexto de cifrado se ha registrado, no debe contener información confidencial.

Para simplificar el uso de cualquier contexto de cifrado al llamar a las operaciones Decrypt o ReEncrypt, puede almacenar el contexto de cifrado junto con los datos cifrados. Es recomendable que almacene solo la parte suficiente del contexto de cifrado para crear todo el contexto cuando sea necesario para el cifrado o el descifrado.

Por ejemplo, si el contexto de cifrado es la ruta completa a un archivo, almacene solo parte de esa ruta con el contenido del archivo cifrado. A continuación, cuando necesite todo el contexto de cifrado, reconstrúyalo a partir del fragmento almacenado. Si alguien intenta manipular el archivo (por ejemplo, cambiarlo de nombre o moverlo a otra ubicación), el valor de contexto de cifrado cambia y la solicitud de descifrado produce un error.

Política de claves

Al crear una CMK, determina quién puede utilizar y administrar esa CMK. Estos permisos se encuentran en un documento denominado la política de claves. Puede utilizar la política de claves para añadir, eliminar o cambiar permisos en cualquier momento para un administrado por el CMKcliente. Pero no puede editar la política de claves para un AWS administrado por CMK. Para obtener más información, consulte Usar políticas de claves en AWS KMS.

Grant

Una concesión es un instrumento de política que permite a las AWS entidades principales utilizar AWS KMS claves maestras de cliente (CMKs) en operaciones criptográficas. También puede permitirles ver una CMK (DescribeKey) y crear y administrar concesiones. Al autorizar el acceso a una CMK, las concesiones se tienen en cuenta junto con las políticas de Usar políticas de claves en AWS KMS claves y las políticas de Usar políticas de IAM con AWS KMSIAM. Las concesiones se utilizan a menudo para permisos temporales, ya que puede crear una, utilizar sus permisos y eliminarla sin cambiar las políticas de claves ni las políticas de IAM. Como las concesiones pueden ser muy específicas y son fáciles de crear y revocar, suelen utilizarse para proporcionar permisos temporales o permisos más detallados.

Para obtener información detallada acerca de concesiones, incluida la terminología de concesión, consulte Usar concesiones.

Auditar el CMK uso

Puede utilizar AWS CloudTrail para auditar el uso de las claves. CloudTrail crea archivos de registro que contienen un historial de las llamadas a la API de AWS y de los eventos relacionados de su cuenta. Estos archivos de registro contienen todas las solicitudes de AWS KMS de la API realizadas con la consola de administración de AWS, los SDK de AWS y las herramientas de línea de comandos. Los archivos de registro también contienen las solicitudes dirigidas a AWS KMS que los servicios de AWS realizan en su nombre. Puede utilizar estos archivos de registro para buscar información importante, como cuándo CMK se utilizó el , la operación solicitada, la identidad del solicitante y la dirección IP de origen. Para obtener más información, consulte Registro con AWS CloudTrail y la AWS CloudTrail User Guide.

Infraestructura de administración de claves

Una práctica habitual en criptografía es cifrar y descifrar con un algoritmo público y revisado por homólogos, como AES (Advanced Encryption Standard), y una clave secreta. Uno de los principales problemas con la criptografía es que es muy difícil mantener una clave secreta. Este suele ser el trabajo de una infraestructura de administración de claves (KMI). AWS KMS opera la KMI por usted. AWS KMS crea y almacena de forma segura su claves maestras, denominada claves maestras de cliente . Para obtener más información sobre cómo AWS KMS funciona , consulte Detalles criptográficos de AWS Key Management Service.