Sin embargo, aquí hay un desglose de las recomendaciones y consideraciones comunes:
Directrices generales:
* 80 bits de entropía es una línea de base ampliamente recomendada para la seguridad de la contraseña segura. Este es un buen punto de partida para la mayoría de las aplicaciones y servicios. ¿Por qué? Porque hace que la contraseña bruta sea la contraseña prohibitivamente costosa para la mayoría de los atacantes.
* Al menos 11 caracteres con una fuerte aleatoriedad: Esto a menudo se traduce en aproximadamente 50 bits de entropía utilizando un generador de contraseñas seguras con un conjunto de caracteres grande (mayúsculas, minúsculas, dígitos, símbolos). Si bien es mejor que nada, se considera el límite adecuado por muchos expertos en seguridad y podría ser vulnerable a ataques más sofisticados, especialmente si el proceso de creación de contraseñas es defectuoso o los usuarios toman decisiones predecibles.
Factores que afectan los requisitos de entropía:
* El valor de los datos protegidos: Si está protegiendo información altamente sensible (por ejemplo, cuentas bancarias, secretos del gobierno), querrá una entropía significativamente más alta. Piense en el rango de 100 bits o más.
* Los recursos del atacante: Los actores del estado-nación o las grandes organizaciones penales tienen los recursos para descifrar contraseñas que se considerarían "fuertes" para los usuarios promedio.
* El algoritmo de Hashing utilizado: Un algoritmo de hashing moderno y fuerte (como Argon2, Bcrypt o Scrypt) es crucial. Si está utilizando un algoritmo más antiguo y más débil (como MD5 o SHA1), incluso las contraseñas de alta entropía pueden ser vulnerables. El algoritmo de Hashing se suma al costo de un ataque, lo que lo convierte en una capa vital de defensa.
* sal: Una sal única y generada al azar debe * siempre * se usa al hash las contraseñas. Las sales evitan que los atacantes usen tablas de hash de contraseña precomputadas (tablas de arco iris).
* Requisitos de complejidad de contraseña: Si bien los requisitos de complejidad (por ejemplo, "deben contener una letra mayúscula, un número y un símbolo") a menudo se implementan, pueden ser contraproducentes. Los usuarios tienden a crear contraseñas predecibles que cumplan con los requisitos, lo que en realidad * reduce * la entropía. Es mejor fomentar *longitud *y *aleatoriedad *.
* Reutilización de contraseña: La reutilización de contraseña en varios sitios es un riesgo de seguridad * importante *. Si un servicio se ve comprometido, todas las cuentas que usan la misma contraseña se vuelven vulnerables.
* Administradores de contraseñas: Se recomienda muy recomendable usar un administrador de contraseñas de buena reputación para generar contraseñas fuertes y únicas para cada sitio. Los administradores de contraseñas pueden crear y administrar fácilmente contraseñas con 128 bits de entropía o más.
* Autenticación multifactor (MFA): Habilitar MFA agrega una segunda capa de seguridad, incluso si la contraseña es débil o comprometida. Esto aumenta significativamente la dificultad para un atacante.
Estimación de entropía:
La entropía generalmente se mide en *bits *. Cada bit representa una reducción del 50% en la incertidumbre. Cuanto mayor sea la entropía, más difícil será adivinar o descifrar la contraseña.
* Tamaño del conjunto de caracteres: El número de caracteres posibles que puede usar en su contraseña (mayúsculas, minúsculas, dígitos, símbolos).
* Longitud de la contraseña: El número de caracteres en su contraseña.
La fórmula para aproximar la entropía es:
`Entropy (bits) ≈ longitud * log2 (tamaño de conjunto de caracteres)`
`log2 (x)` es el logaritmo base-2 de `x`. Puede aproximarlo con `log10 (x) / log10 (2) ≈ log10 (x) / 0.301`.
Ejemplo:
Supongamos que tiene una contraseña de 12 caracteres y usa letras mayúsculas, letras minúsculas, dígitos y símbolos comunes (en total de aproximadamente 95 caracteres).
* Longitud =12
* Tamaño del conjunto de caracteres =95
Entropía ≈ 12 * log2 (95) ≈ 12 * (log10 (95) / 0.301) ≈ 12 * (1.978 / 0.301) ≈ 12 * 6.57 ≈ 78.84 bits
Recomendaciones:
* Apunte a al menos 80 bits de entropía. Este es un buen equilibrio entre seguridad y usabilidad para muchas aplicaciones.
* Priorizar la longitud de la contraseña sobre los requisitos de complejidad. Una contraseña larga y aleatoria es mucho más difícil de descifrar que una corta y compleja.
* Use un algoritmo de hash de contraseña con una sal única.
* Habilite la autenticación multifactor siempre que sea posible.
* Fomentar (o incluso hacer cumplir) el uso de administradores de contraseñas.
* Revise y actualice regularmente las políticas de contraseña.
* Educar a los usuarios sobre las mejores prácticas de seguridad de contraseña.
En resumen, 80 bits es un buen punto de partida, pero la entropía mínima ideal depende del contexto específico. Siempre considere el valor de los datos protegidos, los atacantes potenciales y las medidas de seguridad disponibles.