根据https://coveryourtracks.eff.org/我的Chrome和Firefox浏览器会泄露看似不必要的信息。为什么那些(可能还有其他(浏览器很容易泄露这些信息?
与服务无关的指纹信息:
- 硬件并发
- 设备内存
- 平台
很少(如果有的话(需要的指纹信息用于服务:
- 用户代理:浏览器和版本
- HTTP_ACCEPT标头:系统语言
- 浏览器插件列表
- 时区
- 屏幕大小和颜色深度;画布散列
- 音频上下文
- WebGL供应商和渲染器;WebGL哈希
我认为你误解了这一点。浏览器不会故意泄露可通过手指打印的信息;它们提供的信息在许多不同的环境中都很有用,而这些环境恰好也有助于指纹识别。
这些是否与服务相关还不能从客户端确定。从历史上看,在我们现在看到严重依赖Javascript来实现类似功能之前,用户代理和屏幕大小/深度是至关重要的,当时浏览器和客户端平台之间的差异要大得多,许多网站仍然是这样构建的。例如,我银行的网站上仍然有明显的IE6解决方案。在CSS媒体查询之前(大约在2009年(,许多事情只能通过告诉服务器这些事情来实现,而其中许多浏览器仍然存在
了解浏览器是否支持特定的插件也很关键-例如,如果我想在iframe中渲染PDF,你的浏览器最好能够渲染它,并且在尝试使用它之前,让服务器知道它是否可以是很有用的。
您错过了列表中的字体和电池电量。这些通常也是指纹的一部分,但同时也有助于网站了解向客户提供什么。
有些客户端故意将噪声添加到这些值中。例如,电池的电量是10.4%还是12.6%并没有太大区别——它非常低,因此在这些信息中添加5%的噪声可以保留其效用,同时降低可识别性。
差异隐私的概念涵盖了你需要添加多少噪音来保持匿名,或者至少提供合理的(可测量的(身份模糊性,我将让你仔细阅读。