¿cuáles son las fallas de seguridad al proporcionar acceso a los usuarios a través de una URL no listada / privada / token / firmada?

1

Algunas aplicaciones web permiten a los usuarios registrados otorgar acceso temporal a las aplicaciones a usuarios no registrados que envían URL de token / private / no listados / firmadas (ignoro la terminología exacta para esto), que luego se usan para enviar información confidencial / confidencial del usuario. La razón para usar dicho mecanismo es eximir a estos usuarios de requerir una cuenta, ya que no son muy frecuentes en el sistema. Este sistema de autenticación / identificación de URL puede parecerse a los mecanismos utilizados para validar o restablecer las cuentas de usuario, con la diferencia de que están disponibles durante un período de tiempo más largo (por ejemplo, una o dos semanas).

¿Cuáles son las posibles fallas de seguridad en el uso de este mecanismo para otorgar acceso a los usuarios? Según tengo entendido, la información confidencial de la publicación se puede proteger con SSL, sin embargo, compartir estos enlaces a través del correo electrónico es susceptible de que alguien intercepte el correo electrónico para suplantar al usuario mientras el enlace no haya caducado, lo que podría resultar en información no deseada enviada al servidor. Supongo que una forma de minimizar los riesgos es habilitar a las personas que usan la URL solo para el contenido de la POST, de modo que nadie (ni en el caso de un usuario legítimo) tenga acceso a ningún dato enviado previamente a través del mismo enlace. Entonces, asumiendo que no me falta nada más, ¿está justificada esta elección de diseño de autenticación o es una práctica no recomendada?

Actualizar:

La alternativa a esto es pedir a incluso los usuarios poco frecuentes que creen un nombre de usuario / pwd. Con esto, se asegura de que nadie realice solicitudes no deseadas a su servidor y, además, puede elegir mostrar información personal del usuario en cualquier momento.

    
pregunta jibiel 21.05.2014 - 14:24
fuente

1 respuesta

1

Mientras no esté dando acceso a ninguna información y solo esté permitiendo la entrada, realmente no hay un inconveniente, pero tampoco es realmente necesario. ¿Qué estás ganando al enviar ese enlace? Usted no sabe nada más sobre el usuario que si solo fuera a su sitio web (aparte de que tal vez tengan acceso (legítimo o no) al mecanismo de comunicación al que envió el enlace.

Esto se puede hacer antes o después de que se ingrese la información, y mientras no se revele información, realmente no hay un problema de seguridad aparente, ya que todo lo que alguien podría hacer es convencerlo de que otra persona es realmente alguien que no lo es, si la persona a la que pretenden ser decide seguirla.

Simplemente debes asegurarte de que el token sea lo suficientemente aleatorio para que no pueda ser adivinado por un atacante. Una forma posible de hacer esto es usar dos piezas de información e implementar un bloqueo si se intentan demasiados tokens para un identificador dado.

    
respondido por el AJ Henderson 21.05.2014 - 15:37
fuente

Lea otras preguntas en las etiquetas