Udgivelse af NNCP 8.8.0, værktøjer til overførsel af filer/kommandoer i gem-og-send-tilstand

Node-to-Node CoPy (NNCP), et sæt værktøjer til sikker filoverførsel, e-mail og udførelse af store-and-forward-kommandoer, er blevet frigivet. Understøtter drift på POSIX-kompatible operativsystemer. Hjælpeprogrammerne er skrevet i Go og er licenseret under GPLv3-licensen.

Disse værktøjer er designet til at hjælpe med at opbygge små peer-to-peer ven-til-ven-netværk (snesevis af noder) med statisk routing til sikre "fire-and-forget"-filoverførsler, filanmodninger, e-mails og kommandoudførelsesanmodninger. Alle transmitterede pakker krypteres end-to-end og autentificeres eksplicit ved hjælp af kendte offentlige nøgler fra peers. Onion-kryptering (som Tor) anvendes på alle mellemliggende pakker. Hver node kan fungere som enten en klient eller en vært. server og brug både push- og poll-adfærdsmodeller.

NNCP adskiller sig fra UUCP- og FTN-løsninger (FidoNet Technology Network), udover den førnævnte kryptering og godkendelse, ved at tilbyde standardunderstøttelse af floppynetværk og computere, der er fysisk isoleret (air-gapped) fra usikre lokale og offentlige netværk. NNCP har også nem integration (som UUCP) med nuværende e-mailtjenester. servere, såsom Postfix og Exim.

Mulige anvendelsesområder for NNCP omfatter organisering af afsendelse/modtagelse af mail til enheder uden en permanent internetforbindelse, filoverførsel under forhold med en ustabil netværksforbindelse, sikker overførsel af meget store mængder data på fysiske medier, oprettelse af isolerede datatransmissionsnetværk beskyttet mod MitM-angreb og omgåelse af netværkscensur og overvågning. Da dekrypteringsnøglen kun er hos modtageren, uanset leveringsvejen for pakken over netværket eller via fysiske medier, kan en tredjepart ikke læse indholdet, selvom de opsnapper beskeden. Til gengæld tillader autentificering ved hjælp af digital signatur ikke oprettelsen af ​​en fiktiv besked under dække af en anden afsender.

Blandt innovationerne i NNCP 8.8.0 sammenlignet med de tidligere nyheder (version 5.0.0):

  • I stedet for BLAKE2b-hashen bruges den såkaldte MTH: Merkle Tree-based Hashing, som bruger BLAKE3-hashen, til at kontrollere filernes integritet. Dette giver dig mulighed for at beregne integriteten af ​​den krypterede del af pakken direkte under download, uden at det skal læses senere. Dette giver også mulighed for ubegrænset parallelisering af integritetskontrol.
  • Det nye krypterede pakkeformat er fuldstændig streamingvenligt, når datastørrelsen ikke er kendt på forhånd. Signaleringen af ​​​​overførslens afslutning, med en autentificeret størrelse, går direkte ind i den krypterede strøm. Tidligere var det nødvendigt at gemme de overførte data i en midlertidig fil for at finde ud af størrelsen på dem. Så kommandoen "nncp-exec" har mistet muligheden "-use-tmp", da den er fuldstændig unødvendig.
  • BLAKE2b KDF- og XOF-funktionerne er blevet erstattet af BLAKE3 for at reducere antallet af anvendte kryptografiske primitiver og forenkle koden.
  • Det er nu muligt at detektere andre noder i det lokale netværk via multicast til adressen "ff02::4e4e:4350".
  • Multicast-grupper (analoge med FidoNet-ekkokonferencer eller Usenet-nyhedsgrupper) er opstået, der gør det muligt at sende data i en enkelt pakke til flere gruppemedlemmer, hvor hvert medlem også videresender pakken til de andre underskrivere. Læsning af en multicast-pakke kræver kendskab til nøgleparret (du skal eksplicit være medlem af gruppen), men retransmission kan udføres af enhver node.
  • Understøttelse af eksplicit bekræftelse af pakkemodtagelse er tilføjet. Afsenderen sletter muligvis ikke pakken efter at have sendt den og venter på at modtage en speciel ACK-pakke fra modtageren.
  • Indbygget understøttelse af Yggdrasil overlay-netværket: online-dæmoner kan fungere som fuldgyldige uafhængige netværksdeltagere uden at bruge tredjeparts Yggdrasil-implementeringer og fuldt ud arbejde med IP-stakken på en virtuel netværksgrænseflade.
  • I stedet for strukturerede linjer (RFC 3339) bruger loggen recfile-poster, der kan bruges med GNU Recutils-værktøjerne.
  • Valgfrit kan krypterede pakkeoverskrifter gemmes i separate filer i "hdr/"-undermappen, hvilket fremskynder pakkelisteoperationer markant på filsystemer med stor blokstørrelse, såsom ZFS. Tidligere krævede det som standard kun at læse en 128KiB blok fra disken for at få en pakkeheader.
  • Check for nye filer kan valgfrit bruge kqueue og inotify kerneundersystemer, hvilket foretager færre systemkald.
  • Hjælpeprogrammer holder færre åbne filer, og de lukkes og genåbnes sjældnere. Tidligere var det med et stort antal pakker muligt at løbe ind i grænsen for det maksimale antal åbne filer.
  • Mange teams begyndte at vise fremskridt og hastighed af operationer, såsom download/upload, kopiering og behandling (kastning) af pakker.
  • Kommandoen "nncp-file" kan sende ikke kun enkelte filer, men også mapper, hvilket skaber et pax-arkiv med deres indhold på farten.
  • Online-værktøjer kan valgfrit straks påkalde kasteprocessen efter en vellykket download af en pakke uden at starte en separat "nncp-toss"-dæmon.
  • Et online-opkald til en anden deltager kan valgfrit ikke kun forekomme ved timer-udløsningshændelsen, men også ved forekomsten af ​​en udgående pakke i spool-biblioteket.
  • Sikret funktionalitet under NetBSD og OpenBSD OS, foruden tidligere understøttede FreeBSD og GNU/Linux.
  • "nncp-daemon" er fuldt ud kompatibel med UCSPI-TCP-grænsefladen. Sammen med muligheden for at logge på en specificeret filbeskrivelse (f.eks. ved at indstille "NNCPLOG=FD:4"), er det fuldstændig venligt at køre under daemontools-lignende hjælpeprogrammer.
  • Projektsamlingen er helt overført til redo-systemet.

Kilde: opennet.ru