Je vais déjà commencer par expliquer le nom, il s'agit tout simplement de la compression de l'expression « Hello fellow » que l'on pourrait traduire par « Salut copain ». Voilà pour les explications du nom, maintenant expliquons comment ça fonctionne.
Une identité décentralisée
Notre premier besoin était de décentraliser l'identité. Nous ne somme pas satisfait des systèmes nécessitant un serveur central stockant notre identité et bien évidemment nos mots de passe (cryptés ou pas).
Nous souhaitions donc que chacun puisse mettre en place son serveur afin d'héberger son identité.
Basé sur le principe du blog, un gage de qualité
Beaucoup de personnes ont des blogs, beaucoup ont des Skyblogs ou autres blogs gratuits disponibles facilement sur Internet. Mais certains prennent aussi la peine de louer les services d'un hébergeur et y installent un vrai logiciel de blog (Dotclear bien souvent).
Nous avons remarqué avec Hadrien que cette démarche de la part des blogueurs avait une relation directe avec la qualité du blog, et logiquement avec la qualité du blogueur. Nous souhaitions donc renforcer le premier point : chacun doit avoir un serveur sur lequel héberger son identité.
Une identification sans mot de passe
Enfin le dernier point sur lequel nous étions ennuyé était le fait d'ajouter une authentification sur le site demandant une identité. Il est en effet impossible pour l'utilisateur de savoir si le login et mot de passe fournis ne vont pas être enregistrés par le site pour une réutilisation ultérieure.
L'idée a donc été de créer temporairement une identité pour la donner au site. Une fois l'identité récupérée par le site en question, l'URL devient alors inutilisable.
LoFeLo
Tous ces besoins ont engendré le système LoFeLo qui est maintenant installé sur ce blog. Le principe est que le blogueur souhaitant être identifié se rend sur la page LoFeLo de son site et entre son mot de passe.
Le système LoFeLo lui donne alors une URL permettant de récupérer son identité. Il lui suffit alors de passer cette URL au site auquel il souhaite donner son identité (pour poster son commentaire par exemple).
Cette URL ne sera utilisable qu'une seule fois pour récupérer l'identité. Le site récupère l'identité et rend ainsi cette URL invalide. Pour s'identifier de nouveau, l'utilisateur devra générer une nouvelle URL dans son système LoFeLo
Si vous souhaitez tester LoFeLo, il suffit de télécharger votre version personnalisée. Il s'agit d'un script PHP à mettre sur votre serveur.
Vous pourrez ensuite allez tester l'identification sur le système de test qu'à mis en place Hadrien.
N'hésitez pas à me soumettre vos remarques ou suggestions pour faire évoluer LoFeLo :-)
ÉDITION
Apparement, certains trouvent que le billet n'est pas assez claire sur la manière de tester LoFeLo, alors je mets une aide par étape.
- Installer le script LoFeLo sur votre site
- Rendez-vous sur la page de téléchargement
- Remplissez vos informations et le mot de passe avec lequel vous souhaitez protéger votre identité
- Cliquez sur Télécharger pour télécharger votre script LoFeLo personnalisé
- Uploadez votre script LoFeLo sur votre serveur
- Poster un commentaire
- Avec votre navigateur web, allez à l'adresse de votre script LoFeLo
- Entrez votre mot de passe et cliquez sur Générer
- Copiez l'URL de validation dans votre presse-papier
- Allez la page de test à commenter
- Collez votre URL de validation depuis votre presse-papier
- Entrez votre message et cliquez sur Poster
- Votre message est bien affiché accompagné de vos informations
1 De Bobe -
Comme ça, sans regarder en détail, ça me semble un peu tordu comme fonctionnement.
Sinon, vous n’avez pas songé à FOAF ? http://www.foaf-project.org/
2 De Vincent -
Avec FOAF, rien n'empêche à ma connaissance une usurpation d'identité.
Maintenant, il pourrait être intéressant que LoFeLo envoie l'identité au format FOAF.
3 De S.F. -
Ça m'a l'air aussi horriblement compliqué. Je ne prétendrai pas avoir compris.
Y'a moyen de faire bien plus simple : un fichier contenant un hash sur le serveur du visiteur, un champ mot de passe dans le formulaire. Lorsque tu fais le commentaire, tu crées un hash à partir du mot de passe, et tu vérifies qu'il correspond à celui présent sur le site. Ça a le mérite d'être simple, décentralisé, mais peut-être pas super-sécurisé. Ceci dit, un simple sha-1 modifié de temps en temps (une fois par mois, par semaine ?) peut déjà fournir une sécurité plus que satisfaisante à ce niveau.
4 De Vincent -
Le problème de ce que tu présentes est qu'il faut fournir ton mot de passe au site nécessitant l'authentification. Et si ce site stockait ton mot de passe ?
5 De Batmat -
> Bobe, je t'avoue qu'à moi aussi qui ait eu l'occasion d'en discuter en avant première :p avec Vincent, j'ai trouvé ça tordu au début.
Après réflexion, ça me paraît intéressant et pas si difficile que ça à utiliser si on développe les bonnes interfaces d'admin par dessus.
À quand un plugin dotclear, Vincent et Hadrien ? :-)
PS : Vincent, un petit accesskey p sur le prévisualiser serait du plus bel effet pour tes commentaires je trouve. Pis sur le e de envoyer aussi tiens :)
6 De S.F. -
Le problème est qu'il faut faire plusieurs actions pour commenter, à ce moment : - créer une "identité" sur le site, ou une URL unique et à usage unique si j'ai bien compris - copier-coller cette url dans le champs ad-hoc
À ce moment-là, avoir une identité par site, ou un mot de passe par site, c'est suffisant. L'avantage est que l'on peut se reposer sur son navigateur pour le mémoriser (ce qui fournit une sécurité acceptable). D'autre part, on peut récupérer ce mot de passe/cette identité sur son site si on n'est pas chez soi, par exemple avec un mot de passe maître.
Ce à quoi il faut surtout penser à mon avis, c'est d'éviter la répétition d'un acte, même simple, quand ce n'est pas nécessaire. Sinon, beaucoup préféreront ne pas s'authentifier, tout simplement par paresse.
7 De Bobe -
« Avec FOAF, rien n'empêche à ma connaissance une usurpation d'identité. »
Oui, en fait, j’ai répondu à coté. Je voyais surtout l’aspect récupération de l’identité de la personne qui commente et non l’identification en tant que telle de cette personne.
« Maintenant, il pourrait être intéressant que LoFeLo envoie l'identité au format FOAF. »
Voilà, c’est à cet aspect de la chose que je pensais.
8 De Hadrien -
Yep, un plugin DotClear serait excellent :)
Bon sinon il faut voir que ce système est adapté aux personnes qui ont les mêmes besoins que ceux que nous avons définis Vincent et moi lors de la conception de LoFeLo.
Il y a un besoin qu'a plus ou moins décrit Vincent, je vais donner davantage de précision et ça répondra à S.F.
On voulait quelque chose de décentralisé, donc pas de serveur qui stocke toute les infos, mais aussi, on voulait éviter de devoir gérer une base d'utilisateurs sur son propre site :
- tous ces sites qui demande de s'enregistrer ça devient pénible, ça fait un n-ième mot de passe et un n-ième login ; donc on n'en voulait pas ;
- côté site, c'est saoulant aussi de devoir gérer une base d'utilisateurs uniquement pour gérer les commentaires, avec les problèmes liés avec, notamment les sollicitudes des utilisateurs (genre les mots de passe perdus).
9 De S.F. -
Bah tu ne fais que déplacer le problème...
De saoûlant pour le blogueur, ça va devenir saoûlant pour le visiteur. Une nouvelle URL par commentaire me paraît définitivement une mauvaise solution, même avec un bookmarklet. En tant que visiteur, je préfère un mot de passe par site, car mon navigateur le mémorise pour moi et je n'ai plus besoin de m'en tracasser par la suite.
10 De Hadrien -
Zut, je me suis mal fait comprendre. Le premier point c'était pour dire que c'était saoulant pour le visiteur aussi.
Perso ça me gonfle de devoir m'enregistrer sur un site, j'ai une ribambelle de login/mots de passe. Avec ça on l'évite. Tu trouves le mécanisme d'inscription moins contraignant, c'est ton choix ; nous c'est le contraire, on n'aime vraiment pas ça :)
Mais on avait un deuxième besoin qui appuyait encore davantage notre choix, on souhaitait éviter que n'importe qui puisse s'inscrire. On souhaitait un commentaire de quelqu'un qui possède un nom de domaine ; cela permet d'éviter que n'importe qui puisse s'incrire et venir spammer/troller trop facilement. Là encore c'est un choix qu'on a fait en connaissance de cause, mais qui ne conviendra peut-être pas à tous le monde et à tous les cas de figure.
11 De S.F. -
Relis mes messages, tu peux faire le même avec des mots de passes plutôt que des urls à usage unique :-)
12 De Vincent -
S.F. > Non tu ne peux pas...
Avec un système de mot de passe, l'utilisateur doit générer un nouveau mot de passe pour chaque site, puis utiliser un mot de passe maître dans son navigateur pour ne pas avoir à se rappeler de ces mots de passe.
Si il change de navigateur en passant par exemple sur un ordinateur public ou celui d'un ami, il perd tous ses mots de passe.
Avec LoFeLo, il lui suffit simplement de mettre en place le générateur LoFeLo sur son site et d'en retenir le mot de passe pour pouvoir s'authentifier où il le souhaite.
Ensuite, tu parles de complexité mais à l'utilisation, ce n'est pas si long. Et je pense qu'il y aurait encore moyen d'accélérer le processus en développant une extension pour Firefox.
13 De Hadrien -
@ S.F.
Mmh, je ne comprends pas :/
Pourrais-tu décrire en détail ton idée et la procédure à suivre s'il te plait ? :)
14 De teddyber -
le problème c'est que pour générer le script, il faut entrer son mot de passe sur ton site. Qui me dit que tu ne vas pas stocker mon mot de passe ? :o)
15 De Hadrien -
@teddyber
Héhé :)
On a fait ça pour éviter de mettre un unique mot de passe en dur dans le fichier PHP pour des raisons évidentes de sécurité. Mais toute grande personne qui n'a pas confiance en Vincent saura changer la ligne qui va bien dans le fichier PHP afin d'avoir un autre mot de passe ;)
16 De S.F. -
Avant de me fendre d'une explication de mon idée, une petite question : comment vous comptez faire pour éviter une usurpation de serveur, si toutes les infos sont fournies par l'url à usage unique ? Autrement dit, comment allez-vous authentifier le serveur d'authentification décentralisé ? Si je mets le script lié ci-dessus sur mon serveur, et qu'il m'identifie comme Vincent, genezys.net, comment allez-vous faire le tri ?
17 De Vincent -
Comme tu as dû le voir lors de ton test, nous enregistrons aussi le domaine LoFeLo depuis lequel l'utilisateur s'authentifie.
Le domaine et l'identité que tu as prise sont donc contradictoire et montrent que ce n'est pas moi.
18 De S.F. -
La colle alors : si je suis hébergé chez, disons, multimania ?
19 De loufoque -
Il existe déjà un mécanisme semblable ouvert et standardisé (et mieux, si je peux me permettre), mais malheureusement je ne me rappelle pas son nom.
20 De loufoque -
Oups c'est tout simplement OpenID : http://openid.net/
21 De Hadrien -
Yep, au début on souhaitait utiliser OpenID :) Il y a aussi TypeKey qui propose des idées intéressantes. Malheureusement aucun de ces deux systèmes répondent à tous nos besoins. OpenID nous a quand même servi de base de réflexion et on s'en est beaucoup inspiré dans les concepts.
On souhaitait éviter au maximum l'usurpation d'identité et OpenID n'allait pas assez loin à notre avis. Il permet de savoir qu'un site a confiance en un autre site. Mais il n'empêche pas Pierre de dire qu'il est Paul en réutilisant l'URL d'identité de Paul. Avec une URL à usage unique, on règle ce problème.
22 De Scooter System -
Mouais je préfère ne pas trop m'en occuper perso... Trop compliqué!
23 De ed2k -
Salut ! oulala méthode de fou ! Honettement je doute que ca soit possible en pratique ! Et puis ca va etre un peu lourd q meme :/ Enfin bon, j'ai hate d'avoir des nouvelles du système, ca m'intéresse ! @++