Contenu | Rechercher | Menus

RetroShare


RetroShare est un logiciel de F2F privé, décentralisé, basé sur l'authentification par clef publique/privée PGP. Tous les échanges s'effectuent sous cryptographie SSL (RSA 2048 bits), et uniquement entre des personnes ayant explicitement échangé leurs clefs. Il s'agit donc d'une méthode extrêmement sûre pour partager des fichiers, puisqu'il est impossible aux personnes qui ne sont pas déclarées comme étant de confiance de savoir ce qui circule ou est mis à disposition sur le réseau.

Les caractéristiques et services offerts par ce logiciels sont:

  • Transferts multiples, multi-sources et simultanés en F2F multi-hop
  • Chat, messagerie, forums internes et channels.
  • Recherche/tri de fichiers en F2F multi-hop avec une profondeur de 6.
  • Gestion par répertoire de la visibilité des fichiers
  • Propagation optionnelle des IP des amis.
  • Utilise le DHT bittorrent pour synchroniser les connexions et trouver les IPs de vos amis.
  • Interface graphique en Qt4
  • UPnP / NAT-PMP pour traverser les routeurs
  • Intégration dans la barre des taches
  • Fonctionne sous MacOSX, Windows et Ubuntu (Jaunty/Karmic/Lucid/Maverick).

Version actuelle: 0.5.5c (2013)

Pré-requis

Installation

Il existe deux dépôts ppa pour RetroShare. L'un contient la version stable courante, l'autre contient les snapshot de développement.

Ajout des dépôts de la version stable :

    sudo add-apt-repository ppa:csoler-users/retroshare

Ajout des dépôts de la version en cours de développement :

    sudo add-apt-repository ppa:csoler-users/retroshare-snapshots

Installation :

    sudo apt-get update
    sudo apt-get install retroshare

Depuis la source

Nous décrivons ici comment compiler Retroshare depuis la source. Ces instructions proviennent du site SourceForge Retroshare. N'utilisez cette méthode que si l'installation du package debian par le ppa (ou à la main) ne convient pas a votre distribution. La compilation n'est pas difficile, mais ne vous apportera rien de plus qu'une bonne installation propre.

Pré-requis :

$ sudo apt-get install libqt4-dev g++
$ sudo apt-get install libgpgme11-dev libgpg-error-dev libupnp-dev libssl-dev libgnome-keyring-dev
$ sudo apt-get install libxss-dev
$ sudo apt-get install subversion

Téléchargement de la dernière version :

$ svn co https://retroshare.svn.sourceforge.net/svnroot/retroshare/trunk retroshare

Compilation

$ cd ~/retroshare/libbitdht/src
$ qmake
$ make
$ cd ~/retroshare/libretroshare/src
$ qmake
$ make
$ cd ~/retroshare/retroshare-gui/src
$ qmake
$ make

Usage

$ ~/retroshare/retroshare-gui/src/RetroShare

Premiere utilisation

RetroShare base son système d'authentification sur PGP. Au premier lancement, RetroShare vous propose de choisir une clef PGP dans votre trousseau (ou d'en créer une) pour représenter votre identité. La même clef peut être utilisée pour chacun de vos nœuds RetroShare (par exemple si vous avez plusieurs PC). C'est pourquoi, "Location/lieu" vous demande sur quel ordinateur vous opérez. Les clefs PGP sont utilisées pour signer les certificats SSL qui servent a crypter les communications entre deux nœuds RetroShare. Tout couple de personnes ayant mutuellement accepté la connexion des clefs PGP correspondantes sont alors capables de se connecter entre elles. Sur le plan pratique, les certificats SSL sont générés à la volée. Seules les clef PGP sont montrées à l'utilisateur.

Une fois votre identité créée, le logiciel se lance et vous voilà à la tête d'un réseau de… une personne: vous. Il vous faut donc recruter des amis.

