¿Cuáles son las debilidades de este método de generación de contraseña? ¿Cómo puede ser mejorado?

6

Recientemente se me ocurrió el problema, que tengo muchas más cuentas, de las que puedo recordar contraseñas. No quiero usar una contraseña segura, porque no puedo acceder a ella en otra computadora, pierdo todos los inicios de sesión si pierdo esta caja fuerte y un atacante obtiene una gran cantidad de logindata, si compromete la caja fuerte. En cambio, deseaba un método para generar contraseñas seguras con un método que siempre pueda reproducir y recordar solo una contraseña / frase / secreto. Para encontrar un método de este tipo, le pregunté a esta pregunta .

Mientras tanto, un amigo y yo creamos un método de generación de este tipo. Ahora quiero saber, si es inseguro, qué debilidades contiene y cómo se puede mejorar.

El método que se nos ocurrió necesita un secreto central. Este debe ser un texto que nadie más conoce, pero que es fácil de recordar por ti mismo. Un poema puede ser más fácil de recordar, pero debes crear algo personal, para que nadie pueda concluir el texto. Así que no tome el Jabberwocky , ya que todos conocen este texto. (Pero elegiré Jabberwocky para el ejemplo).

Ahora toma el nombre de la plataforma en la que necesita un inicio de sesión. Eso puede ser algo como HOMEPC o STACKEXCHANGE. Tome el primer carácter de su cuenta y busque la primera palabra que lo contenga en su secreto. Para Jabberwocky, la primera palabra con una 'h' (HOMEPC) es 'la' y la primera palabra con una 's' (STACKEXCHANGE) es 'Twas'. Ahora tome la siguiente palabra con el siguiente carácter, y así sucesivamente. De esta manera usted genera la contraseña específica. Los ejemplos son:

HOMEPC -> 'the toves gimble the vorpal Jabberwock'
STACKEXCHANGE -> 'Twas the and Jabberwock took time manxome Jabberwock with flame And through The'

Si el secreto no es lo suficientemente largo, comienza de nuevo desde el principio. Si el nombre de la plataforma es demasiado corto, tómelo doble o tres veces. Lo mismo si tienes la sensación, la contraseña no es lo suficientemente buena.

EBAYEBAY -> 'the gimble wabe mimsy were borogoves And my'

El secreto debe contener todos los caracteres al menos una vez (Jabberwocky falla q y z).

¿Cuáles son las debilidades en este método? ¿Cómo puedes atacar las contraseñas generadas por esto, o incluso peor, concluir con otras contraseñas si son interceptadas?

    
pregunta Mnementh 20.12.2010 - 21:23
fuente

7 respuestas

9

Este es un método deficiente para la generación de contraseñas.

  1. Requiere memorizar un secreto muy largo. Esto es muy difícil para la mayoría de los usuarios, especialmente si desea que tenga mucha entropía.

  2. ¿Cuál es el enlace más débil? Lo mismo que siempre es: el humano. El eslabón más débil es el humano que escoge el poema (el secreto central). Sospecho que en la práctica, una gran parte de los usuarios van a elegir un poema que tiene una entropía relativamente baja: es decir, es una de un conjunto de posibilidades bastante pequeño. Apostaría a que hay como máximo 2 ^ 20 poemas en el mundo, y una fracción significativa de usuarios podría usar uno de esos 2 ^ 20 poemas. Si es así, este es un método débil. Cualquier sitio web que conozca cualquiera de sus contraseñas puede recuperar el poema y luego adivinar todas sus contraseñas en todos los demás sitios.

  3. Además, un atacante que no sabe nada de usted y quiere entrar en su cuenta en algún sitio puede comenzar a probar poemas, en orden de popularidad decreciente, y probar cada contraseña que resulte. Hay buenas razones para pensar que esto tendrá éxito con una tasa de éxito deprimente. Por ejemplo, mire los estudios de contraseñas (consulte las referencias a continuación); encuentra que un pequeño diccionario de contraseñas comunes es suficiente para romper una fracción significativa de las contraseñas de los usuarios. Sospecho que el problema será aún peor con este esquema. Ya es suficientemente malo tratar de memorizar una contraseña de 6-8 caracteres; Tratar de memorizar un poema entero sería horrible.

  4. Esto es trivialmente derrotado con Google. Usted enumeró tres ejemplos de contraseñas de sitios para HOMEPC, STACKEXCHANGE y EBAY. Elija cualquiera de esas contraseñas del sitio y córtela y péguela en Google. En cada caso, la primera respuesta es el poema de Jabberwocky. Por lo tanto, en cada caso, alguien que conozca una única contraseña de sitio puede aprender todas las demás contraseñas de su sitio. Eso no es bueno. Espero que esto sea un problema general para muchos usuarios: no es específico de su ejemplo, sino que sería exitoso para una gran parte de los usuarios.

