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:
- ¿Por qué nos autenticamos solicitando a un usuario que ingrese el nombre de usuario y la contraseña? ¿Solo es suficiente con solicitar la contraseña?
- ¿Por qué el nombre de usuario y la contraseña?
- Diferencia entre autenticación e identificación [Crypto y Seguridad perspectiva]
- ¿Deben mantenerse en secreto los nombres de usuario?
- Revisting the Username Hash
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?