7

似乎 Microsoft ADFSv2 支持 WS-Trust 和 SAML Passive,但它所构建的 WIF 堆栈不支持 SAML。

WS-Trust 和 SAML-P 有什么区别?它们是否具有相同的安全漏洞,如果是,它们是什么?

注意:这里有一个类似但不同的问题:

SAML 与 OAuth

4

3 回答 3

7

我假设您指的是 [新发布的] ADFS v2?

是的,ADFS v2 支持 WS-Trust(和 WS-Federation)和 SAML2 被动,而 WIF 仅支持 WS-Trust(和 WS-Federation)而不支持 SAML2(既不被动也不主动)。

WS-Federation 使用 WS-Trust 来执行 [基于浏览器的] 被动联合,并且在很多方面类似于 SAML2 被动 - 在很多方面都不是。WS-Federation 和 SAML2 被动之间的一个显着区别是 WS-Federation v1.1(ADFS v2 支持的新版本)支持自动元数据发现。您只需要在 WS-Federation 中提供一个元数据端点(一个 URL),而在 SAML 中您必须通过某些选择的方法(USB 记忆棒、邮件等)交换元数据文档。

我不知道这两种协议中的任何实际安全漏洞,但元数据交换的方法可以永远争论不休。WS-Federation 方法使许多事情变得更容易,例如证书翻转、自动更新、“免费”自动供应联盟中的新成员等。但是,SAML2 中的“手动”交换过程至少可以理论上更安全。

至于为什么 WIF 中不包含 SAML 支持,我只能推测。一个不错的猜测可能是有人希望使用 WIF 的站点与 ADFS 联合,而不是直接与其他一些 [第三方] IdP 联合 :-)

于 2010-09-01T11:50:43.190 回答
3

来自The SSO Academy,很简单的区别,

许多人对 SAML、OpenID 和 OAuth 之间的区别感到困惑,但实际上它非常简单。虽然有一些重叠,但这里有一个非常简单的区分这三者的方法。

OpenID – single sign-on for consumers
SAML – single sign-on for enterprise users
OAuth – API authorization between applications
于 2014-09-19T09:18:50.620 回答
3

2015 年更新和更正的答案

  • OpenID-Connect(或OIDC)——新的单点登录协议
    • 是 OpenID 版本 3,不向后兼容,
    • 基于 OAuth 技术构建
    • 使用 JWT(用于令牌,以及其他 JSON Web 技术和定义)
  • WS-Federation(或WS-Fed)——旧的单点登录协议
    • 使用 SAML 作为其令牌

定义:

  • JWT - 安全令牌的 JSON 定义(在 OAuth 和 OIDC 中)
    • 发音像“ jot ”这个词。
  • SAML - 安全令牌的 XML 模式和定义(在 WS-Fed 中)

身份验证

  • OAuth - 是将授权从请求应用程序(客户端)委托给授权服务的一组规范。
    • 授权使用在“范围”中给出
    • 范围由一组安全“声明和所需的“资源”组成
    • 授权范围在 JWT资源令牌中返回
    • 令牌可以通过多种方式返回。最常见的是:
      • 直接返回的令牌:在隐式流中 - 用于基于浏览器 (javascript) 的应用程序
      • 令牌在收到“访问代码”后分两个阶段返回 - 用于基于服务器的(REST 或 Web API)调用。
    • 在某些情况下,人类用户会看到一个 UI,以同意授权所有或部分请求的“资源”。
    • 令牌可能包含实际信息,或者是对包含信息的服务器的引用。

OIDC(开放 ID 连接)

  • 通过请求具有 OpenID-Connect 类型声明的 OAth 范围开始
  • OP -OIDC 提供者是符合 OIDC 协议的 OAuth服务器
  • 身份令牌OP(OIDC 提供者)返回。
    • 身份令牌包含有关用户的信息(声明)
    • 在某些情况下,将向人类用户显示一个 UI,以授权部分或全部请求的信息和资源。

请参阅Travis Spencer 的 OAuth 和 OIDC 文章- 易于阅读。

如果对此没有更正,请将其标记为答案。谢谢。

于 2015-11-10T07:26:09.183 回答