Como siempre, el problema difícil en este espacio es la facilidad de uso: el esquema debe diseñarse para que funcione bien para un usuario típico. Sospecho que este esquema se clasifica mal en ese criterio.

Hay una tremenda cantidad de trabajo previo sobre este tema. Resulta que este es un problema desafiante, pero hay algunas soluciones bastante buenas. Sugiero mirar PwdHash (www.pwdhash.com) y Passpet (passpet.org). Cualquiera de los dos es una solución razonable. Passpet es probablemente más seguro, pero más difícil de usar. Definitivamente no recomiendo tratar de inventar su propia solución casera, especialmente si aún no está al tanto del trabajo previo sobre este problema.

Como alternativa, muchos administradores de contraseñas del navegador ofrecen la posibilidad de sincronizar en múltiples máquinas o múltiples navegadores (mediante el almacenamiento en la nube). ¿Por qué no probar uno de ellos? (No comprendo sus afirmaciones acerca de no poder usarlo en otra máquina. Todas las buenas soluciones proporcionan una forma de usar sus contraseñas de varias máquinas).

    
respondido por el D.W. 07.01.2011 - 05:59
fuente
7

Estoy de acuerdo con el Usuario 502 en que para las contraseñas generales del sitio web pueden estar bien. Sin embargo ...

no le da una opción para la próxima contraseña que elija si ese sitio web exige que la contraseña caduque y no se reutilice. Querría algo que pudiera hacer frente.

    
respondido por el Rory Alsop 20.12.2010 - 22:12
fuente
4

Ese método no es criptográficamente sólido [1], pero parece suficiente para derrotar a los ataques casuales de la base de datos como el de Gawker's.

FWIW, hay una encuesta de las opciones de administración de contraseñas basadas en web en serverfault .

[1] Dado que está eligiendo una frase en inglés, la entropía está alrededor de 1 bit por letra , y su método podría ser bastante fácil de adivinar si alguien que lo persigue, específicamente recuperó una contraseña de uno o dos servicios con los que se autentico.

    
respondido por el user502 20.12.2010 - 21:42
fuente
4

Esto parece una manera increíblemente difícil de replicar enlace . Está disponible en todas las plataformas (incluidas móviles y basadas en web, que pueden cargarse en su servidor si está paranoico como yo) y es muy fácil de usar cualquier variación, siempre y cuando no sea demasiado complicado con la variación de la reglas. He usado el generador de JavaScript muchas veces en una PC remota. Solo tiene que recordar qué sitios no aceptan su configuración predeterminada, si la hay. Incluso permite que se ingrese un nombre de usuario o un modificador para manejar la rotación de contraseñas.

Su método, por otro lado, fallará tan pronto como un sitio acepte solo una longitud de contraseña máxima corta.

    
respondido por el SilverbackNet 22.12.2010 - 03:51
fuente
4

