Rilascio di Yggdrasil 0.4, un'implementazione di rete privata in esecuzione su Internet

È stato pubblicato il rilascio dell'implementazione di riferimento del protocollo Yggdrasil 0.4, che consente di implementare una rete IPv6 privata decentralizzata separata sopra una normale rete globale, che utilizza la crittografia end-to-end per proteggere la riservatezza. Qualsiasi applicazione esistente che supporti IPv6 può essere utilizzata per funzionare attraverso la rete Yggdrasil. L'implementazione è scritta in Go e distribuita sotto la licenza LGPLv3. Sono supportate le piattaforme Linux, Windows, macOS, FreeBSD, OpenBSD e Ubiquiti EdgeRouter.

Yggdrasil sta sviluppando un nuovo concetto di routing per creare una rete globale decentralizzata, i cui nodi possono connettersi direttamente tra loro in modalità rete mesh (ad esempio, tramite Wi-Fi o Bluetooth), o interagire su reti IPv6 o IPv4 esistenti (rete su parte superiore della rete). Una caratteristica distintiva di Yggdrasil è l'auto-organizzazione del lavoro, senza la necessità di configurare esplicitamente il routing: le informazioni sui percorsi vengono calcolate in base alla posizione del nodo nella rete rispetto ad altri nodi. I dispositivi vengono indirizzati tramite un normale indirizzo IPv6, che non cambia se un nodo si sposta (Yggdrasil utilizza l'intervallo di indirizzi non utilizzato 0200::/7).

L'intera rete Yggdrasil non è vista come una raccolta di sottoreti disparate, ma come un unico spanning tree strutturato con una "radice" e ciascun nodo con un genitore e uno o più figli. Una tale struttura ad albero consente di costruire un percorso verso il nodo di destinazione, rispetto al nodo sorgente, utilizzando il meccanismo del "locatore", che determina il percorso ottimale verso il nodo dalla radice.

Le informazioni sull'albero sono distribuite tra i nodi e non sono archiviate centralmente. Per scambiare informazioni di routing viene utilizzata una tabella hash distribuita (DHT), attraverso la quale un nodo può recuperare tutte le informazioni sul percorso verso un altro nodo. La rete stessa fornisce solo la crittografia end-to-end (i nodi di transito non possono determinare il contenuto), ma non l'anonimato (quando si connette via Internet, i peer con cui viene effettuata l'interazione diretta possono determinare il vero indirizzo IP, quindi per l'anonimato è proposto di connettere i nodi tramite Tor o I2P).

Si noti che nonostante il progetto sia in fase di sviluppo alpha, è già sufficientemente stabile per l'uso quotidiano, ma non garantisce la compatibilità con le versioni precedenti tra le versioni. Per Yggdrasil 0.4, la comunità supporta una serie di servizi, tra cui una piattaforma per ospitare contenitori Linux per ospitare i propri siti, il motore di ricerca YaCy, server di comunicazione Matrix, server IRC, DNS, sistema VoIP, tracker BitTorrent, mappa dei punti di connessione, gateway IPFS e proxy per l'accesso alle reti Tor, I2P e Clearnet.

Nella nuova versione:

  • È stato implementato un nuovo schema di routing che non è compatibile con le versioni precedenti di Yggdrasil.
  • Quando si stabiliscono connessioni TLS con gli host, è coinvolta l'associazione della chiave pubblica (key pinning). Se non è stato effettuato alcun collegamento alla connessione, la chiave risultante verrà assegnata alla connessione. Se è stata stabilita un'associazione, ma la chiave non corrisponde, la connessione verrà rifiutata. TLS con associazione di chiavi è definito come il metodo consigliato per la connessione ai peer.
  • Il codice per l'instradamento e la gestione delle sessioni è stato completamente riprogettato e riscritto, consentendo un aumento del throughput e dell'affidabilità, soprattutto per i nodi che cambiano frequentemente peer. Le sessioni crittografiche implementano la rotazione periodica delle chiavi. Aggiunto supporto per il routing di origine, che può essere utilizzato per reindirizzare il traffico IPv6 dell'utente. Architettura DHT (distributed hash table) riprogettata e aggiunto supporto per il routing basato su DHT. L'implementazione degli algoritmi di routing è stata spostata in una libreria separata.
  • Gli indirizzi IP IPv6 ora vengono generati dalle chiavi pubbliche ed25519 anziché dal loro hash X25519, il che causerà la modifica di tutti gli IP interni quando si passa alla versione Yggdrasil 0.4.
  • Sono state fornite impostazioni aggiuntive per la ricerca di peer multicast.

Fonte: opennet.ru

Aggiungi un commento