Composición de contraseñas

4

Las contraseñas (frases de contraseña) que se toman de textos conocidos (libros, etc.) generalmente se consideran débiles, pero ¿qué sucede si se emplean en combinación con elementos aleatorios, es decir, en formas de AX, XA o AXB, donde X es Al azar y A y B son de textos conocidos? Intuitivamente, A y B deberían aportar algo no trivial a la seguridad además de X. Pero, ¿cuánto en relación con X? ¿Hay buenos resultados de estudio en esa dirección?

    
pregunta Mok-Kong Shen 06.06.2013 - 13:05
fuente

4 respuestas

5

La entropía, expresada en bits, es una escala logarítmica, por lo que se suma. Si A ofrece 10 bits de entropía (es decir, un atacante tendría que probar un promedio de 2 valores 9 para adivinarlo) y B ofrece 11 bits de entropía (2 10 adivina), entonces AB tiene entropía 21 bits (10 + 11). De manera similar para "cosas aleatorias" como X. Esto se mantiene siempre que todos los elementos A, B y X se seleccionen independientemente uno del otro (esto es importante).

Por supuesto, la renuencia del usuario a usar la contraseña también se suma proporcionalmente a la longitud de la contraseña. El usuario tiene que recordarlo y escribirlo, por lo que prefiere contraseñas cortas, todas las demás cosas son iguales.

    
respondido por el Thomas Pornin 06.06.2013 - 13:16
fuente
2

La fuerza de una contraseña se define como la cantidad promedio de tiempo que le tomaría a un atacante adivinarla. Hay dos elementos en la elección de una contraseña: inteligencia y aleatoriedad. Usar palabras en inglés, frases de libros, etc. es inteligencia.

En la práctica, casi cualquier opción de contraseña implica astucia de parte y aleatoriedad de parte. Por ejemplo, si abre su libro favorito y toma las primeras cuatro palabras de una página aleatoria como su contraseña, entonces su elección de libro es principalmente inteligente, y su elección de página es principalmente aleatoria (pero si dio vuelta las páginas "al azar" , en realidad hay bastante inteligencia, porque es mucho más probable que elija, por ejemplo, la página 42 de 100 que la página 1 o la página 100).

Si asumes que el atacante es estúpido, entonces tu contraseña solo es protección contra los atacantes estúpidos. Las opciones de contraseña inteligente no protegen contra los atacantes inteligentes. La cantidad de aleatoriedad es una buena medida de la fortaleza de la contraseña, la inteligencia no ayuda mucho.

El atacante tiene que adivinar la contraseña completa. Si combinas múltiples elementos, tiene que hacerlos todos bien. Por ejemplo, el respaldo de su contraseña tiene el formato AX y tiene 50 opciones para A (estimación de la primera palabra de una página al azar en un libro largo; necesitará más de 50 páginas para tener en cuenta el no tan) elección aleatoria de página y para palabras repetidas) y 36 elecciones para X (dos dígitos, obtenidos tirando un dado justo dos veces). Luego hay 50 × 36 = 1800 contraseñas posibles. La concatenación de múltiples elementos siempre aumenta la fuerza de la contraseña, y lo hace de manera multiplicativa (asumiendo que los elementos se eligieron de forma independiente; si en lugar de tirar un dado por X, hubiera elegido el número de página donde encontró la palabra A, no habría agregado) fuerza, ya que este método es puramente inteligente y no aleatorio en absoluto).

La única razón para no usar completamente la aleatoriedad para generar contraseñas es que una cadena de caracteres puramente aleatoria no es memorable, y puede ser difícil o imposible escribirla. Si quieres mantenerte fácil de escribir, puedes usar letras aleatorias; esto aumenta el número de caracteres y puede medir fácilmente cómo (cada letra adicional multiplica el número total de posibilidades por 26). La memorabilidad nuevamente requiere aumentar la longitud para una fuerza de objetivo dada; hay múltiples maneras de lograrlo.

Combinar la X aleatoria con una A inteligente no es mucho mejor que usar solo X. A tendrá una pequeña cantidad de aleatoriedad, ya que el atacante podría no saber qué libro elegiste. La desventaja de este enfoque es que es difícil cuantificar qué tan fuerte es A. Entonces, si quieres estar seguro de que tu contraseña tiene cierta fuerza, tendrás que hacer que X alcance casi esta fuerza, por lo que A es superfluo.

Por esta razón, puede ser mejor evitar A por completo. Una aproximación a la aleatoriedad memorable que funciona bien para muchas personas es seleccionar varias palabras al azar ; diceware es un método popular para esto.

El usability de las contraseñas se ha estudiado en condiciones controladas. Es difícil estudiarlos en la naturaleza, ya que nuestros datos del mundo real provienen de infracciones no planificadas en sistemas donde los usuarios fueron dejados en su propio dispositivo (el sitio web X es hackeado, no usaba el hashing adecuado, alguien publica la lista de contraseñas). En todo caso, la conclusión es que las contraseñas son malas, pero encontrar un reemplazo es un tema de investigación.

    
respondido por el Gilles 06.06.2013 - 14:24
fuente
1

