¿Qué tan segura es la contraseña MargaretThatcheris110% SEXY de Snowden?

26

En un extra de entrevista de Edward Snowden con John Oliver , Snowdon informa que una buena contraseña para usar es una como MargaretThatcheris110%SEXY. .

También, en el blog de Errata Security, dice Robert Graham en la importa :

  

El líder de la NSA Edward Snowden recientemente sugirió que una contraseña segura   se vería como "MargaretThatcheris110% SEXY". ha sido criticado por   Esto, pero en realidad, es bastante fuerte. Si hay muchos   diccionario y debilidad de Markov, pero son compensados por   longitud. Todo lo demás es igual, más tiempo es mejor. De hecho, lo que sea   contraseña que tiene ahora, simplemente agregando "xxxxxxxxxxx" al final de la misma   es probable que lo haga irrompible, y es extremadamente fácil para usted   recuerda. Una contraseña como "MaThis110% SX" es una contraseña de 12 caracteres   de tal manera que incluso la NSA es poco probable que sea capaz de romperlo si fuera   su contraseña de Lastpass: la forma más larga de Snowden no la empeora.   (Tenga en cuenta que algunas personas afirman que este ejemplo de Snowden no es tan seguro, pero   están equivocados).

Ahora, en discusiones anteriores aquí, hemos aprendido que el cerebro humano es malo al azar . También sabemos que la entropía de la contraseña no se basa en la contraseña real, sino en cómo se generó la contraseña . Por ejemplo, la siguiente contraseña puede considerarse segura a primera vista:

zTzG5rUev2fBBkp6dEMJHNEQWWmFTSjBBn26cQCgkVXSydep3nUx6pF4uf6Pu59RYKDEwkwnTdFJht2n

Sin embargo, digamos que Bob siempre genera sus contraseñas combinando las siguientes palabras en su archivo de texto de generación de contraseñas en un orden aleatorio, y el atacante sabe que , entonces la contraseña no es tan segura.

kVXSydep3nUx6pF4uf6P
zTzG5rUev2fBBkp6dEMJ
HNEQWWmFTSjBBn26cQCg
u59RYKDEwkwnTdFJht2n

Uno de los comentarios sobre el artículo de Wired es:

  

Si estuviera tratando de romper un hash, simplemente no asumiría desde el   comenzando que todas las contraseñas siguen una   %código%   Patrón y luego esperar hasta 7 días para ver si estaba en lo cierto. Si supiera   era ese patrón, entonces la contraseña de Snowden tendría 33.041 bits de   entropía De lo contrario, la entropía sería considerablemente más alta (> 100   bits).

Esto describe el quid de mi pregunta. Si hice una contraseña como female_names+surnames+english_word+english_word+known_passwords , un "medidor de fuerza" como zxcvbn da la entropía como 39.6 (incluida la parada completa). Sin embargo, nadie sabe que generé la forma en que MargaretThatcheris110%SEXY. lo descompone. E incluso si supieran que yo había usado ese método en el pasado, podría usar un método diferente para mi próxima contraseña (por ejemplo, zxcvbn ).

Como tylerl anota en otra respuesta:

  

Podemos adivinar qué diccionarios estarán disponibles para el atacante,   pero no podemos saber con certeza Por lo tanto, como un proxy para el diccionario   tamaño, en su lugar utilizamos entropía. Es un pobre sustituto porque   no refleja la mecánica de ataque real, pero es potencialmente   mejor que nada.

Si un atacante sabe que puedo usar definiciones de secuencia "cerebro inventado", posiblemente con valores de "cerebro humano inventado" para completar esas secuencias, ¿esto realmente les ayuda en algún sentido práctico? Lo que quiero decir es que el valor de entropía de 39.6 no significa realmente que pueda ser atacado por un ataque de fuerza bruta que llene ese espacio clave, porque el atacante no conoce la estructura. Me doy cuenta de que, en seguridad, las únicas cosas que deberían ser secretas son las contraseñas y las claves secretas, los propios mecanismos deben considerarse públicos y conocidos. Sin embargo, la forma en que se genera la contraseña podría considerarse privada, ya que alguien más conoce el método exacto . Obviamente, Snowden lo ha revelado públicamente, pero para su próxima contraseña lo hará de manera ligeramente diferente. ¿Es por esto que Graham no está de acuerdo con que el ejemplo de Snowden sea más seguro de lo que sugiere el análisis de entropía?

También relacionado: Ha tenido entropía generada por humanos alguna vez ¿Ha sido un problema real?

    
pregunta SilverlightFox 30.06.2015 - 12:31
fuente

4 respuestas

7

