Casi cualquier router doméstico en España o Latinoamérica configurado con WPA2-PSK ya usa PBKDF2 sin que el usuario lo sepa: la contraseña del Wi-Fi se pasa por PBKDF2-HMAC-SHA1 con 4096 iteraciones y el nombre de la red (SSID) como sal, generando la clave de cifrado real de 256 bits. Es la aplicación de PBKDF2 más extendida del mundo, y explica por qué una contraseña de Wi-Fi corta es tan vulnerable a un ataque de fuerza bruta offline tras capturar un solo "handshake".
El principio del estiramiento de claves
En lugar de hashear una contraseña una sola vez, PBKDF2 aplica una función hash base (normalmente HMAC-SHA256) muchos miles de veces seguidas, usando el resultado de cada iteración como entrada de la siguiente. Esto ralentiza deliberadamente el cálculo de un solo hash, haciendo que la fuerza bruta masiva sea mucho más costosa para un atacante.
Por qué esta herramienta necesita HTTPS
Esta herramienta calcula PBKDF2 usando la Web Crypto API nativa del navegador en lugar de una implementación manual en JavaScript. Los navegadores solo exponen crypto.subtle en un "contexto seguro" — HTTPS, o localhost durante el desarrollo — así que sin conexión cifrada esta y cualquier otra herramienta criptográfica del sitio simplemente no funciona, sin importar la potencia del dispositivo.
Por qué PBKDF2 es menos resistente que Argon2 o scrypt
Como PBKDF2 solo requiere cómputo y no una cantidad significativa de memoria, es más fácil y barato atacarlo con hardware especializado (GPU, ASIC) que paraleliza eficientemente ese tipo de operaciones. Por eso para sistemas nuevos se recomiendan más a menudo algoritmos memory-hard, aunque PBKDF2 sigue siendo un estándar ampliamente soportado.
Para qué se necesita esto
- Derivar claves criptográficas a partir de contraseñas para cifrado (por ejemplo, en WPA2/WPA3 para Wi-Fi).
- Mantener compatibilidad con sistemas antiguos que usan PBKDF2 para almacenar contraseñas.
- Entender por qué el número de iteraciones recomendado sigue aumentando en las nuevas versiones de los estándares.
La elección de la función hash base importa
Las implementaciones antiguas de PBKDF2 solían usar HMAC-SHA1 por defecto — el propio SHA-1 se considera criptográficamente debilitado para el hasheo directo, pero dentro de la construcción HMAC esa debilidad no es una vulnerabilidad crítica. Aun así, las recomendaciones actuales aconsejan claramente HMAC-SHA256 o HMAC-SHA512 — no por una amenaza directa de SHA-1, sino porque una salida más larga y una función más moderna ofrecen mayor margen de seguridad sin una pérdida de velocidad apreciable.