Veröffentlichung von NNCP 8.8.0, Dienstprogramme zum Übertragen von Dateien/Befehlen im Store-and-Forward-Modus

Die Veröffentlichung von Node-to-Node CoPy (NNCP), einer Reihe von Dienstprogrammen zur sicheren Übertragung von Dateien, E-Mails und Befehlen zur Ausführung im Store-and-Forward-Modus. Unterstützt den Betrieb auf POSIX-kompatiblen Betriebssystemen. Die Dienstprogramme sind in Go geschrieben und werden unter der GPLv3-Lizenz vertrieben.

Die Dienstprogramme konzentrieren sich darauf, beim Aufbau kleiner Peer-to-Peer-Freund-zu-Freund-Netzwerke (Dutzende von Knoten) mit statischem Routing für sichere Fire-and-Forget-Dateiübertragungen, Dateianfragen, E-Mails und Befehlsanfragen zu helfen. Alle übertragenen Pakete sind verschlüsselt (Ende-zu-Ende) und werden explizit mithilfe bekannter öffentlicher Schlüssel von Freunden authentifiziert. Für alle Zwischenpakete wird eine Onion-Verschlüsselung (wie bei Tor) verwendet. Jeder Knoten kann sowohl als Client als auch als Server fungieren und sowohl Push- als auch Poll-Verhaltensmodelle verwenden.

Der Unterschied zwischen NNCP- und UUCP- und FTN-Lösungen (FidoNet Technology Network) besteht neben der oben genannten Verschlüsselung und Authentifizierung in der sofort einsatzbereiten Unterstützung für Floppinet-Netzwerke und Computer, die physisch von unsicheren lokalen Netzwerken isoliert sind (Air Gap). öffentliche Netzwerke. NNCP bietet außerdem eine einfache Integration (auf Augenhöhe mit UUCP) mit aktuellen Mailservern wie Postfix und Exim.

Zu den möglichen Anwendungsbereichen von NNCP gehören die Organisation des Sendens/Empfangens von E-Mails an Geräte ohne ständige Verbindung zum Internet, die Übertragung von Dateien unter Bedingungen einer instabilen Netzwerkverbindung, die sichere Übertragung sehr großer Datenmengen auf physischen Medien und die Schaffung isolierter, vor geschützter Datenübertragungsnetze MitM-Angriffe unter Umgehung von Netzwerkzensur und -überwachung. Da der Entschlüsselungsschlüssel nur in den Händen des Empfängers liegt, unabhängig davon, ob das Paket über das Netzwerk oder über physische Medien übermittelt wird, kann ein Dritter den Inhalt nicht lesen, selbst wenn das Paket abgefangen wird. Die Authentifizierung mittels digitaler Signatur wiederum erlaubt es nicht, eine fiktive Nachricht unter dem Deckmantel eines anderen Absenders zu erstellen.

