为什么SAML服务提供商应该信任SAML响应?

Gui*_* CR 9 saml

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

我理解它的方式,SAML的设计使服务提供商可以信任身份提供商进行身份验证,而无需直接联系它.然而,这依赖于用户代理将来自身份提供者的响应重新发送回服务提供者.在我看来,像一个受到妥协的代理可能会返回一个假的验证响应.如果不尝试联系身份提供商,服务提供商如何验证?

谢谢你的时间.

X30*_*61X 11

好问题!

它类似于银行在支票上验证签名的方式; 他们会将个人文件签名的几次迭代与兑现支票的迭代进行比较 - 只要这些匹配,他们就可以相信支票是由目标个人签署的.

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

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

这是基本的总结,但是,如果你想要更多的细节,那么当我做SSO\SAML的时候,我就把这个问题加了书签,我发现它有助于解释它的工作方式.

  • 通常,SP和IDP的证书作为SAML元数据的一部分进行交换.http://en.wikipedia.org/wiki/SAML_2.0#SAML_2.0_Metadata (2认同)