Aller au contenu principal

Messagerie chiffrée. Pourquoi pas XMPP ?

/images/previews/preview_blabber_keyboard_bepo_echolib.jpg

Pourquoi choisir XMPP, qu'est-ce que c'est, quel est l'intérêt d'un tel choix, et encore comment franchir le cap et l'utiliser ? Je vous explique pourquoi ce choix, et comment faire pour enfin devenir moins dépendant, tout en redonnant à votre vie privée un véritable sens...

Sommaire

Avant-propos

Il est important de comprendre que l'on ne devrait pas choisir une application parce qu'elle est jolie, mais par la technologie qu'elle utilise. En anglais, dans le texte ici Comment faire alors ? Sachez qu'il existe d'autres alternatives comme l'utilisation d'XMPP. N'oubliez pas que si vous voulez communiquer de façon chiffrée, il est recommandé d'utiliser également un clavier libre comme Openboard

L'alternative XMPP

XMPP (Wikipédia) est un ensemble de protocoles standards ouverts - donc libres, créé en 1999 ! Selon le site officiel de XMPP, des millions d'utilisateurs s'en servent. Ces protocoles continuent d'évoluer et permettent à des développeurs de proposer des clients XMPP facilitant grandement son utilisation.

Grâce à cet écosystème, il est possible de communiquer avec ses pairs de façons plus sécurisée puisque XMPP est décentralisé, chiffré et fédéré. Pour l'utiliser, Il n'y a pas besoin de laisse de numéro de téléphone et en général, selon les fournisseurs, ni d'autres coordonnées personnelles privées. Un simple pseudo et un mot de passe suffisent pour se créer un compte.

Les communications sont :

  • chiffrées : (lorsque privées) grâce au standard OMEMO, créé par Signal.

  • décentralisées : les serveurs peuvent être n'importe où.

  • fédérées : les communications passent par des serveurs différents

Que faire avec XMPP

On peut s'envoyer de simples messages textes, des photos, des documents, et des vidéos de façon classique. Depuis 2020, on peut aussi effectuer des appels audio et vidéo ; leur transit se faitant en pair à pair (p2p) - sauf si vous êtes tributaire d'une NAT (Wikipédia). Pour le moment, les communications audio/vidéo se font uniquement entre 2 personnes mais à l'avenir, il se pourrait que les conférences deviennent une réalité, tout comme le fait Jitsi Meet.

Avec son compte, il est tout à fait possible aussi de créer plusieurs salons de discussions privés et chiffrés, mais aussi des salons publics ; logiquement non chiffrés pour ces derniers. Vos salons privés (avec un joli nom) peuvent être par exemple :

  • Salon 1. réservé à quelques membres de votre famille

  • Salon 2. réservé à vos ami(e)s

  • Salon 3. réservé à votre entreprise

Quant aux salons publics, il est intéressant de les dédier chacun à l'une de vos passions (couture, sysadmin, séries, etc). Ils seront visibles, deviendront communautaires, et permettront à n'importe qui de les rejoindre et d'entammer des discussions très instructives. Il est aussi possible de créer des salons publics demandant un mot de passe.

Enfin XMPP étant extensible, on peut par exemple rejoindre des salons IRC (Wikipédia)

Quelle application choisir

De nombreux clients XMPP existent aujourc'hui pour converser via ces protocoles, mais certains ont plus de popularité que d'autres. Il y en a pour "tous" les systèmes et on peut citer les principaux à recommander :

