Frase de contraseña generada al azar para la identidad y la autenticación

3

Hay preguntas sobre el uso de una contraseña solo para identificar y autenticar a un usuario, en lugar de una dirección de correo electrónico o nombre de usuario más contraseña:

Todos aquellos, sin embargo, involucraron nombres de usuario públicos y / o contraseñas establecidas por el usuario con el potencial de restablecerlas. ¿Qué pasa con las contraseñas aleatorias / frases de contraseña que no se pueden restablecer? Cloud Save de DuckDuckGo me hizo preguntarme acerca de esto, ya que usa las mismas frases de contraseña aleatorias tanto para la identidad como para la autenticación, sin dirección de correo electrónico o nombre de usuario involucrado.

Digamos que estamos construyendo un servicio que almacena datos sobre sus usuarios.

  • Si el servicio genera aleatoriamente una frase de contraseña / contraseña (por ejemplo, cinco palabras aleatorias de un diccionario de 2000 palabras) para cada nuevo usuario,
  • y la identidad de cada usuario es privada,
  • y no tenemos que admitir el restablecimiento de contraseñas olvidadas (por ejemplo, porque usamos frases de contraseña de usuario para cifrar todos los datos almacenados del usuario con SHA-512 con PBKDF2 o lo que sea),
  • entonces, ¿qué riesgos existen al usar solo esa frase aleatoria, en lugar de requerir también una dirección de correo electrónico o nombre de usuario para identificar al usuario?
  • (Si la nueva frase de contraseña choca con la de otro usuario durante la creación de un nuevo usuario, el servicio generará otra frase de contraseña al azar y la utilizará en su lugar).

Hay un claro beneficio de esto: el usuario solo tendría que escribir esa frase de contraseña al iniciar sesión, en lugar de un correo electrónico / nombre de usuario y frase de contraseña.

En cuanto a los riesgos, si un atacante supiera que una persona específica era un usuario de nuestro servicio, el atacante tendría que intentar forzar la frase de contraseña del usuario ... lo que se supone que es difícil de hacer en primer lugar de todos modos.

Sin embargo, puedo ver el riesgo de que el atacante incurra en la frase de contraseña de otro usuario mientras intenta forzar la frase de contraseña del primer usuario, obteniendo acceso al otro. Pero, ¿no es esta una posibilidad igualmente pequeña de todos modos? Puedo ver cómo dependería de cuántos usuarios están registrados en el servicio; si hay un quintillón de cuentas de usuario, será más fácil obtener la cuenta de alguien por fuerza bruta. Sin embargo, no sé cómo calcular esto.

Pero eso todavía no afecta la dificultad de romper datos de usuario cifrados si el atacante obtiene acceso a los datos; su fortaleza dependería de la contraseña y el cifrado solo si un correo electrónico / nombre de usuario se usa para la identidad o no.

  • ¿Existe algún otro riesgo al usar frases de paso aleatorias para la identidad y el cifrado de datos / autenticación, sin correos electrónicos / nombres de usuario?

  • ¿Cómo se puede calcular la probabilidad de que un atacante encuentre la frase de contraseña de cualquier usuario después de los intentos de T, dadas las frases de contraseña de usuario N existentes y las frases de contraseña teóricas totales en D?

pregunta user3842252 13.03.2016 - 19:44
fuente

1 respuesta

2

Los riesgos incluirían el que usted mencionó:

  

el atacante podría aparecer accidentalmente en la contraseña de otro usuario   mientras intentan forzar la frase de contraseña del primer usuario,   obteniendo acceso al otro usuario

Para cada usuario que se agrega a su servicio, el atacante obtiene una respuesta "gratuita" durante su ataque. En el caso de un atacante que solo va por un solo usuario, esto no importa, pero en el caso de que un atacante solo necesite acceder a una cuenta, cada contraseña que intente se prueba automáticamente con cada cuenta de usuario. Esto funciona tanto en un escenario en línea como fuera de línea (esto último podría ser posible si un atacante obtiene acceso a cualquier hash de contraseña que esté almacenado, no está claro si está usando estos o no).

Otro inconveniente es que no es posible el bloqueo automático o la aceleración de la solicitud de conjeturas repetidas contra un usuario en particular. Esta es la principal mitigación contra los ataques de adivinación de contraseñas.

  

si hay un quintillion de cuentas de usuario, entonces será más fácil   Incidentalmente obteniendo la cuenta de alguien por fuerza bruta. No lo sé   cómo calcular esto, sin embargo.

Quintillion = 1,000,000,000,000,000,000
(World population 7,400,000,000)

Number of permutations = 2000^5 = 32,000,000,000,000,000

Chances that a guessed password (if the wordlist and method is known) 
matches an existing one of the quintillion accounts = 3.2%

Chances if everyone in the world has one account = 
2000^5 / 7,400,000,000 = ~1 in 4.3 million

Para que estos cálculos sean significativos, debe conocer el tamaño aproximado de su base de usuarios. Dudo que sea tan alto como en los ejemplos anteriores, pero con un quintillón un atacante solo necesita 32 conjeturas en promedio.

    
respondido por el SilverlightFox 14.03.2016 - 15:24
fuente

Lea otras preguntas en las etiquetas