5

我們的應用將SAML2 SSO與3種不同的(Shibboleth)IdP集成在一起。我們正在嘗試添加第4個(也是Shibboleth),但遇到了一些問題,因爲我們的應用程序預計所有的SSO響應都會被驗證簽名。其他3人正在對他們的回覆進行簽名,但第四人並沒有,並且不願意添加自定義配置來強制爲我們的應用程序進行簽名。我是否需要IdP簽署SAML2 SSO響應?

從技術上講,我可以修改我們的應用程序接受未簽名的SSO響應,但我想知道我是否應該。允許未簽名的SSO響應有哪些缺陷?有沒有安全漏洞?

是否有任何Shibboleth(或其他SAML2 SSO)文檔建議將響應簽名爲最佳做法?

回答

8

遵循SAML 2.0規範的IdP的唯一要求是對斷言進行數字簽名(請參閱http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf - 第4.1.3.5節)。這足以說明來自IdP的SSO操作是否應該由與其聯合的SP信任。

簽署外部響應是可選的。它有一些安全方面的好處,例如防止消息插入或修改(請參閱http://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf中的6.1.3/6.1.5節) - 但實際上通常會忽略它,而不是依賴於SSL/TLS。

+0

那麼,根據文檔,如果我們的應用程序需要簽名authn響應,我們在技術上不符合SAML2?我們所有的迴應確實都是通過HTTPS強制的。 – danludwig

+1

對SAML響應或斷言的簽名取決於您正在使用的綁定。由於我假定您通過POST綁定接收到消息,因此響應和/或斷言*必須由IDP簽名以確保消息的完整性。我認爲混淆是由於簽署了哪部分答覆。如果Shibb允許通過POST發送未簽名的消息,我會感到驚訝。 – Ian

3

簽署答覆的要點是要證明他們確實是來自發行人。否則,「中間人」可以改變屬性,例如讓自己訪問應用程序。

默認情況下使用SAML的ADFS v2.0會簽署所有響應令牌。無法關閉此功能。

相關問題