Keybase.io : profil certifié, partage de fichiers et maintenant un chat sécurisé

Keybase.io : profil certifié, partage de fichiers et maintenant un chat sécurisé

GPG made easy ?

Avatar de l'auteur
David Legrand

Publié dans

Internet

10/02/2017 9 minutes
19

Keybase.io : profil certifié, partage de fichiers et maintenant un chat sécurisé

Keybase vient d'ajouter une nouvelle corde à son arc. Après la mise en place d'une gestion de partage de fichiers, le service propose désormais une messagerie instantannée. Une évolution importante, pour un site qui était encore il y a peu un simple gestionnaire de profil exploitant la cryptographie.

En février dernier, nous vous parlions d'un service qui exploitait le chiffrement pour certifier des profils et qui venait d'ajouter un système de partage de fichiers : Keybase. Celui-ci avait levé plus de dix millions de dollars et comptait bien se déployer sur de nombreuses plateformes avec de nouveaux outils toujours plus simples et plus complets.

Cette semaine, son équipe vient d'annoncer un autre ajout majeur : la mise en place d'une messagerie chiffrée de bout en bout (E2EE), simple à utiliser et intégrée à ses différents clients. Une nouvelle étape avant l'arrivée prochaine d'applications mobiles (voir notre guide d'installation et d'utilisation).

Nous avons donc décidé de faire le point sur ce service, passé en quelques mois d'un outil basé sur OpenPGP et complexe à comprendre – même pour les initiés – à un ensemble d'outils chiffrés, simples à utiliser et qui peuvent être utiles au quotidien. Vous retrouverez notre guide d'installation et d'utilisation par ici.

Keybase en 2014 : un profil certifié via une clef GPG

Commençons par détailler le point principal, à savoir : « Quel est le but d'un service comme Keybase ? ». Comme nous venons de l'évoquer, le site est né d'un constat simple en 2014 : le dispositif de gestion de l'identité sur lequel repose OpenPGP, à savoir le Web Of Trust, montre de sérieuses limites.

L'utilisation des serveurs de clefs n'est pas toujours très simple à appréhender, pas du tout ergonomique, et les utilisateurs non-initiés peuvent trop rapidement s'y perdre. À l'heure des réseaux sociaux, de la multiplication des profils et de l'importance prise par l'identité numérique, il fallait proposer une alternative.

Une observation faite par beaucoup et qui est à l'origine de nombreuses tentatives, de TOFU à un serveur de clefs en partie repensé par Mailvelope en passant par le Web Key Service, proposé à l'IETF par le principal développeur de GnuPG, Werner Koch (voir sa présentation).

De son côté, l'équipe de Keybase a opté pour une solution plus simple : un profil en ligne. Un peu à la manière de votre page Facebook ou Twitter, il contient une photo, une bio et des liens vers différents services que vous utilisez. La différence ? Ces informations seraient validées cryptographiquement, notamment à travers l'utilisation de votre clef GPG.

Keybase Profil

Une première version, de premières erreurs

Chaque utilisateur pouvait aussi valider vos informations en vous « trackant » (désormais remplacé par « follow »). Une manière d'indiquer que ces dernières étaient bonnes à l'instant « t » – là aussi en le signant avec une clef GPG – et qui ressemblait à celle des serveurs de clefs, mais avec une interface en ligne et des commandes simplifiées.

Pour éviter que le service ne stocke quoi que ce soit, tout passait par un client en ligne de commande ou des requêtes cURL. Il était aussi possible de mettre en ligne votre clef privée afin de pouvoir tout gérer depuis l'interface web, et même envoyer, recevoir et vérifier des messages chiffrés.

Alors accessible seulement sur invitation, Keybase restait complexe à appréhender pour le commun des mortels et même par ceux qui étaient habitués au chiffrement. Utiliser un client spécifique avec des lignes de commande (en plus de GPG) pouvait de plus paraître un peu exagéré pour une simple validation de votre compte Twitter ou d'un nom de domaine.

Keybase v2 : NaCl et actions publiques