Antes de responder a su pregunta, permítame resumir los pasos que tomaron los expertos en descifrado de contraseñas en una competencia reciente.

  1. Bruteforce todos los alfabetos en minúscula de siete u ocho caracteres
  2. Bruteforce todos los alfabetos en mayúsculas de siete u ocho caracteres
  3. Números de fuerza bruta de 1 a 12 dígitos
  4. Agregue dos dígitos de caracteres o símbolos especiales a las letras en el archivo de diccionario de contraseñas
  5. Agregue tres dígitos de caracteres o símbolos especiales a las letras en el archivo de diccionario de contraseñas
  6. Agregue cuatro dígitos de caracteres a la letra en la contraseña archivo de diccionario
  7. Use el archivo de diccionario de contraseñas con reglas, por ejemplo, cambie "a" dentro "@". Esto se llama sustitución l33t y el caso se hace fácilmente a través de Juan el Destripador
  8. Combina cada palabra en un diccionario (generalmente una más pequeña) con cada una de la palabra en otro diccionario (generalmente mucho más grande)
  9. Combina las palabras individuales de cada diccionario y agrega solo y dos dígitos de caracteres

Así que puedes ver más arriba, incluso si eliges dos letras al azar, si esas dos letras se encuentran individualmente en un archivo de diccionario, no evitará que los atacantes descifren las contraseñas. Como mencionaste, AXB o ABX son vulnerables al tipo de ataques llevados a cabo por atacantes inteligentes (las dos últimas técnicas en la lista).

Por eso es muy importante que no solo elija las contraseñas que son aleatorias, sino que también el servidor donde se almacenan estas contraseñas tome medidas para garantizar su seguridad. Las técnicas 1, 2 y 3 solo se pueden detener si los hashes de contraseña se generan a través de un algoritmo de hashing muy lento, como bcrypt junto con un salt aleatorio para cada contraseña.

Puede encontrar más detalles sobre las técnicas de descifrado de contraseñas empleadas por los crackers en aquí

    
respondido por el void_in 08.06.2013 - 20:25
fuente
0

Respuesta corta:

Las contraseñas de contraseña (por ejemplo, contraseñas de palabras) solo pueden considerarse débiles por las mismas razones que otras contraseñas pueden considerarse débiles: selección demasiado corta o no aleatoria. P.ej. "DisneysBeautyAndTheBeast" puede ser una longitud razonable pero no es aleatoria, especialmente si sé que te encanta esa película. "Obstáculos a prueba de errores" parece lo suficientemente aleatorio, pero usar solo dos palabras lo pone en riesgo. Se pueden decir cosas similares de estas contraseñas de caracteres: "qwertyasdf1234567890" y "z3} V".

Respuesta larga:

Revise las "longitudes L de contraseñas realmente generadas al azar requeridas para lograr una entropía de contraseña H deseada para los conjuntos de símbolos que contienen N símbolos" en la tabla Seguridad de la contraseña Artículo de Wikipedia. Puede darle una idea de cómo las combinaciones aleatorias de varios conjuntos de caracteres se comparan con las combinaciones aleatorias de palabras seleccionadas del diccionario Diceware, que se informa que tiene 7776 palabras.

Ese artículo recomienda que las contraseñas seguras tengan una entropía de 80. Según la tabla, se necesitarían 14 caracteres alfanuméricos "sensibles a mayúsculas y minúsculas" para lograr eso, o 7 palabras seleccionadas al azar del diccionario Diceware. Ahora esas 7 palabras darán como resultado una contraseña larga, pero considera que recordar 7 cosas es significativamente más fácil que 14 cosas, especialmente cuando algunas de esas cosas están en mayúsculas y otras en minúsculas y debes recordar cuál es cuál.

Si seguimos el ejemplo de XKCD y suponemos que unos 40 bits de entropía son aceptables, entonces un verdadero la contraseña aleatoria "mayúsculas y minúsculas" solo necesita tener una longitud de 7 caracteres, y la contraseña de Diceware solo debe tener una longitud de 4 caracteres. De esta manera podemos tener una idea de cómo la fuerza frente a la longitud de las contraseñas de caracteres aleatorios se compara con las contraseñas de palabras aleatorias.

Las contraseñas híbridas también se pueden calcular. Por ejemplo, la entropía de una contraseña alfanumérica (CC) de 3 palabras (WWW), 2 puede distinguirse de la siguiente manera si seleccionamos entre 8000 palabras y 62 caracteres alfanuméricos sensibles a mayúsculas:

Entropy(WWW) + Entropy(CC)
    = LogBase2(8000*8000*8000) + LogBase2(62*62)
    = 3*LogBase2(8000) + 2*LogBase2(62)
    = 50.8 + 11.6

Pero no debemos olvidar que cuando los usuarios configuran sus propias contraseñas, probablemente no puedan considerarse realmente aleatorios. Ya sean contraseñas de caracteres o contraseñas de palabras, realmente tiene que generar contraseñas para que los usuarios tengan la confianza de que serán aleatorios.

    
respondido por el Jeremy Cook 08.06.2013 - 18:55
fuente

Lea otras preguntas en las etiquetas