Tor

<image>

Tor是匿名通讯的自由软件，由美国非盈利组织The Tor Project, Inc开发与维护。其名源于“The Onion Router”（洋葱路由）的英语缩写。用户可透过Tor接达由全球志愿者免费提供，包含7500多个中继的覆盖网络，进而隐藏用户真实地址、避免网络监控及流量分析的目的。Tor用户的互联网活动（包括浏览在线网站、帖子以及即时消息等通讯形式）相对较难追踪。Tor的设计原意在于保障用户的个人隐私，以及不受监控地进行秘密通讯的自由和能力。

Tor通过一种叫做路径选择算法的方式自动在网络中选择3个Tor节点，这三个节点分别叫做入口节点（Guard relay）、中间节点（Middle relay）和出口节点（Exit relay）。在网络连接的应用层，数据以一种叫做洋葱路由的方式进行传输。数据首先在用户端连续加密三层，而三个中继各自解密一层，这样它们就能知道接下来把数据传送给谁。在这种情况下，数据就像剥洋葱一样被一层一层地解密，所以被称为“洋葱路由”。最后的出口节点会解密最内层的加密数据并得到真实的数据内容，并把它传送给目标地址。出口节点虽然知道真正的数据内容，但是它只知道上一个中继节点的地址，不知道数据最初的发送者是谁，从而保证了数据发送者的安全。相对应地，入口节点仅知晓用户的IP地址而无法得知其访问的网站，而中间节点既无法得知IP地址也无法得知用户所访问的内容。

攻击者可能会尝试透过某些手段来使Tor用户去匿名化，就是获知哪个Tor用户访问了哪一网站，比如利用Tor用户电脑上的软件漏洞。美国国家安全局拥有针对Tor安装包中所捆绑的旧版本Firefox漏洞的技术（代号“EgotisticalGiraffe”），并曾利用XKeyscore系统来密切监控Tor用户。不少学者亦就如何破解Tor网络进行过学术研究，此一行为受到Tor项目公司所肯定。

Tor不会阻止在线网站判断用户是否通过Tor访问该网站。尽管它保护用户的隐私，但不会掩饰用户正在使用Tor这一事实。有些网站会对使用Tor的用户进行限制。例如，维基百科为防止破坏而阻止来自Tor的编辑。

开发及维护Tor的一大部分经费由美国联邦政府所捐助，过去则以海军研究办公室及国防高等研究计划署的名义捐助。

## 历史

<image>

Tor的核心技术“洋葱路由”，是在1990年代中期由美国海军研究实验室的员工，数学家保罗·西弗森和计算机科学家迈克·里德（G. Mike Reed）和大卫·戈尔德施拉格（David Goldschlag），为保护美国情报通信而开发的软件。之后，洋葱路由于1997年交由美国国防高等研究计划署进行进一步开发。

Tor的测试版由西维森和计算机科学家罗杰·丁格尔定和尼克·马修森开发，并将其命名为“洋葱路由项目”（The Onion Routing project，简称TOR项目）。这个测试版于2002年9月20日发布。次年推出首个公开发行版本。2004年8月13日，西维森、丁格伦和马修森在第13届USENIX安全研讨会上以“Tor：第二代洋葱路由器”为题进行演讲。2004年，美国海军研究实验室以自由软件许可证发布了Tor代码，电子前线基金会开始资助丁格伦和马修森继续开发。

2006年12月，丁格伦、马修森等人成立了一个位于马萨诸塞州的非营利组织——The Tor Project，负责维护Tor。电子前线基金会担任其早年的财政赞助商，Tor项目的早期赞助者还包括美国国际广播局、新闻国际、人权观察、剑桥大学、谷歌和荷兰的NLnet。

此后维护Tor所需的一大部分费用由美国联邦政府所捐助。

2014年11月，由于全球司法部门开展了一项名为“去匿名化行动”的反黑市行动，所以有推测指Tor的漏洞已被人利用。英国广播公司引述评论指这是“技术性破解”，使得司法部门可以追踪服务器的物理位置。有关的法庭文件于次年引起人们对研究伦理及《美国宪法第四修正案》所保证的“不能受到无理搜查”的权利之关注，这也可能与当时稍早时候发生且针对Tor的攻击存有关系。

2015年12月，Tor专案公司宣布聘用莎丽·斯蒂尔（Shari Steele），由她担任新任执行董事。莎丽在这以前领导过电子前线基金会15年之久，且在2004年使得电子前线基金会决定为Tor的早期维护提供资金。其目标之一为增加Tor的用户友好度，使得更多人能够匿名地浏览网页。

2016年7月，Tor专案公司的董事会成员集体辞任，同时成立一个由马特·布拉泽、辛迪·科恩、加布里埃拉·科尔曼、莱纳斯·诺德伯格（Linus Nordberg）、梅根·普赖斯（Megan Price）及布鲁斯·施奈尔组成的新董事会。

## 应用