Como se señala tylerl , la entropía no es realmente una medida de la fortaleza de la contraseña, pero es lo mejor tenemos:

  

El propósito de la complejidad de la contraseña es enfrentarse a un   ataque de fuerza bruta. El tamaño del diccionario disponible más pequeño que   contiene su contraseña determina la cantidad de tiempo requerido para descifrar   tu contraseña. Podemos adivinar qué diccionarios estarán disponibles para   El atacante, pero no podemos saberlo con certeza. Por lo tanto, como un proxy para   Tamaño del diccionario, en su lugar usamos entropía. Es un pobre sustituto   porque no refleja la mecánica de ataque real, pero es   potencialmente mejor que nada.

     

Las comparaciones de contraseñas basadas en cálculos de entropía pueden potencialmente   sé fructífero, pero debes tener cuidado de evitar atribuir demasiado   valor a un número que, al final, está relacionado indirectamente con la forma en que   Bueno, la contraseña se mantendrá.

Aunque la contraseña MargaretThatcheris110%SEXY. , cuando se analiza, tiene una entropía de 39,6 bits, el método de generación es aleatorio (aunque sea por el cerebro humano). Esto hace que sea difícil medir su fuerza real. Esta falsa aleatorización también dificultará que un atacante arme una lista de palabras sin conocer la estructura de esa contraseña en particular. A menos que el usuario final esté utilizando la misma estructura para varias contraseñas (lo que podría suceder accidentalmente si generaran lo suficiente para recordarlas), esta falta de entropía realmente no ayuda al atacante. Esta es la razón por la que Graham no está de acuerdo con que la contraseña de Snowden sea débil.

Es imposible juzgar si alguna contraseña única dada es "débil" o "fuerte".

DyZ29ZQ8JswmeKutXHDHh77YqpkmD

puede ser una contraseña segura, sin embargo, si está en el diccionario del atacante, entonces no lo es. Los medidores de "fuerza" de contraseñas como zxcvbn pueden proporcionar un desglose de cómo su contraseña podría construirse, y si se encuentra dentro de una secuencia común, entonces eso puede pedirle que vaya por otra diferente.

La secuencia de

female_names + surnames + english word + english word + digits + common password + character

que zxcvbn determina que MargaretThatcheris110%SEXY. probablemente no sea muy común, por lo tanto, un atacante solo elegiría atacar el espacio clave de esta distribución de entropía si tiene una razón específica para hacerlo. Esto significa que MargaretThatcheris110%SEXY. es probablemente una prueba de la NSA como sugiere Graham.

    
respondido por el SilverlightFox 30.06.2015 - 12:47
fuente
1

El problema con la entropía como medida de la fortaleza de la contraseña es que realmente tiene que aplicarse a la entrada no a la salida .

Si codifico en base64 la palabra "contraseña" obtengo algo que parece fuerte, pero en realidad no lo es.

Por lo tanto, medir bits de entropía es realmente un mejor caso . Si nos fijamos en la generación puramente aleatoria, la entropía por símbolo, incluso para espacios de teclas relativamente pequeños, en realidad no es tan mala como podría imaginar.

Con referencia a: enlace

Las letras que no distinguen entre mayúsculas y minúsculas tienen 4.7 bits por símbolo. Todo el ascii es 6.5 por símbolo. Entonces, mientras mi contraseña que use solo 'letras normales' sea un 50% más larga, es 'más segura'.

Pero de manera realista, incluso una contraseña generada aleatoriamente puede no ser tan aleatoria. Se ve bien, pero no lo es. Una contraseña generada por el cerebro humano es similar ... no es tan aleatoria, pero hay una advertencia importante: a menos que sepa cómo funciona su cerebro, no puedo decir el algoritmo que puede haber usado.

I puede ser capaz de adivinar, y de hecho, así es como funcionan los ataques de diccionario. Usted crea un conjunto de "reglas de contraseña" controladas por el diccionario, que es muy simplemente un caso de pegar símbolos y tratar de "adivinar" esos. Esto reduce enormemente su entropía de un "mejor caso" de caracteres aleatorios. Creo que XCKD cita "correcthorsebatterystaple" como para traer alrededor de 44 bits en lugar del 122 teórico que una cadena de longitud podría .

Entonces ... respuesta corta: es casi imposible de decir. No permita que las personas presionen sus contraseñas incluso si tiene confianza :).

    
respondido por el Sobrique 30.06.2015 - 18:14
fuente
1

Ahora se conoce el "algoritmo" de la contraseña de Sden Snowden, que reduce el posible espacio de teclas a un rango atacable. Ahora Snowden es lo suficientemente inteligente como para saber esto y supongo que no usaría una contraseña basada en el mismo algoritmo o incluso una similar en el futuro. Sin embargo, hay dos cuestiones a considerar.

