L'éditeur de Signal travaille sur une méthode qui doit permettre à un utilisateur de découvrir qui dans ses contacts utilise aussi l'application sans que le service ne puisse connaître le contenu du répertoire.

La problématique est complexe : depuis toujours, Open Whisper Systems, l’éditeur de l’application de messagerie instantanée Signal, s’efforce de proposer l’outil le plus sûr et le plus confidentiel pour proposer autant que possible un service respectueux de la vie privée des personnes qui l’utilisent. Mais bien entendu, une application de ce type n’a d’intérêt que si nous avons des contacts avec qui discuter.

Il faut donc que l’application permette non seulement ajouter des correspondants à la main — en entrant leur numéro de téléphone par exemple — mais aussi de balayer le répertoire téléphonique afin de savoir qui utilise déjà Signal. Or, voilà le défi auquel fait face Open Whisper Systems : comment rendre Signal utilisable simplement tout en évitant de révéler le contenu du répertoire au service ?

Dossier fichier classement répertoire document
CC Lisa Nottingham

À cette question, l’organisation a trouvé une réponse technique qu’elle détaille dans un billet de blog publié fin septembre. En quelques mots, il s’agit de profiter d’une solution imaginée par Intel avec ses puces contemporaines. Cette approche, baptisée SGX (pour Software Guard Extensions), permet aux applications de fournir une « enclave sécurisée » qui est isolée du système d’exploitation hôte et du noyau.

Dans le concept imaginé par Open Whisper Systems, il s’agit « d’inverser la relation SGX classique pour exécuter une enclave sécurisée sur le serveur [de l’éditeur]. Une enclave SGX côté serveur permettrait à un service d’effectuer des calculs sur des données chiffrées du client sans connaître le contenu des données ou le résultat du calcul ».

Effectuer un traitement sur des données sans connaître leur contenu ou le résultat du traitement

En clair, avec ce mécanisme, les contacts sont envoyés de manière chiffrée sur les serveurs de Signal dans l’enclave sécurisée. De là, le processus de découverte des contacts se met en route afin de déchiffrer l’envoi de l’utilisateur, établir les éventuelles liaisons (y a-t-il des contacts qui sont sur Signal ?), toujours dans l’enclave sécurisée, en théorie inaccessible. Ensuite, le résultat est chiffré et renvoyé à l’utilisateur.

« Puisque l’enclave atteste du logiciel qui tourne à distance, et que le serveur et le système d’exploitation distants n’ont pas de visibilité dans l’enclave, le service n’apprend rien sur le contenu de la requête du client. C’est presque comme si le client exécutait la requête localement sur le terminal du client », explique l’activiste Moxie Marlinspike, un expert en cryptographie, l’auteur de l’article.

Ça, c’est pour la théorie. Il s’avère toutefois que la réalisation d’opérations chiffrées dans une enclave sécurisée est complexe, de l’aveu même de l’éditeur, surtout au regard l’objectif qu’il s’est fixé, à savoir apporter le plus haut degré de confidentialité. Moxie Marlinspike souligne certains problèmes, comme les schémas d’accès à la mémoire qui pourraient être utilisés pour récupérer des informations.

Pour l’instant, l’approche d’Open Whisper Systems n’est pas encore déployée sur ses applications ; et même si elle n’est pas parfaite, elle offrira toujours un degré bien plus élevé que ce qui est proposé actuellement. L’éditeur prévoit encore plusieurs mois de test avant d’envisager un déploiement auprès de sa communauté. Un délai qui doit permettre de parfaire le code et le processus, que chacun peut d’ailleurs contrôler.

L’attente sera longue mais le jeu en vaut la chandelle.

Partager sur les réseaux sociaux