-->[]

Aller au contenu | Aller au menu | Aller à la recherche

samedi 17 février 2007

L'ID du jour

Je réfléchis depuis quelques mois sur un projet nommé DIAS, dont l'objectif est de fournir un mécanisme d'authentification sur internet un tant soit peu global, tout en restant complètement décentralisé et indépendant.

La constatation initiale est que, sur internet, la gestion des comptes utilisateurs est gérée de façon assez "préhistorique". Le meilleur exemple, ce sont les sites web, et plus particulièrement les forums: la plupart du temps, lorsque l'on veut poster un message sur un forum, il faut se créer un compte utilisateur en remplissant un formulaire à rallonge avec toujours les mêmes infos: nom, prénom, adresse mail, blablabla, et surtout à la fin, pouf, création d'un nouveau compte utilisateur, et hop un mot de passe associé. Bien sûr, on choisit généralement toujours le même nom d'utilisateur (et très souvent le même mot de passe), mais c'est pas grave, il faut recommencer à chaque fois. Je parle des forums parce que c'est le plus fréquent, mais c'est valable pour d'autres formes de sites web, et même pour d'autres formes de communication par internet (IMAP, news, ssh, etc.).

Au final :

  • C'est chiant pour l'utilisateurice, qui doit s'inscrire ou se faire inscrire partout, se souvenir de là où ille est inscrit·e, là où ille ne l'est pas, mémoriser l'identifiant, le mot de passe, etc.. D'accord, dans le cas des sites web, les navigateurs modernes offrent une manière de mémoriser ces informations, mais ce n'est qu'une manière de contourner le problème initial.
  • C'est chiant pour les "serveurs" (site web, etc.), qui doivent à chaque fois réinventer un moyen de stocker les comptes utilisateurs, offrir un mécanisme de création de compte, confirmation, procédure en cas d'oubli du mot de passe, sans parler de la gestion des comptes abandonnés...
  • À l'échelle d'internet, c'est complètement crétin. On a beau avoir beaucoup avancé sur des tas de choses, personne ne semble se soucier de ce point, bien qu'il concerne directement la "vie quotidienne" des gens. Ça en est devenu ridicule.

Il y a déjà eu des initiatives pour prendre en main ce problème, l'une des plus connues étant "Microsoft Passport". Je ne connais pas les détails, mais pour ce que j'en ai compris, les gens ont un identifiant "passport" unique qu'ils peuvent donner sur les sites qui participent à l'initiative. Cet identifiant et le mot de passe associé sont stockés de manière centrale chez Microsoft, à qui les sites utilisant se système vont donc déléguer l'authentification. Ce système, bien que semblant résoudre le problème, pose bien sûr un gros problème d'indépendance, de sécurité, et de pérennité: qu'est-ce qui se passe si du jour au lendemain Microsoft rend ce service indisponible, payant, si la base de données est piratée ? Je passe sur la possibilité de faire par exemple des statistiques de qui va sur tel site, combien de fois par semaine, et les possibilités d'abus que ça ouvre (revente de l'information à des tiers par exemple). Je parle ici de Microsoft Passport à titre d'exemple, mais bien sûr le problème est le même pour tout système similaire présupposant un "fournisseur d'identité" central. À ma connaissance, aucun de ces systèmes n'a vraiment accroché, et on comprend pourquoi.

Bon, donc OK, on tient le problème, mais cette approche-là est mauvaise. Du coup, j'ai essayé de réfléchir à un système qui offrirait le même type d'avantage, c'est-à-dire la possibilité in fine d'apparaître sous un identifiant unique, mais qui ne poserait pas le problème de la centralisation en termes de qui maîtrise cette information. Et bien sûr, ça fait penser à quoi, forcément ? Ben oui, les adresses Jabber (JID): tout comme les adresses mail, un JID est formé d'un identifiant et d'un nom de serveur, séparés par un "@". Ce schéma permet d'avoir des adresses globalement uniques, tout en permettant que le stockage des adresses soit complètement décentralisé: chaque serveur Jabber est responsable de son ensemble d'adresses.

Reste le problème crucial: au moment de s'authentifier sur un site web (je dis site web tout le temps, mais c'est pas forcément que ça, hein), il faut donc prouver que l'on possède le JID truc@serveur.com. Facile, me direz-vous, suffit de donner le mot de passe. Ah ben oui mais non. Hors de question de filer son mot de passe Jabber à tout site qui le demande, bonjour la confidentialité. Paf, l'éternel problème: prouver que l'on possède une information, sans pour autant la donner explicitement.

