Las contraseñas generalmente se consideran fundamentalmente dañadas, por lo que cualquier política de contraseña es un intento de apuntalar las cosas en el mejor de los casos. Dicho esto, una política de contraseñas de "mejores prácticas" generalmente incluirá al menos los siguientes requisitos, además de longitud mínima de la contraseña :
Envejecimiento de la contraseña:
Una edad máxima para la contraseña, de modo que la misma contraseña no se use indefinidamente
Un historial de contraseñas , para evitar que los usuarios vuelvan a cambiar a una de las N contraseñas utilizadas anteriormente (y, por lo tanto, no las cambien).
Algunas políticas también tendrán una edad mínima para evitar que las personas cambien su contraseña N (y, por lo tanto, omitan el mecanismo del historial de contraseñas y no lo cambien en absoluto). ).
(¡Tenga en cuenta que los últimos dos de estos controles son para evitar que los usuarios intenten sortear el primero! Esta es otra pista de que las contraseñas están bastante dañadas)
Complejidad de la contraseña :
Por lo general, estos incluirán requisitos para caracteres "especiales", o el uso de varias clases de caracteres, con el objetivo de aumentar el número efectivo de bits en la contraseña y aumentar la cantidad de tiempo que se tarda en forzar una contraseña.
También es útil tener una política que no solo no permita palabras del diccionario (como contraseña ), sino palabras derivadas del diccionario (por ejemplo, password123 , drowssap321 etc). El objetivo aquí es prevenir los ataques de diccionario que pueden acelerar el descifrado automático de contraseñas.
Más allá de esto, es posible debatir todo tipo de otros requisitos y valores exactos para los diversos parámetros (¿los usuarios deben cambiar las contraseñas cada 90 días o 30 días o cada 5 minutos? etc.), así como la cantidad de entropía que obtiene / pierda por los requisitos de complejidad, pero cuando estas cosas son muy importantes, las contraseñas no son un buen control en primer lugar.