Conversations fonctionne sur un modèle payant (sur le PlayStore et via un abonnement possible à l'instance Conversations.im). Mais il est possible de l'utiliser gratuitement en la téléchargeant sur f-droid et en utilisant des instances différentes.

Blabber est un fork de Conversations proposant quelques modifications, notamment au niveau de l'interface, le rendant plus agréable à utiliser. Blabber est aussi disponible sur f-droid ou via le PlayStore. Si votre ordiphone est sous Android, je vous recommande vivement de télécharger vos applications depuis la logithèque f-droid.

Quel serveur choisir

Vous pouvez installer votre serveur chez vous, sur un VPS, ou utiliser un serveur tiers, généralement proposé par les CHATONS. Pour faire simple, voici une petite liste non exhaustive de collectifs vers qui vous pouvez vous tourner. C'est presque toujours gratuit, alors n'hésitez pas à les soutenir.

Comment se créer un compte

Capture d'écran de Blabber : création de compte

Après avoir choisi l'un des fournisseurs (cités ci-dessus), ouvrez votre application, et créez votre compte en remplaçant MonPseudo@fournisseur.tld par celui que vous avez choisi. Sur l'exemple donné dans l'image (via Blabber), vous vous créeriez un compte chez chalec.org gratuitement. Oui, c'est tout ! À noter que selon le fournisseur, il faut passer par une page web dédiée pour se créer un compte.

Informations techniques

Le chiffrement qui devient populaire sur ce protocole est OMEMO (Wikipedia), issue de celui de l'application Signal. Il utilie la propriété cryptographique PFS (Perfect Forward Secrecy) ou Confidentialité persistante (Wikipédia), ce qui signifie que pour chaque matériel utilisé (smartphone, PC...), une clé de chiffrement différente sera générée.

XMPP fonctionne de manière très proche de celui des emails. Les logiciels clients intègrent la technologie MAM (Message Archive Management), assimilée à IMAP, ce qui permet de retrouver l'historique des conversations sur ses différents appareils. Cet historique est variable suivant le prestataire.

Du côté des informations que l'on peut laisser traîner sur les serveurs, en utilisant XMPP, on notera l'éternelle carte d'identitié numérique : l'IP. Sont aussi visibles par les administrateurs du serveur, la date et le pseudo de celui qui envoie. Bien sûr, le contenu chiffré n'est pas visible. Il est donc recommandé, dans certains cas extrêmes de passer par TOR (project) pour plus de vie privée.

Enfin, voici un tableau comparatif des messageries populaires sur le wiki de JabberFR.

Le contexte

WhatsApp

Quand une messagerie célèbre comme WhatsApp décide d'officialiser le partage de toutes les données personnelles de ses clients, ces derniers ne peuvent que s'interroger sur la réelle importance de ne pas laisser traîner leurs données personnelles n'importe où.

Pour rappel : Whatsapp est un service américain hébergé aux USA, opéré par Facebook, dont le financement provient exclusivement des données personnelles des utilisateurs ; c'est même indiqué dans leurs CGU pour l'ensemble des métadonnées. De plus, même si Whatsapp annonce que le contenu des messages est chiffré, le code source de leur serveur et de leur application sont tous deux privateurs, inaccessibles, et inauditables. Ils peuvent donc mentir et le font probablement, sinon ils ne seraient pas rentables. Enfin, puisque Whatsapp n'a pas de contrat/convention avec le conservatoire, cela veut dire que c'est Facebook qui est responsable de la collecte des données personnelles, d'après le RGPD : il est nécessaire de leur donner un consentement explicite, libre et eclairé afin d'utiliser le service. Il est possible de refuser considérant que c'est un problème éthique et de sûreté des données personnelles mais combien de leurs utilisateurs en ont vraiment conscience ?

Signal

Suite à cette demande de consentement du partage des données personnelles par WhatsApp, un mouvement important de migration s'est produit vers l'alternative Signal, qui en a profité pour mettre en avant ses avantages de confidentialités. Ceci a eu pour effet de produire une coupure de son service, notamment liée au fait que Signal utilise des serveurs centralisés.

Les utilisateurs pensant s'émanciper vers son application promettant la sainte discretion ne savent pas qu'ils ne font que déplacer le problème. Comment faire confiance à ce service qui transite par des serveurs chez le géant américain Google, aux pratiques de surveillances reconnues, chez Amazon AWS pour son adresse en .org et sa messagerie 1:1, et chez Microsoft pour le CDN ? Coucou les GAFAM ! Sachez aussi que si Signal se revendique open-source, ce n'est pas le cas avec leur serveur, par où passent toutes vos communications. Impossible donc, comme pour WhatsApp, de savoir ce qui se trame avec vos messages...