SAML – Fédération d’identités – OpenAM – Shibboleth – RedHat SSO – WrenAM

Security assertion markup language (SAML) est un standard définissant un protocole pour échanger des informations liées à la sécurité, à la fédération et à la délégation d’identités. Basé sur le langage XML, SAML a été développé par OASIS.

Le problème le plus important que SAML tente de résoudre est celui de l’authentification unique (SSO) sur le web. Il s’agit de permettre à un utilisateur de naviguer sur plusieurs sites différents en s’authentifiant une seule fois, sans pour autant que ces sites aient accès à des informations trop confidentielles.

    • OpenAM (anciennement Sun OpenSSO- logiciel Open Source sous licence CDDL) :
      • WSSO: SSO pour les applications Web, c’est à dire accessibles en HTTP, sur un domaine DNS ou plusieurs (Cross Domain SSO ou CDSSO)
      • eSSO: Enterprise SSO c’est à dire SSO pour les applications non Web (à base d’un client lourd comme un émulateur 3270 par exemple)
      • SSO possible avec un jeton Kerberos donc en s’appuyant sur une session Windows
      • Fédération: SSO extranet, par exemple entre partenaires commerciaux ou fournisseurs
      • Support des protocoles standards de fédération (notamment SAML v2, WS-*), assistants de configuration
      • Sécurisation des services Web
      • Services d’identité
      • Interface REST
      • Passerelle de fédération universelle (multi-protocoles)
      • OpenAM est intégré-(able) dans OpenStack (OpenStack est un projet informatique de service d’infrastructure-Infrastructure as a Service (IaaS)- du domaine du cloud computing, un logiciel libre distribué selon les termes de la licence Apache. 
  • WrenAM par Wren Security est un fork communautaire totalement Open Source crée suite à la fermeture progressive des sources d’OpenAM par ForgeRock.
  • RedHat SSO, basé sur le projet OpenSource Keycloak,  est un produit de web SSO basé sur les standards SAML 2.0, OpenID Connect et OAuth 2.0.  RedHat SSO serveur peut aussi devenir un « Identity Provider » SAML ou OpenIDconnect.
  • Shibboleth, solution de fédération d’identités qui permet d’une part de déléguer l’authentification à un ou plusieurs organismes distincts, éventuellement en fonction du choix de l’utilisateur et qui permet d’autre obtenir part de transmettre certaines informations sur l’utilisateur (pour gérer le contrôle d’accès ou personnaliser les contenus), sous son contrôle. La délégation de l’authentification s’appuie sur des techniques similaires aux autres protocoles de fédération, avec quelques spécificités optionnelles.
    • Dans un scénario classique avec Shibboleth, lors de l’accès initial à une ressource numérique, l’utilisateur est redirigé vers le service (optionnel) de découverte de la fédération, d’où il sélectionne son établissement d’origine ; il est ensuite renvoyé vers son fournisseur d’identité. Le prérequis pour ce dernier est de disposer d’un service d’authentification tel que Central Authentication Service ( CAS ), mais pas forcément d’un SSO. A l’issue de la phase d’authentification, le fournisseur de services prend connaissance de l’identifiant de l’utilisateur qui lui permettra, lors d’une deuxième phase, d’obtenir les propriétés de l’utilisateur.
    • Le fournisseur d’identités a aussi la possibilité de définir, de façon différenciée pour chaque interlocuteur, quelles informations sur l’utilisateur pourront être dévoilées.

les consultants et architectes de Janua ont développé une forte expertise autour de SAML et la fédération d’identités.