Autenticación sin contraseña en aplicaciones web. ¿Qué tan seguro es?

5

Leí hace mucho tiempo este artículo sobre cómo podría funcionar una Contraseña menos Sistema de autenticación, que me pareció una gran idea. Incluso lo construí en una pequeña aplicación pequeña y divertida para la diversión.

Para citar el artículo, así es como funciona:

  

Aquí es cómo funciona la autenticación sin contraseña con más detalle:

     
  1. En lugar de pedirles una contraseña a los usuarios cuando intentan iniciar sesión en su aplicación o sitio web, solo pregúnteles su nombre de usuario (o correo electrónico o número de teléfono móvil).

  2.   
  3. Cree un código de autorización temporal en el servidor backend y almacénelo en su base de datos.

  4.   
  5. Envíe al usuario un correo electrónico o SMS con un enlace que contenga el código.

  6.   
  7. El usuario hace clic en el enlace que abre su aplicación o sitio web y envía el código de autorización a su servidor.

  8.   
  9. En su servidor backend, verifique que el código sea válido y cámbielo por un token de larga duración, que se almacena en su base de datos y se envía de vuelta para que se almacene también en el dispositivo cliente.

  10.   
  11. El usuario ha iniciado sesión y no tiene que repetir este proceso hasta que su token caduque o quieran autenticarse en un nuevo dispositivo.

  12.   

Entonces, ¿qué piensan ustedes? ¿Es realmente una alternativa realista a la autenticación basada en contraseña?

Editar:

Como se ha indicado, el robo de su teléfono le da acceso potencial a sus correos electrónicos y SMS, lo que podría comprometer este sistema. Pero ese también sería el caso de los sistemas basados en contraseñas, donde puede hacer clic en el enlace "Contraseña olvidada" para recibir el correo electrónico para cambiar la contraseña, y también podría haber instalado Google Authenticator. Así que, en mi opinión, tener el teléfono robado es una debilidad para los sistemas AMBOS y sin contraseña

Tal vez la pregunta debería haber sido:

  

¿La autenticación sin contraseña agrega escenarios de riesgo que no están presentes en los sistemas de autenticación basados en contraseña?

    
pregunta Enrique Moreno Tent 18.04.2015 - 19:07
fuente

2 respuestas

4

Como siempre, la elección del esquema de autenticación depende principalmente de lo que necesita proteger y del tipo de público que recibirá.

Como el enlace "Olvidé mi contraseña" mencionado en los comentarios es un buen ejemplo. Por el pasado, para ciertos sitios web no importantes, usé dichos enlaces de forma sistemática para abrir una sesión:

  1. Haz clic en el enlace "Olvidé mi contraseña"
  2. Obtenga el correo electrónico que permite restablecer la contraseña,
  3. Si es realmente necesario, restablece la contraseña a alguna cadena aleatoria larga.

De esta manera, la seguridad del acceso a este sitio dependía de la seguridad de mi buzón. No tenía una contraseña que recordar, y la contraseña registrada en la base de datos de este sitio era única.

Este procedimiento parece una versión sucia del procedimiento que presenta en su pregunta.

Con respecto a la seguridad, esto funciona siempre y cuando:

  • La fuente de autenticación (correo electrónico, teléfono, ...) no está comprometida,
  • El token de larga duración no está comprometido.

Para un sitio web que no es importante, cuando tal esquema de autenticación se implementa correctamente, podría ser más seguro que permitir que los usuarios usen una contraseña tonta ya utilizada en una docena de otros sitios web.

Para un sitio web que trata con datos confidenciales, el usuario debe estar en medida para probar su identidad. Por lo tanto, el uso de una contraseña secreta que solo conoce el usuario parece obligatorio para poder proceder con una autenticación normal. El uso del correo electrónico / SMS debe ser excepcional como un procedimiento de restablecimiento de contraseña o como un segundo factor de autenticación.

Con respecto a la usabilidad, sería mejor mantener dicho esquema de autenticación como opcional, ya que algunos usuarios prefieren usar contraseñas seguras u otro tipo de generadores de contraseñas para manejar sus contraseñas y no podrán actuar como lo harán con su autenticación esquema (los enlaces proporcionados son solo una muestra de dicho software).

    
respondido por el WhiteWinterWolf 18.04.2015 - 19:48
fuente
0

Una diferencia entre un sistema sin contraseña y un sistema de contraseña + contraseña olvidada es el tiempo de espera de la sesión. Muchos sistemas como medida de seguridad se desconectan automáticamente después de X minutos. Si bien, por supuesto, podría hacer esto en un sistema sin contraseña, sería muy molesto para el usuario. La facilidad de uso en sistemas sin contraseña generalmente depende de sesiones de larga duración (es decir, iniciar sesión cada pocos meses en lugar de todos los días), mientras que las sesiones de clasificación generalmente no son un gran problema en los sistemas basados en contraseñas.

    
respondido por el Eric Anderson 26.09.2016 - 23:00
fuente

Lea otras preguntas en las etiquetas