Le SSO (Single Sign On) permet à l’utilisateur de s’authentifier une seule fois pour accéder à plusieurs services, il n’a donc pas besoin de saisir une multitude de mots de passe.
Cela se fait principalement grâce au LDAP et à des bases de données LDAP sur un serveur.
Attention, le SSO ne doit pas être confondu avec d’autres schémas d’authentification comme OpenID ou OAuth. Dans ces deux cas, l’utilisateur doit tout de même saisir ses identifiants à chaque fois qu’il utilise une application.
Configurations que l’on retrouve principalement
Kerberos based
L’utilisateur s’authentifie une fois et obtient un ticket appelée TGT (Ticket-granting ticket). Les applications ayant besoin d’authentification utilisent ce ticket. Sur Windows, les applications Active Directory peuvent utiliser les tickets. Active Directory utilise LDAP. Active Directory est géré sur Windows Server et permet de gérer un domaine et des utilisateurs. Dans un parc informatique, un utilisateur est lié à un compte et récupère son environnement quand il est connecté. Dans les environnements Unix/Linux, il faut se logger via un Kerberos PAM (Pluggable Authentication Module). Ces modules intègrent des schémas d’authentification de bas-niveau via une API de haut-niveau. Firefox et SVN utilisent par exemple des tickets.
Smart card based
L’utilisateur s’authentifie une seule fois et les données d’authentification sont stockées sur la carte.
Integrated Windows Authentication (IWA)
Ce terme est associé aux produits Windows. Il réfère à plusieurs protocoles d’authentification comme Kerberos. Il s’utilise surtout en interconnexion avec Internet Explorer. Il s’est étendu via la plate-forme Active Directory pour le rendre portable sur Mac, Unix/Linux.
Security Assertion Markup Language (SAML)
SAML permet d’échanger des informations de sécurité entre un utilisateur, un fournisseur d’identité et un fournisseur d’accès. L’encryption se fait à l’aide d’un fichier XML. Il utilise le SSO via un navigateur web. Le SSO se situe au niveau de l’intranet, par les cookies par exemple. Il y a trois entités à prendre en compte :
- L’utilisateur - the principal
- Le fournisseur d’identité (identity provider) - idP
- Le fournisseur d’accès (service provider) - SP
Le scénario d’utilisation est le suivant :
- L’utilisateur demande un service au fournisseur d’accès.
- Le fournisseur d’accès vérifié les informations d’identité grâce au fournisseur d’identité.
- Suivant la réponse, le fournisseur d’accès peut contrôler l’accès, c’est-à-dire fournir le service à l’utilisateur connecté.
Le fournisseur d’identité demande des informations à l’utilisateur (nom d’utilisateur, mot de passe) pour l’authentifier. SAML spécifie les assertions entre les trois parties, plus précisément entre l’idP et le SP. Une identité peut être liée à plusieurs services grâce au SAML. De la même manière, un SP peut être relié à plusieurs idP. SAML ne donne pas de spécifications précises sur la méthode de connexion : cela peut-être un couple nom d’utilisateur-mot de passe ou une authentification à multiple facteurs. Active Directory peut être un moyen de se connecter lui aussi.
Enterprise SSO (ESSO)
Les agents sont installés sur chaque poste de travail.