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

Udgivelsen af ​​Node-to-Node CoPy (NNCP), et sæt værktøjer til sikker overførsel af filer, e-mail og kommandoer til udførelse i Store-and-Forward-tilstand. Understøtter drift på POSIX-kompatible operativsystemer. Hjælpeprogrammerne er skrevet i Go og distribueret under GPLv3-licensen.

Hjælpeprogrammerne er fokuseret på at hjælpe med at bygge små peer-to-peer ven-til-ven netværk (snesevis af noder) med statisk routing til sikker brand-og-glem filoverførsler, filanmodninger, e-mail og kommandoanmodninger. Alle transmitterede pakker er krypteret (ende-til-ende) og er eksplicit autentificeret ved hjælp af kendte offentlige nøgler fra venner. Onion (som i Tor) kryptering bruges til alle mellemliggende pakker. Hver node kan fungere som både en klient og en server og bruge både push- og poll-adfærdsmodeller.

Forskellen mellem NNCP og UUCP og FTN (FidoNet Technology Network) løsninger, ud over den førnævnte kryptering og autentificering, er out-of-the-box support til diskettenetværk og computere, der er fysisk isoleret (luftgappede) fra usikre lokale og offentlige netværk. NNCP har også nem integration (på niveau med UUCP) med nuværende mailservere som Postfix og Exim.

Mulige anvendelsesområder for NNCP omfatter organisering af afsendelse/modtagelse af mail til enheder uden permanent forbindelse til internettet, overførsel af filer 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, der omgår netværkscensur og overvågning. Da dekrypteringsnøglen kun er i hænderne på modtageren, uanset om pakken leveres over netværket eller gennem fysiske medier, kan en tredjepart ikke læse indholdet, selvom pakken er opsnappet. Til gengæld tillader autentificering af digital signatur ikke at skabe 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 lige under downloading uden at kræve, at den skal læses i fremtiden. Dette giver også mulighed for ubegrænset parallelisering af integritetstjek.
  • Det nye krypterede pakkeformat er fuldstændig streamingvenligt, når størrelsen på dataene er ukendt på forhånd. Signaleringen af ​​fuldførelsen af ​​overførslen, med en autentificeret størrelse, går direkte inde i den krypterede strøm. Tidligere, for at finde ud af størrelsen på de overførte data, var det nødvendigt at gemme dem i en midlertidig fil. Så kommandoen "nncp-exec" har mistet "-use-tmp", da den er helt 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 på det lokale netværk gennem multicasting til adressen "ff02::4e4e:4350".
  • Multicast-grupper er dukket op (analogt med FidoNet-ekkokonferencer eller Usenet-nyhedsgrupper), hvilket gør det muligt for en pakke at sende data til flere gruppemedlemmer, hvor hver også videresender pakken til resten af ​​underskriverne. At læse en multicast-pakke kræver kendskab til nøgleparret (du skal udtrykkeligt være medlem af gruppen), men videregivelse kan udføres af enhver node.
  • Der er nu understøttelse af eksplicit bekræftelse af pakkemodtagelse. Afsenderen sletter muligvis ikke pakken efter afsendelsen, og venter indtil den modtager 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 uden at arbejde fuldt ud med IP-stakken på en virtuel netværksgrænseflade.
  • I stedet for strukturerede strenge (RFC 3339) bruger loggen recfile-indgange, som kan bruges med GNU Recutils-værktøjerne.
  • Valgfrit kan krypterede pakkehoveder lagres i separate filer i "hdr/"-undermappen, hvilket fremskynder pakkelistehentningsoperationer markant på filsystemer med store blokstørrelser, såsom ZFS. Tidligere krævede hentning af pakkehovedet kun læsning af en 128KiB blok fra disken som standard.
  • Check for nye filer kan valgfrit bruge kqueue og inotify kerneundersystemer, hvilket foretager færre systemkald.
  • Hjælpeprogrammer holder færre åbne filer og lukker og genåbner dem sjældnere. Med et stort antal pakker var det tidligere muligt at løbe ind i en begrænsning på det maksimale antal åbne filer.
  • Mange teams begyndte at vise fremskridtene og hastigheden af ​​operationer såsom download/upload, kopiering og behandling (smid) 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 pakkekastning, efter at en pakke er blevet downloadet, uden at køre en separat "nncp-toss"-dæmon.
  • Et onlineopkald til en anden deltager kan valgfrit ikke kun forekomme, når en timer udløses, men også når en udgående pakke vises i spoolbiblioteket.
  • Sikrer drift 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 (for eksempel 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

Tilføj en kommentar