Charles-Édouard Coste is a user on occitanie.social. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

Le système #Gemini, revenir à du simple et sûr pour distribuer l'information en ligne ? (Le Web est trop complexe et offre trop de possibilités de pistage.)

bortzmeyer.org/gemini.html

#sobriétéNumérique #lowCost #Gopher #viePrivée

(J'attends maintenant que Framasoft crée un FramaGemini...)

@bortzmeyer Simple et sûr quand tu vois qu’ils ont une incompréhension quasi-total de X.509 et de TLS, j’ai un gros doute quand même 🤣

@aeris J'aime ton sens de la nuance. « incompréhension quasi-total de X.509 et de TLS  » juste parce que des gens publient de l'auto-signé ?

@bortzmeyer @aeris on vient d'avoir une discussion sur le sujet et je maintient aussi que juger un protocole avec un an d'existence est risqué, ça peut mal tourner comme trés bien réussir, et si des gens trouvent ça mal sécurisé il s'en trouvera bien certains pour corriger cela, ou non …

@codeurimpulsif @bortzmeyer Sauf que là on parle de concept tellement bas niveau que tout gemini risque d’être à revoir. Parce qu’on ne rentre pas de la sécurité avec un chausse-pied une fois le truc déjà lancé…

@aeris @bortzmeyer ça tombe bien car il n'est pas encore "vu" tout court, les specifications peuvent encore bouger et avec l'engouement qu'est en train de succiter le projet ça pourrait bien partir dans le bon sens, on reviens dans un an pour en juger ? 😉

@codeurimpulsif @bortzmeyer On peut lui laisser sa chance, mais la probabilité que ça arrive à un truc correct à la fin avec un tel départ est plus proche de ε que d’autre chose.

@aeris @codeurimpulsif @bortzmeyer la dite probabilité serait probablement plus élevée si tu leur expliquais plutôt que juste râler sur masto 😉

@mmu_man @codeurimpulsif @bortzmeyer La snakeoil crypto, c’est un peu comme les fake news : au bout d’un moment tu en as un poil marre de passer 10h à débunker un truc qui a été écris en 10s, et de devoir ensuite passer 10 autres h à expliquer. Et finir par maintenir le projet tout seul parce que les autres ne souhaitent de toute façon pas faire de crypto.

@mmu_man @codeurimpulsif @bortzmeyer Sachant en plus que gemini ne réglera pas les problèmes qu’il dit pouvoir régler. HTTP/HTML, c’est ce qu’on en a fait qui fait que ça en est devenu de la merde. Gemini prendra le même chemin si ça perce un jour.

@aeris @mmu_man @codeurimpulsif Là, tu n'as pas lu la spec, et les moyens utilisés pour que le protocole n'évolue pas.

@aeris @mmu_man @codeurimpulsif Empêcher un format d'évoluer est difficile mais un protocole, on peut.

@bortzmeyer @mmu_man @codeurimpulsif HTTP n’a quasiment pas évolué et pourtant le web si. Ce n’est donc pas le protocole le problème mais le format.

@bortzmeyer @mmu_man @codeurimpulsif Je veux dire par là qu’on peut faire tout aussi pire en terme de vie privée & cie avec HTTP/1.0 qu’avec HTTP/2.0.

@bortzmeyer @mmu_man @codeurimpulsif Même sans cookie et user-agent, tu pourrais faire quasiment les mêmes trucs horribles qu’aujourd’hui…

@bortzmeyer @mmu_man @codeurimpulsif Et les cookies sont juste des en-têtes dorénavant normalisées. À partir du moment où ton protocole autorise les entêtes custom, tu peux les réimplémenter.

@aeris @mmu_man @codeurimpulsif Et c'est justement pour ça que Gemini n'a pas d'en-têtes du tout.

@bortzmeyer @mmu_man @codeurimpulsif Ce qui n’est pas une garantie que les cookie ne sont pas possibles 😊

@bortzmeyer @mmu_man @codeurimpulsif On a vraiment vu avec le web que ce n’est absolument pas le protocole qui a été le principal facteur rendant possible la merde actuelle du web.

@bortzmeyer @mmu_man @codeurimpulsif AJAX a été le 1er exemple de détournement du protocole pour violer un principe fondamental du web (1 URL = 1 page)

@bortzmeyer @mmu_man @codeurimpulsif On a été capable de casser le half-duplex avec JS et les long-polling-transaction pour simuler du full-duplex.

@bortzmeyer @mmu_man @codeurimpulsif Et le c2s pour faire du c2c avec WebRTC. Le tout sans changer à une seule ligne du protocole d’en dessous. (Je ne serais même pas étonné que ça soit aussi possible avec HTTP/0.9, même si éventuellement plus difficile)

@aeris @bortzmeyer @mmu_man @codeurimpulsif Du coup c'est pas la couche d'en dessous qu'il faudrait revoir ?

@charly @bortzmeyer @mmu_man @codeurimpulsif Du dessus tu veux dire ? Pour moi le problème n’est pas HTTP mais JS.

Charles-Édouard Coste @charly
Follow

@aeris @bortzmeyer @mmu_man @codeurimpulsif Quand tu peux pas faire du HTTPS, te te dis pas que tu vas sécuriser la couche du dessus. Tu sécurises la couches d'en dessous avec un VPN.
Là tu dis que le HTTP, Gemini ou whatever ne seront jamais sûrs parce qu'on peut les détourner… C'est pas en rajoutant une couche que tu peux résoudre le soucis.

· Web · 0 · 0

@charly @bortzmeyer @mmu_man @codeurimpulsif On discute de 2 problèmes différents ici.
- Problème de la confidentialité/authentification/identité/protection du contenu : là oui le problème est sur la couche en dessous de HTTP/gemini, au niveau TCP
- Problème de tracking/privacy : là le problème est plus contenu, donc la couche d’au-dessus HTTP/gemini.

@charly @bortzmeyer @mmu_man @codeurimpulsif (Et du coup pour moi quelqu’un qui te dit « je vais résoudre le problème X ou Y en changeant le protocole » est juste en train de te mentir et ne corrigera en fait ni le problème de confidentialité ni celui de vie privée.

@aeris @bortzmeyer @mmu_man @codeurimpulsif Hypercore peut pas résoudre un peu le problème ? Vu que c'est en peer to peer… Les requêtes ne vont pas toujours taper au même endroit…

@charly @bortzmeyer @mmu_man @codeurimpulsif Honnêtement ? En quoi peer-to-peer t’empêche au pif de foutre une image identifiante unique pour un visiteur donné ?

@charly @bortzmeyer @mmu_man @codeurimpulsif C’est un poil plus compliqué que si tu peux identifier de manière plus formelle ton utilisateur précisément, mais rien ne t’empêche par exemple de faire tourner ton image toutes les 30s pour isoler tous tes groupes d’utilisateurs des 30 dernières secondes.

@charly @bortzmeyer @mmu_man @codeurimpulsif Et ensuite de consolider ça dans une base de données globale que tu mets sur toutes les pages de tous les visiteurs. Tu viens de réinventer le bouton like…

@aeris @bortzmeyer @mmu_man @codeurimpulsif Je ne dis pas que tu arrêteras les balles, Néo. Je veux dire que tu ne les sentiras plus.
A quoi ça sert de foutre une image identifiante quand tout le monde télécharge la même et que personne ne peut savoir qui la récupère depuis où ?

@charly @bortzmeyer @mmu_man @codeurimpulsif J’vais pas faire ce que les marketeux savent très bien faire, mais tu imagines bien qu’avec du code server side et du contenu généré dynamiquement, il m’est assez facile de foutre les infos nécessaires pour identifier une visite (et pas un gens)

@charly @bortzmeyer @mmu_man @codeurimpulsif Les marketeux en sont à détourner DNS & CNAME pour faire du tracking, tu imagines bien que HTTP/gemini est plus ou moins le dernier le leurs soucis 🤣

@charly @bortzmeyer @mmu_man @codeurimpulsif Et si gemini perce, il souffrira des mêmes problèmes que HTTP/HTML. Le marketeux est très malin pour tracer les gens avec ce qu’on lui offre…

@aeris @bortzmeyer @mmu_man @codeurimpulsif Sauf que Hypercore, c'est pas du dynamique et y a pas de server side.

@charly @bortzmeyer @mmu_man @codeurimpulsif Il y a bien quelqu’un qui génère du contenu quelque part. Donc si c’est dynamique et si c’est server side. Au pif je regénère mon contenu à gros coup de cron et je le publie ensuite.

@aeris @bortzmeyer @mmu_man @codeurimpulsif Tu joues sur les mots. Tu te rends bien compte qu'un serveur HTTP qui reçoit des requêtes en direct et qui génère des pages dynamiques à la volée lors d'un GET/POST/DELETE,etc. Ça n’a rien de comparable à une espèce de CDN décentralisé qui ne fait que de la lecture seule comme requête.

@charly @bortzmeyer @mmu_man @codeurimpulsif Non je ne joue pas sur les mots. Il me suffit de faire un client p2p custom capable de dire « j’ai ce contenu » alors que tu ne l’as pas encore généré, de le générer à la volée et de l’envoyer en seeding.

@aeris @bortzmeyer @mmu_man @codeurimpulsif et du coup, comme tu n'as pas la clé privée de l'auteur… je vois de suite que c'est du contenu bidon.

@aeris @bortzmeyer @mmu_man @codeurimpulsif Et quand bien même ça ne serait pas du contenu bidon… Tu vas le seeder à des gens qui ne seront pas forcément le lecteur final, donc ça te fait une belle jambe.

@charly @bortzmeyer @mmu_man @codeurimpulsif Peu importe à qui je le seed, c’est qui le lit/visualise qui m’intéresse.

@aeris @bortzmeyer @mmu_man @codeurimpulsif sauf que ça ben tu ne le sauras jamais qui lit le contenu quand…

@charly @bortzmeyer @mmu_man @codeurimpulsif Je n’ai pas besoin de savoir qui. Juste que c’est tel personne.

@aeris @charly @bortzmeyer @codeurimpulsif je crois que je n'aurais pas du relancer ce thread 😅

@charly @bortzmeyer @mmu_man @codeurimpulsif Je te fais ce que j’ai en tête :
- ma home génère à chaque nouvelle visite un ID random
- toute demande de page par la suite contenant cet ID regénère des url identifiables derrière

@charly @bortzmeyer @mmu_man @codeurimpulsif Remplace « à chaque nouvelle visite » par « chaque nouvelle demande de seed » ou « toutes les X secondes » si tu préfères

@charly @bortzmeyer @mmu_man @codeurimpulsif À partir de là tout visiteur devient identifiable car ne demandera plus que du contenu taggé. Chaque sous page demandée est tagguée. Chaque lien qu’il aurait pu bookmarké est taggué.

@charly @bortzmeyer @mmu_man @codeurimpulsif Ça ne sera pas aussi précis que ce qu’on fait aujourd’hui, mais fonction des stats de fréquentation d’un tag précis sur mon seeding, je peux en déduire les fréquentations de visite d’une personne ou d’un groupe de personne précise.

@aeris @bortzmeyer @mmu_man @codeurimpulsif Si je copie une vidéo youtube depuis le PC d'un pote… je peux regarder la vidéo autant de fois que je veux… Youtube ne le saura pas.

@aeris @bortzmeyer @mmu_man @codeurimpulsif Ben si… C'est clairement la question… Tu files du contenu à quelqu'un qui te relaie… Moi je copie le contenu depuis le PC de cette personne… Comment tu sais que je l'ai fait ? Et comment tu sais que je l'ai fait pour lire et pas parce que moi aussi je ne suis qu'un relais ?