Tor是如何工作的
在tor的官方网站找到一篇介绍tor的工作流程文章,放在这里供大家一起分享。
我们为什么需要 Tor
使用 Tor 能抵御一种普遍的网络监视行为——“流量分析”(traffic analysis)。流量分析可以用来在一个公共的网络上推断出谁在和谁交流。如果他人知道了你的网络流量的来源和目的地,他们就可以跟踪你的行为和兴趣。这会影响你的钱包,举个例子,电子商务网站可能会针对不同的国家和机构制定不同的价格。泄露你的身份和地点甚至会威胁你的工作和人身安全。举个例子,如果你在国外连接到你的雇主的电脑去接收和发送邮件,你就会在不经意间向任何监视网络的人泄露了你的国籍和职业——即使连接是加密的也没有用。
流量分析的原理是什么?互联网上的数据包由两部分组成:有效载荷(payload)和用来路由的报头(header)。有效载荷是正在发送的数据,它可能是一封邮件、一张网页或是一个声音文件。即便你加密通信中的有效载荷,流量分析一样能够揭露许多你在做的事,甚至有可能揭露你在说些什么。那是因为它所分析的是报头,报头记录着来源、目的地、数据大小、时间等等信息。
对于一个隐私意识强的人,一个基本问题是:通信的对方可以从报头得到有用的东西,授权的中间媒介(比如 ISP),有时甚至未授权的中间媒介,也可以这么做。一个非常简单的流量分析的形式是:藏身于网络上发送者和接收者之间的某个地方,偷看报头。
但是,更强大的流量分析同样存在。一些攻击者暗中监视互联网的多个部分,使用高深的统计技术跟踪许多不同的组织和个人的通信模式。加密并不能抵御这些攻击者,因为加密隐藏的仅仅是流量的内容,而不是报头。
解决办法:一个分布式的、匿名的网络
Tor 有助于降低简单的和高级的流量分析的风险,Tor 把你的流量分散到互联网上的多个地点,所以不存在单一的一点可以把你和你的目的地联系起来。这就好像用一条拐弯抹角的、难以辨认的路径甩掉跟踪你的人,然后定期擦掉你的脚印。在 Tor 网络上,来源和目的地不是用一条路径直接连接的,而是由一条通过数台中继的随机路径覆盖原始路径,数据包在这条路径上传输,因此,不存在任何单一一点上的观察者能够知道数据从哪里来、到哪里去。
用 Tor 创建一条私有网络路径时,用户的软件或客户端通过网络上的中继递增地建立一条由若干加密连接组成的环路(circuit)。环路一次扩展一跳(hop),环路上的中继仅仅知道它从哪一个中继接收数据以及向哪一个中继发送数据。没有一台单独的中继会知道数据包的完整路径。客户端与环路上的每一跳都协商一组独立的密钥,这样可以保证数据通过任何一跳时都无法跟踪。
一旦环路建立完成,多种类型的数据可以在上面进行交换,不同种类的应用程序也可以在 Tor 网络上部署。因为每一台中继最多只能知道环路中的一跳,窃听者或者被入侵的中继都无法通过流量分析把连接的来源和目的地联系起来。 Tor 仅作用于 TCP 数据流,任何支持 SOCKS 的应用程序都可以使用它。
出于有效性,Tor 为大约在相同的十分钟内发起的连接请求分配同一环路。以后的请求被分配不同的环路,这样他人就不能把你早先的行为和新的行为联系起来。

















