Qu'est ce que le Single Sign-On ?

Les bases du SSO

Qu'est ce que le Single Sign-On (SSO) ?

Des débuts de l’informatique jusqu’à l’avènement d’Internet, l’une des seuls connexions existantes et nécessaire était celle consistant à utiliser un nom d’utilisateur et un mot de passe pour déverrouiller son ordinateur. Cette combinaison, appelée information d’identification, est une forme d’authentification.

Avec le développement d’Internet et des applications distantes, les utilisateurs ont eu de plus en plus d’identifiants de connexion : pour ouvrir leur cession de travail, pour leur messagerie, pour leurs applications, etc. Aujourd’hui, en moyenne, une personne doit se connecter 9 fois1 pour ouvrir tous les outils dont elle a besoin pour travailler.

L’augmentation du nombre d’informations d’identifications ne serait pas un problème si les utilisateurs pouvaient utiliser les mêmes identifiants pour chaque connexion. Cependant, cela créerait d’énormes failles de sécurité car dès lors qu’une combinaison d’identifiants serait divulguée ou violée, toutes les applications deviendraient accessibles à une personne non autorisée.

L’accroissement des besoins en identifications et les risques que ceux-ci engendrent ont donné naissance au concept d’identification unique appelé couramment SSO (pour Single Sign-On).

Le principe du SSO est de permettre à une personne de se connecter à toutes les applications dont elle a besoin avec une seule combinaison d’identifiants. Ecrit de cette façon, la connexion SSO semble similaire au système présenté juste au-dessus 🙂

Ce qui change entre ces deux approches, c’est que dans l’exemple ci-dessus, chaque application détenait une copie de la combinaison de connexion dans sa base de données. Avec une solution de SSO appropriée, les applications n’ont aucune information d’identification enregistrée, elles font juste confiance à ce que l’on appelle un Fournisseur d’Identité (IDP) qui leur garantie que l’utilisateur a bien le droit de se connecter. Sans information d’identification de connexion, les applications ne peuvent pas être compromises.

Voici quelques termes à connaitre :

Fournisseur d’Identité (FI) ou Identity Provider (IdP) :
C’est lui qui stocke les informations de connexion utilisateur et qui, de fait, authentifie l’utilisateur au moment de sa première connexion. Il existe divers IdP populaires disponibles sur le marché, tels que les services de fédération Active Directory (AD FS), Okta, OneLogin et HelloID.
Fournisseur de Service (FS) ou Service Provider (SP) :
Il s’agit de l’application à laquelle l’utilisateur accède et pour laquelle il doit être authentifié. Lorsque l’utilisateur ouvre une application, celle-ci discute avec le Fournisseur d’Identité pour valider l’accréditation de l’utilisateur.
Assertion:
C’est l’ensemble des informations envoyées du Fournisseur d’Identité au Fournisseur de Service. Le contenu de l’Assertion varie en fonction des protocoles de connexion SSO (par exemple, SAML, OAuth ou encore OpenID). Il contient généralement l’ID de l’utilisateur, son nom et différents attributs propre au protocole utilisé. L’Assertion est chiffrée et signée par un certificat auquel seuls les Fournisseurs d’Identité et de Service ont accès de façon à certifier la fiabilité de la source.

De façon générale, l’authentification unique fonctionne comme un contrat de confiance établie entre le Fournisseur d’Identité et le Fournisseur de Services. Cela signifie que lorsque le fournisseur d’identité indique que la personne qui accède à l’application est Bob Johnson, le fournisseur de services le croit et connecte l’utilisateur au compte de Bob.

Comment un utilisateur accède-t-il à une application ? 

La plupart des fournisseurs SSO propose une solution de portail web d’applications accessible de n’importe quel point du globe. Une fois l’utilisateur connecté avec sa combinaison unique d’authentification, il a accès aux applications de son entreprise à travers ce portail. Lorsque l’utilisateur choisit une application, une Assertion SSO est envoyée au Fournisseur de Service avec les informations de l’utilisateur. Si l’Assertion est acceptée, l’application s’ouvre et l’utilisateur peut travailler. Ce type de connexion SSO est appelée ‘’Identité initiée par le Fournisseur’’ (ou ‘’IdP initiated’’) car elle vient directement du fournisseur d’accès.

Comment un fournisseur de services valide-t-il les informations du fournisseur d’identité ?

Cas de l’utilisateur qui ne passe pas par le portail mais se connecte directement sur le site du service, par exemple la messagerie Gmail.

Dans ce genre de situation, le fournisseur de Service sait quoi faire en fonction des informations de nom ou d’email qui sont renseignées par l’utilisateur. Au lieu de stocker les informations d’authentification, l’application stocke les informations du Fournisseur d’Identité et sait où elle doit envoyer sa demande d’authentification. Ce genre de requête est appelée ‘’Service initié par le Fournisseur’’ (‘’SP Initiated’’) car la demande vient du Fournisseur de Service.

Les solutions de connexion SSO ne sont pas exempte de danger :

Lorsqu’une solution SSO est déployée, le Fournisseur d’Identité et tous les systèmes d’authentifications liés deviennent hautement critiques. Dans le cas d’une perte ou d’interruption de service, l’accès à toutes les applications utilisant l’authentification unique se retrouve bloqué.

De plus avec un seul jeu d’identification par utilisateur, il devient primordial de protéger ces informations de connexion et de s’assurer qu’elles ne sont pas partagées ou perdues. C’est pour cela qu’il est fortement recommandé d’associer la solution d’authentification unique à un niveau supplémentaire de sécurité tel que les Active Token, Smart Card ou Smartphone.

 

[1] https://www.businesswire.com/news/home/20170918005033/en/Information-App-Overload-Hurts-Worker-Productivity-Focus

Retour au Glossaire