Aquí hay un tipo de contraseña que es "razonablemente" robusta y sin embargo "razonablemente" fácil de recordar y escribir:
Seleccione dos letras minúsculas aleatorias, luego dos dígitos aleatorios, luego dos letras mayúsculas aleatorias, luego dos dígitos aleatorios.
La combinación de mayúsculas y minúsculas y los dígitos permiten que tales contraseñas sean aceptadas por la mayoría de las "reglas de contraseñas". La entropía de tales contraseñas es de aproximadamente 32 bits (porque 26 2 * 10 2 * 26 2 * 10 2 = 4569760000, que está ligeramente por encima de 2 32 ). Eso no es mucho, pero es suficiente para frustrar ataques de diccionario en línea (cuando los atacantes intentan iniciar sesión en su servidor "adivinando" la contraseña, posiblemente con un script). Ofrecen una resistencia no despreciable a los ataques de diccionario fuera de línea (por ejemplo, para un archivo cifrado con contraseña o el almacenamiento de contraseña con hash en una base de datos) SI (y solo si) se emplean con técnicas adecuadas de fortalecimiento de contraseña, es decir, sales y hash lento ( bcrypt ).
Resulta que encuentro tales contraseñas fáciles de recordar. Hay indicios indirectos relativamente convincentes de que soy un ser humano y que mi cerebro funciona, al menos cualitativamente, en la misma línea que cualquier otro ser humano, incluidos los "gerentes". Por lo tanto, es plausible que su administrador también encuentre esas contraseñas fáciles de recordar.
Importante: cuando digo aleatorio , lo digo en serio. La aleatoriedad apropiada no se puede lograr en la privacidad de un cerebro humano. Usted deberá:
- use una computadora para generar dígitos y letras al azar;
- dentro de esa computadora, confíe en un PRNG criptográficamente seguro (por ejemplo,
/dev/urandom
en Linux / FreeBSD / MacOS X o CryptGenRandom()
en Windows);
-
acepta la contraseña. No genere cien contraseñas hasta que llegue a una que le guste, porque esto reduce su entropía. Genere una contraseña y aprendala.
Idealmente, no permitiríamos que los usuarios elijan sus propias contraseñas; Proporcionaríamos una herramienta que les genere contraseñas. Dependiendo de la situación, de forma segura transmitir la contraseña generada por computadora al usuario humano podría ser un desafío, por lo que no siempre estamos en el caso ideal.
Parece demasiado optimista esperar que los usuarios promedio usen y recuerden las contraseñas con una entropía de más de 32 bits.
Si su gerente no es cooperativo, hay un plan alternativo: dígale que escriba su contraseña en un papel y que la guarde en su billetera. Una billetera es relativamente segura: al menos, él la cuida a diario. Esto se encarga de la parte "fácil de recordar", al menos durante los primeros días. Además, eso es lo que el presidente de los Estados Unidos hace por algunos de sus códigos de lanzamiento nuclear (asegúrese de informarle a su gerente también).
No no aplique una regla para cambiar la contraseña cada mes: tales reglas son molestas y convierten a usuarios en enemigos (es decir, más o menos cómplices voluntarios para el atacante).
Asegúrese de que los usuarios sepan que deben informar la pérdida de contraseñas con prontitud y que no serán culpados . De manera realista, una vez que tenga más de una docena de usuarios, se producirá una pérdida de contraseña (independientemente de si la contraseña está almacenada en una billetera o en un cerebro). Lo único peor que una contraseña filtrada es que un usuario oculte la filtración por temor a una sanción.