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 remitente y el receptor compartan un secreto común para comunicarse de forma segura. [2] Sin embargo, a menudo se basan en 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 resultar prohibitivo. Esto se soluciona mediante sistemas híbridos mediante el uso de 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ública y privada 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 sólo para cifrar/descifrar un valor de clave corto. [3]
Todas las implementaciones prácticas de criptografía de clave pública hoy en día emplean el uso de un sistema híbrido. Los ejemplos incluyen 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íbrida (HPKE, publicado como RFC 9180) es un estándar moderno para el cifrado híbrido genérico. HPKE se utiliza en múltiples protocolos IETF, incluidos MLS y TLS Encrypted Hello.
El cifrado de sobres es un ejemplo del uso de criptosistemas híbridos en la computación en la nube . En un contexto de nube, los criptosistemas híbridos también permiten una 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 elegidos de forma adaptativa , entonces el esquema híbrido también hereda esa propiedad. [4] Sin embargo, es posible construir un esquema híbrido seguro contra ataques de texto cifrado elegidos adaptativamente 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 un poco más fuerte). [12]
El cifrado de sobre es un término utilizado para cifrar con un criptosistema híbrido utilizado por 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 sobre proporciona 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 sobre 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 . Entonces, este DEK envuelto 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 el 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 los sistemas en la nube, como Google Cloud Platform y Amazon Web Services , un sistema de gestión de claves (KMS) puede estar disponible como servicio. [13] [10] [14] En algunos casos, el sistema de administración de claves almacenará las claves en módulos de seguridad de hardware , que son sistemas de hardware que protegen las claves con características de hardware como resistencia a intrusiones. [15] Esto significa que las KEK también pueden ser más seguras porque se almacenan en hardware especializado seguro. [13] El cifrado de sobres facilita la administración centralizada de claves porque un sistema de administración de claves centralizado solo necesita almacenar KEK, que ocupan menos espacio, y las solicitudes al KMS solo implican el envío de DEK empaquetadas y no empaquetadas, que usan 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]