Un mecanismo de encapsulación de claves (KEM) es un proceso criptográfico que se usa para establecer un secreto compartido entre dos partes a través de un canal no fiable. Un mecanismo de encapsulación de claves implica tres algoritmos principales:
- Generación de claves: se genera un par de claves que consta de una clave pública y una privada.
- Encapsulación: la clave pública se usa para generar un secreto compartido y un texto cifrado coincidente.
- Desencapsulación: la clave privada se usa para recuperar el secreto compartido del texto cifrado.
Los mecanismos de encapsulación de claves son un elemento fundamental de los protocolos de intercambio de claves y del cifrado de clave pública híbrido (HPKE).
Flujo de trabajo de encapsulación y desencapsulación
A continuación, se describe el proceso para usar un par de claves KEM para encapsular y desencapsular datos. En este flujo de trabajo participan dos entidades: un remitente y un destinatario. El remitente crea un texto cifrado y un secreto compartido mediante la clave pública del destinatario. A continuación, el destinatario descifra el texto cifrado mediante su clave privada para obtener el secreto compartido. Solo alguien que conozca la clave privada puede desencapsular el texto cifrado para recuperar el secreto compartido original.
El remitente obtiene la clave pública del destinatario.
El remitente usa la clave pública para realizar el paso de encapsulación, que genera un secreto compartido y un texto cifrado correspondiente.
El remitente envía el texto cifrado al destinatario.
El destinatario usa su clave privada para desencapsular el texto cifrado. El destinatario y el remitente ahora tienen el mismo secreto compartido.
Mecanismos de encapsulación de claves poscuánticos (PQ-KEM)
Los ordenadores cuánticos pueden descifrar material cifrado con algoritmos de cifrado clásicos, como los algoritmos RSA y ECDSA, que se usan con frecuencia. Esto puede hacer que el material cifrado sea vulnerable a ataques de tipo "recolección ahora, descifrado más adelante". En estos ataques, los adversarios recogen los datos encriptados actuales que usan algoritmos de encriptado clásicos y los almacenan con la intención de desencriptarlos más adelante, cuando estén disponibles ordenadores cuánticos potentes. Los PQ-KEMs se han diseñado para resistir los ataques cuánticos, lo que garantiza que los datos cifrados con ellos hoy en día sigan protegidos incluso en la era cuántica, lo que evita que se descifre en el futuro la información recogida hoy.
Cloud Key Management Service admite ML-KEM-768 y ML-KEM-1024, que el NIST estandarizó en FIPS-203, y X-Wing, un KEM híbrido que combina ML-KEM-768 con X25519. Estos algoritmos tienen los siguientes valores de tamaño (en bytes):
Algoritmo | Clave pública | Texto cifrado | Secreto compartido |
---|---|---|---|
ML_KEM_768 | 1184 | 1088 | 32 |
ML_KEM_1024 | 1568 | 1568 | 32 |
KEM_XWING | 1216 | 1120 | 32 |
Funciones de KEMs de Cloud KMS
Cloud KMS ofrece las siguientes funciones relacionadas con los mecanismos de encapsulación de claves:
Crear una clave KEM con el propósito de la clave
KEY_ENCAPSULATION
y un algoritmo de encapsulación de claves.Obtener la clave pública de una clave KEM.
Desencapsular un secreto compartido mediante la clave privada de una clave KEM.
Para encapsular con claves de Cloud KMS, debes usar SDKs y herramientas disponibles públicamente con la clave pública. Cloud KMS no ofrece funciones de encapsulación.