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 confiable. Un mecanismo de encapsulamiento de claves incluye 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 producir 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 encapsulamiento de claves son un componente fundamental para los protocolos de intercambio de claves y el cifrado híbrido de clave pública (HPKE).
Flujo de trabajo de encapsulamiento y desencapsulamiento
A continuación, se describe el proceso para usar un par de claves de KEM para encapsular y desencapsular datos. Los dos participantes de este flujo de trabajo son un remitente y un destinatario. El remitente crea un texto cifrado y un secreto compartido con la clave pública del destinatario, y luego el destinatario desencripta el texto cifrado con su clave privada para recuperar el secreto compartido. Solo una persona que conozca la clave privada puede desencapsular el texto cifrado para recuperar el secreto compartido original.
El remitente recupera 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 cifrado al destinatario.
El destinatario usa su clave privada para desencapsular el texto cifrado. Ahora, el destinatario y el remitente tienen el mismo secreto compartido.
Mecanismos de encapsulamiento de claves poscuánticos (PQ-KEM)
Las computadoras cuánticas tienen el potencial de desencriptar material encriptado por algoritmos de encriptación clásicos, como los algoritmos RSA y ECDSA ampliamente utilizados, lo que puede hacer que dicho material encriptado sea vulnerable a ataques de "recolección ahora, desencriptación más tarde". En estos ataques, los adversarios recopilan los datos encriptados actuales que usan algoritmos de encriptación clásicos y los almacenan con la intención de desencriptarlos más adelante, cuando estén disponibles las potentes computadoras cuánticas. Los PQ-KEM están diseñados para resistir ataques cuánticos, lo que garantiza que los datos encriptados con ellos hoy seguirán siendo seguros incluso en la era cuántica, y evitarán la desencriptación futura de la información recopilada 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 |
Capacidades de los KEM de Cloud KMS
Cloud KMS proporciona las siguientes capacidades relacionadas con los mecanismos de encapsulamiento de claves:
Crear una clave de KEM con el propósito de clave de
KEY_ENCAPSULATION
y un algoritmo de encapsulación de clavesRecuperar la clave pública de una clave de KEM
Desencapsula un secreto compartido con la clave privada de una clave de KEM.
Para encapsular con claves de Cloud KMS, debes usar SDKs y herramientas disponibles públicamente con la clave pública. Cloud KMS no proporciona capacidades de encapsulamiento.