Reautenticación de un usuario para acciones sensibles utilizando OpenID

1

Normalmente, cuando realiza acciones confidenciales en un sitio web, como cambiar su contraseña o habilitar la autenticación de dos factores, se le exige que vuelva a ingresar su contraseña, probablemente para protegerse contra el secuestro de sesión (ya sea por intercepción o por alguien que usa la computadora físicamente ). Sin embargo, si un usuario se registró con OpenID o con un proveedor de autenticación OAuth como Google o Facebook, la reautenticación tiene un uso limitado contra alguien que usa físicamente la computadora porque es probable que el usuario haya iniciado sesión en su cuenta de Google / Facebook / etc. no hay contraseña reprompt. Todavía protegería contra el robo de una ID de sesión y su uso para agregar una contraseña local, pero si el sitio funciona a través de HTTPS, esto no es una preocupación importante.

¿Hay alguna forma de verificar la autenticidad de la solicitud para, por ejemplo, agregar una contraseña local a una cuenta que anteriormente solo ha utilizado un servicio externo para autenticar los inicios de sesión, o solo es un riesgo que se debe tomar?

    
pregunta JackW 10.09.2016 - 15:40
fuente

1 respuesta

2

Es razonable pensar que un usuario en particular puede tener muchos privilegios diferentes en un sitio, algunos de mayor sensibilidad y otros de menor sensibilidad. En OAuth land, el baile entrega un token al usuario, y el sitio en el que es válido el token habrá definido los privilegios que ese token consagra.

Por lo tanto, el sitio puede decidir simplemente incluir privilegios vinculados a la solicitud específica que realizó el usuario que inició el baile de OAuth, que puede ser más limitado que el conjunto completo de derechos que ese mismo usuario puede tener en el sitio.

Si el usuario, cuya autorización está incorporada en ese token, desea realizar alguna acción que no esté permitida por los privilegios proporcionados por el token, el sitio puede negarse a permitirle realizar la acción y puede proporcionarle al usuario con otra oportunidad para reiniciar la danza OAuth, incluso si eso implica que el usuario vuelva a ingresar sus mismas credenciales.

Esto no es bueno para la usabilidad, pero está permitido.

Dicho esto, tal vez la circunstancia citada específica, que cambia una credencial "local", no debería considerarse como un problema a resolver. Múltiples fuentes de verdad para la autenticación a menudo no son una buena idea.

    
respondido por el Jonah Benton 11.09.2016 - 04:05
fuente

Lea otras preguntas en las etiquetas