WikiPlus

Frase de Contraseña (Passphrase) vs Contraseña Aleatoria: ¿Cuál es Más Segura?

¿Es más seguro 'correctocaballoestapleabatería' que 'X9#mK2@v'? La respuesta sorprende a mucha gente: sí, la frase de palabras aleatorias es significativamente más segura y además es memorizable. El modo passphrase de nuestro generador de contraseñas usa la lista de palabras EFF (Electronic Frontier Foundation) para crear frases de contraseña de 4, 5 o 6 palabras con aleatoriedad criptográfica, ofreciendo decenas de bits de entropía adicional respecto a contraseñas cortas de caracteres mezclados.

Qué es una passphrase y por qué funciona

Una passphrase (frase de contraseña) es una secuencia de palabras comunes elegidas aleatoriamente. A diferencia de las contraseñas con caracteres mixtos, las passphrases son humanamente memorables pero matemáticamente robustas. La clave está en que las palabras deben ser elegidas de forma verdaderamente aleatoria, no por el usuario (que tiende a elegir palabras relacionadas o frases con sentido). La lista EFF contiene 7,776 palabras (6^5, equivalente a lanzar 5 dados de 6 caras para seleccionar cada palabra), seleccionadas para ser pronunciables, sin ambigüedades y sin contenido ofensivo. Con esta lista, cada palabra añade log2(7776) ≈ 12.9 bits de entropía. Una passphrase de 4 palabras tiene 51.7 bits; de 5 palabras, 64.6 bits; de 6 palabras, 77.5 bits. Para comparar: una contraseña aleatoria de 8 caracteres del conjunto de 90 aporta 52 bits. Una passphrase de 5 palabras supera a una contraseña de 8 caracteres y es mucho más fácil de recordar.

El famoso cómic xkcd 936: cuatro palabras aleatorias

El concepto de passphrase fue popularizado masivamente por el cómic xkcd #936 de Randall Munroe, que comparaba 'Tr0ub4dor&3' (una contraseña típicamente considerada fuerte) con 'correct horse battery staple' (cuatro palabras aleatorias comunes). El análisis mostraba que la passphrase tenía aproximadamente 44 bits de entropía frente a los 28 de la contraseña aparentemente más compleja, porque los sustituciones de letras por números siguen patrones predecibles que los atacantes ya conocen. Además, la passphrase era completamente memorizable: puedes visualizar un caballo correcto al lado de una batería y una grapa. La lección es que la complejidad visual de una contraseña (mezcla de símbolos, números y letras) no es un buen proxy de su seguridad real; la entropía (la verdadera imprevisibilidad) es lo que importa. Nuestro modo passphrase implementa exactamente este principio usando aleatoriedad criptográfica de la Web Crypto API.

Cuándo usar passphrase vs contraseña aleatoria

Ambos tipos tienen sus contextos óptimos. Las passphrases son ideales para: contraseñas maestras de gestores de contraseñas (necesitas memorizarla y no escribirla en ningún lado), contraseñas de cifrado de disco (BitLocker, VeraCrypt), contraseñas de redes WiFi domésticas (necesitas introducirlas en nuevos dispositivos), contraseñas de SSH o VPN que introduces regularmente en entornos sin gestor de contraseñas, y contraseñas de cuentas de email principales como mecanismo de recuperación. Las contraseñas aleatorias de caracteres son preferibles para: cuentas que almacenas en un gestor de contraseñas (no necesitas recordarlas, así que la memorabilidad no importa), sistemas que limitan la longitud máxima de contraseñas (algunos sistemas legacy solo aceptan hasta 16 caracteres, y una contraseña de 16 caracteres aleatorios supera a una passphrase de 4 palabras cortas). Nuestro generador ofrece ambos modos para adaptarse a cada caso de uso.

La lista EFF y la aleatoriedad criptográfica del modo passphrase

La lista de palabras EFF fue diseñada específicamente para passphrases de alta seguridad. En 2016, la Electronic Frontier Foundation publicó listas de palabras seleccionadas con tres criterios: facilidad de escritura (sin caracteres problemáticos), ausencia de homónimos que generen confusión al dictarlas, y contenido neutral sin palabras ofensivas o de significado muy específico. La lista estándar EFF tiene 7,776 palabras, diseñada para uso con dados de 6 caras (sistema Diceware original). Nuestro generador usa esta lista junto con crypto.getRandomValues() para seleccionar aleatoriamente la cantidad de palabras especificada. Cada selección es independiente, igual que lanzar los dados físicamente. El separador entre palabras (espacio, guión, punto) puede configurarse según los requisitos del sistema donde usarás la contraseña. Algunos sistemas no aceptan espacios en contraseñas; en esos casos, un guión o un número entre palabras mantiene la separación visual sin usar espacios.

Preguntas frecuentes

¿Cuántas palabras necesita una passphrase para ser segura?
Con la lista EFF de 7,776 palabras, cinco palabras aleatorias dan 64.6 bits de entropía, lo que es suficiente para la mayoría de usos. Para la contraseña maestra de tu gestor de contraseñas o para el cifrado de disco, seis palabras (77.5 bits) es la recomendación. Cuatro palabras (51.7 bits) son adecuadas para cuentas con 2FA activado.
¿Las passphrases funcionan en sistemas que exigen caracteres especiales?
Si el sistema requiere al menos un número y un símbolo, puedes añadir manualmente un número y un símbolo al final de la passphrase (por ejemplo, 'correcto-caballo-batería-2!') sin reducir significativamente la seguridad, ya que las 4+ palabras ya aportaron la mayor parte de la entropía. Evita sustituir letras por números o símbolos dentro de las palabras, ya que eso reduce la memorabilidad sin añadir entropía real.
¿Puede un atacante usar un diccionario de palabras para atacar passphrases?
Sí, los ataques de diccionario contra passphrases existen, pero el espacio de búsqueda es enorme. Para 5 palabras de una lista de 7,776, hay 7,776^5 ≈ 2.8×10^19 combinaciones posibles. A 10^12 intentos por segundo, tardaría más de 30,000 años en agotar todas las combinaciones. Esto asume que el atacante sabe que usas la lista EFF con 5 palabras, lo cual ya es un escenario muy favorable para el atacante.