Journal Tent tente le réseau social décentralisé

Posté par . Licence CC by-sa
8
24
sept.
2012

Tent est une nouvelle tentative à la création d'un réseau social décentralisé. Il s'agit plus précisément de définir un protocole de réseau social décentralisé s'appuyant sur HTTPS et JSON.

Voici ce que j'ai pu comprendre :

  • Chaque utilisateur possède son propre serveur (HTTP) et est identifié à l'aide d'une URI : https://moi.com/ par example. Lorsque l'on ajoute un nouvel ami, notre serveur ira chercher le profil de celui-ci sur son serveur. Le profil peut être trouvé dans l'en-tête HTTP caché dans le champs Link, ou dans un document HTML à l'aide du tag link.

  • L'utilisateur communique avec son serveur par l'intermédiaire d'une application. Lorsqu'il crée un événement, l'application le communique au serveur qui à son tour va envoyer des notifications aux serveurs des amis. Chaque serveur se chargeant ensuite de transmettre la nouvelle aux applications respectives.

Une implémentation officielle du serveur nommée tentd existe et peut se manger à la fourchette sur GitHub.

Je dois avouer qu'après lecture de la documentation, le concept reste encore un peu flou surtout à cause de certain point concernant la réalisation technique :

  • Que se passe-t-il si j'ai des millions d'amis ? Comment fera mon serveur pour notifier tout le monde ?
  • Du HTTP pour des notifications ? Bien sûr, c'est possible, mais bon…
  • Décentralisé OK, mais pour qui ? Même ici, avoir un serveur c'est casse-tête.

