Die Version 0.16 des GNUnet-Frameworks wurde veröffentlicht, das für den Aufbau sicherer, dezentraler P2P-Netzwerke gedacht ist. Die mit GNUnet erstellten Netzwerke haben keinen einzelnen Ausfallpunkt und können die Privatsphäre der Benutzer schützen, einschließlich der Verhinderung möglicher Missbräuche durch Geheimdienste und Administratoren, die Zugang zu Knoten im Netzwerk haben.
GNUnet unterstützt die Erstellung von P2P-Netzwerken über TCP, UDP, HTTP/HTTPS, Bluetooth und WLAN und kann im F2F (Friend-to-Friend)-Modus betrieben werden. NAT-Umgehungen sind möglich, einschließlich der Nutzung von UPnP und ICMP. Für die Adressierung der Datenspeicherung kann eine verteilte Hash-Tabelle (DHT) verwendet werden. Es stehen Mittel zur Verfügung, um Mesh-Netzwerke bereitzustellen. Für die selektive Gewährung und den Widerruf von Zugriffsrechten wird der Dienst zur dezentralen Attribute-Identitätsübertragung reclaimID verwendet, der das GNS (GNU Name System) und attributbasiertes Verschlüsseln (Attribute-Based Encryption) nutzt.
Das System zeichnet sich durch einen niedrigen Ressourcenverbrauch und eine Mehrprozessarchitektur aus, die eine Isolation zwischen den Komponenten gewährleistet. Flexible Werkzeuge für das Logging und die Statistikerfassung stehen zur Verfügung. Für die Entwicklung von Endanwendungen bietet GNUnet eine API für die Programmiersprache C und Bindings für andere Programmiersprachen. Zur Vereinfachung der Entwicklung wird empfohlen, anstelle von Threads Ereignisschleifen (event loops) und Prozesse zu verwenden. Enthalten ist eine Testbibliothek für die automatische Bereitstellung experimenteller Netzwerke, die Tausende von Peers abdeckt.
Basierend auf den Technologien von GNUnet werden mehrere einsatzbereite Anwendungen entwickelt:
- Das GNS (GNU Name System) ist ein vollständig dezentralisiertes und zensurresistentes System, das als Alternative zum DNS dient. GNS kann gemeinsam mit DNS verwendet werden und ist mit traditionellen Anwendungen wie Webbrowsern kompatibel. Im Gegensatz zu DNS nutzt GNS anstelle einer baumartigen Serverhierarchie ein gerichtetes Graphsystem. Die Umwandlung von Namen ähnelt der von DNS, jedoch werden Anfragen und Antworten unter Wahrung der Privatsphäre abgewickelt – der anfragende Knoten weiß nicht, an wen die Antwort übermittelt wird, und Transitknoten sowie externe Beobachter können Anfragen und Antworten nicht entschlüsseln. Die Integrität und Unveränderlichkeit der Einträge wird durch kryptografische Mechanismen sichergestellt. Eine DNS-Zone in GNS wird durch ein Paar aus öffentlichem und privatem ECDSA-Schlüsseln auf Basis der elliptischen Kurven Curve25519 definiert.
- Ein Dienst für den anonymen Austausch von Dateien, der eine Analyse der Informationen verhindert, indem Daten nur in verschlüsselter Form übertragen werden. Außerdem wird nicht aufgezeichnet, wer Dateien hochgeladen, gesucht oder heruntergeladen hat, dank des Einsatzes des GAP-Protokolls.
- System VPN zur Erstellung von versteckten Diensten im „.gnu“-Bereich und zum Tunnelieren von IPv4 und IPv6 über ein P2P-Netzwerk. Zudem werden IPv4-in-IPv6- und IPv6-in-IPv4-Translierungsschemata sowie die Erstellung von IPv4-über-IPv6- und IPv6-über-IPv4-Tunneln unterstützt.
- Der GNUnet Conversation-Dienst für Sprachkommunikation über GNUnet. Zur Identifikation der Nutzer wird GNS verwendet, der Inhalt des Sprachverkehrs wird verschlüsselt übertragen. Anonymität wird derzeit nicht gewährleistet – andere Peers können die Verbindung zwischen zwei Nutzern verfolgen und identifizieren. IP-Adressen.
- Eine Plattform für den Aufbau dezentralisierter sozialer Netzwerke, Secushare, die das PSYC-Protokoll verwendet und die Verbreitung von Benachrichtigungen im Multicast-Modus unterstützt, wobei End-to-End-Verschlüsselung eingesetzt wird, damit nur autorisierte Nutzer Zugriff auf Nachrichten, Dateien, Chats und Diskussionen erhalten (Personen, für die die Nachrichten nicht adressiert sind, einschließlich der Knotenadministratoren, können sie nicht lesen);
- Ein System zur Organisation verschlüsselter E-Mails, pretty Easy privacy, das GNUnet zum Schutz der Metadaten verwendet und verschiedene kryptografische Protokolle zur Schlüsselverifizierung unterstützt;
- Das Zahlungssystem GNU Taler bietet Käufern Anonymität, verfolgt jedoch die Transaktionen der Verkäufer, um Transparenz und Steuerberichterstattung zu gewährleisten. Es unterstützt die Verwendung verschiedener bestehender Währungen und elektronischer Geldmittel, einschließlich Dollar, Euro und Bitcoin.
Wichtigste Neuerungen in GNUnet 0.16:
- Die Spezifikation des dezentralen Namenssystems GNS (GNU Name System) wurde aktualisiert. Ein neuer Typ von Einträgen, REDIRECT, ersetzt die CNAME-Einträge. Ein neuer Flag für Einträge wurde hinzugefügt — CRITICAL, mit dem besonders wichtige Einträge gekennzeichnet werden können, deren Nichtverarbeitung zu einem Fehler bei der Namensauflösung führen sollte. Die Operationen zur Einrichtung eines VPN-Tunnels wurden aus dem Resolver in Anwendungen wie den DNS2GNS-Service ausgelagert.
- In der verteilten Hash-Tabelle (DHT) wurde die Möglichkeit zur Bestätigung von Routen durch digitale Signaturen implementiert. Die Metriken zur Routenlänge wurden auf die Verwendung der traditionellen XOR-Operation umgestellt. Die Spezifikation der Strukturen, kryptografischen Funktionen und Ressourceneinträge der DHT wurde aktualisiert.
- Im Dienst für den dezentralen Austausch von Identifikationsattributen (RECLAIM) wurde die Unterstützung für dezentrale Identifikatoren (DID, Decentralized Identifier) und verifiable Credentials (VC) hinzugefügt.
- Für das Zahlungssystem GNU Taler wurde die Unterstützung für blinde digitale Signaturen von Klaus Schnoor implementiert (der Unterzeichner kann keinen Zugriff auf den Inhalt erhalten).
- Im Build-System wird die Generierung aktueller Header-Dateien aus GANA (GNUnet Assigned Numbers Authority) gewährleistet. Beim Bauen aus git ist jetzt das Vorhandensein von recutils erforderlich.
Quelle: opennet.ru
