Messagerie sécurisée, attention à votre carnet de contact !

Une des questions cruciales à se poser sur une messagerie « sécurisée » est comment sont gérées les méta-données?

Par exemple, il est intéressant pour la NSA et autres états qui surveillent en masse de savoir qui parle à qui et à quelle fréquence. Ça permet aisément de construire des réseau de relations à faible coût.

Regardons maintenant un petit peu comment fonctionnent Textsecure et Telegram .

Pour mettre en relation les utilisateurs, ceux-ci se basent sur le numéro de téléphone.
Chaque utilisateur est identifié par son numéro de téléphone, vérifié par l’envoi d’un SMS sur le terminal lorsque l’on crée son compte de messagerie.Ensuite, lorsque l’on envoie un message à un contact, ça se passe grosso modo comme ça :

  1. on envoie le numéro de téléphone de son correspondant.
  2. le serveur cherche dans sa base d’utilisateurs connectés si il trouve le numéro de téléphone.
  3. le message est transmis au terminal de notre correspondant par la connexion permanente (PUSH) établie entre le terminal de notre correspondant et le serveur.

On comprend bien que déjà la personne qui gère le serveur sait qui parle à qui et à quelle fréquence.

Ensuite, on peut avoir quelques fioritures encore plus pourries :

Par exemple, comment savoir avec quels contacts je peux utiliser mon « application de communication sécurisée » ? En demandant au serveur, pour chacun des numéros de mon carnet de contact, s’il correspond à utilisateur enregistré. Bingo, vous venez d’envoyer la totalité des numéros de votre carnet de contact.

Ce qui est encore plus rigolo, c’est que même si vous ne l’avez pas fait mais que vos contacts ont envoyé leur carnet de contacts, par recoupement, le serveur peut reconstruire le votre. La preuve flagrante, c’est quand vous créez un compte avec un carnet d’adresse vide, mais qu’automatiquement, le serveur trouve vos amis (Ex: facebook, linkedin, etc…)

Pour moi, le design de base de ces applications rendent impossible la protection des métadonnées des échanges sauf si l’on a confiance dans le serveur. Croyez-vous encore au « Don’t be evil »?

Une solution serait :

  1. Utiliser un identifiant ne permettant pas de remonter facilement à l’identité réelle de l’utilisateur (ex : un numéro aléatoire)
  2. Ne pas laisser le serveur connaître qui envoie le message (ex: le message ne contient que l’identifiant du destinataire en clair, le message envoyé par l’utilisateur émetteur passe par plusieurs relais avant d’arriver au serveur. On peut ainsi dire que le message est envoyé de manière anonyme. L »identité de l’émetteur est à l’intérieur du message chiffré que seul le destinataire peut déchiffrer)

11 réactions sur “ Messagerie sécurisée, attention à votre carnet de contact ! ”

  1. wilfried18

    Cela veut dire que c’est pas pour maintenant , les messagerie vraiment sécurisé.
    J’aurais penser que textsecure été bien , merci pour l’article

  2. Sam

    Salut et merci pour l’article. Je pense à peu près la même chose et en cherchant « rapidement », j’ai trouvé 2 applis plutôt pas mal dans le genre « secure » : Tinfoil-SMS et Surespot. Tu peux, me dire ce que tu en penses, si tu as le temps ? Merci et bonne nuit :-)

  3. v p

    On m’a aussi recommande threema. Qu’en penses tu?

  4. Tuxicoman

    Le concept de Threema m’a l’aire robuste pour avoir des communications chiffrées. Néanmoins, leur logiciel client n’est pas libre, donc on ne peut que croire leur site web sur paroles :-/

  5. Tuxicoman

    threema et Surespot me semblent utiliser la même méthode.
    – Chiffrement asymétrique entre les utilisateurs avec clé privée uniquement stockée sur le device.
    – Communication en SSL jusqu’au serveur. (ca permet d’éviter à toute personne qui n’a pas la main sur le serveur de savoir qui parle à qui)
    – Serveur qui ne sert qu’à mettre en relation les devices.

    Il faut tout de même savoir que le serveur sait qui parle à qui dès lors que l’on fournit son tel ou adresse mail pour se faire trouver automatiquement par nos amis. De même lorsque l’on scanne son carnet de contact. Cependant ce sont des fonctionnalités commodes optionnelles et si on veut rester plus anonyme on peut passer à coté.
    Contrairement à Textsecure, l’identifiant n’est pas forcément son numéro de tel mais sa clé publique générée aléatoirement.

    Surespot est libre, Threema non. Donc Surespot gagne haut la main sur le papier. Maintenant il faut regarder le code…

    Tinfoil-SMS fait du chiffrement asymétrique mais utilise le réseau SMS pour transporter les messages. Donc c’est chiffrés mais pas anonyme. Et bon, j’ai pas envie de payer un SMS ou de ne pas pouvoir envoyer de fichiers.

  6. Tuxicoman

    Il ya un petit problème sur Surespot, le serveur peut changer à sa guise les clés d’un user et les mettre à jour silencieusement chez toutes les personnes avec qui il parle. Regardez le chapitre Key versioning/revoking https://www.surespot.me/documents/how_surespot_works.html

    Du coup si le serveur est compromis, c’est la cata. Il devrait au moins y avoir une notification chez les correspondants que la clé a changé.

  7. Sam

    Salut Tuxicoman, merci pour tes réponses. Je comprends ce que tu dis et je pense que si vraiment on veut une sécurité « parfaite », alors mieux vaut ne pas avoir de tel etc tout simplement, non ? Mais comme à notre époque, il est vraiment difficile de vivre sans, je cherche ce qui est au moins le plus sécurisé et je pense qd même que surespot devrait convenir pour la plus grande partie des conversations qu’on peut avoir entre amis, famille etc…De plus, surespot ne demande ni adresse mail ni numéro de tél et c’est un énorme avantage concernant la sécurité, tu ne crois pas ? J’aurais préféré utiliser ChatSecure mais la plupart des gens que je connais ont un peu de mal avec le « chiffrage, cryptage ». Ils veulent une appli toute prête à l’emploi(sortant du Play Store en général) alors ça rend les choses plus complexe. Concernant Tinfoil-SMS, je la trouve vraiment très bien mais comme je suis sur OmniRom qui est en 4.4, elle n’est pour l’instant pas encore compatible alors j’attends tranquillement que ça soit le cas :-).
    En tout cas, merci pour tes conseils très instructifs…Bonne nuit.

  8. Sam

    Au passage, une appli pas mal pour te rendre plus ou moins « anonyme » (en fait, elle te permet de donner un faux imei, un faux num de tel etc…) c’est XPrivacy, tu connais ? Un peu dans le genre de qu’a cyanogen mais en plus poussée…enfin je pense.

  9. Tuxicoman

    je n’ai pas les googleapps, du coup pas le service de push de Google et donc pas les notifications en arrière plan avec surespot. c’est un peu gênant car je ne vois pas qu’on m’a envoyé un message si l’application surespot n’est pas au premier plan.

  10. Ping Vous avez dit anonyme? | Tuxicoman

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.