¿Cuánto tiempo debe tener una frase de contraseña para ser tan seguro como una colección aleatoria de letras, dígitos, puntuación, etc.?

0

Si se usa una frase de contraseña que es gramatical, como por ejemplo "Pongo mis llaves debajo del tapete porque están seguras allí". con ~ 14 caracteres, como 28fjha9; 582g-jg? (Supongamos que permitimos 26 en minúsculas, 26 mayúsculas, 10 dígitos y 10 puntuaciones, por lo que hay un total de 72).

He escuchado que la gente dice que solo se usan unos pocos miles de palabras en inglés, así que digamos que hay 5000 palabras posibles. Si la frase de contraseña no fuera gramatical, usar 8 palabras nos daría una mejor entropía que una contraseña de 14 caracteres (suponiendo que las palabras no fueran todas muy cortas).

  

5000 ^ 8 = 3.906 * 10 ^ 29 y 72 ^ 14 = 1.006 * 10 ^ 26

Sin embargo, si nuestra frase de contraseña es gramatical, creo que esto restringe severamente el número de combinaciones.

Dada esta restricción en la frase de contraseña, ¿cuánto tiempo debe durar para estar tan seguro como una contraseña de 14 dígitos compuesta al azar de ~ 72 caracteres? ¿Y si también aplicamos alguna restricción a la contraseña, esperando que esté compuesta principalmente de palabras del diccionario y algunos caracteres adicionales?

EDITAR: Acabo de darme cuenta de que mi cálculo de 5000 ^ 8 tampoco tiene en cuenta la puntuación y las letras mayúsculas, por lo que probablemente sería mucho mejor que eso.

    
pregunta AmadeusDrZaius 15.08.2014 - 22:35
fuente

4 respuestas

2

Lamentablemente, no creo que nuestra industria tenga la información que necesitaríamos para responder a su pregunta. Si bien tiene razón, pasar de una secuencia aleatoria de palabras a una secuencia gramaticalmente válida de palabras ofrece muchas menos combinaciones, no es una respuesta fácil determinar cuántas combinaciones se pueden producir. Y es realmente darse cuenta de que eso te permite compararlos con contraseñas aleatorias.

A medida que aumenta el número de palabras en una secuencia, también aumenta exponencialmente el número total de posibilidades para verificar, lo que da como resultado el problema de no tener suficiente tiempo / potencia de cálculo para verificarlas todas. Entonces, si bien puede verificar una secuencia específica bastante rápido, no puede marcar todas las secuencias posibles muy rápidamente una vez que alcanza un cierto número de palabras (6, ¿tal vez 7?). Etiquetar previamente las palabras con su parte relevante del habla y construir oraciones basadas en la selección de etiquetas apropiadas sería más rápido que un enfoque de fuerza bruta, pero no sé cuánto más rápido. No creo que alcancemos 1.006 * 10 ^ 26 combinaciones aceptables antes de llegar a la pared computacional. Podría estar sobreestimando la carga de este trabajo, pero esa es mi sospecha inicial.

Como se explica en el documento de CMU (Efecto de la gramática en la seguridad de las contraseñas largas) de Steve-dl, también tiene el problema de que los atacantes reducirán aún más ese conjunto de secuencias gramaticales aceptables a posibles secuencias gramaticales. Aquí es donde he visto la mayoría de las investigaciones de descifrado de frases de paso. Utilizando secuencias de palabras extraídas directamente de fuentes públicas (títulos de canciones / letras de canciones, pasajes de libros, frases famosas, oraciones de wikipedia, etc.) o ataques de combinador de frases parciales ("iloveto" + entrada de lista de palabras), intentan centrarse en las opciones posibles. Pero la cantidad de combinaciones de palabras que esto produce variará de un atacante a otro, por lo que aún es difícil decir exactamente qué números pueden producir estos enfoques.

