SSO – Single Sign On – OpenAM – CAS – OpenID Connect

L’authentification unique, en anglais Single Sign-On ou SSO, est une technique permettant d’utiliser successivement plusieurs applications informatiques ou de se connecter à plusieurs sites web sécurisés sans avoir à entrer à chaque fois des informations d’authentification telles qu’un nom d’utilisateur et un mot de passe.

singlesignon

Janua vous propose avant toute chose de vous aider à définir le périmètre fonctionnel d’un tel projet au travers d’une mission de consulting qui vous aidera à mieux définir vos besoins au regard des technologies d’aujourd’hui et de votre stratégie à long terme.

A cet effet, Janua a développé une approche méthodologique pour vous aider dans cette phase cruciale de spécification, méthodologie dont vous pouvez avoir un aperçu dans ce synoptique.

Vous trouverez ici le suport de présentation d’une conférence donnée par Janua sur le sujet SSO/Fédération.

Janua, a développé une expertise particulière sur l’intégration, le déploiement et l’industrialisation des offres logicielles suivantes :

    • OpenAM (anciennement Sun OpenSSO – sous licence Open Source 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.

  • OpenIG ( the Open Identity Gateway ) est un reverse proxy hautes performances spécialisé dans la gestion des sessions et des « credentials ». OpenIG complète OpenAM en permettant d’intégrer des applications web sans avoir besoin de modifier l’application cible ou le conteneur dans lequel elle fonctionne.
  • CAS développé par l’Université de Yale, CAS (Central Authentication Service) met en oeuvre un serveur d’authentification accessible par W3, composé de servlets java, qui fonctionne sur tout moteur de servlets (Tomcat par exemple). Un module PAM (pam_cas) permet de « CAS-sifier » des services non « web », tels que FTP, IMAP, …
  • OAuth 2.0 est un protocole libre, qui permet l’authentification à une API  sécurisée d’une façon simple et standard depuis son bureau ou une application web. Pour les développeurs d’une application accédant à une API, OAuth est une façon de publier et d’interagir avec des données protégées. Pour les développeurs fournissant une API, OAuth permet de donner accès aux données tout en protégeant le pseudo et mot de passe des utilisateurs. OAuth est supporté par OpenAM.
  • OpenID Connect est un système d’authentification décentralisé qui permet l’authentification unique, ainsi que le partage d’attributs, c’est une extension d’OAuth 2.0. Il permet à un utilisateur de s’authentifier auprès de plusieurs sites (devant prendre en charge cette technologie) sans avoir à retenir un identifiant pour chacun d’eux mais en utilisant à chaque fois un unique identifiant OpenID. Le modèle OpenID se base sur des liens de confiance préalablement établis entre les fournisseurs de services (sites web utilisant OpenID par exemple) et les fournisseurs d’identité (OpenID providers).  France Connect est un exemple de service OpenID Connect, Janua peut former vos équipes techniques à cette technologie et aider vos développeur à intégrer vos fournisseurs d’identités (FI), de services (FS) et de données (FD).

Une présentation de  Oauth et OpenID par le CTO de Janua :

  • User Managed Access (UMA) est un protocole basé sur OAuth qui permet à un individu de contrôler l’autorisation de partage des données et l’accès aux services, vient d’être normalisé et est destiné au monde de l’IoT.
  • EJBCA est une solution open source de gestion de PKI (infrastructure de clés publiques), parmi les plus complètes du marché, portée et maintenue activement par la société Primekey. EJBCA permet non seulement de gérer tous les aspects de la certification X509 (émission de certificats, révocations avec CRL, chaînes de certifications) mais aussi implémente une grande partie des standards liés à la spécification X509 (répondeur OCSP, CMS…). EJBCA est publié sous licence LGPL et un support commercial est proposé par la société éditrice. D’un point de vue technique, EJBCA est écrit intégralement en Java. La solution est propulsée par un serveur d’applications J2EE.