注册
指示

暗网·2:如何设置.onion网站

  • 2023年10月24日 22:59
  • 1 分钟

暗网·2:如何设置.onion网站

人们谈论暗网时,通常指的是洋葱(onion)网站和 Tor。但 Tor只是暗网的一部分。暗网上还有其他类型的网络。

为了让文章更清晰易懂,推荐您首先阅读“什么是Tor网络及其工作原理”,这篇文章详细解读了Tor网络的工作原理。

在之前的文章中:

• 暗网·第一章:什么是暗网以及为何要使用它 

• 暗网·第二章:洋葱网站如何工作 您在这里

• 暗网·第三章:什么是 Freenet

• 暗网·第四章:什么是 I2P,它如何工作? 

• 暗网·第五章:如何通过 Tor、I2P 和 Freenet 进入暗网

什么是洋葱(.onion)服务

洋葱(Onion)服务是指仅能通过Tor访问的服务。运行洋葱服务可为用户提供 HTTPS的所有安全性保障以及 Tor 浏览器附加的隐私优势。

暗网与常规网络的不同之处在于暗网上的网站是由一组数字及字母组合而成,且其顶级域名不以 .com 或类似域名结尾,而是以.onion结尾。

顶级域是网址的最右侧部分。而且.onion 域名无法在除 Tor以外的任何地方打开,因为它们仅存储在Tor网络中。常规互联网域名则存储在 DNS 服务器上。

DNS和洋葱(Onion)查询的区别


例如,暗网网站可能被命名为:https://duckduckgfgjdkgjtkjgjkjefi59u49u34fji3fjzad.onion. 所以,要想访问暗网的某个站点,必须知道它的网址。

洋葱网站及其服务与常规互联网上的类似网站和服务有何不同

洋葱网络通过多种方式强化用户隐私和安全性:

• 隐藏用户位置;

• 使用直通身份验证;

• 使用端到端加密。

隐藏位置

Tor 是一个覆盖网络。它本质上是一个在常规互联网之上运行的互联网。由于常规互联网使用 TCP / IP 协议,用户位置可被查出。而Tor在常规互联网之上,即在 TCP / IP 之上运行,且不在其协议中使用它们。

使用直通身份验证

在Tor网络中,每个用户都知道他正在从特定节点接收特定信息。同时,外部节点无法对请求的传输进行干预,也无法伪装成信息发送者。让我们以一个品牌服装店为例。

假设某人决定在PARA店铺购买衣服。 他来到店铺,看到隔壁还有一家PARA店。但这两家中只有一家卖正品,第二家店的老板是骗子,卖假货骗人。在这种情况下很容易弄错买到假货,因为两家店铺一模一样,谁也搞不清楚卖正品的到底是哪家店。

使用洋葱网站时,用户不会被欺骗——因为网络上的信息与特定节点绑定,没人能冒充携带相同信息的特定节点。

常规互联网则存在这种欺诈行为,称为 DNS 攻击。攻击是这样进行的:在 DNS 系统中,黑客将站点的真实 IP 地址更改为假 IP 地址。当有人想访问该站点时,就会进入假冒站点,甚至不会注意到两者的区别,因为真假地址毫无差别。

例如,如果将网站 mysite.com 的 DNS 记录改为假的,那么互联网上的所有链接都将指向这个假网站。为了不让人们注意到差别,黑客还会照搬真网站的设计,防止假网站被暴露。

虚假网站上可能有病毒或网络钓鱼软件,诈骗者可以利用这些软件窃取用户信息。 但是针对 DNS 攻击的保护方法多种多样,因此要更改站点的 DNS 记录是相当困难的。

使用端到端加密

端到端加密能够保护Tor网络中发送者到接收者的流量,没有人知道通过加密通道(包括中间节点)传输了什么信息。

常规互联网也使用这种保护方法。流量通过SSL/HTTPS 加密进行保护。 但与 Tor 的不同之处在于,在常规互联网上,并非所有站点都受此类协议的保护。

洋葱网站如何与用户互动

洋葱服务是基于 TCP 的网络服务,仅能通过 Tor 网络访问,且可提供双向匿名:Tor 客户端对服务器匿名,服务器对客户端也匿名。

客户端通过只能在Tor网络内运行的洋葱域访问网站。

客户端和网站之间有六个Tor节点,且路径从两侧构建:从客户端到节点,以及从 Tor 网络到同一节点。任何一方都不会知道对方的 IP 地址。


Tor 网络中有多个节点。Guard是守卫节点,是构成 Tor 链路的三个节点中的第一个节点。它是Tor链路的起点和终点,并确保来自链路的信息不被泄露。 Middle – 中继,它既不是守卫节点也不是出口节点,而是充当它们之间的中介。

在Tor网络中与站点的交互是逐步进行的。接下来我们谈谈每个步骤。

第一步

第一步,洋葱网站生成私钥和公钥→选择随机节点作为入口点→将自己的公钥告诉这些节点。入口点仅用于建立连接,并不参与信息的传递。

公钥由数据或消息的接收者发送。公钥可以随处发布——哪怕被认出也没关系。,因为公钥仅用于发送方加密消息,无法用它解密。

