虽然大多数互联网用户都熟悉Cookie,但网络上还存在一种更持久且隐蔽的跟踪方法。这种被称为浏览器指纹的技术,可以在不向您的计算机存储任何内容的情况下创建您的唯一档案,因此任何注重隐私的个人都必须了解它。
设备指纹,通常更被称为浏览器指纹,是从网络浏览器和设备中系统收集信息的过程。其目标是将这些细节组合起来,创建一个足够独特的标识符,以识别、跟踪用户并建立详细的用户档案。
这种技术是作为一种更持久的跟踪方法而开发的,旨在克服用户控制的隐私措施,如删除Cookie。与用户可以找到并删除的Cookie不同,指纹识别通常是透明运行的,不会在用户设备上存储任何文件。
数字指纹技术在专业文献中被描述为“无Cookie怪兽”,因为它无需在设备上安装任何类型的Cookie即可收集信息……
这些“指纹”是通过组合许多不同的信息片段构建而成的,我们接下来将对此进行探讨。
浏览器指纹识别背后的基本概念是,虽然关于您设备的任何单一信息片段可能很常见,但许多此类细节的组合却可能是唯一的。网站收集一组这些特征,从而有效地为您的浏览器创建一个“数字指纹”。
以下是一些可被收集以形成基本指纹的常见特征:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0)。-120 分钟 UTC)。1920x1080x24)。虽然这些基本数据点能够创建出惊人的唯一标识符,但跟踪器通常会采用更复杂的方法来提高准确性。
为了创建更强大和精确的指纹,跟踪器会利用现代网页浏览器的特性采用高级技术。
这项强大的技术使用HTML5 Canvas元素,这是一种旨在在网页上绘制图形和动画的功能。追踪器指示浏览器绘制隐藏图像或文本片段。其独特之处在于,不同的硬件(如图形处理器,即GPU)、软件(图形驱动程序)和操作系统组合会以细微不同的方式渲染此图像。最终渲染的图像会转换为唯一的数字签名,称为哈希,用作高度稳定的标识符。
这是Canvas指纹识别的一种特殊变体。它不是绘制单个复杂图像,而是指示浏览器多次渲染相同的文本字符串,每次使用设备已安装字体列表中的不同字体。通过测量每种字体绘制方式的细微差异(如其大小、抗锯齿等),此方法可以生成一个高度特定于用户独特系统字体集合的标识符。
WebRTC(网络实时通信)是一种能实现浏览器之间直接实时语音和视频通信的API。此功能的一个副作用是,WebRTC API可用于泄露用户的本地IP地址——即设备在私有网络(如家庭Wi-Fi网络)上使用的地址,该地址通常是隐藏的。通过将用户隐藏的本地IP与其公网IP相结合,即使公网IP发生变化,跟踪器也能创建一个非常稳定且有效的标识符。
此技术使用AudioContext API,这是一种在浏览器内处理音频信号的工具。需要重点注意的是,此方法不会监听用户的麦克风。相反,它会生成一种标准化的、听不见的声波(如正弦波),并通过浏览器的音频堆栈对其进行处理。由于设备硬件和软件驱动程序的独特差异,每台机器上产生的数字信号都会略有不同。然后,将经过处理的信号的哈希值用作唯一标识符。
既然我们已经了解了指纹是如何创建的,接下来让我们看看如何科学地衡量它们的唯一性。
科学衡量指纹唯一性的方法是通过信息熵。简单来说,熵是不确定性的度量单位,以“比特”计算。一个特征提供的“识别信息比特数”越多,它就越罕见,也就越有助于唯一识别用户。
例如,已知一位欧洲用户使用Chrome浏览器(2018年5月市场份额为59%),这提供的识别信息非常少(约1比特)。然而,若已知其使用Internet Explorer(市场份额4%),则能提供更多信息(约4比特),因为这种情况远不常见。通过组合多个此类特征,总熵值可以迅速累积,从而生成全球唯一标识符。
下表基于Panopticlick测试数据,展示了不同浏览器特征如何贡献不同数量的识别信息。
示例:识别信息比特数
| 浏览器特征 | 识别信息位数 |
|---|---|
| 画布指纹哈希值 | 6.62 |
| 屏幕尺寸和颜色深度 | 2.45 |
| 浏览器插件详情 | 9.14 |
| 时区 | 2.70 |
| 系统字体 | 6.50 |
| 平台 | 3.17 |
| 用户代理 | 7.68 |
这种独特性度量并非只是理论层面的;它具有重要的现实应用和影响。
在2018年的一项研究中,西班牙数据保护局(AEPD)分析了超过5000个URL,以了解这些技术的普及程度。研究结果发人深省:
该研究还证实了“请勿跟踪”(DNT)信号的无效性,这是一种浏览器设置,用于请求网站不要跟踪用户。研究发现,使用指纹识别的网站绝大多数都忽略了这一请求。在Canvas指纹识别方面,令人震惊的是,即使用户明确激活了DNT,仍有96.12%的网站继续生成指纹。更令人担忧的是,研究发现DNT信号本身可被用作另一个数据点,使用户的指纹更加独特,将隐私请求变成了身份识别工具。
面对这样一个普遍且持续存在的问题,人们自然会问,该如何保护自己的隐私。
西班牙数据保护局(AEPD)的研究测试了多种缓解措施,以观察它们在防止指纹识别方面的有效性。结果表明,被动隐私功能和主动拦截工具之间存在明显差异。
| 方法 | 工作原理 | 有效性(基于AEPD研究) |
|---|---|---|
| 私密/ 隐身模式 | 会话结束后删除本地历史记录、Cookie和网站数据。 | 无效。它不会改变底层设备特征,因此指纹保持不变。 |
| VPN/匿名网络 | 对目标服务器隐藏用户的公网IP地址。 | 部分有效。虽然它们隐藏了一个关键数据点(公网IP),但并未过滤其他设备特征的收集。 |
| 浏览器隐私选项(如阻止第三方Cookie、启用DNT) | 使用浏览器内置设置限制跟踪。 | 无显著减少。研究发现这些选项效果甚微,仅对WebRTC检测有显著减少。 |
| 浏览器扩展(如uBlock Origin、Ghostery等拦截器) | 主动识别并阻止已知用于跟踪的脚本和连接。 | 最有效。这些工具在各种指纹识别技术中“显著减少了检测”。 |
| 禁用Javascript | 阻止收集指纹数据的脚本运行。 | 有效,但不实用。此方法会破坏许多现代网站的功能,对大多数用户而言并非现实的解决方案。 |
这些发现为所有关注自身数字隐私的人得出了几个重要结论。