¿Las contraseñas deben ser verdaderamente aleatorias?

14

Al generar una contraseña, ¿debería ser "verdaderamente aleatoria" o debería hacerla un poco menos aleatoria mediante la aplicación de algunas reglas?

Si una contraseña se genera de forma aleatoria, podría aparecer letras en minúsculas ("contraseña"), o constar de unos pocos caracteres repetidos ("abababab"). Pienso que esto podría ser un problema, ya que la fuerza bruta sería más fácil.

Entonces, ¿qué hay de asegurarse de que una contraseña se compone de al menos un carácter de varias "clases", por ejemplo? ¿minúsculas, mayúsculas y ? ¿O asegurarse de que todos los personajes son únicos?

    
pregunta Christian Davén 23.08.2011 - 09:47
fuente

5 respuestas

15

El punto de aleatoriedad es reunir entropía.

Tomemos un ejemplo: ¡Elijo mi contraseña de los 4 primeros dígitos del sitio web más el carácter! y un número que consta del número ASCII de la primera letra.

Ejemplo: PayPal - > payp! 70; amazon - > amaz! 65

La entropía de esta contraseña es 0. Debido a que se supone que el método siempre es conocido, y no hay nada aleatorio en este esquema.

Si utiliza alternativamente dos contraseñas, la entropía es de 1 bit. (2 opciones posibles)

Por el contrario, si utilizo una contraseña de 7 letras generadas con una selección aleatoria, la entropía aumenta para registrar 2 (26 7 ) ≃ 32.9

(26 caracteres posibles para cada posición luego reportados en términos de bits)

Cuanto más agregue posibles caracteres (que son aleatorios), más aumentará la entropía. Cada selección de letras "basada en reglas" no agrega entropía (por lo tanto, para contraseñas de la misma longitud, la entropía es más baja).

En teoría, esta segunda contraseña tiene más fuerza que la anterior con caracteres no alfanuméricos. El problema de la contraseña es siempre el mismo: recordar la contraseña. Esto significa que necesitas bajar la entropía por ti mismo. Un algoritmo como el primero presentado anteriormente le permite recordar una contraseña compleja. La "seguridad" dada por este enfoque es una apuesta por el conocimiento de este algoritmo (también llamado "seguridad por oscuridad"). Esto se considera una mala práctica de seguridad: un ataque dirigido a usted mismo (con conocimiento de su esquema) tendrá éxito. Pero generalmente es una concesión que haces para uso práctico.

Asegurarse de que la contraseña use caracteres alfanuméricos + cambios de casos + caracteres no alfanuméricos + ... es una práctica impulsada por el objetivo de crear una contraseña con gran entropía para ataques de fuerzas brutas, es decir, ataques que no consideran un esquema particular en la generación de contraseñas. Pero para cada tipo de ataque, su contraseña tendrá una entropía diferente, posiblemente 0.

Para concluir, la entropía sigue siendo una medida teórica de la fortaleza de la contraseña, en la vida real los crackers utilizarán un método determinado basado en suposiciones. Por lo tanto, incluso si una contraseña de 6 caracteres realmente aleatoria se considera igual de segura si contiene solo letras minúsculas o ambas, en la práctica, los crackers pueden elegir un método que la reduzca.

    
respondido por el M'vy 23.08.2011 - 11:56
fuente
5

Una contraseña debe tener un grado suficiente de entropía. Cualquier aspecto de la contraseña que sea verdaderamente aleatorio contribuye a la entropía, mientras que los aspectos que no son relativamente inútiles en términos de entropía (aunque pueden ayudar a memorizar la contraseña).

Por ejemplo, si tiene una contraseña que se sabe que proviene de un diccionario de 1024 palabras existentes, entonces tiene 10 bits de entropía (2 ^ 10 = 1024), aunque la contraseña en sí misma contiene muchos más bits. OTOH, si tiene una contraseña que consta de 8 caracteres aleatorios de un conjunto de 64, entonces eso es 48 bits de entropía (6 bits * 8 caracteres).

