SSO, PKI & FEDERATION

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.

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, dans la phase de déploiement a développé une expertise particulière sur les offres logicielles suivantes :

  • 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, ... 
  • OpenID est un système d’authentification décentralisé qui permet l’authentification unique, ainsi que le partage d’attributs. 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).
  • OAuth 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'intéragir 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.
  • OpenAM (anciennement Sun OpenSSO) :
    • 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
  • Shibboleth, fédération et propagation d'identités, permet de déléguer l'authentification à l'établissement d'origine de l'utilisateur et obtenir certains attributs de l'utilisateur (pour gérer le contrôle d'accès ou personnaliser les contenus). La délégation de l'authentification réutilise les techniques de Single Sign-On web (redirection, cookies...). Lors de l'accès initial à une ressource numérique, l'utilisateur est redirigé vers le service 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és. Le prérequis pour le fournisseur d'identités est de disposer d'un service d'authentification globale tel que Central Authentication Service (CAS) (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 attributs de l'utilisateur. Le fournisseur d'identités a la possibilité de définir, de façon différenciée pour chaque interlocuteur, quels attributs utilisateur pourront être dévoilés.

© 2004-2012 - JANUA