¿Las contraseñas compuestas de secuencias de teclas en un teclado son menos seguras que los mismos caracteres pero están mezcladas?

31

Aquí hay dos contraseñas:

5678%^&*tyuiTYUI

y

8^tyU75%*IuY6T&i

Ambos tienen el mismo número de caracteres y en cada uno de ellos son idénticos, la única diferencia es que el primero organiza esos caracteres en un patrón que se presta a la memoria muscular siguiendo un patrón geométrico simple de pulsaciones de teclas.

¿Existen diferencias significativas desde una perspectiva de seguridad?

    
pregunta Toni Leigh 26.01.2015 - 22:00
fuente

5 respuestas

41

¡Sí! Especialmente cuando se enfrentan a requisitos de complejidad de contraseñas draconianas, los usuarios a menudo eligen contraseñas como la primera: progresiones de teclado, caminatas del teclado, patrones de teclado, o como quiera llamarlas. Y los atacantes son muy conscientes de esto.

Ya sea que realice un ataque en línea (fuerza bruta) o fuera de línea (hash cracking), un atacante sabe que el método más rentable suele ser alguna variante de un ataque de diccionario: usar una colección de contraseñas comunes y probarlas. Casi todos los diccionarios creados con contraseñas recopiladas a partir de brechas de datos reales contienen al menos algunas variantes en el método de patrón de teclado, generalmente "1qaz2wsx" y amigos.

Más allá del método del diccionario estático, los algoritmos mentales que la gente usa para crear estas contraseñas son bastante simples, y hay muchos programas que generan estas contraseñas rápidamente para probarlas todas.

Desde un punto de vista de la teoría de la información, la segunda contraseña tiene más entropía, ya que cada carácter es una elección aleatoria de un conjunto de 16 caracteres. Saber que provienen de un pequeño grupo reduce un poco la entropía, pero sigue siendo bastante bueno. La primera contraseña, por otro lado, es mucho más simple. Puede pensar en la entropía como "¿qué tan difícil sería explicar cómo escribir mi contraseña?" Aquí es cómo podría tratar de explicar tu primera:

  

En un teclado estándar de EE. UU., comience en "5":

     
  1. Escriba 4 claves a la derecha, luego regrese a su posición inicial.
  2.   
  3. Mantenga presionado "shift" y repita el paso 1. Suelte "shift".
  4.   
  5. Baje una fila y repita los pasos 1 y 2.
  6.   

Compare eso con su segunda contraseña, que tendría que tener un paso de procedimiento para cada carácter de entrada. No hay una buena manera de comprimirlo, por lo que tiene mucha entropía. Incluso si sé cuáles son las 8 teclas que ha elegido, y que cada una de ellas se presiona una vez con Mayús y una vez que no la tiene, eso deja (asumiendo que la elección es totalmente aleatoria) 16! ~= 2^44 de elecciones, es decir, aproximadamente 44 bits de entropía, lo que, por extraño que parezca es la misma cantidad reclamada por el método de "grapa correcta de la batería del caballo" .

    
respondido por el bonsaiviking 26.01.2015 - 22:40
fuente
4

Sí, hay una diferencia porque hay un patrón discernible. Al igual que la programación de un descifrador de contraseñas para tomar palabras del diccionario y reemplazar letras con números, o agregar números al final, los patrones del teclado sufren la misma debilidad.

El otro problema es el "surf de hombro". Es bastante fácil averiguar cuál es la contraseña de alguien mirando las primeras pulsaciones, y luego simplemente escuchando el resto.

¿Significa que la primera contraseña es inútil? No, pero sufre debilidades de que una cadena puramente aleatoria no lo haría. Solo usted puede evaluar los riesgos para su situación.

    
respondido por el schroeder 26.01.2015 - 22:05
fuente
1

Lo que intentas hacer aquí es crear una contraseña que sea más fácil de recordar. El problema es que los atacantes saben que las personas son perezosas y casi nadie usa una contraseña aleatoria completa como la segunda.

Para facilitar las contraseñas, todas las personas crean un patrón. Como una palabra, usted sabe que es un patrón o 6 caracteres del teclado como 123456. Los atacantes buscan patrones que las personas usan y crean ataques de fuerza bruta para esos patrones. Para elegir una buena contraseña debe asegurarse de que no está utilizando ninguno de esos patrones comunes.

