HPKE (Hybrid Public Key Encryption) es un estándar IETF (RFC 9180) que define un esquema de cifrado de clave pública híbrido. Su propósito principal es permitir que un remitente establezca de forma segura una clave simétrica compartida con un receptor, utilizando la clave pública del receptor, para luego cifrar datos con esa clave simétrica. HPKE es 'híbrido' porque combina técnicas de criptografía de clave pública (para el intercambio de claves) con criptografía simétrica (para el cifrado de datos). Ofrece cuatro modos de operación (Base, PSK, Auth, AuthPSK) y es agnóstico a los algoritmos subyacentes, permitiendo el uso de diferentes esquemas de encapsulación de claves (KEMs), funciones de derivación de claves (KDFs) y esquemas de cifrado autenticado (AEADs).
HPKE está ganando tracción como un componente fundamental en la construcción de protocolos de seguridad modernos. Un ejemplo prominente es su adopción por la especificación MLS (Message Layer Security), el protocolo de seguridad de extremo a extremo para grupos utilizado en aplicaciones de mensajería. También es un candidato clave para la próxima generación de TLS (Transport Layer Security) 1.3, donde podría ofrecer una mayor flexibilidad y resistencia a ataques cuánticos mediante la integración de KEMs post-cuánticos. Otros casos de uso incluyen el cifrado de datos en reposo o en tránsito en entornos distribuidos, donde se requiere un establecimiento de clave robusto y adaptable.
Para un arquitecto, HPKE es crucial por su flexibilidad y su enfoque en la seguridad a largo plazo. Permite desacoplar el mecanismo de intercambio de claves de los algoritmos de cifrado de datos, facilitando la actualización de componentes criptográficos sin rediseñar todo el protocolo. Esto es vital para la 'agilidad criptográfica' y la preparación para la era post-cuántica, ya que permite la fácil integración de algoritmos resistentes a computadoras cuánticas. Al elegir HPKE, un arquitecto puede diseñar sistemas con una base criptográfica robusta y adaptable, minimizando el riesgo de obsolescencia criptográfica y simplificando la gestión de claves en entornos complejos. La elección de los modos y algoritmos subyacentes (KEM, KDF, AEAD) debe hacerse cuidadosamente, considerando el rendimiento, el tamaño de los mensajes y los requisitos de seguridad específicos del caso de uso.