使用了Tor的用户可以匿名地浏览在线网站、聊天和发送即时信息。他们可把Tor应用于合法目的上，也可应用于非法目的上。例如犯罪企业、黑客行动主义组织及执法机关会为了各种目的而使用Tor。除此之外，美国政府的内部机构会为Tor提供赞助（美国国务院、国家科学基金会，以及美国广播理事会皆有/曾为Tor提供赞助）并试图破解它。

Tor不能够使网络活动完全匿名。其设计目的并不是使网络跟踪完全消去，而是减低网站透过数据及活动跟踪用户的可能性。

Tor也被用于进行非法活动，例子包括存取在当地受到审查的资讯、组织政治运动、规避禁止人们发表批评国家首脑的言论的法律。

《经济学人》的一篇报导称Tor跟比特币和丝路有关，并指Tor为“网络上的阴暗角落”。尽管美国国家安全局及英国政府通信总部已把Tor视为破解目标，但只取得少许成功。英国国家打击犯罪调查局的“确认行动”（Operation Notarise）为最为成功破解Tor的行动。同时，英国政府通信总部利用了一款名为“Shadowcat”的工具来“透过Tor网络，并使用安全外壳协定存取受到端对端加密的虚拟专用服务器”。它也可应用于匿名诽谤、泄露政府敏感资讯、上下载侵权作品、分发非法色情内容、贩卖受管制药物、武器及被盗的信用卡号码、洗钱、银行诈骗、信用卡诈骗、身份诈骗、假币兑换；以Tor为基础架构的黑市网站有相当一部分会以比特币作交易媒介。最后它还可用于攻击物联网设备。

美国联邦调查局在逮捕丝路的创办人罗斯·乌布利希的过程中，承认Tor“存有合法用途”。CNET的报导指，Tor的匿名功能“受到像电子前线基金会般的民权组织的赞同，因为它能为告密者和人权工作者提供一个渠道，以跟记者沟通”。电子前线基金会的监控自卫指南包含了如何使用Tor的描述，并指它符合保障私稳及匿名性的大原则。

电子前线基金会的伊娃·加尔佩林于2014年接受《彭博商业周刊》访问时指出：“Tor最大的问题就是新闻报道（的取向），没人听说过有些用户透过其摆脱滥用者的追踪，但只听说过人们如何透过其下载儿童色情作品”。

Tor专案公司指出，Tor用户当中也有“正常人”，这包括渴望网站及广告商不会得知自己的网上活动的人、担忧网络侦察的人，以及像活动家、记者和军事专业人士般渴望摆脱审查的用户。截至2013年11月，Tor有大约400万名用户。《华尔街日报》指出，Tor有约14％的流量来自美国，它的第二大用户群来自“网络审查盛行的国家”。家庭暴力的受害者、社工及帮助受害者的机构使用Tor沟通的情况也有上升趋势，尽管他们可能没受过网络安全相关的专业培训。然而若进行了适当的配置，它便可以使人不会受到数码追踪的影响。像《卫报》、《纽约客》、《ProPublica》及《The Intercept》般的新闻机构会利用SecureDrop及Tor来保障告密者的隐私。

英国国会科学与技术办公室于2015年3月发布了一份简要报告，当中指出“英国人普遍不会认为完全禁止线上匿名系统是可接受的……即使若事实并不如此，技术上这也是一项挑战”。除此之外，它进一步指出Tor“在线上观看和分发儿童不雅物品上，只扮演一个较小的角色（这可部分归因于Tor的固有延时）”。Tor也因能帮助网络观察基金会运作、告密者告密以及突破防火长城而受到热捧。

Tor的时任执行董事安德鲁·勒曼（Andrew Lewman）于2014年8月说道，美国国家安全局及英国政府通信总部的特务曾匿名地向Tor专案公司报告Tor的漏洞。

Tor项目的常见问题解答页面上写道：

犯罪者已经可以做坏事了。由于他们想打破法规的缘故，所以他们在保有隐私上，存有更多比使用Tor更好的选项可以选择……

Tor旨在为希望遵守法律的普通人提供保护。但现在只有犯罪者保有隐私权，这个问题我们需要解决之……

所以说，没错，犯罪者在理论上可以使用Tor，但他们已有更好的选项可以选择，且从这个世界上拿走Tor似乎也不能阻止他们做坏事。与此同时，Tor和其他隐私措施可以打击身份诈骗及像跟踪般的实体犯罪。

## 运作方式

<image>

Tor的设计原意在于保障用户的个人隐私，以及不受监控地进行秘密通讯的自由和能力。它能够实现洋葱路由这一种使通讯加密，和在由全球志愿者运行的中继中随机跳转的技术。该些洋葱路由器会对信息进行多层加密（因此以洋葱来比喻），由此确保中继间的完美前向安全性，使用户的网络位置得以匿名化。这种匿名性也使得Tor可以寄存规避审查的匿名服务。此外其还把一部分的入口中继保密，使得依赖封锁Tor公开节点的互联网审查失效。

由于接收者和发送者的IP地址在任何中继中都不是通过明文传输，所以若有人在中继路径中的任何一点窃听，都无法同时识别两端。而且接收者眼中，似乎通信来源是最后一个Tor节点，而不是发送者。

### 流量溯源

<image>

