关于 Tor

如上所述,一个能够同时看到你和目的地网站或你的Tor退出节点的观察者,有可能在你的流量进入Tor网络和退出时将其关联起来。 Tor 并不能抵御这样的威胁模型。

在更有限的意义上,请注意,如果审查者或执法机构具有具体观察部分网络的能力,他们就可以通过观察两端的流量并关联该流量的时间来验证您经常与您朋友通讯的怀疑。 同样,这只对验证已经被怀疑的目标是否正在通信有用。 在大多数国家,获得搜查令所需的怀疑已经比时间上的关联性更有分量。

此外,由于Tor重用了多个TCP连接的电路,因此有可能在一个给定的出口节点将非匿名和匿名的流量联系起来,所以要小心你在Tor上同时运行的应用程序。 也许甚至为这些应用程序运行单独的Tor客户端。

Internet 通信基于存储转发模型,可以将其类比为邮件:数据以称为 IP 数据报或数据包的块的形式传输。 每个数据包都包含一个(发送者的)源 IP 地址和一个(接收者的)目的 IP 地址,就像普通信件包含发送者和接收者的邮政地址一样。 从发送者到接收者的路径涉及多跳路由器,其中每个路由器检查目的 IP 地址并将数据包转发到更接近其目的地址的下一跳。 因此,在发送者和接收者之间的每个路由器都知道发送者在和接收者通信。 特别是您的本地 ISP 能够建立您完整的网络使用情况画像。 此外,互联网上每台可以看到您任何数据包的服务器都可以分析您的行为。

Tor 的目标是通过一系列代理转发您的流量来提高您的隐私。 您的通信被多层加密,并经过 Tor 网络中的多跳路由至最终的接收者。 此过程的更多细节详见 可视化。 请注意,您的本地 ISP 现在只能观察到您正在与 Tor 节点通信。 相似的,互联网上的服务器只能看见它们在被 Tor 节点联系。

一般来讲,Tor 志在解决三个隐私问题:

首先,Tor 会阻止网站和其他服务了解您的位置,它们可以位置用来构建有关您的习惯和兴趣的数据库。 使用 Tor 时,默认您的互联网连接不会泄露您的信息——现在您可以为每个连接选择揭示多少信息。

第二,Tor 阻止人们在本地查看您的流量(如您的 ISP 或可以访问您家 wifi 或路由器的人),了解您正在获取哪些信息以及从哪里获取信息。 它还能阻止他们对您了解和发布信息的限制——如果您能访问 Tor 网络的任何部分,您就可以访问互联网上的任何站点。

第三,Tor 通过不止一个 Tor 中继路由您的连接,因此没有单个中继可以了解您在做什么。 由于这些中继由不同的个人或组织运行,分发信任比之前的 一跳代理 方法具有更高的安全性。

注意,在某些情况下 Tor 无法完全解决这些隐私问题:详见 仍存在的攻击 条目。

“Tor” 这一名称可用于多个不同的组件。

Tor 是一个您能运行在您的电脑上,保护您在互联网上安全的程序。 它会将您的通信在一个由多个中继站组成的分散网络内不断传递,这些中继站被来自世界各地的志愿者们运营,并以此来保护您:这阻止了某些人通过您访问了哪些网址来得知您的网络链接,也防止了您访问的网站获取您的地理位置。 这些由志愿者搭建的中继被成为 Tor 网络。

大多数人通过 Tor 浏览器使用 Tor。它是一个基于火狐浏览器开发的版本,并修复了许多隐私问题。 您可以在我们的关于页面了解更多信息。

Tor 项目是一个非盈利性(慈善)组织,它维护和开发 Tor 软件。

Tor 的全称是洋葱路由网络。 当我们在2001-2002年开始新的下一代洋葱路由的设计与实践时,我们会告诉人们我们正在搭建洋葱路由,然后他们会说“酷!哪一个洋葱路由?” 即使洋葱路由已经成为了一个标准的家庭条款,Tor 诞生于实际的由 Naval 研究实验室运行的洋葱路由项目之外。

(它还有优秀的德语和土耳其语翻译版本。)

注意:尽管它原本来源于一个缩写,Tor 不能被拼写成“TOR”。 只有首字母时大写的。 实际上,我们常常会发现一些没有读过我们网站的人(而是从新闻报道中了解了他们对 Tor 的一切知识)正在使用我们的服务,因为他们将其拼写错误。

不,它不会。 你需要使用另一个程序去理解你的应用和协议并且了解如何清除或者"擦除"它发送的数据。 Tor 浏览器尽力确保应用层数据,例如用户代理的字符串,对于所有用户都是一致的。 但是,Tor 浏览器无法对您输入到表单中的文本做任何更改。

