- Mycoria ist ein offenes, sicheres Overlay-Netzwerk, das den freien und experimentierfreudigen Geist des frühen Internets weiterführen will
- Gleichberechtigte Teilhabe, Anonymität und verschlüsselte Kommunikation ohne Überwachung sind die Kernprinzipien, sodass sich jede Person leicht verbinden kann
- Es ist grundsätzlich klein und einfach konzipiert und mit bestehender Infrastruktur (z. B. DNS) kompatibel
- Es bietet Funktionen wie automatische Ende-zu-Ende-Verschlüsselung, smartes Routing, Service Discovery und Unterstützung für .myco-Domains
- Künftig sind auch rotierende private Adressen und Selbstoptimierung des Netzwerks in Entwicklung
Einführung in Mycoria
- Mycoria ist ein offenes, sicheres Overlay-Netzwerk, das alle Teilnehmenden verbindet, mit dem Ziel, den abenteuerlichen und neugierigen Geist des frühen Internets wiederzubeleben
- Es gewährleistet freie Verbindungen zwischen Nutzerinnen und Nutzern und bietet durch Authentifizierung und Verschlüsselung eine Kommunikationsumgebung ohne Überwachung
Grundlegende Philosophie
- Alle Menschen sind gleich: Verbindungen mit jeder Person sind einfach möglich
- Für alle offen: ein offenes Netzwerk ohne Bürokratie
- Keine Überwachung: Alle Kommunikation ist verschlüsselt, und die Nutzung privater Adressen ist möglich
- Keine Hürden: Lässt sich leicht über das Internet oder ein eigenes Mesh-Netzwerk erweitern
Designziele
- Beibehaltung einer kleinen, einfachen Struktur
- Sicherstellung der Kompatibilität mit bestehender Infrastruktur (z. B. DNS)
- Sicherheit als Standard
- Grundlegender Schutz der Privatsphäre (derzeit in Entwicklung)
Wichtige Funktionen
- Automatische Ende-zu-Ende-Verschlüsselung
- Einsatz moderner Kryptografie
- Intelligentes und skalierbares Routing
- Bereitstellung eines Dashboards
- .myco-DNS-Auflösung möglich (Betriebssystemkonfiguration erforderlich)
- Einfache Service Discovery
- Automatische Optimierungs- und Self-Healing-Funktionen für Internet-Overlay-Netzwerke (in Entwicklung)
- Automatische Rotation privater Adressen (in Entwicklung)
Simplicity (Einfachheit)
- Mycoria-Router haben eine ID in Form einer IPv6-Adresse, und diese Adresse ist nicht nur eine einfache Adresse, sondern fungiert auch als gehashter Fingerabdruck des öffentlichen Schlüssels
- Sie wird nach dem Schema Erzeugung eines Ed25519-Schlüsselpaars → öffentlicher Schlüssel → BLAKE3-Hash → Umwandlung in eine IPv6-Adresse erzeugt
- So lassen sich öffentlicher Schlüssel und Adresse in einem einzigen Datenelement zusammenführen, und das bleibt kompatibel mit bestehender Infrastruktur, die IPv6 unterstützt
- In einer Umgebung mit installiertem Mycoria ist 100 % Ende-zu-Ende-Verschlüsselung möglich
Scalable Routing (skalierbares Routing)
- IPv6-Adressen wirken zufällig, haben in Wirklichkeit aber eine Präfixstruktur auf Basis von Ländern und Regionen
- Über länderspezifische Präfixe ist geografische Routing-Optimierung möglich
- Innerhalb des jeweiligen Präfixes wird adressdistanzbasiertes Routing verwendet, bei dem Daten an Router mit naheliegenden Adressen gesendet werden
- Durch Pfadsuche (Source Routing) lassen sich außerdem effiziente Routing-Pfade sicherstellen
Layers (Schichten)
- Beim Empfang von Paketen erfolgt die Verarbeitung zunächst in der Switch-Schicht
- Bei Source-Routing-Paketen ist der gesamte Pfad im Paket-Header enthalten, sodass eine Weiterleitung ohne Lookup in der Routing-Tabelle möglich ist
- Auf Basis von Switch-Labels werden Schnittstellen bestimmt und Übertragungen ausgeführt
- Falls die Verarbeitung in der Switch-Schicht nicht möglich ist, wird an die Routing-Schicht übergeben, die die normale Routing-Verarbeitung übernimmt
Private Address (private Adresse)
- Noch nicht implementiert, aber ein nicht nachverfolgbares System privater Adressen ist in Entwicklung
- Router-IDs sind zwar verschlüsselt, aber dauerhaft; um das auszugleichen, werden nicht routbare private Präfixe eingeführt
- Private Adressen erfordern zwingend die Nutzung von Switch-Labels, und über Discovery-Pakete ist indirektes Lernen von Pfaden möglich
- Empfangende können antworten, indem sie den Label-Pfad zurückverwenden, sodass der Standort der sendenden Seite nicht bekannt sein muss
- Um das Problem zu entschärfen, dass Labels zu viele Informationen preisgeben könnten, werden auch Methoden zur Maskierung von Labels untersucht
Cryptography (Kryptografie)
- Eingesetzte Technologien:
- Curve25519: öffentlicher/privater Schlüssel und Schlüsselaustausch
- Chacha20Poly1305: authentifizierte Verschlüsselung
- BLAKE3: Hashing
- Um künftige Umstellungen auf andere Algorithmen zu ermöglichen, sind Versions- und Typfelder ausreichend vorgesehen
Inspirations (Inspirationsquellen)
- Mycoria ist von Ideen aus den folgenden Open-Source-Projekten inspiriert:
Noch keine Kommentare.