5

Unsere App verfügt über SAML2 SSO Integration mit 3 verschiedenen (Shibboleth) IdPs. Wir versuchen, eine vierte (auch Shibboleth) hinzuzufügen, aber einige Probleme, weil unsere App erwartet, dass alle SSO-Antworten nachweislich signiert werden. Diese anderen 3 signieren ihre Antworten, aber die vierte ist nicht und zögert, eine benutzerdefinierte Konfiguration hinzuzufügen, um die Signierung für unsere App zu erzwingen.Sollte ich IdPs benötigen, um SAML2 SSO-Antworten zu signieren?

Technisch könnte ich unsere App ändern, um nicht signierte SSO-Antworten zu akzeptieren, aber ich frage mich, ob ich sollte oder nicht. Was sind die Fallstricke, wenn Sie nicht signierte SSO-Antworten zulassen? Gibt es eine Sicherheitslücke?

Gibt es eine Shibboleth-Dokumentation (oder eine andere SAML2-SSO-Dokumentation), die das Unterzeichnen von Antworten als bewährte Methode empfiehlt?

Antwort

8

Die einzige Anforderung für den IdP nach der SAML 2.0-Spezifikation besteht darin, die Assertion digital zu signieren (siehe http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf - Abschnitt 4.1.3.5). Das ist genug, um zu sagen, ob die SSO-Operation von einem IdP vertrauenswürdig sein sollte von SP, der damit verbunden ist.

Das Signieren der äußeren Antwort ist optional. Es bietet einige Sicherheitsvorteile, z. B. das Verhindern des Einfügens oder Änderns von Nachrichten (siehe Abschnitte 6.1.3/6.1.5 in http://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf). In der Praxis wird es jedoch häufig weggelassen, anstatt SSL/TLS zu verwenden.

+0

Also, basierend auf den Dokumenten, wenn unsere App erfordert authn Antworten zu signieren, sind wir technisch nicht SAML2-konform? Alle unsere Antworten sind tatsächlich über HTTPS erzwungen. – danludwig

+1

Die Signierung der SAML-Antwort oder -Assition hängt von der Bindung ab, die Sie verwenden. Da ich annahm, dass Sie die Nachricht über die POST-Bindung erhalten, muss entweder die Antwort und/oder die Bestätigung * vom IDP signiert werden, um die Integrität der Nachricht zu gewährleisten. Ich glaube, die Verwirrung rührt daher, dass ein Teil der Response unterzeichnet wird. Ich wäre überrascht, wenn Shibb eine nicht signierte Nachricht über POST gesendet hätte. – Ian

3

Der ganze Punkt der Unterzeichnung der Antwort ist zu beweisen, dass sie tatsächlich vom Emittenten kommen. Andernfalls könnte ein "Mann in der Mitte" die Attribute z. um sich Zugang zu einer Anwendung zu verschaffen.

ADFS v2.0, das SAML verwendet, signiert standardmäßig alle Antworttoken. Es gibt keine Möglichkeit, das auszuschalten.