L’acronyme SAML signifie Security Assertion Markup Language. Son rôle principal en matière de sécurité en ligne est de vous permettre d’accéder à plusieurs applications Web à l’aide d’une seule paire d’identifiants. Ce standard transfère les informations d’authentification dans un format spécifique entre deux parties : en général un fournisseur d’identité et une application Web.
Le langage SAML est un standard ouvert utilisé pour l’authentification. Reposant sur le format Extensible Markup Language (XML), les applications Web utilisent la norme SAML pour transférer les données d’authentification entre deux parties : le fournisseur d’identité (IdP) et le fournisseur de services (SP).
Le secteur des technologies a créé le standard SAML pour simplifier le processus d’authentification lorsque les utilisateurs ont besoin d’accéder à plusieurs applications Web indépendantes sur différents domaines. Avant le SAML, il était possible d’avoir recours à l’authentification unique (SSO), mais cette approche s’appuyait sur des cookies utilisables uniquement dans le même domaine. Cet objectif est atteint avec la centralisation de l’authentification utilisateur avec un fournisseur d’identité. Les applications Web peuvent ensuite exploiter le SAML via le fournisseur d’identité pour accorder l’accès à leurs utilisateurs. Avec cette approche SAML de l’authentification, plus besoin de retenir plusieurs noms d’utilisateur et mots de passe. Cette méthode profite également aux fournisseurs de services, car elle renforce la sécurité de leur propre plateforme : inutile de stocker des mots de passe (souvent faibles et non sécurisés) et de gérer les problèmes de mots de passe oubliés.
En raison de ses nombreux avantages, le SAML est une solution d’entreprise largement adoptée. Tout d’abord, il améliore l’expérience utilisateur, car il suffit de se connecter une fois pour accéder à plusieurs applications Web. Cela accélère non seulement le processus d’authentification, mais cela signifie également que vous n’avez plus qu’une paire d’identifiants à retenir. L’entreprise profite aussi de cette fonctionnalité, car elle permet de réduire le nombre d’appels au centre d’assistance concernant les réinitialisations de mot de passe.
Outre une expérience utilisateur améliorée, le SAML offre également une sécurité renforcée. Étant donné que le fournisseur d’identité stocke toutes les informations de connexion, le fournisseur de services n’a pas besoin de stocker les informations d’identification des utilisateurs sur ses systèmes. De plus, comme le fournisseur d’identité se spécialise dans la fourniture d’une authentification SAML sécurisée, ces économies d’échelle permettent d’investir du temps et des ressources dans la mise en œuvre de plusieurs niveaux de sécurité. Par exemple, les fournisseurs d’identité proposent des solutions complètes de sécurité des identités qui incluent des fonctionnalités intégrées comme l’authentification multifacteur (MFA), pour une protection contre les attaques de mot de passe courantes.
Le standard SAML échange des informations utilisateur, comme les informations de connexion, l’état d’authentification, les identifiants et d’autres attributs pertinents entre le fournisseur d’identité et le fournisseur de services. Ce faisant, il simplifie et sécurise le processus d’authentification, car l’utilisateur ne doit se connecter qu’une seule fois, à l’aide d’une paire unique d’informations d’authentification. Ainsi, lorsque l’utilisateur tente d’accéder à un site, le fournisseur d’identité transmet ses informations d’authentification SAML au fournisseur de services, qui lui accorde ensuite l’accès. Illustrons ce concept à l’aide d’une analogie concrète.
Les entreprises ont souvent besoin de vérifier votre identité avant de vous accorder l’accès à ses contenus. Prenons l’exemple des compagnies aériennes. Avant d’embarquer dans un avion, la compagnie doit vérifier que vous êtes bien la personne que vous prétendez être pour garantir la sécurité des autres passagers. Elle contrôle votre identité à l’aide d’une pièce officielle sur laquelle figure votre photo. Une fois qu’elle a vérifié que le nom indiqué sur votre pièce d’identité correspond à celui qui figure sur votre carte d’embarquement, vous êtes autorisé à monter à bord.
Dans l’exemple ci-dessous, l’organisme officiel est le fournisseur d’identité, et la compagnie aérienne est le fournisseur de services. Votre pièce d’identité officielle est l’assertion SAML. Lorsque vous faites une demande de pièce d’identité officielle, vous devez généralement remplir un formulaire, vous faire prendre en photo et dans certains cas faire relever vos empreintes. L’organisme officiel (fournisseur d’identités) stocke ensuite des attributs d’identification dans sa base de données et émet une pièce physique associée à votre identité. Pour reprendre notre exemple, lorsque vous arrivez à la porte d’embarquement, la compagnie aérienne (fournisseur de services) vérifie votre pièce d’identité (assertion SAML). La compagnie accepte votre pièce d’identité, car elle contient toutes les informations vous concernant, et la carte d’identité ou le passeport sont considérés comme des documents valides. Après une authentification réussie, la compagnie vous autorise alors à embarquer.
L’authentification unique SAML est un mécanisme qui repose sur le langage SAML. Elle permet aux utilisateurs d’accéder à plusieurs applications Web une fois ceux-ci connectés auprès du fournisseur d’identité. Comme l’utilisateur ne doit se connecter qu’une seule fois, l’authentification SSO SAML accélère et simplifie l’expérience de ce dernier.
L’authentification unique SAML est facile à utiliser, et elle est plus sécurisée du point de vue utilisateur, car il n’y a plus qu’une paire d’identifiants à retenir. Elle permet également aux utilisateurs d’accéder rapidement et simplement à tous les sites, car chaque application ouverte ne les invite pas à saisir un nom d’utilisateur et un mot de passe. En effet, il suffit à l’utilisateur de se connecter auprès du fournisseur d’identité pour accéder à l’application Web recherchée en cliquant sur l’icône correspondante ou en se rendant sur le site à l’aide de son URL.
Mais l’authentification SSO SAML offre d’autres avantages qu’une expérience utilisateur améliorée. Elle améliore la productivité des utilisateurs et des techniciens du centre d’assistance. Les utilisateurs ne perdent plus un temps précieux à se connecter à plusieurs applications Web à l’aide d’une paire d’identifiants à chaque fois. Par conséquent, ils n’inondent plus le centre d’assistance de demandes de réinitialisation de mots de passe, ce qui libère les techniciens qui peuvent se consacrer à la résolution d’autres problèmes.
Outre la satisfaction des utilisateurs et une productivité améliorées, l’authentification SSO SAML permet également de réduire les coûts. En effet, les centres d’assistance ont moins d’appels à gérer. Plutôt que d’implémenter un système d’authentification local pour la solution, il est possible de s’abonner auprès d’un fournisseur d’identités, réduisant ainsi les coûts de mise en œuvre et de gestion en interne d’un tel système.
Il s’agit de deux protocoles utilisés pour autoriser certains accès. Mais la principale différence entre les deux, c’est que le standard SAML est utilisé pour l’authentification et le protocole OAuth pour les autorisations.
Pour reprendre notre analogie sur les compagnies aériennes, la pièce d’identité du passager correspond à l’assertion SAML, et sa carte d’embarquement au jeton OAuth. La compagnie utilise la pièce d’identité pour vérifier l’identité du passager avant de lui permettre d’embarquer. Mais une fois le passager dans l’avion, le personnel de bord utilise son billet pour confirmer son statut et ses droits. Il pourrait par exemple posséder un billet de première classe lui donnant accès à des sièges et des services non accessibles aux passagers de classe éco.
Le standard SAML s’appuie sur un workflow d’authentification basé sur des revendications. Tout d’abord, lorsqu’un utilisateur tente d’accéder à un site, le fournisseur de services demande au fournisseur d’identité d’authentifier cet utilisateur. Ensuite, le fournisseur de services utilise l’assertion SAML émise par le fournisseur d’identité pour accorder l’accès à l’utilisateur. Prenons un exemple pour illustrer ce workflow.
OneLogin propose plusieurs kits d’outils SAML que les développeurs peuvent utiliser pour activer l’authentification SSO sur leur application via un fournisseur d’identité offrant l’authentification SAML. De plus, il fournit des ressources vous permettant d’ajouter votre application au catalogue OneLogin, de la programmer pour qu’elle propose l’authentification unique à vos utilisateurs via OneLogin, ainsi que des bonnes pratiques et FAQ utiles.
Le kit d’outils SAML de OneLogin propose également des outils en ligne : https://www.samltool.com. Vous pouvez par exemple obtenir un certificat X.509 autosigné que vous pouvez utiliser en environnement de test. En outre, puisque le standard SAML utilise l’algorithme d’encodage Base64, les ressources du kit d’outils OneLogin proposent un service en ligne permettant d’encoder et de décoder le langage XML en Base64 et vice-versa. Ce kit d’outils fournit également des ressources pour le chiffrement des nœuds à partir du format XML, la signature des AuthNRequests et la validation de votre XML par rapport au schéma XSD SAML.
Outre la prise en charge des certificats et les services d’encodage, de décodage, de signature et de validation XML, les outils en ligne SAML de OneLogin fournissent également d’autres ressources utiles pour les développeurs. Vous pouvez par exemple créer les métadonnées XML d’un fournisseur d’identité SAML. Il existe également un outil qui permet d’extraire le NameID et d’autres attributs pertinents de l’assertion d’une réponse SAML. Enfin, les outils en ligne SAML de OneLogin offrent également un service qui permet de convertir un message XML ou SAML dans un format lisible.