Protocolos PAKE y sus propiedades
Conozca la familia de protocolos de intercambio de claves autenticado mediante contraseña, incluidos OPAQUE y SPAKE2.
Protocolos PAKE y sus propiedades es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.
Introducción a la familia PAKE
Password Authenticated Key Exchange (PAKE) es una familia de protocolos que permite a dos partes que solo comparten una contraseña de baja entropía establecer una clave de sesión de alta entropía con autenticación mutua. A diferencia de la autenticación tradicional mediante contraseña, PAKE proporciona secreto perfecto hacia adelante y resistencia a los ataques de diccionario sin conexión, sin transmitir la contraseña.
PAKE equilibrado frente a PAKE aumentado
El PAKE equilibrado (B-PAKE) trata a ambas partes de forma simétrica: tanto el cliente como el servidor poseen el mismo secreto (la contraseña o una transformación simétrica de esta). El PAKE aumentado (A-PAKE) es asimétrico: el servidor solo posee un verificador público derivado de la contraseña, por lo que la vulneración del servidor no resulta catastrófica para la seguridad del cliente.
Protocolo SPEKE
Simple Password Exponential Key Exchange (SPEKE) es un PAKE equilibrado en el que ambas partes utilizan la contraseña para definir un generador de grupo g = H(password). El intercambio posterior es un intercambio de claves Diffie-Hellman que utiliza este generador derivado de la contraseña, lo que garantiza que solo las partes que conocen la contraseña puedan completarlo.
Protocolo J-PAKE
Password Authenticated Key Exchange by Juggling (J-PAKE), RFC 8236, utiliza pruebas de conocimiento cero para permitir que dos partes establezcan una clave de sesión a partir de una contraseña compartida. J-PAKE se utiliza en Thread (un protocolo de red IoT) y se implementó en OpenSSL. No está sujeto a patentes y proporciona las propiedades de un PAKE equilibrado.
OPAQUE: PAKE asimétrico
OPAQUE (un borrador del IETF, draft-irtf-cfrg-opaque) es un PAKE aumentado con sólidas propiedades de seguridad. Durante el registro, el cliente utiliza una PRF ciega (OPRF) para derivar una clave a partir de la contraseña sin que el servidor conozca la contraseña. El servidor almacena un sobre cifrado que contiene la clave privada del cliente.
Fase de inicio de sesión de OPAQUE
Durante el inicio de sesión mediante OPAQUE, el cliente y el servidor ejecutan un protocolo OPRF para reconstruir la clave del cliente sin que el servidor conozca la contraseña. A continuación, el cliente utiliza esta clave para descifrar el sobre y obtener las credenciales necesarias para completar un intercambio de claves. El servidor nunca observa la contraseña en ninguna fase.
Resistencia de OPAQUE a la precomputación
OPAQUE proporciona resistencia a la precomputación: aunque un atacante comprometa el servidor y obtenga todos los datos almacenados, no puede realizar un ataque de diccionario sin conexión sobre los valores almacenados sin simular una nueva interacción OPRF para cada intento. Esta garantía es más sólida que la que proporciona SRP.
SPAKE2 y SPAKE2+
SPAKE2 (RFC 9382) es un PAKE equilibrado sencillo basado en Diffie-Hellman con claves públicas cegadas mediante contraseña. SPAKE2+ es la variante aumentada, en la que el servidor almacena valores separados para los roles de cliente y servidor. Apple utiliza SPAKE2+ en HomeKit para emparejar dispositivos, y también se emplea en varios protocolos de aprovisionamiento de dispositivos IoT.
PAKE CPace
CPace (componente de RFC 9380) es un PAKE componible diseñado por Haase y Labrique, adoptado como PAKE equilibrado estándar del IETF. CPace está diseñado para componerse con pasos posteriores de confirmación de claves y se recomienda para los nuevos protocolos que necesitan un PAKE equilibrado. Es el PAKE equilibrado seleccionado por CFRG, junto con OPAQUE como PAKE aumentado.
Comparación de las propiedades de seguridad de los PAKE
Todos los PAKE proporcionan autenticación y establecimiento de claves. Los PAKE aumentados también proporcionan resistencia ante la vulneración del servidor. OPAQUE ofrece resistencia a la precomputación, además de resistencia ante la vulneración del servidor. FIDO2 proporciona vinculación al origen, lo que evita el phishing. La elección depende de si se requiere autenticación basada en contraseña o si esta puede reemplazarse por credenciales de clave pública.
Consideraciones para implementar PAKE
Los protocolos PAKE son más complejos de implementar correctamente que un simple hashing de contraseñas y deberían obtenerse de bibliotecas auditadas. El CFRG del IETF ha estandarizado CPace (B-PAKE) y OPAQUE (A-PAKE) como opciones recomendadas para los nuevos protocolos. SRP sigue utilizándose en implementaciones existentes, pero OPAQUE es la opción preferida para los nuevos diseños.
Comprobación de las propiedades de PAKE
¿Qué propiedad de PAKE distingue al PAKE aumentado (A-PAKE) del PAKE equilibrado (B-PAKE)?
Resumen de la lección: panorama de los protocolos PAKE
Los protocolos PAKE permiten la autenticación mutua basada en contraseña y el establecimiento de claves. Los PAKE equilibrados (CPace, SPAKE2 y J-PAKE) son simétricos. Los PAKE aumentados (SRP, OPAQUE y SPAKE2+) almacenan únicamente verificadores en el servidor. OPAQUE proporciona las garantías más sólidas, incluida la resistencia a la precomputación. El IETF ha estandarizado CPace y OPAQUE como las opciones modernas recomendadas.
Preguntas frecuentes
¿La lección «Protocolos PAKE y sus propiedades» es gratis?
Sí — el texto completo de «Protocolos PAKE y sus propiedades» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Protocolos PAKE y sus propiedades»?
Conozca la familia de protocolos de intercambio de claves autenticado mediante contraseña, incluidos OPAQUE y SPAKE2. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cryptology Academy?
No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Protocolos PAKE y sus propiedades»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?
Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- El problema fundamental de la autenticación mediante contraseñas
- SRP: protocolo de contraseña remota segura
- Protocolos PAKE y sus propiedades
- Autenticación sin contraseña: WebAuthn y FIDO2