gpt4 book ai didi

web-services - 为什么要使用 x.509 证书来加密 xml?为什么不直接通过 https 传输?

转载 作者:太空宇宙 更新时间:2023-11-03 14:55:45 25 4
gpt4 key购买 nike

对加密了解不多...

假设我正在准备提交给身份提供商的 SAML 请求。为什么我需要为此请求应用 x.509 证书?仅通过 SSL 传输是否不够安全?

最佳答案

在 SAML 的情况下,消息级安全(即 XML 本身已签名,有时是加密的),因为通信涉及不直接通信的各方。 SSL/TLS 用于传输级安全,仅在直接通信的双方之间使用,并且仅在通信期间使用。

根据您使用的 SAML 绑定(bind),对话框可能如下所示(例如 Shibboleth 行):

  • 用户的浏览器连接到服务提供商 (SP)
  • SP 向用户提供 SAML 请求,不一定可见,但隐藏在表单或等效项中。
  • 用户的浏览器(直接连接到 IdP)将 SAML 请求发送到 IdP。
  • 用户通过它进行身份验证并获得 SAML 响应。
  • 用户的浏览器将该 SAML 响应发送给 SP。

在这种情况下,SP 和 IdP 之间没有直接的 SSL/TLS 连接,尽管涉及所有 3 方。 (此问题的一些变体涉及 SP 和 IdP 之间针对属性的后端通信,但这是一个不同的问题。)

  • SSL/TLS 连接不足以让 IdP 知道 SAML 请求来自允许其验证和释放属性的 SP,因为与 IdP 的连接来自用户的浏览器,而不是SP本身。为此,SP 必须在将 SAML 请求消息交给用户浏览器之前对其进行签名。
  • SSL/TLS 连接不足以让 SP 知道 SAML 响应来自它信任的 IdP。同样,这就是 SAML 响应本身也被签名的原因。

如果中间方(即用户)不打算查看 SAML 消息中的内容和/或用户与 SP 或 IdP 之间的连接尚未结束,则适用于签名的内容也适用于加密SSL/TLS(通常,它应该通过 HTTPS)。

关于web-services - 为什么要使用 x.509 证书来加密 xml?为什么不直接通过 https 传输?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29589471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com