Tor在本地提供Socks接口，通常在9050（独立Tor）或9150（Tor浏览器）端口，支持该协议的应用程序可以设定让Tor接管其流量。Tor会定期透过Tor网络创立虚拟回路，从而可复用流量并传送其至目标。在Tor网络内部，双方的流量是通过路由器沿着回路传送至下一个路由器，最终到达出口节点；在出口节点的封包被明文转送至原本的目标地址。从目标的角度来看，流量来源是出口节点。

<image>

Tor的独特运作方式使得其跟其他匿名网络得以区分开来：它建立在传输控制协议（TCP）流之上，这意味着常见互联网活动包括IRC、即时通讯以及浏览万维网可透过Tor匿名化。

### 洋葱服务

Tor也可以为网站及服务器提供匿名性。只接受透过Tor从外部连接的服务器一般统称为洋葱服务（Onionsite，另有隐藏服务这个较正式的称呼）。洋葱服务分为V2版（2020 年 9 月，Tor 开始提醒洋葱服务管理员和客户端， 0.4.6 版本将弃用并淘汰 v2。2021 年 6 月，Tor 浏览器开始提醒用户。在 2021 年 7 月，0.4.6 版 Tor 将不再支持 v2，并从代码库中移除相关支持。2021 年 10 月，我们将为所有支持的系列发布新的 Tor 稳定版本客户端，该版本将禁用 v2。）和V3版，V2版二级域名仅有16个字符，V3版二级域名为56个字符，该些洋葱服务一般能在配合Tor浏览器的情况下，经洋葱地址来存取，而不像浏览一般网站般先找出服务器的IP地址后再存取。Tor网络以找出相应的公钥和分散式杂凑表（DHT）中的介绍结点（introduction points）的方式来得知其位址。它可以路由传入洋葱服务或从洋葱服务传出的数据，这同样适用于在网络地址转换（NAT）或防火墙背后的主机，并能保障双方的匿名性。对于存取该些洋葱服务而言，Tor是必要的。

洋葱服务在2003年首次提出，并自次年起在Tor网络上配置。除了存储洋葱服务的描述符所需的数据库之外，Tor在设计上是去中心化的；不存在一个列出所有洋葱服务的可供阅读列表，尽管一些洋葱服务目录会把知名的洋葱地址列出。

由于洋葱服务会把它们的所有流量皆经由Tor网络路由，所以它们的连接为端到端加密的，且不能够成为窃听的目标。但Tor的洋葱服务仍有安全问题。例如所有能透过Tor洋葱服务和公共互联网存取的服务皆易受相关攻击（correlation attacks）的影响，由此可见它的匿名性并不是完美的。其他隐患包括服务设定错误（例如Web服务器的默认错误页面可能会包含识别信息）、运行和停机时间统计、交集攻击（intersection attacks）以及用户错误。独立安全研究者莎拉·杰米·刘易斯开发了一个名为“OnionScan”的开源软件，用于全面检测洋葱服务上的漏洞（刘易斯还是研究透过洋葱路由来进行远程性爱的先驱，因为她认为性玩具不应透过互联网不安全地连接。）

洋葱服务也可在客户端没有连接Tor网络的情况下透过标准浏览器存取，比如使用像Tor2web般的服务即可存取之。人们常在Pastebin、Twitter、Reddit及其他网络论坛分享以.onion为顶级域的暗网链接。

### Nyx状态监视器

Nyx是一款以Python来编写的Tor命令行界面状态监视器。其能使人实时监视其所运行的Tor节点的状态，它的监视范围包括：

- 目前正在使用的资源（带宽、CPU和内存的使用情况）
- 中继的一般资讯（昵称、指纹、旗标或/dir/controlports）
- 拥有正则表达式过滤和重复数据删除功能的事件记录表
- 与Tor数据一致相关的连接（IP地址、连接类型、详细中继资讯等等）
- 在torrc设定档上加入语法突显及行数

Nyx的大多数属性都可以通过armrc设定档进行设定。它能在任何支持curses函式库的平台上运行，包括macOS、Linux及其他类Unix系统。

这一专案始于2009年的夏天，并自2010年7月18日起正式成为Tor专案的一部分。它是一款以GNU通用公共许可证授权的自由软件。

## 弱点

Tor就像其他低延迟匿名网络般，不能够也没有尝试阻止他人监听Tor网络流量的边界（亦即流量进出网络时的情形）。尽管Tor能保护人们免于受到流量分析，但它仍不能够防止流量确认（traffic confirmation，亦即端对端确认）的发生。

一项发表于2009年的研究指出，Tor及另外一套匿名网络系统Java Anon Proxy比其他隧道协议更对网站指纹技术有适应力。

其原因在于单一节点的VPN协定的封包重新建构次数一般不比使用了多重节点的Tor及Java Anon Proxy多。利用网站指纹识别在传统VPN协定上识别HTTP封包的准确率达90%，与此相比识别透过Tor传送的封包的准确率只有2.96%。然而若使用了像OpenVPN及OpenSSH般的协定，那么也需要大量数据才可识别HTTP封包。

