Sorry, you need to enable JavaScript to visit this website.

Image CAPTCHA
Saisir les caractères affichés dans l'image.

Le SAML : le petit protocole qui monte, qui monte

Le SAML : le petit protocole qui monte, qui monte
2013-01-312013-03-08Web/Techfr
Dans le cadre des services Cloud et de la fédération d'identité le SAML est le protocole qui monte au point de devenir incontournable. Avant d'essayer d'en expliquer le succès voyons de quoi il est question !
Publié le 31 Janvier 2013 par Philippe Macia dans Web/Tech
login

Dans le cadre des services Cloud et de la fédération d’identité le SAML est le protocole qui monte au point de devenir incontournable. Avant d’essayer d’en expliquer le succès voyons de quoi il est question !

le principe ou comment ça marche

Le SAML « Security Assertion Markup Language » est un protocole ouvert et standardisé basé sur le langage XML pour échanger des informations d’authentification et d’autorisation entre des entités ou domaines de sécurité.

Le SAML va gérer à la fois le format du message XML, appelé assertion, ainsi que les renseignements nécessaires à l’authentification et le process d’échange entre deux grands partenaires :

  • Le SP (Service Provider) ou fournisseur de service, qui protège l'accès aux ressources demandées (sites web, applications etc) en appliquant une politique de sécurité. Par exemple, il bloque tout accès à un utilisateur non authentifié et le dirige vers son fournisseur d'identité.
  • L'IdP (Identity Provider) est le fournisseur d'identité qui répond à la demande du SP. Il est chargé d'authentifier l'utilisateur et de forger la réponse contenant les informations associées à l’identité (groupe en général) et demandées par le SP.

illustration par l’exemple

Prenons maintenant le cas simple d’une entreprise utilisant un proxy dans le nuage comme ceux des solutions décrites dans cet article. Supposons que l’entreprise de cet utilisateur dispose d’une solution de Single Sign On basée sur SAML dans un datacenter et illustrons ce qui se passe quand un utilisateur veut accéder à un site Internet en s’authentifiant à l’aide du protocole SAML.

SAML

Lorsqu’une requête d’authentification arrive sur le proxy Cloud, celui-ci examine les règles de sécurité et cherche à savoir si l’utilisateur peut accéder au site demandé. Le SP regarde si le navigateur possède un cookie d’authentification. Si le cookie d’authentification est déjà présent, l’utilisateur est identifié et la politique de sécurité est appliquée en fonction du profil et des droits de l’utilisateur.

Si le SP ne trouve pas de cookie, une requête d’authentification est créée et le processus d’authentification débute. Les flux passent par l’intermédiaire du navigateur à l’intérieur de la même session et sont adressés à l’IdP.

L’IdP vérifie les paramètres de l’utilisateur en interrogeant l’annuaire de l’entreprise et récupère les paramètres liés à l’utilisateur. Il forge avec tout cela l’assertion SAML.

Une fois l’authentification finalisée, l’information provenant de l’assertion SAML est stockée de façon sécurisée dans un cookie pour le domaine visité. L’accès au domaine est accordé selon la requête d’origine de l’utilisateur et le cookie est stocké dans le navigateur en accord avec la politique de sécurité définie par l’administrateur. L’assertion sera valide jusqu’à l’expiration du cookie. Celui-ci peut être supprimé à l’expiration de la session, à l’issu d’un délai ou être permanent.

les raisons du succès

Comment expliquer le succès du SAML ? 4 raisons à mon avis :

  1. La neutralité de la plateforme : le SAML offre un cadre de sécurité indépendant de la plateforme technique qui l’utilise. Ceci est valable pour la partie SP (application) et pour la partie IdP.
  2. Une nouvelle expérience utilisateur : avez-vous remarqué que dans le marketing tout est expérience et qu’un slogan est réussi si vous avez fait une expérience ? Soyons pragmatique : gérer des mots de passe pour X applications c’est la galère. Alors une solution de SSO basée sur un protocole standard qui vous affranchit de cette corvée pour vous donner accès à vos applications préférées potentiellement chez de nombreux SP (dans le Cloud bien sûr !) je ne sais pas si c’est une nouvelle expérience mais c’est sacrément pratique !
  3. Une réduction de la complexité pour le Service Provider ! En effet, le SP se contente d’émettre une demande vers un IdP, soit hébergé par le client lui-même, soit par un tiers de confiance assurant la fédération d’identité. Le SP est donc déchargé de la fastidieuse phase d’authentification pour faire ce qu’il sait faire le mieux : fournir un service. En plus un SP peut réutiliser l’authentification stockée dans un cookie autant de fois que nécessaire ! Intéressant non ?
  4. La sécurité : enfin me direz-vous, il était temps ! En quoi la sécurité y gagne ? Tout simplement parce que tout se passe par l’intermédiaire du navigateur au cours d’une même session sans que le SP ne fasse de requête entrante sur le réseau du client. Donc plus besoin d’ouvrir des ports sur les FW, seul le flux http est impliqué et surveillé.

Nul doute que la carrière du SAML ne fait que commencer mais c’est déjà un beau début non?

Philippe Macia qui remercie Philippe Glaume pour ses talents de dessinateur.

crédit photo : © Pavel Ignatov - Fotolia.com

3 Commentaires

  • 27 Février 2013
    2013-02-27
    par

    Bonjour

    Merci à François et Denis pour ces commentaires.

    Pour répondre à François, l'idée de cet article n'est pas de présenter le SAML comme une nouveauté (loin de moi cette idée) mais plutôt de tenter d'expliquer pourquoi ce protocole devenait de plus en plus populaire et était enfin un succès.

    Pour répondre à Denis si bien entendu ce type d'article très général ne permet pas d'aller aussi loin dans le détail je vous remercie pour la précision sur le Post Binding car comme vous le soulignez dans cet exemple l'échange est bien initié par le Service Provider. Et comme vous le faites remarquer le SAML peut répondre à bien des usages. Au vu de vos suggestions cet article devrait avoir des suites.

    Cordialement

    Philippe

     

  • 27 Février 2013
    2013-02-27
    par
    Bernet Denis
    Bonjour,
    Merci pour cet article qui montre l'intérêt de SAML et l'intérêt de la Fédération d'Identité : Avoir du Single Sign On entre des applications de sociétés différentes. Cet article est une très bonne initiative pour faire connaître SAML.
    Il est intéressant d'indiquer aussi que SAML est un standard très riche qui offre de nombreuses autres possibilités que la séquence décrite ici. SAML est capable de répondre à de nombreux besoins et contraintes de SSO. Exemples:
    - Le Service Provider peut gérer "d'identités" en local. Il peut aussi s'appuyer uniquement sur les informations fournies par l'Identity Provider et ne gérer aucune identité en local.
    - Autre ouverture, la solution de SSO du client n'a pas besoin d'être basée sur SAML et est souvent complètement propriétaire : elle doit simplement offrir une interface SAML (avec parfois l'ajout d'un module SAML).
    - Dans la séquence décrite ici, les échanges se font en "Post Binding" avec "SP Initiated" mais il existe à l'extrême opposé l'"Artefact Binding" avec "IdP Initiated". SAML est capable de répondre à de nombreux besoins et contraintes de SSO.
  • 26 Février 2013
    2013-02-27
    par
    Francois Berot
    La carrière de SAML commence ? Mis en oeuvre dans des solutions commerciales et opensource, ce protocole a bientôt 13 ans d'âge quand même !

Ajouter un commentaire

comments

  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <br>

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Email HTML

  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
Image CAPTCHA
Saisir les caractères affichés dans l'image.
Changer d'affichage