Para una organización, una política de contraseña es una buena y mala idea. Cualquier sistema de generación de contraseñas provocará un conjunto más pequeño que una contraseña verdaderamente generada aleatoriamente. Para ayudar con eso, el sistema de historias XKCD funciona bastante bien, ya que evitan elementos personales sobre el usuario que podrían ser conocidos o descubiertos.
Como un ejemplo que sugiere que los usuarios usan su nombre, con topillos sustituidos por números (a = 1, b = 2, etc.) generará algo que parece aleatorio para la persona promedio pero que es fácil de descifrar. La incorporación de otra palabra como título del trabajo, departamento o apellido de soltera de las madres se agregará a la abstracción, pero básicamente todavía tiene algo que un ataque disccional debería recoger. Sea como sea, ahora ha aumentado el tiempo de ataque del diccionario de los sustantivos propios en la cultura (occidental) + sustantivos propios con sub vocal.
ThomasSoftwareEngineer se convierte en Th4m1sS4ftw1r22g3n22r
Parece aleatorio pero no es muy aleatorio para un programa de software. Ciertamente, no para alguien que sepa que el usuario es un ingeniero de software llamado Thomas.
Si agrega a lo anterior una colección de tiendas que la gente podría incorporar, algunas cosas memorables pero oscuras podrían ser: - Recuerdos de la infancia - Enamoramientos secretos - Némesis - Primeros autos - Matrículas de automóviles - Narrativas de un libro que les gusta Esto podría crear algo un poco más largo y para contraseñas más largas es casi siempre mejor. Thomas tenía un Astra como su primer automóvil y lo condujo a un vado en un río .
ThomasAstrafordriver
De nuevo, son solo 4 palabras del diccionario, pero comienzan a ser memorables. Podría aumentar la entropía al incluir el año en que obtuve el automóvil o que lo rompí.
ThomasAstra2005fordriver2006
Podría avanzar más en la entropía eligiendo algún símbolo para usar como espacio, _ y - son bien conocidos, pero son mejores que nada y se puede elegir cualquier cosa permitida.
Thomas # Astra # 2005 # para # conductor # 2006
Ahora eso es memorable, tiene una alta entropía y debería tomarle a alguien un poco de tiempo para adivinar. Al igual que con todas las contraseñas buenas, me llevará algún tiempo aprender a escribirlas rápidamente, pero si puede escribir fácilmente una contraseña, probablemente no sea una buena.
Ahora, no recomendaría que use o escriba una contraseña que realmente le interese en cualquier navegador, por lo que es posible que desee usar otras similares en lugar de una real, pero ...
https://www.grc.com/haystack.htm
El sitio web anterior proporciona una agradable era ver el tamaño del espacio de búsqueda para una contraseña. No mide la fuerza, pero le da una idea de que la longitud es importante, ya que utiliza mayúsculas, números y símbolos:
Tamaño de espacio de búsqueda de contraseña
ThomasSoftwareEngineer 5.76 x 10 ^ 37
Th4m1sS4ftw1r22g3n22r 4.44 x 10 ^ 37
ThomasAstrafordriver 2.13 x 10 ^ 34
ThomasAstra2005fordriver2006 1.56 x 10 ^ 50
Thomas # Astra # 2005 # para # conductor # 2006 1.86 x 10 ^ 65
Otras cosas que he escuchado recomendar es que tome las contraseñas de los usuarios y las ejecute a través de un servidor local, seguro y potente con una herramienta para descifrar contraseñas que realiza ataques de diccionario y de fuerza bruta. Si puedes descifrar la contraseña en una semana, entonces alguien más puede hacerlo. Cuando la rompa, caducará la contraseña y le pedirá al usuario que cree una nueva, posiblemente proporcionándole accesos.
--endit para responder la pregunta o "¿Cuánto menos seguro que realmente al azar" --- Lo había puesto como un comentario, pero encaja mejor como una adición a la respuesta. Continuando con mis ejemplos anteriores:
La seguridad de estas contraseñas de varias palabras en comparación con las contraseñas de caracteres verdaderamente aleatorios depende de cómo desee tratar las palabras del diccionario. Si utilizamos calcs de entropía como se explica aquí: [ http://blog.shay.co/password-entropyfont>[1]
H = Llog2N donde L es la longitud de la contraseña y N es el tamaño del alfabeto
Podemos hacer las cosas de dos maneras. Si elegimos tratar cada palabra del diccionario como un símbolo en el alfabeto, ThomasSoftwareEngineer es solo L = 3 pero ¿qué es N? Bueno, Google y OED dicen que hay alrededor de 200,000 palabras en el idioma inglés, por lo que obtenemos: H = 3 * log [base2] * 200,000 = 52.83, que es similar a una contraseña de caracteres 9-alfanuméricos. Si luego permite la sustitución de algunas vocales con números, duplicará el tamaño de su alfabeto a aproximadamente 400,000 para que se convierta en H = 3 * log [base2] * 400,000 = 55.83 El cómic XKCD usa 4 palabras de diccionario en lugar de 3, esto nos lleva de un Entropía de 52.8 para 3 palabras (sin números) a: H = 4 * log [base2] * 200,000 = 70.44 70.4 es aproximadamente la misma entropía que una contraseña alfanumérica de 12 caracteres (H = 12 * log [base2] * 62 = 71. 45) entonces la pregunta es ¿puedes recordar 12 números y letras al azar, así como puedes recordar 4 palabras en inglés no relacionadas? Obviamente, una contraseña más larga (más palabras) siempre será mejor y debe evitar las palabras cortas (ya que las palabras de 4 * 3 letras son solo 12 caracteres alfa, lo que es una entropía de 68.4).
Así que aquí están las entropías que obtienes para cada estilo de contraseña: Contraseñas numéricas (N = 10) Entropía (H) Longitud (L) Tamaño del alfabeto (N) 9.965784285 3 10 13.28771238 4 10 16.60964047 5 10
Case Insensitive Alphabetic Passwords (N = 24)
13.7548875 3 24
18.33985 4 24
22.9248125 5 24
Case Sensitive Alphabetic Passwords (N = 52)
17.10131915 3 52
22.80175887 4 52
28.50219859 5 52
Case Sensitive Alpha-Numeric Passwords (N = 62)
17.86258893 3 62
23.81678524 4 62
29.77098155 5 62
Case Sensitive Alpha-Numeric Passwords with symbols on a QWERTY keyboard (N = 94)
19.66376656 3 94
26.21835541 4 94
32.77294426 5 94
Passwords formed using a random selection of 200,000 words from the English Language (N=200000)
52.82892142 3 200000
70.4385619 4 200000
88.04820237 5 200000
As above but assuming you know 20,000 words (N=20,000)
42.86313714 3 20000
57.15084952 4 20000
71.4385619 5 20000
Nota: 20,000 palabras es el número estimado que un usuario con educación en inglés sabrá, por lo que tal vez sea una mejor opción para adivinar qué elegirán las personas. Aún así, muestra que 3 palabras comunes crean una contraseña que es mejor que una contraseña totalmente aleatoria de 5 caracteres de un teclado QWERTY.
getRandomNumber
es malo?