密歇根大学的研究者开发了一款网络扫描器，能一次扫描86%的可用Tor网桥。

### 窃听

#### 自治系统窃听

如果“客户至入口中继”及“出口中继至目标地址”这两段网络路径皆为同一个自治系统所管辖，那么该系统就能经由统计把入口路段和出口路段划上关系，且有可能推断出客户把封包传送至哪个目的地。LASTor于2012年发表了一篇论文，当中提出如何预测处于上述两条路径的自治系统的方法，并建议如何在路径选择算法中避免选择由同一个自治系统管辖的路径。在这篇论文中，作者们也以选择较短路径的方式来改善延迟性。

#### 出口节点窃听

瑞典安全顾问丹·艾格斯塔德（Dan Egerstad）在2007年9月透露，他透过运行和监听Tor出口节点来截获一些电子邮件账户的用户名和密码。由于Tor不能加密出口节点至目标服务器之间的流量，所以任一出口节点皆有能力截获通过它而又没经过传输层安全性协定（TLS）或安全通讯协定（SSL）进行端到端加密的流量。尽管这可能并不对来源端的匿名性构成任何影响，但截获流量的第三方也可能能在实际数据和协议数据中找到来源端的信息。艾格斯塔德同时担忧情报机构会暗中破坏Tor：

法国ESIEA（大学）的一队研究团队在2011年10月宣称找到危害Tor网络安全性的方法——解密经过它的通讯。这项技术的前设包括一张关于Tor节点的图表、控制三分之一的Tor节点、获取用于加密的密钥以及算法的随机种子。他们宣称他们能够使用已知的密钥及随机种子，解密三层加密中的两层，然后利用基于统计的攻击来解密最后一层。最后为了将流量重定向到他们控制的节点而使用阻断服务攻击。Tor对此在官方博客上进行了回应，称该些有关Tor网络的安全性受到损害的传闻过分夸大。

### 流量分析攻击

流量分析攻击可分为两种：被动式及主动式。采用了被动式流量分析攻击的攻击者先会从一端网络找出一段特定流量的特征，然后在另一端网络寻找该些特征。采用了主动式流量分析攻击的攻击者会在一端网络按特定模式修改封包的定时（timings），然后在另一端寻找符合该些模式的封包。攻击者可以籍此把两端的流量联系起来，使其去匿名化。即使在封包上加入定时噪声也好，也有攻击手段能够抗衡它。

剑桥大学的史蒂文·默多克和乔治·达内兹（George Danezis）在2005年的IEEE流量分析研讨会上发表了一篇论文，其内容提及到一种技术，其能使只知道一部分网络的攻击者推断出哪些中继是用于传递匿名数据流。该些技术会大大减低Tor的匿名性。他们的研究也表明，即使数据流不相关，也可以把它们跟同一个来源联系起来。但这种攻击无法找出原始用户的身份。默多克自2006年起跟Tor合作，并受到其资助。

### Tor出口节点封锁

网站营运者有能力封锁来自Tor出口节点的流量，或减少Tor用户所能使用的功能。比如除非另有豁免，否则使用了Tor的用户不能编辑维基百科，因为维基百科主动屏蔽了来自Tor节点的编辑。英国广播公司的iPlayer封锁了Tor所有的入口和出口节点，但没有封锁中继和网桥。

### 坏苹果攻击

2011年3月，法国国家信息与自动化研究所和其他外界研究者记录了一种攻击手段，其能够找出利用Tor网络来进行BT上下载的用户的IP地址。坏苹果攻击利用了Tor本身的设计，暴露同时使用两者的Tor用户的IP地址。其中一种攻击手段取决于对出口节点的控制，或被劫持的BT服务器的回应。另一种则基于对分散式杂凑表的追踪统计。研究指出：

坏苹果攻击研究中作者所得出的结果是以针对Tor网络发起的外围攻击为依据的。该攻击以6个出口节点为目标，时长23日，并找出了10,000名活跃Tor用户的IP地址。这一研究的结果具有重大意义，因为它是首项存有正式记录，并针对Tor网络上的P2P文件分享应用程序的攻击。BitTorrent可能占了高达40%的Tor整体流量。此外坏苹果攻击不仅对BitTorrent有效，且还能有效攻击任何运行在Tor之上的不安全应用程序。

### 暴露IP地址的协定

来自法国国家信息与自动化研究所的研究者表示，BitTorrent中的Tor掩饰技术可以被控制Tor出口节点的攻击者绕过。该研究以6个出口节点为监控目标，时长23日。研究者在当中使用了三种攻击手段：

检查BitTorrent的控制信息: BT服务器的宣告和扩展协议握手可能包含客户的IP地址。对收集到的数据进行分析后，结果显示33-35％的信息包含客户地址。

劫持BT服务器的回应: 由于BT服务器和用户群之间的通信缺乏加密或认证，所以传统的中间人攻击能使攻击者确定用户群的IP地址，以至验证内容的分布。当Tor仅用于跟BT服务器通讯时，此类攻击就能生效。

利用分散式杂凑表: 此攻击利用了分散式杂凑表不可能透过Tor连接的事实，因此即使目标使用了Tor连接到其他用户群，攻击者也可以在分散式杂凑表中查找目标的IP地址。

