¿La contraseña de una sola vez basada en el tiempo mejora la seguridad en caso de pérdida de la base de datos?

2

Por lo que entiendo, las contraseñas de un solo uso basadas en el tiempo usaron un algoritmo de semilla y matemático para generar contraseñas únicas. Como la semilla es conocida por el usuario (o el dispositivo usado por el usuario) y el servidor de autenticación. Sin embargo, esto significa que si la base de datos se filtra, la semilla será conocida por el atacante.

Al igual que con una fuga en la base de datos, un atacante puede conocer tanto la contraseña como la OTP. ¿La One Time Password basada en el tiempo mejora la seguridad en caso de fuga en la base de datos? ¿O es el objetivo de la OTP solo para evitar que un atacante se autentique cuando conoce la contraseña de otra manera (otra filtración en la base de datos, ingeniería social ...)?

    
pregunta Kepotx 25.04.2018 - 12:41
fuente

1 respuesta

6

En realidad, la contraseña es lo que se supone que protege al usuario en caso de que su base de datos tenga pérdidas. Si hash y saltea correctamente , el atacante no debería poder obtener una versión de texto simple de la contraseña (con una contraseña razonable en un tiempo razonable y con recursos razonables) si un atacante como el NSA está detrás de usted, no No confíe en esto. Además, si sabe que su base de datos tiene fugas o podría haberse filtrado, obligue a los usuarios a cambiar la contraseña para estar seguros). Su aplicación no debe aceptar el hash como una contraseña válida. Por lo tanto, el atacante no debería poder iniciar sesión incluso si la base de datos tiene pérdidas. Nota: Si desea hacer hash en el lado del cliente, verifique los esquemas como SCRAM-SHA256 para proteger este tipo de ataque.

Por otra parte,

TOTP protege de la contraseña de usuario que el usuario filtró u obtuvo de otra manera (fuerza bruta, intercepción, registrador de teclas) sin comprometer el servidor.

Si desea una protección adicional en caso de que el servidor esté comprometido Y se obtenga la contraseña (por ejemplo, el atacante intercepta las solicitudes de inicio de sesión y obtenga la contraseña de esa manera), considere usar algo como SCRAM para limitar la exposición de la contraseña al servidor o usar < a href="https://cweiske.de/tagebuch/ssl-client-certificates.htm"> par de clave pública-privada para iniciar sesión, posiblemente con el token de hardware utilizando U2F .

    
respondido por el Peter Harmann 25.04.2018 - 13:17
fuente

Lea otras preguntas en las etiquetas