# 防指纹识别

###

##### 防指纹识别

## 了解浏览器指纹识别

浏览器指纹识别是系统地收集有关 web 浏览器的信息，以便对其身份或特征进行有根据的猜测。 每个浏览器的设置和功能共同构成了“浏览器指纹”。 大多数浏览器无意中为每个用户创建一个独特的指纹，使其可在整个互联网被跟踪。 有关浏览器指纹识别的更多深度信息，请参阅 Tor 博客上的这些文章：Browser Fingerprinting: An Introduction and the Challenges Ahead 和 Tor Browser: a legacy of advancing private browsing innovation。

## 为什么浏览器指纹识别会威胁在线隐私？

首先，收集这些信息无需向用户请求权限。 任何在浏览器中运行的脚本，都可悄悄建立设备指纹，而用户毫不知情。

其次，如果浏览器指纹的某个属性是独特的，或者几个属性的组合是独特的，即可在线识别和追踪设备。 这意味着即使没有 Cookie，也可以通过指纹来跟踪设备。

## Tor 浏览器如何抵御指纹识别

Tor 浏览器经过专门的工程设计，旨在将每个用户在各类指标上的指纹独特性降至最低。 让所有 Tor 浏览器用户看起来完全一样，这几乎不可能实现，但我们的目标在于，对于每个指标，减少用户可被区分的“类别分组”数量。 这种方法增加了精准追踪个人用户的难度。

某些属性（例如操作系统和语言）对于功能的正常运行是必不可少的，因此无法完全隐藏或伪装。 相反，Tor 浏览器减少这些属性的变化，从而降低独特性。 例如，它限制字体枚举并采用字符回退，通过黑边功能来标准化屏幕和窗口大小，同时，将请求语种限制在较小的预设范围。

Tor 浏览器反指纹识别保护的核心目标在于，最大限度增加收集足够信息以唯一识别用户的难度，以此增强用户的隐私保护，同时不损害必要的功能。

## Tor 浏览器中的防指纹识别功能

### 黑边

为了防止基于屏幕尺寸的指纹识别，Tor 浏览器启动时，将其内容窗口调整为 200px × 100px 的倍数。 这种策略将所有用户分为几个组，更难以单独识别用户。 只要用户不对窗口大小进行调整（如最大化或全屏），这种方式就是有效的。 Tor 浏览器还针对这些情况提供了称为黑边的指纹识别防御功能，这一技术由 Mozilla 开发并于 2019 年推出。 其工作原理为：在浏览器窗口周围添加边距，使窗口尺寸尽可能接近期望值，同时用户仍可划分到几个屏幕尺寸分组中，防止通过屏幕尺寸单独识别出特定用户。

除了黑边，Tor 浏览器还采用了许多其他功能，抵御浏览器指纹识别并保护用户隐私。

### 用户代理和操作系统伪装

通过用户代理字符，网站可识别用户的详细信息，包括浏览器、操作系统、CPU 架构、供应商和版本。 这些信息可暴露用户所用的操作系统或设备，因此一直作为浏览器指纹识别的潜在攻击方式，可通过网站或追踪器识别特定用户。

为了应对这一问题，Tor 浏览器对用户代理进行伪装。用户并不能指定伪装为特定的操作系统，或模仿每一种可能的平台。 相反，Tor 浏览器对用户代理值进行标准化处理，降低其独特性，避免产生虚假的隐私安全感：

- 所有 Windows 均显示为 Windows 10。
- 所有 macOS 均显示为 OS X 10.15。
- 所有 Android 均显示为 Android 10。
- 所有其他操作系统，例如 Linux 各种发行版（包括 Tails 和 Qubes）、*BSD 以及其他操作系统，都将统一归类，并上报为“Linux running X11”。
- 所有其他细节（例如处理器架构）也根据不同平台进行相应的标准化处理。

在这种情况下，Tor 浏览器的指纹识别抵御策略，是通过伪装来保护用户代理的真实值，同时确保拥有一个足够庞大的用户集。

用户代理以 HTTP 标头的形式发送到网站，同时也可通过 JavaScript 的 `navigator.userAgent` 获取。 这些值的不一致可能触发反机器人和反欺诈系统，将 Tor 用户视为机器人，并拒绝其请求，这将影响 Tor 浏览器对于用户的可用性。

一些用户和隐私工具户建议，所有用户都显示为 Windows 系统，可提供最佳掩护。 不过，在不同浏览器环境下做到完美伪装，是不可能的。因此，常常通过主动式指纹识别技术，来推断硬件或操作系统的详细情况，其手段包括利用字体、功能、行为特征等等（无论是否使用 JavaScript）。

Tor 浏览器不允许用户选择伪装的操作系统。 这是有意为之：任何可供选择的选项都只会让用户更加独特，从而更易被指纹识别。 有限的标准化选项至关重要，可确保用户大隐隐于众，最大化每个人的隐私。

## 其他防指纹识别功能

除了黑边，Tor 浏览器还采用许多其他功能，来抵御浏览器指纹识别并保护用户隐私。 这些功能包括：禁用 Canvas 图像提取、集成 NoScript 以及第一方域名隔离。 如需获取完整的功能列表，请参阅 Tor 浏览器设计与实现文档。

- 编辑此页面 - Improve this translation - 意见反馈 - 永久链接