透过这种技术，研究者能够识别用户发起的其他数据流、找出该用户的IP地址。

### 狙击手攻击

詹森等人描述了针对Tor节点软件的分散式阻断服务攻击（DDoS），以及针对该攻击或其变体的防御方式。攻击者会使用串连在一起的服务器和客户端发动攻击，不断地往出口节点的任务队列填入要求，直到节点的内存不足以应付为止。此举能使受到攻击的出口节点不能为其他（真正的）客户提供服务。攻击者可以透过这种方式来攻击大部分出口节点，使网络降速，及增加用户使用由攻击者控制的节点的机会。

### 心脏出血漏洞

2014年4月，OpenSSL的心脏出血漏洞（Heartbleed）使Tor网络受到了几天的影响，期间Tor网络的中继要生成新的私有密钥。Tor专案建议中继和隐藏服务的营运者在修补OpenSSL后，应复原并生成新密钥，但同时指出，两套Tor中继密钥及多次跳转的设计已最大限度地减少了单一中继遭窃取所造成的影响。为了防止用户受到此漏洞的影响，随后发现存在漏洞的586个中继被强制下线。

### 中继早期流量确认攻击

2014年7月30日，Tor项目发布了一项有关“中继早期流量确认攻击”的安全问题警告，于当中指出他们发现一组尝试使洋葱服务的用户和营运者去匿名化的中继。用以攻击的洋葱服务目录节点会修改单元的表头，使它们分别标记为“中继”或“中继早期”单元，用以编码额外的资讯，然后把其传送给用户/营运者。若用户/营运者的入口中继也为攻击者所控制，那么便有可能能够获取用户/营运者的IP地址及所请求的洋葱服务资讯。由于该些中继是特意设计成“适合充当洋葱服务目录”或“适合充当入口中继”的，所以洋葱服务的用户和洋葱服务皆有机会利用该些目录节点或入口节点。

该些节点在2014年1月30日加入网络，同年7月4日Tor项目把它们从网络中移除。尽管相关攻击于何时开始尚是不明，但Tor官方表示，2-7月期间洋葱服务用户和营运者的IP地址可能已经泄漏。

除了从网络中移除用以攻击的中继以外，Tor项目官方还提到了以下减低影响的措施：

- 修复中继的软件，使其不会把表头标记为“中继早期”的非预期单元转送出去。
- 计划升级用户的网络代理软件，令其能够检验有否从中继中收到“中继早期”单元（正常情况下不会出现这种情况），以及把“三个中继都是随机选择”的设置换成只固定连接到某一个入口节点，用以减低连接至受到攻击的中继的可能性。
- 建议洋葱服务的营运者考虑把服务器搬至另一处地方。
- 提醒用户和营运者若攻击者控制或监听了Tor线路的两端，那么流量就无可避免地可被攻击者去匿名化。

2014年11月，由全球司法部门开展的“去匿名化行动”导致了来自不同地区的17人被捕，故此后来有推测指Tor的漏洞已被人利用。欧洲刑警组织的代表不愿透露锁定目标时所用的方法，称：“我们想把一些事保持在只有我们知道的状态。我们所使用的方法不能够透露给全世界知道，因为我们会一而再，再而三地使用该套方法。”英国广播公司引述评论指这是“技术性破解”，并称该套方法能让人知道服务器的地理位置，指最初公布的渗入网站数量引来了漏洞已被人利用的猜测。Tor的代表安德鲁·勒曼（Andrew Lewman）认为Tor已被破解的可能性颇低，并认为警方所使用的目标锁定方法较有可能是“传统的那一套”。

“去匿名化行动”的法庭档案于次年引起人们对研究伦理及《美国宪法第四修正案》所保证的“不能受到无理搜查”的权利之关注。此外文件和专家的意见也可能显示网络攻击与执法行动之间的关系，该些证据包括：

- 对丝路2.0的管理员发出之搜查令表明，2014年1月-7月期间，美国联邦调查局收到从“大学研究所”发出的资讯，其内容有关“像RS2般的隐藏服务和TOR的IP地址”，这使得“最少另外17个建构于TOR之上的黑市网站”和“最少78个存取供应商的.onion地址的用户之IP地址”遭到识别。其中之一便是上述管理员的IP地址。
- 加利福尼亚大学柏克莱分校国际电脑科学研究所的一位资深研究员在接受访问时说，跟美国联邦调查局合作的“几乎可以肯定”是卡内基·梅隆大学，这与Tor项目及普林斯顿大学电脑科学系教授爱德华·费尔滕的估计一致；后者更把估计范围收窄至该大学的电脑网络危机处理暨协调中心。

费尔滕在7月31日发表的分析中，除了指出这种做法所引起的伦理问题外，还质疑该做法是否符合协调中心的原本目的——“防止攻击、通知相关人员、把漏洞对大众公布”，因为他们是在“没有通知相关人员的情况下实施大规模长期性攻击，且没有就发现漏洞一事向大众公布”。

### 鼠标指纹