Zu den Neuerungen von NNCP 8.8.0 im Vergleich zu den vorherigen Nachrichten (Version 5.0.0):

  • Anstelle des BLAKE2b-Hashs wird zur Überprüfung der Integrität von Dateien das sogenannte MTH: Merkle Tree-based Hashing verwendet, das den BLAKE3-Hash verwendet. Dadurch können Sie die Integrität des verschlüsselten Teils des Pakets direkt beim Herunterladen berechnen, ohne dass dieser in der Zukunft gelesen werden muss. Dies ermöglicht auch eine unbegrenzte Parallelisierung von Integritätsprüfungen.
  • Das neue verschlüsselte Paketformat ist vollständig Streaming-freundlich, wenn die Größe der Daten im Voraus unbekannt ist. Die Signalisierung des Abschlusses der Übertragung erfolgt mit einer authentifizierten Größe direkt im verschlüsselten Stream. Um die Größe der übertragenen Daten herauszufinden, war es bisher notwendig, diese in einer temporären Datei zu speichern. Daher hat der Befehl „nncp-exec“ die Option „-use-tmp“ verloren, da diese völlig unnötig ist.
  • Die BLAKE2b-KDF- und XOF-Funktionen wurden durch BLAKE3 ersetzt, um die Anzahl der verwendeten kryptografischen Grundelemente zu reduzieren und den Code zu vereinfachen.
  • Es ist nun möglich, andere Knoten im lokalen Netzwerk durch Multicasting an die Adresse „ff02::4e4e:4350“ zu erkennen.
  • Es sind Multicast-Gruppen entstanden (analog zu FidoNet-Echokonferenzen oder Usenet-Newsgruppen), die es einem Paket ermöglichen, Daten an mehrere Gruppenmitglieder zu senden, wobei jedes das Paket auch an die übrigen Unterzeichner weiterleitet. Das Lesen eines Multicast-Pakets erfordert die Kenntnis des Schlüsselpaars (Sie müssen explizit Mitglied der Gruppe sein), die Weiterleitung kann jedoch von jedem Knoten durchgeführt werden.
  • Es gibt jetzt Unterstützung für die explizite Bestätigung des Paketempfangs. Der Absender darf das Paket nach dem Senden nicht löschen und warten, bis er ein spezielles ACK-Paket vom Empfänger erhält.
  • Integrierte Unterstützung für das Yggdrasil-Overlay-Netzwerk: Online-Daemons können als vollwertige unabhängige Netzwerkteilnehmer fungieren, ohne Yggdrasil-Implementierungen von Drittanbietern zu verwenden und ohne vollständig mit dem IP-Stack auf einer virtuellen Netzwerkschnittstelle zu arbeiten.
  • Anstelle strukturierter Zeichenfolgen (RFC 3339) verwendet das Protokoll Recfile-Einträge, die mit den GNU Recutils-Dienstprogrammen verwendet werden können.
  • Optional können verschlüsselte Paketheader in separaten Dateien im Unterverzeichnis „hdr/“ gespeichert werden, was den Abruf von Paketlisten auf Dateisystemen mit großen Blockgrößen wie ZFS erheblich beschleunigt. Bisher war zum Abrufen des Paket-Headers standardmäßig nur das Lesen eines 128-KiB-Blocks von der Festplatte erforderlich.
  • Bei der Suche nach neuen Dateien kann optional die kqueue-Funktion verwendet und Kernel-Subsysteme innotifiziert werden, wodurch weniger Systemaufrufe durchgeführt werden.
  • Dienstprogramme behalten weniger geöffnete Dateien und schließen und öffnen sie seltener. Bei einer großen Anzahl an Paketen konnte es bisher zu einer Beschränkung der maximalen Anzahl geöffneter Dateien kommen.
  • Viele Teams begannen, den Fortschritt und die Geschwindigkeit von Vorgängen wie dem Herunterladen/Hochladen, Kopieren und Verarbeiten (Werfen) von Paketen zu zeigen.
  • Der Befehl „nncp-file“ kann nicht nur einzelne Dateien, sondern auch Verzeichnisse versenden und so im Handumdrehen ein Pax-Archiv mit deren Inhalt erstellen.
  • Online-Dienstprogramme können optional sofort nach dem erfolgreichen Herunterladen eines Pakets das Paketwerfen aufrufen, ohne einen separaten „nncp-toss“-Daemon auszuführen.
  • Ein Online-Anruf zu einem anderen Teilnehmer kann optional nicht nur beim Auslösen eines Timers erfolgen, sondern auch beim Erscheinen eines ausgehenden Pakets im Spool-Verzeichnis.
  • Gewährleistet die Funktionsfähigkeit unter NetBSD- und OpenBSD-Betriebssystemen zusätzlich zu den zuvor unterstützten FreeBSD- und GNU/Linux-Betriebssystemen.
  • „nncp-daemon“ ist vollständig kompatibel mit der UCSPI-TCP-Schnittstelle. In Verbindung mit der Möglichkeit, sich bei einem bestimmten Dateideskriptor anzumelden (z. B. durch Festlegen von „NNCPLOG=FD:4“), ist die Ausführung unter Daemontools-ähnlichen Dienstprogrammen völlig benutzerfreundlich.
  • Die Projektmontage wurde komplett in das Redo-System überführt.

Source: opennet.ru

Kommentar hinzufügen