一个传统的代理提供商会在互联网的某处搭建一台服务器并允许您使用它来中继您的流量。 这构建一个简单的,容易维护的架构。 所有用户都通过同一台服务器来通讯。 提供者可以对代理的使用进行收费,或者通过服务器上的广告来支付其成本。 通过最简单的配置,您不需要安装任何东西。 您只需要将您的浏览器指向他们的代理服务器。 如果您不希望在线保护自己的隐私和匿名性,并且您相信提供者不会做坏事,那么简单的代理提供者就是很好的解决方案。 一些简单的代理提供程序使用SSL来保护您与它们之间的连接,从而保护您免受本地窃听者的侵害,例如在带有免费wifi上网的咖啡馆中。

简易的代理服务商也可能会造成单点故障。 供应商知道您是谁,也知道您在互联网上正浏览什么。 在您的流量经过他们的服务器时,他们可以看见您的流量。 在某些情况下,当他们使你的加密流量依赖于银行网点或者电商商店,他们甚至可以看到你其中的加密流量。 您不得不信任您的供应商不监控您的流量,注入他们自己的广告或者记录您的个人信息。

在您的流量抵达目的地前,Tor将它传递通过至少三台不同服务器。 因为这三层中的每一层都附加了互相独立的加密,监视您的的网络连接的人将无法修改或读取你发送给 Tor 网络的信息。 您的流量在 Tor 客户端(在您的计算机上)与世界其他地方弹出的站点之间进行了加密。

第一台服务器不知道我是谁吗?

有可能。 三台服务器中的第一台服务器里的不良服务器可能会看到来自计算机的加密 Tor 流量。 它仍然不知道您是谁,也不知道您正在使用 Tor 做什么。 它仅仅能看到“这个 IP 地址正在使用 Tor”。 仍然可以保护您免受此节点的影响,因为它既无法确定您的身份,也无法确定您在 Internet 上的去向。

第三台服务器看不见我的流量吗?

有可能。 一个恶意的末端服务器可以看到三分之一的你发送给 Tor 的流量。 它不会知道是谁发送的数据。 如果您正在使用加密(例如 HTTPS 协议),它仅能知道目标地点。 请看这个Tor和HTTPS的动态演示,以了解Tor和HTTPS如何互动。

可以。

Tor 软件是免费软件。 这意味着我们给予您权力来再次分发 Tor 软件,无论是修改或未修改的版本,无论是收费或免费。 您不需要向我们要特殊许可。

但是,如果您想要分发 Tor 软件,您必须遵守我们的许可。 特别地,这意味着无论您要发行 Tor 软件哪个部分的发行版,您都需要把我们的[许可]文件和这个该发行版放在一起。

然而问我们这个问题的大多数人不仅仅想为 Tor 软件做出贡献。 他们想分发 Tor 浏览器。 Tor 浏览器内置Firefox 扩展支持版本和 NoScript 扩展。 你将需要遵守这些程序的许可。 这些分发的火狐拓展都 GNU 基本公共证书,而火狐企业版的发行则必须有火狐公共证书。 遵从他们的许可证的最简单方式就是把源代码包含进这些程序里面,只要你打包了这些软件。

同时,你应该明明白白地告诉你的读者:什么是 Tor?谁创造了它?它提供什么功能?(以及不提供什么)。 查看我们的商标常见问题来获取详细信息。

还有很多其他应用程序能与 Tor 搭配使用,但我们还没能彻底地研究这些应用的应用层面匿名性问题,因此我们无法推荐一个较为安全的配置方法。 我们的 Wiki 包含社区维护的 Torify 特定应用程序说明列表。 请补充这个名单,帮助我们保持它的准确性!

很多人使用Tor 浏览器,因为使用Tor来浏览网页能够保证一切安全。 将Tor与其他浏览器一起使用是[危险的,不建议这么做](../../tbb/tbb-9/)。

Tor 中完全没有后门。

我们知道一些聪明的律师,他们说在我们的司法权生效的地方(美国),不太可能有人让我们添加后门。 如果他们的确让我们这样做,我们会和他们抗争,(律师说)我们可能会赢。

我们永远不会在 Tor 中植入后门。 我们认为,在 Tor 中使用后门程序对我们的用户将是极为不负责任的,对于一般的安全软件而言,这是一个不好的先例。 如果我们故意在我们的安全软件中设置了后门程序,那会使我们的专业名誉受损。 此后就再也没有人会信任我们的软件了!

但是,尽管如此,人们仍然可以尝试进行攻击。 可能有人冒充我们,或破解我们的计算机,或类似的事情。 Tor 是开源项目,您应当总是检查源代码(或至少此版本和上个发行版的源代码之间的差异),以确认没有可疑的迹象。 如果我们(或者 Tor 的经销商)拒绝向您提供源代码的获取方式,那么这其中肯定有蹊跷。 你还应该检查发布的安装包上的PGP签名,以确保没有人在下载站上捣乱。

同时,Tor 中也可能会有意外性漏洞并影响您的匿名性。 我们定期发现并修复匿名性相关的漏洞,所以请确保您的 Tor 是最新版本。

