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

Die IETF (Internet Engineering Task Force), die Internetprotokolle und -architektur entwickelt, hat mit der Standardisierung des im Rahmen des Projekts entwickelten GNS-Domänennamensystems (GNU Name System) begonnen GNUnet als vollständig dezentraler und zensursicherer Ersatz für DNS. Derzeit veröffentlicht der erste Entwurf des Standards, nach dessen Stabilisierung ein RFC gebildet wird, der den Status eines „Vorgeschlagenen Standards“ haben wird.

GNS kann neben DNS verwendet und in herkömmlichen Anwendungen wie Webbrowsern verwendet werden. Die Integrität und Unveränderlichkeit der Aufzeichnungen wird durch den Einsatz kryptografischer Mechanismen sichergestellt. Im Gegensatz zu DNS verwendet GNS einen gerichteten Graphen anstelle einer baumartigen Serverhierarchie. Die Namensauflösung ähnelt DNS, Anfragen und Antworten erfolgen jedoch vertraulich. Der Knoten, der die Anfrage verarbeitet, weiß nicht, an wen die Antwort gesendet wird, und Transitknoten und Beobachter von Drittanbietern können Anfragen und Antworten nicht entschlüsseln.

Die DNS-Zone in GNS wird mithilfe einer Reihe öffentlicher und privater Schlüssel bestimmt ECDSA basierend auf elliptischen Kurven Curve25519. Verwenden von Curve25519 wahrgenommen Einige halten es für einen sehr seltsamen Schritt, da sie für ECDSA andere Arten elliptischer Kurven verwenden und in Kombination mit Curve25519 normalerweise einen digitalen Signaturalgorithmus verwenden Ed25519, mehr modern, sicherer und schneller als ECDSA. Aus Sicht der kryptografischen Stärke ist auch die Wahl der Schlüsselgröße – 32 Byte statt 64 Byte, wie sie üblicherweise für Ed25519 verwendet werden – sowie die Verwendung fraglich Kaskade symmetrische Verschlüsselung mit AES- und TwoFish-Algorithmen im CFB-Modus.

Dieser Ansatz erklärt sich durch die Notwendigkeit, hierarchische Schlüssel zu implementieren, die es ermöglichen, den öffentlichen Stammschlüssel zum Extrahieren eines untergeordneten öffentlichen Schlüssels zu verwenden und dabei die Linearitätseigenschaft von Curve25519 zu nutzen. Mit dieser Funktion können Sie untergeordnete öffentliche Schlüssel erhalten, ohne die privaten Root-Schlüssel zu kennen. Diese Technik ist auch gilt in Bitcoin. Die Schlüsselgröße von 32 Byte wurde gewählt, damit der Schlüssel in einen DNS-Eintrag passt.

Darüber hinaus kann darauf hingewiesen werden neue Version Rahmen GNUnet 0.13, entwickelt für den Aufbau sicherer dezentraler P2P-Netzwerke. Mit GNUnet erstellte Netzwerke weisen keinen Single Point of Failure auf und können die Unverletzlichkeit der privaten Informationen der Benutzer garantieren, einschließlich der Beseitigung eines möglichen Missbrauchs durch Geheimdienste und Administratoren mit Zugriff auf Netzwerkknoten. Es wird festgestellt, dass die Version erhebliche Protokolländerungen enthält, 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-Traversal wird unterstützt, einschließlich der Verwendung von UPnP und ICMP. Um die Platzierung von Daten zu steuern, ist es möglich, eine verteilte Hash-Tabelle (DHT) zu verwenden. Es werden Tools für die Bereitstellung von Mesh-Netzwerken bereitgestellt. Zur selektiven Gewährung und Entziehung von Zugriffsrechten wird ein dezentraler Identifikationsattribut-Austauschdienst eingesetzt ID zurückfordern, verwenden GNS (GNU Name System) und attributbasierte Verschlüsselung (Attributbasierte Verschlüsselung).

Das System zeichnet sich durch einen geringen Ressourcenverbrauch aus und nutzt eine Multiprozessarchitektur, um die Isolierung zwischen den Komponenten zu gewährleisten. Für die Pflege von Protokollen und die Erfassung von Statistiken stehen flexible Tools zur Verfügung. Um Endanwendungen zu entwickeln, stellt GNUnet eine API für die C-Sprache und Bindungen für andere Programmiersprachen bereit. Um die Entwicklung zu vereinfachen, wird vorgeschlagen, anstelle von Threads Ereignisschleifen und -prozesse zu verwenden. Es umfasst eine Testbibliothek für die automatische Bereitstellung experimenteller Netzwerke, die Zehntausende von Peers abdecken.

