Uitgave van NNCP 8.8.0, hulpprogramma's voor het overbrengen van bestanden/opdrachten in store-and-forward-modus

De release van Node-to-Node CoPy (NNCP), een reeks hulpprogramma's voor het veilig overbrengen van bestanden, e-mail en opdrachten voor uitvoering in de store-and-forward-modus. Ondersteunt werking op POSIX-compatibele besturingssystemen. De hulpprogramma's zijn geschreven in Go en gedistribueerd onder de GPLv3-licentie.

De hulpprogramma's zijn gericht op het helpen bouwen van kleine peer-to-peer-vriend-tot-vriend-netwerken (tientallen knooppunten) met statische routering voor veilige bestandsoverdrachten, bestandsverzoeken, e-mail en opdrachtverzoeken. Alle verzonden pakketten zijn gecodeerd (end-to-end) en worden expliciet geauthenticeerd met behulp van bekende openbare sleutels van vrienden. Voor alle tussenliggende pakketten wordt Onion-codering (zoals in Tor) gebruikt. Elk knooppunt kan zowel als client als als server fungeren en zowel push- als poll-gedragsmodellen gebruiken.

Het verschil tussen NNCP- en UUCP- en FTN-oplossingen (FidoNet Technology Network), naast de eerder genoemde encryptie en authenticatie, is de out-of-the-box ondersteuning voor floppinetnetwerken en computers die fysiek geïsoleerd zijn (air-gapped) van onveilige lokale en publieke netwerken. netwerken. NNCP biedt ook een eenvoudige integratie (vergelijkbaar met UUCP) met huidige mailservers zoals Postfix en Exim.

Mogelijke toepassingsgebieden voor NNCP zijn onder meer het organiseren van het verzenden/ontvangen van e-mail naar apparaten zonder permanente verbinding met internet, het overbrengen van bestanden in omstandigheden van een onstabiele netwerkverbinding, het veilig overbrengen van zeer grote hoeveelheden gegevens op fysieke media, het creëren van geïsoleerde datatransmissienetwerken die beschermd zijn tegen MitM-aanvallen, waarbij netwerkcensuur en -bewaking worden omzeild. Omdat de decoderingssleutel alleen in handen is van de ontvanger, ongeacht of het pakket via het netwerk of via fysieke media wordt afgeleverd, kan een derde partij de inhoud niet lezen, zelfs niet als het pakket wordt onderschept. Op zijn beurt maakt de authenticatie van digitale handtekeningen het niet mogelijk een fictief bericht te creëren onder het mom van een andere afzender.

Onder de innovaties van NNCP 8.8.0, vergeleken met het vorige nieuws (versie 5.0.0):

  • In plaats van de BLAKE2b-hash wordt de zogenaamde MTH: Merkle Tree-based Hashing, die gebruik maakt van de BLAKE3-hash, gebruikt om de integriteit van bestanden te controleren. Hierdoor kunt u tijdens het downloaden de integriteit van het gecodeerde deel van het pakket berekenen, zonder dat u het in de toekomst hoeft te lezen. Dit maakt ook onbeperkte parallellisatie van integriteitscontroles mogelijk.
  • Het nieuwe gecodeerde pakketformaat is volledig streamingvriendelijk wanneer de grootte van de gegevens vooraf onbekend is. De signalering van de voltooiing van de overdracht, met een geverifieerde grootte, gaat rechtstreeks naar de gecodeerde stroom. Om de grootte van de overgedragen gegevens te achterhalen, was het voorheen nodig om deze in een tijdelijk bestand op te slaan. Het commando “nncp-exec” heeft dus de optie “-use-tmp” verloren, omdat het volkomen onnodig is.
  • De BLAKE2b KDF- en XOF-functies zijn vervangen door BLAKE3 om het aantal gebruikte cryptografische primitieven te verminderen en de code te vereenvoudigen.
  • Het is nu mogelijk om andere knooppunten op het lokale netwerk te detecteren via multicasting naar het adres “ff02::4e4e:4350”.
  • Er zijn multicast-groepen verschenen (analoog aan FidoNet-echoconferenties of Usenet-nieuwsgroepen), waardoor één pakket gegevens naar meerdere groepsleden kan sturen, waar elk het pakket ook doorgeeft aan de rest van de ondertekenaars. Het lezen van een multicastpakket vereist kennis van het sleutelpaar (je moet expliciet lid zijn van de groep), maar het doorgeven kan door elk knooppunt worden gedaan.
  • Er is nu ondersteuning voor expliciete bevestiging van pakketontvangst. De afzender mag het pakket na verzending niet verwijderen, maar wacht totdat hij een speciaal ACK-pakket van de ontvanger ontvangt.
  • Ingebouwde ondersteuning voor het Yggdrasil overlay-netwerk: online daemons kunnen fungeren als volwaardige onafhankelijke netwerkdeelnemers, zonder gebruik te maken van Yggdrasil-implementaties van derden en zonder volledig te werken met de IP-stack op een virtuele netwerkinterface.
  • In plaats van gestructureerde tekenreeksen (RFC 3339) gebruikt het log recfile-items, die kunnen worden gebruikt met de GNU Recutils-hulpprogramma's.
  • Optioneel kunnen gecodeerde pakketheaders worden opgeslagen in afzonderlijke bestanden in de "hdr/"-submap, waardoor het ophalen van pakketlijsten op bestandssystemen met grote blokgroottes, zoals ZFS, aanzienlijk wordt versneld. Voorheen vereiste het ophalen van de pakketheader standaard het lezen van slechts een blok van 128KiB van de schijf.
  • Bij het controleren op nieuwe bestanden kan optioneel gebruik worden gemaakt van de kqueue en inotify-kernelsubsystemen, waardoor er minder systeemaanroepen nodig zijn.
  • Hulpprogramma's houden minder bestanden open en sluiten en heropenen ze minder vaak. Bij een groot aantal pakketten was het voorheen mogelijk om tegen een beperking aan te lopen op het maximale aantal geopende bestanden.
  • Veel teams begonnen de voortgang en snelheid van bewerkingen te laten zien, zoals het downloaden/uploaden, kopiëren en verwerken (gooien) van pakketten.
  • Het commando “nncp-file” kan niet alleen afzonderlijke bestanden verzenden, maar ook mappen, waardoor in een handomdraai een pax-archief met de inhoud ervan wordt gemaakt.
  • Online hulpprogramma's kunnen optioneel onmiddellijk packet toss aanroepen nadat een pakket met succes is gedownload, zonder een aparte "nncp-toss"-daemon uit te voeren.
  • Een online oproep naar een andere deelnemer kan optioneel niet alleen plaatsvinden wanneer een timer wordt geactiveerd, maar ook wanneer een uitgaand pakket in de spooldirectory verschijnt.
  • Garandeert bruikbaarheid onder NetBSD en OpenBSD OS, naast eerder ondersteunde FreeBSD en GNU/Linux.
  • "nncp-daemon" is volledig compatibel met de UCSPI-TCP-interface. Gekoppeld aan de mogelijkheid om in te loggen bij een gespecificeerde bestandsdescriptor (bijvoorbeeld door "NNCPLOG=FD:4" in te stellen), is het volkomen gebruiksvriendelijk om onder daemontools-achtige hulpprogramma's te draaien.
  • De projectmontage is volledig overgezet naar het redo-systeem.

Bron: opennet.ru

Voeg een reactie