Seidor
mujer con el móvil

04 janvier 2023

Qu'est-ce que SAML ? Comment fonctionne SAML 2.0 ?

Sais-tu pourquoi de plus en plus de compagnies optent pour SAML ? Parce que c'est une excellente solution complète pour la gestion des identités fédérées (FIM) qui permet d'intégrer la connexion unique ou Single Sign-on (SSO). De plus, son processus d'authentification unique permet d'utiliser plusieurs applications en même temps.

Les composants individuels de SAML, parmi lesquels on trouve une base de données centrale d'utilisateurs et 6 protocoles différents, fournissent toutes les fonctions pertinentes pour décrire et transférer les caractéristiques de sécurité.

Qu'est-ce que le SSO (Single Sign On) ?

SAML permet d'intégrer la connexion unique (SSO), alors nous allons commencer par expliquer ce que c'est.

Le SSO permet aux utilisateurs de se connecter avec les mêmes identifiants sur différents comptes. De cette manière, lorsqu'un employé saisit des identifiants pour se connecter à son poste, il s'authentifie également sur ses applications, ressources et autres logiciels.

Ses avantages sont divers :

  • Améliore l'expérience utilisateur. L'utilisateur n'aura plus besoin de mémoriser différents mots de passe ni de passer plusieurs secondes à chaque connexion.
  • Minimisez les attaques de hackers. Les mots de passe faibles sont évités, car en n'en ayant qu'un seul, il est généralement plus fort.
  • Les protocoles comme SAML le rendent très facile à mettre en œuvre.

Fournisseur d'identité et Fournisseur de services

