在联合身份认证中有两大标准:OASIS组织的SAML和微软支持的WS-Federation。二者主要的区别在于SAML直接使用XML加密和XML签名,这意味着它可以和REST协同工作,而WS-Federation则需要SOAP。下面是对两种标准的比较,列出了它们之间的区别。
Below is a table where I compare both specs on various features and technical details. Note that each blue highlight identifies what I think is a plus for the specification (when compared to the other).
|
Topic |
WS-Federation |
SAML 2.0 |
|
Target |
- Browser Redirect (messages in URL) - Browser POST (messages in HTML form) - SOAP (over HTTP) - Artifact |
- Browser Redirect (messages in URL) - Browser POST (messages in HTML form) - Artifact (reference to assertion + SOAP call) - SOAP (over HTTP) - Reverse SOAP (over HTTP) |
|
Security tokens supported |
- Those supported by WS-Trust (SAML assertions, X509 certificates, kerberos...) |
- SAML assertions - Any other token types (embedded in a SAML assertions via the SubjectConfirmation element) |
|
Dependencies |
- WS-Trust [1], WS-Policy, WS-SecurityPolicy. - WS-Eventing to subscribe to Single Sign Out messages. - WS-Transfer & WS-ResourceTransfer. |
- None! |
|
Identity federation |
- Performed by the Pseudonym service (optional...) which provides identity mapping and its management.
- A Pseudonym service may be independent of an IP/STS and could store tokens associated to a pseudonym. |
- Identity mapping is part of the IdP. Although less (?) flexible it avoids the need for yet another protocol between the pseudonym service and the assertion generator (IP/STS in WS-*).
|
|
- Mapping can be created either by the requestor (principal...) or the owner of the resource (SP). | ||
|
- Mapping is created by the IdP but can be changed by either the IdP or an SP.
| ||
|
- All operations on pseudonyms (get, set, create or delete) are done via WS-Transfer (and its extension WS-ResourceTransfer to filter the scope of these operations). | ||
|
- Client-based pseudonyms: a requestor can specify (in an RST) ad-hoc data for a pseudonym it wants to be used by the STS (e.g. PPID, DisplayName, email...) | ||
|
- SAML does not provide a similar concept to the ClientPseudonym
in its AuthNRequest
. Is this one of the active requestor “benefit”?
| ||
|
Metadata |
- Description of the federation metadata format. - Description of a secure transfer of this metadata. - Can hold info about several federations. |
- Description of metadata for SSO and more. - Organized by roles (IdP, SP, Attribute requester, PDP...) |
|
Single Logout |
- Can be initiated by either an SP or the (primary) STS which will send sign-out messages to all RP. |
- Similar |
|
Artifact |
- Based on the use of a reference token (i.e. an EPR to which a WS-Transfer GET can be made to retrieve the actual token). |
- Artifact profile (complete SAML response) - URI binding (to only obtain SAML assertion) - SAML also defines mechanisms to request or query existing assertions (by subject or statement type). |
|
Authorization service |
- Again a specialized STS. - Concept of authorization context (name-scope-value) to condition the issuance of a token. |
- The context seems to be a kind of pendant to the SAML2 XACML profile... |
|
Authentication freshness |
- A requestor can specify its freshness requirements (allow caching of security tokens etc.) |
- Similar with Conditions and ForceAuthN |
|
Authentication level |
- WS-Trust defines the parameter (AuthenticationType ). WS-Fed specifies predefined values (e.g. Ssl, SslSndKey, smartcard). |
- SAML 2.0 offers a much broader & extensible set of authentication contexts . |
|
Privacy |
- A requestor can express its protection requirements for security tokens it requests (protectData w/h claims & confirmation from STS).
- Privacy statements can be retrieved via WS-Transfer. |
- SAML offers a range of options to constraint the use & scope of an assertion (audience, advice, proxyRestriction, oneTimeUse, condition) [2]
- Those constraints can originate from both the SP or the IdP. |
[1] WS-Federation basically extends WS-Trust to allow the issuance of tokens that can carry attributes or pseudonyms.
[2] One would argue that this could be achieved with WS-Policy but SAML has the advantage of offering built-in ones.
1302

被折叠的 条评论
为什么被折叠?



