有人能解释一下 p2p 加密如何防止中间人攻击吗?人们建议使用加密来阻止 ISP 限制您的 Bittorent 流量。
当我连接到 ssl amazon 时,我会收到一份签名证书,表明我肯定正在连接到我认为正在连接的人。但在 p2p 世界中,我不知道我正在连接到谁。是什么阻止了 ISP 介入解密流量?
来自维基百科文章:
MSE/PE 使用密钥交换与 torrent 的信息哈希相结合来建立 RC4 加密密钥。密钥交换有助于最大限度地降低被动监听者的风险,而信息哈希则有助于避免中间人攻击。
不太确定在这种情况下“infohash”是什么意思?
无论如何,我相信这只是 p2p 用户和 ISP 之间军备竞赛的一部分。如果“中间人”是可能的,那么它只会提高 ISP 的门槛(以及所需的计算能力)。
答案1
本质上,加密使得尽管您不知道具体与谁连接,但您可以确信自己已与另一个用户连接以获取该特定种子。
infohash 是针对您的特定 torrent 计算的 SHA1 哈希;本质上是您的 torrent 的唯一 ID。通过将此作为您与其他用户的密钥交换因素,您的 ISP 必须知道该 torrent 的哈希,才能开始将您的加密连接识别为用于 torrent 和 P2P 的连接。它是 torrent 用户知道但您的 ISP 不知道的共享秘密密码的一部分。
如果不知道哈希值,事情就会困难得多,因为你的连接看起来就像两方之间的任何其他加密通道一样,这使得它能够很好地抵抗你的 ISP 嗅探 P2P 的迹象。
答案2
我相信这意味着信息正在使用来自密钥交换的密钥进行加密,然后每个数据包都包含加密数据的哈希值。
此哈希允许每个端点验证数据是否直接发送,因为如果发生中间人攻击,则将使用不同的密钥。这将导致加密数据不同,因此哈希值将发生变化,端点将能够检测到攻击者。