一位来自巴塞罗那的资讯安全研究者在2016年3月展示了一项实验室技术，该项技术能透过JavaScript在1毫秒的层面上进行时间测量。它可以识别用户的独特鼠标移动方式，并使其跟先后利用Tor浏览器和常规浏览器访问了同一个“指纹识别”网站的用户划上关系。是项技术利用了“透过JavaScript进行时间测量”这一项在Tor专案上无指定验证时间的概念。

### 资料大小相关信息

一项研究指出“匿名方案仅能降低选择监控目标的有效度”，它们一般“不会隐藏对于目标选择而言是必要的资料大小信息”。

## 实现

Tor主要由C语言编写而成，紧随其后的有Python、JavaScript等程式语言。截至2021年4月，它共有505,034行源代码。

2020 年开始，tor官方就开始使用 Rust 编程语言开发 Tor 协议的新实现Arti，2022年9月2日发布Arti 1.0.0，生产环境可用。

### Tor浏览器

Tor浏览器，前身为Tor Browser Bundle（TBB），是Tor项目的主要产品。由Mozilla Firefox ESR浏览器修改而成，并由Tor Project开发人员做了许多安全性和隐私保护的调校，预载TorButton、TorLauncher、NoScript和HTTPS Everywhere等扩充套件与Tor代理。其为开源软件、自由软件、绿色软件，可在多种操作系统上运行，包括Windows、Mac OS X、Linux、Unix、Android。

Tor浏览器在后台启动Tor进程并透过其连接网络。一旦程序断开连接，Tor浏览器便会自动删除隐私敏感数据，如cookie和浏览历史记录。

Tor浏览器本身提供SOCKS代理服务，一些应用程序已可借此使用Tor网络。若结合代理服务器软件 Privoxy，可以让所有走HTTP/HTTPS协定的连网应用程序、以及所有能够设定HTTP/HTTPS代理的应用程序都透过Tor网络来上网。

斯图尔特·德雷奇（Stuart Dredge）在2013年11月，亦即一系列的全球监控被揭露之后，于《卫报》上建议人们使用Tor浏览器，以避免被窃听及保障自身隐私。

#### Firefox/Tor浏览器攻击

2011年，荷兰当局在调查网上流通的儿童色情作品时，发现Tor洋葱服务网站“Pedoboard”的管理员的IP地址，并把这项资讯转交给美国联邦调查局跟进。联邦调查局借此锁定其拥有者为亚伦·麦格拉思（Aaron McGrath）。在经过1年的监视后，联邦调查局展开名为“Operation Torpedo”的行动，拘捕麦格拉思，并在由麦格拉思管理的3个洋葱服务网站上安装恶意软件，获取造访用户的资讯。当中利用了Firefox/Tor浏览器经已修补的漏洞，故此以不安装更新，并安装了Flash的用户为目标。该漏洞能让联邦调查局直接把用户的IP地址传输回自身的服务器，这个漏洞导致至少25名美国用户以及众多外国用户的IP地址曝光。麦格拉思于2014年初被判处20年徒刑，随后有18名用户陆续被判刑，当中包括一名美国卫生及公共服务部前网络安全代理总监。

2013年8月，有人发现很多旧版本的Tor Browser Bundle所捆绑的Firefox皆会受到一种JavaScript攻击的影响。攻击者可以借此提取用户的IP和MAC位址、以及Windows电脑名称。新闻将此跟提供Tor匿名网页寄存服务的Freedom Hosting的负责人埃里克·埃恩·马克斯（Eric Eoin Marques）被捕划上联系，他被指控分发、密谋分发、宣传，以及协助和教唆他人宣传儿童色情物品。逮捕令称马克斯为“这个星球上最大的儿童色情物品推动者”。联邦调查局于2013年9月12日在都柏林提交的法庭文件中承认了这起JavaScript攻击；爱德华·斯诺登泄露的培训演示文稿中透露了更多有关该漏洞的细节，并揭示了该漏洞的代号——“EgotisticalGiraffe”。而Mozilla已在2012年11月释出的Firefox 17版修补了该漏洞。

2022年，卡巴斯基实验室研究人员发现，在 YouTube 上用中文搜寻“Tor 浏览器”时，排名靠前的中文影片下提供的其中一个 URL 实际上指向伪装成 Tor 浏览器的恶意软件。一旦安装，它会保存正版 Tor 预设忘记的浏览历史和表单数据，并会在装置 IP 位址在中国时下载恶意元件。卡巴斯基实验室的研究人员指出，该恶意软件并非窃取资料出售牟利，而是为了识别使用者。

### Tor Messenger

2015年10月29日，Tor专案公司释出了一款基于Instantbird的即时通讯程序的测试版——Tor Messenger，预设情况下透过Tor连接及不会留下通讯记录。它跟Pidgin和Adium一样，能够支援多种通讯协定；但是，它却不依赖libpurple函数库来实现之，反之用内存安全性较佳的语言JavaScript来实现所有通讯协定的支援。

Tor Messenger于2018年4月因数据必然泄露至社交网站、人手不足及Instantbird停止维护等问题而结束。

### 第三方应用

