Keybase.io : comment ça marche ?

Un week-end à occuper ? 32
image dediée
Crédits : maxkabakov/iStock/ThinkStock
Sécurité
Par
le vendredi 10 février 2017 à 17:00
David Legrand

Keybase devient un service de plus en plus complet, avec la gestion des partages de fichiers et une messagerie sécurisée, en plus de sa gestion de profils. Nous avons décidé de faire le point sur le nouveau client afin de vous expliquer comment vous en servir.

Après être revenus sur l'histoire de Keybase et son évolution jusqu'à l'annonce de l'arrivée d'un chat cette semaine, passons à un aspect plus pratique : le test du client dans sa dernière version. Pour rappel, il s'agit d'un service qui vous permet de disposer d'un profil contenant des informations validées cryptographiquement, mais aussi d'échanger des fichiers ou des messages avec des tiers de manière sécurisée.

Le client Keybase est disponible dans une version alpha sous Linux, macOS et Windows en attendant les clients mobiles sous Android et iOS. Dans la pratique, ce sont en fait deux applications qui sont installées et que vous pouvez utiliser : une interface graphique et Keybase Shell qui permet de tout gérer en lignes de commande (voir la liste) et d'accéder l'API de la messagerie. 

Le projet est open source et le code est diffusé sous licence BSD modifiée via un dépôt GitHub. Notez qu'un support préliminaire de Tor est déjà en place.

La création du compte en ligne... 

Pendant longtemps, Keybase était uniquement accessible sur invitation. Désormais, ce n'est plus le cas, ou presque. En effet, n'importe qui peut venir créer un compte sur le site web ou via le Shell, mais pas encore via l'interface graphique de l'application qui demande toujours un code. Elle vous proposera au passage de tenter d'en récupérer un.

Le plus simple est donc pour le moment d'utiliser l'interface en ligne. Pour cela rendez-vous sur le site, puis cliquez sur Join. Il vous sera demandé d'indiquer une adresse email, un pseudonyme et un mot de passe d'au moins 12 caractères :

Keybase Inscription

Vous serez ensuite directement connecté sur le site. Vous devrez néanmoins confirmer votre adresse email afin de finaliser totalement la procédure. Vous pourrez remplir votre bio et gérer vos paramètres. Le mieux est ensuite de vous connecter via l'interface graphique, qui reflète mieux que le site le nouveau mode de fonctionnement de Keybase.

... ou via le Shell

Si vous préférez le faire via le client local, il vous suffit de lancer le Shell et de taper la commande keybase signup, puis de suivre les instructions : 

keybase signup
Your email address: me@jeandeauh.fr
Your desired username: jeandeauh54

Vous devrez ensuite choisir un nom pour votre machine. Pour rappel, celle-ci se verra attribuer une paire de clefs qui lui est propre afin de chiffrer et signer vos fichiers et vos échanges.

Sa partie publique sera accessible dans votre sigchain qui représente l'historique de l'ajout/suppression de vos clefs et de vos appareils. Veillez donc à ne pas lui donner un nom permettant de l'identifier contenant par exemple sa marque, le lieu où elle se trouve, etc.

Une paper key sera aussi générée. Pour le moment, il est impossible d'utiliser les applications mobiles et un QRCode pour lier une nouvelle machine à votre compte, une telle clef est donc nécessaire. Il faut garder son contenu précieusement, un peu comme une phrase de passe (voir notre dossier sur les gestionnaires de mots/phrases de passe) :

A public name for this device [home computer]: pcdejeandeauh

===============================
IMPORTANT: PAPER KEY GENERATION
===============================

During Keybase's alpha, everyone gets a paper key. This is a private key.
1. you must write it down
2. the first two words are a public label
3. it can be used to recover data
4. it can provision new keys/devices, so put it in your wallet
5. just like any other device, it'll be revokable/replaceable if you lose it

Your paper key is

coucou ceci n'est pas la vraie paper key du compte keybase

Write it down....now!

Have you written down the above paper key? [y/N] y
Excellent! Is it in your wallet? [y/N] y

Il vous sera ensuite proposé d'ajouter une clef GPG à votre compte, une manière d'indiquer que celle-ci vous appartient bien et de la diffuser à tous à travers Keybase. Vous avez la possibilité de le faire, mais cela n'est pas obligatoire comme nous l'expliquions dans notre précédent article.

Would you like to add one of your PGP keys to Keybase? [Y/n] y
# Algo Key Id Created UserId
= ==== ====== ======= ======
1 4096R D3CFD97417D94589 Jean Deauh <me@jeandeauh.fr>

