Release av NNCP 8.8.0, verktyg för att överföra filer/kommandon i lagra-och-sändningsläge

Utgivningen av Node-to-Node CoPy (NNCP), en uppsättning verktyg för säker överföring av filer, e-post och kommandon för exekvering i lagra-och-vidarebefordra-läge. Stöder drift på POSIX-kompatibla operativsystem. Verktygen är skrivna i Go och distribueras under GPLv3-licensen.

Verktygen är fokuserade på att hjälpa till att bygga små peer-to-peer vän-till-vän-nätverk (dussintals noder) med statisk routing för säker brand-och-glöm filöverföringar, filförfrågningar, e-post och kommandoförfrågningar. Alla överförda paket är krypterade (end-to-end) och är explicit autentiserade med hjälp av kända offentliga nycklar från vänner. Lök (som i Tor) kryptering används för alla mellanpaket. Varje nod kan fungera som både en klient och en server och använda både push- och poll-beteendemodeller.

Skillnaden mellan NNCP och UUCP och FTN (FidoNet Technology Network)-lösningar, utöver ovan nämnda kryptering och autentisering, är out-of-the-box-stödet för diskettnätverk och datorer som är fysiskt isolerade (air-gapped) från osäkra lokala och offentliga nätverk. NNCP har också enkel integration (i nivå med UUCP) med nuvarande e-postservrar som Postfix och Exim.

Möjliga användningsområden för NNCP inkluderar att organisera sändning/ta emot e-post till enheter utan permanent anslutning till Internet, överföring av filer under förhållanden med en instabil nätverksanslutning, säker överföring av mycket stora mängder data på fysiska medier, skapa isolerade dataöverföringsnätverk skyddade från MitM-attacker, kringgå nätverkscensur och övervakning. Eftersom dekrypteringsnyckeln endast finns i mottagarens händer, oavsett om paketet levereras över nätverket eller via fysiska medier, kan en tredje part inte läsa innehållet, även om paketet avlyssnas. I sin tur tillåter autentisering av digital signatur inte att skapa ett fiktivt meddelande under sken av en annan avsändare.

Bland innovationerna i NNCP 8.8.0, jämfört med de tidigare nyheterna (version 5.0.0):

  • Istället för BLAKE2b-hash används den så kallade MTH: Merkle Tree-based Hashing, som använder BLAKE3-hash, för att kontrollera filernas integritet. Detta gör att du kan beräkna integriteten för den krypterade delen av paketet direkt under nedladdningen, utan att behöva läsa det i framtiden. Detta möjliggör också obegränsad parallellisering av integritetskontroller.
  • Det nya krypterade paketformatet är helt strömningsvänligt när storleken på datan är okänd i förväg. Signaleringen av slutförandet av överföringen, med en autentiserad storlek, går direkt in i den krypterade strömmen. Tidigare, för att ta reda på storleken på de överförda data, var det nödvändigt att spara det i en tillfällig fil. Så kommandot "nncp-exec" har förlorat alternativet "-use-tmp" eftersom det är helt onödigt.
  • BLAKE2b KDF- och XOF-funktionerna har ersatts av BLAKE3 för att minska antalet använda kryptografiska primitiver och förenkla koden.
  • Det är nu möjligt att detektera andra noder på det lokala nätverket genom multicasting till adressen "ff02::4e4e:4350".
  • Multicast-grupper har dykt upp (analogt med FidoNet-ekokonferenser eller Usenet-nyhetsgrupper), vilket gör att ett paket kan skicka data till flera gruppmedlemmar, där var och en också vidarebefordrar paketet till resten av undertecknarna. Att läsa ett multicast-paket kräver kunskap om nyckelparet (du måste uttryckligen vara medlem i gruppen), men vidarebefordran kan göras av vilken nod som helst.
  • Det finns nu stöd för explicit bekräftelse av paketmottagning. Avsändaren kanske inte raderar paketet efter att ha skickat, väntar tills den tar emot ett speciellt ACK-paket från mottagaren.
  • Inbyggt stöd för Yggdrasil-överlagringsnätverket: online-demoner kan agera som fullfjädrade oberoende nätverksdeltagare, utan att använda Yggdrasil-implementeringar från tredje part och utan att helt arbeta med IP-stacken på ett virtuellt nätverksgränssnitt.
  • Istället för strukturerade strängar (RFC 3339) använder loggen recfile-poster, som kan användas med GNU Recutils-verktygen.
  • Valfritt kan krypterade pakethuvuden lagras i separata filer i underkatalogen "hdr/", vilket avsevärt påskyndar hämtningen av paketlistor på filsystem med stora blockstorlekar, såsom ZFS. Tidigare krävde att hämta pakethuvudet endast läsa ett 128KiB-block från disk som standard.
  • Att leta efter nya filer kan valfritt använda kqueue och inotify kärndelsystem, vilket gör färre systemanrop.
  • Verktygen håller färre öppna filer och stänger och öppnar dem mer sällan. Med ett stort antal paket var det tidigare möjligt att stöta på en begränsning av det maximala antalet öppna filer.
  • Många team började visa framstegen och hastigheten för operationer som att ladda ner/ladda upp, kopiera och bearbeta (slänga) paket.
  • Kommandot "nncp-file" kan skicka inte bara enstaka filer utan också kataloger, vilket skapar ett pax-arkiv med deras innehåll i farten.
  • Onlineverktyg kan valfritt omedelbart anropa paketkastning efter att ett paket har laddats ned, utan att köra en separat "nncp-toss"-demon.
  • Ett onlinesamtal till en annan deltagare kan valfritt inträffa inte bara när en timer utlöses, utan också när ett utgående paket visas i spoolkatalogen.
  • Säkerställer driftbarhet under NetBSD och OpenBSD OS, förutom tidigare stödda FreeBSD och GNU/Linux.
  • "nncp-daemon" är helt kompatibel med UCSPI-TCP-gränssnittet. Tillsammans med möjligheten att logga till en specificerad filbeskrivning (till exempel genom att ställa in "NNCPLOG=FD:4"), är det helt vänligt att köra under daemontools-liknande verktyg.
  • Projektmonteringen har helt överförts till redo-systemet.

Källa: opennet.ru

Lägg en kommentar