7

我们的应用程序与 3 个不同的 (Shibboleth) IdP 集成了 SAML2 SSO。我们正在尝试添加第 4 个(也是 Shibboleth),但遇到了一些问题,因为我们的应用程序希望所有 SSO 响应都经过可验证签名。其他 3 个正在签署他们的响应,但第 4 个没有,并且犹豫是否添加自定义配置以强制为我们的应用程序签名。

从技术上讲,我可以修改我们的应用程序以接受未签名的 SSO 响应,但我想知道我是否应该这样做。允许未签名的 SSO 响应有哪些陷阱?是否存在安全漏洞?

是否有任何 Shibboleth(或其他 SAML2 SSO)文档建议将响应签名作为最佳实践?

4

2 回答 2

11

遵循 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-中的第 6.1.3/6.1.5 节考虑-2.0-os.pdf ) - 但实际上它经常被省略以代替依赖 SSL/TLS。

于 2012-11-06T05:42:57.023 回答
3

签署响应的全部目的是证明它们确实来自发行人。否则,“中间人”可能会更改属性,例如让他们自己访问应用程序。

ADFS v2.0 默认使用 SAML 对所有响应令牌进行签名。没有办法关闭它。

于 2012-11-05T20:18:14.570 回答