浏览器指纹把多个浏览器公开属性组合起来,帮助区分不同浏览环境。它不依赖某一个“万能标识”,本地指纹哈希也不能证明某个人在互联网上是唯一的或已经被确认身份。
MDN 隐私指南将指纹识别描述为收集能够区分用户的数据点。关键在于组合:屏幕尺寸、语言或渲染结果单独看可能很常见,但与其他信号结合并持续观察后,区分能力可能增强。
常见指纹输入
网站能够观察不同类别的信号,具体取决于浏览器策略和用户设置:
- 浏览器身份: User Agent 标记、功能支持、首选语言和平台提示。
- 显示与渲染: 屏幕尺寸、色深、Canvas 输出、WebGL 厂商/渲染器和布局测量。
- 音频与字体: 确定性音频处理输出,以及选定字体是否可用。
- 网络背景: 服务器看到的请求地址,以及部分 WebRTC 配置中公开的 ICE 候选地址。
- 行为与状态: 时间模式、已存储标识、权限和站点状态可以补充被动属性。
随着浏览器增加保护、Web API 演进,这份列表会变化。例如,User-Agent 精简会在支持的浏览器中移除或泛化部分操作系统、设备型号和次版本信息。
BrowserCheck 检测实际做什么
BrowserCheck 指纹检测展示一组有明确边界的本地可读表面:
- 在 Canvas 绘制固定文字与图形,并在页面内哈希输出。
- 读取可用的 WebGL 渲染信息与部分能力,再哈希结果。
- API 可用时计算 OfflineAudioContext 样本。
- 测量固定 Client Rects 内容,并检查固定字体列表。
- 分开展示浏览器、语言、屏幕等背景信息。
这些哈希只是本次会话输出的短标签。BrowserCheck 不会通过分析事件上传原始指纹哈希,也不维护用于比较的用户总体数据库。
哈希能说明什么、不能说明什么
| 观察 | 可以支持的解释 | 不能支持的解释 |
|---|---|---|
| 可以读取哈希 | 浏览器在本次会话公开了可重复值 | 你在整个互联网中唯一 |
| 哈希发生变化 | 至少一个输入或浏览器防护发生变化 | 跟踪已经不可能 |
| 哈希保持相同 | 该输出在两次比较中稳定 | 网站知道你的真实身份 |
| 信号不可用 | API 被阻止、不支持、失败或未测试 | 浏览器通过了万能隐私检测 |
估算唯一性需要明确比较总体、采集周期、抽样方法和动态值处理方式。BrowserCheck 不收集这种数据集,因此不会展示唯一性百分比。
浏览器如何降低指纹识别
不同浏览器采用不同策略,而且策略会变化:
- Tor Browser会标准化或限制窗口尺寸、User Agent、语言和字体等信息,使用户落入更少的可区分分组。Tor Project 建议保持默认配置,并不鼓励增加可能让配置更显眼的扩展。
- Brave说明其当前标准防护会随机化若干可用于指纹识别的 API,同时兼顾兼容性。这并不等同于 Tor 的网络匿名。
- Firefox把跟踪保护、Cookie 隔离与指纹保护结合起来;具体行为取决于版本和所选设置。
没有任何方案能让所有用户在每个 API、每个网站上完全相同。隐私防护还可能带来兼容性成本,因此浏览器会做不同取舍。
不夸大效果的实用步骤
- 使用浏览器内置更新机制保持版本更新。
- 增加大量扩展前,优先使用有文档的内置隐私设置。
- 删除不需要的扩展;即使以隐私为卖点,扩展也会增加代码、权限和异常行为。
- 在修改一个设置前后运行同一检测,记录浏览器版本、时间和唯一变化项。
- 如果威胁模型要求的是匿名而不是普通跟踪器减少,请按官方说明评估 Tor Browser 等专用系统。
可以使用隐私报告查看更广的可观察值,但不能把任何一个页面当作匿名、恶意软件安全或避免账户识别的证明。
来源与审核说明
- Web 隐私 — MDN
- 浏览器指纹术语 — MDN
- User-Agent 精简 — MDN
- 浏览器指纹防护 — Tor Project
- Brave 指纹防护更新
- Firefox 隐私与安全功能 — Mozilla Support
审核方法: 对照当前浏览器厂商文档和 BrowserCheck 实现检查文中结论;浏览器大版本更新后应重新核对产品行为。最后审核日期为 2026年8月30日。