RetroShare
Retroshare est un logiciel libre de pair à pair privé créant un réseau informatique (plus exactement un réseau overlay) acentré. Il permet (de façon chiffrée) : partage de fichiers en pair à pair, courrier électronique sans serveur, messagerie instantanée, salons de discussion, forums.
Développé par | RetroShare-Team[1] |
---|---|
Première version | 2006[2] |
Dernière version | 0.6.6 ()[3] |
Dépôt | github.com/RetroShare/RetroShare |
Assurance qualité | Intégration continue |
État du projet | En développement actif |
Écrit en | Qt (C++) |
Interface | Qt |
Système d'exploitation | Microsoft Windows, GNU/Linux et macOS |
Environnement | Multiplate-forme (GNU/Linux, OS X, Windows, FreeBSD) |
Langues | Multilingue |
Type | Pair à pair, Messagerie instantanée, Darknet |
Politique de distribution | Gratuit |
Licence | GPL v3 |
Site web | retroshare.github.io |
Il est doté d'une interface graphique réalisée avec Qt5, disponible sur Windows, macOS et GNU/Linux. La gestion et l'authentification des amis s'effectue par l'intermédiaire du système de clés de chiffrement au format GNU Privacy Guard.
En 2013, le site web prism-break.org recommande RetroShare[4] (parmi d'autres logiciels).
Le nombre d'utilisateurs simultanés est, en , de plus de 5 800[5].
Authentification et connexion
Après l'installation, RetroShare génère une paire de clés de chiffrement GPG (GNU Privacy Guard) (technologie utilisant la cryptographie asymétrique) servant à l'identification du propriétaire des nœuds du réseau RetroShare gérés par l'utilisateur. Le système de signatures associé à la technologie GnuPg permet de témoigner du niveau de confiance de chaque participant pour ses amis. Les connexions entre amis sont chiffrées par OpenSSL, et seuls les paires d'amis l'ayant explicitement autorisé peuvent se connecter entre eux.
La gestion du réseau est confiée à l'utilisateur, qui décide lui-même quelles personnes il inclut dans son cercle d'amis. Une première connexion nécessite donc l'échange d'une paire de clefs. Ensuite, un service de RetroShare gère la mise à disposition des clefs publiques d'amis, ce qui permet de constituer un cercle de correspondants.
Les adresses IP des amis sont récupérées de différentes manières : par une DHT (distributed Hash Table partagée avec le réseau BitTorrent), mais aussi par propagation chez les amis communs. Ces deux fonctionnalités sont optionnelles. Les désactiver permet de transformer le réseau RetroShare en un Darknet.
Partage de fichiers
RetroShare permet de partager des fichiers sous forme de listes (appelées collections).
Le transfert de fichier s'effectue soit directement entre amis, soit par l'intermédiaire de tunnels anonymes pouvant relier des personnes séparées par une chaine d'amis. Il s'agit d'une implémentation de l'algorithme de Turtle Hopping[6] (traduction : « saute tortue ») issu du projet Turtle F2F (mais implémenté différemment). Les fichiers sont représentés par leur condensat, ou hash (hachage), SHA1, et un système de liens permet d'exporter ou d'importer des références vers les fichiers partagés. Les amis avec lesquels vous êtes connectés directement et via lesquels les données sont transmises, ne peuvent pas comprendre, si vous demandez à télécharger un fichier ou même de le transmettre à d'autres amis.
Communication
RetroShare offre plusieurs services permettant aux utilisateurs de RetroShare de communiquer entre eux :
- des salons de discussion publics/privés permettant la discussion instantanée en groupe (type IRC mais plus simple d'emploi)
- une fonction messagerie instantanée privée ou en groupe ;
- une fonction courrier électronique ;
- des forums internes anonymes ou signés ;
- ainsi qu'un système de chaînes de diffusion - inspirées du format de données RSS - qui permettent aux personnes qui y souscrivent de télécharger automatiquement les données qui y sont postées. Le contenu de ces chaînes est automatiquement supprimé après quelques mois.
Interface utilisateur
Le cœur de RetroShare est une bibliothèque logicielle qui gère la couche de cryptographie, l'authentification des amis, ainsi qu'un système de fichiers cache sur lequel sont basés les différents services : forums, messages, etc.
Il existe deux interfaces utilisateur (lesquelles sont connectées au cœur de RetroShare) :
- l'une très basique, en interface en ligne de commande, permet toutefois de lancer RetroShare à distance ;
- l'autre est une interface graphique implémentée en Qt4, et dotée de fonctionnalités classiques : recherche de fichiers, transferts, etc. Ainsi que de divers systèmes de visualisation graphique du réseau proche, de la liste des amis et de leur clef GPG.
Sécurité et anonymat
La sécurité des échanges d'un réseau RetroShare est assurée par de la cryptographie asymétrique RSA 2048 bits, et par le fait que seules les personnes autorisées peuvent échanger des informations avec le client. Toutes les communications étant chiffrées, il est impossible d'identifier ce qui est transféré.
Afin de permettre au réseau de s'agrandir, RetroShare offre la possibilité à vos amis de se connaître. Ainsi, quand on se connecte chez un ami, on récupère les clefs publiques des amis directs de cette personne. Cela ne permet cependant ni de savoir ce que ces personnes mettent à disposition, ni d'échanger des fichiers avec eux : il faut pour cela que ces amis signent à leur tour votre clef, et autorisent la connexion. Seules les clefs des amis de premier niveau sont propagées, et elles ne le sont qu'à destination des amis directs. Cette fonctionnalité est d'autre part optionnelle. Il n'y a donc pas de propagation incontrôlée de clefs sur le réseau.
Liste des caractéristiques
- Rechercher des amis
- Rechercher des fichiers
- Transmission de données chiffré de messages de type tchat, de courrier électronique, de fichiers, sans utiliser un serveur
- Stockage des messages (tchat et courrier électronique)
- Le tchat propose 54 émoticônes (des smileys par exemple)
- Conversation de groupe (salon de discussion)
- Le chiffrement OpenSSL
- Interface utilisateur graphique créée en utilisant la boîte à outils Qt4
- Une interface utilisateur personnalisable
- Multilingue : actuellement neuf langues sont prises en charge ; d'autres suivront.
- Intégration dans la barre des tâches
- Support de modules (plugins)
- UPnP / NAT-PMP : redirection de ports
- Vue d'ensemble de tous les fichiers partagés
- Les données anonymes partagées avec vos amis
- Plusieurs chargements(téléchargements descendants) et/ou déchargements (téléchargements montants) simultanés
- Reprise des chargements/déchargements après avoir quitté le programme
- Chargement simultané à partir de plusieurs sources (Segmented file transfer (en))
- Essaimage : redistribution d'un fichier avant qu'il ne soit complètement chargé
- Collections : chargement/déchargement groupé de plusieurs fichiers
- Ajout des chargements via des liens webs (à la manière de Magnet (standard))
- Forums chiffrés
- Prise en charge des chaînes chiffrées
- Les amis directs peuvent être recommandés à d'autres amis directs
- Aperçu des statistiques de routeur interne
- Assistant de démarrage rapide (pour une installation rapide et facile du logiciel RetroShare)
- Localisation par IP-IP via table de hachage distribuée
- Réglage (en avant) et les ports du routeur est automatiquement hérité de RetroShare.[pas clair]
Notes et références
- Cet article est partiellement ou en totalité issu de l'article intitulé « Retroshare Instant Messenger » (voir la liste des auteurs).
- http://retroshare.sourceforge.net/developers.html
- (en) RetroShare aims to be a private F2F social network. 2010
- « Release 0.6.6 », (consulté le )
- http://prism-break.org/#fr
- « Retroshare dev team on Twitter », sur Twitter (consulté le ).
- « Retroshare, le partage de fichiers crypté et sécurisé », sur Korben, (consulté le ).
Voir aussi
Articles connexes
Projets polyvalents semblables
Liens externes
- (fr) Site web officiel
- (fr) Wiki officiel
- (fr) Wiki non officiel, hébergé sur Wikidot
- (en) Blog de développement (tenus par les développeurs)
- (en) http://interface.sf.net - InterFace Clone App du RetroShare
- Portail des logiciels libres
- Portail de la cryptologie