OpenID

Un article de Wikipédia, l'encyclopédie libre.
Logo

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 se base sur des liens de confiance préalablement établis entre les fournisseurs de services et les fournisseurs d’identité (OpenID providers). Il permet aussi d’éviter de remplir à chaque fois un nouveau formulaire en réutilisant les informations déjà disponibles. Ce système permet à un utilisateur d'utiliser un mécanisme d'authentification forte[1].

Adoption[modifier | modifier le code]

De nombreux sites ont adopté OpenID, soit comme simples services, soit comme fournisseurs d’identité (voir listes plus loin dans cet article).

Le , Yahoo a officiellement annoncé l’adoption de ce standard, pour ses 248 millions de comptes.

Le , la fondation OpenID a annoncé qu’IBM, Microsoft, Google, Yahoo et Verisign rejoignaient son conseil d’administration[2].

Le , le réseau social MySpace adopte l’OpenID, mais n’accepte que les identités créées sur ce même site.

Le , la société Microsoft a annoncé une nouvelle plate-forme — de nom de code « Geneva » — qui permet de se reposer sur le mécanisme OpenID[3].

Le , la plate-forme en ligne de partage et de visionnage de vidéos Dailymotion annonce la possibilité d’utiliser OpenID pour s’authentifier sur le site. Cependant, le , le site annonce par courriel à ses utilisateurs qu'il abandonne OpenID, et que ceux-ci doivent se créer un compte avec mot de passe.

Le , le réseau social Facebook propose à son tour la possibilité de s’identifier avec OpenID.

Le , le gouvernement des États-Unis adopte le standard OpenID pour l'administration en ligne[4].

La Fondation OpenID (OIDF)[modifier | modifier le code]

La Fondation OpenID (OIDF aux États-Unis) gère et organise l’ensemble de la communauté OpenID. Il s’agit d’une « organisation à but non lucratif » créée en , basée dans l’Oregon et constituée d’un conseil de direction de 8 membres. En 2021, son président est Nat Sakimura[5].

Entreprises[modifier | modifier le code]

Depuis sa création de nombreuses entreprises ont rejoint la fondation[6] :

Autres Fondations[modifier | modifier le code]

  • Belgique : OpenID Belgique

Il s’agit d’une organisation internationale à but non lucratif (AISBL, Association Internationale Sans But Lucratif, selon la loi belge) dont la mission est de soutenir et d’organiser le développement du modèle OpenID en Belgique et partout en Europe.

  • Suisse : OpenID Switzerland

OpenID Switzerland[7], fondée le à Zurich, est une association[8] à but non lucratif.

  • membres dirigeants : Robert Ott (Vice-president) et David Reindl (Secretary)
  • représentants : Robert Ott (Swiss German Area Delegate), Sylvain Maret (Swiss French Area Delegate) et Andrea Chiodoni (Svizzera di Lingua Italiana)

Propriété intellectuelle[modifier | modifier le code]

En France, la marque OpenID est protégée à l’INPI sous le no  National EM005796412[9].

Fonctionnement[modifier | modifier le code]

Authentification OpenID.

Acteurs[modifier | modifier le code]

Le fonctionnement du protocole OpenID distingue plusieurs acteurs.

  • L’utilisateur est la personne qui — par le biais d’un logiciel client comme un navigateur web — souhaite s’identifier à un service.
  • Le fournisseur de service (en abrégé, RP, pour Relying Party) exige une preuve de l’identité de l’utilisateur. C’est un site web, un service web
  • Le fournisseur d’identité (OpenID Provider, ou OP, ou IdP, ou IP ou juste provider) est un serveur d’authentification OpenID qui est contacté par le service pour obtenir une preuve de l’identité de l’utilisateur.

Création d’un compte[modifier | modifier le code]

