Enfumer Gmail

Publié le par /

Vouloir se prémunir de l’espionnage par les agences gouvernementales est une chose, essayer de se protéger du profilage par les marchands du temple en est une autre qui n’a pas grand chose en commun. La première, pour être sérieuse, demande beaucoup de ressources et impose nombre de contraintes. Par exemple chiffrer systématiquement tous ses messages, et ne communiquer qu’avec des gens maitrisant eux aussi raisonnablement la cryptographie. Mais la plupart du temps, je voudrais juste éviter que Google ne connaisse tous mes sujets d’intérêt du moment, via l’analyse de mes échanges avec des correspondants dont la majorité utilise Gmail.

Ce matin, je voulais envoyer quelques nouvelles à un correspondant, utilisateur de Gmail, mais n’avais guère envie que Google apprenne avant l’officialisation ici la nature de mes prochaines aventures professionnelles. J’ai donc cherché à offusquer le contenu du message, pour le masquer aux trop curieux algorithmes de Google.

J’ai d’abord pensé à simplement encoder le contenu du message en ROT13 ou ROT47. De nombreux sites proposent des formulaires permettant d’encoder / décoder ce format. Mais il serait trop simple pour Google de détecter ce format et décoder de tels messages. J’ai donc décidé de passer par un algorithme de chiffrement symétrique utilisant une clé. Clé que j’envoie en clair avec le message, mais ce n’est pas un problème : le but n’est pas d’empêcher un humain qui intercepterait ma correspondance de la lire, mais de rendre moins probable la lecture du message par les algorithmes de Google, et donc l’exploitation des données qu’il contient pour accroitre les données qu’il possède sur moi.

J’ai fini avec deux petits bouts de code :

  • un formulaire HTML hébergé à une URL que je contrôle et qui permet de chiffrer / déchiffrer directement dans le navigateur grâce à la bibliothèque crypto-js ;
  • un script shell qui utilise openssl pour créer une clé et chiffrer avec elle les données en entrée, puis afficher la clé, le message chiffré et l’URL du formulaire ;

En pratique, pour envoyer mon message, je l’ai comme à l’accoutumé composé dans Vim, puis j’ai sélectionné le texte que je voulais chiffrer, appelé via un raccourci mon script, et ainsi obtenu un message qui ressemblait à :


Pour lire ce message, copiez son contenu dans le formulaire sur http://url.de/monformulaire#U2FsdGVkX1+cOIz7zzahV+WoB5VywEECppjXMsMo0OUOhTTdNWFCDxbs3sdo5rthB/Y0CEdZdSg9c3ziwMZxSewInrfrTYnzSTygelNltyDgxXNgm9geYimxH+W9zgDK
Mot de passe : coucou

Message :

U2FsdGVkX1+cOIz7zzahV+WoB5VywEECppjXMsMo0OUOhTTdNWFCDxbs3sdo5rthB/Y0CEdZdSg9c3ziwMZxSewInrfrTYnzSTygelNltyDgxXNgm9geYimxH+W9zgDK


En cliquant sur le lien, mon correspondant arrive sur le formulaire pré-rempli où il ne lui reste plus qu’à saisir le mot de passe pour déchiffrer le message. Le même formulaire lui permet également de créer un texte avec la même sémantique, qu’il n’aura pour me répondre qu’à coller dans le corps de son message.

Je conviens aisément que cela n’est pas du tout ergonomique, et aisé à contourner. Mais ça me semble simple d’utilisation, à la portée de n’importe qui, et évite que les algorithmes de Google ne lisent mes messages.

Peut-être, dans nos réflexions sur la sauvegarde d’un peu de mystère et d’intimité, devrions-nous aussi réfléchir au concept de niveau raisonnable de brouillard pour une situation donnée.

Pour réagir, n'hésitez-pas à m'écrire : clochix chez clochix.net ou à soumettre l'url de votre commentaire :
(Je traite les mentions à la main, elles peuvent mettre plusieurs jours avant d'apparaître)

Si vous avez un compte Github, vous pouvez me proposer des corrections en éditant ce billet

Fork me on GitHub