基于 Web 的密码学永远是蛇油
核心论点:不一致的密码系统与 Web 密码学
- 讨论中的中心主张:如果同一个实体既分发客户端,又运营它声称要保护用户免受其影响的服务,那么任何密码系统都是“不一致的”,尤其是在带自动更新的情况下。
- 对于 Web 应用,服务器控制的 JavaScript 和 service worker 可以随时更改,因此提供方可以悄无声息地为特定用户移除或削弱加密。
- 有人指出,这不仅适用于 Web 应用,也适用于专有的“E2EE”即时通讯器和会自动更新的移动应用。
信任、更新与威胁模型
- 许多评论强调:你始终必须信任提供软件的人;你无法完全防范他们变得恶意或受到胁迫。
- 自动更新(包括带时间炸弹的客户端)实际上赋予了厂商远程代码执行能力以及选择性植入后门的能力。
- 还有人强调威胁模型:E2EE 仍然可以抵御第三方、大规模数据泄露和内部人员,即使它不能防御厂商及其政府。
E2EE 相对于 TLS 的价值 / “蛇油”说法
- 文章的批评者认为,把 Web 密码学称为“蛇油”言过其实,忽视了现实中的好处:
- 保护静态数据,防止数据库泄露和随意的/内部访问。
- 相比简单的只读数据库被攻破,提高了攻击门槛。
- 支持者则反驳说,如果提供方可以悄悄推送键盘记录器或明文上传器,那么诸如“我们看不到你的消息”之类的说法,充其量也只是有条件的营销话术。
法律、商业与政府角度
- 有人认为 E2EE 也是一种法律策略:通过让顺从窃听令在实践中“变得不可能”,从而转移责任。
- 也有人认为其中确实存在工程层面的激励(降低责任、阻止内部滥用),但怀疑这些是否能抵消监控或与政府合作的商业激励。
- 国家级威胁是否重要存在争论:有人认为总部在美国的 E2EE 主要容易受到美国机构影响;也有人说这对普通用户来说大多只是学术讨论。
缓解措施与替代设计
- 建议的缓解措施包括:开源、可复现构建、匿名分发、内容寻址存储、第三方代码证明(例如 WEBCAT 风格的清单、外部代码验证服务),以及拥有多个独立客户端的协议。
- 有人指出,这些做法在传统软件分发中很常见,但在 Web 应用中却很少见,因此今天基于 Web 的 E2EE 尤其脆弱。