[Humeur] Le P2P est mort. Le F2F prend le relais.

2 avril 2009

Le partage de fichiers en peer-to-peer a eu de beaux jours, avec des progrès techniques incontestables depuis Napster. La loi HADOPI arrive à grand pas, avec à son bord le flicage des flux sur Internet. La technologie peer-to-peer telle qu'on la connait va alors peu à peu mourir sous la pression de la sanction. Mais les pirates pensent déjà à la suite ; le friend-to-friend arrive.

P2P to F2F

Le friend-to-friend, comme le peer-to-peer, n'est pas une technologie mais plutôt un ensemble de concepts épaulés par des technologies. En voici les trois règles fondatrices :

1. Un utilisateur enregistre une liste d'amis proches envers lesquels il a une totale confiance. Les fichiers qu'il souhaite partager le sont uniquement à ses amis proches. Contrairement au P2P, une donnée n'est jamais partagée publiquement. Ainsi, un espion voulant vérifier si une donnée sensible ou protégée est partagée ne pourra le constater que pour les amis qui l'ont accepté comme ami proche. Tant pis pour eux...

2. Chaque connexion entre deux nœuds (ie. entre deux amis) est cryptée. Avec un cryptage suffisamment puissant, un espion (typiquement un fournisseur d'accès, qui peut se permettre une attaque de type man-in-the-middle) ne peut pas savoir exactement ce qui transite entre les deux amis. Ce cryptage est réalisé grâce à un échange de clefs asymétriques (via un service de certification, ou mieux : directement de main en main, avec une clef USB par exemple).

3. Un utilisateur peut faire office de "pont" entre deux de ses amis directs, c'est le turtle hopping. Ainsi, il est possible de télécharger un fichier possédé par l'ami d'un ami d'un ami... sans connexion directe. Impossible alors pour un espion de savoir qui est la source de ce fichier. Il peut constater uniquement qu'un ami direct lui transfère ce fichier. Il est le seul à être compromis.

4. Ne jamais lui donner à manger après minuit.

Ces règles fondatrices permettent de contrer le flicage de son flux internet.

Pour aller plus loin

Le multi-sourcing consiste à pouvoir télécharger des morceaux d'un fichier à partir de plusieurs nœuds à la fois. Le cache distribué consiste à ce que chaque nœud du réseau alloue un stockage où sont répliqués plus ou moins aléatoirement des morceaux de fichiers disponibles sur le réseau. Ces deux techniques permettent d'augmenter la vitesse de transfert et également de moins subir l'indisponibilité des fichiers.

Il est possible pour un espion omniscient de comprendre quel nœud est la source d'un flux, quel nœud en est le destinataire, et quels nœuds sont les ponts, en étudiant les débits entre ces nœuds. L'espion ne connaitra pas les données transmises puisqu'elles sont codées, mais il pourrait déterminer plus ou moins facilement la structure d'un réseau d'échanges. L'émission de flux aléatoires, le multipath, et le cache distribué, permettent de casser les statistiques et donc de perturber ce type d'attaques. Consultez ce papier [pdf] pour plus d'informations.

Le flux n'est pas crypté de bout en bout, entre la source et le destinataire, mais uniquement entre chaque amis. Il est donc possible pour un nœud "pont" de constater l'échange d'un fichier entre deux de ses amis, mais également de connaitre la nature de ce fichier. Quand bien même ce flux serait crypté de bout en bout, les nœuds se trahissent sur la nature du fichier lorsqu'ils demandent un routage : les deux nœuds amis ne se connaissant pas, le routage se fait donc d'après une référence au fichier. Combiné avec la faille précédente, si elle n'est pas résolue, tout le système tombe en miettes.

Pour tester

Les clients F2F actuellement disponibles sont généralement des prototypes de recherche, plus ou moins abandonnés. Ils ne sont pas idéaux pour une utilisation industrielle mais de toutes façons ce n'est pas mon but de vous inciter à les utiliser. Ce sont en revanche d'excellents sujets d'étude car ils ont le mérite d'être OpenSource. En voici quelques exemples :

OneSwarm (Windows/Linux/MacOS, OpenSource)
A la base, un prototype de recherche. Il implémente le multi-sourcing et le turtle-hopping. Ce programme est une simple surcouche d'un logiciel de partage BitTorrent (Azureus), ce qui lui vaut d'être assez lourd. C'est gênant pour un programme conçu pour fonctionner 24h/24.

Turtle F2F (Linux, OpenSource)
Un prototype de recherche qui a donné son nom au turtle-hopping. Ce projet est plus ou moins mort.

Alliance P2P (Windows/Linux/MacOS, OpenSource)
L'interface est superbe. Ce projet ne propose pas (encore) de turtle-hopping. La technologie de cryptage est faible. Les principes de sécurité n'ont pas l'air d'être proprement définis.

Galet (Windows/Linux, OpenSource)
Un tout petit projet qui fait le minimum et a très peu d'activité.

Projection sur l'avenir

Le friend-to-friend n'est pas aussi "pratique" que le peer-to-peer tel que nous le connaissons, dans le sens où la qualité du service dépend grandement de la connectivité du réseau d'amis. Un nœud avec peu d'amis qui ne laissent pas leur machine allumée 24h/24 risque d'avoir du mal à se connecter. Un nœud connaissant deux groupes d'amis relativement indépendants risque d'être un goulot d'étranglement entre les deux réseaux.

En parallèle, il existe les darknets. Ce sont des overnets (réseaux virtuels au dessus du réseau physique) utilisant les mêmes principes que ci-dessus (cryptage, réplication, cache, etc.). Ils sont particulièrement complexes à mettre en place et sont donc dédiés aux fanatiques (ou aux peuples qui ne risquent pas une simple suspension d'abonnement mais une mort certaine...).

En lisant cet article, je suis certain que vous avez pensé à la théorie des six degrés de séparation. Je vous conseille d'aller plus loin et de creuser autour des small world et des problèmes de goulots d'étranglement sur les réseaux F2F...

3 commentaires:

  1. L'incompétence fait peur quand même...
    http://www.dafuckingblueboy.com/?p=455. Sérieusement, retirez-lui le dossier !

  2. Bien bel article.

    Je regette néanmoins que cette présentation des F2F laisse uniquement imaginer une utilisation de ces technologies pour des échanges illicites.

    Perso, j'aurais surtout mis l'accent sur l'échange possible de données personnelles dans un contexte de protection de la vie privée.

    Je trouve que mettre en avant l'utilisation de telles technologies pour échanger des contenus illicites c'est donner raisons aux promotteurs de HADOPI.

  3. Le but de l'article était surtout de mettre en évidence que les législateurs ne savent clairement pas de quoi ils parlent. Ils ont reçu des ordres, ils conservent leur direction coûte que coûte, ils pensent déjà avoir vaincu la guerre. Ça va coûter une fortune au contribuable pour mettre en place une usine à gaz, mais au final ça ne va servir à rien.

    Une autre petite vidéo sympathique pour ceux qui l'auraient loupée : Quel est le pire, le P2P ou BitTorrent ?

    Pour la liberté d'expression et le respect de la vie privée, il faut plutôt chercher du côté des darknets que du F2F.