Signal, XMPP, Matrix ou encore les messageries CPT, les débats ne manquent pas sur la "meilleure" messagerie à adopter en alternative à l'hégémonique Whatsapp. Dans notre trilogie d'articles sur la messagerie instantanée Matrix, nous présentons une stratégie, des innovations, et des pistes de travail pour une migration grand public de WhatsApp vers Matrix. Dans notre précédent article, nous nous intéressons en particulier aux messageries offrant la plus haute protection des données personnelles. La question de la protection de la vie privée est importante dans le choix de la solution, mais également sa facilité d'adoption par le grand public, ainsi que la disponibilité d'outils, de fonctionnalités facilitant la transition. En réalité, chaque messagerie a été développée avec un cas d'usage bien particulier où elle excelle. Nous analysons ici les cas d'usage (militant et autres), et essayons d'identifier la messagerie la plus adaptée.

Cas d'usage de Signal - tchat privé individuel

Usage recommandé ? Signal a été pensé pour un usage de type lanceur d'alerte, ou tout simplement pour des conversations sécurisées entre amis ou en famille avec une UX proche de WhatsApp. Outre l'aspect centralisé qui implique de nombreux défauts, le problème principal est la communication du numéro de téléphone. Ne pas utiliser pour des groupes d'échanges d'infos militant. N'invitez que des personnes auxquelles vous seriez prêt à confier la carte d'identité de toutes les autres.

Bonne pratique ? Client qui permet de chiffrer la BDD. Utiliser une carte SIM jetable pour un usage militant.

Comment améliorer ? Ne pas utiliser le numéro de téléphone comme identifiant unique, plutôt une adresse email. A minima hasher le numéro de téléphone pour qu'il ne soit pas visible des autres membres d'un groupe.

Alternative ? En proposant Matrix comme alternative, on gagne l'inscription pseudonyme et la décentralisation. Mais au prix de métadonnées non chiffrées, avec une durée de rétention infinie, et qui se perdent dans la fédération. Dans l'état actuel il est donc difficile de conseiller objectivement une migration massive des militants.

Cas d'usage Matrix - tchat privé individuel : amis, famille

Usage recommandé ? Matrix dans sa configuration standard (Element) n'est pas particulièrement adapté à un usage grand public comme tchat individuel. En effet, l'expérience utilisateur reste complexe (chiffrement, multi-appareil) et les interfaces graphiques chargées. Cependant, les bridges Signal, WhatsApp, Messenger laissent à penser qu'il s'agit d'un cas d'usage promu par la communauté Matrix.

Les plus petits serveurs comme

Bonne pratique ? On peut noter que le cas d'usage en tchat personnel sur un serveur Acceptable pour des groupes chiffrés qui restent sur quelques serveurs et évitent matrix.org.

Comment améliorer ? Bridge WhatsApp, Signal pour garder contact, faire découvrir, ou faciliter une transition. Chiffrer les salons bridgés et fédérés pour qu'ils ne soient pas en clair sur d'autres serveurs (pas de confiance).

Alternative ?

Cas d'usage Matrix.org - tchat public : réseau social pour animation de communauté Open Source

Caractéristiques :

  • Anonymat possible (via compte invité)
  • Pseudonymat répendu et recommandé
  • Chiffrement pour les salon
  • Pas de chiffrement de bout-en-bout sur un salon passerelle

Usage recommandé ? Matrix.org est à inscription libre et de facto pseudonyme. L'adresse email n'est utilisée que pour la validation du compte (et empêcher l'usurpation d'identité mail?). Par la suite elle n'est pas disponible dans les métadonnées du serveur synapse (Quid du serveur sydent? Ou du serveur d'inscription ?). Mais la rétention des données y est infinie, et il est fédéré avec plusieurs dizaines de milliers de serveurs dans le monde. Même si Matrix.org décidait d'une politique de rétention des données et métadonnées plus protectrice, la suppression de données sur matrix.org n'impliquerait pas leur suppression sur le reste de la fédération. C'est le serveur avec la pire politique de rétention des données qui domine.

