Qué longitud debe tener una contraseña

Fundamentos

Ocho caracteres, doce, dieciséis: qué hay detrás de esas cifras y por qué un carácter más vale más que cualquier símbolo.

«Al menos ocho caracteres» aparece en la mitad de los formularios de registro de internet. La cifra viene de recomendaciones escritas en los años noventa y no se ha movido desde entonces, mientras que la velocidad de descifrado ha crecido millones de veces.

De dónde salen los años

Cada carácter añadido multiplica el número de candidatos por el tamaño del alfabeto. Para el conjunto completo de 94 caracteres imprimibles, eso es multiplicar por 94: un solo carácter aporta más que cualquier complicación de los que ya están.

LongitudEntropíaSin conexión, 10¹⁰/sGranja, 10¹⁴/s
852 bitsunas horassegundos
1065 bitsunos dos mesesunos minutos
1279 bitscientos de miles de añosdécadas
1492 bitsmiles de millones de añoscientos de miles de años
16105 bitsmás que la edad del universomás que la edad del universo
20131 bitsno merece la pena calcularlono merece la pena calcularlo
Las cifras son para una contraseña aleatoria del conjunto completo. Una contraseña inventada por una persona no tiene esta robustez con ninguna longitud: por qué.
Tiempo de descifrado en escala logarítmica
8 signos horas
10 meses
12 cientos de miles de años
14 miles de millones de años
16 más que el universo
20 no merece calcularlo

Cada barra es el doble de larga no porque el tiempo se duplique: la escala es logarítmica, si no las cinco primeras se fundirían en una línea invisible en el borde izquierdo. La diferencia entre 8 y 16 caracteres no es del doble, sino de trillones.

Un carácter frente a todo el alfabeto

Una discusión habitual: ¿es mejor añadir símbolos o añadir longitud? La aritmética responde sin ambigüedad.

Ampliar el alfabeto
  • De 26 letras a 94 caracteres: +1,85 bits por carácter
  • La contraseña se vuelve más difícil de teclear
  • Algunos formularios rechazan los símbolos
  • Dictarla en voz alta se vuelve casi imposible
Añadir un carácter
  • Cada carácter: +6,55 bits con el conjunto completo
  • Teclearla no se complica cualitativamente
  • Funciona en cualquier formulario
  • Un carácter vale más que ampliar todo el alfabeto

Qué usar en la práctica

  • 16 caracteres — valor por defecto sensato para todo lo que vive en un gestor. Página lista.
  • 20 o más — correo, banco, el propio gestor de contraseñas. Se teclean poco y valen más que el resto.
  • 32 o más — claves, tokens y cuentas de servicio que pone un programa.
  • 12 — el mínimo por debajo del cual no bajar si el formulario permite más.
  • 8 — solo cuando el sistema no acepta nada más largo. Entonces el segundo factor es obligatorio.

Si un formulario limita la longitud a doce caracteres, suele significar que la contraseña no se guarda bien, y es un motivo para no repetirla en ningún otro sitio.

Copiado