Tratar con violar la privacidad de los usuarios registrados durante la autenticación fallida

4

Estamos hablando de cómo lidiar con los problemas de privacidad durante la autenticación fallida, el restablecimiento de la contraseña y la creación de cuentas en una aplicación web.

Digamos que estoy en el proceso de crear una cuenta en una aplicación y estoy usando un correo electrónico que ya está en uso. Si envía comentarios de usuarios directamente al usuario final que dicen "este correo electrónico ya está registrado", la aplicación podría exponer información confidencial para la cuenta que usa ese correo electrónico en particular. Por ejemplo, podría verificar si una determinada persona tiene una cuenta en la aplicación simplemente usando su dirección de correo electrónico durante este proceso.

Esto seguro es un problema cuando se trata de aplicaciones que tratan con contenido sensible (como, por ejemplo, sitios web similares a Second Love o Tinder).

Se producen problemas similares al restablecer las contraseñas o al intentar iniciar sesión con la contraseña incorrecta. Los comentarios útiles de los usuarios parecen ser una necesidad, pero pueden ser utilizados por otros para violar la privacidad de los usuarios ya registrados.

Para registrar una cuenta, el problema podría resolverse fácilmente enviando comentarios en la línea de "se envían más instrucciones a su correo electrónico". Esto no significa necesariamente que la cuenta ya existe. En el correo electrónico se podría escribir que "el correo electrónico ya se ha vinculado a otra cuenta", incluidas las instrucciones sobre cómo proceder o cuando el correo electrónico aún no está en uso, simplemente enviamos un enlace para activar la nueva cuenta que permite al usuario finalizar el correo electrónico. Proceso de registro de cuenta.

Se podría hacer algo similar para restablecer la contraseña: "se envían más instrucciones a la dirección de correo electrónico". Esto no expone nada.

Pero para intentos fallidos de inicio de sesión, dicha solución no es particularmente fácil de usar: "esta combinación de contraseña de correo electrónico no se reconoce".

El usuario podría preguntarse: ¿¡He usado la dirección de correo electrónico incorrecta o la contraseña incorrecta?

Muchos sitios web simplemente envían comentarios en la línea de: "no podemos encontrar una cuenta con esa dirección de correo electrónico" o "se proporcionó una contraseña incorrecta".

Con las reglas / leyes de privacidad cada día más estrictas después de muchos escándalos, me pregunto si la respuesta anterior es aceptable para cualquier aplicación web, pero parece que incluso los grandes (Google, Amazon, Facebook, etc.) no parecen Importa y simplemente muestra que el correo electrónico utilizado es reconocido.

¿Estoy exagerando el cuidado de la privacidad de los usuarios registrados de las aplicaciones? ¿Existe alguna práctica recomendada o lectura útil sobre este tema en particular?

EDITAR: Las preguntas más antiguas sobre el intercambio de pila y otras publicaciones de blog son, en su mayoría, temas sobre cómo exponer la información del usuario desde un punto de vista de seguridad. Pero el Reglamento general de protección de datos (GDPR, por sus siglas en inglés) está en marcha pronto y estoy particularmente interesado en el tema de privacidad relacionado con revelar información específica de la cuenta.

    
pregunta Wilt 16.05.2018 - 10:53
fuente

2 respuestas

4

Me gusta cómo GDPR declara : "implementar las medidas técnicas y organizativas adecuadas". Ahora debe tomar un enfoque basado en el riesgo para definir apropiado. En casos sensibles como second love , esto sería totalmente diferente para un servicio más genérico como las redes sociales. Así que no, usted no está exagerando, pero depende del contexto de riesgo, y si los datos ya están disponibles públicamente. Por ejemplo, mi cuenta de github muestra mi correo electrónico en la confirmación.

El principio de privacidad por diseño Funcionalidad completa: suma positiva, no suma cero afirma:

  

La privacidad a menudo se posiciona de manera de suma cero como tener que competir   Con otros intereses legítimos, objetivos de diseño, y técnicos.   Capacidades, en un dominio dado. Privacidad por Diseño rechaza tomar tales   Un enfoque: abarca objetivos legítimos de no privacidad y   Los acomoda, de una manera innovadora de suma positiva.

Por lo tanto, me gusta la forma en que está tratando de encontrar una manera de ser fácil de usar, segura y también de respetar la privacidad. Parece que puede encontrar una nueva forma innovadora, asegúrese de compartir sus hallazgos.

