Veröffentlichung von Yggdrasil 0.4, Implementierung eines privaten Netzwerks, das auf dem Internet läuft

Die Veröffentlichung der Referenzimplementierung des Yggdrasil 0.4-Protokolls wurde veröffentlicht, die es Ihnen ermöglicht, ein separates dezentrales privates IPv6-Netzwerk zusätzlich zu einem regulären globalen Netzwerk bereitzustellen, das zum Schutz der Vertraulichkeit eine Ende-zu-Ende-Verschlüsselung verwendet. Alle vorhandenen Anwendungen, die IPv6 unterstützen, können für die Arbeit über das Yggdrasil-Netzwerk verwendet werden. Die Implementierung ist in Go geschrieben und wird unter der LGPLv3-Lizenz vertrieben. Unterstützt werden die Plattformen Linux, Windows, macOS, FreeBSD, OpenBSD und Ubiquiti EdgeRouter.

Yggdrasil entwickelt ein neues Routing-Konzept, um ein globales dezentrales Netzwerk zu schaffen, dessen Knoten sich im Mesh-Netzwerkmodus direkt miteinander verbinden können (z. B. über Wi-Fi oder Bluetooth) oder über bestehende IPv6- oder IPv4-Netzwerke interagieren können (Netzwerk ein). oben im Netzwerk). Eine Besonderheit von Yggdrasil ist die Selbstorganisation der Arbeit, ohne dass das Routing explizit konfiguriert werden muss – Informationen über Routen werden basierend auf der Position des Knotens im Netzwerk relativ zu anderen Knoten berechnet. Geräte werden über eine reguläre IPv6-Adresse angesprochen, die sich bei einem Knotenwechsel nicht ändert (Yggdrasil nutzt den ungenutzten Adressbereich 0200::/7).

Das gesamte Yggdrasil-Netzwerk wird nicht als eine Ansammlung unterschiedlicher Teilnetzwerke betrachtet, sondern als ein einzelner strukturierter Spannbaum mit einer „Wurzel“, wobei jeder Knoten einen übergeordneten Knoten und einen oder mehrere untergeordnete Knoten hat. Eine solche Baumstruktur ermöglicht es Ihnen, eine Route zum Zielknoten relativ zum Quellknoten zu erstellen, indem Sie den „Locator“-Mechanismus verwenden, der den optimalen Pfad vom Stamm zum Knoten bestimmt.

Bauminformationen werden auf Knoten verteilt und nicht zentral gespeichert. Zum Austausch von Routing-Informationen wird eine Distributed Hash Table (DHT) verwendet, über die ein Knoten alle Informationen über die Route zu einem anderen Knoten abrufen kann. Das Netzwerk selbst bietet nur eine Ende-zu-Ende-Verschlüsselung (Transitknoten können den Inhalt nicht ermitteln), aber keine Anonymität (bei einer Verbindung über das Internet können Peers, mit denen eine direkte Interaktion erfolgt, die tatsächliche IP-Adresse ermitteln, also aus Gründen der Anonymität). vorgeschlagen, Knoten über Tor oder I2P zu verbinden).

Es wird darauf hingewiesen, dass das Projekt, obwohl es sich im Alpha-Entwicklungsstadium befindet, bereits stabil genug für den täglichen Gebrauch ist, jedoch keine Abwärtskompatibilität zwischen Versionen gewährleistet. Für Yggdrasil 0.4 unterstützt die Community eine Reihe von Diensten, darunter eine Plattform zum Hosten von Linux-Containern zum Hosten ihrer Websites, die YaCy-Suchmaschine, einen Matrix-Kommunikationsserver, einen IRC-Server, DNS, ein VoIP-System, einen BitTorrent-Tracker, eine Verbindungspunktkarte und ein IPFS-Gateway und Proxy für den Zugriff auf Tor-, I2P- und Clearnet-Netzwerke.

In der neuen Version:

  • Es wurde ein neues Routing-Schema implementiert, das nicht mit früheren Yggdrasil-Versionen kompatibel ist.
  • Beim Aufbau von TLS-Verbindungen mit Hosts ist die Bindung öffentlicher Schlüssel (Key Pinning) erforderlich. Wenn bei der Verbindung keine Bindung stattgefunden hat, wird der resultierende Schlüssel der Verbindung zugewiesen. Wenn eine Bindung hergestellt wurde, der Schlüssel jedoch nicht mit dieser übereinstimmt, wird die Verbindung abgelehnt. TLS mit Schlüsselbindung ist als empfohlene Methode für die Verbindung zu Peers definiert.
  • Der Code für Routing und Sitzungsverwaltung wurde komplett neu gestaltet und geschrieben, was einen höheren Durchsatz und eine höhere Zuverlässigkeit ermöglicht, insbesondere für Knoten, die häufig den Peer wechseln. Kryptografische Sitzungen implementieren eine periodische Schlüsselrotation. Unterstützung für Quellrouting hinzugefügt, das zum Umleiten des IPv6-Datenverkehrs des Benutzers verwendet werden kann. Neu gestaltete DHT-Architektur (Distributed Hash Table) und zusätzliche Unterstützung für DHT-basiertes Routing. Die Implementierung von Routing-Algorithmen wurde in eine separate Bibliothek verschoben.
  • IPv6-IP-Adressen werden jetzt aus öffentlichen ed25519-Schlüsseln und nicht aus ihrem X25519-Hash generiert, was dazu führt, dass sich alle internen IPs ändern, wenn auf die Version Yggdrasil 0.4 umgestellt wird.
  • Für die Suche nach Multicast-Peers wurden zusätzliche Einstellungen bereitgestellt.

Source: opennet.ru

Kommentar hinzufügen