Le projet n'en est qu'à ses débuts donc à suivre (… ou pas).

  • # Et en utilisant un hebergement gratos ?

    Posté par (page perso) . Évalué à 2.

    Y a pas mal d'hebergeur qui propose un peu d'espace gratos pour du ruby, comme par exemple heroku ( http://www.heroku.com/ ), engine yard, ou si tu préfères les logiciels libres, openshift ( http://openshift.redhat.com )

    Peut être que ça peut être une solution en attendant d'avoir ton serveur ?

    • [^] # Re: Et en utilisant un hebergement gratos ?

      Posté par . Évalué à 2.

      Ce que je veux dire c'est que si monter mon serveur n'est pas un problème pour moi, ce n'est pas le cas de tout le monde même parmi la communauté LinuxFr.org (où cela devrait encore moins être un problème).

      Un des succès de ces services Web c'est que l'utilisateur n'a pas grand chose à faire : une adresse e-mail, un mot de passe et c'est parti. Je vois mal Mr. Toutlemonde monter son serveur pour participer à cette grande expérience.

      Et si quelqu'un propose un service Web pour leur faciliter la tâche, le décentralisé se recentre et on revient au même point.

      • [^] # Re: Et en utilisant un hebergement gratos ?

        Posté par . Évalué à 3.

        Et si quelqu'un propose un service Web pour leur faciliter la tâche, le décentralisé se recentre et on revient au même point.

        Pas forcément. Si le truc est suffisamment bien pensé techniquement, on peut faire cohabiter de petites instances auto-hébergées, des instances moyennes mutualisées (sur une famille, une asso ou un entreprise) et éventuellement de grosses instances ouvertes à tous (genre identi.ca pour StatusNet).

        Par contre, ça demande une solution qui passe très bien à l'échelle.

      • [^] # Re: Et en utilisant un hebergement gratos ?

        Posté par . Évalué à 1.

        D'après ce que j'ai compris, c'est comme le mail, on peut s'installer son propre serveur mail si on en a envie, mais ca n'est pas obligatoire, on peut très bien se contenter d'utiliser le serveur mail d'un prestataire. En utilisant son propre nom de domaine ou pas.

  • # Pourquoi ?

    Posté par . Évalué à 6.

    Du HTTP pour des notifications ? Bien sûr, c'est possible, mais bon…

    Ben pourquoi du HTTP ? Y'a pas des protocoles mieux foutus pour ça ? XMPP me semble tout désigné.

    THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

    • [^] # Re: Pourquoi ?

      Posté par . Évalué à 1. Dernière modification le 24/09/12 à 10:28.

      Peut-être pour pouvoir passer à travers les proxies en entreprise, à la Skype.

      Sinon je suis d'accord, XMPP saymieu.

      • [^] # Re: Pourquoi ?

        Posté par (page perso) . Évalué à 6.

        XMPP saymieu

        Pourquoi?

        Je pose sérieusement la question, vu que http est partout, qu'il y a plein d'outils pour travailler avec et qu'on a eu des évolutions comme les websockets récemment, est-ce que XMPP est encore compétitif?

        http://devnewton.bci.im

      • [^] # Re: Pourquoi ?

        Posté par (page perso) . Évalué à 8.

        XMPP c'est mieux, mais c'est pas ce qu'il y a de meilleur d’après les types de psyc:

        • il est très verbeux (beaucoup de "presence stanzas" en double, du XML…)
        • il ne sait pas faire de smart unicast (même SMTP sait le faire…) même si dans le monde parfait ou chacun possède son serveur, ça ne changera rien
        • globalement, il ne fait pas de multicast, ce qui est un énorme problème lorsqu'on a des millions d'amis et qu'on héberge son serveur chez soi.

        Bref, PSYC est sympathique, mais XMPP possède l'avantage d’être déjà implémenté et connu par pas mal de monde.

      • [^] # Re: Pourquoi ?

        Posté par (page perso) . Évalué à 2.

        Peut-être pour pouvoir passer à travers les proxies en entreprise, à la Skype.

        Pourquoi xmpp ne les passeraient pas ?

        • [^] # Re: Pourquoi ?

          Posté par . Évalué à 2.

          S'il n'y a qu'un proxy HTTP ? À la lecture de ta question j'ai visiblement rien compris à XMPP et aux serveurs mandataires. Tu m'expliques ?

          • [^] # Re: Pourquoi ?

            Posté par (page perso) . Évalué à 2.

            S'il n'y a qu'un proxy HTTP ?

            Ce genre de boîte existent encore ? Mettent-ils aussi des brouilleurs pour vous empecher d'utiliser vos GSM ?

            Tu m'expliques ?

            Je me demandais pourquoi tu disais que HTTP passait mieux sur le reseau que XMPP mais en fait ça n'a rien à voir avec le protocole mais avec l'offre logicielle.

            • [^] # Re: Pourquoi ?

              Posté par . Évalué à 1.

              OK c'est bien ce que je pensais. Dans ma boîte le proxy c'est HTTP, HTTPS et FTP. Pas de proxy SOCKS ni proxy XMPP. Donc si on veut faire passer du XMPP c'est dans un tunnel HTTP(S). Pas fun. Comme l'a fait remarqué Zenitram< c'est pas forcément transparent pour les « clients » XMPP.

              • [^] # Re: Pourquoi ?

                Posté par (page perso) . Évalué à 3.

                Le https est proxifié ?!

                • [^] # Re: Pourquoi ?

                  Posté par . Évalué à 4.

                  Le https est proxifié ?!

                  Et dans certains environnements sympathiques on a même une rupture de flux SSL ;)

                  Toujours fun de voir le certificat HTTPS de votre banque délivré par votre boite …

                • [^] # Re: Pourquoi ?

                  Posté par . Évalué à 2.

                  Oui. D'ailleurs j'aimerais bien connaître une technique pour savoir si le HTTPS est proxifié de manière transparente (sans être déchiffré, analysé puis rechiffré) ou pas.

                  Si je compare le certificat, disons de google.fr, entre celui que j'ai sur ma connexion perso, à priori pas proxifié, et le certificat qui se présente à mon navigateur au boulot je peux le savoir ?

                  • [^] # Re: Pourquoi ?

                    Posté par (page perso) . Évalué à 4.

                    Deux cas de figure : soit ta boîte est honnête et dans ce cas, tous les sites SSL apparaissent avec un certificat invalide invalide. Soit ta boîte le cache et resigne tous les sites avec son certificat installé sur tous les postes, dans ce cas, tu dois voir que le certificat ne vient pas de Verisign ou autre, mais de ta boîte (sauf s'ils se sont amusés à régénérer des certificats pour toutes les autorités, mais j'ai quand même un gros doute qu'ils s'amusent à ça). Tu peux toujours vérifier l'empreinte du certificat entre chez toi et au bureau (sauf s'ils se sont amusé à patché Firefox pour afficher la bonne empreinte tout en l'ayant modifié, mais cf. point précédent).

                    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

                    • [^] # Re: Pourquoi ?

                      Posté par . Évalué à 3. Dernière modification le 24/09/12 à 17:41.

                      OK, donc sur un système de confiance (un système live) je peux comparer l'empreinte des certificats entre chez moi et le taf, en en comparant plusieurs, utilisant des autorités différentes pour être plus sûr. Je vais essayer ça. Avec le certificat linuxfr.org tiens.

                      De toute manière je pense pas qu'ils aient patché Firefox car je le mets à jour moi même depuis mozilla.org :)

                      • [^] # Re: Pourquoi ?

                        Posté par (page perso) . Évalué à 4.

                        Si tu teste avec un système live, tu vas tout de suite avoir un gros warning s'ils rechiffrent eux-même (sauf si tu bosse chez Verisign ou autre).

                        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

                        • [^] # Re: Pourquoi ?

                          Posté par . Évalué à 2. Dernière modification le 24/09/12 à 18:31.

                          Bon bah ça va alors :) Parce que j'ai pas de problème a ce niveau là. Ça m'aurait étonné qu'ils aient mis en place un tel système. Par contre il y a des sites bloqués, parfois c'est assez incompréhensible. Par exemple nerim.net (mon fournisseur perso, donc avec le webmail de ma BàL perso) bloqué pour raison « Buisness ». Du coup je me sers de Gmail. J'ai aussi parfois des blocages pour « Adulte/Mature content » sur certains liens postés sur ce site, alors qu'à priori ce n'est pas un lien vers ce genre de contenu ! Alors qu'imgur.com n'est pas bloqué, bien qu'étant un must de tous (tout ?) procastinateurs qui se respecte :) J'ai parfois l'impression qu'ils utilisent la blacklist fournit par l'éditeur sans chercher plus loin. Il faut que je me renseigne pour savoir quel logiciel de proxy ils utilisent…

                          • [^] # Re: Pourquoi ?

                            Posté par (page perso) . Évalué à 0.

                            Pour revenir sur l'histoire du certificat je connais certain pare-feu qui font du déchiffrement SSL de cette façon (exemple pare-feu PaloAlto).

                            Quand tu consultes un site en HTTPS le certificat retourné est un mélange entre le certificat de la boite et celui du site (par exemple le Common Name et la date proviennent du site mais pas l'autorité de certification).

                            Ainsi le pare-feu peut lire les paquets HTTPS chiffrés, toutefois il est normalement indiqué de supprimer ce comportement pour les sites dans la catégorie "Banque" (provenant d'une liste dynamique régulièrement mise à jour).

                            Ce genre de fonctionnalité se retrouve aussi sur certain proxy et c'est relativement simple à mettre en place.

                  • [^] # Re: Pourquoi ?

                    Posté par (page perso) . Évalué à 3.

                    Ne peux tu pas virer leur certificat perso ? apres des trucs du genre certificat patrol devraient pouvoir t'aider.

                    Mais vous acceptez qu'ils espionnent vos correspondances ?

                    • [^] # Re: Pourquoi ?

                      Posté par . Évalué à 2.

                      Ne peux tu pas virer leur certificat perso ?

                      Je peux installer moi-même un navigateur sur mon poste, j'ai les droits d'admin. Donc oui je suppose. Je peux aussi utiliser un système live ou une VM donc ça va.

                      Mais vous acceptez qu'ils espionnent vos correspondances ?

                      Si c'était le cas je serais bien obligé d'accepter non ? Après tout c'est pas ma connexion, c'est celle de la boîte. Le règlement intérieur stipule que je peux éventuellement, occasionnellement, utiliser ma boîte mail professionnelle pour de la correspondance privée, mais qu'il est interdit d'utiliser des webmails personnels.

                      Après, j'ai encore vu un de mes collègue accéder à son laposte.net en HTTP, pour dire que ces problématiques de vie privée ne sont encore pas trop présentes dans les consciences…

                      • [^] # Re: Pourquoi ?

                        Posté par (page perso) . Évalué à 5.

                        Si c'était le cas je serais bien obligé d'accepter non ?

                        Je trouve qu'il y a une grande difference entre la boite qui bloque le traffic et interdit le traffic hors whitelist et celle qui installe un certif et qui re-signe à la volée.

                • [^] # Re: Pourquoi ?

                  Posté par . Évalué à 2.

                  Il y a aussi des cas où il n'est pas intercepté, mais où des équipements analysent le trafic et voient la différence entre SSH, HTTPS et compagnie, en se basant sur les volumes de données échangés, leur rythme.. de base, HTTP c'est un petit upload et une réponse immédiate avec un gros download, ce qui n'est pas le cas des divers tunnels.

                  THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

                  • [^] # Re: Pourquoi ?

                    Posté par (page perso) . Évalué à 2.

                    Oui et ça permet de detecter que c'est du ssh, du https ou autre, mais si je fais tout passer par un tunnel chez moi, le contenu des echanges est il dechiffrable non ?

                    • [^] # Re: Pourquoi ?

                      Posté par . Évalué à 2.

                      Si le certificat est le même que vu de chez toi, oui.

                      THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

                  • [^] # Re: Pourquoi ?

                    Posté par . Évalué à 3.

                    Pour détecter du SSH au lieu du HTTPS c'est encore plus simple, il suffit de regarder qui parle en premier:
                    - le serveur ? => SSH (le serveur commence par envoyer sa bannière)
                    - le client ? => HTTPS (le client commence par envoyer sa requête)

        • [^] # Re: Pourquoi ?

          Posté par (page perso) . Évalué à 2. Dernière modification le 24/09/12 à 14:23.

          Pourquoi xmpp ne les passeraient pas ?

          J'ai besoin de liens expliquant comment les lib XMPP doivent être configurées pour passer dans un tunnel Socks HTTP (le classique en entreprise, et Skype l'accepte très bien) et j'ai aussi besoin d'un lien pour me confirmer que la majorité des libs XMPP en face sont capables de recevoir ce genre de données.

          En tous cas, mon Jabber sous Pidgin ne passait pas la dernière fois que j'ai essayé (il y a longtemps, certes)

          Edit : je constate que Pidgin me permet de configurer XMPP avec SOCK ou HTTP, donc c'est effectivement possible mais je n'ai pas d'environnement adéquat pour tester la maintenant. Je testerai un jour par curiosité.

          • [^] # Re: Pourquoi ?

            Posté par (page perso) . Évalué à 2.

            Tu peux passer n'importe quoi à travers socks via tsocks, même si ce n'est pas prévu pour à la base.

  • # Et la sécurité

    Posté par (page perso) . Évalué à 3.

    Si jamais un serveur DNS se fait rOOter/hijacker, le pirate peut se faire passer pour tous mes amis ?

    • [^] # Re: Et la sécurité

      Posté par . Évalué à 3. Dernière modification le 24/09/12 à 05:22.

      Il y a DNSSEC qui ne t’oblige pas à faire confiance à n’importe quel serveur DNS. La première ligne du journal indique aussi que le protocole se base sur HTTPS, ce qui rend moins trivial ce genre d’attaque.

    • [^] # Re: Et la sécurité

      Posté par . Évalué à 2.

      Ben, il est dit que chaque message est signé donc je suppose qu'il y a génération d'une pair de clés à un certain point mais aucune mention n'est faite sur la transmission de la clé publique. Car si elle est simplement annoncée dans le profile, l'authentification ne sert pas à grand chose.

      De même, il est dit que le serveur est authentifié à l'aide d'un chalenge lors de l'ajout d'un ami. Mais de même, pas trop de détails.

      En gros, les bonnes idées sont là il ne manque plus qu'à savoir comment les implémenter.

    • [^] # Re: Et la sécurité

      Posté par . Évalué à 4.

      Tout comme si jamais un serveur DNS se fait rOOter/hijacker, le pirate peut recevoir les mails envoyés par tous tes amis.

  • # Multiplication des solutions...

    Posté par . Évalué à 10.

    Alors oui, certes, le Libre, c'est le choix, y compris le choix de réinventer la roue si on aime et on pense pouvoir faire mieux que l'existant.

    Mais là j'avoue que je ne vois pas ce qu'il y a de nouveau ou plus pertinent que les solutions libres déjà à l'étude.

    J'allais dire, dans toute les solutions libres que je vois, n'importe qui peut écrire un client ou un bidule "app" avec plus ou moins de facilité. Pour XMPP, c'est même un argument de vente depuis belle lurette, et pour Friendica, le protocole est largement documenté.

    La comparaison avec les "autres réseaux sociaux" n'a pas l'air d'aller beaucoup au fond des choses, avec un laconique "il leur manque à tous des éléments critiques".

    Pourquoi ai-je tellement l'impression qu'un certain nombre de réseaux sociaux libres sont développés par des autistes incapables de voir ce qui se fait autour d'eux?

    • [^] # Re: Multiplication des solutions...

      Posté par . Évalué à 7.

      Pourquoi ai-je tellement l'impression qu'un certain nombre de réseaux sociaux libres sont développés par des autistes incapables de voir ce qui se fait autour d'eux?

      Parce que les réseaux sociaux (informatisés) sont un truc d'autiste, à la base?

    • [^] # Re: Multiplication des solutions...

      Posté par (page perso) . Évalué à 1. Dernière modification le 04/10/12 à 14:48.

      La différence se ferait du point de vue "federation vs decentralisation" (cf section "What about the federated social web?" sur https://tent.io/) mais je suis d'accord avec toi, pas de détail, je vois pas vraiment ce qui change.

  • # Newebe

    Posté par (page perso) . Évalué à 2.

    Ça m'a l'air de ressembler pas mal à Newebe, ça apporte quoi de plus (si ce n'est du darwinisme Libre) ?

    • [^] # Re: Newebe

      Posté par (page perso) . Évalué à 2.

      De la diversité. Et vu la vitesse à laquelle ce genre de projet a tendance à avorter, c'est vraiment pas un mal.

      De toute manière il est quasi impossible de trouver un terrain d'entente entre plus de deux développeurs amateurs pour débuter ce genre de projet, le mieux reste encore que les bases de plusieurs manières différentes de faire soient posées, la sélection de la communauté soutiendra ou pas le projet.

      Diaspora vient de faire le grand saut depuis l'estrade, moi j'ai surtout l'impression que les gens vont s'écarter, parce que bon, Diaspora c'est une super Rock Star capable de faire un show avec trois chansons pendant deux ans, mais est-ce que le public est prêt à continuer le projet de but en blanc ?

      Friendica a une communauté assez grande, c'est l'effet inverse : les gens s'engouffrent dans le projet, et comme la techno choisie est très accessible, même un ado de 12 ans peut se mettre à écrire des petits modules, à tester une instance ou à faire des bricoles.

      Je m'arrêterai là pour les réseau sociaux qui ont abouti. Ca fait pas tant que ca au bout du compte. Deux. Trois si on compte le microblog StatusNet.

      • [^] # Re: Newebe

        Posté par (page perso) . Évalué à 4.

        Friendica a une communauté assez grande, c'est l'effet inverse : les gens s'engouffrent dans le projet

        heu, s'engouffrer et peut-être un peu fort non ?
        pour ma part, à part sur linuxfr j'entend simplement jamais parler de friendica…

        comme la techno choisie est très accessible, même un ado de 12 ans peut se mettre à écrire des petits modules

        est-ce un réel avantage à moyen terme (ou plus) ?

        Je m'arrêterai là pour les réseau sociaux qui ont abouti.

        hum, on doit pas avoir la même définition d'abouti. De ce que je vois ni diaspora ni friendica n'ont réellement abouti.
        StatusNet est peut-être le plus abouti (si on prend par exemple en compte le fait qu'il est utilisé) mais ça reste quand même limité.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.