¿Dónde se almacenan las contraseñas en SAML? ¿En el IdP o en el lado SP?

1

Entiendo el flujo básico de SAML, pero aún no me queda claro dónde están almacenadas las contraseñas.

Esta imagen muestra "APP VERIFIES SAML RESPONSE & LOGS USER IN" de onelogin parece que la contraseña está almacenada en la APP SP.

Peroesteotro sugiere que la contraseña se almacene en el IdP (talentlms).

¿Dónde se almacenan las contraseñas?

Si las contraseñas se guardan en el lado de IdP (onelogin) y están comprometidas, el atacante podría acceder a todos los sitios, ya que el atacante tendría la contraseña maestra.

    
pregunta Mark P 24.08.2017 - 18:40
fuente

2 respuestas

2

El SP no tiene conocimiento de la contraseña que autentificó al usuario. Lo único que le importa al SP es que un IdP y un SP confían en un token que dice que el usuario está autenticado. Este token no está relacionado con la contraseña de ninguna manera. El token es firmado por el IdP con una clave privada y validado por el SP con la clave pública relacionada.

Dado que, la autenticación del usuario se produce por el IdP. No tiene que ser una contraseña, pero a menudo lo es.

    
respondido por el Steve 24.08.2017 - 19:30
fuente
2

La función principal de IdP es "autenticar" la identidad reclamada por el usuario, y garantizar al SP que la identidad del usuario haya sido verificada.

Para esto, (más comúnmente), la contraseña debe ser verificada por el IdP y, por lo tanto, se almacena con el IdP.

En un sistema implementado correctamente, el SP nunca debe estar en posición de "acceder" a la contraseña y / o cualquier otro mecanismo utilizado para verificar la identidad del usuario. Por lo tanto, nunca se almacena con el SP.

Cómo funciona:

Normalmente, el IdP le proporciona al usuario un token verificable que indica a un SP que la autenticación se ha realizado correctamente. El usuario pasa esto al SP como "prueba de autenticación exitosa". No hace falta decir que el SP no toma la palabra del usuario para ello. Así que el SP verifica este token con el IdP y solo después de confirmar que el token es válido, continúa con el siguiente paso (generalmente el paso de autorización).

En caso de compromiso del IdP: Sí, un compromiso en el lado del IdP tiene un mayor impacto. Sin embargo, el IdP no necesita conocer todas las credenciales necesarias para acceder a la aplicación del SP. Por lo tanto, una aplicación SP cuidadosamente diseñada usaría al menos un atributo del usuario; y no usar solo el token para abrir el acceso. El IdP no conocería ese atributo y, por lo tanto, no podría acceder a la aplicación SP, haciéndose pasar por un usuario. Con suerte, esto no está sobre-diseñado para el nivel de autenticación.

Sin embargo, debo confesar que no lo he visto en la práctica. La mayoría de los SP están agradecidos solo por hacer que la integración de IdP funcione lo suficientemente bien y dejarlo así. :)

    
respondido por el Sas3 24.08.2017 - 20:06
fuente

Lea otras preguntas en las etiquetas