Attention: si vous utilisez une clef PGP qui n'a pas été créée par RetroShare, vérifiez que le paramètre Owner Trust est sur Ultimate, en utilisant le logiciel Seahorse. Dans le cas contraire, elle ne sera pas acceptée par RetroShare.

Utilisation: gérer votre réseau

Pour inviter des amis dans votre réseau, clickez sur invite friend. RetroShare affiche votre clef publique ainsi qu'un message de bienvenue: copiez cela sur une clef usb ou autre support de stockage puis donnez-le à un ami. Il est déconseillé de communiquer ces informations par internet de manière non cryptée, puisque leur intégrité peut être compromise lors du transit.

Lorsque quelqu'un vous confie sa clef (c.f. au dessus), cliquez sur add friend et copiez sa clef dans la fenetre. Penser a tout copier, y compris les champs SSLID et LOCATION qui sont necessaires a la connexion. Si tout se passe bien, RetroShare vous propose de signer le certificat de votre ami (cliquez sur make friend). Votre ami devra alors faire de même afin d'établir la connexion.

L'échange explicite des clefs n'est nécessaire qu'a la première connexion. En effet, RetroShare rapatrie automatiquement les amis de vos amis dans la liste des peers accessibles. Cela ne vous permet pas pour autant de vous connecter chez eux. Pour cela vous devez les rendre amis en signant leur certificat PGP (click-droit sur la personne désignée dans Network et faire make friend). Chaque peer que vous autentifiez devra faire de meme de son coté pour que la connexion soit possible. C'est le prix de la confidentialité.

De même, vos amis vous envoient les IPs de vos amis communs, ce qui fait qu'une personne qui change d'IP peut rapidement se connecter a tous ses amis. Uniquement pour un réseau de 2 personnes (!!) faut-il que celles ci s'échangent explicitement leurs IPs. Depuis la version .5.1, RetroShare offre la DHT et Les DNS Dynamiques, ce qui facilite la recherche d'IP.

Un serveur de clefs est disponible a l'adresse suivante: https://www.f2f-fr.net/w2c/. Il vous permettra, en copiant votre clef sur le serveur, de recevoir automatiquement des amis.

Le partage de fichiers

Une fonction Search permet de chercher les fichiers partagés par vos amis, mais aussi récursivement parmi les amis des amis…. de vos amis. Les resultats d'un search arrivent donc progressivement.

Le transfert de fichier se fait de manière anonyme a travers des tunnels multi-hop, qui partent toujours par vos amis, et vont automatiquement chez les personnes qui possèdent la source dont vous avez besoin. Il n'est techniquement pas possible de savoir quelle est la source d'un fichier que vous recevez.

Les fichiers mis en partage peuvent être indépendamment assortis du flag "network wide", ce qui les rend accessibles par multi-hop, et du flag "browsable by friends" qui permet a vos amis directs de savoir que vous partagez ces fichiers.

Un systeme interne de liens permet de référencer des adresses internes de fichiers (un peu comme un lien e2dk), qu'on peut s'envoyer par mail classique et copier dans la fenetre de transfers.

Retroshare offre un format de fichiers "RsCollection" qui permet de representer une hierarchie de folders. RetroShare sait ouvrir ces fichiers et recuperer les fichiers de la liste pour les organiser dans un repertoire.

Les services

RetroShare propose plusieurs services en plus du partage de fichiers:

  • Le chat permet de discuter avec vos contacts. Il supporte le drag-and-drop de fichiers. Le group chat permet une discussion plus commune: tous les gens connectes recoivent vos messages. Attention, cela ne signifie pas qu'ils puissent s'echanger des messages entre eux, a moins qu'ils soient amis.
  • Les forums internes permettent des discussions suivies avec vos amis, mais aussi avec les amis de vos amis. Chaque personne qui souscrit a un forum propage automatiquement son contenu a ses propres amis. La popularité des forums indique le nombre de personnes abonnées parmi vos amis:

