解决方案
2016 年 12 月,加密应用 Signal——安全社区的宠儿——迎来了每个颠覆性开发者都熟知的里程碑:专制政权开始封锁它。埃及和阿联酋在相隔几天内先后将其列入黑名单。Open Whisper Systems 于周三作出回应,发布了一个 Android 更新,利用一种名为域名前置的技巧在这两个国家恢复了不受限制的访问;iOS 版本紧随其后。
创始人 Moxie Marlinspike 解释了其机制:像埃及这样拥有几家由政府控制的小型互联网服务提供商的国家,可以封锁对黑名单服务的任何直接请求。但在与 Google App Engine 的 TLS 连接内部,重定向到 Signal 域名的请求是加密的,因此服务提供商只能看到与 google.com 的连接。“现在,当埃及或阿联酋的人们发送 Signal 消息时,它看起来与 Google 搜索之类的东西完全相同,”Marlinspike 说。“如果你想封锁 Signal,你就必须封锁 Google。”
Signal 并非独自发明了这一技术:Tor、Psiphon 和 Lantern 早已使用域名前置,它也可通过 Cloudflare、Akamai 和 Amazon CloudFront 等 CDN 运作。“所有这些加在一起代表了互联网流量的很大一部分,”Marlinspike 说——“最终,禁用 Signal 开始变得类似于禁用互联网。”全面断网确实会发生:埃及在 2011 年阿拉伯之春抗议期间切断了整个互联网,巴西在一次毒品调查期间封锁了 WhatsApp。这两次封锁都是短暂的;只有少数国家愿意长期全面审查互联网。
Marlinspike 表示,应对新的封锁是高度优先事项——五年前他曾为阿拉伯之春抗议者紧急推出 Signal 前身应用的阿拉伯语版本——他赌的是,在那些不愿完全关闭互联网的国家,这项技术将奏效:“这些国家有可能会作出回应。但最终结局是我们会赢。”
取得了什么成果
将受审查的流量经由一个无人敢封锁的巨头传输:在 TLS 内部主机名不可见,因此一条 Signal 消息看起来就像一次 Google 搜索。
为何奏效
TLS 会加密主机名,因此审查者的封锁决策只能依据 IP 地址——而该 IP 属于 Google。
借来的规模就是盾牌:前置的是一个审查者本国人口所依赖、无法轻易失去的服务。
这一技巧可移植到 Google、Cloudflare、Akamai 和 CloudFront,因此封锁一个前置,其他前置依然屹立。
可以借鉴之处
伪装胜过盔甲:与其抵抗审查者,不如让你的流量与审查者无法承受封锁的流量难以区分。借来的规模是一面任何黑名单都无法绕过的盾牌。
后续
埃及和阿联酋的 Android 用户可以立即绕过封锁进行更新,iOS 版本随后跟进。这项技术留在了规避审查的工具箱中,而 Marlinspike 的表述——封锁 Signal 还是封锁 Google——成为了审查者困境的经典表述。
从这里,追溯依据
参考来源
- Encryption App 'Signal' Fights Censorship With a Clever Workaround WIRED · wired.com ·