SCOP d'ingénieurs experts du logiciel libre depuis 2004
+33 1 70 61 60 16

Element vs Cwtch : de la confidentialité à l'anonymat

Confidentialité et anonymisation des messageries instantanées Cwtch et Element

Privacy

Notre prochain webinar

Alors que le Web3 promet de mettre à l'honneur l'open source, la décentralisation, la confidentialité, l'interopérabilité et plein d'autres vertus qu'on trouvera en route, il est une promesse de messageries respectueuses de votre vie privée, toujours décentralisées, et pour certaines, susceptibles de vous proposer par défaut de l'anonymisation. Il s'agit d'ailleurs là de deux notions que l'on a souvent tendance à confondre. Nous avons choisit de poser notre dévolu sur deux de ces messageries (et une en bonus), toutes deux hautement recommandables, mais qui ne répondent pas forcément aux mêmes besoins, et donc aux mêmes usages. Elles sont ainsi parfaitement complémentaires.

privacy-bear

La notion de confidentialité

Pour résumer et avec des mots simples, la confidentialité consiste à protéger vos communications et non votre identité. L'étape la plus évidente et la plus critique est la phase du transport des données. Ces données transitent sur le réseau et sont sujettes à l'interception par des tiers.

On parle alors de chiffrement de bout en bout pour protéger vos données, tant pendant leur transport que pendant leur stockage . Attention, lorsqu'on vous parle de chiffrement de bout en bout, on parle rarement de chiffrement au repos (lors du stockage), cette notion ne couvre que le transport des données et implique que le service utilisé propose un moyen d'assurer un chiffrement qu'il ne peut lui même casser / déchiffrer (à l'aide d'une clé unique)... et c'est souvent là que les gros acteurs des messageries vous promettent plein de belles choses, mais il ne faut surtout pas trop gratter.

On découvrirait par exemple que Zoom ne chiffrait pas de bout en bout (il a fini par se décider en octobre 2020 ), que Messenger peut tout à fait lire vos messages, mais que comme ça commence à se voir, on va quand même faire un truc mais pas par défaut ... les exemples sont légion. On ajoutera pour les GAFAM que l'Europe, chargée de plein de bonnes intentions sous la bannière de l'interopérabilité, pourrait même casser (bien involontairement) le chiffrement de certaines applications comme WhatsApp et Signal... un comble.

