¿Cómo manejar dos conjuntos de credenciales de OpenID que proporcionan la misma información, en el mismo o diferentes proveedores de OpenID?

7

Hace poco me encontré con una situación en la que un sitio asumió que si las credenciales de dos personas diferentes para la misma red OpenID producen la misma dirección de correo electrónico, entonces eran la misma persona. Además, menos recientemente me encontré con una situación en la que un sitio asumió que si dos proveedores diferentes de OpenID producen la misma dirección de correo electrónico, entonces son la misma persona.

Ambos de estos me parecen preocupaciones de seguridad. El hecho de que Facebook piense que mi dirección de correo electrónico es [email protected] no significa que deba darme acceso a la cuenta de [email protected] en su sitio.

¿Me estoy perdiendo algo aquí? ¿Cuál es la forma correcta de manejar estas situaciones?

    
pregunta Sparr 08.05.2013 - 19:23
fuente

1 respuesta

4

Su preocupación está justificada, este comportamiento no debe ser permitido. Cotizando página de ayuda de myopenid :

  

OpenID es un sistema de identidad descentralizado. Una identidad de OpenID es solo una URL. Todo lo que hace OpenID es proporcionar una manera de demostrar que posee una URL (identidad).

Cualquier información adicional asociada a esa URL no es [necesariamente] confiable, a menos que el proveedor de OpenID también tenga autoridad para esa información (por ejemplo, Google es un proveedor de OpenID y un correo electrónico proveedor, por lo que cuando Google dice "el propietario de esta URL [google] también es el propietario de esta cuenta de GMail", puede confiar en ella). Incluso aquellos sitios que toman pasos adicionales para validar las direcciones de correo electrónico de los usuarios aún no tienen autoridad para ellos, y la validación solo demuestra que el usuario controló la dirección en el momento de la validación (es decir, el correo electrónico puede haber cambiado de manos, por ejemplo, si se trata de un correo electrónico corporativo o si el usuario se ha registrado con un correo electrónico compartido, etc.).

El comportamiento adecuado sería:

  • Registre dos cuentas distintas con la misma dirección de correo electrónico;
  • Denegar la creación de la segunda cuenta (si, por algún motivo, la dirección de correo electrónico debe ser única);
  • Ofrecer a vincular / fusionar ambas cuentas, requiere que el usuario se autentique nuevamente con la primera cuenta, lo que demuestra que posee ambas URL (la información asociada es irrelevante ).
respondido por el mgibsonbr 24.05.2013 - 04:30
fuente

Lea otras preguntas en las etiquetas