一些 P2P 软件(例如 Tox、Briar 等)使用公钥加密而不是 IP 地址来与其他人交换消息。这可能吗?如何实现?
答案1
你把一些几乎不相关的技术混淆了。
联网的计算机需要 IP 地址才能相互通信。这是基本要求。为了让 P2P 软件能够通过互联网进行通信它将使用 P2P 参与者的 IP 地址。
公钥基础设施则完全不同。它的理念是,一个人可以拥有 2 把钥匙 - 一把公钥和一把私钥。用私钥加密的消息只能用公钥解密,反之亦然。 无论消息如何传递,PK 系统都允许对消息进行加密和解密- 例如,如果消息通过 USB 密钥传输,它仍然是安全的。
当然,使用互联网分发 PK 消息是有意义的,所以这是最常见的用例 - 我猜这也是造成混乱的第一部分。
以 TOX 为例 - 阅读https://tox.chat/faq.html- 我在下面重点标出了一点:
Tox 不会试图隐藏你的 IP 地址与朋友交流时,因为点对点网络的整个目的是将您直接连接到您的朋友。确实存在一种解决方法,即通过 Tor 隧道传输您的 Tox 连接。但是,非朋友用户无法仅使用 Tox ID 轻松发现您的 IP 地址;只有当您将某人添加到您的联系人列表时,您才会向他们透露您的 IP 地址。
(如果您不使用 TOR,Tox 似乎使用引导节点来帮助朋友找到彼此的 IP 地址。当然,Tor 也具有相同的用途)
看看 Briar - 它似乎能够使用互联网以外的其他方式进行通信(例如蓝牙)。也就是说,它还使用 Tor 将 IP 地址映射到用户。它还谈到了用于本地连接的 WIFI - 这是当多个设备位于同一个 LAN 上并且可以发送广播消息以查找彼此的 IP 地址时。(曾经安装过新的网络打印机并让它显示在计算机上吗?)。
当然,TOR 就像一个覆盖在多个互联网连接上的 VPN,其目的是混淆节点之间的通信。TOR 仍然使用 IP 地址 - 尽管它可以将您的 IP 地址与您正在通信的 IP 地址分离。
答案2
这并非不可能。例如,比特币用户不需要知道彼此的IP地址。
例如,您可以启动 NNTP 服务器,并邀请人们向新闻组发布加密消息...托管新闻组的每个人都会下载所有消息,但他们只能阅读他们可以解密的消息。
这样,不法分子就无法知道谁在阅读哪些消息,也无法知道每个用户持有什么密钥。