Mais là encore, il y a peut-être un standard cryptographique interopérable pour les messageries et respectueux de la confidentialité qui pourrait naître de cette initiative, même si en l'état, on peut avoir des raisons de se méfier des effets de bords sur les services de ces géants de l'IM (en termes de nombre d'utilisateurs). Depuis que Google s'est dé-Jabberisé, on a vu éclore de gros acteurs, chacun y allant de son protocole maison et d'implémentations cryptographiques plus ou moins exotiques, faisant systématiquement peser de sérieux doutes sur cette notion même de confidentialité de nos échanges.

L'anonymat

L'anonymisation fait appel à des mécanismes plus avancés et des mesures simples et logiques pour protéger votre contexte. Ainsi vous pourrez trouver des solutions de messagerie apportant un niveau satisfaisant de confidentialité, mais trouver une application qui vous apporte un niveau satisfaisant d'anonymisation, c'est un non-sens. L'anonymat ne se fait pas à moitié, on est anonyme ou on ne l'est pas. Un niveau de confidentialité se mesurera par les algorithmes de chiffrement choisis, sur leur robustesse tant pendant le transport que dans le stockage, ainsi que dans l'architecture. Sur ce point tout le monde s'accorde à reconnaitre les bénéfices de la décentralisation, bien que ce ne soit pas ici un critère essentiel si l'on s'en tient à la stricte confidentialité et que le protocole demeure respecteux d'appliquer les meilleures pratiques de chiffrement. Une messagerie centralisée peut ainsi apporter un niveau satisfaisant de confidentialité, mais pour l'anonymat, c'est tout de suite bien plus discutable.

Lorsque l'on commence à dealer avec l'anonymat, c'est une autre paire de manches. Il n'est plus ici question de la protection des données seules. Certes, les applications sur lesquelles nous porterons notre choix devront au bas mot répondre aux critères de confidentialité, mais elles se doivent d'apporter des mécanismes de protection du contexte supplémentaires pour répondre à une problématique bien différente. Il ne s'agit plus de protéger la charge utile seule, il convient de protéger l'identité (que nous prendrons soin de définir un peu plus précisément) de l'émetteur et du récepteur.

Pour vous illustrer au mieux les différences entre ces deux notions, nous allons nous pencher sur deux systèmes de messagerie très respectables, c'est à dire : libres, décentralisés, chiffrés, dont un fait la promesse de protéger la confidentialité de vos échanges : Element , et l'autre, la promesse de protéger votre anonymat, il s'agit de Cwtch (à vos souhaits).

Element : libre, élégant, moderne et respectueux de votre confidentialité

Element (que l'on connaissait préalablement sous le nom de Riot et reposant sur le protocole Matrix ) permet les discussions de groupes, elle remplacera avantageusement un Telegram, un Slack, ou tout simplement notre bon vieil IRC que l'on a souvent tendance à oublier. Element est proposé en open source (vous pouvez héberger votre serveur de discussion et le code des clients est également disponible). Niveau fonctionnalités, Element propose l'échange de fichiers, les appels audio, la visioconférence de groupe en P2P, et des salons (via WebRTC). La plus grosse communauté se concentre sur le réseau de matrix.org et regroupe bon nombre de salons de projets open source. Oui; Element peut se permettre d'être aussi complet car il n'a pas pour promesse l'anonymisation.

Et puisque c'est de chiffrement dont il est question, la première étape pour pouvoir jouir d'Element convenablement sera d'aller faire un tour dans les paramètres de l'application afin de générer votre clé privée.

article_9-element-01.png

article_9-element-02.png

Pour encore plus de confidentialité et surtout vous assurer que vous parlez bien avec la bonne personne, vous pourrez activer l'option de vérification manuelle de chaque session.

article_9-element-03.png

Element a su montrer patte blanche au sein de nombre d'organisations dites sensibles, c'est par exemple lui que l'on retrouvera au sein de structures gouvernementales comme celle de l'État français, puisque Matrix peut agir comme une glue avec différents protocoles comme celui de Slack, Telegram, IRC ou encore Jitsi.

On trouvera parmi ses contributeurs actifs Protocol Labs à qui nous devons IPFS qui mériterait un article à lui seul, ou d'autres projets comme libp2p et Filecoin . Bref il y a du lourd derrière Element. A l'heure actuelle, Element serait le condidat parfait pour "remplacer" s'il en était besoin IRC, mais il s'agit là d'un autre débat et je vais donc me passer de donner mon avis sur ce point.

Cwtch : l'anonymat over Onion v3

On ne présente plus Tor et les services qu'il rend depuis des années, son écosystème, sorti du Torbrowser peu sembler plus obscur même si on voit des implementations de ce protocole dans des applications modernes. Tor c'est avant tout un protocole de routage dit en "Onion", que l'on peut faire tourner comme un service (par exemple lancé au démarrage de votre machine). Il écoute par défaut sur le port 9050 et vous pouvez, si votre application le permet, faire passer son trafic sur le réseau de Tor en la faisant écouter sur ce port, en mode proxy Socks).

Tor a récemment fait évoluer son protocole et la transition de Onion v2 à Onion v3 a été initiée au courant de l'été 2021 pour une dépréciation de Onion v2 en octobre 2021 .

Pour une couche supplémentaire de protection de votre identité, vous pouvez par exemple entrer sur Tor via un VPN (VPN qui rappelons le, n'est en aucun cas garant de votre anonymat). Cependant, si vous utilisez Tor avec votre navigateur du quotidien ou avec d'autres applications, sachez que ces dernières ne sont par défaut pas configurées afin de restreindre au maximum la transmission de certaines métadonnées pouvant trahir des éléments de votre identité (les locales, les extensions, les thèmes, les versions de librairies tierces... sont autant de petits détails qui peuvent fuiter). C'est d'ailleurs dans cette optique que les développeurs de Tor proposent le TorBrowser et vous expliquent dans leur documentation les choses à éviter de faire pour une protection optimale.

Et c'est également avec ces préoccupations en tête que Cwtch se propose d'être une messagerie optimisant tout ces petits détails pouvant paraitre anodins mais qui constituent le plus important avec l'anonymisation : la protection de l'intégralité de votre contexte.

article_9-cwtch-01.png

Cwtch (à prononcer "Keutch") est une messagerie multipartite décentralisée qui tire parti du protocole Onion V3, la colonne vertébrale protocolaire du réseau Tor (The onion router). Cependant vous ne trouverez pas, comme sur Element un réseau tel que celui proposé par matrix.org. Cwtch offre donc une solution de messagerie anonymisante, elle supporte les profils multiples (pour choisir vos identités en fonction des contextes).

Rappelons au passage la notion d'identité :

  • l'identité déclarative : qui je déclare être (on choisira le plus souvent un pseudonyme) ;
  • l'identité agissante : ce que je fais et ce que je dis sur un réseau ;
  • l'identité calculée : celle qui est "vue"/calculée/déduite par le système informatique sur lequel j'évolue en se basant en grande partie sur les métadonnées.

article_9-cwtch-02.png

article_9-cwtch-03.png

L'objectif de Cwtch est donc de vous laisser déclarer ce que vous voulez et agir comme bon vous semble mais de rendre impossible (ou bien plus compliquée) toute déduction/calcul par un SI de votre identité. Pour échanger avec une personne, vous n'avez besoin que de lui communiquer une clé publique, que cette dernière devra explicitement ajouter (cette notion de consentement explicite est au coeur de la logique de Cwtch).

Si vous nous avez suivis jusque-là, vous avez la démonstration de la différence entre pseudonymat et anonymat et vous aurez le droit de la replacer lors de vos conversations mondaines ou lorsque vous entendrez tonton Augustin s'indigner à propos du sempiternel poncif "Internet : ce repaire de lâches anonymes".

Cwtch est l'oeuvre d'une petite équipe de développeurs officiant pour une non profit d'origine canadienne, OpenPrivacy . Niveau fonctionnalités, c'est moins fournit qu'Element, vous pourrez transférer des fichiers mais vous ne pourrez pas passer des appels vocaux ou video par exemple. Chaque action dans Cwtch est soumise à consentement et les options disponibles inspirent confiance, on voit que c'est bien d'anonymat dont il est question.

En activant les "expériences", vous vous ouvrirez la porte à des fonctionnalités supplémentaires, mais attention, ces dernières ne garantiront pas à 100% l'anonymisation, vous serez susceptibles de faire fuiter certaines métadonnées.

article_9-cwtch-01.png

Le serveur est disponible ici et vous trouverez des implémentations PC et mobiles, avec leur code.

Le gros avantage que Cwtch offre, c'est de pouvoir être contacté et de contacter de manière anonyme, et ce en toute simplicité. Il s'agit d'une fonctionnalité que l'on imagine tout de suite ultra pratique pour des journalistes qui souhaitent offrir des garanties d'anonymat à leurs sources. Ou pour offir la possibilité, à des sources, de transmettre des informations de manière sécurisée et anonyme, en passant outre un système de surveillance et de censure élaboré.

Et sur mobile ? Olvid !

C'est là que tout se corse lorsque l'on souhaite s'anonymiser. Si votre objectif se borne à la confidentialité, Element sera dans son rôle. Il semble qu'il est encore un peu tôt pour Cwtch d'être en mesure d'offrir ses fonctionnalités avec la même assurance d'anonymisation. Mais tout n'est pas perdu.

Nous allons donc vivement vous recommander de jeter un oeil à Olvid qui a fait un travail remarquable. Cette application de messagerie étant en outre d'origine française et auditée par l'ANSSI, on ne boudera pas notre plaisir à l'utiliser en lieu et place d'un Signal (et non, pas pour vos SMS, mais vous pourrez l'utiliser dans votre navigateur via le client web ). Elle offre de l'authentification forte, du chiffrement de bout en bout avec confidentialité persistante (PFS) et elle offre même la promesse d'anonymisation en exposant aucune métadonnée... une véritable prouesse sur mobile. On souhaiterait qu'elle prenne en charge les SMS comme Signal le propose, attendu que là encore, si vous faites confiance à Google, vous vous faites gentiment pigeonner .

Enfin sur plateforme mobile, n'oubliez pas que la confidentialité et l'anonymat que vous obtiendrez ne pourra pas aller au-delà de la confiance que vous placez dans Apple ou Google si vous utilisez respectivement iOS et Android : ce n'est pas vous mais ces entreprises qui décident du code qui tourne sur votre téléphone et ont tout loisir d'intercepter s'ils le veulent vos messages avant même qu'ils soient chiffrés par les applications. N'oubliez pas qu'un logiciel de confiance, ça ne marche que sur un OS de confiance - comme par exemple LineageOS .


L'équipe Bearstech

Inscrivez-vous à notre newsletter

Mieux comprendre le monde du DevOps et de l'administration système.

Abonnez-vous à notre newsletter

Hébergement & Infogérance

  • ✓ Service Astreinte 24h/7j/365
  • ✓ Supervision, monitoring & Alertes
  • ✓ Mises à jour en continu
  • ✓ Certificat SSL letsencrypt
  • ✓ Hébergement dédié sécurisé en France
  • ✓ Backup vers datacenter distant
Découvrir notre offre

Expertise Technologique

Notre équipe possède une vaste expertise technologique.