浏览器指纹:网站无需Cookie也能跨站追踪你
速览
浏览器指纹是一种通过收集设备硬件、软件配置等唯一特征来识别用户的追踪技术。它不需要依赖传统Cookie,因此更难被用户清除或屏蔽。该技术被广泛用于广告定向、反欺诈和用户行为分析,但也引发隐私担忧。
AI 深度解读
背景
在互联网早期,网站主要依靠 Cookie 来追踪用户——你在浏览器中留下的小型文本文件可以被网站读取,用于识别你的身份和偏好。然而,随着用户隐私意识的提升,浏览器开始允许用户清除 Cookie、使用无痕模式,甚至默认阻止第三方 Cookie。广告商和技术公司迫切需要一种更隐蔽、更难清除的追踪方式。浏览器指纹(Browser Fingerprinting)正是在这种需求下发展起来的技术。它不需要在用户设备上存储任何数据,而是通过收集浏览器和设备在通信时自动暴露的技术参数,生成一个几乎唯一的“数字指纹”,从而在无需 Cookie、用户毫不知情且无法通过清除历史记录来消除的情况下,持续追踪用户。
核心内容
什么是浏览器指纹?
浏览器指纹是一种追踪技术,它收集关于你的浏览器和设备的独特技术细节,生成一个数字“指纹”。与 Cookie 不同,它在后台静默运行,无法通过删除浏览历史来清除,即使在无痕模式下也能继续追踪你。
浏览器指纹的工作原理
当你访问一个网站时,你的浏览器会自动分享某些参数以确保页面正常显示。追踪脚本会收集数十个这样的信号——操作系统、浏览器版本、屏幕分辨率、时区、已安装字体、GPU 详细信息等——并将它们组合成一个唯一的标识符。虽然数百万人可能会共享某一个特征(比如使用 Windows),但你所有设置的确切组合在数学上是独一无二的。最终结果被转换成一个单一的哈希值——一个跟随你跨网站的追踪 ID。
常见的指纹技术
- Canvas 指纹:脚本指示浏览器绘制一幅隐藏的图像(包含文字、形状、细微的颜色渐变),这幅图像永远不会在屏幕上显示。由于每台设备的 GPU、显卡驱动和操作系统的组合都会使图像渲染产生微小差异,最终生成的像素形成一个稳定的标识符。这是使用最广泛的技术之一,因为它无需任何权限且结果一致。
- WebGL 与 WebGPU 探测:这些浏览器 API 是为了让网站能运行 3D 图形而存在的,但硬件完成渲染任务的方式会暴露你的特定 GPU 型号和驱动的细节。脚本可以请求一个小型 3D 场景,测量输出结果,并直接从 API 中读取供应商字符串。由于 GPU 和驱动组合在不同设备之间差异很大,这能大幅缩小你的范围。
- 字体与插件枚举:脚本可以通过测试每种字体渲染文本的方式来判断你系统上安装了哪些字体,还可以探测浏览器扩展的存在。你特有的已安装字体集合——由你多年来安装的软件决定——往往本身就能作为一个独特的特征。
- 音频指纹:Web Audio API 允许脚本在后台生成并处理一个声音信号,而无需通过扬声器播放任何声音。音频硬件和软件处理的微小差异会导致相同的输入产生可测量的不同输出。这个输出又成为你指纹的另一个稳定组成部分。
- 媒体与设备 API:浏览器会暴露有关已连接显示器、支持的音频和视频编解码器以及在某些情况下电池状态的信息。每次查询返回的信息量很小,但综合起来会为你的设备整体画像增加有意义的细节。
网站为何使用指纹
最普遍的用途是广告投放和用户画像。广告技术公司利用指纹在不同网站之间识别你,构建行为画像——你浏览的页面、查看的产品、浏览的时间段——然后用于定向广告。这是隐私法规最担心的用例,因为它在没有任何可见提示的情况下发生。
指纹也有真正的保护性用途。银行和安全平台将其用于欺诈和机器人防范:如果一次登录尝试来自你账户上从未见过的设备指纹,这是一个有用的警报信号。同样的技术有助于区分真实访客和自动化机器人。
最后,服务商用指纹来防止滥用——检测一个流媒体账户是否被多个家庭共享,或者重新识别在线游戏中因作弊被封禁后又创建新账号的用户。需要坦诚地说:指纹并非纯粹的监控工具。这项技术本身是中性的;区别在于谁在使用它以及出于什么目的。
如何保护自己
由于指纹瞄准的是你设备的固有特征而非存储的数据,因此比阻止 Cookie 更难。你无法删除指纹——你只能改变你的浏览器暴露的信息,或者让它与其他用户混同。
- Brave 浏览器:在每个会话中随机化 Canvas、WebGL、音频和字体指纹信号,因此今天追踪器记录的指纹与明天看到的不会匹配。这是主流浏览器中的最佳选择——默认开启保护,无需配置。
- Firefox(开启 resistFingerprinting):是一个良好的日常替代。进入
about:config,将privacy.resistFingerprinting设置为true。Firefox 会为指纹脚本依赖的许多信号报告标准化值,但代价是偶尔会破坏依赖这些值的网站。 - Tor 浏览器和 Mullvad 浏览器:采取最强有力的方法——不随机化信号,而是将所有信号标准化,使每个用户看起来一模一样。如果你的指纹与成千上万其他用户完全匹配,就无法将你单独识别出来。这是高敏感性场景的正确选择,但代价是速度较慢和更严格的默认设置。
- 最小化扩展:矛盾的是,安装大量隐私扩展可能会使你的指纹更独特——每个扩展都会以可检测的方式改变浏览器的行为,不寻常的组合本身就成为了一种标识符。默认的浏览器配置比高度定制的配置更容易融入人群。
- VPN 与指纹的关系:一个常见的误区需要澄清:VPN 不会影响你的浏览器指纹。VPN 更改你的 IP 地址,但这只是数十个信号中的一个——你的 Canvas 渲染、字体、GPU 详细信息等一切都不会改变。VPN 和指纹保护解决的是不同的问题。
关键要点
- 浏览器指纹通过收集浏览器在正常通信时自动暴露的数十个技术参数(操作系统、分辨率、字体、GPU、音频处理等)生成一个唯一的哈希标识符,无需 Cookie、无需用户许可,也无法被清除。
- 主要指纹技术包括 Canvas 指纹、WebGL/WebGPU 探测、字体枚举、音频指纹以及媒体/设备 API 探查。
- 广告商使用指纹进行跨站追踪和用户画像,银行和安全平台用于反欺诈,流媒体和游戏平台用于防止滥用。
- 保护方法:Brave 默认随机化指纹信号;Firefox 开启
privacy.resistFingerprinting可标准化信号;Tor 和 Mullvad 浏览器将所有用户标准化,实现最强保护;减少扩展安装以降低指纹独特性。 - VPN 无法防范浏览器指纹,它仅改变 IP 地址;指纹保护需要专门的浏览器设置或随机化技术。
- 无痕模式无法阻止指纹追踪,因为无痕只阻止本地历史记录,不改变浏览器暴露的技术参数。
意义与影响
浏览器指纹技术从根本上改变了网络隐私的博弈格局。在 Cookie 时代,用户至少可以通过删除 Cookie 或使用无痕模式来“重置”追踪;而指纹没有可清除的实体,只要设备配置不变,追踪标识就持久存在。这对用户隐私构成了严峻挑战——用户几乎无法感知自己被追踪,也缺乏有效的防御手段。
从法律与监管角度看,欧盟的《电子隐私指令》要求对指纹识别征得用户同意,但执行力度参差不齐。由于指纹追踪发生在后台、无需存储数据,监管机构很难发现和举证。这促使隐私倡导者和浏览器厂商推进技术对抗:Brave、Firefox 和 Tor 等浏览器正在内置指纹对抗功能,从而将选择权部分交还给用户。
另一方面,该技术的双刃剑性质不容忽视。反欺诈、防滥用等正当用途依赖于同样的机制。如果全面禁止指纹,银行和在线游戏等行业的风险控制能力会大幅下降。未来的平衡点可能在于:要求网站向用户明确披露指纹收集行为,并提供可操作的拒绝方式(例如通过浏览器标准 API 声明“不要指纹我”);同时推动设备厂商和操作系统层面提供更细粒度的权限控制,让用户能在保护隐私和允许合法用途之间做出选择。
