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.
Referencia de especificaciones de clave
Cuando crea una clave KMS asimétrica o una clave KMS HMAC, seleccione su especificación de clave. La especificación de clave, que es una propiedad de cada AWS KMS key, representa la configuración criptográfica de su clave KMS. Se selecciona la especificación de clave al crear la clave KMS y no se puede cambiar. Si ha seleccionado una especificación de clave errónea, elimine la clave KMS y cree una nueva.
nota
La especificación de clave para una clave KMS se conocía como “especificación de clave maestra del cliente”. El parámetro CustomerMasterKeySpec
de la operación CreateKey está obsoleta. En su lugar, utilice el parámetro KeySpec
. La respuesta de las operaciones CreateKey
y DescribeKey incluye un miembro KeySpec
y CustomerMasterKeySpec
con el mismo valor.
La especificación de clave determina si la clave KMS es simétrica o asimétrica, el tipo de material de claves de la clave KMS y los algoritmos de cifrado, algoritmos de firma o algoritmos de código de autenticación de mensajes (MAC) que AWS KMS admite para la clave KMS. La especificación de clave que seleccione suele estar determinada por el caso de uso y los requisitos normativos. Sin embargo, las operaciones criptográficas en las claves KMS con diferentes especificaciones de clave tienen un precio diferente y están sujetas a diferentes cuotas de solicitud. Para obtener más información sobre precios, consulte precios de AWS Key Management Service
Para limitar las especificaciones de clave que pueden utilizar las entidades principales al crear las claves KMS, utilice la clave de condición kms:KeySpec. También puede utilizar la clave de condición kms:KeySpec
para permitir que las entidades principales llamen a las operaciones de AWS KMS para una clave KMS con una especificación de clave determinada. Por ejemplo, puede denegar permiso para programar la eliminación de cualquier clave KMS con una especificación de clave RSA_4096
.
AWS KMS admite las siguientes especificaciones de clave para las claves KMS:
- Especificaciones de la clave de cifrado simétricas (predeterminado)
-
-
SYMMETRIC_DEFAULT
-
- Especificaciones de clave de RSA (cifrado y descifrado o firma y verificación)
-
-
RSA_2048
-
RSA_3072
-
RSA_4096
-
- Especificaciones de clave de curva elíptica
-
-
Pares de claves de curva elíptica
asimétricas recomendadas por NIST (firma y verificación u obtención de secretos compartidos) -
ECC_NIST_P256 (secp256r1)
-
ECC_NIST_P384 (secp384r1)
-
ECC_NIST_P521 (secp521r1)
-
-
Otros pares de claves de curva elíptica asimétricas (firma y verificación)
-
ECC_SECG_P256K1 (secp256k1
), que se suele utilizar para las criptomonedas.
-
-
- Especificaciones de clave SM2 (cifrado y descifrado o firma y verificación u obtención de secretos compartidos)
-
-
SM2 (solo en regiones de China)
-
- Especificaciones de la clave HMAC
-
-
HMAC_224
-
HMAC_256
-
HMAC_384
-
HMAC_512
-
Especificación de clave SYMMETRIC_DEFAULT
La especificación de clave predeterminada, SYMMETRIC_DEFAULT, es la especificación de clave para las claves KMS de cifrado simétricas. Cuando selecciona el tipo de clave Symmetric (Simétrica) y Encrypt and decrypt (Cifrar y descifrar) en la consola de AWS KMS, esta selecciona la especificación de clave SYMMETRIC_DEFAULT
. En la operación CreateKey, si no especifica un valor KeySpec
, se selecciona SYMMETRIC_DEFAULT. Si no tiene un motivo para utilizar una especificación de clave diferente, SYMMETRIC_DEFAULT es una buena opción.
SYMMETRIC_DEFAULT representa AES-256-GCM, un algoritmo simétrico basado en el estándar de cifrado avanzado
Los datos cifrados con AES-256-GCM están protegidos ahora y en el futuro. Los criptógrafos consideran que este algoritmo es resistente a la informática cuántica. Los futuros e hipotéticos ataques de informática cuántica a gran escala a textos cifrados creados con claves AES-GCM de 256 bits reducen la seguridad nominal de la clave a 128 bits
La única excepción es en las regiones de China, donde SYMMETRIC_DEFAULT representa una clave simétrica de 128 bits que utiliza el cifrado SM4. Solo puede crear una clave SM4 de 128 bits dentro de las regiones de China. No puede crear una clave KMS con cifrado AES-GCM de 256 bits en las regiones de China.
Puede utilizar una clave de KMS de cifrado simétrica en AWS KMS para cifrar, descifrar y volver a cifrar los datos y para proteger claves de datos y pares de claves de datos generados. Los servicios de AWS que están integrados con AWS KMS utilizan claves de KMS de cifrado simétricas para cifrar los datos en reposo. Puede importar su propio material de claves en una clave KMS de cifrado simétrica y crear claves KMS de cifrado simétricas en almacenes de claves personalizadas. Para obtener una tabla en la que se comparan las operaciones que puede realizar en las claves de KMS simétricas y asimétricas, consulte Comparación de claves de KMS simétricas y asimétricas.
Puede utilizar una clave KMS de cifrado simétrica en AWS KMS para cifrar, descifrar y volver a cifrar datos, generar claves de datos y pares de claves de datos. Puede crear claves KMS de cifrado simétricas de varias regiones, importar su propio material de claves en una clave KMS de cifrado simétrica y crear claves KMS de cifrado simétricas en almacenes de claves personalizadas. Para obtener una tabla en la que se comparan las operaciones que puede realizar con claves KMS de diferentes tipos, consulte Referencia de tipos de claves.
Especificaciones de clave de RSA
Cuando utiliza una especificación de clave de RSA, AWS KMS crea una clave KMS asimétrica con un par de claves de RSA. La clave privada nunca deja AWS KMS sin cifrar. Puede utilizar la clave pública en AWS KMS o descargarla para utilizarla fuera de AWS KMS.
aviso
Cuando cifre datos fuera de AWS KMS, asegúrese de que puede descifrar el texto cifrado. Si utiliza la clave pública de una clave KMS que se ha eliminado de AWS KMS, la clave pública de una clave KMS configurada para firma y verificación o un algoritmo de cifrado que no es compatible con la clave KMS, los datos son irrecuperables.
En AWS KMS, puede utilizar las claves KMS asimétricas con pares de claves de RSA para el cifrado y el descifrado o para la firma y la verificación, pero no para ambas acciones. Esta propiedad, conocida como uso de la clave, se determina independientemente de la especificación de clave, pero tiene que tomar esta decisión antes de seleccionar una especificación de clave.
AWS KMS admite las siguientes especificaciones de clave de RSA para el cifrado y el descifrado o para la firma y la verificación:
-
RSA_2048
-
RSA_3072
-
RSA_4096
Las especificaciones de clave de RSA varían en la longitud de la clave de RSA en bits. La especificación de clave de RSA que seleccione puede estar determinada por las normas de seguridad o los requisitos de la tarea. Por regla general, utilice la clave más grande que sea práctica y asequible para la tarea. Las operaciones criptográficas en claves KMS con diferentes especificaciones de clave de RSA tienen un precio diferente. Para obtener información acerca de los precios de AWS KMS, consulte Precios del servicio de gestión de claves de AWS
Especificaciones de clave de RSA para el cifrado y el descifrado
Cuando se utiliza una clave KMS asimétrica de RSA para el cifrado y el descifrado, se cifra con la clave pública y se descifra con la clave privada. Cuando llama a la operación Encrypt
en AWS KMS para una clave KMS de RSA, AWS KMS utiliza la clave pública del par de claves de RSA y el algoritmo de cifrado que especifique para cifrar los datos. Para descifrar el texto cifrado, llame a la operación Decrypt
y especifique la misma clave KMS y el mismo algoritmo de cifrado. AWS KMS utiliza la clave privada del par de claves de RSA para descifrar los datos.
También puede descargar la clave pública y utilizarla para cifrar los datos fuera de AWS KMS. Asegúrese de utilizar un algoritmo de cifrado que AWS KMS admita para las claves KMS de RSA. Para descifrar el texto cifrado, llame a la función Decrypt
con la misma clave KMS y el mismo algoritmo de cifrado.
AWS KMS admite dos algoritmos de cifrado para las claves KMS con especificaciones de clave de RSA. Estos algoritmos, que se definen en PKCS #1 v2.2
Algoritmo de cifrado | Descripción del algoritmo |
---|---|
RSAES_OAEP_SHA_1 | PKCS #1 v2.2, sección 7.1. Cifrado de RSA con relleno OAEP mediante SHA-1 para la función de generación de máscaras MGF1 y hash, junto con una etiqueta vacía. |
RSAES_OAEP_SHA_256 | PKCS #1, sección 7.1. Cifrado de RSA con relleno OAEP mediante SHA-256 para la función de generación de máscaras MGF1 y hash, junto con una etiqueta vacía. |
No puede configurar una clave KMS para utilizar un algoritmo de cifrado específico. No obstante, puede utilizar la condición de política kms:EncryptionAlgorithm para especificar los algoritmos de cifrado que las entidades principales pueden utilizar con la clave KMS.
Para obtener los algoritmos de cifrado de una clave KMS, consulte la configuración criptográfica de la clave KMS en la consola de AWS KMS o utilice la operación DescribeKey. AWS KMS también ofrece la especificación de clave y los algoritmos de cifrado cuando descarga la clave pública, ya sea en la consola de AWS KMS o mediante la operación GetPublicKey.
Puede elegir una especificación de clave de RSA en función de la longitud de los datos de texto no cifrado que puede cifrar en cada solicitud. En la siguiente tabla se muestra el tamaño máximo, en bytes, del texto no cifrado que puede cifrar en una única llamada a la operación Encrypt. Los valores varían en función de la especificación de clave y el algoritmo de cifrado. Para realizar una comparación, puede utilizar una clave KMS de cifrado simétrica para cifrar hasta 4096 bytes a la vez.
Para calcular la longitud de texto no cifrado máxima en bytes para estos algoritmos, utilice la siguiente fórmula: (key_size_in_bits
/ 8) - (2 * hash_length_in_bits
/8) - 2. Por ejemplo, para RSA_2048 con SHA-256, el tamaño máximo de texto no cifrado en bytes es (2048/8) - (2 * 256/8) -2 = 190.
Algoritmo de cifrado | ||
---|---|---|
Especificación de clave | RSAES_OAEP_SHA_1 | RSAES_OAEP_SHA_256 |
RSA_2048 | 214 | 190 |
RSA_3072 | 342 | 318 |
RSA_4096 | 470 | 446 |
Especificaciones de clave de RSA para la firma y la verificación
Cuando se utiliza una clave KMS asimétrica de RSA para la firma y la verificación, genera la firma para un mensaje con la clave privada y verifica la firma con la clave pública.
Cuando llama a la operación Sign
en AWS KMS para una clave KMS asimétrica, AWS KMS utiliza la clave privada del par de claves de RSA, el mensaje y el algoritmo de firma que especifique para generar una firma. Para verificar la firma, llame a la operación Verify. Especifique la firma, la misma clave KMS, el mismo mensaje y el mismo algoritmo de firma. A continuación, AWS KMS utiliza la clave pública del par de claves de RSA para verificar la firma. También puede descargar la clave pública y utilizarla para verificar la firma fuera de AWS KMS.
AWS KMS admite los siguientes algoritmos de firma para todas las claves KMS con una especificación de clave de RSA. Tiene que especificar un algoritmo de firma cuando llame a las operaciones Sign y Verify. Puede elegir un algoritmo diferente para cada solicitud. Al firmar con pares de claves de RSA, se prefieren los algoritmos RSASSA-PSS. Incluimos los algoritmos RSASSA-PKCS1-v1_5 para garantizar la compatibilidad con las aplicaciones existentes.
Algoritmo de firma | Descripción del algoritmo |
---|---|
RSASSA_PSS_SHA_256 | PKCS #1 v2.2, sección 8.1, firma de RSA con relleno PSS mediante SHA-256 para la función de generación de máscaras MGF1 y resumen de mensaje, junto con una sal de 256 bits. |
RSASSA_PSS_SHA_384 | PKCS #1 v2.2, sección 8.1, firma de RSA con relleno PSS mediante SHA-384 para la función de generación de máscaras MGF1 y resumen de mensaje, junto con una sal de 384 bits. |
RSASSA_PSS_SHA_512 | PKCS #1 v2.2, sección 8.1, firma de RSA con relleno PSS mediante SHA-512 para la función de generación de máscaras MGF1 y resumen de mensaje, junto con una sal de 512 bits. |
RSASSA_PKCS1_V1_5_SHA_256 | PKCS #1 v2.2, sección 8.2, firma de RSA con relleno PKCS #1 v1.5 y SHA-256 |
RSASSA_PKCS1_V1_5_SHA_384 | PKCS #1 v2.2, sección 8.2, firma de RSA con relleno PKCS #1 v1.5 y SHA-384 |
RSASSA_PKCS1_V1_5_SHA_512 | PKCS #1 v2.2, sección 8.2, firma de RSA con relleno PKCS #1 v1.5 y SHA-512 |
No puede configurar una clave de KMS para utilizar algoritmos de firma específicos. No obstante, puede utilizar la condición de política kms:SigningAlgorithm para especificar los algoritmos de firma que las entidades principales pueden utilizar con la clave KMS.
Para obtener los algoritmos de firma de una clave KMS, consulte la configuración criptográfica de la clave KMS en la consola de AWS KMS o mediante la operación DescribeKey. AWS KMS también ofrece la especificación de clave y los algoritmos de firma cuando descarga la clave pública, ya sea en la consola de AWS KMS o mediante la operación GetPublicKey.
Especificaciones de clave de curva elíptica
Cuando utiliza una especificación de clave de curva elíptica (ECC), AWS KMS crea una clave KMS asimétrica con un par de claves de ECC para la firma y la verificación o la obtención de secretos compartidos (pero no ambos). La clave privada que genera firmas u obtiene secretos compartidos nunca deja AWS KMS sin cifrar. Puede utilizar la clave pública para verificar firmas en AWS KMS o descargar la clave pública para utilizarla fuera de AWS KMS.
AWS KMS es compatible con las siguientes especificaciones de clave de ECC para las clave KMS asimétricas.
-
Pares de claves de curva elíptica asimétricas recomendadas por NIST (firma y verificación u obtención de secretos compartidos)
-
ECC_NIST_P256 (secp256r1)
-
ECC_NIST_P384 (secp384r1)
-
ECC_NIST_P521 (secp521r1)
-
-
Otros pares de claves de curva elíptica asimétricas (firma y verificación)
-
ECC_SECG_P256K1 (secp256k1
), que se suele utilizar para las criptomonedas.
-
La especificación de clave de ECC que selecciona puede estar determinada por las normas de seguridad o los requisitos de la tarea. Por regla general, utilice la curva con más puntos que sea práctica y asequible para la tarea.
Si va a crear una clave KMS asimétrica para obtener secretos compartidos, utilice una de las especificaciones de clave de curva elíptica recomendadas por NIST. El único algoritmo de acuerdo de claves compatible para obtener secretos compartidos es el cofactor criptográfico de curva elíptica primitivo Diffie-Hellman
Si va a crear una clave KMS asimétrica para utilizarla con criptomonedas, utilice la especificación de clave ECC_SECG_P256K1. También puede utilizar esta especificación de clave para otros fines, pero es obligatoria para Bitcoin y otras criptomonedas.
Las claves KMS con diferentes especificaciones de clave de ECC tienen un precio diferente y están sujetas a diferentes cuotas de solicitud. Para obtener más información acerca de los precios de AWS KMS, consulte Precios de AWS Key Management Service
En la siguiente tabla se muestran los algoritmos de firma que AWS KMS admite para cada especificación de clave de ECC. No puede configurar una clave KMS para utilizar algoritmos de firma específicos. No obstante, puede utilizar la condición de política kms:SigningAlgorithm para especificar los algoritmos de firma que las entidades principales pueden utilizar con la clave KMS.
Especificación de clave | Algoritmo de firma | Descripción del algoritmo |
---|---|---|
ECC_NIST_P256 | ECDSA_SHA_256 | NIST FIPS 186-4, sección 6.4, firma de ECDSA mediante la curva que especifican la clave y SHA-256 para el resumen de mensaje. |
ECC_NIST_P384 | ECDSA_SHA_384 | NIST FIPS 186-4, sección 6.4, firma de ECDSA mediante la curva que especifican la clave y SHA-384 para el resumen de mensaje. |
ECC_NIST_P521 | ECDSA_SHA_512 | NIST FIPS 186-4, sección 6.4, firma de ECDSA mediante la curva que especifican la clave y SHA-512 para el resumen de mensaje. |
ECC_SECG_P256K1 | ECDSA_SHA_256 | NIST FIPS 186-4, sección 6.4, firma de ECDSA mediante la curva que especifican la clave y SHA-256 para el resumen de mensaje. |
Especificación de clave SM2 (solo en las regiones de China)
La especificación de clave SM2 es una especificación clave de curva elíptica definida dentro de la serie de especificaciones GM/T publicada por la Oficina de Administración Estatal de Criptografía Comercial de China (OSCCA)
Cada clave KMS solo puede tener un uso. Puede utilizar una clave SM2 de KMS para la firma y la verificación, el cifrado y descifrado o la obtención de secretos compartidos. Debe especificar el uso de claves al crear la clave KMS y no se la puede cambiar una vez creada.
Si va a crear una clave KMS asimétrica para obtener secretos compartidos, utilice la especificación de clave SM2. El único algoritmo de acuerdo de claves compatible para obtener secretos compartidos es el cofactor criptográfico de curva elíptica primitivo Diffie-Hellman
AWS KMS admite los siguientes algoritmos de cifrado y firma SM2:
-
- Algoritmo de cifrado SM2PKE
-
SM2PKE es un algoritmo de cifrado basado en curvas elípticas definido por OSCCA en GM/T 0003.4-2012.
-
- Algoritmo de firma SM2DSA
-
SM2DSA es un algoritmo de cifrado basado en curvas elípticas definido por OSCCA en GM/T 0003.2-2012. SM2DSA requiere un identificador distintivo que se cifra con hash con el algoritmo hash SM3 y, a continuación, se combina con el mensaje, o resumen del mensaje, que se pasa a AWS KMS. A continuación, este valor concatenado es cifrado con hash y firmado por AWS KMS.
Especificaciones de la clave para las claves KMS HMAC
AWS KMS admite claves HMAC simétricas de diferentes longitudes. La especificación de clave que seleccione puede depender de sus requisitos normativos, de seguridad o empresariales. La longitud de la clave determina el algoritmo MAC que se utiliza en las operaciones GenerateMac y VerifyMac. En general, las claves más largas son más seguras. Utilice la clave más larga que sea práctica para su caso de uso.
Especificación de la clave HMAC | Algoritmo MAC |
---|---|
HMAC_224 | HMAC_SHA_224 |
HMAC_256 | HMAC_SHA_256 |
HMAC_384 | HMAC_SHA_384 |
HMAC_512 | HMAC_SHA_512 |