Chaque utilisateur est identifié par une URI, qu’il acquiert auprès de son fournisseur d’identité OpenID. Le mode de fonctionnement est le suivant :

  • L’utilisateur choisit un fournisseur d’identité, par exemple VeriSign (nom du serveur : pip.verisignlabs.com).
  • L’utilisateur choisit un nom d’utilisateur (x pour l’exemple), un mot de passe, et crée son compte. L’utilisateur peut renseigner certaines informations le concernant. Ce compte aura pour identifiant OpenID x.pip.verisignlabs.com. Le profil de l’utilisateur est également disponible à cette adresse.

Utilisation d’un compte[modifier | modifier le code]

Le mode de fonctionnement est le suivant :

  • L’utilisateur x désire, par exemple, accéder au service UnServiceWeb qui requiert que l’utilisateur soit authentifié.
  • L’utilisateur entre son identifiant : x.sous.domaine.com.
  • Le fournisseur de service (UnServiceWeb dans notre cas) contacte le fournisseur d'identité et ils créent ensemble un secret partagé.
  • L’utilisateur est redirigé vers le site du fournisseur d'identité et entre son mot de passe pour s’authentifier.
  • L’utilisateur est alors averti que UnServiceWeb souhaite avoir accès à certains attributs de son profil OpenID (par exemple, son nom, prénom, et son adresse de courriel), et accepte ou non cette demande.
  • L’utilisateur est redirigé vers le fournisseur de service avec une preuve cryptographique de son identité (créée grâce au secret partagé préalablement établi) fournie par le fournisseur d'identité et est authentifié.

Tant que la session de l’utilisateur est active, il pourra être reconnu automatiquement sur les autres sites utilisant OpenID grâce au mécanisme de l’authentification unique.

Implémentation[modifier | modifier le code]

Clients OpenID[modifier | modifier le code]

  • Java : OpenID4Java
  • .NET : DotNetOpenAuth (client et serveur)
  • Perl : Net::OpenID::Consumer[10]
  • PHP : OpenID library
  • Python : OpenID library (ainsi que plone.openid pour Zope)
  • Ruby : OpenID library

Extensions OpenID pour les serveurs web[modifier | modifier le code]

  • Java : NetMeshInfoGrid LID
  • NET : DotNetOpenAuth (client et serveur)
  • Perl : Net::OpenID::Server[11]
  • PHP : openid, NetMeshInfoGrid LID, phpMyID, Clamshell, SimpleID
  • Python : DjangoID, PyBlosxom
  • Ruby : HeraldryPIP
  • Apache : HTTPD Apache Mod_OpenID
  • Node.js : oidc-provider

Fournisseur d'identité - IDP[modifier | modifier le code]

Une liste de serveurs permettant de créer un compte OpenID se trouve sur le wiki d’OpenID[12]. Parmi ceux-ci :

Sécurité des identités numériques[modifier | modifier le code]

OpenID peut être couplé à un système d'authentification forte. Cela assure une meilleure protection contre l'usurpation d’identité numérique.

Notes[modifier | modifier le code]

  1. Strong authentication and single sign-on for mobile apps with OpenID Connect ()
  2. (en) Evolving the OpenID Foundation Board sur le site openid.net
  3. (en) Annonce sur le site NetworkWorld « Copie archivée » (version du sur Internet Archive).
  4. (en) OpenID and Open Government.
  5. (en-US) « Leadership | OpenID », (consulté le )
  6. (en) Microsoft News, « Technology Leaders Join OpenID Foundation », sur microsoft.com,
  7. OpenID Switzerland
  8. OpenID Schweiz association
  9. https://data.inpi.fr/marques/EM005796412?q=openid#EM005796412.
  10. (en) « Net :  : OpenID :  : Consumer », sur metacpan.org (consulté le ).
  11. (en) « Net :  : OpenID :  : Server », sur metacpan.org (consulté le ).
  12. « wiki d’OpenID »(Archive.orgWikiwixArchive.isGoogleQue faire ?)

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]