【发布时间】:2021-08-25 02:52:21
【问题描述】:
在向 SP 返回 SAML 响应时,AzureAD、Okta、Onelogin、GSuite 等大多数 IdP 都有以下关于签名的选项:
- 签名回复
- 签署断言
- 签署响应和断言
并且无需任何配置,对于大多数 IdP 来说,签名的默认设置是只对 Assertion 进行签名。
下面是来自 AzureAD 的 SAML 响应示例(默认签名选项是签名断言)。断言是完整性保护的,不能被篡改。但是除了 Assertion 之外的字段,Destination InResponseTo Issuer,可以在不知情的情况下被篡改或添加/删除!
所以我的问题是:
- 为什么有3种签名? (响应、断言、响应和断言)
- 在哪个用例中,我们应该选择对整个 Response 签名、对 Assertion 签名还是对 Response 和 Assertion 都签名?
- 仅通过签署断言(大多数 IdP 的默认设置),我们是否会暴露于任何漏洞?
【问题讨论】:
-
@AkshayGaonkar 感谢您的评论!这很清楚我的大部分问题!我仍然想知道我们应该何时选择签署 Response 或 Assertion。如果它有一些最佳实践,那就太好了。您可以将上述评论作为答案吗?我会接受的。另外,引用它以防引用的软链接消失 404。
标签: saml saml-2.0 signature assertion xml-signature