En criptografía , un criptosistema híbrido es aquel que combina la conveniencia de un criptosistema de clave pública con la eficiencia de un criptosistema de clave simétrica . [1] Los criptosistemas de clave pública son convenientes porque no requieren que el emisor y el receptor compartan un secreto común para comunicarse de forma segura. [2] Sin embargo, a menudo dependen de cálculos matemáticos complicados y, por lo tanto, generalmente son mucho más ineficientes que los criptosistemas de clave simétrica comparables. En muchas aplicaciones, el alto costo de cifrar mensajes largos en un criptosistema de clave pública puede ser prohibitivo. Los sistemas híbridos abordan esto mediante una combinación de ambos. [3]
Se puede construir un criptosistema híbrido utilizando dos criptosistemas separados:
El criptosistema híbrido es en sí mismo un sistema de clave pública, cuyas claves públicas y privadas son las mismas que en el esquema de encapsulación de claves. [4]
Tenga en cuenta que para mensajes muy largos, la mayor parte del trabajo de cifrado/descifrado se realiza mediante el esquema de clave simétrica, más eficiente, mientras que el esquema de clave pública, ineficiente, se utiliza solo para cifrar/descifrar un valor de clave corto. [3]
En la actualidad, todas las implementaciones prácticas de criptografía de clave pública emplean un sistema híbrido. Algunos ejemplos son el protocolo TLS [5] y el protocolo SSH [6] , que utilizan un mecanismo de clave pública para el intercambio de claves (como Diffie-Hellman ) y un mecanismo de clave simétrica para la encapsulación de datos (como AES ). El formato de archivo OpenPGP [7] y el formato de archivo PKCS#7 [8] son otros ejemplos.
El cifrado de clave pública híbrido (HPKE, publicado como RFC 9180) es un estándar moderno para el cifrado híbrido genérico. HPKE se utiliza en varios protocolos de IETF, incluidos MLS y TLS Encrypted Hello.
El cifrado de sobres es un ejemplo de uso de criptosistemas híbridos en la computación en la nube . En un contexto de nube, los criptosistemas híbridos también permiten la gestión centralizada de claves . [9] [10]
Para cifrar un mensaje dirigido a Alice en un criptosistema híbrido, Bob hace lo siguiente:
Para descifrar este texto cifrado híbrido, Alice hace lo siguiente:
Si tanto el esquema de encapsulación de claves como el de encapsulación de datos en un criptosistema híbrido son seguros contra ataques de texto cifrado adaptado , entonces el esquema híbrido hereda esa propiedad también. [4] Sin embargo, es posible construir un esquema híbrido seguro contra ataques de texto cifrado adaptado incluso si la encapsulación de claves tiene una definición de seguridad ligeramente debilitada (aunque la seguridad de la encapsulación de datos debe ser ligeramente más fuerte). [12]
El cifrado de sobre es un término utilizado para cifrar con un criptosistema híbrido utilizado por todos los principales proveedores de servicios en la nube , [9] a menudo como parte de un sistema de gestión de claves centralizado en la computación en la nube. [13]
El cifrado de sobres da nombres a las claves utilizadas en el cifrado híbrido: Claves de cifrado de datos (abreviadas DEK, y utilizadas para cifrar datos) y Claves de cifrado de claves (abreviadas KEK, y utilizadas para cifrar las DEK). En un entorno de nube, el cifrado con cifrado de sobres implica generar una DEK localmente, cifrar los datos utilizando la DEK y luego emitir una solicitud para envolver (cifrar) la DEK con una KEK almacenada en un servicio potencialmente más seguro . Luego, esta DEK envuelta y el mensaje cifrado constituyen un texto cifrado para el esquema. Para descifrar un texto cifrado, la DEK envuelta se desenvuelve (descifra) mediante una llamada a un servicio y luego la DEK desenvuelta se utiliza para descifrar el mensaje cifrado. [10] Además de las ventajas normales de un criptosistema híbrido, el uso de cifrado asimétrico para la KEK en un contexto de nube proporciona una gestión de claves más sencilla y una separación de roles, pero puede ser más lento. [13]
En sistemas en la nube, como Google Cloud Platform y Amazon Web Services , un sistema de administración de claves (KMS) puede estar disponible como servicio. [13] [10] [14] En algunos casos, el sistema de administración de claves almacenará claves en módulos de seguridad de hardware , que son sistemas de hardware que protegen las claves con características de hardware como la resistencia a la intrusión. [15] Esto significa que las KEK también pueden ser más seguras porque se almacenan en hardware especializado seguro. [13] El cifrado de sobre facilita la administración centralizada de claves porque un sistema de administración centralizada de claves solo necesita almacenar KEK, que ocupan menos espacio, y las solicitudes al KMS solo implican el envío de DEK envueltas y sin envolver, que utilizan menos ancho de banda que la transmisión de mensajes completos. Dado que una KEK se puede utilizar para cifrar muchas DEK, esto también permite utilizar menos espacio de almacenamiento en el KMS. Esto también permite la auditoría centralizada y el control de acceso en un punto de acceso. [10]