Brave浏览器（电脑版）、BitTorrent客户端Vuze、匿名讯息系统比特信及即时通讯软件TorChat皆支持Tor。

保卫者计划是一项为了提高智能手机的通讯安全性，而开发相关固件和应用的活动。由这个计划开发的Tor相关产品包括Tor实施工具Orbot、隐私增强型移动浏览器Orweb（官方不再提供下载）、Orfox（Tor浏览器的移动版本）、Firefox附加元件ProxyMob （官方不再提供下载）。

### 侧重安全的操作系统

一些侧重安全的GNU/Linux发行版会广泛使用Tor，包括Linux From Scratch、Incognito（操作系统）、Liberté Linux、Qubes OS、Subgraph、Tails、Tor-ramdisk、Whonix。

## 影响及反应

<image>

Tor因能为担忧监控和被捕的政治活动家、规避网络审查的网民、受到缠扰者暴力对待或威胁的人提供匿名隐私保护，而受到赞赏。美国国家安全局称Tor为“具有高安全性及低延迟性特点的互联网匿名系统之王”；《彭博商业周刊》形容Tor为“规避各国情报机构所尝试进行的线上监控的最有效方案”。此外其他媒体对Tor有着以下的评价：“一款极为成熟的隐私保障工具”、“容易上手”、“即使是世界上最顶尖的电子间谍也对如何破解Tor束手无策”。

Tor的支持者称它能透过保障用户的匿名性和隐私性的方式，来促进言论自由；即使是在互联网受到审查的国家也是如此。还有评价指“Tor就像基础设施的一部分，政府自然会为他们想要使用的基础设施付费”。

Tor最初是由美国情报机构开发的，此后维护Tor所需的一大部分费用也是由美国联邦政府所捐助，因此有批评指：“它更像是一个间谍专案，欠缺问责性及透明度，只是一款因文化而生的工具”。截至2012年，Tor的200万美元总年度预算当中有约8成来自美国政府，当中大多数捐款来自美国国务院、美国国际媒体署、国家科学基金会，用以“帮助专制国家的民主支持者”。其他有参与捐款的公共机构包括美国海军研究实验室、国防高等研究计划署、瑞典政府。有意见指政府重视Tor对推动言论自由的承诺，并会暗中利用暗网收集情报。Tor也有收到部分非政府组织和私人机构的捐款，包括人权观察、Reddit、Google。丁莱迪称美国国防部的捐款“与其说是采购合同，倒不说其更像研究补助金”。Tor的前任执行董事德鲁·勒曼称，虽然它接受了美国联邦政府的捐款，但“我们没有跟美国国家安全局合作，没有跟其一起找出用户的身份”。

批评者指责Tor不像其所标榜的那样安全，并以丝路、Freedom Hosting等例子为佐证。《卫报》在爱德华·斯诺登泄露一糸列分析性文件后，报导指美国国家安全局曾不断地尝试破解Tor，但仍未能破坏其核心安全性，不过在攻击Tor用户的电脑方面取得了部分成功。《卫报》也把美国国家安全局的2012年幻灯片刊出，其内容指：“我们一直以来都无法使所有Tor用户去匿名化”，即使“加上了人手分析，我们也就只能使极少一部分的Tor用户去匿名化”。被捕的Tor用户多因为人为错误而被捕。《明镜周刊》在2014年末的报告中使用了经由斯诺登泄露出去的资料，指截至2012年为止，美国国家安全局认为Tor本身就是其使命的“主要威胁”，并把与“像OTR、Cspace、ZRTP、RedPhone、Tails、TrueCrypt般的隐私工具”并用的情况称为“灾难性的”，令“我们几乎完全丧失/缺乏对目标通信的洞察力”。

2011年，Tor赢得自由软件基金会的2010年度社会福利自由软件大奖。该基金会指：“Tor已使全世界大约3,600万人能够在互联网上实现存取和言论自由，同时又能够保障他们的隐私性和匿名性。它的网络已在伊朗和埃及的持不同政见者运动中发挥关键作用。”

在2012年，《外交政策》把丁格伦、马修森、西维森并列在FT 100全球知识分子名单之上，因为他们为“告密者提供一个更安全的网络环境”。

电脑安全研究员雅各·布阿贝尔鲍姆在2013年称Tor为“软件生态系统的一部分，其能帮助人们收回及重新获得他们的自主权。它有助于使人们赋权、助人自助。它是开放的，并得到了各个大型社区的支持。”

爱德华·斯诺登于2013年6月利用Tor把棱镜计划的资料传送给《华盛顿邮报》和《卫报》。

在2014年，俄罗斯政府签订了一份值111,000美元的合同，为的是“研究在Tor匿名网络中获取用户及其设备的技术性信息的可能性。”

2014年10月，Tor项目从外部公关公司聘请了公关，以改善其公众形象（特别是想改善暗网方面的负面印象），并就Tor的应用技术向记者提供教育。

## 对Tor的审查

