Sortie de la plateforme GNUnet P2P 0.13. Promouvoir GNS comme norme Internet

L'IETF (Internet Engineering Task Force), qui développe les protocoles et l'architecture Internet, a entamé le processus de normalisation du système de noms de domaine GNS (GNU Name System) développé par le projet. GNUnetGenericName comme remplacement du DNS complètement décentralisé et résistant à la censure. Maintenant publié le premier projet de norme, après stabilisation duquel une RFC sera constituée, qui aura le statut de « Proposed Standard ».

GPS peut être utilisé côte à côte avec DNS et utilisé dans des applications traditionnelles telles que les navigateurs Web. L'intégrité et l'immuabilité des enregistrements sont assurées grâce à l'utilisation de mécanismes cryptographiques. Contrairement au DNS, GNS utilise un graphe orienté au lieu d’une hiérarchie de serveurs arborescente. La résolution de noms est similaire au DNS, mais les demandes et les réponses sont effectuées de manière confidentielle : le nœud qui traite la demande ne sait pas à qui la réponse est envoyée, et les nœuds de transit et les observateurs tiers ne peuvent pas déchiffrer les demandes et les réponses.

La zone DNS dans GNS est déterminée à l'aide d'un ensemble de clés publiques et privées ECDSA basé sur des courbes elliptiques Curve25519. Utilisation de la courbe25519 perçu certains considèrent cela comme une étape très étrange, car pour ECDSA, ils utilisent d'autres types de courbes elliptiques, et lorsqu'ils sont associés à Curve25519, ils utilisent généralement un algorithme de signature numérique Ed25519, plus moderne, plus sécurisé et plus rapide que ECDSA. Du point de vue de la force cryptographique, le choix de la taille de clé est également discutable - 32 octets au lieu de 64 octets, habituellement utilisés pour Ed25519, ainsi que l'utilisation Cascade cryptage symétrique utilisant les algorithmes AES et TwoFish en mode CFB.

Cette approche s'explique par la nécessité d'implémenter des clés hiérarchiques, permettant d'utiliser la clé publique racine pour extraire une clé publique enfant, profitant de la propriété de linéarité de Curve25519. Cette fonctionnalité vous permet d'obtenir des clés publiques enfants sans connaître les clés racine privées. Cette technique est également applique en Bitcoin. La taille de clé de 32 octets a été choisie pour permettre à la clé de tenir dans un seul enregistrement DNS.

De plus, on peut noter nouveau numéro cadre GNUnet 0.13, conçu pour créer des réseaux P2P décentralisés sécurisés. Les réseaux créés à l'aide de GNUnet n'ont pas de point de défaillance unique et sont capables de garantir l'inviolabilité des informations privées des utilisateurs, notamment en éliminant les éventuels abus de la part des services de renseignement et des administrateurs ayant accès aux nœuds du réseau. La version est signalée comme contenant des modifications de protocole importantes qui rompent la compatibilité ascendante avec les versions 0.12.x.

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). La traversée NAT est prise en charge, notamment en utilisant UPnP et ICMP. Pour gérer le placement des données, il est possible d'utiliser une table de hachage distribuée (DHT). Des outils de déploiement de réseaux maillés sont fournis. Pour accorder et révoquer sélectivement les droits d'accès, un service d'échange d'attributs d'identification décentralisé est utilisé récupérer une pièce d'identité, en utilisant GNS (GNU Name System) et chiffrement basé sur les attributs (Chiffrement basé sur les attributs).

Le système présente une faible consommation de ressources et utilise une architecture multi-processus pour assurer l'isolation entre les composants. Des outils flexibles sont fournis pour conserver les journaux et collecter des statistiques. Pour développer des applications finales, GNUnet fournit une API pour le langage C et des liaisons pour d'autres langages de programmation. Pour simplifier le développement, il est proposé d'utiliser des boucles d'événements et des processus au lieu de threads. Il comprend une bibliothèque de tests pour le déploiement automatique de réseaux expérimentaux couvrant des dizaines de milliers de pairs.