Para estar seguro, siempre puede enviar la misma respuesta que no expone nada. Podría hacer pruebas de usabilidad para ver si esto realmente es un problema. Personalmente, creo que si no puedo iniciar sesión e inmediatamente se muestra un enlace para restablecer la contraseña, es más fácil de usar. Dado que a menudo este es el siguiente paso que tomo. Si la respuesta es que se ha enviado el enlace para restablecer la contraseña, pero si la cuenta no existe, en su lugar envía un correo electrónico de registro, también se sentirá fácil de usar. Como puedo ahora solo inscribirme en su lugar. Sin exponer si ya tengo una cuenta para el público.

De manera similar, siempre se puede manejar el proceso de registro por correo electrónico, de esta manera, usted sabe que el propietario es el único que sabe que su cuenta ya existía. Un correo electrónico como: Hola, su dirección de correo electrónico ya tiene una cuenta. ¿Desea restablecer su contraseña?

Ahora, si todo falla, puede pedir a los usuarios existentes que den su consentimiento para exponer que están utilizando el sistema, con el fin de hacerlo más fácil de usar. Aunque estoy bastante seguro de que no es una buena idea ...

    
respondido por el Niels van Reijmersdal 16.05.2018 - 11:21
fuente
4

Es una pregunta interesante, porque nunca pensé en este problema, pero sí es un problema de privacidad. El problema es que ciertos procedimientos realmente filtran información, que incluso puede ser información confidencial. Para evitar esto, su aplicación debería parecer que se comporta exactamente de la misma manera en todos los casos en que se pueda filtrar información confidencial. Esto significa que si permite que los usuarios se registren libremente ingresando un correo electrónico y una contraseña, por ejemplo, el proceso de registro debe parecer que se comporta de la misma manera, sea exitoso o no. No puede tener un comportamiento "Gracias por registrarse" y también un comportamiento "Hubo algún problema". Tendrías que considerar que el proceso de registro sea siempre exitoso.

  

Gracias por registrarte! Se le ha enviado un correo electrónico para su activación, etc.

Si el usuario ya está registrado, en realidad no enviará un enlace de activación, pero podría enviarles una advertencia como "Ya está registrado, ¿olvidó su contraseña? Si no intentó volver a registrarse en nuestro sitio web" , es posible que alguien más haya ingresado su correo electrónico por error durante el registro y puede ignorarlo, etc. "

Para los inicios de sesión no es realmente un problema, siempre que para un inicio de sesión fallido advierta al usuario que "el correo electrónico O la contraseña es incorrecta, asegúrese de que ambos estén escritos correctamente". Creo que este enfoque se usa comúnmente, lo he visto por todas partes y no es confuso para el usuario.

El restablecimiento de la contraseña después de proporcionar una dirección de correo electrónico debería funcionar de la misma manera: el mismo comportamiento, de modo que siempre responda con "Se ha enviado un correo electrónico con instrucciones de restablecimiento", independientemente de si el correo electrónico se registró o no.

ADVERTENCIA. Dado que esta es una comunidad INFOSEC, para que esté completo, debo advertirle que "el mismo comportamiento aparente" generalmente también incluye la prevención de ataques de tiempo. Supongamos que alguien intenta registrarse utilizando un nuevo correo electrónico, y la página para un registro exitoso tarda 3 segundos en aparecer. Ahora suponga que alguien intenta registrarse utilizando un correo electrónico que ya existe, y la página para el registro exitoso (el mismo comportamiento aparente) toma solo 1 segundo, porque internamente su aplicación ha realizado diferentes tareas (diferentes búsquedas en bases de datos, diferentes tipos de correo electrónico enviado, etc). Esta diferencia en el tiempo puede explotarse porque filtra información. No siempre son factibles los ataques de tiempo, ya que la diferencia en el tiempo puede ser demasiado pequeña o puede requerir muchos intentos antes de que la diferencia sea estadísticamente significativa y no sea fácil de mitigar. Sin embargo, creo que vale la pena mencionar en este caso. Puede que me equivoque, pero es probable que no deba preocuparse por los ataques de tiempo en su caso específico (podría ser una exageración), a menos que la demora del tiempo sea fácilmente perceptible sin repetidos intentos y usted trate con información muy confidencial.

    
respondido por el reed 16.05.2018 - 13:08
fuente

Lea otras preguntas en las etiquetas