El primero es la fuga de información cuando se comparten secretos derivados. La única ventaja de usar un algoritmo solo sobre palabras aleatorias (diceware) sería producir múltiples secretos seguros a partir del algoritmo. Un ejemplo sería derivar dos contraseñas que serían más fáciles de memorizar que dos valores puramente aleatorios.

Supongamos que, sin conocer el algoritmo, ambas contraseñas derivadas son demasiado complejas para ser interrumpidas por la fuerza bruta. El problema es que hay otras formas de obtener una de las contraseñas y eso reduce la fortaleza del otro noe. Por ejemplo, si una contraseña para cifrar un documento y la otra como su inicio de sesión en Facebook sería muy mala. Los agentes de la ley podrían usar poderes legales para interceptar la contraseña de Facebook y, de acuerdo con los resultados, derivan el algoritmo o una parte sustancial del algoritmo y luego reducen la entropía de la contraseña del documento secreto de > 100 bits a 40. Desde irrompible a rompible debido a fugas.

Entonces, sí, en un análisis abstracto es muy seguro, pero el mundo real es complejo. Tenemos que considerar dónde se utilizarán las contraseñas derivadas. Cuando dos valores están vinculados, existe un mayor riesgo porque la información de fugas puede comprometer el algoritmo subyacente. Si está asumiendo que el algoritmo seguirá siendo un secreto, entonces eso es un problema. Si asume que el algoritmo no permanecerá en secreto, necesitará contraseñas más complejas y perderá el valor del algoritmo, por ejemplo, utilizando solo varias contraseñas aleatorias.

Cuando pasamos un secreto a un tercero (es decir, un inicio de sesión a un sitio web) perdemos el control sobre él y ese es el problema en pocas palabras. Utilicé el ejemplo de la aplicación de la ley en Facebook para registrar el siguiente inicio de sesión, pero podría ser que el sitio web tenga una mala seguridad y lo almacene en texto sin formato, o que uno de los empleados sea malicioso y registre todos los inicios de sesión a medida que ocurren, o se piratee el sitio no lo sabe y un tercero (posiblemente uno con 3 letras) está grabando de forma encubierta los inicios de sesión.

Si no puedo controlar la seguridad de un secreto, no quiero que ese secreto esté vinculado a otros secretos. No puedo controlar si Facebook comprometerá la seguridad de ese secreto, pero puedo compartimentar el daño. Un administrador de contraseñas protegido por una contraseña segura que almacena contraseñas de sitios generadas aleatoriamente garantiza que no haya un enlace ascendente. Un compromiso de la contraseña maestra, compromete todas las contraseñas almacenadas, pero no hay forma de que la contraseña de Facebook filtrada, pueda comprometer la contraseña del documento secreto.

Aún con una "contraseña maestra" mientras no hay un enlace ascendente, existe un enlace de todos los secretos y la contraseña maestra que es potencialmente mala por razones similares. Para un mayor nivel de seguridad, puede ser útil aislar los secretos de mayor seguridad de los secretos de menor seguridad mediante el uso de un algoritmo más un valor aleatorio almacenado en el administrador de contraseñas para los secretos de alto nivel. Por lo tanto, un compromiso de la contraseña maestra comprometería todos los secretos de bajo nivel pero no necesariamente los de mayor nivel.

    
respondido por el Gerald Davis 30.06.2015 - 17:10
fuente
1

Creo que el componente más importante para tratar de analizar esto cuantitativamente es

  

"a" medidor de fuerza "como zxcvbn da la entropía como 39.6   (incluyendo la parada completa). Sin embargo, nadie sabe que generé el   La forma en que zxcvbn lo rompe ".

Teniendo esto en cuenta, las permutaciones de los algoritmos de generación de contraseñas deben incluirse como bits de entropía, ya que es posible que el atacante esté armando un conjunto de forzadores brutos para cada posible esquema de generación (el esquema xkcd, el el esquema zxcvbn, el esquema schneier, etc., que todos intercambian cierta cantidad de entropía para facilitar el recuerdo de la memoria) y, en última instancia, los alinearán y dispararán a su hash en caso de que tengan la oportunidad.
Es probable que algún uso inteligente de Google revele los mejores 6 u 8 métodos para "crear una contraseña memorable" y ese sería el lugar para comenzar si desea obtener un análisis de entropía más completo.

    
respondido por el Jeff Meden 30.06.2015 - 19:08
fuente

Lea otras preguntas en las etiquetas