Encryption 为什么可以';torrent流量不能加密吗?

Encryption 为什么可以';torrent流量不能加密吗?,encryption,network-programming,p2p,bittorrent,network-security,Encryption,Network Programming,P2p,Bittorrent,Network Security,这个问题的目的是,我只是想更好地理解P2P、网络和安全/加密的本质。我是一名前端web开发人员,如果我们的请求低于HTTP请求,我对网络堆栈的了解就不多了 话虽如此,我仍在试图了解互联网服务提供商是如何“嗅探”torrent流量的,以及识别出的内容。我觉得这个问题会暴露我的无知,但是有没有可能有一些像HTTPS这样的P2P协议不那么可读呢 我知道一个给定的数据包必须在传输过程中向网络标识其目的地,但是torrent数据包不能被配置为只显示其目的地,这样在到达目的地之前,没有人能够在传输过程中标识

这个问题的目的是,我只是想更好地理解P2P、网络和安全/加密的本质。我是一名前端web开发人员,如果我们的请求低于HTTP请求,我对网络堆栈的了解就不多了

话虽如此,我仍在试图了解互联网服务提供商是如何“嗅探”torrent流量的,以及识别出的内容。我觉得这个问题会暴露我的无知,但是有没有可能有一些像HTTPS这样的P2P协议不那么可读呢


我知道一个给定的数据包必须在传输过程中向网络标识其目的地,但是torrent数据包不能被配置为只显示其目的地,这样在到达目的地之前,没有人能够在传输过程中标识其目的地?为什么ISP可以只查看P2P流量并了解其所有信息,而SSH却非常安全,这显然是一种无法纠正的情况?

您考虑的问题是点对点加密之间的区别,在私有上下文中只有两个对等方,而在公共上下文中对等方的数量是无限的

只有在某个地方有一个引物——一个可供所有公共对等方使用的解密密钥——的情况下,任何公共对等方的解密才能生效。在保护不受ISP攻击的情况下,他们也可以访问该密钥,除非有一些排除协议只允许其他人共享密钥。这样做是不实际的

在点对点连接中,TLS密钥协商最终会创建由两个对等方共享的会话加密密钥。密钥是伪随机的,特定于会话。以这种方式在internet上共享的数据对于未参与密钥协商的客户端将不可用。

可以对Torrent流量进行加密,并且可以使用VPN/SOCKS代理重定向流量,即在连接到对等方之前通过加密隧道通过另一个国家/地区。这就是说,即使您使用此类服务,也有很多通过旁道泄漏流量的方法(例如,DNS查找、不安全的跟踪器、受损节点),而且大多数人没有足够的知识来遵循所有适当的安全/匿名预防措施。此外,将自己限制为仅与同样强制加密的客户端通信将限制您可以连接到的对等方的数量。

Bittorrent流量(特别是用于传输大量数据的对等方协议)。但这种加密并没有提供很强的保密性/身份验证保证,与HTTP2类似(但不完全相同)

客户端跟踪器通信可以使用HTTPS加密

这两个组件为您提供了一个工作的bittorrent堆栈,该堆栈经过加密,其内容对被动观察者不可见


ISP可能仍然能够根据侧通道数据(数据包大小/流量模式、联系的域等)将其识别为“可能的bittorrent”,但他们无法确切知道传输的内容。

这里的每个答案似乎对该问题有不同的解释,或者更确切地说,加密的假设目的不同。由于您将其与https进行比较,因此似乎有一个合理的假设,即您正在寻找身份验证和机密性。我将列举一些降低“安全性”级别的尝试。这是一个以bittorrent为中心的答案,因为您用bittorrent标记了该问题

SSL 从最强大的系统开始,可以通过SSL运行bittorrent(许多客户端不支持它,但在完全受控的部署中可以实现)。这将为您提供:

  • 每个参与的对等方的身份验证
  • 通过使用swarm root对其证书进行签名来选择允许哪些对等方进入swarm的能力
  • 所有对等连接+跟踪器连接的SSL加密
  • 追踪器可以对连接到它的每个对等方进行身份验证,但即使对等方列表(或一个对等方)被泄露或猜测,仍然存在对等身份验证,阻止任何未经授权的访问

    SSL上的Bittorrent已被禁用

    加密洪流 在BitTorrent(客户端)中,我们在磁盘层添加了对Torrent对称加密的支持。bittorrent引擎中的所有内容都将在加密块上运行。数据完整性检查(sha-1散列)将在加密块上进行,并且.torrent文件将包含加密数据的散列。像这样的加密torrent与不支持该功能的客户端向后兼容,但它们将无法访问数据(只需帮助swarm并为其播种)

    要以未加密的形式下载torrent,您需要将&key=参数添加到Magnetic链接中,然后uTorrent在磁盘边界对数据进行解密和加密(将磁盘上的数据保留为空白)。任何人在没有密钥的情况下添加磁铁链接,都会得到加密数据

    还涉及一些其他细节,比如加密.torrent文件中的一些元数据。例如文件列表等

    这不允许您选择哪些对等方可以加入。您可以授予对所需对等方的访问权限,但由于这是一个对称密钥,任何具有访问权限的人都可以邀请其他人或发布该密钥。它不会给你提供比你找到磁铁链接时更强的身份验证

    它为您提供了受信任的对等方之间的保密性,以及让不受信任的对等方帮助您进行种子设定的能力

    bittorrent协议加密 这个问题最好描述为混淆。它的主要目的不是验证或控制对swarm的访问(它从信息散列中获得加密密钥,因此如果你能保守秘密,你就可以获得该属性)。主要目的是避免琐碎的被动窥探和流量整形。我的理解是,这是一个错误