Neben GNS werden auch mehrere vorgefertigte Anwendungen auf Basis von GNUnet-Technologien entwickelt:

  • Ein Dienst zur anonymen Dateifreigabe, der Ihnen aufgrund der Übertragung der Daten nur in verschlüsselter Form keine Analyse von Informationen ermöglicht und Ihnen dank der Verwendung des GAP-Protokolls nicht ermöglicht, zu verfolgen, wer Dateien gepostet, gesucht und heruntergeladen hat.
  • VPN-System zum Erstellen versteckter Dienste in der „.gnu“-Domäne und zum Weiterleiten von IPv4- und IPv6-Tunneln über ein P2P-Netzwerk. Darüber hinaus werden IPv4-zu-IPv6- und IPv6-zu-IPv4-Übersetzungsschemata sowie die Erstellung von IPv4-über-IPv6- und IPv6-über-IPv4-Tunneln unterstützt.
  • GNUnet-Konversationsdienst zum Tätigen von Sprachanrufen über GNUnet. GNS dient der Benutzeridentifizierung; die Inhalte des Sprachverkehrs werden verschlüsselt übertragen. Anonymität ist noch nicht gewährleistet – andere Peers können die Verbindung zwischen zwei Benutzern verfolgen und deren IP-Adressen ermitteln.
  • Plattform zum Aufbau dezentraler sozialer Netzwerke Secushare, unter Verwendung des Protokolls PSYK und Unterstützung der Verteilung von Benachrichtigungen im Multicast-Modus mit Ende-zu-Ende-Verschlüsselung, sodass nur autorisierte Benutzer auf Nachrichten, Dateien, Chats und Diskussionen zugreifen können (diejenigen, an die Nachrichten nicht adressiert sind, einschließlich Knotenadministratoren, können diese nicht lesen). );
  • System zum Organisieren verschlüsselter E-Mails ziemlich einfache Privatsphäre, das GNUnet zum Metadatenschutz verwendet und verschiedene unterstützt kryptografische Protokolle zur Schlüsselüberprüfung;
  • Bezahlsystem GNU-Workshop, das Käufern Anonymität bietet, aber Verkäufertransaktionen für Transparenz und Steuerberichte verfolgt. Es unterstützt die Arbeit mit verschiedenen vorhandenen Währungen und elektronischem Geld, einschließlich Dollar, Euro und Bitcoins.

Wichtige neue Funktionen in GNUnet 0.13:

  • Das Register wurde in Betrieb genommen WIN (GNUnet Assigned Numbers Authority), verantwortlich für die Zuweisung von Namen und Adressen für GNUnet.
  • Die Implementierung des dezentralen Domain-Name-Systems GNS ist darauf ausgerichtet Spezifikation, vorgeschlagen von der IETF. Das NSS-Plugin „Block“ wurde verbessert. Neue SUPPLEMENTAL-Flags für Datensätze hinzugefügt, die nicht explizit unter der angegebenen Bezeichnung veröffentlicht werden, aber vom Resolver zurückgegeben werden. Dem Dienstprogramm gnunet-namestore wurde eine Warnung hinzugefügt, wenn TLSA- oder SRV-Einträge außerhalb des Eintrags hinzugefügt werden BOX.
  • Im Schlüsselwiderrufsmechanismus (GNS/REVOCATION) ist die Funktion Nachweis über die abgeschlossene Arbeit auf die Verwendung des Argon2-Hashing-Algorithmus umgestellt.
  • Im Dienst „Dezentraler Austausch von Identifikationsattributen“ (RECLAIM) wurde die Ticketgröße auf 256 Bit erhöht.
  • Das Transport-Plugin, das das UDP-Protokoll zur Datenübertragung nutzt, wurde aufgrund von Stabilitätsproblemen in die experimentelle Kategorie verschoben;
  • Das ECDSA-Schlüsseldateiformat und die Serialisierungsmethode für private Schlüssel sind mit anderen Bibliotheken vereinheitlicht (alte Schlüssel funktionieren nicht mehr).
  • Die Bibliothek dient als Implementierung von Verschlüsselungsalgorithmen auf Basis elliptischer Kurven libnatrium.
  • Es wurde die Möglichkeit hinzugefügt, Dienstprogramme mit der cURL-Bibliothek zu erstellen, die nichts mit Gnutls zu tun haben.
  • Der Continuous-Integration-Server wurde zurückgegeben Baubot.
  • Zu den Build-Abhängigkeiten gehören libmicrohttpd, libjansson und libsodium.

Source: opennet.ru

Kommentar hinzufügen