Welcome to keybase.io!

La découverte de l'interface graphique

Une fois votre compte créé, votre email confirmé et l'interface graphique de Keybase lancée, vous n'aurez plus qu'à vous connecter. Vous découvrirez alors une interface assez classique qui se découpe en deux parties : un bandeau à gauche qui permet de naviguer entre les différentes sections, et une partie centrale qui affiche le résultat.

Les paramètres, eux, reprendront ceux du compte. Vous pourrez donc seulement y gérer votre adresse email, votre mot de passe, vos notifications, vos invitations ou bien supprimer entièrement votre compte. La gestion des appareils vous permettra d'ajouter ou de révoquer des clefs.

Keybase Devices

Ajouter et certifier des informations à votre profil

La première chose à faire est de cliquer sur le cercle situé tout en bas à gauche, juste au-dessus de votre pseudo. Vous accéderez alors à votre profil, dont vous pourrez modifier trois informations : votre nom complet, votre bio et votre localisation. Aucune des trois n'est obligatoire et vous pouvez y indiquer ce que vous voulez.

Attention tout de même, ces informations peuvent permettre à des tiers de vous retrouver via la recherche. Vous devez donc diffuser des éléments qui vous semblent pertinents sans forcément trop en dire (évitez de mettre votre adresse postale par exemple). La photo, elle, sera remplie en fonction de celle présente sur vos compte GitHub ou Twitter (si les deux sont indiqués, vous aurez le choix du compte à utiliser).

Sur la partie droite du profil, vous aurez la liste de services dont il est possible de lier le compte à votre profil Keybase. Dans tous les cas, vous devrez apporter une preuve de sa propriété. Sur Facebook ou Twitter, il faudra par exemple publier un message public précis, sur GitHub diffuser un Gist, pour un site web y placer un fichier ou une entrée DNS, etc.

Cela permettra à toute personne passant sur votre profil de savoir que ces comptes vous sont bel et bien liés tout en accédant à la preuve. Dans le cas de notre test, vous pourrez par exemple retrouver ce tweet.

Keybase TwitterKeybase TwitterKeybase Twitter

Ajouter ou créer une paire de clefs GPG

Vous avez la possibilité de rajouter une paire de clefs GPG à votre profil, aussi bien sur le site que dans l'interface graphique. Si vous en avez déjà une, vous pourrez l'importer afin d'indiquer qu'elle vous appartient. Dans ce cas, cela passera par le Shell qui fera le lien avec votre installation locale de GPG :

keybase pgp select

Vous devrez aussi déverrouiller votre clef privée. Celle-ci ne sera pas stockée par les serveurs de Keybase, vous pourrez néanmoins décider de le faire via l'interface en ligne. Dans sa documentation Keybase indique que l'opération consiste à signer votre clef dans la sigchain de votre compte, placer cette signature et la partie publique de votre paire de clefs dans les serveurs de Keybase, copier une version de votre clef privée dans la base de clefs locale de Keybase (LKS) et la chiffrer votre phrase de passe. 

Notez que vous pouvez aussi décider de créer une paire de clefs via Keybase. Attention, comme toujours dans ce genre de cas, il vous faudra avoir assez confiance dans le service pour accepter qu'il connaisse votre clef privée (puisqu'il en sera à l'origine). Vous pourrez retrouver notre guide permettant de créer une paire de clefs GPG par ici.

Suivre des utilisateurs, ça sert à quoi ?

Comme nous l'avions évoqué dans notre précédent article, Keybase proposait initialement une fonctionnalité permettant d'indiquer que vous certifiez que les informations d'un autre utilisateur sont valides, le « tracking ». Devant l'incongruité de cette dénomination, le service a décidé récemment de procéder à un changement sémantique.

Elle est désormais connue sous le terme « follow », que l'on retrouve de manière plus habituelle sur les sites contenant un profil utilisateur. Pour autant, cliquer dessus revient à plus que « suivre » un compte. Ne vous attendez ainsi pas à avoir des notifications sur son activité ou à pouvoir lui envoyer des messages privés (vous d'ailleurs pouvez le faire sans cela).

Keybase Follow

Comme détaillé dans la documentation, cela revient à indiquer que vous avez vérifié que les informations actuellement contenues dans le profil sont les bonnes, et que vous avez décidé de les signer avec votre clef. Ainsi, un autre utilisateur pourra savoir que vous avez accordé votre confiance à ce profil à un moment donné.

