浏览器指纹防护
思考匿名性时,只看 IP 地址或 是不够的。
网站可能根据浏览器和终端特征区分用户。 这称为浏览器指纹。
屏幕大小、语言、时区、字体、扩展功能、User-Agent、Canvas 和 WebGL 的行为。 这些单独看都是小信息。 但是,组合起来就会显出“这个浏览器的特征”。
防护中重要的,不是增加特殊设置让自己显眼。 而是分开匿名用途环境,减少多余自定义,并让可见方式靠近其他用户。
指纹是环境特征
浏览器指纹,是组合浏览器和终端特征来区分用户的思路。
与 这种保存在浏览器中的识别符不同,指纹由环境特征生成。
| 信息 | 例 | 注意点 |
|---|---|---|
| 浏览器信息 | User-Agent、浏览器版本 | 成为环境基本信息 |
| 屏幕信息 | 屏幕大小、缩放率 | 成为终端或用法特征 |
| 语言和时间 | 语言设置、时区 | 成为地区或日常活动范围线索 |
| 字体 | 已安装字体 | 显出 OS 或使用环境特征 |
| 扩展功能 | 广告拦截、翻译、开发类扩展 | 添加越多,固有性越高 |
| 绘制信息 | Canvas、WebGL | 显出终端或 GPU 特征 |
指纹并不一定单独识别本人。 但是,如果与 IP、Cookie、登录状态、发帖时间、组合,就会成为关联材料。
不要过度特殊化
浏览器指纹防护中常见的误解,是“改很多设置就会安全”。
实际上,特殊设置越多,有时越显眼。 因为罕见的扩展功能组合、独自添加的字体、极端屏幕大小、过细的拦截设置,容易成为只属于那个人的特征。
在匿名性中,不显眼很重要。
| 常见做法 | 问题 |
|---|---|
| 安装大量扩展功能 | 组合容易变成固有特征 |
| 手动修改 User-Agent | 可能与其他信息矛盾 |
| 使用特殊屏幕大小 | 作为少数派环境显眼 |
| 增加字体或主题 | 环境特征增加 |
| 设置过细 | 变成自己的专属指纹 |
防护并不是越多越强。 匿名用途中,重要的是不要大幅破坏设计好的环境。
Browser 的思路
Tor Browser 不仅使用 Tor 网络,也重视统一浏览器的可见方式。
越多用户看起来像同样的浏览器环境,个别识别就越困难。 因此,在 Tor Browser 中最好不要添加扩展功能、大幅修改设置、把屏幕大小改得极端。
Tor Project 是开发和发布 Tor Browser 与 Tor 网络的官方项目。Tor Browser 不只考虑通信路径,也有统一浏览器可见方式的思路,因此也是学习指纹防护的重要实例。 URL : https://www.torproject.org/
即使使用 Tor Browser,只要登录实名账号,行为就会连接到账号。 另外,如果 Tor Browser 之外的应用通过普通线路通信,也会留下其他路径的信息。
指纹防护要与账号分离、通信路径确认成套考虑。
分开日常用浏览器和匿名用浏览器
最重要的防护之一,是分开日常用浏览器和匿名用浏览器。
日常用浏览器中有实名账号 Cookie、登录状态、浏览历史、扩展功能、云同步。 如果用同一浏览器进行匿名活动,环境会混在一起。
| 分开的内容 | 理由 |
|---|---|
| Cookie | 避免被作为同一浏览器处理 |
| 登录状态 | 分离实名账号和匿名活动 |
| 历史记录 | 避免因误输入或搜索建议混入 |
| 扩展功能 | 不带入日常环境特征 |
| 同步 | 不把历史和设置发送到实名云端 |
匿名用途中,要使用专用浏览器或 Tor Browser,并避免用日常浏览器确认匿名活动。
确认网站的使用方式
为了理解浏览器的可见方式,有时会使用确认网站。
EFF Cover Your Tracks 这是 EFF 的测试网站,访问外部网站后可以确认浏览器面对跟踪器和指纹时有多容易被识别。确认时,浏览器信息会发送到 EFF 侧,因此在高风险环境或匿名用途的正式环境中,要慎重考虑使用时机。 URL : https://coveryourtracks.eff.org/
这类网站可以作为理解浏览器信息会成为识别材料的入口。 不过,请不要把结果当作万能的安全判定。
测试结果取决于当时的浏览器、设置、网络和测试方法。 即使显示“不容易被识别”,也可能通过登录状态、Cookie、发帖内容产生关联。
防护的基本
浏览器指纹防护中,以以下思路为基本。
| 防护 | 理由 |
|---|---|
| 分开匿名用浏览器 | 不带入日常 Cookie 和登录状态 |
| 不要增加过多扩展功能 | 降低环境固有性 |
| 不要破坏 Tor Browser 设置 | 统一用户的可见方式 |
| 不要使用极端屏幕大小 | 不增加显眼特征 |
| 不要实名登录 | 避免账号关联 |
指纹防护不是完美消除指纹。 它是减少显眼特征,并避免与实名环境混用。
做得过头也会成为关联
在匿名性中,并不是对策越多就越安全。
例如,安装多个罕见扩展功能,手动修改 User-Agent,固定屏幕大小,叠加细致拦截设置,这个组合本身就会成为特征。 只属于自己的特殊浏览器,不但不一定更难追踪,反而可能成为更容易区分的环境。
| 方针 | 理由 |
|---|---|
| 靠近标准环境 | 让可见方式接近其他用户 |
| 把扩展功能降到最少 | 减少固有组合 |
| 不要混用匿名用和日常用 | 避免 Cookie 和历史关联 |
| 记录设置修改 | 之后容易切分原因 |
| 不要过信确认网站 | 结果只是暂时参考 |
指纹防护不是收集看起来强的设置。 它是为了不增加只属于自己的特征,并维持匿名用运营。
总结
浏览器指纹,是组合浏览器和终端特征来区分用户的思路。
屏幕大小、语言、时区、字体、扩展功能、绘制信息等,单独看很小,但组合起来会成为强线索。
防护中重要的,不是增加特殊设置。 而是分开匿名用环境,减少多余自定义,不破坏像 Tor Browser 这样经过设计的环境。
不过,只靠指纹防护并不能完成匿名性。 Cookie、登录状态、IP 地址、DNS、发帖内容、文体、时间、图片、过去信息也需要一并确认。
相关工具
BrowserLeaks WebRTC
与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。
列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。
BrowserLeaks Fingerprint
与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。
列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。
EFF Cover Your Tracks
与本文相关的外部资源。只有在符合你的处境和威胁模型时再打开。
列在这里的原因: 它可能有助于理解本文主题,但位于 Anonymity Sense 之外,使用前应先自行确认。