当我在Fiddler中查看chrome发送的http请求时,我注意到下面的http头文件让我感到困惑:
X-Chrome-Variations: CNa1yQEIjrbJAQiYtskBCKK2yQEIp7bJAQiptskBCLmDygE=
这是一个base64编码的35字节数组:
8,214,181,201,1,
8,142,182,201,1,
8,152,182,201,1,
8,162,182,201,1,
8,167,182,201,1,
8,169,182,201,1,
8,185,131,202,1
我在网上看到过几个这个数字的例子。
谁能给我解释一下这是什么,为什么chrome会把它发送出去(以及它是否可以用来识别/跟踪我)?
发布于 2012-11-06 04:32:23
Google Chrome开发人员通过对Chrome安装的小范围随机选择启用一个功能并观察该功能是如何工作的,来测试实验功能。这方面的常用术语是现场试验。当Google Chrome第一次运行时,它会生成一个介于1和8192之间的随机数,然后使用它来确定是否参加特定的现场试验。
"Google Chrome and Privacy“白皮书(PDF,2012年10月,当前的Chrome22.0.1229.79)提供了这些细节。
为了帮助指导用户实际发现有用的功能的构建,一部分用户可能会在新功能向世界发布之前先睹为快。当前在您的Chrome安装上处于活动状态的现场试验将包括在发送到Google服务器的所有请求中,以允许Google只过滤那些由给定的Chrome变体生成的日志。此
Chrome-Variations
标头不包含任何个人身份信息,并将严格描述Chrome本身的安装状态。
给定安装的活动变量由在第一次运行时随机选择的介于1和8192 (13位熵)之间的种子号确定。如果你想重置你的变体种子,运行Chrome的命令行标志“--重置-变体-状态”。
Google Chrome以*.google.<TLD>
(其中.<TLD>
是顶级域,例如.com、.org、.co.uk、.cn、.biz等)的形式向所有域发送有关当前活跃的现场试验的信息。大多数但不是所有这些域名都归谷歌所有。现场试验标识符存储在protocol buffer中,用base64编码,并在X-Chrome-Variations
报头中发送。如果您选择向谷歌发送使用统计数据和崩溃报告(可在chrome://chrome/settings/search#privacy
访问的复选框),则还会发送一个X-Chrome-UMA-Enabled: 1
报头。当处于隐身模式时,不发送标头。
从revision 156914开始(根据release table,包括在Chrome23和更高版本中),现场试验列表显示在about:version
页面上的Variations标题下。
相关的源代码在chromium/src/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc文件中。标头在ChromeResourceDispatcherHostDelegate::AppendChromeMetricsHeaders
方法中发送。X-Chrome-Variations
的值是在ChromeResourceDispatcherHostDelegate::UpdateVariationIDsHeaderValue
方法中构造的。现场试验是使用文件src/base/metrics/field_trial.h中的base::FieldTrial
类定义的
至于使用这些头文件跟踪您的能力,这取决于您的现场试验的实际组合的唯一性属性,我不知道这一点。但请记住,即使您剥离X-Chrome-Variations
头,禁用cookies,本地存储和闪存本地存储,您的浏览器可能仍然可以使用cache fingerprinting技术或使用它通常发送的请求头的组合,您的系统配置信息可用于JavaScript或闪存,并可能是您倾向于使用的IP地址块,如EFF的Panopticlick所示。因此,除非您使用带有Privoxy设置的仔细配置的Tor,否则隐私游戏基本上是失败的,即使这样也有可能泄露。
https://stackoverflow.com/questions/12183575
复制相似问题