Messagerie chiffrée. Pourquoi pas XMPP ?

XMPP. Création de compte Conversations

Après l'annonce d'une messagerie célèbre qui décide d'officialiser (et d'obliger) le partage de toutes les données personnelles de ses clients, l'écosystème de la messagerie instantanée semble vouloir évoluer un peu ; les utilisateurs étant prêts à essayer d'autres alternatives.

La demande se dirige vers des applications promettant la sainte discretion, et les comptes créés en masse, ces derniers temps, sur l'application Signal en sont la preuve. Mais Signal, bien que #opensource fonctionne sur un système centralisé ; ce qui lui a valu une interruption générale de son service après cette montée en charge subite. De plus, ce service 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.

Enfin, 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 et par le niveau de liberté qu'elle offre. En anglais, dans le texte ici

Pour résumer, rapidement

Avec XMPP, vous n'avez pas besoin de laisser un numéro de téléphone, et dans une grande majorité des cas, ni votre adresse de courriel. Juste un pseudo suffit que l'on appelle un JID. Sur smartphones Android, installez la bibliothèque d'application f-droid puis l'application Conversations ou Blabber (gratuite sur le PlayStore). Ouvrez-la, ajoutez un compte (voir plus bas les prestataires), et c'est tout ! On peut continuer aussi de converser sur PC “linux” avec Dino ou Gajim et pour ce dernier, sur un système d'exploitation propriétaire.

D'autres logiciels clients multi-plateformes sont proposés sur le site officiel des clients XMPP

XMPP, l'alternative libre, décentralisée, chiffrée

Je vais donc vous proposer un peu plus bas, une possible – parmi tant d'autres – solution #Libre, décentralisée et fédérée pour converser et échanger librement vos données avec vos proches. Cette 'alternative' existe depuis 1999 – oui, plus de 22 ans, et a évolué presque exclusivement pour le meilleur grâce à des développeurs de logiciels qui facilitent grandement son utilisation.

Cette solution utilisant un ensemble de protocoles standards ouverts est plus connue sous le nom XMPP ou jabber.. Grâce à elle, il est possible de communiquer avec ses pairs de façons sécurisée et chiffrée, sans laisser aucune de ses coordonnées personnelles. Un simple pseudo suffit. Il est même possible d'utiliser plusieurs type de chiffrements mais le plus commun aujourd'hui semble bien être #OMEMO.

On fait quoi avec ?

On peut s'envoyer de simples messages textes, des photos, mais aussi depuis 2020, effectuer des appels audio et vidéo. Le transit se fait en pair à pair (le fameux #p2p), sauf si vous êtes tributaire d'une NAT. Pour le moment, les communications vidéo, avec l'application Conversations 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 ce protocole, il est tout à fait possible aussi de créer plusieurs salons totalement privés et chiffrés dédiés uniquement, par exemple, à quelques membres de sa famille, à ses ami(e)s, et à ses collègues de travail. On peut aussi créer des salons publics pour parler de sujets spécifiques (couture, sysadmin, Fans d'une série...) avec de parfaits inconnus. À noter que logiquement, le chiffrement n'est possible que sur les conversations et les salons privés, pas avec les salons publics.

Quelle solution je propose ?

Tant qu'à se pencher du côté du Libre, autant bien commencer, même avec les moyens du bord.

Sur smartphone, sous Android

Si vous n'avez pas F-Droid, commencez par vous rendre sur son catalogue installable d’applications libres et open-source. Installez l'application, ouvrez la, et cherchez ensuite dedans le logiciel Conversations de Daniel Gultsch : L'application est gratuite sur le catalogue libre, et payante sur le Play Store. le chiffrement OMEMO est intégré et automatique.

Et ensuite ?

Après avoir installé le logiciel #Conversations, vous pourrez vous créer un compte, chez un prestataire ou chez vous. Si vous aimez l'auto-hébergement, il vous faudra procéder à l'installation d'XMPP et le configurer. L'ami Dryusdan vous explique comment faire.

Chapril, c'est bien !

Du côté des prestataires, si vous ne voulez ou pouvez pas vous auto-héberger, je vous recommande vivement d'aller voir ce qui se passe chez Chapril, le #CHATONS d'April. Plus d'infos. Vous aurez 500Mo d'espace disponible pour vos échanges. La taille maximum d'un fichier à envoyer est de 250Mo. Pas de conservation des adresses IPs. Pas de limite pour l'historique des messages (lorsqu'il est activé, sachant qu'avec Gajim ou Conversations, il est purgeable) Le service est gratuit, alors, n'hésitez pas à soutenir l'association ; à votre bon coeur, ce CHATONS le mérite.

Dans l'application Conversations, à la création de votre compte, choisissez “Utiliser votre propre fournisseur” et renseignez tout simplement votre “pseudo@chapril.org” et un mot de passe fort. Un simple captcha libre est à calculer pour confirmer. Cette identification – votre pseudo@domain.tld – s'appelle un JID. Voilà, c'est tout,

Un autre prestataire ?

Vous pouvez aussi choisir un autre prestataire. On peut citer l'association jabberFR, un autre CHATONS à soutenir, ou encore disroot que vous pouvez soutenir aussi. Enfin, parmi tant d'autres, on peut également retenir dismail.de à soutenir ici. Suivant le prestataire choisi, la création d'un compte se fait juste en renseignant dans l'application “pseudo@prestataire.domaine” et un mot de passe.

Ne pas oublier le clavier également !

Sur les smartphones, la première application que vous utilisez, c'est le clavier. Il y a de fortes chances que ce dernier soit privateur, et enregistre toutes les frappes que vous faites pour les transmettre à votre insu chez le fabricant du téléphone et chez Google. Sympa, non ? Communiquer de façon chiffrée perd un peu plus de son sens premier. Pour tenter de rémedier à ce problème, il faut changer son clavier. Puisque vous avez certainement installé F-Droid, je vous conseille d'installer un clavier Libre, comme mon préféré, compatible 'bépo' OpenBoard, Anysoft keyboard, ou le très épuré et léger Simple keyboard

Quelques informations techniques

Le chiffrement qui devient populaire sur ce protocole est OMEMO, issue de celui de l'application Signal. Il utilie la propriété cryptographique PFS (Perfect Forward Secrecy) ou (Confidentialité persistante), ce qui signifie, en théorie, que pour chaque matériel utilisé (smartphone, PC...), une clé de chiffrement différente sera générée. En théorie, et dans les règles des bonnes pratiques de sécurité, mais il est possible après l'installation d'un nouveau système d'exploitation de réutiliser ses clés.

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. XMPP est aussi fédéré, en fonctionnant sous la forme d'instances, ce qui signifie qu'un utilisateur chez Chapril peut communiquer en toute transparence et en privée avec un utilisateur chez Disroot ou Dismail.

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 TORifier sa connexion pour plus de vie privée.

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

Pour me rejoindre ?

Vous pouvez me contacter en privé sur XMPP. Mon JID est: echolib@chapril.org. J'ai également créé un salon public nommé #LibreAlternative pour partager et faire découvrir les logiciels Libres. À très bientôt.