跨浏览器指纹关联:能说明什么
区分指纹唯一性、浏览器稳定性与跨浏览器关联,并结合样本限制、混杂因素和实用记录表解读。
BotBrowser Team
两个浏览器配置在数据集中显得少见,并不能证明它们属于同一台设备。“跨浏览器指纹”常被笼统地用来指三个不同问题:某个样本里有多少记录是唯一的、同一个浏览器随时间出现时有多稳定,以及能否关联来自不同浏览器应用的观察。最后一个问题需要单独的方法和控制条件;前两个问题本身回答不了它。
BotBrowser 文档介绍了配置在受支持主机操作系统之间的可移植性,以及一个浏览器内不同上下文之间的表面隔离。这些是配置范围,并不表示可以把互不相关的浏览器产品关联到同一台物理设备。有效的隐私评估应明确这些边界,把非指纹信号单独记录,并且只在证据支持的范围内报告关联结果。
TL;DR
- 唯一性描述一个明确的数据集和候选总体。罕见或唯一的记录不等于识别了某个人,也不等于跨浏览器匹配。
- 时间稳定性关注同一浏览器在指定时间段内的重复观察是否相似。这不能说明设备上的另一个浏览器代表同一实体。
- 跨浏览器关联性关注在具体采集条件下,能否关联不同浏览器应用的观察。结论取决于信号、浏览器配对、时间范围、样本和混杂因素。
- 一项 2017 年 NDSS 研究分别报告了单浏览器唯一性、跨浏览器唯一性和跨浏览器稳定性,范围限于其数据与方法。这些是历史结果,不是当前浏览器配对的准确率。
- 共享 IP、账号登录、Cookie、浏览器同步、共享本地状态和候选池大小都应单独记录。它们可能解释关联,但不能算作仅由指纹产生的证据。
目录
三种指标回答三个不同问题
“指纹”常被用来概括浏览器可观察属性的集合。研究可能把屏幕尺寸、语言、已安装字体的行为、图形输出或其他值组合成一条记录。不同论文和产品会选用不同信号、归一化方法和匹配规则。在明确操作和分母之前,结果不能直接比较。
| 指标 | 要回答的问题 | 分母或比较方式 | 不能据此得出什么 |
|---|---|---|---|
| 数据集唯一性 | 这个样本中有多少记录与其他记录不同? | 按指定归一化规则收集的一组记录 | 个人身份、持续性或浏览器之间的关联 |
| 时间稳定性 | 同一个浏览器的重复观察有多相似? | 指定时间段内同一浏览器的配对观察 | 另一个浏览器应用属于同一位使用者 |
| 跨浏览器关联性 | 按研究规则,能否关联不同应用的观察? | 跨浏览器配对,或研究设计中已知的同一参与者配对 | 普遍准确率、物理设备身份或真实服务的判定 |
唯一性是数据集和选定表示方式的属性。如果经过某种归一化后每一行都不同,那么每一行在这个集合中都是唯一的。加入另一组人、删除一个字段、对值取整,或者改变缺失值的表示方式,都可能改变结果。唯一性不能说明是谁产生了某行记录、同一个浏览器下周是否还会产生它,也不能说明第二个浏览器能否与它关联。
时间稳定性使用不同的单位:在不同时间与同一个浏览器关联的重复观察。稳定值可以帮助区分实验中的记录,但这种持续性可能很短,也可能有前提。浏览器更新、隐私设置、显示器变化、配置重置、网络条件和网站采集方式都可能改变观察到的记录。因此,稳定性结果应包含时间范围,并说明哪些条件保持不变。
跨浏览器关联需要来自不同浏览器应用的观察,还需要一条规则来决定哪些配对算匹配。研究可能使用参与者提供的标签、预先设定的相似度规则,或估计候选关联;每种设计的含义不同。仅共享一个大致的语言值,不等于通过更多信号关联;研究中的一次匹配,也不能证明无关服务采用了同样的方法。
浏览器指纹概览介绍了浏览器记录如何组合多个表面,但这不会让三个分母变得可互换。报告应先说清楚使用的指标,再使用“唯一”“稳定”或“关联”等词。
2017 年研究测量了什么
NDSS 论文 Cross-Browser Fingerprinting via OS and Hardware Level Features 有参考价值,因为它分别报告了单浏览器与跨浏览器指标。摘要描述了一个为期三个月的数据收集:来自 1903 名众包平台用户的 3615 条指纹。作者将其方法与早期研究比较,并在这批参与者中报告结果。样本和时间范围是研究发现的一部分,不是可忽略的元数据。
论文表 II 区分了 “Single-browser” 与 “Cross-browser” 两组列。作者的方法报告单浏览器唯一性 99.24%、跨浏览器唯一性 83.24%,以及跨浏览器稳定性 91.44%。这不是同一准确率的三种写法。第一项描述单浏览器比较中的指纹唯一性;跨浏览器唯一性描述该研究方法在不同浏览器间区分用户的结果;稳定性则是按论文定义、在浏览器之间保持稳定的指纹比例。
表格本身还说明了一条重要边界:作者没有列出某个对比方法的单浏览器数字,也没有列出另一个方法的跨浏览器数字,因为这些结果很低,而且相应方法并非为这些用途设计。数字受特征选择、浏览器配对定义、特定浏览器集合和所收集参与者影响。不能把它们直接当成当前浏览器配对的预期表现。
样本来自众包任务。论文提到,参与者需要启用 Cookie,因为登录任务平台需要 Cookie。这个条件会影响哪些人进入样本,以及哪些观察可用。也就是说,研究采集环境中包含账号和 Cookie 状态。不能把这些指纹指标改写成“在任何真实环境中,所有关联都只由指纹产生”的证据。
研究之后,浏览器及其生态都发生了变化。浏览器版本、操作系统、图形栈、字体可用性、隐私保护和网站采集做法都在演变。历史结果仍可用于理解研究方法与评估设计,但不会随着环境变化而自动更新。Google 在 2024 年发布的网页指纹风险研究考察了 Chrome 观察中的熵和风险,却没有验证 2017 年跨浏览器配对结果能否适用于不同产品。
引用历史百分比时,应同时保留四项信息:发表年份、采集人群、指标定义和比较范围。如果二手摘要缺少其中任一项,就不应把百分比写成当前的运行预期。谨慎的表述是“作者在该样本中报告了这一结果”,而不是“跨浏览器指纹能以这一准确率识别用户”。
跨浏览器结论需要对比设计
可靠的评估应从一个可证伪的问题开始。例如:“在所述采集条件下,这组信号能否以高于预先定义基线的程度关联浏览器 A 和浏览器 B 的重复观察?”这比“这些浏览器能识别同一设备吗?”更具体。它指出了配对、采集和比较方式,同时允许结论为否定或不确定。
采集单位必须明确。每条观察代表一次页面加载、一个会话,还是一个限定时间内的分组?浏览器应用与版本是否已知?参与者或测试负责人是否提供了配对标签?如果一行记录没有可靠的配对标签,仅仅因为两个值相似,并不能证明跨浏览器关联。不同上下文采集的观察也可能因为底层硬件以外的因素发生变化。
查看结果前,应先定义什么算候选匹配,以及比较基线是什么。如果一条浏览器记录只与两个可能候选比较,那么与 20000 个候选比较时,“匹配”的概率含义会不同。最近邻方法总能在一个集合里找出最近的候选,即使所有候选都不相似。应报告候选池的大小与构成、相似度规则,以及如何处理并列结果和缺失值。
| 设计项 | 解读前要记录的内容 | 为什么会影响结果 |
|---|---|---|
| 浏览器配对 | 产品系列、版本范围、配置条件和观察顺序 | 一种配对的结果不能推广到所有配对 |
| 观察间隔 | 经过的时间,以及期间是否更新或重置 | 几分钟内的相似性不等于数月内的相似性 |
| 特征集合 | 哪些表面可用、被省略、取整或归一化 | 采集变化会改变匹配规则和缺失情况 |
| 候选池 | 大小、来源、纳入规则和已知标签 | 偶然找到候选的概率取决于候选池 |
| 判定规则 | 相似度度量、预先规定的界限、并列处理和基线 | 看完结果后再调规则会夸大成功率 |
| 混杂因素记录 | IP、账号、Cookie、同步、本地状态和采集上下文 | 共享信号可能产生并非仅来自指纹的关联 |
开发阶段的选择要与评估分开。如果用同一批配对来调整规则并报告成功,结果可能反映的是调参,而不是对新观察的泛化。可靠设计应根据问题留出不同参与者、设备或采集时间段。报告还应说明留出单位;只写“交叉验证”却不说如何划分,无法判断同一参与者的观察是否泄漏到两侧。
不要把未知状态合并成匹配或不匹配。字段缺失可能是 API 不可用、未采集该字段、策略限制访问,或发生了错误。如果归一化把所有缺失情况替换成同一个标记,无关记录也可能变得相似。在采集方法能区分时,至少保留“存在”“未采集”“不可用”和“错误”几种状态。
隐私审查可为每次比较填写一行记录,同时把结论控制在证据范围内:
| 字段 | 有边界的填写示例 |
|---|---|
| 比较对象 | 浏览器 A 与 B;记录版本和观察时间范围 |
| 采集条件 | 同一项已声明任务和页面集合;不声称适用于其他网站 |
| 配对依据 | 参与者提供的研究标签,或明确记为未知 |
| 候选集合 | 符合条件的记录数及其选择方式 |
| 输入 | 信号名称和缺失状态,不保留不必要的原始值 |
| 混杂因素 | 分别记录共享网络、账号、Cookie、同步或本地状态 |
| 结果 | 按预先规定的规则记为相似、不同或无法确定 |
| 限制 | 仅是这些条件下的关联,不代表个人身份或普遍准确率 |
这张表是报告格式,不是实验结果。它能帮助区分现有证据和仍需补充的证据。如果配对标签未知,即使记录看起来很有区分度,正确结果也可能是“无法确定”。
共享信号与指纹证据
将 ipShared、accountShared、cookieState、syncState 和 localStateShared 分别记录。EFF Cover Your Tracks 结果解读说明其报告标签的边界,屏幕与窗口指纹文章则限定单一浏览器表面的结论,再进入跨应用比较。
不同浏览器的观察可能共享很多浏览器属性之外的因素。公共 IP 可能被家庭、办公室、移动运营商或 VPN 出口的许多设备共用。两个会话可能因为有人登录而使用同一账号。Cookie 可能由浏览器账号同步、在同一配置中共享,或由服务设置。操作系统服务也可能在应用之间共享状态。这些信号可能影响整体关联,但不属于仅由指纹产生的证据。
在隐私审计和事件分析中,这种区别很重要。假设两个浏览器应用从同一网络、以同一个已认证账号访问某服务。服务可以通过账号或网络上下文关联这些访问,而不需要用浏览器指纹。把结果称作“跨浏览器指纹关联”会掩盖真正的机制,并夸大指纹的作用。
应把每种渠道分别记录。在证据允许时,可以将关联标记为“同一账号”“相同 Cookie 或同步状态”“共享网络”“共享本地状态”“浏览器表面相似”或“未知”。不要先把所有渠道合成一个评分,再把整体结果归因于指纹。如果授权评估并不需要原始网络或账号数据,就不要采集;有时只需记录是否存在混杂因素,就足以避免错误的因果归因。
浏览器同步需要格外谨慎。它可能在同一账号关联的浏览器间传递设置或浏览相关状态,但不同产品同步的内容和时机并不相同。同步后观察到共享值,并不能自动归因于被动指纹。应先确认该值的来源和传递路径。同样,“同一设备”往往只是数据集中的假设标签,而非对物理事实的直接测量。
跨平台配置指南讨论的是在受支持主机操作系统之间迁移已声明的 BotBrowser 配置。这种受控的配置关系并不能证明互不相关的消费级浏览器共享设备身份。把“配置可移植性”与“跨浏览器关联性”分开,可以避免把产品配置示例误认为跟踪结果。
关联证据的层级
审计记录可分别保存 pairingLabel、candidatePoolSize 和 matchRule,再说明一组配对是否满足该规则。作为历史背景,2017 年 NDSS 研究使用了 1903 名参与者的 3615 条指纹,历时三个月;该样本不能证明当前准确率。
关联结果取决于数据、候选池和所用规则。它可以支持这样的说法:“在这个样本中,这些记录比预先声明的界限更相似。”它本身不能支持“这些记录属于同一个人”“硬件完全相同”或“某网站会拒绝该浏览器”。更强的说法需要不同证据;服务结果则需要在受控且获得授权的条件下直接观察该服务。
措辞要保留推断的层级。“记录相似”描述的是值;“按此方法关联”描述的是分析结果;“同一参与者”是由研究配对过程建立的标签;“同一设备”是可能需要独立验证的更强物理结论;“同一个人”更强,不能根据浏览器属性推断。只报告证据支持的最高层级,而不是听起来最有用的层级。
隐私审查还应询问:回答原问题是否真的需要关联。即使没有姓名,信号丰富的记录仍可能敏感。只保留必要字段、限制访问、明确删除期限,并在可能时优先使用汇总结果。在来源中描述一种指纹技术,不等于授权对个人部署它。W3C 指南把可关联性作为隐私风险来讨论,并描述威胁模型;它没有给出适用于所有浏览器配对的统一测量结果。
结果不确定时也应明确写出。不匹配可能来自字段缺失或浏览器变化,并不一定代表两台设备;匹配可能来自常见配置或共享的非指纹信号。“在所述条件下无法确定”是有用的技术结论:它限定了团队可以声称什么,也指出后续评估需要测量什么。
标准和产品文档的边界
BotBrowser 文档说明已声明配置在受支持主机操作系统之间的可移植性,以及同一实例中不同上下文的表面隔离。这些能力不能证明独立浏览器之间存在关联,也不能证明设备的物理身份。
W3C 指南讨论浏览器指纹,以及跨上下文关联观察可能带来的隐私风险。它指出,在某些威胁模型下,短暂事件关联可能连接不同浏览器应用,同时说明这通常不是需要担忧的情况。这段内容并没有说普通网站会经常关联互不相关的浏览器,也没有测量成功率。它是风险分析边界,不是可以脱离条件推广的结果。
BotBrowser 的两个相关文档范围不同。跨平台配置介绍在受支持主机操作系统之间迁移已声明的配置,以及文档所述的浏览器表面一致性。上下文指纹介绍同一个浏览器实例内部不同上下文的表面隔离。两者都没有说明第三方是否能把同一台物理设备上的 Firefox、Safari、Chrome 或其他独立应用关联起来。
这些区别也界定了 BotBrowser 在授权测试中能够和不能够确认的事情。跨平台配置文档说明受支持主机操作系统之间的配置可移植性,上下文指纹文档说明同一实例内的表面隔离;这些能力不能证明外部服务采用了某种匹配规则、两个产品共享设备级标识,或能从浏览器记录识别个人。这里没有声称做过实时跨浏览器运行对比。
FAQ
唯一的指纹能识别某个人吗?
不能。唯一性只表示一条记录在给定样本和归一化规则下与其他记录不同。要把记录合理地关联到某个人,需要独立的证据;百分比本身做不到这一点。
一个浏览器中的稳定指纹能关联另一个浏览器吗?
不能。稳定性讨论的是同一浏览器的重复观察。跨浏览器关联需要比较不同应用,并明确配对、规则、候选池和混杂因素。
99.24% 是当前跨浏览器准确率吗?
不是。在 2017 年的 NDSS 论文中,99.24% 是作者数据集上的单浏览器唯一性。论文还分别报告了其方法和样本下 83.24% 的跨浏览器唯一性与 91.44% 的跨浏览器稳定性。
共享 IP 能证明指纹匹配吗?
不能。共享 IP 是网络上下文信号,许多设备可能共用它。它应与浏览器表面证据分开记录,不能证明是同一设备或同一个人。
BotBrowser 配置控制会测试同一设备上的不同浏览器吗?
所引文档讨论配置在受支持主机操作系统间的可移植性,以及同一浏览器实例内部的上下文隔离;它们没有宣称会测试不同产品间的物理设备关联。
来源
- W3C:Mitigating Browser Fingerprinting in Web Specifications
- Cao 等,NDSS 2017:Cross-Browser Fingerprinting via OS and Hardware Level Features
- FingerprintJS 讨论 687:跨浏览器匹配范围
- Google Research:Assessing Web Fingerprinting Risk(2024)
- BotBrowser:跨平台配置
- BotBrowser:上下文指纹
实践结论
先说清楚指标,再解释浏览器记录。把样本唯一性、同一浏览器的稳定性和跨浏览器关联分开;历史数字只归属于产生它的研究;账号、网络、Cookie、同步和共享状态应记在指纹证据之外。下一步应在采集前定义比较总体和判定规则,然后只报告这些条件真正支持的有限结论。
本文属于指南: 什么是浏览器指纹?原理、风险、信号与隐私边界