Qu'est ce que le SAML et comment cela fonctionne ?
Le langage SAML (Secure Assertion Markup Language) est un type de norme SSO (Single Sign-On). Il définit un ensemble de règles / protocoles qui permettent aux utilisateurs d’accéder aux applications Web avec une seule connexion. Cela est possible car ces applications (appelées «fournisseurs de services») font toutes confiance aux systèmes qui vérifient l’identité des utilisateurs (appelés «fournisseurs d’identités»).
SAML est l’une des normes dominantes dans le monde de la gestion fédérée des identités (FIM), offrant des capacités d’authentification unique (SSO) sur le Web. D’autres normes incluent OpenID, OAuth et JWT (jetons Web JSON). Chaque norme a été créée et est maintenue par des organisations distinctes. SAML a été créé par OASIS[1], par exemple. Ces organisations ont des idées différentes sur la meilleure façon de mettre en œuvre l’authentification unique, les technologies et les langages à utiliser, etc. Malgré leurs différences techniques, toutes ces normes partagent au moins deux objectifs communs :
- Offrir une expérience utilisateur agréable en accordant un accès rapide et facile aux applications avec une seule connexion.
- Améliorer la sécurité en éliminant le besoin pour les applications de stocker des copies des informations d’identification de l’utilisateur dans leurs propres bases de données.
Ces deux objectifs sont simples et louables pour l’ère actuelle des affaires et de la technologie. Continuez votre lecture pour découvrir comment SAML atteint ces objectifs et comment il peut jouer un rôle dans la stratégie de gestion fédérée des identités de votre organisation.
Fournisseurs SAML (SAML Providers)
Afin de bien comprendre le fonctionnement de SAML, nous allons commencer par explorer le concept de fournisseur SAML. Un fournisseur SAML est un serveur impliqué dans l’authentification et l’autorisation d’un utilisateur lors d’une demande SAML. Plus précisément, il existe deux types de fournisseurs SAML: les fournisseurs de services (SP) et les fournisseurs d’identité (IdP).
Les fournisseurs de services sont les systèmes et applications auxquels les utilisateurs accèdent tout au long de la journée. Avant le SSO, chacun d’entre eux maintenait sa propre base de données de noms d’utilisateur et de mots de passe. Plus une personne utilisait d’applications, plus elle auvait besoin de se souvenir et de gérer les noms d’utilisateur et les mots de passe. Cette augmentation du nombre d’informations d’identification par utilisateur a encouragé des pratiques de gestion des mots de passe indésirables, telles que l’utilisation du même mot de passe sur plusieurs sites Web et services, et même l’écriture de mots de passe sur des « post-it ».
Avec l’avènement des normes SSO comme le SAML, les utilisateurs n’ont plus besoin de se souvenir de nombreux mots de passe. Ils n’ont besoin de se connecter à leur fournisseur d’identité qu’une seule fois, puis ils ont accès à leurs applications préférées. L’authentification à partir de ce moment est automatique et transparente pour l’utilisateur.
Un fournisseur d’identité est le système qui effectue l’authentification des utilisateurs. Il s’agit de l’emplacement central où les informations d’identification de l’utilisateur sont réellement stockées et validées. Une fois qu’un utilisateur se connecte à son fournisseur d’identité, il a accès à ses applications compatibles SSO. Lorsqu’un utilisateur ouvre une application, le fournisseur d’identité et le fournisseur de services travaillent ensemble pour authentifier et autoriser l’utilisateur, puis leur accorder l’accès, le cas échéant.
La conversation qui se produit entre les fournisseurs d’identité et de service se fait via un message appelé assertion. Il s’agit d’un document XML créé par le fournisseur d’identité et vérifié par le fournisseur de services. Il est construit selon les normes SAML établies en 2005 lorsque la norme SAML2 a été finalisée par le consortium OASIS[2].
Les Assertions SAML
Une assertion SAML est le message que le fournisseur d’identité envoie au fournisseur de services. Il s’agit d’un document XML qui contient tous les détails pertinents de l’utilisateur final. Cela comprend leur identifiant unique, leur nom et tout attribut supplémentaire pouvant être requis par le fournisseur de services. Ces attributs sont parfois appelés «revendications». Les deux termes peuvent être utilisés de manière interchangeable.
Toutes les assertions sont signées avec un certificat X.509 par le fournisseur d’identité. Le fournisseur de services dispose d’une copie de l’empreinte digitale du certificat, qu’il utilise pour vérifier l’authenticité de l’assertion. Cela empêche les attaquants malveillants, qui n’ont pas le certificat, de falsifier des assertions et d’obtenir un accès non autorisé.
Exemple d’une Authentification SAML
Suivons un employé fictif, Bob Johnson, de son arrivée au travail au lancement de sa première application compatible SSO. Cela nous donnera une bonne idée de la façon dont SAML et SSO en général, fonctionnent au jour le jour.
Après avoir pris sa tasse de café du matin, Bob s’assoit à son bureau et se connecte à son ordinateur. Il ouvre ensuite son navigateur, dont la page d’accueil a été définie sur le portail SSO de sa société. Ce portail sert de fournisseur d’identité de Bob. Sur le portail, Bob présente les nombreuses applications dont il a besoin pour effectuer son travail.
Après mûre réflexion, Bob choisit d’ouvrir Salesforce en cliquant sur son icône dans le portail. C’est là que le processus d’authentification SAML commence.
Tout d’abord, la demande de Bob est acheminée vers Salesforce. Salesforce répond en demandant une authentification au fournisseur d’identité. Le fournisseur d’identité crée ensuite une assertion SAML qui contient les informations utilisateur de Bob, telles que son adresse e-mail et son nom. Il le signe ensuite avec un certificat qu’il possède dans le dossier et envoie l’assertion à Salesforce.
Une fois qu’il a reçu l’assertion SAML, Salesforce utilise sa copie de l’empreinte digitale du certificat pour vérifier que l’assertion est valide. S’il est valide et que Bob a un compte actif, il sera connecté à Salesforce.
Le processus d’authentification de l’identité de Bob avec le fournisseur d’identité se déroule en arrière-plan en quelques millisecondes. Toutes les expériences de Bob sont la facilité d’accéder à ses applications en un seul clic et la joie de ne pas avoir à se souvenir de nombreux noms d’utilisateur et mots de passe différents.
Qu’est ce que le SAML peut faire pour vous ?
SAML, et toute autre technologie d’identité fédérée, sert à rendre la vie des utilisateurs plus facile et plus sécurisée. Sans cela, les utilisateurs sont obligés de gérer des informations d’identification différentes pour chaque site qu’ils utilisent. Cette collection d’informations d’identification est difficile à gérer et ouvre les utilisateurs et leurs organisations à des attaquants malveillants et au vol d’identité [3].
En introduisant une solution d’authentification unique complète dans votre organisation, ses utilisateurs finaux auront un accès simplifié aux applications dont ils ont besoin au quotidien. Cela réduit les temps d’arrêt causés par des mots de passe oubliés et des comptes verrouillés, ce qui se traduit directement par une productivité plus élevée et un moral accru. Tout cela peut contribuer à un effet positif sur le résultat net d’une entreprise, faisant de l’investissement dans les technologies SSO un gagnant clair en termes de ROI.
[1] https://www.oasis-open.org/
[2] https://www.oasis-open.org/
[3] http://citeseerx.ist.psu.edu/