Le serveur Synapse Matrix.org et sa fédération sont donc configurés pour un cas d'usage de réseau social public. C'est particulièrement utile dans des salons de support et d'animation de communautés Open Source où on peut retrouver des solutions à des problèmes jusqu'à plusieurs années plus tôt.

Bonne pratique ? Il faudrait se créer un compte pseudonyme chez Matrix.org pour participer à des groupes publics qui n'ont pas de portée politique. Probablement que même pour le serveur Matrix.org lui-même, la charge serait moins élevée de gérer 1000 utilisateurs de plus, plutôt que 100 serveurs de 10 utilisateurs de plus.

Comment améliorer ? Pour ce cas d'usage où l'on retrouve des salons de plusieurs milliers d'utilisateurs, il faudrait limiter le nombre de serveurs fédérés, pour éviter que ces gros salons soient dupliqués sur mille serveurs. Une fédération avec quelques gros serveurs par pays serait plus résiliente que si tout le monde était chez Matrix.org.

Bridge IRC, XMPP, etc..

Alternative ?

Cas d'usage Matrix - tchat d'équipe : animation d'association ou en entreprise

Caractéristiques:

  • Pas d'anonymat, en général identité connue.
  • Pseudonymat rarement applicable/appliqué

Usage recommandé ? Le cas d'usage principal pour lequel l'entreprise qui développe Matrix est rémunéré, est celui du tchat d'équipe pour des entreprises, des institutions nationales, etc. Un exemple plus familier est celui des hébergeurs du collectif CHATONS, qui ont voulu maitriser leur propre système de tchat adapté aux standards récents, ou qui hébergent un serveur Matrix pour le compte d'autres associations ou entreprises. Dans ce cas l'anonymat n'est pas applicable, et le pseudonymat rarement applicable. Il y a en général des salons d'accueil publics chiffrés, des salons bridgés non-chiffrés, des salons privés, et des conversations à 2. Matrix est suffisamment facile d'utilisation pour remplacer Slack ou Discord au sein d'une organisation. Son avantage principal par rapport aux autres alternatives que sont Mattermost et Rocket.Chat est la fédération avec les Matrix d'autres organisations et/ou avec la fédération Matrix.org qui permet de regrouper l'usage tchat d'équipe et tchat public au sein d'un seul compte, d'une seule Appli. Lorsque la fédération est active, de nombreuses métadonnées sont présentes sur chaque serveur, mais leur multiplicité rend une attaque moins probable que sur Matrix.org. On peut imaginer que le système de santé ou l'armée allemande n'ont pas l'intention de fédérer leur Matrix avec Matrix.org, conscients de la valeur des métadonnées et la nécessité de les sécuriser. On ne peut donc a priori guère compter sur les clients de Element.io pour améliorer la protection et la maîtrise des données personnelles dans un cas d'usage fédéré ouvert.

Bonne pratique ? Eviter les comptes Matrix.org pour rejoindre un salon d'équipe. Privilégier une instance locale où la plupart de notre activité a lieu. Choisir un serveur qui chiffre les salons par défaut, qui efface réellement les salons inactifs et les messages au bout d'un temps raisonnable. Ne pas utiliser le tchat comme base de connaissance via l'historique des salons, mais plutôt alimenter un wiki et/ou un forum. Dans le cas où le serveur est en fédération ouverte, permettre et promouvoir le pseudonymat. On sait dès lors que les utilisateurs seront tentés d'aller explorer la fédération et que leurs données personnelles se retrouveront sur d'autres serveurs. Il faudrait alors leur permettre de gérer plusieurs identités, dont une pseudonyme, voire anonyme (via compte invité).

