Chrome 隐私沙盒:它对设备指纹识别意味着什么
Chrome 正在限制 userAgent、Client Hints 和第三方 Cookie。tracio.ai 如何在这些限制下依然保持 99.5% 的准确率。
Google 的 隐私沙盒(Privacy Sandbox)是自 Canvas API 问世以来,浏览器指纹识别领域最重大的一次变化。过去两年里,Chrome 逐步削减了通过 navigator API 可获取的信息,引入 User-Agent Client Hints 来替代 user-agent 字符串,并正在彻底移除第三方 Cookie。
对设备指纹识别厂商而言,这既是挑战,也是机遇。挑战显而易见:信号越少,识别能力越弱。机遇则在于,那些主动适应变化的厂商,将相对那些依赖如今已被限制的信号的厂商,获得明显的竞争优势。
发生了哪些变化
影响最大的变化是 navigator.userAgent 字符串的精简。Chrome 现在返回一个「精简版」user agent,省略了操作系统版本、设备型号和完整浏览器版本。相应地,这些信息改由 User-Agent Client Hints 提供——但仅在通过 Accept-CH 头显式请求时才提供,并且受权限策略约束。
对 tracio.ai 来说,user agent 从来都不是一个高辨识度的信号。它对我们指纹的辨识度贡献有限,而且随着 Chrome、Edge 和 Brave 趋同于相似的格式,其价值一直在下降。我们的多层识别架构早已将 user-agent 数据归类为「会话级」信号——它对初次识别有用,但对跨会话持久化并不关键。
我们的适应策略
tracio.ai 对隐私沙盒的应对分为三方面。第一,我们将重心转向那些 Chrome 无法在不破坏网页兼容性的前提下加以限制的硬件级信号:canvas 渲染、WebGL 着色器精度、音频处理特征以及 GPU 参数。这些信号运行在浏览器隐私控制之下的层级——它们依赖于物理硬件,而非浏览器配置。
第二,我们投入于基于机器学习的信号组合。当单个信号的辨识度下降时,众多信号的组合仍然能够生成高度独特的指纹。我们由 AI 驱动的模型能够学习到简单拼接所遗漏的信号相关性。屏幕分辨率 + 设备像素比 + 硬件并发数 + GPU 渲染器 + 音频采样率的某种特定组合,其独特性可以几乎等同于单独一个 canvas 指纹。
第三,我们将信号目录扩展到了传统浏览器 API 之外。CSS 特性查询、字体渲染度量、JavaScript 引擎计时特征以及 WebAssembly 编译行为,都能提供不在隐私沙盒限制范围内的识别信号。
对准确率的影响
自 Chrome 110 版本起,我们一直在跟踪各个 Chrome 版本下的识别准确率。以下是我们的数据:
Chrome 110(精简前):准确率 99.7%。Chrome 115(部分 UA 精简):准确率 99.6%。Chrome 120(完全 UA 精简):准确率 99.5%。Chrome 125(Client Hints 强制执行):准确率 99.5%。
这 0.2% 的下降主要出现在移动端 Safari 到 Chrome 的跨浏览器场景中,此时硬件信号存在差异。而对于同浏览器回访者识别——我们的核心用例——在整个隐私沙盒推行过程中,准确率始终保持在 99.5%。
接下来会发生什么
Google 已宣布计划限制更多 API,包括降低 screen.width/height 的精度,以及限制对 WebGL 扩展的枚举。我们正通过替代信号源和改进的机器学习模型为这些变化做准备。
根本的洞见在于:硬件的多样性是设备指纹识别的基石,而这种多样性不会消失。只要不同设备在渲染像素、处理音频、执行代码上仍有差异,设备识别就能以高准确率持续可行。我们所使用的信号或许会变,但其背后的原理——每一台设备都是独一无二的——始终不变。