【问题标题】:Why should a SAML service provider trust a SAML response?为什么 SAML 服务提供商应该信任 SAML 响应?
【发布时间】:2015-05-16 10:39:13
【问题描述】:

http://en.wikipedia.org/wiki/SAML_2.0 阅读,我试图了解保证流程第 5 步中发送的 SAMLResponse 真实性的机制。

按照我的理解,SAML 的设计目的是让服务提供商可以信任身份提供商进行身份验证,而无需直接联系它。然而,这依赖于用户代理将来自身份提供者的响应重新传输回服务提供者。在我看来,受感染的代理可能会返回经过验证的虚假响应。服务提供商如何在不尝试联系身份提供商的情况下验证这一点?

感谢您的宝贵时间。

【问题讨论】:

    标签: saml


    【解决方案1】:

    好问题!

    这类似于银行验证支票签名的方式;他们会将个人存档签名的几次迭代与正在兑现的支票进行比较——只要它们匹配,他们就可以相信支票是由预期的个人签名的。

    它与 SAML 的工作方式相同,但准确性必须为 100% - SAML 有效负载使用身份提供者和服务提供者共享和信任的证书进行签名。

    为了确保响应的真实性,您需要确保用于签名的密钥与您为该特定信任存储的密钥匹配,如果不匹配,则不应将响应视为有效.

    这是基本摘要,但是,如果您想了解更多详细信息,我在执行 SSO\SAML 时已将 this question 添加为书签,我发现它有助于解释其工作方式。

    【讨论】:

    • 所以您是说在发出 SAML 请求之前,必须在两个提供商之间共享证书?还是服务提供者应该从身份提供者的站点获取证书?
    • SP 和 IDP 的证书通常作为 SAML 元数据的一部分进行交换。 en.wikipedia.org/wiki/SAML_2.0#SAML_2.0_Metadata
    • @GuillaumeCR 我确定是这样,我目前正在阅读 SAML。在列出的详细设置here 中,证书实际上是由身份提供者提供给服务提供者的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 2011-07-27
    • 2011-01-03
    • 2016-12-14
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    相关资源
    最近更新 更多