跳转到主要内容

浏览器指纹

本文约需 2 分钟阅读

浏览器指纹是一种通过组合浏览器设置、环境信息和硬件特性来唯一识别每个用户的技术。由于它不依赖于像 Cookie 那样可被用户删除的数据,仅凭浏览器在正常 Web 访问中自然发送的信息即可进行追踪,因此也被称为「无法删除的 Cookie」。它一方面被正当地用于欺诈检测和反机器人,另一方面也常被滥用于未经用户同意的追踪,与以 GDPR 为首的隐私法规之间的紧张关系持续存在。

被收集的信息

单一信息的识别能力较低,但通过组合数十个属性,指纹可实现很高的唯一性。在 EFF 的 Panopticlick 项目 (现为 Cover Your Tracks) 的调查中,据报告约 83% 的常见浏览器可通过指纹被唯一识别。

Canvas 指纹

在 HTML5 Canvas 上绘制文本和图形,并对渲染结果的像素数据进行哈希处理。 GPU 和字体渲染引擎的差异会产生唯一性。

WebGL 指纹

获取 WebGL 的渲染器名称、供应商名称、着色器精度等 GPU 固有信息。 3D 渲染结果的哈希值也被用于识别。

字体枚举

使用 JavaScript 检测已安装字体的列表。操作系统和用户添加的字体组合因人而异,差异很大。

其他属性

时区、语言设置、屏幕分辨率、插件列表、 User-Agent 字符串、 AudioContext 的处理特性、电池 API 的值等。

与 Cookie 的区别

特性Cookie浏览器指纹
存储位置浏览器的存储空间在服务器端计算并保持
用户删除可能不可能 (即环境信息本身)
同意横幅的对象是 (GDPR / ePrivacy)灰色地带 (因法域而异)
跨浏览器追踪不可部分可能 (操作系统级别的属性)
精度的稳定性高 (明确设置)可能随环境变化而变动

正当利用与滥用

指纹有正当的使用场景。在银行和在线支付中,它被用于检测来自与平时不同设备的访问,以防止非法登录。机器人检测服务也通过识别自动化工具特有的指纹模式来阻断非法访问。

另一方面,广告网络在未经用户同意的情况下将其用于跨站点追踪的情形,也可以说是一种暗黑模式。 GDPR 将基于指纹的追踪解释为同样需要同意,正逐渐成为监管的对象。

应对措施

Tor Browser

旨在使所有用户的指纹趋于一致的设计。它限制 Canvas 和 WebGL 的 API,并且对屏幕尺寸也返回固定值。这是最强大的应对措施,但会牺牲速度。

Firefox ETP (增强型追踪保护)

通过阻止列表拦截已知的指纹脚本。还提供要求用户许可才能访问 Canvas API 的选项。

Brave Browser

向指纹 API 的返回值中注入随机噪声。这是一种在不破坏网站功能的前提下降低唯一性的方法。

关于隐私与便利性的平衡,隐私与便利性的兼顾中有详细解说。关于浏览器安全设置的整体内容,也请参考隐私设置指南浏览器密码安全性隐私保护技术书 (Amazon)可以进一步深入学习。

常见误解

有一种误解认为「使用无痕模式 (隐私浏览) 就能防止指纹识别」,但无痕模式只是不保存 Cookie 和浏览历史,浏览器的环境信息与普通模式一样可以被获取。从隐私设计的角度来看,根本的解决方案是让浏览器本身具备抵抗指纹识别的能力。

相关术语

这篇文章对您有帮助吗?

XHatena