Matrix - Documenter le chiffrement et la gestion des clés
Suite aux discussions récentes, je me dis que cela manque et c'est un ressenti de certains utilisateurs.
Je remets les explications fournies sur matrix par @kaiyou qui pourront être réutilisées :
il faut avouer que non, ça n'est pas encore pleinement user friendly. La raison de cela par rapport à du chiffrement de bout en bout qui fonctionne bien sur Whatsapp, Signal ou Telegram, c'est que Matrix supporte plusieurs appareils sur un même compte. Et gérer ça sur plusieurs appareils, c'est... un enfer, qui est déjà bien débroussaillé mais pas encore à 100%.
Pour comprendre : chacun de tes appareils a des clés qui sécurisent tes messages en les liant spécifiquement à chaque appareil. Quand quelqu'un t'ecrit un message ou écrit sur un salon où tu es, il chiffre le message avec les clés de chacun de tes appareils pour que tous puissent le lire.
Déjà donc, un appareil qui rejoint ne peut pas lire au tout début les vieux messages puisqu'ils ne lui ont pas été destinés, d'où le bouton de demande de partage de clés pour qu'un autre de tes appareils qui les a puisse les transmettre.
Cela explique donc pourquoi lorsque tu déconnectes tous tes appareils, tu ne vois plus rien des messages, puisqu'aucun n'a plus de quoi les lire (déconnecter et reconnecter revient à changer d'appareil, il oublie tout ce qu'il sait, dont les clés).
Pour éviter ces problèmes, il y a principalement deux mécanismes : la vérification d'appareil et la sauvegarde des clés. D'abord la vérification, lorsque tu connectes un nouvel appareil, il devrait te suggérer de procéder à sa vérification. Elle sert à s'assurer que tous tes appareils sont bien les tiens et pas quelqu'un qui aurait piraté ton compte. Pour ça, elle te demandera de scanner un qrcode ou de comparer des emojis entre les appareils. Une fois un appareil vérifié, il va automatiquement demander les clés qui lui manquent aux autres et les récupérer, sauf bugs ponctuels possiblement.
La sauvegarde des clés sert à te protéger du cas où tu perdrais, te ferais voler, ou simplement te déconnecterais de tous tes appareils. Il te propose de l'activer normalement sur le premier appareil que tu connectes et te demande de saisir un mot de passe de sauvegarde. Si tu l'as bien fait, tu peux aller dans l'onglet vie privée sur chacun de tes appareils et demander une restauration avec le même mot de passe.
Pour savoir si tu as bien géré tous ces outils (qui, il faut l'avouer, te proposent de les activer mais ne t'alertent pas très fort si tu ne le fais pas), il faut aller dans les paramètres de sécurité sur chacun de tes clients, et vérifier : 1. Que la signature croisée est activée et OK 2. Que la sauvegarde des clés est bien activée et OK 3. Que en affichant la liste de tes sessions, elles soient bien toutes vérifiées (petit bouclier vert).
Maintenant, pas spécialement pour défendre Matrix mais pour comparer à d'autres expériences, si l'on prend Whatsapp le comportement ressemble par beaucoup d'aspects.
Sur WA tu n'as qu'un seul appareil de base, ton téléphone. Lorsque tu veux accéder depuis le PC il faut scanner un qrcode, c'est l'étape de vérification, et véritablement il échange des clés entre ton téléphone et ton PC.
Si tu déconnectes le PC il faut refaire la vérification sinon il n'accède plus non plus aux messages (en vérité dans le cas de WA, ils ne sont pas sécurisés pour chacun de tes appareils, mais uniquement pour ton téléphone qui les relaie ensuite vers le PC, donc en prime si tu éteins le téléphone tu n'as plus rien).
Enfin, si tu déconnectes le téléphone ou perds ton téléphone, tu perds tous tes messages, sans pouvoir les restaurer.
Matrix apportent des fonctionnalités nouvelles dans cet univers, pour avoir vraiment plusieurs appareils indépendants, pouvoir restaurer en cas perte. Mais il est vrai que ça donne un faux sentiment que tout va fonctionner et qu'on ne risque rien de perdre, alors que ce n'est encore clairement pas le cas.