【问题标题】:Can you do symmetric encryption on SAML attributes in SAML 2.0?您可以对 SAML 2.0 中的 SAML 属性进行对称加密吗?
【发布时间】:2013-07-25 22:27:51
【问题描述】:

您可以在 SAML 2.0 中对 SAML 属性进行对称加密吗?我们似乎可以做不对称。有什么优缺点?

【问题讨论】:

    标签: saml encryption-asymmetric encryption-symmetric


    【解决方案1】:

    SAML 2.0 使用 XML 加密(第 5.2.1 和 5.2.2 节)。话虽如此,SAML 2.0 Conformance docs 的第 4.2 节规定您必须支持以下内容以符合 SAML 2.0:

    • 块加密:TRIPLE DES、AES-128、AES-256。
    • 密钥传输:RSA-v1.5、RSA-OAEP

    换句话说,SAML 2.0 要求您使用非对称密钥。

    因此,如果您使用 SAML 属性的对称加密,“缺点”将是您不符合 SAML 2.0,这将导致与其他 SAML 2.0 合作伙伴的互操作性问题。但是,这并不意味着您实际上不能选择使用这种类型的加密,只要您的合作伙伴也支持。

    在“专业”方面,对称加密更快(有人告诉我计算密集度较低),但我很确定它不值得在合规性方面进行权衡。

    【讨论】:

      【解决方案2】:

      请记住,实际上您总是同时使用非对称和对称加密 - 这是安全方面的最佳做法。对称的底层块加密方法(如 Ian 所述:Triple DES、AES 等)。由于更强的安全性(更大的密钥大小等)以及易于保持私钥安全(仅需要分发公钥),非对称是首选。然而,由于其性能,它仅用作交换对称密钥的一种手段。对大量数据进行对称加密是为了提高速度。

      在 XML 加密规范中,EncryptedData 元素包含对称加密的数据,而 EncryptedKey 是您的对称加密/解密密钥,通过非对称加密进行加密。

      【讨论】:

      • 此外,当您执行此操作(通过非对称加密加密的对称密钥)时,您可以并且应该根据消息动态生成对称密钥。
      【解决方案3】:

      如果您想了解 XML 加密,Don Eastlake 的经典著作 Secure XML: The New Syntax for Signatures and Encryption 仍然是最好的。他解释了 XML Enc 和 DSig 设计中的权衡,并提供了有关实现的技巧。在他写这篇文章的 9 年里,关于这些取舍出现了许多约定,您可以通过搜索找到。

      我的同事 Ian 列出了 SAML 2.0 所需的算法,因此您可以在 Eastlake 的书中重点介绍这些算法。正如您可能知道的那样,规范中的“必需”意味着如果您将自己限制在这些范围内,您将是可互操作的。

      最后,Scott 描述了这种技术,即生成随机对称密钥,用它加密数据,然后使用接收者的公共加密密钥加密随机对称密钥,这通常称为数字包络,并且在密码学中无处不在,从 SSL 到密钥管理系统。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-28
        • 1970-01-01
        • 2018-12-11
        • 1970-01-01
        • 2017-07-25
        相关资源
        最近更新 更多