Para volver a su pregunta: tanto su propia contraseña tendrá la misma entropía y sería igual de segura si ignora las contraseñas comunes. Pero si observa contraseñas comunes, encontrará su primera cadena, por lo que la primera es menos segura.

Pero creo que no te gusta comparar la seguridad de esas dos cadenas, sino del patrón detrás de ellas. Ahora depende de cómo se definan esos patrones. Como se muestra en un xkcd comic es es posible crear un patrón de contraseña que sea igual de seguro que una contraseña aleatoria pero más fácil de recordar. (¡Al menos si pones una contraseña aleatoria desde este patrón!)

Para su cadena: 5678% ^ & * tyuiTYUI

Podrías definir un patrón como: Una clave aleatoria y las tres claves al lado. Junto con shift, obtienes con [a-z0-9] = 2 * 36 caracteres como teclas de inicio. Si haces esto 4 veces, como en tu ejemplo, tienes 72 ^ 4 = 29.986.576 combinaciones posibles con este patrón. Las tres teclas que se encuentran al lado no agregan ninguna entropía adicional porque son parte del patrón. Si conoces el patrón, conoces esas teclas.

Entonces, con este patrón, su contraseña es tan segura como una cadena aleatoria de 4 caracteres. Por supuesto, puedes crear un mejor patrón basado en esto, pero no creo que te haga feliz. Pruebe el patrón xkcd o un administrador de contraseñas.

    
respondido por el PiTheNumber 27.01.2015 - 17:11
fuente
0

El aleatorio es sustancialmente más fuerte que el que tiene un patrón de memoria muscular.

Como se señaló en varias ocasiones, como en el bonsaviking, los atacantes saben que los patrones de memoria muscular son comunes, por lo que ya los analizamos.

Recomiendo pensar en términos de las mismas reglas que usamos para determinar la fuerza de un algoritmo de cifrado. En el cifrado, siempre se asume que el algoritmo es de conocimiento público; La única parte secreta es la clave. Del mismo modo, debe diseñar contraseñas en el supuesto de que el atacante conoce su algoritmo (es decir, "patrón de memoria muscular en un teclado"), y la única parte que es secreta es la "clave" particular que usó para caminar alrededor del teclado.

Mi experiencia personal es que los patrones de memoria muscular presentan una entropía ligeramente más pequeña que una contraseña como "abcde" o "contraseña", porque "fácil de escribir" es en realidad una métrica bastante bien aceptada, por lo que no hay muchas diferencias. patrones que uno hará.

Considere el ejemplo clásico de mover siempre un carácter hacia la izquierda, hacia la derecha, hacia arriba o hacia abajo. Si realmente eres aleatorio en tu dirección, eso es 2 bits de entropía por clave, más quizás 8 bits para una ubicación de inicio aleatoria. Un patrón de memoria muscular de 16 caracteres tendrá unos 40 bits de entropía. Esa no es exactamente una contraseña segura. Tenga en cuenta que este patrón se compara apenas favorablemente con frases simples en inglés (1 bit de entropía / carácter), pero abismalmente con una frase de caracteres verdaderamente aleatorios (apenas por debajo de 6 bits de entropía / carácter). Sin embargo, dado que es poco probable que memorice una cadena verdaderamente aleatoria de arriba / abajo / izquierda / derecha, es probable que haya un patrón a su elección, arrastrando la fuerza de su contraseña más hacia la fuerza de "una sola palabra o frase".

    
respondido por el Cort Ammon 27.01.2015 - 16:17
fuente
-2

Es la distribución de frecuencia de las letras, palabras y ngramas asociados lo que reduce la entropía de su selección. Es por eso que las listas de contraseñas son una excelente herramienta para verificar su elección de contraseña. La entropía de una frase de contraseña seleccionada al azar pura es más de 44 bits de entropía. La parte 2 de la estrategia sería limitar la facilidad con la que un atacante puede adivinar la contraseña. Lo que usted está tratando de lograr es tener una cantidad tan alta de entropía * el tiempo que se tarda en ingresar conjeturas.

    
respondido por el munchkin 26.01.2015 - 22:51
fuente

Lea otras preguntas en las etiquetas