什么是Tor
Tor是第二代洋葱路由(onion routing)的一种实现,用户通过Tor可以在因特网上进行匿名交流。Tor专门防范流量过滤、嗅探分析,让用户免受其害。最初该项目由美国海军研究实验室赞助。
Tor的技术原理
Tor匿名通信系统被称为第二代洋葱路由系统,该系统由一组洋葱路由器(OnionRouter,OR)组成,这些洋葱路由器用来转发起始端到目的端的通信流,每个洋葱路由器,都试图保证在外部观测者看来输人与输出数据之间的无关联性,即由输出的数据包不能判断出其对应的输入数据包。使攻击者不能通过跟踪信道中的数据流而实施流量分析。
Tor的工作原理
在Tor匿名通信系统中,需要匿名的用户首先启动洋葱代理(OnionProxy,oP)程序,洋葱代理负责通信链路的建立和数据的加/解密。它首先从目录服务器(Directory Server,DS)中获得所有Tor节点信息,然后在”For节点集合中随机选取一个节点,与它协商密钥,最后与它建立一个安全信道。密钥建立过程使用短期的Diffie—Heiiman密钥交换协议,同时使用TLS(Transport Layer Security protoco1)传输协议,进一步保证信道的保密性和信息的前向安全,以后所有的数据将通过这个信道进行传输。然后OP通过已建立的信道,再继续将连接拓展至其他的Tot节点,与其交换密钥,最终建立一条多层加密信道。数据在传输前首先被OP按其所通过Tor节点的顺序从后至前层层加密(类似于洋葱),在传输过程中,加密后的数据每通过一个Tor节点被解密一次,直到最后一个节点数据被完全解密并转发到目的端。数据从目的端返回的过程中,每经过一个”Tor节点被加密一次,到达OP后又被层层解密,最终转发给用户端的应用程序。由于每个Tor节点只知道自己的加/解密密钥,对于外部攻击者和合谋Tor成员来说,除非他们能够获得路径中所有Tor节点的密钥,否则他们不可能得到通信数据的明文。
Tor的特点
Tor匿名系统是一种基于TCP连接的匿名通信系统,它可以用于网页浏览、即时消息等通信。用户在通信前,首先要建立一条通过匿名网络的虚电路,虚电路中的转发节点仅知道自己的直接前驱和直接后继,但是不知道路径中的其他节点,外部观察者即使检测到了通信数据,而他们所看到的IP数据报中的地址并不是通信发起者和接收者的地址,由此,通信的发起者与接收者被匿名。