Este esquema depende mucho del secreto central que elijas. Si utiliza texto cotidiano, como incluso un poema oscuro, genera contraseñas largas con poca entropía por carácter. La distribución de las letras en los nombres de los sitios está sesgada, y la distribución de las palabras en prosa es enormemente sesgada y correlacionada.

Con el secreto correcto probablemente estaría bien, y con la práctica, podrías hacer la búsqueda de palabras por personaje bastante rápido.

Podría generar un buen secreto (con entropía sustancial para cada palabra) con apg. Ya que estará usando varias palabras en su contraseña general, cada una podría ser pequeña, por ejemplo. 3 personajes. Tenga en cuenta también que, por defecto, apg produce contraseñas "pronunciables", por lo que éstas tienen una entropía mucho menor que las cadenas de 3 caracteres aleatorias.

$ apg -m 3 -x 3
Kip
Ab7
Jiz
jun
ted
yuc

Si desactivas la opción "pronunciable" se vuelve un poco más difícil:

apg -m 3 -x 3 -a 1
KIX
%(F
^hg
_Jy
!fb
QT3

Por supuesto, esto es más difícil de memorizar que un poema. Básicamente, equivale a agregar dos (o más) caracteres aleatorios antes y después de cada letra del nombre del sitio.

Ambos esquemas son similares a otros que acabo de encontrar: Mantenga su Contraseñas seguras en un pedazo de papel

    
respondido por el nealmcb 20.12.2010 - 22:33
fuente
4

Me suena como si estuvieras sufriendo algún tipo de sobrecarga de contraseña.

No estoy seguro de cómo están configurados sus sistemas exactamente o de qué se trata, pero siempre podría considerar métodos de autenticación que no estén basados en contraseñas en absoluto.

Las contraseñas en esta época parecen ser siempre vulnerables a la fuerza bruta, y dada la disponibilidad de herramientas de fuerza bruta y tablas de arco iris (y colisiones dentro de algoritmos de hash, es decir, md5 y sha1), por no mencionar la capacidad de aprovechar el poder de GPU en infraestructura en la nube: podría ser algo a tener en cuenta.

Posiblemente podría considerar otros métodos de autenticación que, de forma inherente, se basan en algún otro componente que se considera "irrefutable" (en un sentido de la palabra), como la biométrica.

La autenticación de dos factores también viene a la mente, es decir, algo que sabes (una contraseña, pin, etc.) y algo que tienes (dispositivo rsa, etc.).

Las contraseñas de una sola vez también podrían ser interesantes.

    
respondido por el Troy Rose 22.12.2010 - 22:24
fuente
0

Su algoritmo de generación de frase de contraseña es seguro solo por oscuridad. Si un atacante obtiene una o dos de sus frases de contraseña, obtendrá un buen subconjunto de palabras posibles en sus frases de contraseña y los lenguajes humanos se pueden recuperar parcialmente por contexto, por lo que sus frases de contraseña no recibirán tanta entropía como parece

Sugeriría alguna forma de evitar los inconvenientes de un administrador de contraseñas sin conexión. Por ejemplo, puede recordar solo 3/4 frases de contraseña no relacionadas con caracteres especiales, números, etc. Una de ellas para la caja fuerte y otra para su cuenta de correo electrónico y servicios críticos que no puede perder, también habilite el factor 2 autenticación siempre que sea posible en esos servicios. Luego, puede cargar su caja fuerte en una de esas cuentas de 2 factores (unidad de Google, por ejemplo). También le sugeriría que agregue o agregue algo que solo conoce a las contraseñas en su caja fuerte, de modo que si un atacante tiene acceso a él no podrá usar sus contraseñas sin su secreto

Incluso en caso de que algún atacante pueda acceder a su causa segura, olvidó quitarla de una computadora determinada que usó o una situación similar, necesita el secreto. Y en caso de que lo obtenga, todavía puede acceder a sus cuentas críticas para recuperar las otras

    
respondido por el Mr. E 05.12.2016 - 18:57
fuente

Lea otras preguntas en las etiquetas