(TOR)第二代洋葱匿名网络 简介
第二代洋葱匿名网络Tor简介[1]
Tor可能是最受欢迎的在线匿名服务。Tor基于源自Chaum的Mix网络概念,沿着洋葱路由的安全加密路径,将数据打包成相同大小的单元。其中每个路由仅知道其前驱和后继路由器,通过电路上洋葱路由器的有限信息实现匿名。在匿名链路的每一跳中,根据流的方向逐层加密或解密。没有中间节点能够读取单元内容,并且单元总是改变外观,使得流不能通过网络观察链接到用户。
具体来说,客户端首先通过三个洋葱路由扩展电路:客户选择一个持久的入口路由作为其第一个节点,选择一个新的随机中间节点,并选择最后一个退出节点,使其能够连接到Tor网络外部的目标Internet服务。洋葱路由通过电路在两个方向上转发流量,进行客户端与其通信对等体之间的通信。[2]
Tor的受欢迎程度部分归功于其设计提供的灵活性:外部对等方不需要运行Tor,甚至不需要知道客户端是通过Tor网络连接的。但是,连接到外部对等方的客户端仍必须依赖现有的DNS和SSL / TLS证书身份验证系统,而外部对等方本身不是匿名的。为了缓解这些问题,Tor还开发并维护了一个洋葱服务协议,这是一种通信模式,用户及其对等方都运行Tor并构建连接在一起的电路。所有通信都是Tor网络的内部通信,因此用户及其对等方都享有匿名和端到端加密,而不依赖于外部不安全的名称和证书身份验证系统。[2]
1.Tor的网络结构
Tor网络由洋葱路由器组成,由志愿者提供。打算使用Tor匿名连接到某个Internet主机的用户选择通常三个洋葱路由器的子集,并在这些路由器之间建立所谓的电路。同时通过Tor网络行进时,用户的数据被封装在细胞固定大小(512个字节)的。这些小区沿着形成电路的洋葱路由器链转发。在沿着电路的一对洋葱路由器之间,小区通过TLS安全的TCP连接,其终止于洋葱路由器。也就是说,用户与该用户连接的主机之间没有端到端的TCP连接。相反,Tor网络充当SOCKS代理。该洋葱路由器之间的TCP / TLS连接是按需透明建立的,因此,对于我们的目的,Tor洋葱路由器网络可以被视为全网状覆盖。
应用层(Tor的洋葱路由器软件)在传入连接上接收信元,应用保持匿名所需的加密操作,然后通过另一个TCP连接沿着电路进一步转发信元。对于此处考虑的问题,非常重要的是要注意来自遍历同一对洋葱路由器的所有电路的所有小区在同一TCP连接上复用。因此,这些TCP连接可以被视为覆盖网络中的链路,其可能同时被潜在的许多用户的电路使用。
Tor用户选择的所谓出口路由器是沿着电路的最后一个洋葱路由器。出口路由器建立与主机的TCP连接以及Tor用户打算匿名连接的端口。因此,联系的主机无法看到用户的IP地址,只能看到退出路由器的地址。来自Tor用户的有效载荷数据通过Tor单元到达; 退出路由器解包这些单元并将数据转发给联系的主机。相反,如果数据从主机向用户传输,则退出路由器将数据打包到Tor单元中,并通过Tor覆盖将这些数据发送给用户。
洋葱路由器的每个运营商都可以配置带宽限制。洋葱路由器不允许使用比此限制更多的带宽。因此,运营商可以控制她想要贡献多少资源,并且可以确保不超过存在的限制,例如,由于提供商合同。通常,Tor中配置的带宽限制低于洋葱路由器物理可用的带宽。事实上,这是Tor设计中隐含的一个重要假设:当今互联网的瓶颈通常不在网络骨干网中,而是在接入链路上。如果配置的限制低于相应的接入链路容量,则TCP拥塞控制和公平性将不会干扰由Tor确定的带宽分配。因此,洋葱路由器运营商应注意配置不太大的带宽限制。在这里,我们主要关注Tor内的调度机制,从而做出相同的假设。
参考文献:
[1]TSCHORSCH, F., AND SCHEUERMANN, B. Tor is Unfair–and What to Do About It, 2011.
[2]Jansen R, Juarez M, Galvez R, et al. Inside job: Applying traffic analysis to measure Tor from within[C]//Network and Distributed System Security Symposium (NDSS). 2018.