Après les SMS, le plan de Silence pour décentraliser les messageries chiffrées

Silence, ça chiffre 31
Accès libre
image dediée
Applications
Guénaël Pépin

Deux ans après le début de son développement, l'application de chiffrement de SMS Silence a bien évolué et compte quelques dizaines de milliers d'utilisateurs. Elle veut désormais sortir de ses frontières en s'étendant aux messages XMPP, avec deux mots d'ordre : protection des métadonnées et décentralisation.

En mars 2015, TextSecure sur Android abandonnait les SMS. L'application préférait se recentrer sur les messages via Internet, pour simplifier le chiffrement, après avoir lancé Signal sur iOS. TextSecure a depuis fusionné avec le service d'appels chiffrés Redphone pour devenir Signal en novembre 2015.

Cette même année, Bastien Le Querrec s'est lancé dans un fork de TextSecure, destiné à préserver le chiffrement des SMS. « C'était sur un coup de tête, en une demi-heure. Je pensais qu'un fork allait émerger pour remettre les SMS chiffrés, sauf que personne ne l'a fait. J'ai appuyé sur fork sur GitHub, j'en ai un peu parlé sur Twitter et ça a rapidement pris » se souvient le développeur, qui a bien plus une formation de juriste que de développeur.

D'abord appelé SecureText, il s'est renommé SMSSecure après le passage de Moxie Marlinspike (concepteur principal de Signal) sur son canal IRC. « Le changement de nom de SMSSecure vers Silence, c'est radicalement autre chose. C'est une action (abusive selon moi) en droit de marque » en mars 2016 qui y a mené.

Une société américaine, CellTrust, a réclamé la propriété des noms « SMS » et « Secure » : « j'ai laissé leurs demandes de côté, ils sont allés voir Google pour bloquer l'application, et Google s'est exécuté sans regarder de plus près ». De même pour l'Amazon AppStore. La petite équipe a donc renommé son fork Silence, avec en tête de s'étendre au-delà des SMS, en ciblant une gestion fine des métadonnées... l'un des problèmes historiques des SMS.

La lourde question des métadonnées

Les discussions autour de Signal et Silence tournent pour beaucoup autour des métadonnées. D'un côté, l'outil américain se vante de ne retenir que très peu d'informations, tout en faisant transiter des données par les plateformes de Google (GCM) et Apple (APN). De l'autre, Silence s'appuie sur les SMS classiques, dont les métadonnées sont détenues par les opérateurs, et accessibles aux autorités du pays.

« Les SMS sont une source de fuite de métadonnées conséquente et potentiellement dangereuse. C'est normal qu'il ne faille pas utiliser Silence dans certaines conditions quand le modèle de menace est restrictif » affirme sans détour Bastien Le Querrec. Si Signal travaille à réduire sa dépendance à Google, il reste difficile de savoir ce que collecte concrètement le serveur derrière les applications, dont le code a été publié à rebours.

« Le problème de cette centralisation est potentiellement une intrusion. On ne peut pas être sûrs que le code serveur publié soit celui en production, même si je pense que c'est bien le cas. Moxie a fait l'effort de compilations reproductibles » estime Le Querrec. Pour un utilisateur français, Silence aurait donc plus de chances de livrer des données aux services de renseignement hexagonaux et Signal à leurs homologues américains.

Mais l'application clame avoir peu de données à offrir (voir notre actualité). « Il reste qu'il ne faut pas utiliser de téléphone dans certaines conditions, peu importe ce qu'on fait avec », comme aller en manifestation, rappelle le concepteur de Silence.

Reproduire les fonctions de Signal pour les SMS

Après environ deux ans de développement, l'objectif reste le même : porter vers les SMS les fonctions et améliorations de sécurité qu'ajoute régulièrement Signal à son système de communication maison. Si Le Querrec est un habitué de Linux (depuis ses 13 ans), avec quelques notions en Java, concevoir un outil de chiffrement reste sensible. 

« Heureusement, toute la partie crypto est bien conçue dans Signal, dans une bibliothèque séparée, avec des classes et des outils assez bien à part » détaille-t-il. Toucher au chiffrement n'était donc pas prévu au départ. « Avec cette ambition limitée, plus le fait qu'on n'avait absolument pas l'intention de toucher à la partie crypto, il y avait peu de risques à effectuer ce fork ». Reste qu'il a « beaucoup appris sur le tas », ajoutant : « Aujourd'hui, mes connaissances en Java sont beaucoup plus poussées que quand j'ai commencé le projet ».