Une approche finalement pas si éloignée du Web Of Trust d'OpenPGP, même si ici, les traces cryptographiques diffusées permettent de disposer d'éléments de confiance complémentaires.

Chercher des utilisateurs via leurs différents comptes

L'un des intérêts de Keybase est sa fonctionnalité d'annuaire. En effet, chaque utilisateur laissant un pseudonyme et un lien vers ses différents comptes, ou une clef GPG, ces éléments peuvent permettent de le retrouver et de le contacter.

Ainsi, l'une des fonctionnalités phares du site et de l'application est son moteur de recherche. Vous pouvez y taper des éléments d'un utilisateur que vous souhaitez trouver, et vous pourrez ensuite accéder à son profil, voir ses informations et décider de le suivre ou non une fois les éléments vérifiés.

Dans le client vous aurez aussi trois possibilités : voir son dossier privé, son dossier public, ou démarrer une discussion.

Keybase RechercheKeybase Recherche

La nouveauté du moment : un chat !

Ce dernier élément est la nouvelle fonctionnalité que vient d'annoncer Keybase. Elle permet d'initier une conversation chiffrée de bout-en-bout (E2EE), avec une ou plusieurs personnes. Comprendre que le message est chiffré localement puis déchiffré sur la machine de chaque destinataire avec sa clef.

Ainsi, ni Keybase ni aucun intermédiaire ne peut intercepter le message pendant son transport. Tout n'est par contre pas encore parfait puisque la confidentialité persistante (forward secrecy) n'est pas encore activée (voir notre dossier sur le chiffrement). Comme nous l'avions expliqué, la raison tient dans la capacité de Keybase à gérer plusieurs appareils. Il sera néanmoins proposé à l'avenir d'envoyer des messages qui ne seront pas conservés, mais qui profiteront de cette fonctionnalité.

Notez qu'il est possible d'initier une conversation avec un utilisateur qui ne dispose pas encore d'un compte Keybase. Vous pouvez lui envoyer un lien d'invitation et, une fois son compte créé, vos messages seront chiffrés avec sa clef avant de lui être transmis. La gestion des emojis ou du partage de fichiers sont déjà de la partie :

Keybase ChatKeybase Chat

Autre amélioration attendue : une gestion plus fine des conversations. En effet, pour le moment, n'importe qui peut parler à n'importe qui. Un peu comme sur Twitter en somme. Vous pouvez mettre en silencieux un échange, mais pas bloquer un utilisateur ou ne permettre qu'à ceux que vous suivez de vous contacter par exemple. Là encore, une gestion plus avancée est annoncée pour les prochaines versions. 

Sachez que le Shell vous permet aussi de diffuser ou de lire des messages publics de type « broadcast », de gérer les échanges directement, ou même via une API (JSON) :

keybase chat send rick,morty "Coucou, ça va les loulous ?"
keybase chat send --public jeandeauh54 "Ceci est un message public"
keybase chat read --public jeandeauh54
keybase chat help api

Partagez des fichiers, en public ou en privé

Vous pourrez aussi décider de partager des fichiers avec des tiers. 10 Go sont à votre disposition gratuitement pour le moment, une valeur qui ne devrait pas changer pendant toute la phase de test alpha. Vous disposez d'un dossier public, mais aussi de dossiers privés que vous pouvez partager avec un ou plusieurs utilisateurs.

Là aussi, n'importe qui pourra vous envoyer des données. Vous avez néanmoins la possibilité d'ignorer un dossier, ce qui revient à ne pas disposer d'une copie locale. Car en effet, ces dossiers sont accessibles localement sur votre machine via un système de fichiers spécifique (KBFS, utilisant FUSE ou Dokan), monté dans un lecteur dédié.

Vous pourrez donc gérer vos fichiers et dossiers comme avec n'importe quel autre lecteur de votre machine. Il ne s'agit pas ici d'une solution de synchronisation, les fichiers sont récupérés à la demande et bénéficient une fois de plus d'une couche de chiffrement détaillée par ici.

Keybase KBFS

Vous pouvez stocker un petit site statique (voir cet exemple). Vous pourrez retrouver une liste des fichiers diffusés par tel ou tel utilisateur via un annuaire public. Il vous permettra aussi de partager certains éléments tels que des photos de manière simple, à travers une visionneuse dédiée :

Bien entendu, étant donné la nature encore « jeune » des clients de Keybase, n'y stockez pour le moment pas des données trop sensibles ou que vous ne voulez pas perdre.

Retrouvez notre dossier Chiffrement, clefs de sécurité et cryptobidules :


chargement
Chargement des commentaires...