WS-Trust、OpenID 和 SAML Passive 之间有什么区别?

发布于 2024-09-15 12:00:18 字数 276 浏览 22 评论 0 原文

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

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

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

SAML vs OAuth

Seems that Microsoft ADFSv2 supports WS-Trust, and SAML Passive, but the WIF stack it's built upon doesn't support SAML.

What is the difference between WS-Trust and SAML-P? Do they share the same security vulnerabilities, if so what are they?

Note: There is a similar, but different question here:

SAML vs OAuth

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

独享拥抱 2024-09-22 12:00:18

我假设您指的是[新发布的] 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 中您必须通过某种选择的方法(U 盘、邮件等)交换元数据文档。

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

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

I assume you're referring to [the newly released] ADFS v2?

Yes, ADFS v2 supports WS-Trust (and WS-Federation) and SAML2 passive, and WIF only supports WS-Trust (and WS-Federation) and not SAML2 (neither passive nor active).

WS-Federation uses WS-Trust to perform [browser based] passive federation, and is in many ways similar to SAML2 passive - and in many ways not. A significant difference between WS-Federation and SAML2 passive is that WS-Federation v1.1 (the new version supported by ADFS v2) supports automatic metadata discovery. You only need to provide a metadata endpoint (an URL) in WS-Federation, whereas in SAML you have to exchange metadata documents by some chose method (usb stick, mail, etc.).

I don't know of any actual security vulnerabilities in either protocol, but the approach to metadata exchange can be debated forever. The WS-Federation approach makes many things much easier, such as certificate roll-over, automatic updates, "for-free" automatic provisioning of new members in a federation, etc. However, the "manual" exchange procedure in SAML2 can at least in theory be made more secure.

As to why SAML support is not included in WIF, I can only speculate. A decent guess could be that someone wants sites using WIF to federate with an ADFS, and not directly with some other [third party] IdP :-)

南城追梦 2024-09-22 12:00:18

2015 年更新并更正的答案

  • OpenID-Connect(或OIDC< /strong>) - 新的单点登录协议
    • OpenID 版本为 3,不向后兼容,
    • 基于 OAuth 技术构建
    • 使用 JWT(用于令牌以及其他 JSON Web 技术和定义)

  • WS-Federation(或 WS-Fed) - 旧的单点登录协议
    • 对其令牌使用 SAML

定义:

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

OAuth

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

OIDC (Open ID Connect)

  • 通过使用 OpenID-Connect 类型的声明请求 OAth 范围来启动
  • OP - OIDC 提供程序是遵守 OIDC 协议的 OAuth 服务器
  • < strong>身份令牌由OP(OIDC 提供商)返回。
    • 身份令牌包含有关用户的信息(声明)
    • 在某些情况下,系统会向人类用户显示一个 UI,以授权部分或全部请求的信息和资源。

请参阅 Travis Spenscer 的 OAuth 和 OIDC 文章 - 很容易阅读。

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

An updated and corrected answer for 2015

  • OpenID-Connect (or OIDC) - the new single sign-on protocol
    • Is OpenID version 3, not back compatible,
    • Built on OAuth technology
    • Uses JWT (for tokens, as well as the other JSON Web technologies and definitions)
  • WS-Federation (or WS-Fed) - the old single sign-on protocol
    • Uses SAML for its tokens

Definitions:

  • JWT - JSON definition for the security tokens (in OAuth and OIDC)
    • Pronounced like the word "jot".
  • SAML - XML schema and definitions for the security tokens (in the WS-Fed )

OAuth

  • OAuth - is the set of specifications for delegating authorization from the requesting application (the client) to an authorization service.
    • The authorized usage is given in a "scope"
    • The scope consists of a set of security "claims" and needed "resources"
    • The authorized scopes are returned in a JWT Resource Token
    • The tokens may be returned in several ways. The most common are:
      • Token returned directly: In implicit flow - used for browser based (javascript) applications
      • Token returned in two stages, after receiving an "Access code" - used for server based (REST or web API) calls.
    • In certain cases the human user is shown a UI to agree to authorize all or some of the requested "resources".
    • The tokens may contain the actual info, or be a reference to a server containing the info.

OIDC (Open ID Connect)

  • Is started by requesting OAth scope with a claim of type OpenID-Connect
  • The OP - OIDC provider is an OAuth server complying to the OIDC protocol
  • An Identity Token is returned by the OP - the OIDC provider.
    • Identity tokens contain information (claims) about the user
    • In certain cases the human user will be shown a UI to authorize some or all of the requested information and resources.

See Travis Spenscer's OAuth and OIDC article - its an easy read.

If there are no corrections to this, please mark it as the answer. Thanks.

对你再特殊 2024-09-22 12:00:18

来自 SSO 学院,非常简单的区别,

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

OpenID – 消费者单点登录
SAML – 企业用户的单点登录
OAuth – 应用程序之间的 API 授权

From The SSO Academy, very simple difference,

Many people are confused about the differences between SAML, OpenID
and OAuth, but it’s actually very simple. Although there is some
overlap, here is a very simple way of distinguishing between the
three.

OpenID – single sign-on for consumers
SAML – single sign-on for enterprise users
OAuth – API authorization between applications
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文