SAML
Le langage de balisage d'affirmation de sécurité de ( SAML ) est une norme du XML pour échanger l'authentification et les données de l'autorisation entre les domaines de sécurité de , c., entre un fournisseur (un producteur d'identité de des affirmations) et un fournisseur de services de (un consommateur des affirmations). SAML est un produit du Comité technique de services de sécurité de l'OASIS .
Le problème le plus important simple que SAML essaye de résoudre est le problème Sign-On simple du web browser (SSO) de . Le les solutions sign-on que simples de sont abondantes au niveau de l'Intranet (using biscuits , par exemple) mais prolongeant ces solutions au delà de l'intranet a été problématique et a mené à la prolifération des technologies de propriété industrielle non-interoperable. SAML est devenu la norme définitive étant à la base de beaucoup de solutions Sign-On simples de Web dans l'espace de problème de la gestion d'identité de d'entreprise.
SAML suppose que le principal (souvent un utilisateur) s'est inscrit avec au moins un fournisseur d'identité. On s'attend à ce que ce fournisseur d'identité fournisse des services d'authentification locaux au principal. Cependant, SAML ne spécifie pas l'exécution de ces services locaux ; en effet, SAML ne s'inquiète pas comment des services d'authentification locaux sont mis en application (bien que les différents prestataires de service le plus certainement).
Ainsi un fournisseur de services se fonde sur le fournisseur d'identité pour identifier le principal. À la demande du principal, le fournisseur d'identité passe une affirmation de SAML au fournisseur de services. Sur la base de cette affirmation, le fournisseur de services prend une décision du contrôle d'accès .
Histoire de SAML
Le Comité technique de services de sécurité de l'OASIS (SSTC), qui s'est réuni pour la première fois en janvier 2001, était " privilégiée ; pour définir un cadre de XML pour échanger l'authentification et l'autorisation information." ; À cet effet, la propriété intellectuelle suivante a été contribuée au SSTC pendant les deux premiers mois de cette année :
langage de balisage de services de sécurité de
(S2ML) de Netegrity
AuthXML de Securant
Spécifications (X-TASS) de service d'affirmation de confiance du XML de VeriSign
Langage de balisage de technologie de l'information de (ITML) de Jamcracker
Le bâtiment sur ce travail, en novembre 2002 OASIS a annoncé le marge bénéficiaire bénéficiaire Language  d'affirmation (SAML) de sécurité ; Spécifications V1.0 comme norme d'OASIS.
En attendant, l'alliance , un grand consortium de liberté de de compagnies, organismes sans but lucratif et de gouvernement, a proposé une prolongation à la norme de SAML appelée le cadre de fédération d'identité de liberté (ID-FF). Comme son prédécesseur de SAML, Liberty  ; ID-FF a proposé normalisée, croix-domaine, cadre sign-on basé sur le WEB et simple. En outre, la liberté a décrit un cercle de de la confiance , où chaque domaine participant est fait confiance pour documenter exactement les processus employés pour identifier un utilisateur, le type de système d'authentification utilisé, et toutes les politiques liées aux qualifications en résultant d'authentification. D'autres membres du cercle de la confiance peuvent examiner ces politiques pour déterminer si faire confiance à une telle information.
Tandis que la liberté développait ID-FF, le SSTC a commencé le travail sur une mise à niveau mineure à la norme de SAML. Le SAML  en résultant ; Les spécifications V1.1, ratifiées par le SSTC en septembre 2003, sont largement mises en application et aujourd'hui déployées. Puis, en même mois, la liberté a contribué ID-FF à l'OASIS, semant de ce fait les graines pour la prochaine version principale de SAML. Ainsi en mars 2005, SAML  ; V2.0 a été annoncé comme norme d'OASIS.0 représente la convergence de Liberty  ; ID-FF et d'autres prolongements de propriété industrielle, aussi bien que les versions tôt de SAML elle-même. Réalisations et déploiements de SAML  ; V2.0 sont en marche en date de cette écriture (March-2007).
Versions de SAML
En résumé, SAML a subi une révision mineure et une principale depuis V1.
SAML  ; 1.0 ont été adoptés comme norme d'OASIS en novembre 2002
Le SAML 1.1 a été ratifié comme norme d'OASIS en septembre 2003
Le SAML 2.0 est devenu une norme d'OASIS en mars 2005
L'alliance de liberté a contribué son cadre de fédération d'identité (ID-FF) à l'OASIS SSTC en septembre 2003 :
Identification-FF  de
; 1.1 ont été libérés en avril 2003
Identification-FF  ; 1.2 ont été menés à bonne fin en novembre 2003
Différences entre V1.0
Versions  ; 1.1 de SAML sont semblables. Voir le #SAMLDiff pour des différences spécifiques entre ces deux normes.
Différences entre V2.1
Les différences entre SAML  ; 2. Bien que les deux normes adressent le même cas d'utilisation, SAML  ; 2.0 est incompatible (sur le fil) avec son prédécesseur.
Différences entre V2.2
Bien qu'Identification-FF  ; 1.2 ont été contribués à l'OASIS comme base de SAML  ; 2.0, là sont quelques différences importantes entre SAML  ; 2.0 et Identification-FF  ; 1. En particulier, les deux caractéristiques, en dépit de leurs racines communes, sont incompatibles (sur le fil).
Blocs constitutifs de SAML
SAML est construit sur un certain nombre de normes existantes :
; Extensible Markup Language (XML) : En premier lieu, SAML est une application du XML . ; Schéma de XML : Des affirmations et les protocoles de SAML sont spécifiés (en partie) using le schéma du XML. ; Signature de XML : SAML 1.1 et signatures digitales d'utilisation du SAML 2.0 (basées sur la norme de signature XML) pour l'intégrité d'authentification et de message. ; Chiffrage de XML : Using le chiffrage du XML, le SAML 2.0 fournit des éléments pour les marques nommées chiffrées, les attributs chiffrés, et les affirmations chiffrées (SAML  ; 1.1 n'a pas des possibilités de chiffrage). ; Protocole de transfert hypertexte (HTTP) : SAML se fonde fortement sur HTTP en tant que son protocole de transmissions. ; SAVON : SAML spécifie l'utilisation du SAVON , spécifiquement le SAVON 1.
L'anatomie de SAML
< ! -- L'image avec le statut inconnu de copyright a enlevé : -->
SAML définit des affirmations et des protocoles XML-basés, des attaches, et des profils. Le noyau du SAML de limite se rapporte à la syntaxe et à la sémantique générales des affirmations de SAML aussi bien que le protocole employé pour demander et transmettre ces affirmations d'une entité de système à l'autre. Le protocole du SAML se rapporte au quel est transmis, pas comment (ce dernier est déterminé par le choix de lier). Ainsi le noyau de SAML définit le " ; bare" ; Affirmations de SAML avec des éléments de demande et de réponse de SAML.
Une attache de SAML détermine comment les demandes et les réponses de SAML tracent sur des protocoles standard de transmission de messages ou de transmissions. Une attache (synchrone) importante est l'attache de SAVON de SAML.
Un profil de SAML est une manifestation concrète d'un cas défini d'utilisation using une combinaison particulière des affirmations, des protocoles, et des attaches.
Affirmations de SAML
Une affirmation SAML contient un paquet d'information de sécurité :
< saml de : Affirmation … > … < /saml : Affirmation >
Lâchement parlant, une partie comptante interprète une affirmation comme suit :
le
Assertion A a été publié au temps t par l'émetteur R concernant le sujet que S a fourni des conditions C sont valid.
Des affirmations de SAML sont habituellement transférées à partir des fournisseurs d'identité aux prestataires de service. Les affirmations contiennent les rapports de que les prestataires de service emploient pour faire à des décisions de contrôle d'accès. Trois types de rapports sont fournis par SAML :
Les rapports d'authentification de affirment au fournisseur de services que le directeur a en effet authentifié avec le fournisseur d'identité à un moment particulier suivre une méthode d'authentification particulière. D'autres informations sur le principal authentifié (appelé le contexte d'authentification de ) peuvent être révélées dans un rapport d'authentification.
Un rapport d'attribut de affirme qu'un sujet est associé à certains attributs. Un attribut de est simplement une paire de nom-valeur. Attributs comptants d'utilisation de parties pour prendre des décisions de contrôle d'accès.
Un rapport de décision d'autorisation de affirme qu'un sujet est autorisé pour effectuer l'action A sur la ressource R démontrée E. L'expressivité des rapports de décision d'autorisation dans SAML est intentionnellement limitée. Des caisses plus avancées d'utilisation sont encouragées à employer le XACML à la place.
Protocoles de SAML
Un protocole SAML décrit comment certains éléments de SAML (affirmations y compris) sont empaquetés dans des éléments de demande et de réponse de SAML, et donne le traitement ordonne que les entités de SAML doivent suivre en produisant ou en consommant ces éléments. Pour la plupart, un protocole de SAML est un protocole simple de demander-réponse.
Le type le plus important de demande de protocole de SAML s'appelle une question de . Un fournisseur de services fait une question directement à un fournisseur d'identité au-dessus d'un canal arrière bloqué. Ainsi des messages de question sont typiquement liés POUR SAVONNER.
Correspondent aux trois types de rapports, là trois types de questions de SAML :
De ces derniers, la question d'attribut de est peut-être la plus importante (et toujours l'objet de beaucoup de recherche). Le résultat d'une question d'attribut est une réponse de SAML contenant une affirmation, qu'elle-même contient un rapport d'attribut. Voir la matière de SAML 2.0 pour le un exemple de la question d'attribut/de réponse .
Protocoles de SAML 1.1
Au delà des questions, SAML 1.1 ne spécifie aucun autre protocole.
Protocoles de SAML 2.0
SAML  ; 2.0 augmente la notion du protocole de considérablement. Les protocoles suivants sont décrits en détail dans SAML  ; 2.0 Noyau :
Question d'affirmation de
et protocole de demande
Protocole de demande d'authentification
Protocole de résolution d'objet façonné
Protocole nommé de gestion de marque
Choisir le protocole de déconnexion
Marque nommée traçant le protocole
La plupart de ces protocoles sont complètement nouvelles dans le SAML 2.
Attaches de SAML
Un de SAML liant est une cartographie d'un message de gestion de protocole de SAML sur des formats de transmission de messages et/ou des protocoles de transmissions standard. Par exemple, l'attache de SAVON de SAML spécifie comment un message de SAML est encapsulé sous enveloppe de SAVON, qu'elle-même est lié à un message de HTTP.
Attaches de SAML 1.1
SAML  ; 1.1 spécifie juste une attache, l'attache de SAVON de SAML. En plus du SAVON, implicite dans SAML  ; 1.1 Le web browser SSO sont les précurseurs de l'attache de POTEAU de HTTP, le HTTP réorientent l'attache, et l'attache d'objet façonné de HTTP. Celles-ci ne sont pas définies explicitement, cependant, et sont seulement employées en même temps que SAML  ; 1. La notion de l'attache n'est pas en pleine maturité jusqu'à SAML  ; 2.
Attaches de SAML 2.0
SAML  ; 2.0 sépare complètement le concept obligatoire du profil fondamental. En fait, il y a spécifications obligatoires de de marque de nouvelles dans SAML  ; 2.0 qui définit les attaches autonomes suivantes :
Attache de SAVON du
SAML (basée sur SOAP  ; 1.1)
Attache renversée du SAVON (PAOS)
Le HTTP réorientent (OBTENIR) l'attache
Attache de POTEAU de HTTP
Attache d'objet façonné de HTTP
Attache de SAML URI
Pour te donner une idée de la flexibilité que cette réorganisation fournit, en termes de web browser SSO seulement, un fournisseur de services peut choisir de quatre attaches (le HTTP réorientent, des POTEAUX de HTTP et deux saveurs d'objet façonné de HTTP) tandis que le fournisseur d'identité a trois options obligatoires (POTEAU de HTTP plus deux formes d'objet façonné de HTTP) pour un total de douze (12) déploiements possibles du SAML  ; 2.0 Profil du web browser SSO.
Profils de SAML
Un profil SAML décrit en détail comment les affirmations, les protocoles, et les attaches de SAML combinent pour soutenir un cas défini d'utilisation. Le profil de SAML le plus important est le profil du web browser SSO.
Profils de SAML 1.1
SAML  ; 1.1 spécifie deux profils, le profil de navigateur/objet façonné et le profil de Browser/POST. Ce dernier passe le d'affirmations par la valeur tandis que le navigateur/objet façonné passe le d'affirmations par la référence . Par conséquent, le navigateur/objet façonné a besoin d'un échange du l'en arrière-canal SAML au-dessus de SAVON.
Dans SAML  ; 1.1, tous les écoulements commencent par une demande au fournisseur d'identité pour la simplicité. On a proposé des prolongements de propriété industrielle à l'écoulement IdP-lancé de base (par doctrine , par exemple).
Profils de SAML 2.0
Le profil du web browser SSO refactored complètement pour SAML  ; 2. Conceptuellement, SAML  ; 1.1 Le navigateur/objet façonné et les Browser/POST sont des cas spéciaux de SAML  ; 2. Ce dernier est considérablement plus flexible que son SAML  ; 1.1 contre-partie due au nouveau " ; prise-et-play" ; conception obligatoire de V2.
À la différence des versions préalables, les écoulements de navigateur de SAML 2.0 commencent par une demande au fournisseur de services. Ceci fournit une plus grande flexibilité, mais les écoulements PS-lancés provoquent naturellement le soi-disant problème de la découverte de fournisseur d'identité de , le centre de beaucoup de recherche aujourd'hui.
En plus du web browser SSO, SAML  ; 2.0 présente de nombreux nouveaux profils :
Profils du
SSO
Profil du web browser SSO
Profil augmenté de client ou de procuration (ECP)
Profil de découverte de fournisseur d'identité
Choisir le profil de déconnexion
Profil nommé de gestion de marque
Profil de résolution d'objet façonné
Question d'affirmation/profil de demande
Marque nommée traçant le profil
Profils d'attribut de SAML
Un certain nombre de ces profils sont discutés en plus détail dans la matière du SAML 2.
Le cas d'utilisation de SAML
Le cas primaire d'utilisation de SAML s'appelle le web browser Sign-On simple (SSO) de . Un utilisateur utilisant un agent d'utilisateur de (habituellement un web browser) demande une ressource de Web protégée par un fournisseur de services de de SAML . Le fournisseur de services, souhaitant savoir l'identité du demandeur, sort une demande d'authentification à un fournisseur d'identité de de SAML par l'agent d'utilisateur. L'écoulement en résultant de protocole est dépeint dans le diagramme suivant.
Demande du 1. la ressource de cible au PS (SAML  ; 2.0 seulement)
Le directeur (par l'intermédiaire d'un agent d'utilisateur de HTTP) demande une ressource de cible au fournisseur de services :
Le fournisseur de services exécute un contrôle de sécurité au nom de la ressource de cible. Si un contexte valide de sécurité au fournisseur de services existe déjà, sauter les étapes 2&ndash ; 7. répondent avec une forme (SAML  de XHTML ; 2.0 seulement)
Le fournisseur de services répond avec un document contenant une forme de XHTML :
method=" de
La valeur du paramètre de SAMLRequest est le codage base64 d'un . le service de SSO chez l'IdP (SAML  ; 2.0 seulement)
L'agent d'utilisateur fournit une demande de POTEAU au service de SSO au fournisseur d'identité où la valeur du paramètre de SAMLRequest est prise de la forme de XHTML au step  ; 2. Le service de SSO traite le AuthnRequest et exécute un contrôle de sécurité. Si l'utilisateur n'a pas un contexte valide de sécurité, le fournisseur d'identité identifie l'utilisateur (détails omis). répondent avec une forme de XHTML
Le service de SSO valide la demande et répond avec un document contenant une forme de XHTML :
method=" de
La valeur du paramètre de SAMLResponse est le codage base64 d'un . le service du consommateur d'affirmation au PS
L'agent d'utilisateur fournit une demande de POTEAU au service du consommateur d'affirmation au fournisseur de services. La valeur du paramètre de SAMLResponse est prise de la forme de XHTML au step  ; 4. réorientent à la ressource de cible
Le service du consommateur d'affirmation traite la réponse, crée un contexte de sécurité au fournisseur de services et réoriente l'agent d'utilisateur à la ressource de cible. la ressource de cible au PS encore
L'agent d'utilisateur demande la ressource de cible au fournisseur de services (encore) :
Le 8. répondent avec la ressource demandée
Puisqu'un contexte de sécurité existe, le fournisseur de services renvoie la ressource à l'agent d'utilisateur.
Note : Dans SAML  ; 1.1, l'écoulement commence par une demande au service de transfert du l'inter-emplacement du fournisseur d'identité au step  ; 3.
L'utilisation du SAVON
De l'écoulement d'exemple ci-dessus, tous les échanges représentés sont les échanges d'avant-canal de , c., un agent d'utilisateur de HTTP (navigateur) communique avec une entité de SAML à chaque étape. En particulier, il n'y a aucun échange d'en arrière-canal de ou communications directes entre le fournisseur de services et le fournisseur d'identité. les échanges d'Avant-canal mènent aux écoulements simples de protocole où tous les messages sont passés à par la valeur using une attache simple de HTTP (OBTENIR ou POTEAU). En effet, l'écoulement décrit dans la section précédente s'appelle parfois le le profil léger du web browser SSO.
Alternativement, pour la sécurité ou l'intimité accrue, des messages peuvent être passés à par la référence . Par exemple, un fournisseur d'identité peut assurer une référence à une affirmation de SAML (appelée un objet façonné de ) au lieu de transmettre l'affirmation directement par l'agent d'utilisateur. Plus tard, le fournisseur de services demande l'affirmation réelle par l'intermédiaire d'un canal arrière. Un tel échange d'en arrière-canal est spécifié comme un échange de message de SAVON (SAML au-dessus de SAVON au-dessus de HTTP). Généralement n'importe quel échange de SAML au-dessus d'un canal arrière bloqué est conduit comme un échange de message de SAVON.
Sur le canal arrière, SAML spécifie l'utilisation de SOAP  ; 1. L'utilisation du SAVON comme mécanisme de liaison est facultative, cependant. N'importe quel déploiement donné de SAML choisira quelqu'attaches soient appropriées.
Sécurité de SAML
Les caractéristiques de SAML recommandent, et dans certains cas mandat, une série de mécanismes de sécurité :
SSL  ; 3.0 pour la sécurité de transporter-niveau
Signature de XML et chiffrage de XML pour la sécurité de message-niveau
Des conditions sont souvent exprimées en termes d'authentification, intégrité, et confidentialité (mutuelles), partant du choix du mécanisme de sécurité aux applicateurs et aux deployers.
Profils de SAML
Hormis le profil du web browser SSO de SAML, quelques tiers profils importants de SAML incluent :
Le Comité technique de sécurité de services de Web de l'OASIS (WSS)
Profil de marque de la WS-Sécurité SAML d'OASIS
Alliance de liberté de
Cadre de fédération d'identité de liberté (ID-FF)
Cadre de services de Web d'identité de liberté (ID-WSF)
Le Comité technique extensible du langage de balisage de contrôle d'accès de l'OASIS (XACML)
SAML  ; 2.0 Profil de XACML  ; v2.0
.
| Random links: | Théorèmes de Sylow | Retsina | Merce Cunningham | Stanley Brehaut Ryerson | Nazaré Paulista | SAML |