En plus de GNS, plusieurs applications prêtes à l'emploi sont également en cours de développement basées sur les technologies GNUnet :

  • Un service de partage de fichiers anonyme, qui ne permet pas d'analyser les informations dues au transfert de données uniquement sous forme cryptée et ne permet pas de savoir qui a posté, recherché et téléchargé des fichiers grâce à l'utilisation du protocole GAP.
  • Système VPN permettant de créer des services cachés dans le domaine « .gnu » et de transférer des tunnels IPv4 et IPv6 sur un réseau P2P. De plus, les schémas de traduction IPv4 vers IPv6 et IPv6 vers IPv4 sont pris en charge, ainsi que la création de tunnels IPv4 sur IPv6 et IPv6 sur IPv4.
  • Service de conversation GNUnet pour passer des appels vocaux via GNUnet. GNS est utilisé pour identifier les utilisateurs ; le contenu du trafic vocal est transmis sous forme cryptée. L'anonymat n'est pas encore assuré - d'autres pairs peuvent suivre la connexion entre deux utilisateurs et déterminer leurs adresses IP.
  • Plateforme de création de réseaux sociaux décentralisés Sécushare, en utilisant le protocole PSYC et prendre en charge la distribution de notifications en mode multicast en utilisant un cryptage de bout en bout afin que seuls les utilisateurs autorisés puissent accéder aux messages, fichiers, chats et discussions (ceux à qui les messages ne sont pas adressés, y compris les administrateurs de nœuds, ne pourront pas les lire );
  • Système d'organisation du courrier électronique crypté Intimité assez facile, qui utilise GNUnet pour la protection des métadonnées et prend en charge divers protocoles cryptographiques pour la vérification des clés ;
  • Système de paiement Taler GNU, qui assure l'anonymat des acheteurs mais suit les transactions des vendeurs à des fins de transparence et de déclaration fiscale. Il prend en charge le travail avec diverses devises et monnaie électronique existantes, notamment les dollars, les euros et les bitcoins.

Nouvelles fonctionnalités majeures de GNUnet 0.13 :

  • Le registre a été mis en service GAGNER (GNUnet Assigned Numbers Authority), responsable de l'attribution des noms et adresses pour GNUnet.
  • La mise en œuvre du système de noms de domaine décentralisé GNS est alignée sur spécification, proposé par l'IETF. Le « bloc » du plugin NSS a été amélioré. Ajout de nouveaux indicateurs SUPPLÉMENTAIRES pour les enregistrements qui ne sont pas explicitement publiés sous l'étiquette donnée, mais qui sont renvoyés par le résolveur. Ajout d'un avertissement à l'utilitaire gnunet-namestore lors de l'ajout d'entrées TLSA ou SRV en dehors de l'entrée BOX.
  • Dans le mécanisme de révocation de clé (GNS/REVOCATION), la fonction preuve de travail réalisé est passé à l'algorithme de hachage Argon2.
  • Dans le service d'échange décentralisé d'attributs d'identification (RECLAIM), la taille du ticket a été augmentée à 256 bits.
  • Le plugin de transport, qui utilise le protocole UDP pour le transfert de données, a été déplacé vers la catégorie expérimentale en raison de problèmes de stabilité ;
  • Le format de fichier de clé ECDSA et la méthode de sérialisation de clé privée sont unifiés avec d'autres bibliothèques (les anciennes clés ne fonctionneront plus).
  • La bibliothèque est utilisée comme implémentation d'algorithmes de chiffrement basés sur des courbes elliptiques libsodium.
  • Ajout de la possibilité de créer des utilitaires avec la bibliothèque cURL, non liés à gnutls.
  • Serveur d'intégration continue renvoyé Robot de construction.
  • Les dépendances de build incluent libmicrohttpd, libjansson et libsodium.

Source: opennet.ru

Ajouter un commentaire