浏览器隐私

浏览器指纹稳定性测试

比较 Canvas、WebGL 和离线音频签名,指纹不发送到服务器。

请谨慎解读。 稳定签名不能识别个人,变化签名不证明跟踪保护。更新、屏幕、图形驱动、设置和随机噪声都可改变结果。

就绪,不向服务器发送指纹信号。

稳定性

可比较指标—请至少运行两次。
保存的运行0最多 20 项,仅存于 localStorage。
组合指纹—可用组件的 SHA-256 哈希。

Canvas 2D

未测试
指纹
—
绘制内容

多语言文本、表情、形状、透明度、渐变、阴影和合成。三次相同渲染也显示单次运行内变化。

WebGL

未测试
指纹
—
测量内容

确定性场景、WebGL 能力、数值限制、扩展、着色器精度,以及允许时读取的声明图形渲染器。

音频

未测试
指纹
—
计算内容

离线合成渲染使用振荡器、滤波器和压缩器,不用麦克风或录制声音。

环境信号和差异

信号当前值前次对比
尚无运行。

本地历史

日期与缩短指纹
日期CanvasWebGL音频组合
尚无保存的运行。

比较调整前后

在同一设备上运行同一测试并保存初始结果。启用 VPN 或调整一个相关设置后,在其他条件相同的情况下重测并保存新结果。

保存调整前和调整后的结果,即可进行比较。

这个测试能说明什么

这项测试显示渲染输出在重复运行中是否稳定。稳定可以说明某些特征如何帮助识别,但稳定不等于独特。没有代表性人群数据库,就无法从重复的签名知道多少人共享相同结果。变化也可能由驱动、屏幕或更新造成,不一定是保护有效。

如何操作

  1. 保持设备、浏览器配置和显示条件固定,选择是否保留本地历史。
  2. 运行后不作修改再运行一次,先了解正常变化。
  3. 分别查看 Canvas、WebGL、音频及不可用项,注意使用的哈希算法。

如何测量

浏览器绘制确定性的 Canvas、WebGL 场景,并通过 OfflineAudioContext 处理合成音频;同次重复绘制帮助显示变化,不用麦克风。

通常用 SHA-256,必要时用明确标出的备用算法。计算及有限本地历史留在浏览器,指纹不发给我们的服务器或第三方。

解读结果

签名稳定
在这些条件下相关组件产生相同签名,不证明正在跟踪,也不证明无保护。
签名变化
保护可能加噪声,但更新、驱动、屏幕、设置也会变化。应定位具体组件。
组件不可用
浏览器未提供可用渲染或音频,属于测量限制,不能编造通过或失败。

比较调整前后

  1. 同设备、配置和版本下两次不改变条件,保存初始结果。
  2. 只改一个相关指纹保护设置,再运行同一测试。
  3. 保持算法一致,对比组件和同次变化;不能假设换 VPN 会改变渲染。

测试的局限

  • 三个信息面不覆盖所有浏览器识别方式。
  • 变化不能单独证明保护有效,网站仍可组合其他信号或识别变化模式。

需要时如何调整

希望减少稳定渲染细节
尝试浏览器有文档说明的保护,逐组件比较影响并注意网站兼容性。
历史无法保存或清除
查看网站存储权限和浏览器站点数据;持久保存失败时当前页结果可能仍可用。

常见问题

稳定哈希是我独有的吗?

工具无法确定,没有人群数据库来计算唯一性。

音频测试会录我吗?

不会。它离线渲染合成音频,不请求麦克风。

资料与技术参考