我是 SSO 实现工程师,但最近发现很难说服 InfoSec 团队使用自签名证书与 CA 签名证书来签署 SAML 断言。
由于 CA 签名机构不再颁发有效期超过 1 年的证书,每年协调、指导和更新 SP 端的 SAML 证书已成为一项艰巨的任务。
我知道不需要 CA 证书来签署 SAML 断言,但我必须说服使用具有 3 年有效期的自签名证书或其他证书。
是否有任何 CA 可以为我们提供 3 年期 SAML CA 签名证书?
如果不是 1,什么是让 InfoSec 明白不需要 CA 签名的证书,但自签名证书就可以,没有安全问题的可靠方法。寻找一些建议。
提前致谢。
最佳答案
许多 SAML2 提供商使用自己的自签名证书来签署断言(例如 Microsoft Azure)。服务提供商根据证书的可信度来决定是否相信该断言是有效的。
SP 可以验证证书的真实性并且只有 IdP 证书可以签署断言(即其他人不可能提供“有效”断言),这一点非常重要。
使用受信任的根签名证书,SP 会信任您的证书,因为他们信任根。使用自签名证书,SP 会信任您的证书,因为他们信任您的证书。区别很重要。
如果 SP 因为信任根而信任您的证书,那么如果该证书是由受信任的根签名的,那么他们可能会信任坏人证书。在一般的 TLS 连接中,可信根存在着一对多的关系。我无法亲自验证我访问的每个网站的证书,因此受信任的根会为我执行此操作。
对于 SP 与 IdP 关系,可以验证 IdP 的证书。可以完全信任该证书。 SP 的管理员下载证书并将其添加到 SP 的配置中。 SP 应配置为仅信任该证书(自签名证书本质上成为 CA,但 IdP 可能有自己的 CA)。
虽然信任自签名证书胜过信任受信任的根签名证书似乎违反直觉,但 SP 与 IdP 的一对一关系意味着您可以通过以下方式验证该证书直接从 IdP 配置页面获取。
话虽这么说,受信任的根只签署短期证书是有原因的。同一证书使用的时间越长,其被泄露的可能性就越大(其他人可能会获得私钥)。
关于certificate - SAML 签名证书 - CA 签名与自签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71384278/