Saltar al contenido principal

Entropía de contraseñas - Cómo medir la verdadera fortaleza

Lectura de 2 min aprox.

La entropía es una medida de la incertidumbre en la teoría de la información y, en el contexto de las contraseñas, es un indicador que expresa, en bits, lo difícil que es predecir una contraseña. Cuanto mayor es el valor de la entropía, más difícil es adivinar la contraseña. La entropía de una contraseña se calcula a partir del número de tipos de caracteres y la longitud utilizada, lo que permite evaluar cuantitativamente su resistencia a los ataques de fuerza bruta.

Método de cálculo y ejemplos numéricos concretos

La entropía de una contraseña se calcula como «log2(número de tipos de caracteres) x longitud». A continuación se muestra la entropía de algunas configuraciones representativas.

  • Solo letras minúsculas (26 tipos) x 8 caracteres = unos 37,6 bits
  • Letras mayúsculas y minúsculas + dígitos (62 tipos) x 10 caracteres = unos 59,5 bits
  • Letras mayúsculas y minúsculas + dígitos + símbolos (95 tipos) x 12 caracteres = unos 78,8 bits
  • Letras mayúsculas y minúsculas + dígitos + símbolos (95 tipos) x 16 caracteres = unos 105 bits
  • Letras mayúsculas y minúsculas + dígitos + símbolos (95 tipos) x 20 caracteres = unos 131 bits

Algunos medidores de fortaleza presentes en las herramientas de contraseñas utilizan esta forma de entender la entropía como referencia (otros estiman el número de intentos mediante coincidencia de patrones, por lo que el método de cálculo varía según la herramienta). Cada 10 bits adicionales multiplican por unas 1.024 veces el número de combinaciones que hay que recorrer por fuerza bruta. Aumentar tanto la longitud como el número de tipos de caracteres eleva la entropía: con un conjunto de 95 caracteres, cada carácter adicional aporta unos 6,6 bits, mientras que ampliar el conjunto de 62 a 95 tipos aporta unos 0,6 bits por carácter. Sin embargo, el número de tipos de caracteres utilizables tiene un límite superior (unos 95 caracteres ASCII imprimibles), mientras que la longitud no tiene un límite inherente, por lo que el margen de crecimiento es mayor por el lado de la longitud.

Su lugar en el diseño de políticas

Las políticas de contraseñas de las organizaciones a veces fijan una longitud mínima y luego rechazan las cadenas que aparecen en diccionarios o en listas de contraseñas filtradas anteriormente. NIST SP 800-63B señala que estimar la entropía de las contraseñas elegidas por los usuarios es difícil y, en su lugar, presenta un enfoque basado principalmente en la longitud. El documento exige que los secretos memorizados (las contraseñas) tengan al menos 8 caracteres, renuncia a imponer requisitos de complejidad adicionales como mezclar tipos de caracteres y pide que las contraseñas elegidas por los usuarios se comparen con una lista de bloqueo que incluya filtraciones anteriores y palabras de diccionario.

Aplicación práctica y errores comunes

La entropía es un indicador teórico de la fortaleza de una contraseña, pero en la práctica hay puntos a tener en cuenta. El cálculo de la entropía supone una «generación completamente aleatoria», y las contraseñas ideadas por personas son vulnerables a los ataques de diccionario y al análisis de patrones, por lo que su fortaleza real es menor que la entropía calculada. Por ejemplo, «P@ssw0rd123!» tiene una gran variedad de tipos de caracteres y parece tener una entropía calculada alta, pero al ser un patrón muy conocido, un ataque de diccionario la rompe al instante. Además, el tiempo necesario para una búsqueda exhaustiva no es fijo aunque el número de bits sea el mismo: varía en órdenes de magnitud según los recursos de cálculo que pueda movilizar el atacante y según la función de hash y el número de iteraciones (estiramiento) que utilice el servicio, por lo que no se puede determinar el tiempo necesario solo a partir del número de bits. Si se utiliza un generador de números aleatorios criptográficamente seguro, se pueden generar contraseñas verdaderamente aleatorias cuya entropía calculada coincide con su fortaleza real.

Términos relacionados

¿Te resultó útil este artículo?