Après avoir reçu son financement de 10 millions de dollars, l'équipe a donc cherché à revoir son produit, à le simplifier et surtout à proposer des services où le chiffrement et l'infrastructure déjà mise en place pouvaient avoir une réelle utilité. Et si son blog est plutôt avare en annonces, celles-ci marquent à chaque fois un pas important de l'évolution du site.

Fin 2015, on apprenait ainsi qu'un nouveau système de gestion des clefs étaient mis en place. Désormais, la paire de clefs GPG de l'utilisateur ne serait plus utilisée. Chaque appareil disposerait de sa propre paire de clefs créée via NaCl, permettant une gestion simplifiée de plusieurs appareils et surtout de l'arrivée d'applications mobiles.

En attendant que celles-ci soit en place, des « paper keys » ont aussi été instaurées. Elles ont un seul but : vous permettre de relier deux appareils d'un même compte en toute sécurité. Une procédure qui sera simplifiée par le scan d'un QR Code lorsque cela sera possible, à la manière de ce que propose déjà Signal par exemple.

 Keybase Clefs GestionKeybase Clefs Gestion
Gestion des clefs : avant / après

Chacune des clefs créées est mentionnée dans un arbre public – elle peut être révoquée – et l'historique est stocké et vérifiable à travers la blockchain Bitcoin (voir notre analyse). Ainsi, votre clef GPG n'est qu'une information parmi d'autres, qui peuvent être stockées et certifiées au sein de votre compte. Ce n'est plus l'élément de sécurité principal qu'il vous faut utiliser sur chacun de vos appareils.

Fidèle à son modèle de départ, Keybase a publié le code de ses clients sur GitHub (sous licence BSD modifiée) et détaille le fonctionnement de son chiffrement, la sécurité des clefs au niveau local ou encore son protocole d'échange KEX, tout en évoquant assez clairement ses limites.

KBFS : le système de fichiers qui prépare le modèle économique

Quelques mois après cette annonce, en venait une autre : la mise en place d'un système de fichiers et d'une solution simplifiée de partage de documents, de manière publique ou privée. Un annuaire était aussi mis en ligne : Keybase.pub.

Une fonctionnalité rendue possible par le nouveau modèle de clefs de Keybase, qui avait un double intérêt : en plus de donner un véritable sens au service, il lui permettait d'entrevoir le début d'un modèle économique. Car si chaque utilisateur dispose de 10 Go de stockage gratuitement, l'équipe vise le marché des entreprises et des abonnements pour dépasser cette limite.

Une interface graphique et bientôt des applications mobiles

Mais le gros de l'activité concernant le chiffrement concerne l'envoi de messages. Alors que les outils chiffrés se multiplient – de WhatsApp à Signal en passant par CryptoCat ou encore Wire – Keybase a décidé de proposer sa propre solution. Pour cela, elle a renforcé son client en offrant une interface graphique simple dont la nouvelle version vient d'être dévoilée en amont des applications mobiles.

Keybase Chat

Le client repose principalement sur Go, React-native et le framework Electron. Pour rappel, ce dernier est notamment utilisé par Molotov ou encore Slack et Atom afin de proposer une solution multiplateforme. Bien qu'installable, ce type d'application repose en effet principalement sur du code HTML/CSS/JS, et sur Chromium pour le rendu.

Cette base sera également exploitée en partie pour les applications Android et iOS.

Une API et des limites claires au niveau de la sécurité

La ligne de commande n'est pour autant pas oubliée. En effet, on dispose toujours de deux applications principales : celle avec l'interface graphique ainsi qu'un Shell spécifique à Keybase, dans lequel on peut encore gérer l'ensemble du compte dans un terminal.

Il permet d'ailleurs d'envoyer et de lire des messages publics en mode « broadcast », qui ne sont pas encore intégrés à l'interface graphique. Il fait office d'API permettant l'échange de messages au format JSON : 

keybase chat send --public jeandeauh54 "Ceci est un message public"
keybase chat read --public jeandeauh54
keybase chat help api

