调试隐私保护协议非常困难。Oblivious HTTP在四个不同的方面有几个不同的步骤,更不用说分布在许多RFC草案中的二进制HTTP编码和细节了。我们已经学会了以每秒数百万个请求的规模操作像Oblivious HTTP这样的协议,并将其包装在一个漂亮,干净的CLI工具中—我们今天正在开源。我们称之为我们的隐私客户端或pvcli。
我们正在Apache-2.0许可证下发布它,并开放供贡献。这是一行代码,它使用中继、网关和源代码执行完整的Oblivious HTTP请求。如果您不知道这意味着什么,请不要担心,我们将在下面介绍。我们将解释我们构建此工具的原因,并展示它有多方便。为什么隐私协议很难调试让我们仔细看看创建pvcli的动机。
随着时间的推移,隐私团队的产品套件和客户群不断增长。我们添加了隐私代理和隐私网关等产品,为Apple的私有中继、Microsoft的Edge安全网络VPN、Flo Health的匿名模式等提供支持。随之而来的是越来越多的特殊客户要求、领域知识和复杂性。因此,我们看到开发和事件响应方面的摩擦增加。
为了了解这一点,让我们来看看我们的产品是如何实现Oblivious HTTP (也称为OHTTP )的。首先,快速入门。OHTTP为用户提供隐私保障:没有人可以知道谁提出了请求,以及他们的要求是什么。为实现这一目标, OHTTP需要两个服务器,一个中继和一个网关,由两个非合作方运营。
以下是OHTTP的序列图,我们的客户拥有中继, Cloudflare拥有网关。在高层次上, OHTTP可以分为以下步骤:客户端从网关获取公钥。客户端加密请求并将其发送到中继。中继从加密请求中删除客户端的“谁”,并将其发送到网关。网关解密请求,并将其发送给目标。