Para tener una frase de contraseña gramaticalmente "segura", no solo necesitarás asegurarte de que se formó a partir de una combinación de palabras suficientemente larga, sino también asegurarte de que no aparezca en los medios de comunicación populares que podrían ser parte de un atacante. lista de palabras.

    
respondido por el PwdRsch 16.08.2014 - 00:50
fuente
8

artículo original de Shannon sobre el tema y las investigaciones adicionales proporcionan un inglés gramatical de 1.3 bits de entropía por personaje. Puede calcular la entropía de una contraseña aleatoria elevando el espacio de caracteres a la longitud de la contraseña y luego tomando la base de registro 2 de ese valor, por ejemplo. Una contraseña de carácter n creada con los 96 caracteres ASCII imprimibles tendría una entropía de log2 (96 ^ n).

A partir de esto, puede calcular la longitud del texto en inglés necesario para obtener la misma seguridad. Por ejemplo, una contraseña aleatoria de ocho caracteres es equivalente a (log2 (96 ^ 8) /1.3), o alrededor de una oración de 40 caracteres.

    
respondido por el Mark 16.08.2014 - 00:20
fuente
1

Estás comparando manzanas y naranjas.

Al igual que puede descubrir qué es probable que una palabra del diccionario se base en qué letras se han escrito antes (o una palabra que forma parte del 'lenguaje de contraseña', como lo hace Telepathwords, que es básicamente el mismo problema de PNL). con un corpus mejor para entrenar sus predicciones, puede averiguar cuáles serán las siguientes palabras de una oración tan pronto como tenga un corpus en el que basar sus predicciones.

Suponiendo que puede considerar el idioma de sus objetivos, el dominio del servicio donde se usa el factor y cualquier pérdida de credenciales anteriores como información previa y la razón en términos de pérdida de información. De todas las posibles combinaciones de palabras (gramaticalmente correctas), ¿cuántas pueden ser semánticamente correctas (análisis semántico latente básico en el corpus de un idioma) y cuáles son más relevantes para su usuario (que es una especie de problema de aprendizaje de desambiguación de significado)?

Lo que quiero decir es que, básicamente, el alfabeto de frase de contraseña hace que sea más fácil para los usuarios crear frases de contraseña significativas y, si bien esto es bueno en términos de usabilidad, también significa que es más probable que encuentre información previa valiosa que al azar real. contraseñas (en lugar de contraseñas verdaderamente elegidas por el usuario). Es muy bueno querer poner puntuaciones en diferentes credenciales con métricas 'objetivas', pero el entorno y la forma en que se utilizan contribuyen mucho más a su seguridad relativa y facilidad de uso que a su propia forma.

    
respondido por el Steve DL 15.08.2014 - 23:30
fuente
1

Hice un análisis para Google basado en una muestra de 15 millones de contraseñas hash sin sal utilizadas por los usuarios reales para cuentas de Google. Algunas diapositivas basadas en los resultados se publican aquí, "Límites al Anti Phishing".

enlace

Si mira la página 14, el gráfico de burbujas muestra la frecuencia de las contraseñas comunes. Una de las conclusiones más importantes es que el 6.1% de las cuentas utiliza un diccionario de solo 1000 contraseñas. Aproximadamente 1 millón de contraseñas son utilizadas por el 50% de las cuentas. Por lo tanto, los ataques de fuerza bruta en un hash salado conocido son bastante triviales e incluso los ataques de adivinación de contraseñas en línea pueden ser relativamente exitosos contra alguna fracción de cuentas, a menos que su sistema de inicio de sesión detecte intentos de adivinar contraseñas en línea (que todos los sistemas seguros deberían). p>

En la medida en que 1000 contraseñas sean compartidas por una fracción de cuentas, 1000 ~ 2 ^ 10, lo que es consistente con la estimación 8 x 1.3 = 10.4 bits.

    
respondido por el Jeff-Inventor ChromeOS 16.08.2014 - 04:55
fuente

Lea otras preguntas en las etiquetas