Comment améliorer ? Pour ce cas d'usage Bridge WhatsApp, Signal, mattermost pour toucher plus de monde, ou faciliter une transition Chiffrer les salons bridgés et fédérés pour qu'ils ne soient pas en clair sur d'autres serveurs (pas de confiance).

Alternative ?

Cas d'usage militant - diffusion d'informations asynchrones

Quelques personnes alimentent, beaucoup lisent Un agenda public ferait l'affaire, une liste de diffusion (souscrite avec adresse mail anonyme) les gens devraient pouvoir lire sans avoir de compte Usage recommandé ?

Bonne pratique ?

Comment améliorer ?

Alternative ? Utiliser Signal avec une carte SIM jetable. Le risque est évidemment que la majorité des militants utilisent leur numéro personnel lié à leur identité.

Cas d'usage militant - diffusion ou échange d'informations en temps réel

Quelques personnes alimentent, beaucoup lisent

  • plusieurs dizaines à plusieurs milliers de personnes
  • Informations instantanées émanent de quelques comptes resources
  • Besoin de persistance des messages ? Des comptes ?

Toutes les personnes alimentent et lisent

  • plusieurs dizaines à centaines de personnes
  • Informations instantanées émanent de tous les comptes

Usage recommandé ? Un salon Matrix anonyme où les gens se connectent sans compte.

Bonne pratique ?

Comment améliorer ? Bridger les salons avec un serveur Matrix de confiance qui permet de rejoindre le salon en anonyme ??

Alternative ? Utiliser Signal avec une carte SIM jetable. Le risque est évidemment que la majorité des militants utilisent leur numéro personnel lié à leur identité.

Cas d'usage militant - organisation d'actions militantes

Usage recommandé ? Privilégier la vie réelle. Si besoin, privilégier un maximum d'anonymat avec une appli CPT.

Bonne pratique ? Un nouveau salon pour une nouvelle action. Personnes invitées individuellement par l'organisateur (Flash QR code?). Réinitialiser régulièrement son graphe social en changeant d'ID.

Comment améliorer ? UX et éducation populaire. Client web ?

Alternative ? Matrix sur un serveur non-fédéré et configuré en guest-only -> quid du chiffrement ? ChitChatter https://github.com/YunoHost-Apps/chitchatter_ynh -> quid de l'IP ? Forcer utilisation via TOR ?

Synthèse et caractérisation des cas d'usage

Cas d'usage :

  • conversations individuelles
    • la question du "on passe en MP" selon le système de tchat
  • Un petit groupe de confiance
    • essayer de limiter à une vingtaine de personnes pour éviter de perdre la vue d'ensemble
    • Famille, amis
    • Lanceur d'alerte avec journalistes
    • Bureau d'une association
  • Groupe d'échange d'informations militantes
    • plusieurs dizaines à centaines de personnes
    • Informations instantanées émanent de tous les comptes
  • Groupe de diffusion d'informations militantes
    • plusieurs dizaines à plusieurs milliers de personnes
    • Informations instantanées émanent de quelques comptes resources
    • Besoin de persistance des messages ? Des comptes ?
  • Groupe privé d'animation d'association
  • Groupe d'accueil, d'entraide public
    • Sujets et informations non critiques comme sur un forum
  • Groupe pseudonyme/invités
  • Groupe anonyme via TOR

Quel système de tchat et quel paramétrage de salon/serveur pour quel cas d'usage ?

Graphique présentant tous les types d'usage et de paramétrages de salons chez ARN, Hackstub, etc.

Type chiffré accès annuaire local (addresse publiée) addresse locale Matrix.org Autres serveurs Autres réseaux
public invité non public publié oui
public irc xmpp non public public oui
public irc non public public oui
public non public public oui
ouvert non public publié oui
ouvert espace non espace publié oui
ouvert chiffré e2e public publié oui
privé whatsapp signal non privé non oui non chatons signal
privé whatsapp pas sûr serveur privé non oui non chatons whatsapp
privé signal pas sûr serveur privé non oui non chatons signal
privé xmpp ? privé non oui non chatons xmpp
privé oui privé non oui oui
secret oui privé non non oui