由于Tor可绕过政府对网站的审查，部分国家及地区封锁了Tor。作为应对措施，Tor开发了多种可插拔传输（网桥指在 Tor 公共目录里列出的 Tor 中继节点。）以应对审查。obfs4网桥将Tor流量混淆至不含流量特征，且其服务器不位于Tor的目录服务器中，因而难以全部封锁。meek通过域前置技术将Tor流量伪装成访问如微软等云计算服务的流量，但速度通常较慢。Snowflake则通过WebRTC技术搭建的闪现代理（Flash proxy）绕过审查。WebTunnel能将Tor连接伪装成HTTPS连接。

### 中国大陆

由于Tor可访问在中国大陆被封锁的网站，且其节点皆为公开可见，防火长城封锁了几乎全部Tor节点导致其在中国大陆无法通过正常方式连接。防火长城亦会通过主动探测的方式检测并封锁Tor网桥。使用Tor的网桥（如meek-azure、Snowflake、WebTunnel以及未公开的私人obfs4网桥）可以在中国大陆内连接至Tor网络。

### 俄罗斯

2021年12月，俄罗斯监管机构联邦通信、信息技术和大众传媒监督局（Roskomnadzor）颁布法庭命令，要求各ISP封锁Tor节点和网站。Tor随后通过增加网桥的方式绕过封锁措施。数据显示，自该年12月以来，俄罗斯境内直接连接到Tor的用户数大幅下降，而通过obfs4、Snowflake网桥等连接的用户数则有大幅增加。2022年俄罗斯入侵乌克兰后，被俄罗斯占领的地区，如赫尔松市，其网络流量被俄罗斯接管，亦受到此封锁的影响。

## 安全性

尽管Tor以修补漏洞及增进安全性的方式来回应上述弱点，但是人为错误可引致用户身份遭到识别。Tor专案在其官网上提供了如何正确地使用Tor的指引。不正确地使用Tor是不能够保障用户的身份不遭到识别。譬如Tor提醒其用户只有经Tor浏览器路由的流量受到保护，其他流量一概不受保护。Tor还提醒用户应使用HTTPS版本的网站、不要在Tor之上进行BT下载、不要再自行加插拓展和插件、不要在保持连线时打开经由Tor下载的文件、使用安全的网桥。此外Tor亦警告用户不要在网上披露真实名称等个人讯息，同时应在网络上保持匿名。

尽管情报机构在2013年的分析声称，他们能在6个月内把8成Tor用户去匿名化，但这终究没有得到实现。事实上截至2016年9月，FBI仍无法找到入侵希拉里·克林顿电子邮件服务器的Tor用户的真实身份。

从手段来看，执法机构对Tor用户进行去匿名化的最佳策略仍是自行运行一个节点和依赖于Tor用户的人为错误，比如经Tor浏览器下载视频后，再在保持连线的情况下，以未受保护的硬盘开启之。

## 参见

- XeroBank Browser（即原Torpark）
- Vidalia——Tor的图形配置软件，曾有Tor+Privoxy+Vidalia整装套件，现在改为Tor+Polipo+Vidalia。
- Privoxy——本是一个HTTP代理服务器，但经常作为Tor客户端的一部分，作用相当于socks4、socks5到socks4a的桥梁，因为Tor客户端使用socks4a可以得到更高的安全性。
- I2P：I2P网络是由I2P路由器以大蒜路由方式组成的表层网络，建立于其上的应用程序可以安全匿名的相互通信。
- JAP——一个Java写的匿名代理服务器
- Softether－日本程序员登大游就读筑波大学时写的虚拟以太网软件，于2003年公开1.0版，因免费简洁而在Internet上曾广泛传播。
- Shadowsocks
- 代理服务器
- 突破网络审查
- 中华人民共和国网络审查
- 网络安全
- 名侦探柯南：零的执行人——剧情将Tor改编为Nor，嫌犯用来IOT恐怖攻击。

## 延伸阅读

- Applied Cryptography，Bruce Schneier (ISBN 978-0-471-11709-4)
- Email Security，Bruce Schneier (ISBN 978-0-471-05318-7)
- Computer Privacy Handbook，Andre Bacard (ISBN 978-1-56609-171-8)

## 基本资料

- 域：Tor项目标志
- 开发者：Tor项目公司
- 发行日期：2002年9月20日
- 编程语言：C、Python、Rust
- 操作系统：Microsoft Windows、Unix-like（Android、Linux、OS X）
- 类型：覆盖网络、洋葱路由、匿名软件
- 许可协议：BSD许可证
- 网站：https://www.torproject.org、2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion

<image>

(如何访问)
- 日语原文：Tor浏览器
- 开发者：Tor Project
- 软件版本周期：Q15397253
- 操作系统：Windows XP或更新、类Unix（包括OS X）
- 引擎：Gecko
- 类型：洋葱路由、匿名、网页浏览器、聚合器
- 语言：37种语言
- 许可协议：Mozilla Public License及GPL
- 日语原文：Tor Messenger
- 开发者：Tor专案公司
- 发行日期：2015年10月29日
- 软件版本周期：yes
- 编程语言：C、C++、JavaScript、CSS、XUL
- 操作系统：Windows XP及其后版本、Unix-like （包含macOS）
- 语言：英语