Comment choisir sa messagerie instantanée

FX Thoorens
8 min readJan 19, 2021

Suite à la débacle Facebook/WhatsApp qui a provoqué une migration massive des utilisateurs vers d’autres applications de messagerie, notamment Signal, il est bon de comprendre le problème pour pouvoir utiliser correctement ce genre d’outil.

Ayant reçu de multiples demandes de la part de mon entourage sur quelle messagerie utiliser et pour quelles raisons, j’essaye de synthétiser ici les problématiques qu’il faut garder à l’esprit pour choisir la bonne application.

Photo by Austin Distel on Unsplash

Pour quoi une application de messagerie

Il faut savoir pour quel objectif on utilise une messagerie. En général, la compréhension la plus partagée est de pouvoir partager des informations privées avec des tiers. Ces tiers requièrent une confiance qui peut varier à grande (famille ou entreprise) à moyenne (périmètre des connaissances) voire nulle (inconnu, ennemi). De plus ces niveaux de confiances peuvent varier dans le temps. Au delà des différences de confiance, l’expérience utilisateur homogène pour communiquer requiert donc des solutions qui doivent être sécurisées pour le pire des cas.

Par ailleurs il est clair que tout le monde s’accorde sur le fait que nos communications doivent être entièrement privées, c’est à dire que personne (entreprise ou état) ne soit en position d’utiliser les informations échangées pour des objectifs détournés. Certains argumenterons qu’il faut bien financer un produit gratuit, et dans ce cas c’est vous le produit. De fait, pour avoir un produit pérenne il faut un business model derrière.

La vérité c’est que des solutions techniques efficaces existent mais que leur adoption est semée d’embûches.

La sécurité informatique est une science TRÈS subtile

Hélas, la sécurité est quelque chose qui va bien au delà des certifications dans le domaine qui peuvent exister. C’est une alchimie qui se trouve aux confins de la psychologie, de la technologie et du darwinisme.

Entrez dans la matrice et surtout ne sortez pas

Depuis le début de l’histoire de l’humanité, la sécurité d’une information est universellement comprise comme étant liée à la capacité de chiffrer les informations. Du chiffrement César jusqu’au système AES256 utilisé en informatique aujourd’hui, si le protocole est assez résistant, tout va bien.

0-day

Cependant il y a un hic dans cette logique. Si d’aventure une partie adverse trouve le moyen de contourner votre technologie, vous ne saurez jamais si le message a été intercepté, sauf à trouver aussi vous même un moyen de contourner votre propre technologie. C’est ce qu’on appelle une faille 0-day. Quand vous la découvrez, il vous est impossible de savoir si ou depuis quand cette faille à été exploitée. Il faut donc considérer l’ensemble de vos informations comme compromises.

Nul système n’étant parfait, les bugs informatiques et les nombreux piratages de données ne donne donc qu’une certitude très pauvre de la véritable sécurité de nos informations. Il est raisonnable de penser que n’importe quelle information que vous transmettez par internet, que ce soit des photos, des fichiers ou des enregistrements, sera un jour compromise et disponible sur le darknet.

C’est aujourd’hui le paradigme de sécurité des systèmes informations que vous utilisez tous les jours.

Signature

Au delà des messages chiffrés, les progrès de l’informatique ont permis de mettre au point d’autres techniques permettant la sécurité. C’est ce qu’on appelle la signature cryptographique. Le principe est simple : à une information que vous envoyez, vous apposez une signature qui sécurise à la fois l’intégrité du message et l’identité du rédacteur. En effet, chaque créateur d’information est équipé d’un identifiant, une clef publique, qu’il a distribué auparavant à chaque destinataire potentiel. Si le récepteur détient la clef publique, il pourra ainsi vérifier que le message est bien émis par le créateur et qu’il n’a pas été modifié. Et le tout sans avoir besoin de cacher le contenu message.

Aujourd’hui votre navigateur internet cache cette fonctionnalité mais elle existe bien. C’est l’objet du petit cadenas 🔒 dans votre barre internet.

Certificat d’identité de votre site internet préféré

Ce qui se passe, c’est que votre navigateur est fourni avec une liste de certificats d’identité (les fameuses clefs publiques) qui sont réputés de confiance (comme dans notre exemple “Baltimore CyberTrust Root”). Ces certificats eux mêmes signent d’autres certificats. En vérifiant la chaîne de signatures notre navigateur valide donc l’identité du site que vous utilisez (par exemple ici “medium.com”).

Vous pouvez trouver aussi ce principe par exemple sur les passeports recents qui contiennent une signature faite par les pays dont les clefs publiques sont distribuées à tous les gardes frontières.

La psychologie de l’identité numérique

Mais voilà même si cette technologie de signature est en place sur internet, elle est malheureusement utilisée de travers. C’est à dire que l’idée d’identité est détournée. Vous devez faire confiance à votre navigateur (un piratage pourrait par exemple injecter des faux certificats d’identité) et à votre site internet (quoi de plus sécurisé !).

Le problème c’est qu’à aucun moment vous êtes identifiés dans la chaîne. Tout au mieux c’est votre site préféré qui vous donne votre identité.

Car votre identité sur internet, c’est votre email, votre numéro de téléphone ou votre page facebook ou twitter. Si vous communiquez avec un ami, vous communiquez en fait avec un intermédiaire qui vous dit que vous parlez à votre ami. La chaîne de certificats ne remonte jamais jusqu’à vous.

End-to-end encryption

