En diciembre de 2016, la aplicación de cifrado Signal, favorita de la comunidad de seguridad, alcanzó el hito que todo desarrollador subversivo conoce: los regímenes represivos empezaron a bloquearla. Egipto y los Emiratos Árabes Unidos la habían incluido en sus listas negras con pocos días de diferencia. Open Whisper Systems respondió ese miércoles con una actualización para Android que restableció el acceso sin restricciones en ambos países mediante un truco llamado domain fronting; una versión para iOS llegó poco después.
El fundador Moxie Marlinspike explicó la mecánica: un país como Egipto, con unos pocos proveedores de internet pequeños controlados por el gobierno, puede bloquear cualquier solicitud directa a un servicio en la lista negra. Pero dentro de una conexión TLS hacia el App Engine de Google, la solicitud que redirige al dominio de Signal está cifrada, así que el proveedor solo ve una conexión a google.com. «Ahora, cuando la gente en Egipto o los Emiratos Árabes Unidos envía un mensaje de Signal, se verá idéntico a algo como una búsqueda en Google», dijo Marlinspike. «Si quieres bloquear Signal, tendrás que bloquear Google».
Signal no inventaba sola: Tor, Psiphon y Lantern ya usaban el domain fronting, y funciona sobre CDN como Cloudflare, Akamai y Amazon CloudFront. «Todo eso junto representa una gran parte del tráfico de internet», dijo Marlinspike — «Con el tiempo, deshabilitar Signal empieza a parecerse a deshabilitar internet». Los apagones totales sí ocurren: Egipto cortó todo su internet durante las protestas de la Primavera Árabe de 2011, y Brasil bloqueó WhatsApp durante una investigación antidrogas. Ambos bloqueos fueron de corta duración; solo unos pocos Estados están dispuestos a censurar internet de forma total durante mucho tiempo.
Marlinspike dijo que contrarrestar los nuevos bloqueos era una alta prioridad —cinco años antes había sacado a toda prisa versiones en árabe de las aplicaciones predecesoras de Signal para los manifestantes de la Primavera Árabe— y apostó a que, en los países que no están dispuestos a apagar internet por completo, la técnica se mantendría: «Es posible que estos países respondan. Pero el desenlace es que ganaremos».
Enrutar el tráfico censurado a través de un gigante que nadie se atreve a bloquear: dentro de TLS el nombre de host es invisible, así que un mensaje de Signal parece una búsqueda en Google.
TLS cifra el nombre de host, así que la decisión de bloqueo del censor solo puede usar la dirección IP, y la IP pertenece a Google.
La escala prestada es el escudo: el frente es un servicio del que depende la propia población del censor y que no puede permitirse perder fácilmente.
El truco es portátil entre Google, Cloudflare, Akamai y CloudFront, así que bloquear un frente deja en pie a los demás.
El camuflaje supera a la armadura: en lugar de resistir al censor, haz que tu tráfico sea indistinguible de flujos que el censor no puede permitirse bloquear. La escala prestada es un escudo que ninguna lista negra puede sortear.
Los usuarios de Android en Egipto y los Emiratos Árabes Unidos pudieron actualizar sorteando el bloqueo de inmediato, con iOS a continuación. La técnica permaneció en el arsenal de evasión de la censura, y el planteamiento de Marlinspike —bloquear Signal o bloquear Google— se convirtió en la declaración canónica del dilema del censor.
CONSULTA LAS PRUEBAS
Las fuentes
- Encryption App 'Signal' Fights Censorship With a Clever Workaround WIRED · wired.com ·