Une solution, un peu chiante, mais qui marche, est de passer par un système intermédiaire de tickets: je fais une demande de ticket à un "fournisseur de tickets" (on n'aurait qu'à l'appeler "agent", c'est plus court), en lequel le site web a confiance, et ceci je le fais via Jabber, par mon adresse truc@serveur.com. En échange, l'agent me répond par un numéro de ticket unique, que je n'ai qu'à montrer fièrement au site web, comme une sorte de "certificat" qui prouve que truc@serveur.com c'est moi. Et pouf c'est tout.

En vrai c'est pas tout, mais c'est déjà un peu long, alors du coup tout est expliqué en détail sur le site de DIAS (c'est en anglais).

Après quelques mois où j'ai été assez "occupé" (haha), cette semaine j'ai eu un peu plus de temps, alors je me suis enfin décidé à parler de ce projet sur la mailing-list jdev. Le truc rigolo est que quelqu'un (Richard Dobson) a fait quelque chose de presque exactement équivalent. C'est moins détaillé, mais ça a le mérite d'être déjà écrit sous forme de XEP. Du coup, on va probablement bosser ensemble pour enrichir cette XEP avec certaines idées présentes dans DIAS.

Il existe aussi un autre système très intéressant, nommé OpenID, qui tente également de résoudre le même problème, et qui l'aborde sous un angle différent. Je n'ai toujours pas bien compris comment ça marche (mais je me soigne), ni tous les points forts/faibles, donc pas de comparatif ici.

Dans les idées que les autres gens ont eues, il y en a une qui s'appelle "Verifying HTTP requests via XMPP" (vérification de requêtes HTTP via XMPP), et son petit nom c'est XEP-0070. Contrairement à DIAS, qui fait une vérification a priori de l'identité, ce système fait une confirmation, c'est-à-dire une vérification a posteriori. Dans l'état actuel des choses il est fortement corrélé à HTTP, mais l'idée a été émise (et aimée) de changer ça.

Enfin voilà, à suivre donc. Je crois que j'ai bien envie de bosser avec Richard Robson sur l'amélioration de la XEP-0101 (Jabber tickets), et en parallèle de mieux comprendre OpenID.

vendredi 16 février 2007

Tu feras gaffe t'as les doigts dans l'engrenage

Voici une suite de messages que j'ai reçus par messagerie instantanée (je n'étais pas devant mon écran à ce moment-là) il y a quelques jours, d'une amie qui utilise Windows et Word. Je ne peux pas m'empêcher d'en coller une partie ici, car c'est le cas concret typique du problème posé par l'utilisation de formats de fichiers fermés, et de logiciels (et systèmes d'exploitation) propriétaires.

allo?
bon tu ne dis plus etre devant ton ordi..alors je t'explique rapidos le pb
j'ai un windows vista
et pas de pack office
dc impossible de lire mes aciens docs..;vois la galère
et j'aiperais éviter d'acheter un pack office a 160 euros
j'aimerais savoir quelles possibilités s'offrent a moi, a part le bracage de logiciel en magasin...je suis sure que je me ferais prendre!!
donc puis-je installer un pack office 200 piraté sans faire beugguer mon vista
ou encore dois-je télécharger a l'eesai (3 mois), les derniers pack office sortis...
enfin bref, HELP ME, je n'y comprends rien, et j'aimerais garder mon ordi en état de marche le plus longtemps possible, sans aire une mauvaise manip qui me le bousillerais au bout de 8 jours...

Dans la pratique... À court terme, je dirais... ne pas passer à Windows Vista, car effectivement de nombreux logiciels ne sont pas compatibles avec ceux de Windows XP. M'enfin ça, c'est à court terme... avec le temps ça ne sera pas très viable, hein.

On voit clairement un gros problème des logiciels propriétaires : tu veux passer à la version suivante du système d'exploitation (Windows Vista) ? Tu n'as pas le choix, tu dois aussi passer à la version suivante du logiciel XXX (par exemple, Word). En payant, éventuellement.