Notre conclusion

Nous avons fait le choix de l'application Element reposant sur la "technologie" Matrix (protocole) pour notre messagerie instantanée. Celle-ci permet une stratégie contre l’effet réseau et son caractère fédéré lui donne un avantage face aux géants centralisés comme WhatsApp et Signal. Nous proposons ici un tableau résumant les protections offertes par Signal, Matrix et les tchats CPT.

Signal Element/Matrix Element/Matrix CPT (Briar/Cwtch)
Groupe privé : <20 personnes, sur invitation Matrix.org chat.sans-nuage.fr
Usage recommandable Ne pas utiliser pour des groupes d'échanges d'infos militant. N'invitez que des personnes auxquelles vous seriez prêt à confier la carte d'identité de toutes les autres. Usage Pseudonyme, réseau social public. Rétention des métadonnées et messages adapté à un usage publc. Réseau social privé, tchat d'équipe.Identité réelle via adresse email Famille/Amis Groupe d'échange d'infos anonyme
Bonne pratique Client qui permet de chiffrer la BDD. Utiliser une carte SIM jetable pour un usage militant Désactiver le serveur d'identité.Choisir un serveur qui a une politique de protection des données personnelles adapté à l'usage Refuser les contacts de serveurs tiers dans les conversations critiques
Financement de la société mère Dons Matrix Foundation ARN : payant Cwtch est développé par l’Open Privacy Research Society, une organisation à but non lucratif basée à Vancouver.
Briar est développé par le Briar Project, un collectif de développeurs, de hackers et de partisans du logiciel libre, principalement basé en Europe.
New Vector :
Bridge telegram, libera.chat geeknode, signal et whatsapp
Chiffrement des messages et médias de bout-en-bout Oui, et audité en 2014 Oui, et audité récemment. Audit chiffrement financé par secteur médical allemand idem Matrix.org Oui, en 2013
Chiffrement des groupes par défaut Oui Oui Oui, sauf salons bridgés
Chiffrement des Métadonnées Oui, Sealed Sender : rédacteur du message généralement chiffré. Nom, description et membres du groupe chiffré sur le serveur. Seuls participants ont accès Non Non Pas de métadonnées sur un serveur
Rétention des métadonnées supprimé une fois le message acheminé. Conserve la date d'enregistrement et de dernière utilisation Infini, sans contrôle sur les salons de la fédération ouverte. 6 mois : Suppression messages et salons inactifs. Suppression sur demande Seul le statut de connexion peut être vu par un contact
Un message supprimé sur mon serveur peut être conservé sur un autre idem Matrix.org
Inscription pseudonymisée Non, téléphone et Accès contacts Android, données hashées sur le serveur Non, validation email nécessaire Oui, par défaut chez ARN Oui, identifiant unique
Protection des numéros de téléphone d’un groupe en cas d’intrusion Non Oui, Pseudo trouvable via mail ou numéro si renseigné sur serveur d'identité Oui, serveur d'identité déconseillé Oui
Audit du code serveur et client par un expert sécurité indépendant Oui, en 2014 Non, mais code Open Source et utilisé par état français => ANSSI? Secteur médical et armée allemands idem Matrix.org Oui, en 2013
Architecture serveur décentralisée Non, serveurs aux USA Oui, Serveur aux UK, Fédération avec tous les serveurs Matrix Oui, serveur en France, participation gouvernance sur la fédération Oui, pas de serveur
Fédération des métadonnées Non Oui, avec tous les serveurs qui ont au moins un utilisateur pour un salon donné Oui, avec tous les serveurs qui ont au moins un utilisateur pour un salon donné
Possibilité d’ajouter un contact sans passer par un serveur d’adresses ? Non Oui Oui Oui, via son identifiant
Usage sans ordiphone Non, via client non officiel signald Oui Oui Oui?

Article précédent