Mecanismos de encapsulamiento de claves

Un mecanismo de encapsulamiento 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 implica tres algoritmos principales:

  • Generación de claves: Se genera un par de claves que consta de una clave pública y una clave 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 básico fundamental para los protocolos de intercambio de claves y la encriptación de clave pública híbrida (HPKE).

Flujo de trabajo de encapsulación y desencapsulación

A continuación, se describe el proceso para usar un par de claves de KEM para encapsular y desencapsular datos. Los dos participantes en 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. Luego, el destinatario desencripta el texto cifrado con su clave privada para recuperar el secreto compartido. Solo alguien que conozca la clave privada puede desencapsular el texto cifrado para recuperar el secreto compartido original.

  1. El remitente recupera la clave pública del destinatario.

  2. El remitente usa la clave pública para realizar el paso de encapsulamiento, que genera un secreto compartido y un texto cifrado correspondiente.

  3. El remitente envía el cifrado al destinatario.

  4. 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, que se usan ampliamente, lo que puede hacer que ese material encriptado sea vulnerable a ataques de "almacenar ahora y desencriptar después" (SNDL). En estos ataques, los adversarios recopilan los datos encriptados de hoy en día que usan algoritmos de encriptación clásicos y los almacenan con la intención de desencriptarlos más adelante, cuando haya computadoras cuánticas potentes disponibles. Los PQ-KEM están diseñados para ser resistentes a los ataques cuánticos, lo que garantiza que los datos encriptados con ellos hoy permanezcan seguros incluso en la era cuántica, lo que evita el descifrado futuro de la información almacenada 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 los KEM de Cloud KMS

Cloud KMS proporciona las siguientes funciones relacionadas con los mecanismos de encapsulación de claves:

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 encapsulación.