Tor

历史

Tor的核心技术“洋葱路由”，是在1990年代中期由美国海军研究实验室的员工，数学家保罗·西维森（Paul Syverson）和计算机科学家迈克·里德（G. Mike Reed）和大卫·戈尔德施拉格（David Goldschlag），为保护美国情报通信而开发的软件。之后，洋葱路由于1997年交由美国国防高等研究计划署进行进一步开发。
Tor的测试版由西维森和计算机科学家罗根·丁格伦（Roger Dingledine）和尼克·马修森（Nick Mathewson）开发 ，并将其命名为“洋葱路由项目”（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公开节点的互联网审查失效。
由于接收者和发信者的IP地址在任何中继中不是通过明文传输，所以若有人在中继路径中的任何一点窃听，都无法同时识别两端。此外对于发送者而言，接收者的出口节点正是其入口节点。

流量导源

Tor用户的SOCKS解析应用程序可以透过嗅探TCP 9150这一个端口来获取本地主机上的流量。Tor会定期透过Tor网络创立虚拟电路，使它可以多路复用，并透过洋葱路由，使流量发送至目标。从Tor网络内部的角度而言，双方的流量是通过路由器沿着电路发送至下一个路由器，最终到达出口节点；在出口节点的数据包是明文的，并会转送至原本的目标地址。从目标的角度而言，出口节点正是其入口节点。
Tor的独特运作方式使得其跟其他匿名网络得以区分开来：它创建在传输控制协议（TCP）流之上。透过Tor匿名化的常见互联网活动包括IRC、即时通信以及浏览万维网。

洋葱服务

Tor也可以为网站及服务器提供匿名性。只接受透过Tor从外部连接的服务器一般统称为洋葱服务（另有隐藏服务这个较正式的称呼）。该些洋葱服务一般能在配合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为顶级域的暗网链接。

弱点

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不能加密出口节点至目标服务器之间的流量，所以任一出口节点皆有能力截获通过它而又没经过传输层安全性协议（TSL）或安全套接层（SSL）进行端到端加密的流量。尽管这可能并不对来源端的匿名性构成任何影响，但截获流量的第三方也可能能在实际数据和协议数据中找到来源端的信息。艾格斯塔德同时担忧情报机构会暗中破坏Tor：
“若你们认真找一下Tor节点的位置及规模，就会了解一些节点因为使用了大量带宽及成为高负载服务器等原因，而每月花费数千元，为的只是成为一台网络主机。谁会为此付出那么多而不公开自己的身份？” 
法国计算机电子技术自动化工程师学院的一队研究团队在2011年10月宣称找到危害Tor网络安全性的方法——解密经过它的通信。这项技术的前设包括一张关于Tor节点的图表、控制三分之一的Tor节点、获取用于加密的密钥以及算法的随机种子。他们宣称他们能够使用已知的密钥及随机种子，解密三层加密中的两层，然后利用基于统计的攻击来解密最后一层。最后为了将流量重定向到他们控制的节点而使用拒绝服务攻击。Tor对此在官方博客上进行了回应，称该些有关Tor网络的安全性受到损害的传闻过分夸大。

流量分析攻击

流量分析攻击可分为两种：被动式及主动式。采用了被动式流量分析攻击的攻击者先会从一端网络找出一段特定流量的特征，然后在另一端网络查找该些特征。采用了主动式流量分析攻击的攻击者会在一端网络按特定模式修改数据包的定时（timings），然后在另一端查找符合该些模式的数据包。攻击者可以籍此把两端的流量联系起来，使其去匿名化。即使在数据包上加入定时噪声也好，也有攻击手段能够抗衡它。
剑桥大学的史蒂文·默多克和乔治·达内兹（George Danezis）在2005年的IEEE流量分析研讨会上发表了一篇论文，其内容提及到一种技术，其能使只知道一部分网络的攻击者推断出哪些中继是用于传递匿名数据流。该些技术会大大减低Tor的匿名性。他们的研究也表明，即使数据流不相关，也可以把它们跟同一个来源联系起来。但这种攻击无法找出原始用户的身份。默多克自2006年起跟Tor合作，并受到其资助。

Tor出口节点屏蔽

网站营运者有能力屏蔽来自Tor出口节点的流量，或减少Tor用户所能使用的功能。比如除非另有豁免，否则使用了Tor的用户是不可能编辑维基百科的，因为维基百科使用了MediaWiki的扩展Torblock。 英国广播公司的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之上的不安全应用程序。

狙击手攻击

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

心脏出血漏洞

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

