【问题标题】:Is it recommended to Sign and Encrypt SAML AND use SSL?是否建议签署和加密 SAML 并使用 SSL?
【发布时间】:2012-01-06 18:06:36
【问题描述】:

如果我使用我的私钥对 SAML 请求进行签名并通过 SSL 发送,是否需要加密它?或者使用我的私钥对其进行签名、使用身份提供者公钥对其进行加密并通过 SSL 传输会更好吗?

【问题讨论】:

    标签: encryption ssl saml sign x509


    【解决方案1】:

    SAML 断言查询/请求通常不包含太多私有数据,而且请求本身通常不会持久化以供以后使用,因此几乎不需要对 SAML 请求本身进行加密。签署它将允许接收者验证内容在传输过程中没有被更改,并且通过 SSL 传输将在传输过程中提供隐私。在这种情况下加密请求可能是多余的。

    然而,SAML 断言响应是完全不同的动物。包含声明或断言的 SAML 响应可能包含私有数据。根据这些断言在您的系统中的使用方式,断言可能会在不同方之间传递,其中一些具有解密内容所需的密钥(因为它们与 SAML 提供者具有信任关系),而另一些则没有. SAML 断言可以存储在缓存中或数据库中,因此您真的不知道将来谁会通过它们。

    如果 SAML 响应包含包含私有数据的声明和断言,并且响应的接收者将无限期持有 SAML 断言或通过您不信任的中间方传递 SAML 断言,那么是的,无论是否通过 SSL 传输,都应加密 SAML 断言并对响应进行签名。加密是为了在数据到达 SSL 管道的另一端后保护数据的隐私。

    【讨论】:

    • "加密是为了在数据到达 SSL 管道的另一端后保护数据的隐私。"这让我很清楚。谢谢!
    【解决方案2】:

    而且,SSL 管道的另一端是浏览器。从 IdP 到浏览器有一个管道,从浏览器到服务提供者有另一个管道。如果断言未加密,则任何人都可以在浏览器上使用断言。攻击者可以在对未来 SAML 文档和交互的某种攻击中使用未加密的名称标识符。

    【讨论】:

      猜你喜欢
      • 2013-06-05
      • 1970-01-01
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 2014-08-16
      • 2019-08-08
      • 1970-01-01
      • 2011-09-05
      相关资源
      最近更新 更多