浏览器指纹识别与同意:出版商关于监管机构正在关注的追踪技术实用指南
在Cookie时代关于在线追踪的大多数讨论中,关键的技术层面是存储层:浏览器中的Cookie、localStorage条目、IndexedDB数据库——这些是开发人员可以看到、监管机构可以指出的内容。指纹识别的工作方式截然不同。它不要求浏览器存储任何内容,而是向浏览器提出问题——你安装了哪些字体?这个canvas渲染的结果是什么样的?音频上下文如何处理这个信号?——然后将答案组合成一个跨会话、跨设备乃至在隐私浏览窗口间持续存在的标识符。对出版商和广告技术供应商而言,指纹识别一直是规避第三方Cookie淘汰的有吸引力的方式。对监管机构而言,它已成为受到最积极追查的追踪技术之一,因为从设计上看,它在用户不知情的情况下完成识别。CNIL、EDPB、UK ICO和意大利Garante在过去24个月内均发布了专门针对指纹识别的执法决定或指导意见。本指南详细阐述了指纹识别的实际含义、法律意义上对指纹识别的界定,以及出版商应如何在同意管理框架内加以处理。
浏览器指纹识别是什么
浏览器指纹是由浏览器向任何运行中的JavaScript暴露的属性所构建的高熵标识符。基础技术可分为若干类别,每类都为组合指纹贡献熵值。
Canvas指纹识别
HTML5 canvas元素会根据底层GPU、驱动程序、操作系统和字体子系统以略微不同的方式渲染图形。使用特定字体绘制固定字符串,然后对生成的像素数据进行哈希处理,会生成一个在不同设备间各异但在同一设备的不同会话间保持稳定的标识符。Canvas指纹识别是最典型的示例,也是执法行动中被引用最多的技术。
音频指纹识别
AudioContext API通过与图形处理相同类型的硬件和软件管道来处理音频信号,生成的输出以产生熵值的方式变化。将已知振荡器通过压缩器处理并对结果进行哈希,可生成稳定的每设备标识符。
字体枚举
不同的操作系统和用户配置文件安装了不同的字体集合。通过测量候选字体列表的文本度量来探测字体的存在与否,会生成一个对已自定义字体集的用户尤为具有区分性的标识符。
WebGL指纹识别
WebGL暴露GPU功能和渲染行为。供应商字符串、渲染器字符串以及固定场景渲染的组合会产生另一个高熵标识符。
网络与设备元数据
除主动探测技术外,指纹通常还包含被动元数据:User-Agent字符串、语言偏好、时区、屏幕分辨率、颜色深度、可用内存、可用处理器、电池状态以及连接层的TLS指纹。每个条目本身都增加熵值,并与其他条目形成乘数效应。
监管机构如何看待指纹识别
从框架来看,法律分析相对清晰,但实践中更为复杂。能够识别用户的指纹识别按GDPR的定义产生个人数据,而读取或访问设备上已存储信息的行为属于ePrivacy指令Article 5(3)的管辖范围——与管理Cookie的条款相同。Article 5(3)和GDPR均要求对非必要追踪取得事先同意。法律超越Cookie之处在于,ePrivacy Article 5(3)涵盖"在用户或订阅者终端设备中存储信息,或获取对已存储信息的访问"——该措辞足以覆盖指纹识别所依赖的设备状态探测。
EDPB在其2023年关于将Article 5(3)适用于非Cookie追踪的指导方针中确认了这一解读,而CNIL一直是最积极的执法机构:2024年的多项罚款将在取得同意前运行的指纹识别库列为主要违规行为。UK ICO 2024年关于追踪的声明更为直接,明确将canvas、音频及类似指纹识别定性为与Cookie同等需要选择加入同意的技术。
灰色地带:欺诈预防与追踪
最具争议的指纹识别使用场景是欺诈预防。机器人检测、账户接管防御和支付欺诈筛查都将设备指纹识别作为核心信号。监管机构已承认,其中部分处理可基于合法利益而非同意进行——但门槛很高,范围很窄。CNIL的立场(其他数据保护机构亦有呼应)是:
- 第一方属性上严格必要的欺诈预防可在合法利益下进行,但需在合法利益评估(LIA)中留有适当文档。
- 对同一指纹的行为或广告使用需要同意,不能依赖欺诈预防基础。
- 出于任何目的与第三方共享指纹通常超出合法利益范围,需要同意。
- 超出即时欺诈检查的指纹持久存储通常需要同意或措辞极为严格的合法利益立场。
实际含义是:同时运行欺诈预防指纹识别和广告技术指纹识别的出版商,不能以欺诈基础覆盖两者。两条流程必须在架构上相互独立,广告技术流程须在获得同意后方可运行,欺诈预防流程则须严格限定在其记录目的范围内。
如何在CMP中处理指纹识别
指纹识别的集成模式与其他追踪技术类似,但需额外谨慎,因为缺乏明显存储行为使同意边界更容易被忽略。
1. 盘点指纹识别面
审计网站中所有调用canvas toDataURL()、基于AudioContext的处理、通过文本度量测量进行字体探测或WebGL渲染器查询的脚本。这些调用通常深埋于第三方库中——广告技术SDK、反欺诈供应商、A/B测试工具——并不会立即显现。
2. 对每种指纹识别用途进行分类
对每个进行指纹识别的库,记录其属于:(a) 网站正常运行严格必要的,(b) 基于合法利益的欺诈预防措施,或(c) 用于追踪、分析或广告投放。类别(a)和(b)在有文档基础的情况下可无需明确同意进行;类别(c)需要选择加入。
3. 对追踪目的的指纹识别实施门控
对于属于类别(c)的库,CMP应将其与营销Cookie同等对待:脚本存在于DOM中但处于静止状态,直至访客接受营销类别。大多数现代CMP已通过标准的 type="text/plain" + 类别属性模式支持这一机制。
4. 记录欺诈预防指纹识别的合法利益基础
在指纹识别基于合法利益进行的情况下,LIA必须具体、及时,并反映实际处理范围。笼统的"欺诈预防"理由不足——LIA需明确处理哪些数据、保留期限、适用何种保护措施,以及用户的合理预期是什么。
5. 为合法利益流程提供有实质意义的选择退出
即使欺诈预防指纹识别在未经同意的情况下进行,GDPR的Article 21也赋予用户反对合法利益处理的权利。CMP必须提供这一权利入口,且技术实施必须在该权利被行使时真正停止指纹识别——而非仅记录异议、指纹识别仍在持续。
审计清单
针对任何可能暴露指纹识别面的网站,以下六个具体问题值得逐一审查。
1. 盘点完整性
安全团队是否已整理出执行canvas、音频、字体、WebGL或设备元数据探测的所有库的最新清单?若答案是"不确定",则审计无法推进。
2. 基础分类
对每个库,是否均有文档记录的合法基础(同意、附LIA的合法利益、合同必要性)?未记录的基础在问责制要求下在实质上等同于缺失。
3. 同意门控
追踪目的的指纹识别库是否已置于营销同意类别的门控之后,确保脚本在取得同意前无法运行?
4. LIA时效
合法利益评估是否在过去12个月内完成并标注日期,且是否反映当前实际处理范围而非过时描述?
5. 选择退出执行
当用户行使Article 21时,系统是否确实停止了合法利益指纹识别,还是仅记录异议而处理仍在继续?
6. 跨供应商清理
若指纹与第三方(广告网络、归因服务商、身份识别供应商)共享,该共享行为是否有独立同意依据,并已在隐私声明中予以披露?
指纹识别在追踪技术未来中的位置
浏览器供应商正在积极致力于减少指纹识别库可利用的熵值。Apple的ITP、Firefox的内置保护以及Google Privacy Sandbox方案均在逐步压缩底层技术空间。然而,这些干预措施均未消除监管层面的问题——即使熵值降低的指纹,在成功识别用户时仍属个人数据,降低成功率并不改变其在有效时的法律定性。对出版商而言,更稳妥的预设是:指纹识别在未来24个月内仍将是真实存在的、与审计相关的技术;监管机构将继续将其视为与Cookie具有同等同意要求的追踪手段;而正确的操作答案是将指纹识别视同任何其他追踪面:纳入盘点、按目的分类、在必要时以同意进行门控,并在依其他基础进行时留存完整文档。