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 als voll dezentralisierte und zensurresistente Alternative zu DNS. Derzeit liegt ein erster Entwurf des Standards vor, nach dessen Stabilisierung ein RFC mit dem Status "Vorgeschlagener Standard" erstellt wird.
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 auf Basis elliptischer Kurven . Die Nutzung von Curve25519 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 , kaskadierender 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. Frameworks
Zusätzlich kann vermerkt werden 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. , GNS (GNU Name System) und attributbasiertes Verschlüsseln ().
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 , das das Protokoll 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 , das GNUnet zum Schutz der Metadaten anwendet und verschiedene zur Verifizierung von Schlüsseln unterstützt;
- Zahlungssystem , 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 (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 , 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 .
- Im Schlüsselwiderrufmechanismus (GNS/REVOCATION) wurde die Funktion 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 .
- die Möglichkeit zur Kompilierung von Tools mit der cURL-Bibliothek, die nicht mit gnutls verbunden ist, hinzugefügt.
- Der kontinuierliche Integrationsserver wurde wiederhergestellt. .
- Die Build-Abhängigkeiten umfassen die Bibliotheken libmicrohttpd, libjansson und libsodium.
Quelle: opennet.ru