Tor 在攻击者可以知晓其通信通道的两端时就会失效(与目前所有实用的低延迟匿名设计一样)。 例如,假如攻击者控制或监视了你选择进入网络的 Tor 中继,同时也控制或监视了你访问的网站。 在这种情况下,研究界并不知道有什么实用的低延迟设计可以可靠地阻止攻击者将两端的流量和时间信息进行关联。

那么,我们应该怎么做? 假设攻击者控制或能监视到 C 个中继。 并同时假设总共有 N 个中继。 如果你每次使用网络时都选择新的入口和出口中继,攻击者将能够以(c/n)2左右的概率对你发送的所有流量进行关联。 但是,对大多数用户来说,被剖析就和一直被追踪一样糟糕:他们想经常做一些事情而不被攻击者注意到,而被攻击者注意到一次和被攻击者注意到更多次都是一样糟糕的。 因此,选择许多随机的入口和出口会使用户无法逃脱这种来自攻击者的剖析。

解决的方法是 "入口守卫":每个 Tor 客户端随机选择几个中继作为入口点,并只使用这些中继作为他们的第一跳转。 如果这些中继没有被控制或监视,攻击者就不可能赢,永远不可能,而用户将是安全的。 如果这些中继被攻击者监视或控制,攻击者将会看到更多的用户流量——但用户仍然没有比以前更多的特征。 因此,用户仍然有一定的机会(在(n-c)/n的数量级上)避免被剖析,不使用 Tor 则完全没有规避的可能。

你可以在An Analysis of Degradation of Anonymous ProtocolsDefending Anonymous Communication Against Passive Logging Attacks,特别是Locating Hidden Servers阅读更多信息。

限制您的入口节点也可能有助于对付那些想运行几个 Tor 节点并轻松列举所有 Tor 用户 IP 地址的攻击者。 (尽管他们不能了解用户在与哪些目的地交流,但他们仍然可能仅凭一份用户名单就能做坏事。) 不过,在我们使用"目录保护"设计之前,这一功能并没有什么实际作用。

Tor使用各种不同的密钥,有三个目标。1)加密,以确保Tor网络内的数据隐私;2)认证,以便客户端知道他们是在与他们想要连接的中继通讯;以及3)签名,以确保所有客户知道是同一组中继。

加密:首先,Tor中的所有连接都使用TLS链接加密,因此观察者无法查看网络内部,以了解某个单元是为哪个线路准备的。 此外,Tor客户端与电路中的每个中继站建立了一个短暂的加密密钥;这些额外的加密层意味着只有出口中继站可以读取来自客户端的数据。 当线路断开时,双方都会删除密钥,所以记录流量,然后闯入中继来获得密钥是行不通的。

认证:任何 Tor 中继都有被称为 “onion key” 的解密公钥。 任何中继每四周轮转其 onion key。 当 Tor 客户端建立起电路,在每一步它都 要求 Tor 中继证明其 onion key 的知识。 通过这种方式,路径上的第一个节点不能欺骗路径上的其他节点。 因为 Tor 客户端选择路径,它可以确保得到 Tor 的 “分布式信任”特性:路径上没有一个单独的中继能同时知道客户端和客户端在做什么。

协调:客户端如何得知是哪些中继,又如何得知它们有正确的密钥? 每个中继都有长期的签名公钥,被称为“身份密钥”。 每个目录管理机构都另有一个“目录签名密钥”。 目录管理机构为所有已知中继提供签名列表,在该列表中有来自每个中继的一组证书(由它们的身份密钥自签名)指定它们的密钥、位置、退出策略等。 因此除非对手可以控制大多数目录管理机构(截至 2022 年有 8 个目录管理机构),否则他们无法欺骗 Tor 客户端使用其他 Tor 中继。

客户端如何知道目录管理机构是什么?

Tor 软件有一个内置的位置列表和每个目录管理机构的公钥。 因此,唯一欺骗用户进入虚假 Tor 网络的方法是给他们特意修改过的软件版本。

用户怎么知道他们得到了正确的软件?

当我们分发源代码或者包时,我们使用 GNU Privacy Guard 数字签名。 请查看如何检查 Tor 浏览器签名的说明

为了确定它的确是被我们签名的,您需要亲自与我们见面,获得一份我们的 GPG 密钥指纹拷贝,或者您需要知道有这份拷贝的人。 如果您担心这个层面的攻击,我们建议您参与安全社区并开始接触人们。

只要线路工作正常,Tor将在10分钟内为新的TCP流量重复使用同一线路。 (如果线路发生故障,Tor将立即切换到新的线路)

但请注意,一个单一的TCP流(例如一个长的IRC连接)将永远停留在同一个线路上。 我们不会将单个数据流从一个线路轮换到另一个线路。 否则,一个对网络有部分了解的敌人将会随着时间的推移而获得很多将您与您的目的地联系起来的机会,而不是只有一次机会。