Un des premiers agacements que rencontre l’internaute est le fait d’avoir une paire identifiant/mot de passe pour chacun des sites qu’il visite.
C’est vite lourd et jusqu’à peu, il n’existait pas de solution intéressante à ce problème.
En théorie, cette problématique se nomme le SSO (Single Sign-On). Le SSO consiste à centraliser toutes les informations d’identification en un point unique. Les programmes, comme un Intranet par exemple, peuvent ensuite demander au serveur SSO d’authentifier la personne se connectant.
Les SSO sont aujourd’hui répandus dans les entreprises car c’est un plus pour les utilisateurs et surtout un gros plus pour l’opérationnel qui évitent les incidents « j’ai oublié mon mot de passe« …
Mais ce qui est applicable dans le contexte urbanisé d’une entreprise n’est pas forcément possible pour Internet. En effet, le point crucial d’un SSO est qu’il repose à un moment ou à un autre sur un serveur centralisant l’information de sécurité.
Il y a quelques années, aux alentours de la sortie de .NET, Microsoft a sorti sa technologie Passport .NET. Son idée était simple : proposer un système d’authentification centralisé vendu aux partenaires. L’echec fût retentissant. En effet, qui voudrait investir dans une technologie propriétaire dont toutes les informations stratégiques (comptes) seraient stockées sur les serveurs Microsoft ?
Résultat, les sites implémentant Passport se comptent sur les doigts de la main sauf Microsoft.com qui utilise à plein régime son système évidemment. (Si le sujet vous intéresse, vous pouvez lire Authentification Passport .NET en ASP .NET écrit il y a de nombreuses années 😉 )
Le besoin à combler étant toujours présent, des alternatives se sont développés et il semble aujourd’hui que le gagnant soit OpenID.
Qu’est-ce que OpenID
OpenID est donc la même chose, c’est à dire un système centralisé d’authentification. L’avantage de OpenID est que ses spécifications sont ouvertes et donc accessibles à tous. De fait, il est parfaitement possible pour quiconque de développer son serveur OpenID, et l’on retrouve déjà de nombreux services nous permettant de créer notre identifiant OpenID. Par exemple, Verisign propose ce service.
Un identifiant OpenID est alors simplement une URI, voici la mienne générée par Verisign : JulienCarnelos.pip.verisignlabs.com.
Sur notre profil OpenID, on peut renseigner les éléments que l’on veut et on est libre de choisir quels seront les éléments partagés.
Le plus intéressant est que l’on peut se créer des profils « virtuels ». Par exemple, quand j’utilise mon OpenID sur les sites de e-commerce je partagerai ma véritable identité et mon adresse postale alors que quand je poste un commentaire sur un blog, mon surnom, mon email et l’url de mon blog suffit amplement…
Utilisation de OpenID
Je vais aller visiter un site lambda acceptant l’authentification OpenID : http://www.openidenabled.com/
Pour me connecter, je vois dans le cadre à gauche « OpenId », je saisis alors mon identifiant et je valide.
Je suis alors automatiquement redirigé vers Verisign qui me demande si je valide bien mon adhésion et quel profil je souhaite partager.
Après acceptation, je reviens sur le site original authentifié. Et voilà, la magie s’est operée !
Le futur
Ce qu’il y a de formidable pour OpenID, c’est que, bien qu’il ne soit pas unique (il existe de nombreux concurrents Yadis, LID, etc. ), il bénéficie d’un momentum important qui risque de le déclarer gagnant.
Plusieurs éléments peuvent nous laisser penser ça :
- Firefox 3 implémentera en natif la gestion des OpenID => il sera alors encore plus simple de se logger
- Microsoft et AOL ont annoncé le support de OpenID
- DIGG, Wikipedia et Yahoo vont implémenter OpenID
On voit bien que cette lame de fond risque de se transformer en tsunami, alors soyez les premiers et investissez dès aujourd’hui le terrain !
Quelques ressources pour attaquer le sujet :
Je sais maintenant ce qu’il me reste à faire sur ce blog 😉
Commentaires récents