web-dev-qa-db-fra.com

Quelle est la différence entre ADFS, WIF, WS Federation, SAML et STS?

Il s'agit de nombreuses technologies et mots à la mode utilisés pour l'authentification unique avec les services Microsoft.

Quelqu'un peut-il expliquer ADFS, WIF, WS Federation, SAML et STS (service de jeton de sécurité), y compris où et quand chacun est utilisé.

51
Tiffany Harry

D'un point de vue d'ensemble:

Supposons une application basée sur un navigateur ASP.NET qui nécessite une authentification et une autorisation.

L'application peut rouler d'elle-même ou l'externaliser.

WIF est une bibliothèque .NET qui permet à ASP.NET de mettre en œuvre cette externalisation.

Il parle à un STS ( ADFS est une instance d'un STS) qui authentifie contre un référentiel d'identité et fournit des informations d'autorisation sous la forme de revendications. Un STS fournit un ensemble de revendications signées et approuvées.

Le protocole utilisé entre WIF et ADFS est WS-Federation.

Si le STS était Java basé (par exemple Ping Identity ou OpenAM), alors WIF utiliserait le protocole SAML pour la communication. ADFS prend également en charge SAML pour activer la fédération.

(La fédération, par exemple, permet à un utilisateur d'une entreprise orientée A Java Java) d'accéder à l'application ASP.NET dans une entreprise B orientée .NET en s'authentifiant par rapport au référentiel d'identité de A. L'entreprise et l'entreprise B se font mutuellement confiance. dans un sens de fédération.)

66
nzpcmad
  • ADFS (Active Directory Federation Services) - Service de jeton de sécurité (STS) standard, produit par Microsoft et basé sur Windows Identity Foundation (WIF). S'appuie sur AD pour l'authentification. Peut être utilisé dans des scénarios actifs (services Web SOAP) ou passifs (sites Web) et prend en charge les jetons SAML, WS-Federation, WS-Trust et SAML-Protocol. Il peut être utilisé en tant que fournisseur d'identité (contre AD) ou en tant que fournisseur de fédération.

    http://technet.Microsoft.com/en-us/library/adfs2 (v = ws.10) .aspx

  • WIF (Windows Identity Foundation) - La bibliothèque .NET utilisée pour piloter l'authentification basée sur les revendications dans les applications .NET et les parties de confiance. Il peut également être utilisé comme client WS-Trust et pour créer un STS personnalisé.

    http://msdn.Microsoft.com/en-us/security/aa570351

  • WS-Federation - Un protocole utilisé par les parties de confiance et un STS pour négocier un jeton de sécurité. Une application demande un jeton de sécurité à un STS utilisant WS Federation, et le STS renvoie (la plupart du temps) un jeton de sécurité SAML à l'application à l'aide du protocole WS Federation. Cela se fait généralement via HTTP (GET et POST et redirections). Comparez cela à WS-Trust, qui est entièrement basé sur les services Web.

    http://msdn.Microsoft.com/en-us/library/bb498017.aspx

  • Jetons SAML (Security Assertion Markup Language) - Il s'agit simplement du format XML utilisé pour les jetons de sécurité, qui capturent généralement les informations utilisateur (revendications) et d'autres données pertinentes liées à la sécurité (signatures, émetteur de jetons, etc.). Le jeton est utilisé par l'application pour authentifier les utilisateurs et piloter le comportement de l'application (par exemple, l'autorisation). Les jetons de sécurité SAML sont signés pour leur intégrité et éventuellement chiffrés afin que seuls RP et STS puissent voir son contenu. Dans les sites Web ASP.NET utilisant WIF, le jeton est par défaut crypté et fragmenté en cookies, mais cela peut être modifié.

    http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language

  • STS (Security Token Service) - Comme décrit ci-dessus, le STS est le courtier qui se situe entre une application de partie de confiance et l'utilisateur. Un STS est un émetteur de jetons de sécurité. "Émetteur" est souvent synonyme de STS. Les STS sont configurés dans deux rôles: en tant que fournisseurs d'identité (IdP) lorsqu'ils authentifient les utilisateurs ou en tant que fournisseurs de fédération (FP) quand ils sont assis au milieu d'une chaîne de confiance et agissent comme des "parties de confiance" pour d'autres IdPs. Les IdPs ont besoin d'un moyen d'authentifier les utilisateurs. Certains (comme ADFS) utilisent Active Directory, d'autres utilisent des bases de données personnalisées comme l'appartenance à SQL Server (pas ADFS). Si l'utilisateur s'authentifie correctement, le STS émet un jeton de sécurité.

    http://msdn.Microsoft.com/en-us/library/ff650503.aspx

    http://docs.oasis-open.org/ws-sx/ws-trust/v1.4/os/ws-trust-1.4-spec-os.html#_Toc212615442

J'espère que cela aide. Il y a beaucoup de concepts et d'éléments à comprendre dans l'authentification basée sur les revendications. Pour obtenir une compréhension complète, vous devriez consulter n guide pour l'identité basée sur les revendications et le contrôle d'accès .

110
Garrett Vlieger

Ce message vise à clarifier les jetons SAML, pris en charge dans ADFS 2.0, et le protocole SAML, non pris en charge jusqu'à ADFS 3.0, la version d'ADFS dans Windows Server 2012 R2

1) Le protocole SAML n'est pas pris en charge avant ADFS 3.0

2) Les applications WIF basées sur .net 4.5 nécessitent l'utilisation du protocole WS-Fed et ne prennent actuellement pas en charge le protocole SAML

3) Les jetons SAML sont basés sur XML. Les jetons SAML sont pris en charge dans ADFS 2.0 et les versions précédentes. ADFS 1.0. 1.1. et 2.0 ne prennent en charge que les jetons SAML, pas le protocole

4) Si vous utilisez WIF, WS-Fed (protocole) est requis - vous pouvez donc faire ce qui suit:

Protocole SAML <---> ADFS <----> WS-FED <----> WIF (.net 4.5)

De Wiki:

• ADFS 1.0 - Windows Server 2003 R2 (téléchargement supplémentaire)

• ADFS 1.1 - Windows Server 2008 et Windows Server 2008 R2.

• ADFS 2.0 - Windows Server 2008 et Windows Server 2008 R2 (téléchargement depuis Microsoft.com)

• ADFS 2.1 - Windows Server 2012.

• ADFS 3.0 - Windows Server 2012 R2.

4
Paul Cayley