0 = icône 0 | 1-7 = icône 1 | 8-15 = icône 2 | 16-24 = icône 3 | 25-34 = icône 4 | >34 = icône 5 |
Il existe des forums "anonymes", qui sont vraiment anonymes, et des forums "autentifies" ou les messages sont signes par la clef PGP de la personne qui y ecrit. Cela permet d'eviter le spamming.

  • Les channels sont un type de forum particulier: quand on s'abonne a un channel, on recois automatiquement les fichiers qui sont postes dessus. Pour augmenter la securite de ce service, poster sur un channel necessite une clef. Le createur du channel a la clef, et peut eventuellement la partager avec ses amis pour leur permettre de poster dessus. Il existe egalement des channels prives, ou une seconde clef est necessaire pour lire le contenu du channel.
  • un systeme de messagerie privée, fonctionne un peu comme une boite au lettres de mails. Il permet également de recommander un fichier ou un ami, à un de vos amis.

Conseils

  • Soyez patient lorsque vous connectez quelqu'un pour la premiere fois. A cause des routeurs et autres firewalls, ca peut prendre quelques minutes pour se connecter. En general, des que les clefs sont signees, la connexion est instantanee.
  • Il est assez facile de recruter des peers. Proposez le a vos amis. En revanche il y a peu de chance qu'une personne que vous avez rencontrée sur le Net accepte de signer votre clef. C'est la base de la sécurité.
  • Si l'on partage ses fichiers de maniere anonyme (le flag browsable by friends est desactive), meme vos amis ne peuvent savoir ce que vous partagez.
  • RetroShare effectue un hash SHA1 des fichiers que vous partagez. Il faut compter 30 min de hash pour 250Go environ.
  • RetroShare utilise une technologie (upnp) qui permet de traverser les routeurs et certains firewalls. Votre connectivité sera cependant meilleure si vous routez le port d'ecoute de RetroShare en UDP+TCP sur votre PC. Pour eviter le tracking des ports par les FAI, le port par defaut change d'une location a l'autre. Le port utilise est indique dans config→server. Vous pouvez vous meme lui donner la valeur que vous voulez entre 1024 et 65535.

Sauvegarde et importation

En cas de changement de système, vous n'aurez besoin que de sauvegarder votre clef PGP (votre identité), ainsi que les clefs de vos amis. Toutes ces clefs sont dans votre keyring PGP, qui est géré par votre distribution ubuntu préférée. Il se trouve dans le répertoire ~/.gnupg.

Pour exporter une seule clef publique+privée, on peut également utiliser la commande suivante dans un terminal:

gpg --homedir ./.retroshare/pgp --keyring ./.retroshare/pgp/retroshare_public_keyring.gpg --secret-keyring ./.retroshare/pgp/retroshare_secret_keyring.gpg -a --export KeyID > key.asc ; gpg --homedir ./.retroshare/pgp --keyring ./.retroshare/pgp/retroshare_public_keyring.gpg --secret-keyring ./.retroshare/pgp/retroshare_secret_keyring.gpg -a --export-secret-keys KeyID >> key.asc

… en remplaçant "KeyID" par l'ID ou le nom de votre clef. On peut ensuite importer cette clef sur une autre machine en faisant:

gpg --homedir ./.retroshare/pgp --keyring ./.retroshare/pgp/retroshare_public_keyring.gpg --secret-keyring ./.retroshare/pgp/retroshare_secret_keyring.gpg --import key.asc

Vous pourrez créer une nouvelle location sur la nouvelle machine sans perdre vos amis. Il suffira de faire ami dans le tab Network avec les clefs de vos amis qui doivent s'y trouver, et qui sont déjà signées par votre clef.

Voir aussi


retroshare.txt · Dernière modification: Le 02/02/2014, 13:08 par Bixo358
Le contenu de ce wiki est sous licence : CC BY-SA v3.0