Pour palier à ce problème les développeurs ont planché sur des technologies qui chiffrent vos communications de point à point. Que vous passiez par un site intermédiaire ou que votre téléphone soit directement connecté à votre contact, il sera impossible de lire les messages. Ces systèmes d’information fonctionnent de la façon suivantes:

  • L’application de messagerie que vous avez téléchargé génère une identité (une clef publique) qui vous permettra de vous identifier de façon unique auprès de vos contacts — eux mêmes identifiés de la même façon. Il y a aussi une clef identifiant chacun de vos appareils qui utilise cette identité, mais ce n’est pas nécéssaire à la compréhension générale.
  • Lorsque vous enverrez des messages à l’un de vos contacts, vos ordinateurs ou téléphones vont être connectés par un réseau de signalisation transitant sur internet (plus sur cet aspect dans la suite de cet article)
  • Une fois que les appareils sont connectés directement, ils s’échangent (sans serveurs intermédiaires) directement les messages de façon chiffrée.
  • Pour des raisons pratiques, les messages chiffrés sont stockés sur un serveur intermédiaire le temps de livrer les messages si votre contact n’est pas en ligne. Ceux-ci seront effacés dès que livraison des messages est effectuée.

Le protocole le plus connu est le protocole Open Whisper Systems Signal, utilisé notamment par l’application Signal, mais aussi WhatsApp ou Viber. Il y a aussi MTProto développé par Telegram. Un autre protocole plus récent et créé par des français est Olvid.

Les metadata en disent long

Restent que pour des raisons à la fois techniques et pratiques, connecter les appareils entre eux (la signalisation) et héberger les messages le temps de la livraison se fait via un serveur intermédiaire. Ce serveur, bien que n’ayant en aucun cas accès au contenu des messages, est capable de dériver des informations telles que les dates de communications et créer un graphe de relations entre les différents identifiants (clefs publiques) qui communiquent. Pour peu que le serveur ait un autre graphe de relations, il est capable d’identifier les utilisateurs voire même l’essence des échanges d’informations. C’est tout l’object du rapprochement entre WhatsApp et Facebook initialement prévu le 8 février 2021 et désormais reculé à Mai 2021.

Par exemple si sur Facebook vous parlez souvent avec un tel ami de politique et partagez beaucoup de pages d’un parti politique, il y a fort à parier que le soir des élections vos échanges concernent des éléments politiques. Dans les schémas de buzz, il est même possible de savoir si vous partagez un article qui est en train de faire le tour de la toile.

Au final, WhatsApp est devenu pour Facebook une jauge pour vos réactions, votre sensibilité, vos émotions qui s’inscrit dans tout un panel d’outils marketing visant in fine à vendre vos réactions à des annonceurs pour vous intercepter au meilleur moment et vous faire passer à l’achat. Car le business model de Facebook, c’est de vendre du temps de cerveau disponible !

Open source

Par ailleurs il est difficile de savoir si WhatsApp applique le protocole à la lettre. Facebook peut décider de mettre à jour automatiquement son application WhatsApp pour envoyer des informations sur le contenu de vos messages, sans que personne ne puisse s’en rendre compte.

Car en cryptographie, rien n’est certain tant que l’ensemble de la chaîne de transmission n’est pas vérifiable. C’est là que l’open source devient une brique fondamentale de la sécurité. Comme dans toute science, la solidité d’un protocole fait l’objet d’un consensus des experts. Plus cette technologie est ouverte plus elle est résiliante car plus elle présente des surfaces d’attaque qui la renforce et diminue de façon drastique la probabilité de failles 0-day avec le temps. On parle d’antifragilité.

Quelle alternative à WhatsApp ?

Sur cette base, il clairement impossible de faire confiance à WhatsApp. Reste à trouver une alternative.

Le protocole Signal présente l’avantage d’être open-source (c’est le seul) et donc d’avoir été largement revu et amélioré par des experts avec le temps. Comme on l’a dit précédemment, ce protocole est utilisé par Whatsapp ou encore Viber mais dans une implementation privée, impossible à vérifier. Utilisent-ils même ce protocole comme ils le disent ? Ce qui est sûr c’est qu’ils l’utilisent avec des ajouts, comme l’avouent les développeurs de Viber sur leur site.

Implémentation propriétaire avec des “additions”. Nous n’en saurons pas plus sur leur document. https://www.viber.com/en/security/

Ce qui est sûr c’est que quelle que soit l’application de messagerie, vous laisserez des traces sur internet, ne serait-ce que pour signaler votre présence à vos contacts. Il s’agit donc de choisir l’application qui fait les bons compromis entre sécurité, facilité d’utilisation et diffusion auprès de vos contacts.

Personnellement je pense que l’application Signal représente le meilleur compromis.

  • La sécurité du protocole est largement revue par des experts depuis de nombreuses années, un consensus s’est dégagé sur sa qualité
  • C’est probablement l’application la plus répandue chez vos contacts
  • Des fonctionnalités proches de ce que fournis WhatsApp (ce que Olvid manque par exemple)

Peut-on faire mieux ?

La réponse est oui, notamment en améliorant le concept d’identité en le rendant indépendant de l’implémentation chez Signal. Mais cela demandera beaucoup de recherche pour rendre ce concept abordable à l’utilisateur moyen. C’est tout un champs de recherche de ce que l’on appelle identité autosouveraine. Mentionnons par exemple le projet français Unikname.

Note: cet article va probablement évoluer ces prochains jours en fonction de vos retours, pour clarification ou précision. N’hésitez pas à commenter ou à m’en parler sur twitter (@fxthoorens) ou mastodon (@fixcrypt@bitcoinhackers.org).

--

--