web-dev-qa-db-fra.com

Pourquoi le trafic torrent ne peut-il pas être crypté?

L'objectif de cette question est que j'essaie simplement de mieux comprendre la nature du P2P, des réseaux et de la sécurité/chiffrement. Je suis un développeur Web front-end et ma connaissance de la pile de réseaux n'est pas excellente si nous allons plus bas que les requêtes HTTP.

Cela étant dit, j'essaie de comprendre comment le trafic torrent est "reniflé" par les FAI et le contenu identifié. Je pense que cette question révélera mon ignorance, mais n’est-il pas possible d’avoir une sorte de protocole P2P de type HTTPS qui ne serait pas aussi lisible?

Je comprends qu'un paquet donné doit identifier sa destination sur le réseau en cours de route, mais les paquets torrent ne peuvent-ils pas être configurés pour afficher UNIQUEMENT leur destination, de sorte que personne ne puisse identifier son objectif en cours de route jusqu'à son arrivée à destination? Pourquoi est-ce apparemment une situation non rectifiable que les FAI puissent simplement examiner le trafic P2P et tout savoir à ce sujet, alors que SSH est extrêmement sûr?

18

Chaque réponse ici semble avoir une interprétation différente de la question, ou plutôt, un objectif supposé différent du cryptage. Puisque vous le comparez à https, il semble raisonnable de penser que vous recherchez une authentification et une confidentialité. Je vais énumérer quelques tentatives visant à réduire le niveau de "sécurité". C'est une réponse centrée sur bittorrent, parce que vous avez balisé la question avec bittorrent.

SSL

En commençant par le système le plus puissant, il est possible d’exécuter bittorrent sur SSL (il n’est pas pris en charge par de nombreux clients, mais il est possible de le faire dans un déploiement entièrement contrôlé). Cela vous donne:

  1. Authentification de chaque pair participant
  2. La possibilité de choisir quels pairs sont laissés dans l'essaim en signant leur certificat avec la racine de l'essaim.
  3. Cryptage SSL de toutes les connexions homologues + connexions de suivi

Le suivi peut authentifier chaque pair se connectant à celui-ci, mais même si la liste des pairs (ou un pair) est divulguée ou devinée, il reste l'authentification d'homologue à homologue, bloquant tout accès non autorisé.

Bittorrent over SSL a été implémenté et déployé .

torrents cryptés

Chez BitTorrent (dans uTorrent client), nous avons ajouté la prise en charge du chiffrement symétrique des torrents au niveau de la couche disque. Tout dans le moteur BitTorrent fonctionnerait sur des blocs cryptés. Les vérifications de l'intégrité des données (ha-1 de hachages de pièces) seraient effectuées sur des blocs chiffrés et le fichier .torrent aurait des hachages des données chiffrées. Un torrent chiffré comme celui-ci est rétrocompatible avec les clients qui ne prennent pas en charge cette fonctionnalité, mais ils ne pourront pas accéder aux données (aidez-nous simplement à l'essaim et semez-la).

Pour télécharger le torrent sous une forme non chiffrée, vous devez ajouter l'argument & key = au lien magnétique, et uTorrent déchiffre et chiffre les données à la limite du disque (en laissant les données sur disque en clair). Toute personne ajoutant le lien magnétique sans la clé obtiendrait simplement des données cryptées.

D'autres détails sont également impliqués, tels que le cryptage de certaines métadonnées dans le fichier .torrent. Tels que la liste des fichiers, etc.

Cela ne vous permet pas de choisir les pairs qui vont rejoindre. Vous pouvez donner accès aux pairs que vous souhaitez, mais comme il s'agit d'une clé symétrique, toute personne disposant d'un accès peut inviter quelqu'un d'autre ou publier la clé. Cela ne vous donne pas une authentification plus forte que celle que vous aviez lorsque vous avez trouvé le lien magnétique.

Cela vous donne la confidentialité entre pairs de confiance et la possibilité d'avoir des pairs non fiables qui aident à l'ensemencement.

cryptage de protocole bittorrent

Le cryptage de protocole bittorrent est probablement mieux décrit comme un obscurcissement. Son objectif principal n'est pas d'authentifier ou de contrôler l'accès à un essaim (il tire la clé de cryptage de info-hash, donc si vous pouvez garder ça secret, vous obtiendrez cette propriété). Le but principal est d’éviter une surveillance passive passive et triviale. D'après ce que je comprends, il est moins efficace d'éviter d'être identifié comme un trafic bittorrent de nos jours. Il fournit également une faible protection contre les attaques sophistiquées et actives. Par exemple, si le DHT est activé ou si les connexions du suiveur ne sont pas cryptées, il est facile de se renseigner sur le hash info, qui est la clé.

Dans le cas de torrents privés (où DHT et l'échange entre homologues sont désactivés), en supposant que le suivi utilise le protocole HTTPS, il n'y a pas de trous évidents. Cependant, mon expérience est qu’il n’est pas rare que les suiveurs https possèdent des certificats auto-signés et que les clients authentifient pas les suiveurs. Ce qui signifie qu'empoisonner l'entrée DNS pour le traqueur peut être suffisant pour entrer dans l'essaim.

14
Arvid

Le trafic torrent peut être crypté, et il existe des proxys VPN/SOCKS qui peuvent être utilisés pour rediriger le trafic, c’est-à-dire via un autre pays via un tunnel crypté avant la connexion aux homologues. Cela dit, même si vous utilisez de tels services, il existe de nombreuses façons de fuir le trafic via des canaux secondaires (recherches DNS, suivis non sécurisés, nœuds compromis, par exemple), et la plupart des utilisateurs ne sont pas suffisamment informés pour respecter la sécurité et l'anonymat précautions De plus, vous limiter à la communication avec les clients qui ont également forcé le cryptage limitera le nombre de pairs auxquels vous pouvez vous connecter.

2
Oleg Vaskevich

Le problème que vous envisagez est la différence entre le cryptage point à point où il n'y a que deux pairs dans un contexte privé et un nombre illimité de pairs dans un contexte public. 

Le déchiffrement par l'un des pairs publics ne peut être effectué que s'il existe un amorce quelque part, une clé de déchiffrement disponible pour tous les pairs publics. Dans le cas d'une protection contre les fournisseurs de services Internet, ils auraient également accès à cette clé, à moins qu'un protocole d'exclusion ne prévoie le partage de la clé entre tous. Ce n'est pas pratique de faire ça.

Dans une connexion point à point, une négociation de clé TLS crée éventuellement une clé de chiffrement de session partagée par les deux homologues. La clé est pseudo-aléatoire et spécifique à la session. Les données partagées sur Internet de cette manière seraient inutilisables pour les clients qui n'ont pas participé à la négociation de clé.

1
Brian Topping

Le trafic Bittorrent (en particulier le protocole homologue homologue utilisé pour transférer la majeure partie des données) peut être crypté . Mais c’est le type de cryptage qui ne fournit pas de garanties de confidentialité/d’authentification fortes, similaire (mais pas identique) au protocole HTTP2 cryptage opportuniste

La communication Client-Tracker peut être cryptée avec HTTPS.

Ces deux composants vous fournissent une pile bittorrent fonctionnelle, bien que restreinte, cryptée et dont le contenu ne soit pas visible par un observateur passif.

Les FAI peuvent toujours être en mesure de l'identifier comme "bittorrent, probablement" en fonction des données du canal latéral (taille des paquets/structure du trafic, domaines contactés, ...), mais ils ne sauront pas exactement ce qui est transféré.

0
the8472