Comment fonctionne une fédération d'identités ?

Différents types d'acteur

  1. les utilisateurs finaux sont les personnes qui vont effectivement se connecter à des sites web via une fédération d'identités. En général elles ne savent pas et ne voient pas que leur connexion a lieu vers une fédération d'identités, c'est transparent pour elles ;
  2. les fournisseurs d'identités sont les organismes auxquels sont rattachés les utilisateurs finaux. Par exemple dans la fédération Éducation-Recherche il s'agit d'organismes de recherche et d'établissements d'enseignement. Un fournisseur d'identités a pour rôle d'authentifier ses utilisateurs quand ceux accèdent un site web via la fédération d'identités.
  3. les ressources sont les sites web auxquels peuvent accéder les utilisateurs finaux via une fédération d'identités. Il peut s'agir par exemple de sites d'enseignement à distance, d'outils collaboratifs en ligne, de portail de documentations numérisées…
  4. l'opérateur de la fédération est l'entité qui gère la fédération, a défini ses règles de fonctionnement et prend en charge l'inscription des fournisseurs d'identités et des ressources dans la fédération.

Déroulement classique de l'accès à une ressource via une fédération d'identités

Voici le déroulement de l'accès à une ressource par un utilisateur via une fédération d'identités (les étapes en italique sont celles qui ne sont pas vues par l'utilisateur) :

  1. l'utilisateur se rend avec son navigateur sur la page d'accueil d'une ressource, par exemple cours-en-ligne.example.org ;
  2. il clique sur le lien “Me connecter”, un nouvelle page s'affiche et il choisit dans cette nouvelle page son organisme de rattachement :
  3. l'utilisateur est automatiquement renvoyé vers la page d'authentification classique de son organisme sur laquelle il peut saisir son identifiant et mot de passe habituel ;
  4. si l'authentification réussit, le logiciel fournisseur d'identités de l'organisme va automatiquement récupérer des informations sur l'utilisateur dans le ou les référentiels de l'organisme ;
  5. l'utilisateur est renvoyé sur la ressource où il est alors automatiquement authentifié et peut alors l'utiliser.
  6. lors de la redirection de l'utilisateur depuis le fournisseur d'identités vers la ressource, cette dernière reçoit de la part du fournisseur d'identités une preuve informatique d'authentification de l'utilisateur et éventuellement des informations sur l'utilisateur

Vous pouvez voir une démonstration de l'accès via la fédération sur cette page.

Utilisation de logiciels de fédération

Pour que la séquence décrite ci-dessous fonctionne, il faut que l'organisme jouant le rôle de fournisseur d'identités installe un logiciel de fédération d'identités, appelé en général “identity provider” (fournisseur d'identités en français). De même pour le site jouant le rôle de ressource, qui doit installer un logiciel “service provider” en frontal de son application ; cette dernière doit elle-même être rendue compatible avec ce logiciel. Ces logiciels permettent le redigirer l'utilisateur automatiquement entre la ressource et le fournisseur d'identités, et gère la transmission de la preuve d'authentification et des informations sur l'utilisateur. Shibboleth est le logiciel de fédération d'identités le plus utilisé dans la communauté enseignement supérieur et recherche.

Une histoire de confiance

Outre la gestion technique assurée par les logiciels de fédération, il faut que les fournisseurs d'identités et les ressources se fassent mutuellement “confiance” :

  • une ressource doit avoir confiance dans les fournisseurs d'identités, car elle leur délègue la responsabilité d'authentifier correctement les utilisateurs et peut recevoir de leur part des informations sur ces utilisateurs. Si un utilisateur mal intentionné est capable de s'authentifier abusément sur un fournisseur d'identités, alors il pourra peut-être accéder à des ressources alors qu'il n'en avait pas le droit. Il est donc de la responsabilité d'un fournisseur d'identités de contrôler correctement l'authentification de ses utilisateurs, et d'avoir des informations à jour sur eux.
  • inversement un fournisseur d'identités doit avoir confiance dans une ressource quand il lui envoie des informations sur les utilisateurs. Par exemple s'il lui transmet une adresse email, il fait confiance au gestionnaire de la ressource pour que ce dernier ne l'utilise pas pour envoyer du spam.

La fédération permet de mutualiser l'établissement des relations de confiance

Pour se faire mutuellement confiance un fournisseur d'identités et une ressource peuvent s'engager à chacun respecter des règles (par exemple le fournisseur d'identités peut s'engager à maintenir des informations à jour sur ses utilisateurs). Mais si chaque paire de fournisseur d'identités - ressource doit le faire, le nombre d'engagements à maintenir ainsi entre les multiples acteurs d'une communauté sera énorme.

Une fédération d'identités évite ce problème en regroupant des fournisseurs d'identités et des ressources qui s'engagent, au moment de leur inscription, à respecter un ensemble minimal de règles qui permettent d'assurer la confiance. Ainsi un fournisseur d'identités ou une ressource qui s'inscrit dans une fédération n'a pas à formaliser avec chacun des autres participants des relations de confiance, car il sait que ces autres participants se sont engager à respecter des qui permettent d'assurer la confiance.

Outre la définition des règles permettant la mutualisation de la confiance, une fédération peut définir un cadre technique qui permet de faciliter l'interopérabilité entre les différents logiciels de fédération utilisés par les fournisseurs d'identités et de services.

Les méta-données, le WAYF

L'opérateur de la fédération maintient la liste des ressources et des fournisseurs d'identités inscrits dans la fédération ainsi que les informations techniques sur chacun. Ces informations sont distribuées publiquement sous forme du fichier de méta-données (voir le fichier de méta-données de la fédération Education-Recherche) et permettent de faire fonctionner les briques logicielles les une avec les autres.

Lors de l'accès à une ressource de la fédération, un utilisateur doit pouvoir indiquer l'organisme qui est capable de l'authentifier. A cet effet la ressource lui présente un menu déroulant (appelé “Where Are You From” ou “Discovery Service”) qui répertorie tous les fournisseurs d'identités de la fédération, ou dans certains cas le sous-ensemble de ces fournisseurs d'identités qui permettent l'accès à cette ressource. Le WAYF est donc la face visible de la fédération pour les utilisateurs.