洋葱头(The Onion Router)是一种软件,是第二代洋葱路由(onion routing)的一种实现,用户通过它可以在因特网上进行匿名交流。
洋葱头(The Onion Router)是一种软件,是第二代洋葱路由(onion routing)的一种实现,用户通过它可以在因特网上进行匿名交流。
Tor(The Onion Router)是第二代洋葱路由(onion routing)的一种实现,用户通过 Tor 可以在因特网上进行匿名交流。最初该项目由美国海军研究实验室(US Naval Research Laboratory)赞助。2004 年的后期,Tor 成为电子前哨基金会(Electronic Frontier Foundation,EFF)的一个项目。2005 年后期,EFF 不再赞助 Tor 项目,但他们继续维持 Tor 的官方网站。
Tor 专门防范流量过滤、嗅探分析,让用户免受其害。Tor 在由“onion routers”(洋葱)组成的表层网(overlay network)上进行通信,可以实现匿名对外连接、匿名隐藏服务。
Tor 浏览器包
Tor 浏览器包是一个免费的计算机应用程序,可以下载和使用,以避免互联网过滤。它可用来屏蔽一个互联网用户的 IP 地址,允许匿名浏览。Tor 浏览器包是提供包括汉语在内的多国语言界面。
Tor 用户在本机运行一个洋葱代理服务器(onion proxy),这个代理周期性地与其他 Tor 交流,从而在 Tor 网络中构成虚电路(virtual circuit)。Tor 是在 5 层协议栈中的应用层进行加密(也就是按照'onion'的模式)。而它之所以被称为 onion,是因为它的结构就跟洋葱相同,你只能看出它的外表,而想要看到核心,就必须把它层层的剥开。即每个路由器间的传输都经过对等密钥(symmetric key)来加密,形成有层次的结构。它中间所经过的各节点,都好像洋葱的一层皮,把客户端包在里面,算是保护信息来源的一种方式,这样在洋葱路由器之间可以保持通讯安全。同时对于客户端,洋葱代理服务器又作为 SOCKS 接口。一些应用程序就可以将 Tor 作为代理服务器,网络通讯就可以通过 Tor 的虚拟环路来进行。
进入 Tor 网络后,加密信息在路由器间层层传递,最后到达“出口节点”(exit node),明文数据从这个节点直接发往原来的目的地。对于目的地主机而言,是从“出口节点”发来信息。要注意的是明文信息即使在 Tor 网络中是加密的,离开 Tor 后仍然是明文的。维基解密创始人便声称其公开的某些文件是截获于 Tor 的出口节点。
由于在 TCP 数据流的级别通讯,Tor 显得卓然独立于其他匿名网络。通过使用 Tor,一般的应用程序都可以实现匿名,比如 IRC、即时通讯,以及浏览网页。浏览网页时,Tor 常常与 Privoxy 或 Polipo 等联合使用,Privoxy、Polipo 是开源代理服务器,可以在应用层增加保护隐私。
由于 Tor 可以匿名进行 TCP 传输,这就导致了被滥用的可能。路由器存放有一个“出口政策”(exit policy),内有各种地址、端口的组合规定,通过这个来区别哪些传输可以通过这个节点而离开 Tor 网络,这样就可能防范许多滥用的可能。潜在的滥用包括:
- P2P:抛开合法性不谈,如果通过 Tor 网络来进行大量数据的传输,这就有些不礼貌了,毕竟洋葱路由器是由志愿者,花费自己的带宽创建起来的。
- E-mail:匿名的 SMTP 很容易导致垃圾邮件的产生,一般 Tor 节点的“出口政策”,都拒绝对外连接到端口 25(smtp 的端口)。
- 蓄意破坏:由于不会被识破,用户有时会利用 Tor 来对协作网站进行破坏,这导致许多的网站,决定部分限制对 Tor 的通讯。
Tor 不仅可以提供客户端的匿名访问,Tor 还可以提供服务器的匿名。通过使用 Tor 网络,用户可以维护位置不可知的服务器。当然如果要访问这个隐蔽的服务,客户端也得安装 Tor。
通过 Tor 指定的顶级域名(Top Level Domain,TLD).onion,可以访问其隐藏的服务。Tor 网络可以识别自己的 TLD,并自动路由到隐藏的服务。然后,隐藏的服务将请求交由标准的服务器软件进行处理,这个服务器软件应该预先进行配置,从而只侦听非公开的接口。如果这个服务还可以通过公共的因特网来访问,那也会受到相关连的攻击,这样就没有真正的隐藏起来。
Tor 隐藏服务有个另外的好处,由于不需要公开的 IP 地址,服务就可以躲在防火墙和 NAT 背后。
Tor 在中国大陆被许多人用于突破防火长城,这主要是因为中国大陆屏蔽了大量的海外网站和服务器。Tor 会自动检测节点是否可达目标地址。如果返回错误无法到达,它会自动更换节点。相应地,这种技术也可以用在中国境外模拟中国境内的节点,以访问一些境外无法访问的内容。
而防火长城对于 Tor 一直没有很好的解决方法。现行比较有效的方法是对未使用 SSL(HTTPS)加密的连接进行特征检测并重置连接,或对已知节点和网桥进行 IP 地址屏蔽,也有在中国境内创建 Tor 的虚假节点以对通过其传输的数据进行最大限度的审查。
作为反制,有部分大陆网民自发在中国境内建起网桥,帮助中国境内未能连接上 Tor 网络的用户连接。
- 2009 年 9 月以后的一段时间内,使用的 Tor 的 0.2.1.19 版本,并不使用网桥的情况之下无法创建 Tor 的连接。然而使用的 Tor 的稳定版 0.2.1.20,仍能够创建 Tor 的连接,突破网络封锁且不需要勾选“我的 ISP 阻挡了对 Tor 网络的连接”的选项,即使用网桥。从理论上来说,在使用网桥的情况下,Tor 的总能创建连接,而不被封锁,因为网桥是可以动态更新的。
- 2010 年 6 月 3 日前后的一段时间内,使用 Tor 的 0.2.1.26 版本,在使用 Bridges 的情况之下,创建 Tor 的连接也相当的困难,显示的信息是“创建 Tor 回路 failed”,这说明防火长城成功侦测并截断了 Tor 的连接。但 Tor 的连接一旦创建后切断并不容易,所以 Tor 一旦成功创建连接后就无法被防火长城干扰。同年 8 月前后至今,Tor 又可以连接上。据全球互联网自由联盟上的用户说,只要加一次网桥,接下来就可以轻松连上 Tor 网络。
- 但在 2011 年 1 月之后,据大陆的网民反映 Tor 即使更换了网桥也无法正常连接上,但事实上这是网桥已经被屏蔽的结果。对于长期频繁使用和连接 Tor 的用户来说,由于 Tor 会缓存节点路由信息,所以只要这些节点或网桥没被封锁,他们照样能正常使用 Tor。
- 自 2011 年 10 月后,当中国的一个 Tor 客户端与美国的网桥中继创建连接,一个中国的数据探针会在 15 分钟周期内尝试与 Tor 进行 SSL 协商和重协商,但目的不是创建 TCP 连接。12 月后这种行为停止 。