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

GPG made easy ? 19
Accès libre
image dediée
Securité DOSSIER
David Legrand

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 :


chargement
Chargement des commentaires...