La version 0.16 du framework GNUnet a été présentée, conçue pour établir des réseaux P2P décentralisés sécurisés. Les réseaux créés avec GNUnet n'ont pas de point de défaillance unique et peuvent garantir la confidentialité des informations des utilisateurs, y compris l'élimination des abus potentiels de la part des agences de renseignement et des administrateurs ayant accès aux nœuds du réseau.
GNUnet prend en charge la création de réseaux P2P sur TCP, UDP, HTTP/HTTPS, Bluetooth et WLAN, et peut fonctionner en mode F2F (Friend-to-friend). Le contournement des NAT est pris en charge, y compris par l'utilisation de UPnP et ICMP. Pour l'adressage du stockage de données, il est possible d'utiliser une table de hachage distribuée (DHT). Des outils sont fournis pour le déploiement de réseaux mesh. Pour fournir de manière sélective et révoquer les droits d'accès, un service d'échange décentralisé d'attributs d'identification reclaimID est utilisé, reposant sur GNS (GNU Name System) et sur le chiffrement basé sur des attributs (Attribute-Based Encryption).
Le système se distingue par sa faible consommation de ressources et son utilisation d'une architecture multiprocessus pour assurer l'isolation entre les composants. Des outils flexibles pour la journalisation et la collecte de statistiques sont fournis. Pour le développement d'applications finales, GNUnet offre une API pour le langage C et des bindings pour d'autres langages de programmation. Pour simplifier le développement, il est recommandé d'utiliser des boucles d'événements plutôt que des threads. Il comprend une bibliothèque de test pour le déploiement automatique de réseaux expérimentaux couvrant des dizaines de milliers de pairs.
Plusieurs applications prêtes à l'emploi sont en cours de développement sur la base des technologies GNUnet :
- Le système de noms de domaine GNS (GNU Name System) sert de remplacement complètement décentralisé et résistant à la censure du DNS. Le GNS peut être utilisé en parallèle avec le DNS et intégré dans des applications traditionnelles telles que les navigateurs web. Contrairement au DNS, le GNS utilise un graphe orienté plutôt qu'une hiérarchie arborescente de serveurs. La transformation des noms est similaire à celle du DNS, mais les requêtes et les réponses sont traitées de manière à préserver la confidentialité — le nœud traitant la requête ne sait pas à qui la réponse est destinée, et les nœuds de transit ainsi que les observateurs externes ne peuvent pas déchiffrer les requêtes et les réponses. L'intégrité et l'immuabilité des enregistrements sont garanties grâce à des mécanismes cryptographiques. La zone DNS dans le GNS est définie par une paire de clés ouverte et privée ECDSA basée sur la courbe elliptique Curve25519.
- Un service d'échange de fichiers anonyme qui rend impossible l'analyse des informations en ne transmettant des données que sous forme cryptée et n'autorisant pas de suivre qui a hébergé, recherché ou téléchargé des fichiers grâce à l'utilisation du protocole GAP.
- Le système VPN pour créer des services cachés dans le domaine « .gnu » et faire passer des tunnels IPv4 et IPv6 à travers un réseau P2P. Des schémas de translation de IPv4 en IPv6 et IPv6 en IPv4 sont également pris en charge, ainsi que la création de tunnels IPv4 sur IPv6 et d'IPv6 sur IPv4.
- Le service GNUnet Conversation pour passer des appels vocaux à travers GNUnet. L'identification des utilisateurs se fait par GNS, et le contenu du trafic vocal est transmis sous forme chiffrée. L'anonymat n'est pas encore garanti — d'autres pairs peuvent suivre la connexion entre deux utilisateurs et les identifier. adresses IP.
- Une plateforme pour construire des réseaux sociaux décentralisés Secushare, utilisant le protocole PSYC et prenant en charge la diffusion de notifications en mode multicast avec chiffrage de bout en bout, permettant aux utilisateurs autorisés seulement d'accéder aux messages, fichiers, chats et discussions (les utilisateurs non destinataires, y compris les administrateurs de nœuds, ne pourront pas les lire);
- Un système pour organiser des emails chiffrés pretty Easy privacy, utilisant GNUnet pour protéger les métadonnées et supportant divers protocoles cryptographiques pour la vérification des clés;
- Le système de paiement GNU Taler, qui garantit l'anonymat des acheteurs tout en suivant les transactions des vendeurs pour assurer la transparence et fournir des rapports fiscaux. Il prend en charge des transactions avec différentes monnaies et devises électroniques, y compris les dollars, les euros et les bitcoins.
Les principales nouveautés de GNUnet 0.16 :
- La spécification du système de noms de domaine décentralisé GNS (GNU Name System) a été mise à jour. Un nouveau type d'enregistrements REDIRECT a remplacé les enregistrements CNAME. Un nouveau drapeau d'enregistrement — CRITICAL — a été ajouté pour marquer les enregistrements particulièrement importants, dont l'incapacité de traitement doit entraîner un retour d'erreur dans la résolution de noms. Les opérations d'établissement de tunnels VPN ont été déplacées du résolveur vers des applications, telles que le service DNS2GNS.
- Une option d'authentification des routes par signature numérique a été mise en œuvre dans la table de hachage décentralisée (DHT). Les métriques concernant la longueur des routes ont été traduites pour utiliser l'opération XOR traditionnelle. La spécification des structures de données, des fonctions cryptographiques et des enregistrements de ressources DHT a été mise à jour.
- Le service d'échange décentralisé d'attributs d'identification (RECLAIM) a ajouté la prise en charge des identifiants décentralisés (DID, Decentralized Identifier) et des attestations vérifiables (VC, Verifiable Credentials).
- Pour le système de paiement GNU Taler, la prise en charge des signatures numériques aveugles de Klaus Schnorr a été mise en œuvre (le signataire ne peut pas accéder au contenu).
- Le système de construction assure la génération des fichiers d'en-tête actuels à partir de GANA (GNUnet Assigned Numbers Authority). La compilation à partir de git nécessite désormais la présence de recutils.
Source : opennet.ru
