El protocolo OPAQUE explicado: por qué tu contraseña nunca debería tocar el servidor
Cada vez que inicias sesión en un sitio web, estás realizando una de las operaciones más peligrosas en ciberseguridad: transmitir prueba de tu identidad. Durante décadas, hemos confiado en un enfoque fundamentalmente defectuoso — enviar hashes de contraseñas a los servidores. OPAQUE cambia todo.
La falla fundamental
En la autenticación tradicional, esto es lo que ocurre cuando escribes tu contraseña:
- Tu contraseña se hashea (con bcrypt o PBKDF2)
- El hash se envía al servidor a través de TLS
- El servidor lo compara con el hash almacenado
Esto parece seguro, pero tiene debilidades críticas:
- El servidor almacena hashes. Si se filtra, los atacantes pueden intentar ataques de fuerza bruta offline contra cada hash.
- El hash se transmite. Incluso a través de TLS, el hash pasa por la memoria del servidor, donde podría ser interceptado.
- Ataques de pre-cómputo. Los atacantes pueden pre-calcular hashes de contraseñas comunes y compararlos con bases de datos robadas.
¿Qué es OPAQUE?
OPAQUE (RFC 9807) es un protocolo de intercambio de claves asimétrico autenticado por contraseña (aPAKE). En términos simples, te permite demostrar que conoces una contraseña sin que el servidor aprenda nada — ni la contraseña, ni un hash, ni siquiera una forma cifrada.
Cómo funciona OPAQUE
Registro (configuración inicial)
- Tu dispositivo genera un par de claves aleatorio y un "sobre" que contiene tus claves de cifrado
- El sobre se cifra con una clave derivada de tu contraseña
- El sobre cifrado y la clave pública se envían al servidor
- El servidor los almacena — pero no puede abrir el sobre sin tu contraseña
Autenticación (cada inicio de sesión)
- Tu dispositivo inicia un intercambio criptográfico con el servidor
- A través de Funciones Pseudo-Aleatorias Olvidadizas (OPRF), el servidor ayuda a tu dispositivo a derivar la clave correcta — sin saber cuál es
- Tu dispositivo descifra el sobre y recupera su clave privada
- Ambas partes establecen una clave de sesión compartida
En ningún momento el servidor ve tu contraseña o algo derivado de ella. El servidor asiste en el cálculo sin adquirir conocimiento — esta es la parte "olvidadiza".
Por qué importa para los gestores de contraseñas
- Resistencia a filtraciones: Un volcado de base de datos es inútil — no hay hashes que descifrar
- Resistencia al phishing: El protocolo está vinculado a la identidad del servidor
- Secreto hacia adelante: Cada sesión usa claves frescas
- Sin almacenamiento equivalente a contraseña: Los datos almacenados no pueden usarse para suplantar al usuario
Conclusión
OPAQUE representa un cambio de paradigma en autenticación. En lugar de esperar que el hash de tu contraseña no sea robado y descifrado, OPAQUE garantiza que no hay nada útil que robar. Para los gestores de contraseñas — donde lo que está en juego es toda tu identidad digital — esto no es opcional. Es esencial.