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
- 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.
- Janua a développé et distribue sous licence CDDL SSO
Monitor qui est basé sur l'outil de monitoring JRDS et permet de
monitorer avec précision OpenAM.
- 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.
