Veröffentlichung der P2P-Plattform GNUnet 0.13. Förderung von GNS als Internetstandard

Der IETF (Internet Engineering Task Force), der sich mit der Entwicklung von Internetprotokollen und -architekturen beschäftigt, hat den Standardisierungsprozess für das GNS (GNU Name System) eingeleitet, das von dem Projekt GNUnet als voll dezentralisierte und zensurresistente Alternative zu DNS. Derzeit veröffentlicht liegt ein erster Entwurf des Standards vor, nach dessen Stabilisierung ein RFC mit dem Status "Vorgeschlagener Standard" erstellt wird.

GNS kann neben DNS verwendet werden und ist kompatibel mit traditionellen Anwendungen wie Webbrowsern. Die Integrität und Unveränderlichkeit der Einträge wird durch kryptografische Mechanismen gewährleistet. Im Gegensatz zu DNS verwendet GNS anstelle einer baumartigen Serverhierarchie ein gerichtetes Diagramm. Die Namensumwandlung ähnelt der von DNS, jedoch werden Anfragen und Antworten unter Wahrung der Vertraulichkeit ausgeführt – der anfragende Knoten weiß nicht, an wen die Antwort gegeben wird, und Transitknoten sowie externe Beobachter können die Anfragen und Antworten nicht entschlüsseln.

Die DNS-Zone in GNS wird mittels eines Paares aus öffentlichem und privatem Schlüssel ECDSA auf Basis elliptischer Kurven Curve25519. Die Nutzung von Curve25519 als wäre es ein völlig „neues Spiel“ wird von einigen als recht merkwürdiger Schritt betrachtet, da für ECDSA andere Typen elliptischer Kurven verwendet werden, während in Kombination mit Curve25519 gewöhnlich ein Algorithmus für digitale Signaturen Ed25519, verwendet wird, der moderner, sicherer und schneller ist als ECDSA. Auch die Wahl der Schlüssellänge von 32 Byte anstelle von 64 Byte, die normalerweise für Ed25519 verwendet wird, sowie die Verwendung vonkaskadierender symmetrischer Verschlüsselung unter Verwendung der Algorithmen AES und TwoFish im CFB-Modus. Dieser Ansatz wird durch die Notwendigkeit erklärt, hierarchische Schlüssel zu implementieren, die es ermöglichen, den Wurzelschlüssel zu verwenden, um den untergeordneten öffentlichen Schlüssel zu extrahieren, wobei die Linearität der Kurve Curve25519 ausgenutzt wird. Diese Eigenschaft ermöglicht es, untergeordnete öffentliche Schlüssel zu erhalten, ohne Kenntnis der privaten Wurzelschlüssel. Diese Technik wird auch

in Bitcoin verwendet. Die Schlüssellänge von 32 Byte wurde gewählt, damit der Schlüssel in einen DNS-Eintrag passt. angewendet Frameworks

Zusätzlich kann vermerkt werden neue Ausgabe GNUnet 0.13 GNUnet 0.13, das für den Aufbau von geschützten dezentralen P2P-Netzwerken vorgesehen ist. Die mit GNUnet geschaffenen Netzwerke haben keinen einzelnen Ausfallpunkt und können die Vertraulichkeit der Benutzerdaten garantieren, um mögliche Missbräuche durch Geheimdienste und Administratoren, die Zugang zu den Knoten des Netzwerks haben, auszuschließen. Die Veröffentlichung ist gekennzeichnet durch erhebliche Änderungen am Protokoll, die die Abwärtskompatibilität mit den Versionen 0.12.x beeinträchtigen.

GNUnet unterstützt die Erstellung von P2P-Netzwerken über TCP, UDP, HTTP/HTTPS, Bluetooth und WLAN und kann im F2F-Modus (Friend-to-friend) betrieben werden. NAT-Überwindung wird unterstützt, unter anderem durch die Verwendung 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 Bereitstellung und den Widerruf von Zugriffsrechten wird ein Dienst für den dezentralen Austausch von Identifikationsattributen angeboten. reclaimID, verwendet GNS (GNU Name System) und attributbasiertes Verschlüsseln (Attribute-Based Encryption).

Das System zeichnet sich durch einen geringen Ressourcenverbrauch und die Verwendung einer Multi-Prozess-Architektur zur Gewährleistung der Isolation zwischen den Komponenten aus. Flexible Mittel für das Loggen und die Sammlung von Statistiken werden bereitgestellt. Zur Entwicklung von Endanwendungen bietet GNUnet eine API für die Programmiersprache C und Bindings für andere Programmiersprachen an. Zur Vereinfachung der Entwicklung wird empfohlen, anstelle von Threads Ereignisschleifen und Prozesse zu verwenden. Es enthält eine Testbibliothek für die automatische Bereitstellung experimenteller Netzwerke, die Dutzende von Tausenden von Peers abdecken.

