传说中的“洋葱头Tor”是如何做到匿名通信的?

很多人知道Tor(洋葱头匿名通信)是因为“暗网入口”,“美国国家安全局在使用”,“遍布全球的节点”,“开放式的匿名网络”,“最先进混淆手段”这些标签 。
Tor也被称为当前计算机领域最安全和成功的匿名通信服务网络,其主要由权威目录服务器,中继器,网桥,出口中继器,客户端这几个部分构成 。
那么,我们今天就来解析一下,暗网中的Tor网络连接和普通网站的Tor网络连接一样吗?
Tor网络中的客户端服务器的连接过程一般称为电路(circuit),电路是由Tor路由节点组成的网络路径 。
普通的网站通过Tor网络连接一般需要经过三个Tor节点,如下图 ,而暗网中的网站,通过Tor网络连接,一般则需要六个Tor节点 。

传说中的“洋葱头Tor”是如何做到匿名通信的?

文章插图
 
一般情况下,客户端匿名访问普通网站的Tor电路为:
首先通过本地代理随机选择一个入口节点;
入口节点随机选择一个中间节点;
中间节点随机选择一个出口节点;
最后出口节点通过TCP 连接并以明文形式携带内容到目的服务器 。
入口节点知道用户的IP地址,出口节点知道目的服务器的IP地址以及传输内容 。但是每一个节点都不知道完整信息流向,从而保证通信的匿名性 。
传说中的“洋葱头Tor”是如何做到匿名通信的?

文章插图
 
暗网情况下,客户端匿名访问暗网服务器的Tor电路需要经过六个Tor节点,客户端和服务器各通过一个 Tor电路连接到一个中继Tor节点(称为"会合点" ),这个会合点既不知道客户端地址,也不知道服务器地址,从而保证通信双方的匿名性 。
揭秘暗网中的Tor网络连接,客户端通过Tor网络访问暗网服务器经过以下的 7个步骤 。
1.选取介绍点:暗网中的网站建立后,需要将自己发布出去才能让用户访问,为了将自己的URL信息放到目录数据库上,暗网服务器需要选取一些 Tor节点作为介绍点,并建立Tor电路,这样这些介绍点就不知道暗网服务器的具体地了 。
这些介绍点用于以后客户端想要访问暗网服务器时与会合点的通信 。
传说中的“洋葱头Tor”是如何做到匿名通信的?

文章插图
 
2.发布网站:暗网服务器组合一个描述符,包括自己的公钥和各个介绍点,并用私钥进行签名认证,上传到目录数据库上 。这些描述符和暗网服务器的网址是一一对应的,客户端通过请求暗网服务器的网址可以在目录数据库中找到对应的描述符,只有通过描述符里的介绍点才能访问到暗网服务器 。
暗网服务器的网址以 onion为顶级域名,并由它的公钥派生出的16个字符组成 。至此,暗网服务器(网站)就建立好了 。
传说中的“洋葱头Tor”是如何做到匿名通信的?

文章插图
 
3.查询描述符:【传说中的“洋葱头Tor”是如何做到匿名通信的?】客户端通过某个渠道得知了暗网服务器的网址,但是它不能直接访问暗网服务器,必须获取更多的信息 。客户端需要通过Tor电路与目录数据库建立连接,查找该网址对应的描述符,从而获取该暗网服务器的介绍点和公钥信息,通过介绍点来连接暗网服务器 。与此同时,客户端随机选择一个中继节点作为 "会合点" 。
传说中的“洋葱头Tor”是如何做到匿名通信的?

文章插图
 
4.客户端与会合点建立连接:客户端与会合点建立Tor电路,随机选取Tor 节点进行连接,在此电路中会合点作为Tor电路中的出口节点 。连接时携带一个一次性的"secret"给会合点,以校验将要与之连接的暗网服务器 。
传说中的“洋葱头Tor”是如何做到匿名通信的?

文章插图
 
5.请求转发:客户端查找到暗网服务器的描述符并与会合点建立好连接之后,选择描述符里的其中一个介绍点与它通信,建立Tor电路并携带一个用暗网服务器的公钥加密的信息(该信息包括会合点地址和一次性的 "secret")发送给介绍点,请求介绍点通知要访问的暗网服务器 。
传说中的“洋葱头Tor”是如何做到匿名通信的?

文章插图
 
6.转发信息:介绍点收到请求消息后将用公钥加密的信息传送给暗网服务器,暗网服务器收到客户端请求后,用自己的私钥对加密信息进行解密,得到会合点的地址和一次性"secret"。


推荐阅读