También tenga en cuenta que para conservar la entropía completa, debe usar un RNG criptográficamente sólido (la mayoría de los RNG de propósito general son parcialmente predecibles, lo cual es suficiente para reducir severamente la fortaleza de las contraseñas resultantes), y debe acepte la primera contraseña que genera; si continúa generando contraseñas hasta que obtiene una que le gusta, nuevamente está reduciendo la entropía.

Y asegúrese de leer la discusión a la que se vinculó Rory Alsop: explica la seguridad de la contraseña y la entropía con gran detalle.

    
respondido por el tdammers 23.08.2011 - 10:13
fuente
3

Como se dijo, el punto de "aleatoriedad" es aumentar la entropía. La matemática lo apoya, pero no necesitamos entrar en eso. Voy a abordar este tema simplemente.

Las personas que comienzan a decir "crear una contraseña aleatoria" a medida que aumentaba dramáticamente el uso de Internet y las personas usaban cosas como su cumpleaños, password1 y otras palabras y frases comunes y fáciles de adivinar.

Aleatorio en este sentido significa palabras y caracteres que no son fáciles de deducir a través de una investigación simple sobre usted (o las cosas que están sobre su escritorio), como en XKCD comic tan popular ahora ( correct horse battery staple literalmente significa nada , por lo tanto por razones de contraseña es "aleatorio").

Respuesta directa: probablemente no. Si está pensando en "generar caracteres aleatorios en una secuencia" está bien, pero le será difícil recordarlo y probablemente tendrá que hacer algo que no sea del todo seguro (como escribirlo). Es importante recordar que no, y la mayoría de las personas probablemente no deberían generar caracteres aleatorios y juntarlos, pero crea una contraseña cuyo tema no se puede adivinar ("aleatorio") y sigue algunas reglas (como la longitud y diferentes tipos de caracteres) .

Si observa la etiqueta contraseñas encontrará muchas sugerencias sobre cómo crear contraseñas.

    
respondido por el Joseph Hansen 23.08.2011 - 14:05
fuente
3

La mayoría de las contraseñas generadas por el hombre son más que promediables, con algunos caracteres y secuencias más frecuentes o en secuencias más predecibles, como las palabras del diccionario. Debido a esto, los hackers desarrollan algoritmos para secuencias optimizadas para probar contraseñas en ataques de fuerza bruta. En otras palabras, primero prueban las contraseñas que se usan con más frecuencia, luego prueban las palabras del diccionario, luego agregan números al final, etc.

Así que la mejor contraseña es pseudoaleatoria. Eso significa que se genera a partir de un generador de números aleatorios y luego se somete a un algoritmo anti-algorítmico, por ejemplo. en caso de que 123456 aparezca por pura casualidad y para asegurarse de que las típicas estrategias de piratería conocidas no serán efectivas.

La mayoría de la gente piensa que cuanto más compleja es una contraseña, más difícil es recordarla. Pero aquí no estoy de acuerdo, y te invito a que lo veas por ti mismo en mi sitio web. www.passwordgear.com

    
respondido por el Christopher Miller 23.08.2011 - 14:45
fuente
0

No sé si esto es una solución o no, pero pensé mucho en mis propias contraseñas, y lo que tiendo a hacer es tener un prefijo, esto no es aleatorio y puede ser algo así como "kX =!" el "no está incluido, lo que hago después es, mi primera impresión de un sitio, por ejemplo, su primera impresión de Google puede ser Lego (¡¿Quizás por los colores ?!) lo que haga entonces es tomar el prefijo y agregar la palabra "lego" lo que luego hago es cambiar las letras E y O con 3 y 0, dejándola en kX =! l3g0. Esto tiene un prefijo, y si el prefijo es adivinado, solo tiene que adivinar lo siguiente "palabra personal", creo que esta palabra es bastante imposible de adivinar, y tienes que conocer Lego.

No es a prueba de balas, pero para las contraseñas de gmail, facebook, etc., es una buena manera de recordar sus contraseñas. :)

    
respondido por el psalomonsen 05.09.2011 - 23:47
fuente

Lea otras preguntas en las etiquetas