¿Por qué los enlaces de restablecimiento de una contraseña son más seguros que las contraseñas de un solo uso?

9

Recientemente solicité un trabajo en una empresa que creaba

  

soluciones críticas para la seguridad para militares, aeroespaciales, ...

Después de registrarme en su página web, recibí un correo electrónico con mi nombre de usuario y una contraseña única de texto sin formato . Mi primera reacción fue saltar con horror ante su incompetencia, especialmente dado que la seguridad debería ser su competencia , pero después de pensarlo dos veces, me di cuenta de que soy un usuario nuevo y que nada está en estaca todavia Pero luego veo que su función de restablecimiento de contraseña en realidad envía una contraseña única de texto simple .

Esto me hizo pensar, ¿es realmente tan malo enviar una contraseña de un solo uso en texto sin formato ? Especialmente cuando alguien que dice que se gana la vida con seguridad lo hace?

Estaba leyendo esta respuesta muy acertada que dice que nunca debe enviar ninguna contraseña por correo electrónico. En cambio, si su usuario olvida su contraseña, debe enviarles un enlace de restablecimiento de contraseña único .

¿Pero cuál es la diferencia fundamental entre una contraseña de un solo uso y un enlace de un solo uso?

Hasta ahora, no pude encontrar ninguna. Las dos pistas más cercanas que obtuve son:

  1. La respuesta altamente votada menciona que:

      

    Haga todo esto sobre SSL.

    Es decir, enviar el enlace de una sola vez a través de SSL. No entiendo este punto en absoluto. ¿Cómo puede enviar a alguien un enlace de restablecimiento de una sola vez (en un correo electrónico presumiblemente) a través de SSL?

  2. Hubo un comentario de @Anders en esta pregunta mencionando que un enlace caducará, pero una contraseña de una sola vez no lo hará. Pero una vez más, no compro esto. Las contraseñas caducan si las desea.

Además, si el usuario tiene un nombre de usuario que es diferente de su dirección de correo electrónico, entonces una contraseña de un solo uso puede ser más segura que un enlace para restablecer la contraseña. Cualquiera puede interceptar el enlace, iniciar sesión y robar datos, pero si solo el usuario sabe el nombre de usuario, solo él puede usar la contraseña de un solo uso.

¿Sabe cómo reaccionan las personas que se ocupan de la seguridad de la información cuando escuchan las palabras contraseña y texto sin formato en la misma oración, verdad? Si un enlace de restablecimiento de contraseña de una sola vez es solo un nombre de usuario y contraseña de una sola vez, entonces esta práctica debería ser aún más , ¿verdad?

En general: ¿El hecho de enviar contraseñas de un solo uso por correo electrónico en texto sin formato significa una incompetencia absoluta?

    
pregunta Martin Drozdik 20.01.2017 - 02:21
fuente

3 respuestas

1

No sé exactamente por qué @Polynomial sugirió lo que sugirió, pero esto es lo que pienso acerca de tu confusión.

  

¿es realmente tan malo enviar una contraseña de un solo uso en texto plano?

No lo creo. Para que un usuario malintencionado haga un mal uso de esto, necesitarán tener acceso a su buzón o, como usted lo dice, el nombre de usuario. Aunque el nombre de usuario no siempre puede ser aplicable. Si se le envía un enlace para restablecer la contraseña, incluso en ese caso, el atacante tendrá que tener acceso a su correo.
Las áreas en las que creo que el enlace para restablecer la contraseña gana con las contraseñas de una sola vez es que cuando implementas una contraseña de una sola vez, debes hacer lo siguiente:

  • Asegúrese de que la contraseña se cambie inmediatamente cuando el usuario inicie sesión. ¿Qué sucede si un usuario y el usuario malintencionado ingresan en el sitio web simultáneamente antes de que se restablezca la contraseña?
  • Limite / estrangule la cantidad de solicitudes no válidas que se pueden realizar al restablecer la contraseña con la contraseña de un solo uso. ¿Qué sucede si un atacante intenta un ataque de fuerza bruta / diccionario en la función de restablecimiento de contraseña? Si tiene un enlace de restablecimiento de contraseña de una sola vez, no tendrá que preocuparse por ellos.
  

¿Enviar contraseñas por correo electrónico en texto sin formato significa una incompetencia absoluta?

No. Es solo una filosofía diferente.

    
respondido por el Limit 20.01.2017 - 06:06
fuente
7

