为什么不能加密流量流量?

时间:2015-04-19 06:45:28

标签: encryption network-programming p2p bittorrent network-security

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

话虽这么说,我正试图了解洪流的流量是多少"嗅探"由ISP和确定的内容。我觉得这个问题会暴露我的无知,但是不可能有某种类似HTTPS的P2P协议那么不可读吗?

我知道一个给定的数据包必须在整个过程中识别它到网络的目的地,但是不能将数据包配置为只显示它们的目的地,这样就没有人可以确定它的目的,直到它到达目的地?为什么ISP显然是一个不可复制的情况,只能看看P2P流量并了解它的一切,但SSH是非常安全的?

4 个答案:

答案 0 :(得分:15)

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

SSL

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

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

    SSL上的Bittorrent已经implementeddeployed

    加密种子

    在BitTorrent(uTorrent客户端)中,我们添加了对磁盘层种子的对称加密的支持。 bittorrent引擎中的所有内容都将在加密块上运行。数据完整性检查(sha-1哈希值)将在加密块上完成,而.torrent文件将具有加密数据的哈希值。像这样的加密版本向后兼容不支持该功能的客户端,但他们无法访问数据(只需帮助群集并播种它)。

    要以未加密的形式下载torrent,您需要将& key =参数添加到磁力链接,并且uTorrent会对磁盘边界处的数据进行解密和加密(将数据保留在磁盘上)。任何人都在没有密钥的情况下添加磁链,只会获得加密数据。

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

    这不允许您选择哪些同伴加入。您可以授予对所需对等方的访问权限,但由于它是对称密钥,因此任何有权访问权限的人都可以邀请其他人或发布密钥。它没有给你任何比你找到磁链更强的认证。

    它为您提供可信赖对等方的机密性,并且让不受信任的对等方帮助您进行种子设定。

    bittorrent协议加密

    bittorrent protocol encryption可能更好地描述为混淆。它的主要目的不是验证或控制对swarm的访问(它从info-hash派生加密密钥,所以如果你能保守秘密就可以获得该属性)。主要目的是避免琐碎的被动窥探和流量整形。我的理解是,如今避免被识别为bittorrent流量效率较低。它还提供针对复杂和主动攻击的弱保护。例如,如果启用了DHT,或者跟踪器连接未加密,则可以轻松了解信息哈希,这是关键。

    如果私有种子(禁用DHT和对等交换),假设跟踪器运行HTTPS,则其中没有任何明显的漏洞。但是,我的经验是,https跟踪器拥有自签名证书并且客户端验证跟踪器的情况并不少见。这意味着中毒跟踪器的DNS条目可能足以进入群组。

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

任何公共同伴的解密只有在某处有一个引子 - 一个可供所有公共同伴使用的解密密钥时才能实现。在保护ISP的情况下,他们也可以访问该密钥,除非有一些排除协议仅用于在其他人之间共享密钥。这样做是不切实际的。

在点对点连接中,TLS密钥协商最终会创建由两个对等方共享的会话加密密钥。密钥是伪随机和特定于会话的。这种方式在互联网上共享的数据对于没有参与密钥协商的客户来说是无法使用的。

答案 3 :(得分:0)

Bittorrent流量(特别是用于传输大量数据的对等协议)can be encrypted。但是,这种加密方式不能提供强大的机密性/身份验证保证,与HTTP2 opportunistic encryption

类似(但不完全相同)

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

这两个组件为您提供了一个工作的,虽然受限制的bittorrent堆栈,它是加密的,其内容对于被动观察者是不可见的。

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