En décembre 2016, l'application de chiffrement Signal, prisée de la communauté de la sécurité, a franchi le cap que tout développeur subversif connaît : des régimes répressifs ont commencé à la bloquer. L'Égypte et les Émirats arabes unis l'avaient inscrite sur leurs listes noires à quelques jours d'intervalle. Open Whisper Systems a répondu ce mercredi-là par une mise à jour Android qui a rétabli un accès sans entrave dans les deux pays grâce à une astuce appelée domain fronting ; une version iOS a suivi de peu.
Le fondateur Moxie Marlinspike a expliqué le mécanisme : un pays comme l'Égypte, doté de quelques petits fournisseurs d'accès à internet contrôlés par le gouvernement, peut bloquer toute requête directe vers un service inscrit sur liste noire. Mais à l'intérieur d'une connexion TLS vers l'App Engine de Google, la requête qui redirige vers le domaine de Signal est chiffrée, si bien que le fournisseur ne voit qu'une connexion vers google.com. « Désormais, lorsque des gens en Égypte ou aux Émirats arabes unis envoient un message Signal, cela ressemblera à s'y méprendre à une recherche Google », a déclaré Marlinspike. « Si vous voulez bloquer Signal, il faudra bloquer Google. »
Signal n'inventait pas seul : Tor, Psiphon et Lantern utilisaient déjà le domain fronting, et celui-ci fonctionne via des CDN comme Cloudflare, Akamai et Amazon CloudFront. « Tout cela représente ensemble une part considérable du trafic internet », a déclaré Marlinspike — « à terme, désactiver Signal commence à ressembler à désactiver internet. » Les coupures totales existent bel et bien : l'Égypte a coupé l'intégralité de son internet pendant les manifestations du Printemps arabe en 2011, et le Brésil a bloqué WhatsApp dans le cadre d'une enquête sur la drogue. Ces deux blocages ont été de courte durée ; seuls quelques États sont prêts à censurer internet en bloc pendant longtemps.
Marlinspike a déclaré que contrer les nouveaux blocages était une priorité absolue — il avait précipitamment publié des versions arabes des applications prédécesseurs de Signal pour les manifestants du Printemps arabe cinq ans plus tôt — et il a parié que, dans les pays qui ne sont pas prêts à couper internet entièrement, la technique tiendrait : « Il est possible que ces pays réagissent. Mais au final, c'est nous qui gagnerons. »
Faire passer le trafic censuré par un géant que personne n'ose bloquer : à l'intérieur de TLS, le nom d'hôte est invisible, si bien qu'un message Signal ressemble à une recherche Google.
TLS chiffre le nom d'hôte, si bien que la décision de blocage du censeur ne peut se fonder que sur l'adresse IP — et cette IP appartient à Google.
L'échelle empruntée fait office de bouclier : le front est un service dont dépend la population du censeur lui-même et qu'il ne peut pas se permettre de perdre facilement.
L'astuce est transposable à Google, Cloudflare, Akamai et CloudFront, si bien que bloquer un front laisse les autres debout.
Le camouflage l'emporte sur l'armure : plutôt que de résister au censeur, rendez votre trafic indiscernable de flux que le censeur ne peut pas se permettre de bloquer. L'échelle empruntée est un bouclier qu'aucune liste noire ne peut contourner.
Suites
Les utilisateurs Android en Égypte et aux Émirats arabes unis ont pu mettre à jour immédiatement malgré le blocage, iOS suivant. La technique est restée dans la panoplie d'évasion de la censure, et la formulation de Marlinspike — bloquer Signal ou bloquer Google — est devenue l'énoncé canonique du dilemme du censeur.
VÉRIFIEZ LES SOURCES
Les sources
- Encryption App 'Signal' Fights Censorship With a Clever Workaround WIRED · wired.com ·