Die Version 0.17 des GNUnet-Frameworks wurde veröffentlicht, das für den Aufbau von sicheren, dezentralen P2P-Netzwerken entwickelt wurde. Die mit GNUnet erstellten Netzwerke haben keinen einzelnen Ausfallpunkt und garantieren den Schutz der Privatsphäre der Benutzer, indem sie mögliche Missbräuche durch Behörden und Administratoren, die Zugang zu Knoten im Netzwerk haben, ausschließen.
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.
In der neuen Version von GNUnet wurden Änderungen vorgenommen, die die Protokollkompatibilität beeinträchtigen und zu möglichen Problemen beim Zusammenspiel von Knoten basierend auf GNUnet 0.17 und älteren Versionen führen können. Insbesondere wurde die Kompatibilität auf der Ebene der verteilten Hash-Tabelle (DHT) beeinträchtigt – die DHT-Implementierung wurde auf die neue Version der Spezifikation aktualisiert, und die Typdefinitionen wurden in die GANA (GNUnet Assigned Numbers Authority) übertragen. Darüber hinaus wurde die Unterstützung für ausgerichtete und umgruppierte Nachrichtenformate hinzugefügt. Aus der neuen Spezifikationsversion wurden außerdem inkompatible Änderungen zurückübertragen, die das dezentralisierte Namenssystem GNS (GNU Name System) betreffen. Für im GNS hinzugefügte Datensätze besteht jetzt die Möglichkeit, die Lebensdauer des Datensatzes zu konfigurieren.
Quelle: opennet.ru
