Vydání Yggdrasil 0.4, implementace privátní sítě běžící na internetu

Bylo zveřejněno vydání referenční implementace protokolu Yggdrasil 0.4, která umožňuje nasadit samostatnou decentralizovanou privátní IPv6 síť nad běžnou globální síť, která využívá end-to-end šifrování k ochraně důvěrnosti. Všechny existující aplikace, které podporují IPv6, lze použít k práci prostřednictvím sítě Yggdrasil. Implementace je napsána v Go a distribuována pod licencí LGPLv3. Podporovány jsou platformy Linux, Windows, macOS, FreeBSD, OpenBSD a Ubiquiti EdgeRouter.

Yggdrasil vyvíjí nový koncept směrování s cílem vytvořit globální decentralizovanou síť, uzly, ve kterých se mohou vzájemně propojovat přímo v režimu mesh sítě (například přes Wi-Fi nebo Bluetooth), nebo interagovat přes stávající sítě IPv6 nebo IPv4 (síť na vrchol sítě). Charakteristickým rysem Yggdrasil je samoorganizace práce, bez nutnosti explicitně konfigurovat směrování - informace o trasách se vypočítávají na základě umístění uzlu v síti vzhledem k ostatním uzlům. Zařízení jsou adresována přes běžnou IPv6 adresu, která se nemění, pokud se uzel pohne (Yggdrasil používá nepoužívaný rozsah adres 0200::/7).

Na celou síť Yggdrasil není nahlíženo jako na sbírku nesourodých podsítí, ale jako na jediný strukturovaný strom s jedním „kořenem“ a každý uzel má jednoho rodiče a jednoho nebo více potomků. Taková stromová struktura umožňuje vytvořit cestu k cílovému uzlu vzhledem ke zdrojovému uzlu pomocí mechanismu „lokátoru“, který určuje optimální cestu k uzlu z kořene.

Informace o stromech jsou distribuovány mezi uzly a nejsou uloženy centrálně. Pro výměnu směrovacích informací se používá distribuovaná hashovací tabulka (DHT), prostřednictvím které může uzel získat všechny informace o cestě do jiného uzlu. Síť sama o sobě poskytuje pouze end-to-end šifrování (přepravní uzly nemohou určit obsah), ale ne anonymitu (při připojení přes internet mohou kolegové, s nimiž probíhá přímá interakce, určit skutečnou IP adresu, takže pro anonymitu je navrženo pro připojení uzlů přes Tor nebo I2P).

Je třeba poznamenat, že přestože je projekt ve fázi vývoje alfa, je již dostatečně stabilní pro každodenní použití, ale nezaručuje zpětnou kompatibilitu mezi vydáními. Pro Yggdrasil 0.4 komunita podporuje sadu služeb, včetně platformy pro hostování linuxových kontejnerů pro hostování jejich stránek, vyhledávač YaCy, komunikační server Matrix, IRC server, DNS, VoIP systém, BitTorrent tracker, mapa bodů připojení, IPFS brána a proxy pro přístup k sítím Tor, I2P a clearnet.

V nové verzi:

  • Bylo implementováno nové schéma směrování, které není kompatibilní s předchozími verzemi Yggdrasil.
  • Při navazování připojení TLS s hostiteli je zahrnuta vazba veřejného klíče (připnutí klíče). Pokud na připojení nebyla žádná vazba, bude výsledný klíč přiřazen k připojení. Pokud byla vytvořena vazba, ale klíč se s ní neshoduje, připojení bude odmítnuto. TLS s vázáním kláves je definován jako doporučená metoda pro připojení k peerům.
  • Kód pro směrování a správu relací byl zcela přepracován a přepsán, což umožňuje zvýšenou propustnost a spolehlivost, zejména pro uzly, které často mění partnery. Kryptografické relace implementují pravidelné střídání klíčů. Přidána podpora pro směrování zdroje, které lze použít k přesměrování uživatelského provozu IPv6. Přepracovaná architektura distribuovaných hashovacích tabulek (DHT) a přidána podpora pro směrování založené na DHT. Implementace směrovacích algoritmů byla přesunuta do samostatné knihovny.
  • IP adresy IPv6 jsou nyní generovány z veřejných klíčů ed25519 spíše než z jejich X25519 hash, což způsobí, že se při přechodu na verzi Yggdrasil 0.4 změní všechny interní IP adresy.
  • Byla poskytnuta další nastavení pro vyhledávání vrstevníků Multicast.

Zdroj: opennet.ru

Přidat komentář