WS-Trust,OpenID和SAML Passive有什么区别?

时间:2010-08-24 20:34:04

标签: saml wif adfs adfs2.0 federation

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

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

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

SAML vs OAuth

3 个答案:

答案 0 :(得分: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 stick,mail等)来交换元数据文档。

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

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

答案 1 :(得分:3)

来自The SSO Academy,非常简单的差异,

  

许多人对SAML,OpenID之间的差异感到困惑   和OAuth,但它实际上非常简单。虽然有一些   重叠,这里是一种非常简单的区分方法   3。

OpenID – single sign-on for consumers
SAML – single sign-on for enterprise users
OAuth – API authorization between applications

答案 2 :(得分: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

  • OAuth - 用于将授权从请求应用程序(客户端)委派给授权服务的规范集。
    • 授权使用权在&#34; 范围&#34;
    • 范围包含一组安全性&#34; 声明&#34;并且需要&#34; 资源&#34;
    • 授权范围以JWT 资源令牌
    • 返回
    • 可以通过多种方式返回令牌。最常见的是:
      • Token直接返回:隐式流 - 用于基于浏览器的(javascript)应用程序
      • Token在收到&#34; 访问代码&#34;后,分两个阶段返回。 - 用于基于服务器(REST或Web API)的调用。
    • 在某些情况下,人类用户会看到一个用户界面,同意授权所有或部分所请求的资源&#34;。
    • 令牌可能包含实际信息,或者是包含该信息的服务器的 参考

OIDC (Open ID Connect)

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

请参阅Travis Spenscer's OAuth and OIDC article - 这是一本易读的内容。

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