【问题标题】:Destination and RelayState difference in SAML 2.0SAML 2.0 中的 Destination 和 RelayState 差异
【发布时间】:2016-12-11 05:12:42
【问题描述】:

我知道许多服务提供商使用中继状态来跟踪 SP 启动 SSO 时访问了哪些资源,因此 SP 可以在 SAML 断言消费后重定向到它。

但是,我正在查看 SAML 响应的 Destination 属性,它看起来像是专门为这种情况设计的。

我错过了什么吗?为什么服务提供商以这种方式使用 Relay 状态(与使用 destination 相比)?

【问题讨论】:

    标签: saml saml-2.0


    【解决方案1】:

    如您所说,RelayState 是 SP 在成功完成 SAML 身份验证过程后重定向用户的位置。

    但签名消息时需要目标属性(与 SAML 的绑定/传输相关)。

    从 3.4.5.2 SAML Bindings spec 的安全注意事项开始,

    如果消息已签名,则根中的 Destination XML 属性 协议消息的 SAML 元素必须包含 发件人已指示用户代理传递消息。这 然后收件人必须验证该值是否与 收到了哪个消息。

    这主要是为了避免有人在中间检索 IdP 发送的 SAMLResponse 并将该消息发送给未为其创建和发送 SAMLResponse 的其他 SP 方。

    如果 Destination 包含在 SAMLResponse 中(也已签名),则预期的 SP(接收方)可以验证 Destination 属性值是否与接收 SAMLResponse 的目的地/位置匹配。也许预期的 SP 知道目标/位置 URL,他们可以验证这两个值是否相等。如果它们相等,则 IdP 将 SAMLResponse 发送给预期的 SP,SP 接受它,否则 SP 必须拒绝 SAMLResponse。

    【讨论】:

      猜你喜欢
      • 2021-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      相关资源
      最近更新 更多