Esto podría estar bien, después de todo, un correo electrónico de restablecimiento de contraseña contiene una "contraseña única", aunque es una clave secreta y se basa en una secuencia larga y pseudoaleatoria que no es factible para la fuerza bruta.

Además, esto también podría significar que hay un ataque de denegación de servicio contra un usuario legítimo:

  1. El atacante va al sitio web, sabe que [email protected] es un usuario (por ejemplo, a través de una vulnerabilidad de enumeración de nombre de usuario).
  2. El atacante presiona para restablecer la contraseña de Bob.
  3. Nueva contraseña temporal y segura enviada a [email protected]
  4. Bob, sin acceso actual a su correo electrónico ahora no puede iniciar sesión en el sistema.

Los enlaces para restablecer la contraseña no tienen este defecto, por pequeño que sea el sistema en cuestión.

Si se emiten contraseñas temporales, sería conveniente generar una con al menos 80 bits de entropía (la recomendación actual del NIST) y obligar al usuario a cambiarla inmediatamente al iniciar sesión, incluso si "obliga a navegar" a cualquier Otra URL en la sección autenticada de su sitio web. es decir, debería redirigirlos nuevamente a la pantalla de cambio de contraseña hasta que lo hagan, y también debe asegurarse de que seleccionen una contraseña diferente.

El otro problema ahora lo tiene es que si el usuario no usa la contraseña temporal inmediatamente. Tiene una contraseña en texto claro en el buzón del usuario, que no es la mejor ubicación para el almacenamiento de contraseñas. Es posible que tenga que caducar esta contraseña de alguna manera, lo que conlleva una complejidad adicional en su aplicación. Tener enlaces de restablecimiento de contraseña por separado simplifica las cosas, ya que es solo la instancia de un enlace que caduca, no su contraseña principal.

En resumen, es mucho más fácil y más seguro tener un mecanismo de restablecimiento de contraseña por separado que no toque la contraseña del usuario hasta que confirmen que pueden acceder al buzón asociado a la cuenta.

    
respondido por el SilverlightFox 20.01.2017 - 15:01
fuente
4

Una contraseña de un solo uso y un enlace de restablecimiento podrían implementarse de tal manera que sean funcionalmente equivalentes. Sin embargo, en la práctica, una contraseña de un solo uso es probablemente un poco más segura.

Considere el siguiente enlace de reinicio:

https://www.example.com/reset/a93f51cd-ae20-46f8-9575-3d9bfa088e5e

Comparado con una contraseña de un solo uso de:

a93f51cd-ae20-46f8-9575-3d9bfa088e5e

El flujo de trabajo típico para el enlace de restablecimiento es:

  1. Haz clic en el enlace.
  2. Aparecerá una pantalla para cambiar su contraseña.
  3. Ingrese su nueva contraseña, confírmela y guárdela.

El flujo de trabajo típico para la contraseña de un solo uso es:

  1. Vaya a la página de inicio de sesión.
  2. Ingrese su nombre de usuario y su contraseña de un solo uso.
  3. (Entre bambalinas, tu contraseña de un solo uso ahora se invalida). Aparecerá una pantalla para cambiar tu contraseña.
  4. Ingrese su nueva contraseña, confírmela y guárdela.

La razón por la que la contraseña de un solo uso es un poco más segura es, como señaló, con la contraseña de un solo uso, aún necesita saber su nombre de usuario, mientras que normalmente un enlace de restablecimiento no requiere que ingrese su nombre de usuario. Además, una vez que haya ingresado la contraseña de un solo uso, es probable que se invalide de inmediato y ya no se pueda reutilizar, mientras que un enlace de restablecimiento generalmente se puede hacer clic más de una vez siempre que no envíe la nueva contraseña. cambio.

Para que sean funcionalmente equivalentes, después de hacer clic en el enlace de restablecimiento, deberá cancelar el enlace de inmediato y también solicitar al usuario que ingrese su nombre de usuario junto con su nueva contraseña. Tenga en cuenta que una desventaja potencial de la expiración inmediata del enlace de restablecimiento después del primer clic es que algunos programas de correo electrónico y antivirus seguirán los enlaces para verificar si hay contenido malicioso, y esto podría vencer el enlace antes de que tenga la oportunidad de hacer clic en él.

    
respondido por el TTT 20.01.2017 - 17:14
fuente

Lea otras preguntas en las etiquetas