Diverger de Signal n'était donc pas prévu, même si le scepticisme forcené de l'application d'origine aux nouvelles fonctions, proposées par des tiers, a marqué Le Querrec. Il a donc refusé des modifications d'interface au début de SMSSecure, pour s'assurer de pouvoir suivre celles de Signal au besoin. Cette volonté de parité fonctionnelle s'est assouplie avec le temps, Silence ajoutant quelques fonctions propres, comme des « toasts » Android pour les accusés de réception.

25 000 installations actives

Aujourd'hui, Silence est distribué à la fois via le Play Store de Google et F-Droid, tous les deux sur Android. Un tiers des utilisateurs proviendraient de F-Droid, qui est une boutique d'applications de niche, spécialisée dans les outils libres. « Sur le Play Store, on a eu un peu plus de 50 000 téléchargements de la dernière mise à jour et un peu plus de 25 000 installations actives » nous affirme Bastien Le Querrec.

L'application était, un temps, distribuée sur l'Amazon AppStore avec moins d'un millier d'utilisateurs. Il a été abandonné l'an dernier, lors des soucis juridiques sur son nom. En plus du Play Store, « CellTrust avait également demandé à Amazon de bloquer l'application. Quand on a amené le nouveau nom, ils nous ont demandé de prouver qu'on avait le droit d'utiliser le nom Silence... Qui est un nom commun, donc impossible à déposer en tant que marque » regrette le développeur.

S'il est le dérivé qui a le mieux pris de TextSecure, Silence reste encore très français, avec la moitié des utilisateurs du Play Store venant de nos contrées. « Ce qui reste frustrant, c'est que dans les communautés anglophones, on parle de Signal ou de WhatsApp mais pas de Silence » estime notre interlocuteur, qui se félicite tout de même des notes et retours, notamment sur la boutique de Google, et des recommandations lors de chiffrofêtes.

Des discussions via XMPP en approche

Le développement avance principalement sur le temps libre de Bastien Le Querrec, qui prépare l'extension de Silence aux discussions via XMPP. « Cela fait presque un an que j'y travaille, c'est prendre en compte le problème des métadonnées, pour lequel la solution de Signal (supprimer les SMS) est très mauvaise » explique-t-il. SMS et XMPP doivent cohabiter, même si les fonctionnements seront bien différents.

Contrairement à Signal, qui exploite à la fois des outils et une infrastructure propres (chez Amazon), Silence compte s'appuyer sur des outils libres et des serveurs tiers fédérés.  « Signal repose sur son infrastructure, qui n'est pas fédérée, qui ne peut pas l'être sans modification majeure » explique le développeur français, pour qui l'attitude de Signal a été une raison de partir dans une voie alternative.

Pour le chiffrement, Le Querrec s'intéresse de près à OMEMO, une couche utilisée dans d'autres clients XMPP sur mobile, dont Conversations.im sur Android et ChatSecure sur iOS (encore indisponible en France). Il s'agit de l'une des solutions les plus simples, mais qui n'est en rien validée par la fondation XMPP, même si des extensions au protocole du même développeur le sont.

Le but déclaré est de sortir d'un écosystème centré sur les SMS, ce qui permettrait à la fois à Silence de communiquer avec d'autres applications et, peut-être, de s'exporter sur iOS... même si Le Querrec ne compte pas se lancer dans ce chantier avec ses connaissances limitées hors de Java, même via un fork de Signal pour iOS.

XMPP : limiter les métadonnées et fédérer des serveurs

Avec XMPP, « l'objectif est vraiment d'avoir le moins de métadonnées exploitables ». Il est ainsi question d'attribuer un identifiant unique à chaque client (UUID), impossible à lier à l'utilisateur ou à son numéro. Si aucune fonction de messagerie ne doit être supprimée, un tel choix pourrait poser problème avec d'autres clients.