鼠标指纹

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

资料大小相关信息

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

实施方案

Tor主要由C语言编写而成，紧随其后的有Python、JavaScript等编程语言。截至2018年12月，它共有693,393行源代码。

Firefox/Tor浏览器攻击

2011年，荷兰当局在调查网上流通的儿童色情作品时，发现Tor洋葱服务网站“Pedoboard”的管理员的IP地址，并把这项信息转交给美国联邦调查局跟进。联邦调查局籍此锁定其拥有者为亚伦·麦格拉思（Aaron McGrath）。在经过1年的监视后，联邦调查局展开名为“Operation Torpedo”的行动，拘捕麦格拉思，并在由麦格拉思管理的3个洋葱服务网站上安装恶意软件，获取访问用户的信息。 当中利用了Firefox/Tor浏览器经已修补的漏洞，故此以不安装更新，并安装了Flash的用户为目标。该漏洞能让联邦调查局直接把用户的IP地址ping回自身的服务器，这个漏洞导致至少25名美国用户以及众多外国用户的IP地址曝光。麦格拉思于2014年初被判处20年徒刑，随后有18名用户陆续被判刑，这包括一名美国卫生及公共服务部前网络安全代理总监。
2013年8月，有人发现很多旧版本的Tor Browser Bundle所捆绑的Firefox皆会受到一种JavaScript攻击的影响。攻击者可以借此提取用户的IP和MAC地址、以及Windows电脑名称。新闻将此跟提供Tor匿名网页托管服务的Freedom Hosting的负责人埃里克·埃恩·马克斯（Eric Eoin Marques）被捕划上联系，他因美国法院于7月29日发出的临时引渡令而被捕。他被指控分发、密谋分发、宣传，以及协助和教唆他人宣传儿童色情物品。逮捕令称马克斯为“这个星球上最大的儿童色情物品推动者”。联邦调查局于2013年9月12日在都柏林提交的法庭文件中承认了这起JavaScript攻击；爱德华·斯诺登泄露的培训演示文稿中透露了更多有关该漏洞的细节，并揭示了该漏洞的代号——“EgotisticalGiraffe”。而Mozilla已在2012年11月发布Firefox 17版修补了该漏洞。

第三方应用

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。

影响及反应

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已使全世界大约3600万人能够在互联网上实现访问和表达自由，同时而又能够保障他们的隐私性和匿名性。它的网络已在伊朗和埃及的持不同政见者运动中发挥关键作用。”
在2012年，《外交政策》把丁格伦、马修森、西维森并行在FT 100全球知识分子名单之上，因为他们为“告密者提供一个更安全的网络环境”。
电脑安全研究员雅各·布阿贝尔鲍姆在2013年称Tor为“软件生态系统的一部分，其能帮助人们收回及重新获得他们的自主权。它有助于使人们赋权、助人自助。它是开放的，并得到了各个大型社区的支持。”
爱德华·斯诺登于2013年6月利用Tor把棱镜项目的数据发送给《华盛顿邮报》和《卫报》。
在2014年，俄罗斯政府签订了一份值111,000美元的合同，为的是“研究在Tor匿名网络中获取用户及其设备的技术性信息的可能性。”
2014年10月，Tor项目从外部公关公司聘请了公关，以改善其公众形象（特别是想改善黑暗网络方面的负面印象），并就Tor的应用技术向记者提供教育。

安全性

尽管Tor以修补漏洞及增进安全性的方式来回应上述弱点，但是人为错误可引致用户身份遭到识别。Tor项目在其官网上提供了如何正确地使用Tor的指引。不正确地使用Tor是不能够保障用户的身份不遭到识别。譬如Tor提醒其用户只有经Tor浏览器路由的流量受到保护，其他流量一概不受保护。Tor还提醒用户应使用HTTPS版本的网站、不要在Tor之上进行BT下载、不要再自行加插拓展和插件、不要在保持连线时打开经由Tor下载的文件、使用安全的网桥。此外Tor亦警告用户不要在网上披露真实名称等个人消息，同时应在网络上保持匿名。
尽管情报机构在2013年的分析声称，他们能在6个月内把8成Tor用户去匿名化，但这终究没有得到实现。事实上截至2016年9月，FBI仍无法找到入侵希拉里·克林顿电子邮件服务器的Tor用户的真实身份。
从手段来看，执法机构对Tor用户进行去匿名化的最佳策略仍是自行运行一个节点和依赖于Tor用户的人为错误，比如经Tor浏览器下载视频后，再在保持连线的情况下，以未受保护的硬盘开启之。