Le comité IETF (Internet Engineering Task Force), qui s'occupe du développement des protocoles et de l'architecture d'Internet, a lancé le processus de standardisation du systÚme de noms de domaine GNS (GNU Name System), développé par le projet comme un remplacement totalement décentralisé et immunisé contre la censure du DNS. Actuellement le premier brouillon de la norme, aprÚs stabilisation, deviendra un RFC ayant le statut de « norme proposée ».
peut ĂȘtre utilisĂ© en parallĂšle avec le DNS et utilisĂ© dans des applications traditionnelles telles que les navigateurs web. L'intĂ©gritĂ© et l'immuabilitĂ© des enregistrements sont assurĂ©es par des mĂ©canismes cryptographiques. Contrairement au DNS, GNS utilise un graphe dirigĂ© au lieu d'une hiĂ©rarchie d'arbres de serveurs. La transformation des noms est similaire Ă celle du DNS, mais les requĂȘtes et les rĂ©ponses sont traitĂ©es en prĂ©servant la confidentialitĂ© â le nĆud traitant la requĂȘte ne sait pas Ă qui la rĂ©ponse est envoyĂ©e, et les nĆuds intermĂ©diaires ainsi que les observateurs externes ne peuvent pas dĂ©chiffrer les requĂȘtes et les rĂ©ponses.
Une zone DNS dans GNS est dĂ©finie Ă l'aide d'une paire de clĂ©s publique et privĂ©e basĂ©e sur des courbes elliptiques . L'utilisation de Curve25519 est considĂ©rĂ©e par certains comme un choix plutĂŽt Ă©trange, car d'autres types de courbes elliptiques sont utilisĂ©s pour l'ECDSA, tandis qu'en combinaison avec Curve25519, on utilise gĂ©nĂ©ralement un algorithme de signature numĂ©rique , , plus sĂ©curisĂ© et plus rapide que l'ECDSA. En ce qui concerne la sĂ©curitĂ© cryptographique, le choix de la taille de la clĂ© soulĂšve Ă©galement des questions â 32 octets au lieu de 64 octets, gĂ©nĂ©ralement utilisĂ©s pour Ed25519, ainsi que l'utilisation de , en utilisant les algorithmes AES et TwoFish en mode CFB.
Cette approche est expliquĂ©e par la nĂ©cessitĂ© de mettre en Ćuvre des clĂ©s hiĂ©rarchiques, permettant d'utiliser la clĂ© publique racine pour extraire la clĂ© publique enfant, grĂące Ă la propriĂ©tĂ© de linĂ©aritĂ© de la courbe Curve25519. Cette caractĂ©ristique permet d'obtenir des clĂ©s publiques enfants sans connaĂźtre les clĂ©s privĂ©es racines. La technique est Ă©galement utilisĂ©e dans Bitcoin. La taille de 32 octets pour la clĂ© a Ă©tĂ© choisie afin que la clĂ© tienne dans un seul enregistrement DNS.
Il convient Ă©galement de noter framework , destinĂ© Ă la crĂ©ation de rĂ©seaux P2P dĂ©centralisĂ©s et protĂ©gĂ©s. Les rĂ©seaux créés avec GNUnet ne disposent pas d'un point de dĂ©faillance unique et peuvent garantir la confidentialitĂ© des informations des utilisateurs, empĂȘchant ainsi les abus potentiels de la part des services de sĂ©curitĂ© et des administrateurs ayant accĂšs aux nĆuds du rĂ©seau. Cette version est marquĂ©e par des changements significatifs dans le protocole, compromettant la compatibilitĂ© 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 (ami Ă ami). Le contournement du NAT est Ă©galement pris en charge, y compris en utilisant UPnP et ICMP. Pour l'adressage du placement des donnĂ©es, une table de hachage distribuĂ©e (DHT) peut ĂȘtre utilisĂ©e. Des moyens sont fournis pour dĂ©ployer des rĂ©seaux maillĂ©s. Pour l'octroi sĂ©lectif et le retrait des droits d'accĂšs, le service d'Ă©change dĂ©centralisĂ© d'attributs d'identification est utilisĂ©. , GNS (GNU Name System) et le cryptage basĂ© sur les attributs ().
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.
En plus de GNS, plusieurs applications prĂȘtes Ă l'emploi se dĂ©veloppent Ă©galement sur la base des technologies GNUnet :
- 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.
- Un systÚme VPN pour créer des services cachés dans le domaine «.gnu» et établir des tunnels IPv4 et IPv6 au-dessus d'un réseau P2P. En outre, il prend en charge les schémas de translation IPv4-en-IPv6 et IPv6-en-IPv4, ainsi que la création de tunnels IPv4-sur-IPv6 et IPv6-sur-IPv4.
- Le service GNUnet Conversation pour passer des appels vocaux sur GNUnet. GNS est utilisé pour identifier les utilisateurs, et le contenu de la circulation vocale est transmis sous forme cryptée. L'anonymat n'est pas encore garanti : d'autres pairs peuvent suivre la connexion entre deux utilisateurs et déterminer leurs adresses IP.
- Une plateforme pour la crĂ©ation de rĂ©seaux sociaux dĂ©centralisĂ©s. , utilisant le protocole et prenant en charge la distribution de notifications en mode multicast avec un chiffrement de bout en bout afin que seuls les utilisateurs autorisĂ©s (ceux Ă qui les messages ne sont pas adressĂ©s, y compris les administrateurs des nĆuds, ne puissent les lire) aient accĂšs aux messages, fichiers, discussions et dĂ©bats ;
- Un systÚme pour organiser des emails cryptés. , appliquant GNUnet pour protéger les métadonnées et prenant en charge différents pour la vérification des clés ;
- Un systÚme de paiement , offrant l'anonymat aux acheteurs tout en suivant les transactions des vendeurs pour garantir la transparence et fournir des rapports fiscaux. La prise en charge de diverses devises existantes et des monnaies électroniques est assurée, y compris les dollars, les euros et les bitcoins.
Les principales nouveautés de GNUnet 0.13 :
- Mise en service du registre (Autorité des Numéros Assignés GNUnet), responsable de l'attribution de noms et d'adresses pour GNUnet.
- La mise en Ćuvre du systĂšme dĂ©centralisĂ© de noms de domaine GNS a Ă©tĂ© conformisĂ©e avec , proposĂ©e au sein de l'IETF. Le fonctionnement du plugin NSS «block» a Ă©tĂ© Ă©tabli. De nouveaux drapeaux SUPPLEMENTAL ont Ă©tĂ© ajoutĂ©s pour les enregistrements qui ne sont pas explicitement publiĂ©s sous l'Ă©tiquette donnĂ©e, mais qui sont retournĂ©s par le rĂ©solveur. Avertissement ajoutĂ© Ă l'utilitaire gnunet-namestore lors de l'ajout d'enregistrements TLSA ou SRV en dehors de l'enregistrement .
- Dans le mécanisme de révocation des clés (GNS/REVOCATION), la fonction a été adaptée pour utiliser 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, utilisant le protocole UDP pour le transfert de données, a été déplacé dans la catégorie expérimentale en raison de problÚmes de stabilité ;
- Le format des fichiers de clés et la méthode de sérialisation des clés privées ECDSA ont été unifiés avec d'autres bibliothÚques (les anciennes clés cesseront de fonctionner).
- La bibliothĂšque utilisĂ©e pour la mise en Ćuvre des algorithmes de chiffrement basĂ©s sur des courbes elliptiques a Ă©tĂ© intĂ©grĂ©e .
- Ajout de la possibilité de compiler des utilitaires avec une bibliothÚque cURL non liée à gnutls.
- Le serveur d'intégration continue a été rétabli. .
- Les bibliothÚques libmicrohttpd, libjansson et libsodium ont été ajoutées aux dépendances de construction.
Source : opennet.ru