Avec ces choix, « il n'y a plus de lien entre l'utilisateur et le numéro de téléphone. L'inconvénient est que c'est relativement lourd [à l'utilisation]. OMEMO aide quand même à la certification des clés, avec un échange à l'envoi du premier message ».

À terme, Silence doit intégrer une liste fixe de serveurs de confiance, sur lesquels l'utilisateur peut créer facilement un compte. Ils doivent être gérés par des organisations sans liens avec des services de renseignement, ni d'exploitation commerciale des données. Le mobinaute pourra, bien entendu, passer par un serveur qu'il héberge lui-même.

Le Querrec ne compte pas proposer de serveur, pour éviter toute centralisation. Il songe plutôt à financer des serveurs tiers de confiance, s'il venait à gagner de l'argent avec son application. Il sera aussi intéressant de voir si cela n'intéresse pas les CHATONS, une initiative autour d'hébergeurs de services libres lancée par Framasoft.

Le support d'OMEMO en lui-même pourrait déjà être un casse-tête pour Silence, qui s'appuie sur la bibliothèque Smack pour intégrer XMPP... une bibliothèque sans compatibilité officielle avec l'outil de chiffrement. Il faut aussi revoir l'échange de clés, le prototype effectuant le premier échange par SMS, ce qui demande déjà une communication chiffrée entre les deux clients. 

Temps libre et dons en bitcoins

Le développement de l'application reste un loisir pour Bastien Le Querrec, qui poursuit ses études et un premier travail en parallèle. S'il était accompagné d'un développeur canadien dans les premiers temps, celui-ci s'est peu à peu éloigné de la conception elle-même, pour se concentrer sur le support et la relecture du code de l'outil.

« Il était à l'origine d'un autre fork, qui n'a pas pris. Il m'a beaucoup aidé au début à toiletter le projet, à supprimer des bouts de code morts, avant de prendre du recul pour des raisons personnelles. Une absence de temps libre que, moi, à l'inverse, je peux dégager » nous explique le développeur breton, qui en aura encore dans les prochains mois. Cela n'empêche pas quelques aides extérieures ponctuelles, par exemple pour la compatibilité avec Android Wear, d'abord implémentée dans Signal.

Dans l'absolu, la petite équipe n'est pas inquiète. Si le temps venait à manquer, elle en aurait toujours pour réintégrer les éventuels correctifs de sécurité de Signal, considéré comme « une base stable ». En parallèle, « je prends mon temps pour les nouvelles fonctions », nous explique le contributeur principal, qui refuse tout de même d'autres projets.

Il reste que « sans temps libre, c'est impossible. Je ne suis pas rémunéré pour ça. J'ai lancé il y a quelques jours seulement les dons en bitcoins. Ça me suffira tout juste, je pense, à subvenir aux coûts récurrents, que ce soit le nom de domaine ou l'hébergement, mais pas plus. Je n'ai pas l'ambition d'en faire quelque chose de rémunérateur pour moi, parce que c'est vraiment un projet militant ».

Ce développement bénévole ne permet pas non plus de dégager de l'argent pour un audit de sécurité, même si d'éventuels fonds pourraient aller de ce côté.

Le chiffrement comme standard dans la messagerie

Dans le même temps, le chiffrement devient un argument de vente pour nombre de services de messageries, beaucoup s'appuyant sur le moteur de Signal (ex-Axolotl). Il est même mis en avant par des applications qui le désactivent par défaut, comme Facebook Messenger ou Google Allo. 

« Techniquement, il n'y a pas de barrière au chiffrement par défaut. Signal a montré qu'en termes d'expérience utilisateur, ce n'est pas un problème. Je pense que c'est plus du marketing. Quand Google lance son service de messagerie avec du chiffrement optionnel, ils peuvent dire qu'ils fournissent une application sécurisée » analyse Bastien Le Querrec. 

Les services en question utilisent des fonctions spécifiques, notamment les assistants personnels, comme prétextes pour ne pas chiffrer les conversations, qu'il s'agit d'analyser. Si ces IA sont la partie émergée de l'iceberg, l'intérêt concret semble plutôt être dans la lecture silencieuse des échanges, servant notamment à personnaliser la publicité.

N'y a-t-il pas une saturation sur le marché des messageries chiffrée ? « Il n'y a pas de bonne réponse à ce stade. L'une d'elles serait qu'un projet s'arrête au profit d'un autre, mais on est dans des logiques commerciales, notamment pour WhatsApp [et son milliard d'utilisateurs]. Pour ma part, je ne vais pas arrêter Silence, à ma connaissance c'est la seule application qui permet de chiffrer ses SMS » nous répond le développeur, dont le projet doit encore perdurer un moment.


chargement
Chargement des commentaires...