WebAuthn PRF-Based Vault Key Wrapping and Zero-Knowledge PWA Storage Architecture
Este artículo presenta una arquitectura de seguridad del lado del cliente para bóvedas de credenciales basadas en la web que logra propiedades sólidas de conocimiento cero mediante la combinación de la extensión PRF de WebAuthn con criptografía simétrica y patrones de almacenamiento optimizados en el navegador.
Artículo original bajo licencia CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina que tienes una caja fuerte digital (una "bóveda") donde guardas tus secretos más importantes, como contraseñas o notas privadas. Normalmente, para abrir esta caja fuerte, necesitas una llave maestra (una contraseña). Pero, ¿qué pasaría si pudieras abrirla usando tu rostro, tu huella digital o una llave de seguridad física? Y, ¿qué pasaría si, incluso si un hacker robara una copia del contenido de tu caja fuerte, todavía no pudiera leer ni una sola palabra sin tu clave biométrica específica?
Este artículo de Ian Pinto describe una nueva forma de construir ese tipo de caja fuerte digital ultra segura para los navegadores web. Combina algunos conceptos de alta tecnología en un sistema que mantiene tus datos en "conocimiento cero" (zero-knowledge)—lo que significa que el servidor o el sistema de almacenamiento no sabe nada sobre lo que hay dentro, ni siquiera la clave para abrirlo.
Así es como funciona, desglosado en partes sencillas:
1. La Llave Mágica: WebAuthn PRF
Piensa en tu passkey (la que usas para iniciar sesión con tu rostro o huella digital) no solo como un portero de "Sí/No", sino como un generador de recetas secretas.
- La forma antigua: Demuestras que eres tú, y el sistema dice "Acceso Concedido".
- La nueva forma (PRF): Cuando demuestras que eres tú, tu dispositivo ejecuta secretamente una compleja receta matemática (llamada Función Pseudoaleatoria o PRF) utilizando una "sal" especial (un ingrediente aleatorio). Esta receta produce una "salsa secreta" única y de alta calidad (un código de 32 bytes) que solo tu dispositivo específico sabe cómo fabricar.
- El truco: Esta salsa secreta se crea dentro del chip seguro de tu dispositivo. Nunca sale del dispositivo y nunca se guarda en el disco duro. Existe por una fracción de segundo, lo suficiente para desbloquear tu caja fuerte, y luego se borra inmediatamente.
2. El Candado: Envolver la Llave de la Bóveda
Tu bóveda tiene una llave maestra (llamémosla Llave K) que realmente bloquea los datos.
- El sistema toma esa fugaz "salsa secreta" de tu passkey y la utiliza para envolver la Llave K en un sobre digital (encriptación).
- Una vez envuelta, la Llave K queda encerrada dentro de este sobre. El sistema guarda este sobre en el almacenamiento de tu navegador (IndexedDB).
- Punto crucial: El sistema nunca guarda la salsa secreta ni la Llave K sin envolver. Solo guarda el sobre cerrado. Si un hacker roba el almacenamiento, solo tiene una caja cerrada y sin llave.
3. La Casa de Seguridad: Almacenamiento IndexedDB
El artículo propone una forma específica de organizar estos datos en el almacenamiento del navegador (IndexedDB), que es como un archivador digital.
- El sistema de archivos: El sistema crea tres carpetas específicas:
- Las Bóvedas (The Vaults): Donde viven los sobres cerrados (las llaves envueltas).
- Las Credenciales (The Credentials): Una lista de tus passkeys y sus "números de serie" (para asegurar que nadie esté usando una copia falsa de tu llave).
- Los Metadatos (The Meta): Notas generales para la aplicación.
- Garantía de Conocimiento Cero: El artículo argumenta que, debido a que el almacenamiento solo contiene los sobres cerrados y los metadatos públicos, un ladrón que robe todo el archivador no puede reconstruir la llave. Se quedará atrapado con la caja cerrada y sin forma de abrirla sin tu dispositivo físico.
4. El Plan de Respaldo: El "Fallback de Contraseña"
¿Qué pasa si tu navegador no admite esta sofisticada función de "salsa secreta" (como en algunas tabletas Android)?
- El sistema tiene un plan de respaldo llamado pw-v1. En lugar de usar la salsa secreta de la passkey, utiliza un rompecabezas matemático muy lento y pesado (scrypt) basado en una contraseña tradicional que tú escribes.
- Esto es más lento y menos conveniente, pero asegura que aún puedas abrir tu caja fuerte incluso si la función de hardware avanzado no está disponible. Es como tener una cerradura de llave física junto al escáner biométrico.
5. Verificaciones de Seguridad: Detener Ataques de Replay
El artículo enfatiza un "control de replay" (repetición).
- Imagina que un ladrón graba tu señal de "desbloqueo" e intenta reproducirla más tarde para abrir la caja fuerte.
- El sistema mantiene un contador (como un odómetro en un coche). Cada vez que desbloqueas la caja fuerte, el contador sube. Si el sistema ve una señal con un número de contador antiguo, sabe que es una grabación y la rechaza.
- Nota: El artículo admite que esto no es perfecto para todos los dispositivos (algunas passkeys sincronizadas no actualizan el contador), pero añade una capa de defensa.
6. Lo que este artículo NO hace
El autor es muy cuidadoso al decir contra qué no protege este sistema:
- No protege contra un virus en tu computadora. Si un hacker ya está dentro de tu navegador observándote escribir, pueden robar la llave mientras se está usando. Este sistema solo protege los datos en reposo (cuando están guardados en el almacenamiento).
- No protege contra filtraciones de "canal lateral" (side-channel). Si la aplicación comprime los datos antes de bloquearlos, o si el tamaño de la caja cerrada cambia según la longitud de tu contraseña, un hacker astuto podría adivinar qué hay dentro simplemente midiendo el tamaño de la caja. El artículo advierte a los desarrolladores que rellenen sus datos (hacer que todas las cajas tengan el mismo tamaño) para evitar esto.
Resumen
Este artículo presenta un plano para una bóveda de contraseñas basada en la web que es matemáticamente probada como ilegible para cualquiera que no tenga tu passkey física específica. Utiliza tu passkey para generar un código temporal de un solo uso que bloquea tus datos, asegura que ese código nunca se guarde, y organiza el almacenamiento de modo que incluso un robo total de la base de datos no arroje más que cajas cerradas. Es un sistema de "Conocimiento Cero" donde el proveedor de almacenamiento (o un hacker) no sabe nada sobre tus secretos.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.