SAML (Security Assertion Markup Language) est une norme open source basée sur XML qui permet l'échange d'informations, tant d'authentification que d'autorisation entre différentes parties : un identity provider (fournisseur d'identité) et un service provider (fournisseur de services).

D'une part, un fournisseur de services a besoin de l'authentification du fournisseur d'identité pour accorder l'autorisation à l'utilisateur. Salesforce est souvent un fournisseur de services, car il dépend d'un fournisseur d'identité pour l'authentification de l'utilisateur. Cliquez ici si vous souhaitez en savoir plus sur ce qu'est Salesforce.

D'autre part, un fournisseur d'identité effectue l'authentification que l'utilisateur final est bien celui qu'il prétend être et envoie ces données au fournisseur de service avec les droits d'accès de l'utilisateur au service.

Un exemple est OKTA, l'un des leaders dans la fourniture de solutions d'identité.


Authentification SAML

Ainsi, l'authentification SAML est le processus par lequel l'identité et les informations d'identification de l'utilisateur (mot de passe, authentification à deux facteurs, etc.) sont vérifiées. L'autorisation SAML est celle qui indique au fournisseur de services quel accès accorder à l'utilisateur authentifié.

Comment fonctionne SAML ?

SAML a diverses utilités. L'une de ses fonctions est de faire des déclarations sur les propriétés et les autorisations d'un utilisateur pour d'autres utilisateurs ou entreprises associées, mais surtout sur les applications, c'est-à-dire aux «fournisseurs de services». Cela est possible grâce au fait que le fournisseur d'identité, base de données centrale dans laquelle sont stockées les informations correspondantes de l'utilisateur, utilise des assertions dans un format XML.

Mais il comprend également d'autres composants, tels que des protocoles, des liens et des profils, que nous expliquons ci-dessous.

Aserciones

Une assertion SAML est le document XML créé par le fournisseur d'identité qui envoie au fournisseur de services, et peut contenir une ou plusieurs déclarations. En fait, il existe trois types différents d'assertions SAML, qui sont spécifiés dans SAML 2.0 : authentification, attribut et décision d'autorisation.

  • Déclarations d'authentification : le fournisseur d'identité informe l'application que l'utilisateur s'est authentifié via des déclarations d'authentification. Ce type de déclaration fournit également des informations dans une assertion sur le moment où l'authentification a été effectuée et la méthode utilisée.
  • Déclarations d'attributs : les déclarations d'attributs sont des attributs qui sont liés à l'utilisateur respectif et peuvent être communiqués à l'application en utilisant le jeton SAML correspondant.
  • Déclarations de décision d'autorisation : lorsque les déclarations de décision d'autorisation sont incluses dans une assertion SAML, l'utilisateur a été autorisé à accéder à des ressources spécifiques ou s'est vu refuser l'accès à des ressources spécifiques.

Chacune des assertions reçoit également une signature numérique, qui doit être vérifiée par le fournisseur accédant au service. C'est ainsi que l'intégrité et l'authenticité du jeton SAML sont garanties, ce qui est le nom donné à l'assertion après avoir été signée. Une fois la vérification correcte effectuée, c'est le fournisseur de services qui analyse le contenu réel, afin de décider, le cas échéant, du type d'accès accordé à l'utilisateur.

Protocoles

La spécification SAML 2.0 définit un ensemble de protocoles de requête / réponse. Grâce à eux, l'application peut demander ou interroger une assertion, ou bien demander à un utilisateur de s'authentifier. Voici les protocoles suivants :

  • Protocole de demande d'authentification : le protocole de demande d'authentification définit des messages de type <AuthnRequest> qui sont nécessaires pour interroger des assertions avec des déclarations d'authentification pour un utilisateur sélectionné. Sur la base de ce protocole, les informations sont transférées de la base de données au fournisseur de services, généralement en utilisant un « Profil SSO du navigateur web SAML 2.0 ».
  • Protocole de requête et de consultation d'assertion : pour les consultations qui peuvent être utilisées pour récupérer des assertions SAML en général, le cadre contient le protocole de requête et de consultation d'assertion. Les assertions peuvent être consultées en fonction de divers paramètres, tels que les types de déclarations qu'elles contiennent.
  • Protocole de déconnexion unique : le protocole de déconnexion unique définit des requêtes qui initient une déconnexion presque simultanée de toutes les sessions actives d'un utilisateur. L'utilisateur, le fournisseur d'identité ou le fournisseur de services peuvent envoyer ce type de messages.
  • Protocole de résolution des artefacts : si les messages SAML doivent être transportés séparément via un canal sécurisé ou dans une taille qui économise des ressources, le protocole de résolution des artefacts est utilisé. Il permet d'envoyer des références aux assertions, également appelées artefacts, qui sont beaucoup plus petits que le message réel. L'enregistrement vous permet également de résoudre ces références pour recevoir le message original.
  • Protocole de gestion des identifiants de nom : ce protocole fournit des moyens pour changer la valeur du nom ou le format d'une identité utilisateur. La demande peut être écrite par le fournisseur de services ou le fournisseur d'identité. Vous pouvez également utiliser le protocole de gestion des identifiants de nom pour supprimer les liens entre les fournisseurs de services et les identités qui ont été créés pour authentifier l'identité de l'utilisateur original.
  • Protocole de mappage des identifiants de nom : le protocole de mappage des identifiants de nom définit les messages de requête et de réponse pour la communication entre deux fournisseurs de services. Selon ce type de message, une application peut interroger un fournisseur d'identité pour qu'un utilisateur accède à une autre application.

Liens

Les affectations de messages SAML dans les protocoles standard de messagerie ou de communication sont appelées « liens de protocole SAML » ou simplement « liens ».

Par exemple, le lien SOAP définit comment les messages SAML peuvent être échangés dans des environnements SOAP, tandis que le lien de redirection HTTP définit comment les messages du protocole SAML peuvent être transportés via le renvoi HTTP. D'autres liens déjà prédéfinis dans SAML 2.0 :

  • Liaison SOAP inversée
  • HTTP POST Binding
  • Association par artefact HTTP
  • Liaison URI SAML

Profil SSO du navigateur Web SAML 2.0 et autres profils

Une des principales qualités de SAML est sa grande flexibilité, ce qui facilite son utilisation pour une large variété de buts. Cependant, il faut prendre en compte que cette flexibilité peut être la cause de l'incompatibilité avec certaines applications. Bien que dans ces cas, il existe une solution qui consiste à la limiter. La manière de le faire est d'utiliser les profils dits.

En général, un profil SAML définit des restrictions et / ou des extensions pour soutenir l'utilisation de SAML pour une application particulière ; son objectif est d'améliorer l'interopérabilité en éliminant une partie de la flexibilité inévitable dans une norme d'utilisation générale.

Profil SSO pour navigateur Web SAML 2.0, l'un des profils les plus remarquables, contient tous les composants essentiels pour définir la communication des exigences d'authentification SAML entre les fournisseurs d'identité et de services. En outre, d'autres profils très intéressants sont proposés, qui peuvent être très utiles :

  • Profil Client et Proxy Amélioré (ECP).
  • Profil de découverte du fournisseur d'identité.
  • Profil de déconnexion unique.
  • Profil de gestion des identifiants de nom.
  • Profil de résolution des artefacts.
  • Profil de requête/demande d'assertion.
  • Profil de mappage des identifiants de nom.

Quelles sont les nouveautés apportées par SAML 2.0 ?

SAML a été développé en 2001 par les services de sécurité du comité technique du consortium OASIS (Organization for the Advancement of Structured Information Standards). Sa première version, SAML v1.0, a été publiée en novembre 2002. En 2005, à partir de plusieurs adaptations, les révisions appelées SAML 2.0 et 2.1 sont apparues.

Avec les dernières versions, des changements importants ont été appliqués et de nouvelles fonctionnalités ont été ajoutées dérivées du cadre de la fédération d'identité de l'alliance liberté (ID-FF) 1.2 et de l'architecture shibboleth, comme celles que nous signalons ci-dessous :

  • Suppression de certains éléments obsolètes tels que <AuthorityBinding> ou <RespondWith>
  • Mise en œuvre de la signature XML et du cryptage XML (selon W3C)
  • Remplacement de l'attribut AssertionID par un attribut d'ID XML général
  • Introduction de la gestion des sessions pour permettre la déconnexion automatique de toutes les applications (par exemple pendant les absences prolongées).
  • Adaptation des métadonnées pour simplifier l'utilisation de SAML (dans ce cas, le fournisseur d'identité et le fournisseur de services sont également marqués dans les métadonnées).
  • L'utilisation de mécanismes permettant aux fournisseurs de communiquer des politiques et des configurations de confidentialité.
  • Support amélioré pour les appareils mobiles.
  • Mise en œuvre des enregistrements déjà énumérés (seul le protocole de consultation et de demande d'assertion existait dans SAML 1.0 et 1.1)
  • Optimisation du profil (par exemple, Fusion des profils « navigateur / artefact » et « navigateur / publication » dans le « Profil SSO du navigateur Web SAML 2.0«).

À quoi sert la norme SAML ?

La norme SAML est très utile pour implémenter une instance d'authentification centrale en fonction du langage de balisage. L'un de ses grands avantages est qu'elle offre un degré élevé d'efficacité et un haut standard de sécurité. En particulier, le nombre de fuites de sécurité possibles est minimisé, car les applications individuelles n'ont pas à stocker ni à synchroniser les données des utilisateurs. De cette manière, l'un des objectifs principaux est atteint, à savoir la compatibilité d'un haut degré de sécurité avec le meilleur niveau possible de facilité d'utilisation.

Son utilisation est très recommandée dans différents domaines, et elle peut être utilisée aussi bien pour les processus internes de demande de l'entreprise que pour divers services web tels que la banque en ligne ou les applications mobiles. En tant que client, vous remarquerez que vous traitez avec plusieurs applications différentes lorsque vous utilisez ce type de services, car bien que l'utilisateur accède en réalité à plus d'un système en arrière-plan, SAML créera l'illusion d'être connecté à un seul programme.


Conclusion

SAML est l'un des protocoles utilisés par les différents produits d'OKTA, l'une des meilleures solutions d'authentification moderne.

OKTA fournit des outils qui facilitent l'identification, l'authentification et l'autorisation grâce à des solutions Single Sign-On (SSO), Universal Directory (UD), Authentification Adaptative Multifactor (Adaptative MFA), Accès Conditionnel, etc.

Peut-être que cela pourrait vous intéresser

01 février 2023

Qu'est-ce qu'un Middleware ?

Peut-être que le nom middleware ne vous dit rien. Mais si vous connaissez le matériel ou le logiciel, vous pourrez le relier. Le middleware est, en fait, un type de logiciel. Contrairement à d'autres programmes informatiques, celui-ci sert à interagir avec d'autres éléments de l'ordinateur, comme le système d'exploitation, le matériel ou les applications. Aussi, avec nous, les propres utilisateurs.

SEIDOR
27 janvier 2023

7 Avantages (et 5 Inconvénients) d'un CRM

La technologie CRM nous permet d'améliorer les relations avec les clients et facilite la prise de décisions pour obtenir de meilleurs résultats dans le département des ventes.

22 février 2023

L'intelligence artificielle pour parler ? 6 exemples réels

Les chatbots sont des canaux de communication personnalisés que les entreprises utilisent pour interagir avec leurs clients sans avoir besoin d'un interlocuteur réel. La solution parfaite pour trouver des informations ou effectuer toute gestion simple.

SEIDOR