- Ein kryptografiebasierter Networking-Stack, der auf verschiedenen Medien wie LoRa, Packet Radio und WiFi funktioniert und auch in Umgebungen mit extrem niedriger Geschwindigkeit und hoher Latenz stabile Kommunikation unterstützt
- Enthält sicherheitsorientierte Funktionen wie Ende-zu-Ende-Verschlüsselung, Anonymität des Absenders, selbstkonfigurierendes Multi-Hop-Routing und nicht fälschbare Zustellbestätigungen
- Ist nicht vom IP-Stack abhängig und kann in einer Python-3-Umgebung ohne Kernel-Module im Userspace ausgeführt werden
- Zielt auf den Aufbau kostengünstiger, autonomer Netzwerke ab und kann Tausende unabhängiger Netzwerke ohne zentrale Kontrolle oder Zensur miteinander verbinden
- Als Open-Source-Werkzeug für den Aufbau dezentraler Kommunikationsinfrastrukturen und Off-Grid-Networking bietet es hohen praktischen Nutzen für Entwickler und Forschende
Überblick über Reticulum
- Reticulum ist ein kryptografiebasierter Networking-Stack, mit dem sich mit gewöhnlicher Hardware lokale und Weitverkehrsnetze aufbauen lassen
- Funktioniert auch in Umgebungen mit hoher Latenz und geringer Bandbreite
- Bietet Ende-zu-Ende-Verschlüsselung, Anonymität des Absenders, selbstkonfigurierende Multi-Hop-Übertragung, effiziente Adressierung und nicht fälschbare Zustellbestätigungen
- Das Ziel ist, dass jede Person ihr eigener Netzbetreiber werden und ohne zentrale Kontrolle autonome, vernetzbare Netzwerke aufbauen kann
- Reticulum ist nicht als einzelnes Netzwerk gedacht, sondern als Werkzeug zum Aufbau Tausender unabhängiger Netzwerke
- Es kann auch auf IP basieren und damit über das Internet oder private Netze getunnelt werden
- Läuft in einer Python-3-Umgebung, Kernel-Module oder Treiber sind nicht erforderlich
Hauptfunktionen
- Unterstützung für globale eindeutige Adressierung und selbstkonfigurierendes Multi-Hop-Routing
- Datenübertragung über verschiedene physische Medien und Topologien möglich
- Anonymität des Absenders: Pakete enthalten keine Quelladresse
- Kommunikation auf Basis von asymmetrischer X25519-Verschlüsselung und Ed25519-Signaturen
- Verwendet 512-Bit-Curve25519-Schlüsselsätze
- Unterstützung für Forward Secrecy, AES-256-CBC-Verschlüsselung und SHA256-HMAC-Authentifizierung
- Erweiterbares Interface-System, mit dem sich benutzerdefinierte Interfaces hinzufügen lassen
- Einfache API für die unkomplizierte Entwicklung dezentraler Anwendungen
- Unterstützung für große Datenübertragungen mit automatischer Komprimierung, Prüfsummen und Übertragungsanpassung
- Leichtgewichtiger Request/Response-Mechanismus und effizienter Link-Aufbau (3 Pakete, 297 Byte)
Referenzimplementierung und Protokoll
- Der Python-Code in diesem Repository ist die offizielle Referenzimplementierung und maßgeblich für die Protokolldefinition
- Wird unter der Reticulum License veröffentlicht, das Protokoll wurde 2016 der Public Domain gewidmet
- Kompatibilität ist durch vollständige Interoperabilität mit der Referenzimplementierung definiert
Einsatzbeispiele
- rnsh: Remote-Shell-Sitzungen auf Basis von Reticulum
- LXMF: Dezentrales Nachrichtenübertragungsprotokoll
- LXST: Framework für Audio- und Signalübertragung in Echtzeit
- Nomad Network: Off-Grid-Plattform für verschlüsselte Nachrichtenkommunikation
- Sideband: GUI-App mit Dateiübertragung, Sprachanrufen und Kartenfunktionen
- MeshChat: Webbasierter LXMF-Client mit Unterstützung für Bild-, Sprach- und Dateiübertragung
Unterstützte Medien und Geräte
- Funktioniert auf jedem Medium, das mindestens 5 bps Halbduplex-Kanäle und eine MTU von 500 Byte unterstützt
- Nutzbar mit LoRa, Packet Radio, WiFi, Ethernet und optischen Kommunikationslinks
- RNode ist ein LoRa-Interface für Reticulum und kann selbst gebaut oder als Fertiggerät gekauft werden
- Auf Geräten wie dem Raspberry Pi lassen sich LoRa, Packet Radio und WiFi kombiniert einsetzen
Unterstützte Interfaces
- Unterstützung für Ethernet, LoRa (RNode), Packet-Radio-TNC, KISS-Modems, serielle Geräte, TCP/UDP und stdio-Pipes
- Benutzerdefinierte Interface-Module können hinzugefügt werden; praxiserprobte PRs sind willkommen
Leistung und Status
- Zielbereich der Leistung: 250 bps bis 1 Gbps, derzeit etwa 150 bps bis 500 Mbps
- Kernfunktionen des Protokolls vollständig implementiert, API und Formate sind stabil
Bootstrap für Verbindungen
- Reticulum ist kein abonnierbarer Dienst, sondern ein autonomes Netzwerk
- Eine erste Verbindung ist über ein von der Community betriebenes öffentliches Entry-Point-Verzeichnis möglich
- Beispiele:
directory.rns.recipes, rmap.world
Kryptografische Komponenten
- 512-Bit-Schlüsselsätze auf Basis von Curve25519, Ed25519-Signaturen, X25519-Schlüsselaustausch
- Verwendet HKDF, AES-256-CBC, HMAC-SHA256 und SHA-256/512
- Standardmäßig bereitgestellt über OpenSSL und PyCA/cryptography
- Eine reine Python-Implementierung ist ebenfalls enthalten, hat jedoch ein niedrigeres Sicherheitsprüfungsniveau
Noch keine Kommentare.