Outre le client open source, on retrouve là encore une documentation assez complète, qui évoque les choix et les limites de la messagerie. On y apprend par exemple que chaque message contient des références à des échanges précédents pour éviter qu'un serveur malveillant puisse trafiquer l'historique, ou que MessagePack est utilisé pour la sérialisation.

Surtout, la confidentialité persistante (forward secrecy) n'est pas de la partie pour le moment, notamment à cause de la possibilité d'utiliser plusieurs appareils. Lorsque l'un d'entre eux est révoqué, de nouvelles clefs de chiffrement sont néanmoins générées et utilisées sur ceux qui restent liés à votre compte. On retrouvera tout de même la confidentialité persistante dans un type spécifique de messages qui arrivera dans une prochaine mise à jour.

Du côté des métadonnées, l'équipe indique que le serveur a connaissance de qui discute avec qui, ainsi que du type de message envoyé (texte, avec une pièce jointe, suppression). Elle s'appuie au passage sur l'article de Moxie Marlinspike (créateur de Signal) sur la question de la décentralisation des outils de messagerie pour expliquer son choix d'une solution centralisée.

Keybase : une solution ouverte et tout-en-un

Comme toute solution, de GPG à Signal en passant par des solutions plus grand public, celle de Keybase a donc ses limites. L'équipe a néanmoins l'avantage de les évoquer de manière assez claire et de chercher à renforcer son outil, ce qui sera sans doute facilité par la nature open source de ses clients.

Contrairement à nombre de services concurrents, on retrouve ici une partie de ce qui a fait de GPG un outil qui reste incontournable malgré sa nature complexe : une disponibilité sur de nombreuses plateformes et une gestion qui ne s'arrête pas à la messagerie (annuaire, gestion de fichiers, etc.).

Reste maintenant à voir l'évolution à venir et si Keybase arrive à convaincre un large public. 

Notre dossier sur Keybase.io :

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Keybase en 2014 : un profil certifié via une clef GPG

Une première version, de premières erreurs

Keybase v2 : NaCl et actions publiques

KBFS : le système de fichiers qui prépare le modèle économique

Une interface graphique et bientôt des applications mobiles

Une API et des limites claires au niveau de la sécurité

Keybase : une solution ouverte et tout-en-un

Le brief de ce matin n'est pas encore là

Partez acheter vos croissants
Et faites chauffer votre bouilloire,
Le brief arrive dans un instant,
Tout frais du matin, gardez espoir.

Fermer

Commentaires (19)


Merci pour l’article David. 



Pour ma part je l’utilise pour centraliser mes clés ou garantie d’identité. C’est un projet intéressant :)



https://keybase.io/boogieplayer


Actuellement j’utilise pas mal Cryptocat en tant que messagerie sécurisée.

Cependant j’ai eu plusieurs problèmes lors de partage de fichiers (les fichiers reçus sont illisibles et ce avec plusieurs extensions : zip, doc, etc.). Je vais me pencher la dessus pour éventuellement changer.



Par contre, avoir mon profil ne m’intéresse pas plus que ça.



Quelqu’un aurait un petit retour d’expérience dessus?


Bref, le Web Of Trust était trop compliqué, alors ils ont décidé de créer un truc… qui au final est tout aussi compliqué, voir même plus. Probabilité que Mme Michu utilise Keybase v1 ou v2 = presque nulle.



Sans compter que la fragmentation des différentes solutions proposées ici ou là ne permet pas la reconnaissance universelle nécessaire à l’adoption de la solution.



Je ne vois que deux moyens pour la démocratisation du Web Of Trust:




  1. un standard du W3C qui soit accueilli favorablement par tout le monde (= rétro-compatible avec le web actuel, facilement implémentable dans les browser/website, …).

  2. un très gros acteur du net (= google ou FB) qui s’impose de-facto comme le service d’identification/authentification du web



    Je miserais davantage sur le #2 depuis que Google se voit en Certificateur Racine.


je n’ai absolument rien compris <img data-src=" />


et c’est tout le problème, justement. <img data-src=" />


Avec une question plus précise, on pourra peut être apporter une réponse ;)


