La version 0.5 d'Yggdrasil, une implémentation d'un réseau privé fonctionnant sur Internet

AprĂšs plus de deux annĂ©es de dĂ©veloppement, une version de rĂ©fĂ©rence du protocole Yggdrasil 0.5 a Ă©tĂ© publiĂ©e, permettant de dĂ©ployer un rĂ©seau IPv6 privĂ© dĂ©centralisĂ© au-dessus d'un rĂ©seau global standard, afin de protĂ©ger la vie privĂ©e, utilisant le chiffrement de bout en bout. Tous les applications existantes prenant en charge IPv6 peuvent ĂȘtre utilisĂ©es dans le rĂ©seau Yggdrasil. L'implĂ©mentation est Ă©crite en Go et est distribuĂ©e sous la licence LGPLv3. Les plateformes prises en charge incluent Linux, OpenWRT, Windows, macOS, FreeBSD, OpenBSD, VyOS et Ubiquiti EdgeRouter.

Yggdrasil dĂ©veloppe un nouveau concept de routage pour crĂ©er un rĂ©seau dĂ©centralisĂ© global, oĂč les nƓuds peuvent se connecter directement entre eux en mode rĂ©seau maillĂ© (par exemple, via Wi-Fi ou Bluetooth), ainsi que fonctionner au-dessus des rĂ©seaux IPv6 ou IPv4 existants (un rĂ©seau dans un autre rĂ©seau). Une caractĂ©ristique distinctive de Yggdrasil est l'auto-organisation du fonctionnement, ne nĂ©cessitant aucune configuration explicite de routage — les informations sur les itinĂ©raires sont calculĂ©es en fonction de la position d'un nƓud dans le rĂ©seau par rapport aux autres nƓuds. Les appareils sont adressĂ©s via une adresse IPv6 standard, qui ne change pas lorsque le nƓud se dĂ©place (Yggdrasil utilise une plage d'adresses non utilisĂ©e 0200::/7).

L'ensemble du rĂ©seau Yggdrasil est considĂ©rĂ© non comme un rassemblement de sous-rĂ©seaux disparates, mais comme un arbre couvrant structurĂ© unique, ayant une « racine », chaque nƓud ayant un parent et un ou plusieurs descendants. Cette structure arborescente permet de construire un itinĂ©raire vers un nƓud de destination par rapport Ă  un nƓud source, en utilisant un mĂ©canisme « locator » qui dĂ©finit le chemin optimal vers le nƓud depuis la racine. Les informations sur l'arbre sont distribuĂ©es entre les nƓuds et ne sont pas stockĂ©es de maniĂšre centralisĂ©e.

Pour se protĂ©ger contre l'analyse du trafic, un chiffrement de bout en bout est appliquĂ© dans le rĂ©seau (les nƓuds de transit ne peuvent pas dĂ©terminer le contenu), mais l'anonymat n'est pas garanti — en se connectant via Internet, les nƓuds pairs avec lesquels une interaction directe a lieu peuvent dĂ©terminer l'adresse IP rĂ©elle. Par consĂ©quent, pour garantir l'anonymat, il est recommandĂ© de connecter les nƓuds via Tor ou I2P.

Bien que le projet soit encore en phase alpha, il est déjà suffisamment stable pour une utilisation quotidienne, sans garantir la compatibilité descendante entre les versions. Pour Yggdrasil, la communauté prend en charge un ensemble de services, y compris une plateforme pour l'hébergement de conteneurs Linux pour d'hébergement ses sites Web, un moteur de recherche YaCy, un serveur de communication Matrix, un serveur IRC, un systÚme DNS, un systÚme VoIP, un tracker BitTorrent, une carte des points de connexion, une passerelle vers IPFS et un proxy pour accéder aux réseaux Tor, I2P et clearnet.

Dans la nouvelle version :

  • Ajout de la possibilitĂ© d'authentification des connexions aux pairs Ă  l'aide d'un mot de passe. Le mot de passe est dĂ©fini via le paramĂštre «password=», par exemple, «tls://a.b.c.d:12345?password=123456abcdef».
  • Ajout de la possibilitĂ© d'utiliser le protocole QUIC, basĂ© sur UDP, pour interagir avec les pairs. Pour utiliser QUIC, il faut spĂ©cifier le schĂ©ma URI quic:// dans les directives Listen et Peers, mais le support de QUIC n'est pas encore aussi bien testĂ© que TCP et TLS.
  • Ajout de l'option PrivateKeyPath permettant de stocker une clĂ© privĂ©e au format PEM, sĂ©parĂ©ment du fichier de configuration principal. Pour exporter la clĂ© dans un fichier distinct, l'option «-exportkey» peut ĂȘtre utilisĂ©e.
  • Mise en Ɠuvre d'un nouveau schĂ©ma de routage, non compatible avec les versions prĂ©cĂ©dentes (les nƓuds avec Yggdrasil 0.5 ne peuvent pas interagir avec les hĂŽtes basĂ©s sur Yggdrasil 0.4), mais rĂ©solvant la plupart des problĂšmes de stabilitĂ© et de scalabilitĂ© prĂ©sents dans la branche 0.4, tout en rĂ©duisant significativement la consommation de mĂ©moire et le trafic en l'absence d'activitĂ© rĂ©seau.

    Dans la nouvelle mise en Ɠuvre, une structure probabiliste de filtre de Bloom est utilisĂ©e pour suivre les relations et les nƓuds. La table de hachage distribuĂ©e (DHT) n'est plus utilisĂ©e pour l'Ă©change de donnĂ©es de routage et l'association des clĂ©s publiques dans un rĂ©seau en arbre.

    Pour maintenir la cohĂ©rence locale et rĂ©duire la dĂ©pendance aux routes vers les nƓuds racine, les nƓuds transmettent dĂ©sormais sĂ©parĂ©ment des informations sur chaque lien, qui sont suivies dans des structures CRDT. Au lieu de la routage d'origine, un routage basĂ© sur un algorithme glouton est utilisĂ© (les requĂȘtes sont dirigĂ©es vers le nƓud voisin le plus proche).

    Les formats utilisés pour l'accord des connexions et la diffusion multicast ont été retravaillés pour une meilleure évolutivité. Le code de gestion des connexions a été refondu pour un suivi plus fiable de l'état des pairs. Un suivi séparé des intervalles entre les reconnections a été mis en place pour chaque pair configuré.

    Pour dĂ©tecter les pannes, plutĂŽt que d'envoyer pĂ©riodiquement des requĂȘtes keepalive isolĂ©es, des messages avec accusĂ© de rĂ©ception du trafic sont utilisĂ©s, permettant d'Ă©liminer le trafic en cas d'inactivitĂ© rĂ©seau (ce qui, par exemple, rĂ©duit la consommation d'Ă©nergie sur les appareils mobiles en Ă©liminant le trafic au repos).

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster