在 Glean 中使用 Firefox 的 Oblivious HTTP¶
Oblivious HTTP (RFC 9458) 是一种互联网标准传输协议,允许分离隐私问题。
发送 HTTP(S) 请求的客户端必然会将其网络地址和请求内容都暴露给目标服务器。OHTTP 通过引入封装和中继,允许一个系统,其中第三方中继只能了解网络地址而不知道内容,而服务器只能了解请求内容而不知道网络地址。
这对于我们不希望与 IP 地址关联的数据收集来说,是一种有用的风险缓解措施。
我的数据可以使用 OHTTP 吗?¶
任何满足以下条件的数据收集都可以使用 OHTTP
您的数据必须仅在 Firefox 桌面版上收集。
目前,没有其他 Mozilla 项目支持 OHTTP。
您的数据必须通过 Glean 记录。
它是 Mozilla 中唯一支持 OHTTP 的数据收集系统。
您的数据必须位于其自己的 自定义 Ping 中。
OHTTP 是传输级别的决策,而 Ping 是 Glean 的传输有效负载。
您的数据(与 Mozilla 项目中所有新的或扩展的数据收集一样)必须经过 数据收集审查。
如果您正在考虑使用 OHTTP,可能是因为您打算收集的数据很敏感。这意味着您可能需要特别地经过 敏感数据收集审查。
您的数据不得需要与未通过 OHTTP 发送的 ID 关联。
这包括
client_id
和 Mozilla 账户标识符。client_id
和其他指纹信息被明确排除在使用 OHTTP 的 Ping 之外。
如何为我的数据使用 OHTTP?¶
简短版本:在 Ping 定义中添加两个元数据字段¶
最简单的方法是,通过在 Ping 的 pings.yaml
定义中添加以下三行来选择使用 OHTTP。
metadata:
include_info_sections: false
use_ohttp: true
这是一个指向 Searchfox 搜索 use_ohttp: true
的便捷链接,如果您想查看树中现有的用法。
较长版本¶
确保您已按照 将新的检测添加到 Firefox 桌面版 的必要步骤进行操作。
在 Ping 的
pings.yaml
定义中添加metadata.include_info_sections: false
和metadata.use_ohttp: true
。include_info_sections: false
确保没有client_id
或client_info
或ping_info
字段中可用于指纹识别的部分,这将使我们无法轻易地将此 Ping 映射到特定客户端。use_ohttp: true
向 Firefox on Glean (FOG) 的glean_parser
扩展发出信号,以生成识别此 Ping 需要 OHTTP 传输的必要代码。它在 FOG 的上传器中读取,以确保 Ping 仅使用 OHTTP 发送。
就是这样!