Quelqu’un aurait-il une invitation pour créer un compte sur Keybase ([email protected]) ?


ça propose quoi? de stocker des fichiers sur leurs serveurs encryptés?



l’image avec le Chris là : comment ça dit que les infos sont vraies? là j’avoue ne pas comprendre du tout… la page html est envoyée cryptée, mais bon les infos viennent d’où? Disons qu’on certifie que le code HTML entre le serveur et le browser n’a pas été modifié mais ça ne garantit en rien la véracité des infos <img data-src=" />





C’est quoi la différence avec un bête HTTPS ? etc…



Enfin sûrement que ceux qui trempent là dedans doivent bien voir l’utilité mais pour le profane franchement après lecture de l’article qui emploie plein cigles, on a envie de dire “hummm c’est bien…. enfin sûrement, … peut-être…. et sinon on mange quoi ce soir? <img data-src=" /> <img data-src=" />”



Ca manque un peu de contexte général, d’enjeu, de vulgarisation.


Le chat a été sécurisé. Je pense qu’il est en cage, ou alors ils lui ont coupé les griffes et mis une laisse.

<img data-src=" />








NonMais a écrit :



l’image avec le Chris là : comment ça dit que les infos sont vraies? là j’avoue ne pas comprendre du tout… la page html est envoyée cryptée, mais bon les infos viennent d’où?&nbsp;&nbsp;





Il est vrai que l’article pourrait être plus clair, un peu sur le modèle de cette explication :&nbsp;https://www.quora.com/What-is-Keybase-in-laymans-terms









ColinMaudry a écrit :



Quelqu’un aurait-il une invitation pour créer un compte sur Keybase ([email protected]) ?





fait :)









NonMais a écrit :



ça propose quoi? de stocker des fichiers sur leurs serveurs encryptés?



l’image avec le Chris là : comment ça dit que les infos sont vraies? là j’avoue ne pas comprendre du tout… la page html est envoyée cryptée, mais bon les infos viennent d’où?





Chaque fois que tu veux ajouter une identité à ton profil Keybase, comme ton compte twitter, un site web qui t’appartient, ton compte github ou FB… Keybase va te faire publier une preuve cryptographique liée à ton compte Keybase sur cette identité numérique (via un tweet spécifique, un ajout de champ DNS spécifique / un fichier à héberger, un gist public spécifique…) .



Cette preuve cryptographique, liée à ton compte Keybase sera ensuite vérifiée et validée par Keybase avant que cette identité ne soit publiée sur ton profil. Keybase revalide les différentes preuves (donc les identités que tu as revendiqué) fréquemment, et notamment lors d’une session de chat, afin de t’assurer que la personne avec laquelle tu parles à l’instant T possède bien les différentes identités qu’elle proclame.



Hum…https://www.nextinpact.com/news/103255-keybase-io-comment-ca-marche.htm



PS : on ne peut pas tout réduire à des listes à puces. À moins de vouloir constamment passer à côté de 90% des informations sur un sujet (et cela n’a jamais été l’objet de cet article)


Bon bah moi non plus je n’ai rien compris. Je crois que je me transforme en Mme Michu, ça m’inquiète !


Merci pour cette série d’articles ; sujets complexes qui demandent d’y investir un peu de temps.


Merci d’autant plus de le prendre <img data-src=" />


merci.


Je ne comprends pas l’engouement. Quand des députés voulaient de la carte d’identité pour se connecter, tout le monde criait au loup et maintenant on applaudit ?!

À mon avis j’ai rien compris au Web of Trust 😹


La différence c’est que tu choisi ce que tu veux afficher publiquement et tu es responsable des données que tu y auras mis.



Alors que le projet de CNI numérique avec puce, c’est une collecte des données biométriques dans un fichier centralisés (pas en local sur la puce). Quand tes empreintes digitales sont parties dans la nature alors que tu sais très bien que le projet était mal conçus/sécurisé et contentait des données non nécessaires, c’est plus qu’agaçant.



Le web of trust n’oblige pas à l’utilisation de la biométrie et ne te force pas à faire confiance à l’État.