Si tu ne veux pas payer, la conséquence est, en cascade :

  1. Tu ne peux pas utiliser la nouvelle version de Word, et donc tu ne peux pas utiliser Word, tout court, car l'ancienne version n'est pas compatible avec ton nouveau Windows.
  2. DONC, tu ne peux pas lire tes anciens documents, car pas de chance, ils ont besoin de l'ancien Word pour être utilisables. Comme le format de document est gardé secret, tu te retrouves enfermé-e à l'extérieur de tes propres fichiers, sans rien pouvoir en faire. Un peu comme si la clé de tes albums photos était soudée au mur de ta maison, ou qu'il fallait la demander au magasin de photo en bas de la rue chaque fois que tu veux les regarder : impossible de déménager, fallait y penser avant ! Si tu veux vraiment déménager tout en ayant le droit de continuer à regarder tes photos, il faut transférer ton dossier au magasin de photos en bas de ta nouvelle maison. C'est cher, et surtout... ça te posera le même problème au coup d'après.

Du coup, sur le plus long terme, la bonne idée est :

  1. Tant que c'est encore possible, ouvrir TOUS (oui, hein, c'est chiant) ses fichiers avec un programme capable de lire les fichiers Word. Ça veut dire, donc, seulement Word (et seulement la bonne version !), ou encore OpenOffice (qui théoriquement ne devrait pas savoir comment ouvrir les fichiers Word (format fermé), mais avec beaucoup de travail les développeurs y sont à peu près arrivés).
  2. Les enregistrer, tous, dans un format de fichier PAS propriétaire. Avec Word, il y a seulement le format RTF, mais c'est un peu "spartiate", on perd pas mal de mise en forme, etc.. Sinon, il y a aussi le format Open Document, et c'est quand même le meilleur choix. Pour pouvoir enregistrer dans ce format, il faut soit le faire avec OpenOffice, soit installer le plugin OpenDocument pour Word.
  3. À l'avenir, arrêter d'utiliser Word (et surtout le format Word) si on veut pouvoir faire quelque chose de ses fichiers dans X jours, mois, années... À la place, le format Open Document est tout indiqué, car il est libre, et du coup ne peut pas être "pris en otage" par une boîte ou par quelqu'un. Sous Windows, le logiciel Open Office marche très bien. Quand on envoie un fichier à quelqu'un, il faut que cette personne ait OpenOffice d'installé (ou au pire, le plugin OpenDocument pour Word). De plus en plus de monde a OpenOffice installé sur son ordinateur ; si ce n'est pas le cas, un petit lien vers ce billet peut peut-être les aider à en comprendre l'intérêt... :)
  4. De manière plus générale, arrêter d'utiliser un système d'exploitation traître. Ubuntu Linux marche très bien, est très agréable à utiliser, et pas besoin d'être un expert en informatique pour s'en servir.

Ce billet n'est pas là pour faire de la publicité à OpenOffice, à Ubuntu, ou que sais-je, ni pour embêter Microsoft. Personnellement j'ai déjà fait mes choix, ça me suffit, et d'habitude je regarde le spectable de l'extérieur, avec éventuellement un sourire amusé. Mais là, ça me flingue de voir des ami-e-s se faire avoir dans une arnaque pareille.

mardi 6 février 2007

Dans un Nantes y est :)

Ouah... je suis fasciné par la liste Swadesh du créole martiniquais. Du coup, je suis comme un con devant mon écran à lire les mots en créole, c'est trop bien...

C'est très instructif d'ailleurs, je viens de capter que le nom du groupe de musique Malavoi a probablement un rapport avec "bay lavwa" qui signifie "chanter" (ça vient certainement de "baye la voix", avec le verbe bayer qui signifie "rester la bouche grande ouverte" (comme dans "bayer aux corneilles")). J'aime beaucoup, aussi, "piébwa" qui veut dire "bois" (probablement dérivé de "pied de bois"), et "lapo piébwa" pour l'écorce, et "tibren" ("un peu", dérivé de "petit brin" j'imagine)... Bon y'en a plein, ok :) Ah oui, j'ai aussi un faible pour "timanmay" pour désigner les enfants ; d'ailleurs quand j'étais petit on nous appelait "la marmaille", mais d'un coup je me demande si c'est à cause des influences créoles dans ma famille ou si c'est un mot commun en français...

Oh, c'est rigolo, il y a pratiquement un an, jour pour jour, j'ai déjà passé une nuit blanche sur le même canapé, devant le même écran d'ordinateur, mais lisant et écrivant dans un autre langage.


Parse error: syntax error, unexpected T_STRING, expecting ')' in /var/www/davux.weeno.net/public_html/blog/ecrire/tools/bbclone/var/access.php on line 2293