Adoptons OpenID
Je me dois de répondre au troll billet de xbright sur openid qui démontre soit son ignorance d’openid, soit un plaisir à démolir une superbe initiative. Ce billet s’adresse directement à xbright et aurait plus sa place dans ses commentaires, mais j’aime pas écrire des trop gros commentaires.
Reprenons ses arguments dans l’ordre :
D’après plusieurs billets (comme celui ci), la page d’OpenID affichait avant ce texte :
What about trust?
This is not a trust system. Trust requires identity first.What about spam?
Again, this is not a trust system.
Ce n’était peut-être pas très malin de mettre ça sur le site d’openID, mais ce qui est dit est vrai. OpenID n’est pas un captcha anti-spam ou un système de confiance à la GPG, OpenID est juste fait pour associer une URL avec identité sur internet. Ca ne permet pas de savoir que derrière cette identité ce trouve M. Machin, et ça ne permet pas non plus d’avoir confiance en lui.
D’ailleurs, ce billet explique bien en quoi OpenID est très vulnérable au phishing et donc au spam :[...]
C’est effectivement un des problèmes d’OpenID, mais ce problème se retrouve sur tous les méthodes d’authentification, d’accord tu vas me dire que sur un site c’est moins grave vu que ça ne donne accès que à ce site. Ok pour un utilisateur avancé (et encore), mais l’utilisateur lambda va utiliser le même login mot de passe partout, et pire encore en général son mot de passe est aussi celui de son compte email. Et lorsqu’on récupère un accès au compte email principal d’une personne on peut en général se connecter à tes les sites qu’il utilise (sauf certains cas spéciaux comme les sites des banques), bref on peut comparer le vol d’email au vol d’OpenID.
Il suffirait de vous piquer vos identifiants OpenID pour aller se connecter à votre place partout où vous allez sur Internet !
Il suffit de vous piquer vos identifiants mails pour aller se connecter à votre place partout où vous allez sur Internet !
À quoi ça sert ? Ne pas avoir à s’identifier sur chaque site, en proposant une seule identification pour tous les sites. Sauf que cet argument, en 2008, il n’est pas très séduisant : tous les bons navigateurs se rappellent de nos identifiants (pseudonyme / mot de passe) et les bons sites écrivent un cookie afin qu’on puisse être identifié dès la connexion.
Tu te connectes toujours depuis chez toi ? Moi non. Tu te connectes toujours avec le même navigateur ? Moi non (certains sites peuvent ne plus bien marcher avec ton navigateur par défaut par exemple). Les cookies durent à vie ? Non. Les URLs de login des sites que tu consultes ne changent jamais ? Parce que si ça change en général le fabuleux principe des mot de passe sauvegardé dans le navigateur ne marche plus.
Et pour combattre tout ça, on nous propose des solutions vraiment très drôles. Ça va du captcha image (« Go fuck yourself with your accessibility and other shits like that », comme disait l’autre) à la question personnalisée du genre « Quel âge à votre grand-mère ? ». C’est vraiment super. Et puis, on trouve des rustines assez drôles à lire, de l’image personnelle à SSL (pourquoi ne pas y avoir pensé plus tôt ? ah oui, ce n’était pas un système de confiance, à la base !).
Le captcha a l’avantage de n’être fait qu’une seule fois par adresse openid, donc pas besoin de le refaire sur chaque site. Alors oui le captcha c’est de la merde, mais vaut quand même mieux le faire qu’une fois que sur tous les sites qui le demandent.
Pour les problèmes de phishing c’est comme pour des sites normaux, oui ce n’est pas parfait, non on a pas encore trouvé mieux de manière simple. Et je ne vois pas pourquoi le SSL doit être considéré comme une rustine. OpenID se veut flexible, l’authentification via un certificat SSL est une méthode, qui est une des plus sécure. Mais comme le commun des mortels peut avoir du mal avec ça, c’est pas ce qui est proposé par la plupart des provider openID, mais au moins ceux qui veulent peuvent l’utiliser. Alors que sur certains sites on a juste du SSL avec un certificat auto-signé (autant dire inutile) pour protéger son mot de passe. Et au passage le coup de l’image perso est faite par plein de site, genre Yahoo!.
Toujours sur ce même blog, voici une description des étapes à suivre si je veux ajouter un commentaire à un blog en étant identifié (parce que c’est vrai que c’est chiant pour le développeur du logiciel de blog d’écrire un cookie où y mettre les infos à sauvegarder dans ce formulaire) : [...]
Ton argumentaire ici ne tiens pas du tout la route, en fait tu fais presque l’apologie d’openID. Tu dis qu’avec openID c’est beaucoup plus compliqué pour poster sur un blog, alors que c’est le contraire. Il y’a beaucoup de blogs où l’on doit s’inscrire, donc sans openID les étapes sont :
- Remplir un formulaire qui demande l’email, l’identifiant et un mot passe
- Aller checker ses mails pour cliquer sur le lien de vérification de l’email
- Retourner sur le blog
- S’authentifier
- Et finalement écrire son message
Après pour ce blog ça sera beaucoup plus simple. Pour openID on s’authentifie une fois et ensuite pour tous les blogs qui supportent openid :
- Entrer son URL openID
- Dire j’accepte de donner les infos pour ce blog
- Et écrire son message
C’est en fait beaucoup plus simple, et la seule information qu’il faut écrire c’est son URL openid, pas besoin de taper n fois son email, son adresse jabber, son adresse web, …
En plus, comme vous allez utiliser OpenID pour vous connecter sur le plus de sites possible, le serveur pourra dresser un profil sympathique
Rien ne t’empèche d’utiliser une adresse OpenID du genre http://example.org/openid/domaine_du_site en remplaçant domaine_du_site par le nom de domaine du site sur lequel tu te connectes, ainsi pas de risque d’être tracé. Et puis bon actuellement on peut tracer de la même manière avec les adresses mails.
Et si tu parles du provider openid qui peut avoir des informations sur toi, oui c’est vrai, mais rien ne t’empèche soit de te créer ton propore fournisseur OpenID (c’est ça l’intérêt d’un truc décentralisé), soit utiliser un provider en qui tu peux avoir confiance, soit utiliser le provider de ton FAI si il existe, ton FAI dispose déjà de ces informations, donc ça ne va pas changer grand chose.
Et puis, qui est le couillon qui a eu l’idée d’utiliser une URL comme moyen d’identification ? C’est pas du tout fait pour ça. Comme le dit Wikipédia :
Les URL ont été inventées pour pouvoir indiquer avec une notation (d’où l’adjectif « uniforme ») aux navigateurs web comment accéder à toutes les ressources d’Internet.
Sur wikipedia anglais :
Uniform Resource Locator (URL) is a compact string of characters used to represent a resource available on the Internet.
Mon identité est une ressource disponible sur internet, donc je ne vois pas le problème. Et je ne vois pas du tout en quoi c’est couillon d’utiliser une URL pour openID, au contraire dès qu’on veut un truc décentralisé c’est ce qu’il y’a de plus logique à utiliser.
Certains disent qu’il en est de même pour l’identification sur certains sites via un identifiant Jabber et la XEP 70. Mais non. Avec cette méthode, je ne risque pas de phishing, il me suffit d’inscrire mon identifiant Jabber et quelques bêtises dans un autre champ pour vérifier que c’est bien moi, et mon client Jabber me demande si j’accepte.
Cool, tu viens de démontrer que OpenID n’est pas sensible au phishing, vu que de la même manière tu peux t’authentifier par OpenID en passant pas le XEP 70.
Certes, Jabber n’est pas fait pour à la base, mais XMPP est extensible, prévu pour être amélioré et pour gagner en fonctionnalités. Pas les URLs.
Les URL, comme XMPP, ont été prévu pour pouvoir servir partout. Arrête de FUDer.
Puisque en intégrant OpenID, je donne les clefs d’accès aux zones « restrictives » de mon site à tous ces serveurs inconnus, sur lesquels je n’ai aucun contrôle, vulnérables au phishing/spamming, tenus par des organisations parfois peu recommandables.
Dommage, tu fais déjà confiance à des serveurs qui ne t’appartiennent pas. Comme j’ai dit plus haut, en envoyant les mots de passe par mail, tu donnes autant de pouvoir a des serveurs tiers qu’avec OpenID, ça ne change rien sur ce point.
En fait tous les arguments que tu opposes à OpenID tu peux les opposer aussi aux mails, et au fait d’envoyer par mails les mots de passes des utilisateurs pour tous les sites où l’on peut s’inscrire. En fait le mail c’est un peu l’ancètre d’OpenID, avec moins de choix …
Maintenant que nous avons vu pourquoi ne pas pas adopter OpenID, voyons réellement pourquoi adopter OpenID :
- Création de comptes beaucoup plus facile sur les sites supportant OpenID, il suffit de rentrer son URL OpenID et de valider les informations qu’on veut donner au site, et voila, le site va créer automatiquement un compte pour nous (et oui en général avec OpenID on a quand un compte sur le serveur et même la possibilité de se logguer avec login/mot de passe, on a la liberté de faire comme on veut).
- Pas besoin de faire confiance à tous les sites sur lesquels on va, juste besoin de faire confiance à un seul site. Et oui comme on met souvent le même mot de passe sur tous les sites, il suffit que un site dans lequel on a pas forcément confiance, ou où l’admin est pas très compétent pour que son mot de passe se fasse récupérer par des crackers.
- Pas besoin de se rappeler de tous ses mots de passe.
- On peut choisir la méthode d’authentification : par mot de passe, par Jabber, par certificat, … Bref on est plus flexible.
- etc.
Bien sur OpenID n’est pas parfait, bien sur y’a des risques de phishing, y’a des problèmes de confiance, etc. Mais on a pas mieux pour le moment, et même si toi xbright tu ne vois pas la nécessité de n’avoir qu’un seul mot de passe (parce qu’en fait le problème est là, tu n’en veux pas parce que tu ne vois pas l’intérêt), sache que certaines personnes voient cette nécessité, et donc même si toi tu ne l’utilises pas, le proposer sur tes sites serait une bonne chose.