Neben GNS, das auf den Technologien von GNUnet basiert, werden auch mehrere fertige Anwendungen entwickelt:

  • Ein Dienst für anonymes Dateiabladen, der es nicht ermöglicht, Informationen zu analysieren, da Daten ausschließlich in verschlüsselter Form übertragen werden, und der nicht erkennt, wer Dateien hochgeladen, gesucht oder heruntergeladen hat, dank der Verwendung des GAP-Protokolls.
  • Ein VPN-System zum Erstellen von versteckten Diensten in der Domain „.gnu“ sowie zum Durchleiten von IPv4- und IPv6-Tunneln über ein P2P-Netzwerk. Zusätzlich werden IPv4-zu-IPv6- und IPv6-zu-IPv4-Translierungsschemata sowie das Erstellen von IPv4-über-IPv6- und IPv6-über-IPv4-Tunneln unterstützt.
  • Der GNUnet Conversation-Service ermöglicht Sprachübertragungen über GNUnet. Zur Identifizierung der Benutzer wird GNS verwendet, und der Inhalt des Sprachverkehrs wird verschlüsselt übertragen. Anonymität wird derzeit nicht geboten – andere Peers können die Verbindung zwischen zwei Benutzern nachverfolgen und deren IP-Adressen bestimmen.
  • Plattform zum Aufbau dezentraler sozialer Netzwerke Secushare, das das Protokoll PSYC verwendet und die Verbreitung von Benachrichtigungen im Multicast-Modus unterstützt, unter Verwendung von End-to-End-Verschlüsselung, damit nur autorisierte Benutzer (jedenfalls nicht anvisierte Benutzer, einschließlich der Administratoren der Knoten, können sie nicht lesen) Zugriff auf Nachrichten, Dateien, Chats und Diskussionen haben;
  • System zur Organisation verschlüsselter E-Mails pretty Easy privacy, das GNUnet zum Schutz der Metadaten anwendet und verschiedene kryptographische Protokolle zur Verifizierung von Schlüsseln unterstützt;
  • Zahlungssystem GNU Taler, das Käufern Anonymität bietet, aber die Transaktionen von Verkäufern nachverfolgt, um Transparenz sicherzustellen und steuerliche Berichterstattung zu ermöglichen. Es unterstützt die Arbeit mit verschiedenen bestehenden Währungen und elektronischen Geldmitteln, einschließlich Dollar, Euro und Bitcoin.

Wesentliche Neuerungen in GNUnet 0.13:

  • Ein Register wurde eingeführt GANA (GNUnet Assigned Numbers Authority), verantwortlich für die Vergabe von Namen und Adressen für GNUnet.
  • Die Implementierung des dezentralen Domainnamensystems GNS wurde an das die Spezifikation, das im IETF vorgeschlagen wurde, angepasst. Der NSS-Plugin „block“ wurde in Betrieb genommen. Neue SUPPLEMENTAL-Flags wurden für Datensätze hinzugefügt, die nicht explizit unter dem angegebenen Label veröffentlicht wurden, aber vom Resolver zurückgegeben werden. In das Tool gnunet-namestore wurde eine Warnung beim Hinzufügen von TLSA- oder SRV-Datensätzen außerhalb des Datensatzes BOX.
  • Im Schlüsselwiderrufmechanismus (GNS/REVOCATION) wurde die Funktion der Arbeitsnachweis auf die Verwendung des Hashing-Algorithmus Argon2 umgestellt.
  • Im Service für den dezentralen Austausch von Identifikationsattributen (RECLAIM) wurde die Ticket-Größe auf 256 Bit erhöht.
  • Das Transport-Plugin, das für die Datenübertragung das UDP-Protokoll verwendet, wurde aufgrund von Stabilitätsproblemen in die Kategorie der experimentellen Plugins verschoben;
  • Das Format der Schlüsseldateien und die Methode zur Serialisierung privater ECDSA-Schlüssel wurden mit anderen Bibliotheken vereinheitlicht (alte Schlüssel werden nicht mehr funktionieren).
  • Zur Implementierung von Verschlüsselungsalgorithmen basierend auf elliptischen Kurven wurde die Bibliothek libsodium.
  • die Möglichkeit zur Kompilierung von Tools mit der cURL-Bibliothek, die nicht mit gnutls verbunden ist, hinzugefügt.
  • Der kontinuierliche Integrationsserver wurde wiederhergestellt. Buildbot.
  • Die Build-Abhängigkeiten umfassen die Bibliotheken libmicrohttpd, libjansson und libsodium.

Quelle: opennet.ru

60GB SSD 8Gb DDR4