Peersm est une nouvelle application en ligne d'origine française, qui permet de partager des fichiers au sein du navigateur, en P2P, de façon sécurisée et anonyme. Explications.

Elle ne paie pas de mine, mais l'application en ligne Peersm cache une technologie de partage de fichiers très en pointe et facile d'accès pour ceux qui cherchent un moyen efficace de partager des fichiers de façon anonyme et chiffrée, en Peer-to-Peer (P2P), donc sans passer par un serveur intermédiaire, et sans avoir à installer un logiciel.

Entièrement codée en javascript, et tirant profit des nouvelles API du standard HTML5, Peersm utilise le protocole Tor et son propre réseau P2P, à travers les Websockets, pour anonymiser les échanges. Les fichiers ne sont jamais copiés vers un serveur, mais transmis d'un navigateur compatible (actuellement Chrome ou Firefox) à un autre en suivant la route masquée par le réseau Tor, en utilisant les noeuds Tor existants, et les noeuds créés par Peersm.

L'équipe qui développe l'application est dirigée par le chercheur français Aymeric Vitte, un ancien élève de l'Ecole nationale supérieure des télécoms, ancien d'Alcatel-Lucent, et membre du groupe de travail WebCrypto du W3C. Ceux qui souhaitent participer aux développements peuvent trouver les sources du noeud Tor de Peersm sur Github.

En pratique, les utilisateurs de Peersm peuvent "uploader" des fichiers présents sur leur ordinateur vers un espace de stockage spécifique dédié à l'application, créé localement par le navigateur à travers l'API IndexedDB en cours de standardisation par le W3C. Tous les fichiers ainsi "uploadés", ou téléchargés sur le web vers cet espace de stockage local, sont alors partagés dans un réseau P2P dont l'architecture est proche de celle d'un réseau BitTorrent, l'anonymat en plus.

"Cela peut paraître étrange pour certains de "stocker dans son navigateur" mais cela signifie tout simplement que tu copies un fichier de ton disque vers un autre endroit de ton disque auquel le navigateur a accès et donc l'application Peersm. Evidemment c'est sécurisé pour que d'autres applications web ou sites n'y ait pas accès", nous précise Aymeric Vitte.

Pour partager les fichiers, la démarche n'est pas encore des plus intuitives. Chaque fichier dispose d'une signature unique, calculée par un algorithme, appelée "hash name". Pour connaître le hash du fichier à partager, il faut cliquer sur le nom du fichier dans les "fichiers locaux" (local files), se rendre dans l'onglet "properties", puis copier-coller le "Hash Name" visible à l'écran.

"Les peers doivent s'échanger les références, un peu comme les torrents, via mail, sms, forums, etc., nous ne savons pas exactement quelle tournure cela prendra mais ce n'est évidemment pas à nous de nous occuper des contenus", prévient l'équipe. "Typiquement, l'échange sera sous la forme : hash_name + extension du fichier + clé de chiffrement s'il y a lieu + hash du fichier si l'on veut vérifier son intégrité".

Notez que pour renforcer la confidentialité, le menu contextuel permet également de chiffrer le document partagé, afin qu'il ne circule pas en clair entre les noeuds Tor. La clé (générée automatiquement) est alors visible dans le même menu, et doit être transmise au destinataire par un autre moyen sécurisé :

Outre le partage ad hoc de fichiers d'internaute à internaute, Peersm permet surtout le téléchargement d'un fichier connu par son hashname à partir de n'importe quelle source qui le possède. De base, si l'utilisateur de Peersm veut télécharger un fichier à partir de son URL classique, Peersm ira regarder dans le réseau qui a une copie du fichier, pour qu'il puisse être téléchargé anonymement à partir du réseau Tor / Peersm. Les téléchargements peuvent être interrompus à partir d'une source et repris à partir d'une autre, sans incidence.

En revanche, contrairement à BitTorrent, le téléchargement ne peut être fait qu'à partir d'une seule et même source en même temps, ce qui est beaucoup moins rapide pour les fichiers volumineux. "Effectivement ce n'est pas multi-peer", reconnaît Aymeric Vitte. Mais "ce ne serait pas efficace dans le cadre du concept anonymisant où l'on devrait établir plusieurs circuits anonymisés avec les peers dans un contexte qui peut être précaire (les peers peuvent fermer leurs navigateurs, ou les noeuds ou clients Peersm peuvent être arrêtés ou tomber, etc)".

Le client Peersm est fermé automatiquement à la fermeture de l'onglet ou du navigateur, ce qui cesse toute mise en partage. Mais ceux qui souhaitent assurer une mise en partage continue sans laisser leur navigateur ouvert peuvent aussi télécharger un installeur Windows. "Nous avons fait un installeur Windows pour simplifier mais que ce soit sur Windows, Mac ou Linux l'ensemble de la techno (code navigateur, client Peersm, bridges et noeuds Tor/Peersm) tient en un fichier javascript de 360 Ko (que l'on pourrait encore réduire de moitié) et nodejs. L'idée que javascript ne serait pas sécurisé ou lent est fausse, node est rapide et l'appli est sécurisée, y-compris le chargement du code."

Il ne reste plus qu'à essayer, et à venir en discuter sur notre forum dédié au P2P.

Partager sur les réseaux sociaux

Plus de vidéos