Qu'est-ce que SimpleX Chat
SimpleX est une plateforme qui offre une alternative aux autres applications de messageries centralisées ou fédérées, notamment Signal grâce à une confidentialité totale, aucun identifiant, protège contre le spam et l'utilisateur-trice a le contrôle sur ses données car elles sont stockées sur l'appareil (pas sur un serveur centralisé)
Composants
Cette application utilise la plateforme SimpleX qui se compose de plusieurs éléments:
SimpleX Messaging Protocol (SMP) est un protocole permettant d'envoyer des messages dans une direction à un destinataire, en s'appuyant sur un serveur entre les deux. Les messages sont délivrés via des files d'attente unidirectionnelles créées par les destinataires.
SMP repose sur un protocole de transport (TLS par exemple) qui assure l'intégrité, l'authentification du serveur, la confidentialité et la liaison au canal de transport.
Un serveur SimpleX est l'un de ces serveurs.
Le réseau SimpleX est le terme utilisé pour désigner l'ensemble des serveurs SimpleX qui facilitent le SMP.
Les bibliothèques des clients "SimpleX parlent" SMP aux serveurs SimpleX et fournissent une API de bas niveau qui n'est généralement pas destinée à être utilisée par les applications.
L'agent SimpleX s'interfacent avec les clients SimpleX pour fournir une API de plus haut niveau destinée à être utilisée par les applications. Ils sont généralement intégrés sous forme de bibliothèques, mais sont conçus de manière à pouvoir être abstraits dans des services locaux.
https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md
Comment ça fonctionne
L'article a pour vocation d'expliquer simplement comment SimpleX fonctionne, des raccourcis peuvent pris, tout le détail sur son fonctionnement est accessible ici: https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md
SimpleX Chat utilise les différents composants mentionnés plus haut. Concrètement SMP (Simple Messaging Protocol) est le protocole de communication utilisé par les éléments du réseau pour s'échanger des messages, l'agent SimpleX est utilisé comme couche d'abstraction pour simplifier la gestion des opérations, il va aussi offrir des fonctionnalités comme rajouter du bruit dans le but de protéger la vie privée de personnes qui utilise l'application.
L'utilisation de queues de messages ou files d'attentes (simplex queues) est la différence majeure avec d'autres plateformes comme WhatsApp, Signal ou encore Matrix. Contrairement aux autres plateformes, SimpleX ne demande pas la création de compte, et les utilisateur-trice-s n'ont pas d'identifiant à proprement parler.
Pour les personnes qui utilisent l'application, le fonctionnement ne diffère pas d'une autre plateforme de messagerie.
Il faut dans un premier temps créer une adresse SimpleX qui peut être utilisée qu'une fois ou persistante.
Pour expliquer, Bob veut envoyer un message à Alice. Alice va partager son adresse SimpleX créée précédemment à Bob, lorsque Bob va rajouter son contact, Alice va recevoir une demande qui offre la possibilité de refuser ou d'accepter.
Après avoir accepté la connexion, le processus de création de queue va démarrer sur le serveur SMP, elle sera utilisée par Bob pour déposer (en quelque sorte) les messages à destination de Alice et c'est ensuite son application qui se chargera d'aller récupérer les messages et de les afficher dans SimpleX Chat. Cette partie de création de queue doit être fait pour Bob aussi pour qu'Alice puisse envoyer des messages et lui répondre, un autre serveur SMP peut être utilisé, ce qui permet d'améliorer la résilience et la vie privée des utilisateur-trice-s. Le processus complet est bien plus complet et peut être retrouvé ici.
A la fin 2 queues auront été créés pour cette discussion entre Alice et Bob
Une utilisée par Bob pour envoyer un message à Alice
Une pour qu'Alice envoie un message à Bob
Finalement le serveur ne verra qu'un client aller récupérer des messages mais n'aura pas du tout la vue complète avec qui cette personne communique, quand et à quelle fréquence. Dès qu'un message est récupéré par une personne, il est supprimé de la queue sur ce serveur. Contrairement à d'autres applications plus centralisées où un serveur central comme sur Telegram ou Mastodon se charge de réceptionner les messages, stocker et notifier les différents clients.
D'autres fonctionnalités sont intéressantes et proposent une réelle solution pour protéger ses données et sa vie privée:
Incognito mode
Permet de protéger son profil (image et pseudo) en ne transmettant pas ces informations lors d'une nouvelle discussion. Un nom aléatoire est généré pour chaque nouveau contact ce qui offre la possibilité de discuter avec 2 personnes et qu'ensemble ne puisse pas savoir qu'elles ont une discussion avec une personne commune. On peut comparer ça à la navigation privée d'un navigateur.
Live message
Cette fonctionnalité peut sembler inutile au premier abord mais elle peut être utile dans certains cas. Elle permet d'écrire des messages sans devoir les envoyer, le destinataire verra en direct (en étant devant son téléphone) ce que vous tapez, pas besoin d'attendre ce qui peut être utile dans un endroit où le ne peut pas parler mais que l'on veut échanger des informations ou encore, donné comme exemple sur le site https://simplex.chat/:
Un militant qui fait des reportages en direct lorsqu'il risque de perdre son téléphone ou sa connexion à tout moment. Cette fonction permet d'envoyer autant de messages que possible, jusqu'au dernier mot, sans avoir à envoyer uniquement des messages très courts.
Chat profile
Différent du mode "incognito" cette fonctionnalité offre la possibilité de séparer ses différentes discussions tout en ayant un profil complet avec une photo et un nom et en pouvant facilement naviguer entre eux
Conclusion
Cette application propose une alternative plus décentralisée et moins invasive (pas besoin de numéro de téléphone notamment) à Signal, néanmoins des challenges, comme la possibilité de synchroniser ses discussions sur plusieurs appareils ou encore une gestion optimale des grands groupes sont là et doivent être résolus pour permettre à SimpleX Chat de se démocratiser.
No Trust Verify met à disposition un serveur SMP, pour l'ajouter vous pouvez utiliser cette adresse smp://
HZOF26feHaaMXqYuLTzhBFB652DEYENZEN8zpLxIeKs=@simplex.notrustverify.ch
ou en scannant le QR code ci-dessous
Dans de prochains articles, nous allons détailler comment utiliser l'application, par exemple améliorer sa sécurité en utilisant Tor et d'autres mécanismes proposés, ajouter d'autres serveurs SMP dans l'application et comment est géré l'envoi de fichiers
Ressources
Télécharger SimpleX Chat
Liens utiles
Subscribe to my newsletter
Read articles from cgi-bin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by