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.
Dessa verktyg är utformade för att hjälpa till att bygga små peer-to-peer-nätverk mellan vänner (dussintals noder) med statisk routing för säkra filöverföringar, filförfrågningar, e-post och kommandokörningsförfrågningar av typen "fire-and-forget". Alla överförda paket krypteras från början till slut och autentiseras explicit med hjälp av kända publika nycklar för de olika nätverken. Onion-kryptering (som Tor) tillämpas på alla mellanliggande paket. Varje nod kan fungera som antingen en klient eller en värd. server och använda både push- och poll-beteendemodeller.
NNCP skiljer sig från UUCP- och FTN-lösningar (FidoNet Technology Network), utöver den tidigare nämnda krypteringen och autentiseringen, genom att tillhandahålla färdigt stöd för diskettnätverk och datorer som är fysiskt isolerade (air-gapped) från osäkra lokala och publika nätverk. NNCP har också enkel integration (som UUCP) med nuvarande e-posttjänster. servrar, så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