私钥用于解密收到的消息,不要与任何人共享私钥。 同时,一把私钥只对应一把公钥,两者始终协同工作。这是加密算法的特点。

站点私钥无人知晓,站点的域名则是根据公钥形成的。此外,与站点相关联的所有节点都不知道网站的位置。 

洋葱网站本身隐藏在 Tor 网络中并保护自己免受不必要的访问,只允许通过发出请求的三个入口点进行访问。

第二步

第二步是使用私钥。为了让用户找到站点,并且让 Tor 网络来显示它们,网站被收集在一个分布式哈希表中,其本质是一个目录。不过这个目录被分成数个部分存储于在不同的网络节点上。

为让网站列入目录中,网络会收集它的句柄,即网站的技术描述。

句柄包含第一步提到的入口点列表和身份验证密钥,这些是访问站点所必须的。

然后私钥会对该信息进行签名,该私钥是公钥的非公开部分。 它被编码在洋葱网站的地址中。


第三步

前两步独立于客户端进行,且无法被观察到。我们之所以讲述这两个步骤,是为了解释清楚站点是如何出现在 Tor 网络上的。

接下来讲一讲客户访问站点时会发生什么。

假设用户想要访问洋葱站点SecureDrop。为此,浏览器需跳转到第二步中提到的的分布式哈希表,并请求洋葱站点SecureDrop的签名句柄。



但实际上,用户是通过第三方资源间接访问哈希表的。例如,用户可在公网或其他洋葱网站上获取 SecureDrop 的链接。

用户跳转到站点地址时被将连接到分布式表并请求该站点的哈希值。 哈希看起来像 $hash.onion,这是服务器公钥派生的、由16 个字符组成的名称。

如果这样的哈希确实存在,Tor网络将自动检查被编码到洋葱地址中的公钥。如此一来,网络便会理解表中的句柄是与特定资源,而非其他资源相关联的。这保障了直通身份验证的安全性。


此外,在句柄内有入口点,通过这些入口点可以连接到 SecureDrop网站。浏览器正是通过这些入口点才知道应该把连接到该站点的请求发送到哪里。

第四步

向 Tor 网络发送请求之前,用户选择一个随机节点连接。 实质上,客户端要求节点作为其汇聚点,并将汇聚点地址和将用于连接到该站点的“一次性秘密”传递给他。然后该信息将会通过隐藏服务的公钥进行加密。


第五步

入口点将用户的数据(秘密字符串和汇聚地址)传递给网站,然后该网站启动多个验证流程并决定您是否值得信赖。


第六步

网站通过匿名渠道连接至汇聚点,然后一个特殊的隐藏服务使用其私钥解密用户始发消息,并因此了解汇聚点和一次性秘密。

汇聚点会做一次最终检查,确保来自您和站点的秘密字符串相匹配,然后在客户端和站点之间建立连接。


而后,客户端和隐藏服务通过这个汇聚点相互通信。所有流量都是端到端加密的,汇聚点来回中继。

一般而言,端到端通信需要6个节点,其中三个由专属服务器选择,另外三个节点,包括汇聚点,则由客户端选择。


站点常规运行方案(此图不考虑节点的存在,因为节点会使该方案变得非常复杂难以理解)

让我们简要地对上述方案做个总结:

  1. 隐藏服务器将其公钥发送到起始点,此举是为了保持网站创建者的匿名。如此一来,连接将通过起始点建立,数据则通过完全不同的节点进行传输。

  2. 隐藏服务器将句柄发送到分布式哈希表。句柄包含公钥、起始点信息,并用私钥对其进行签名。

  3. 客户端请求xyz.onion站点的名称,其中 xyz 表示基于公钥、由 16 个字符组成的名称。

4. 客户端发送请求后,信息向两个方向传播:起始点和汇聚点。 汇聚点是随机选择的,它的存在是为了便于从洋葱网站中接收新信息。同时,每个用户到汇聚点都有自己的路线,因此在 Tor 网络中没有统一的信息传递方式。

5. 汇聚点的信息和被公钥加密的始发消息被发送至起始点。

6. 起始点的信息被发送到一个隐藏服务器,以便后者了解汇聚点。

7. 隐藏服务器向汇聚点发送信息。

8. 汇聚点最后一次检查来自用户和网站的秘密字符串是否匹配。

9. 汇聚点向客户端发送有关网站的信息。

10. 用户和隐藏服务器之间建立起连接,可以交换信息了。

为什么无法通过 Tor2Web 代理和其他方式连接到 .onion 站点

Tor2Web 代理和其他类似代理可帮助您通过常规浏览器连接到 .onion 站点。流程如下:首先,代理服务器连接到 Tor,然后通过常规互联网将流量重定向到您。

使用这种方式并不安全。您无法再保持匿名,因为网络提供商、黑客和政府都能跟踪您所连接的站点、您使用的设备等。

他们会知道您正在使用 Tor2Web 代理,并会监控您从网上获取的机密信息。毕竟,退出Tor意味着端到端加密和身份验证都会失效,如此一来,您的流量会更容易被截获。