Izdanje NNCP 8.8.0, uslužni programi za prijenos datoteka/komandi u načinu rada za spremanje i prosljeđivanje

Izdanje Node-to-Node CoPy (NNCP), skup uslužnih programa za siguran prijenos datoteka, e-pošte i naredbi za izvršenje u načinu rada za skladištenje i prosljeđivanje. Podržava rad na POSIX-kompatibilnim operativnim sistemima. Uslužni programi su napisani u Go i distribuirani pod GPLv3 licencom.

Uslužni programi su fokusirani na pomaganje u izgradnji malih peer-to-peer mreža prijatelj-prijatelj (desetine čvorova) sa statičkim rutiranjem za siguran prijenos datoteka, zahtjeva za fajlove, e-poštu i komande. Svi poslani paketi su šifrirani (end-to-end) i eksplicitno su autentificirani korištenjem poznatih javnih ključeva prijatelja. Onion (kao u Tor) enkripciji se koristi za sve međupakete. Svaki čvor može djelovati i kao klijent i kao server i koristiti i push i poll model ponašanja.

Razlika između NNCP i UUCP i FTN (FidoNet Technology Network) rješenja, uz gore spomenutu enkripciju i autentifikaciju, je gotova podrška za flopinet mreže i računare fizički izolovane (air-gapped) od nesigurnih lokalnih i javne mreže. NNCP takođe ima laku integraciju (uporedo sa UUCP) sa trenutnim serverima pošte kao što su Postfix i Exim.

Moguća područja primjene NNCP-a uključuju organiziranje slanja/prijema pošte na uređaje bez stalne veze s internetom, prijenos datoteka u uvjetima nestabilne mrežne veze, siguran prijenos vrlo velikih količina podataka na fizičkim medijima, stvaranje izolovanih mreža za prijenos podataka zaštićenih od MitM napadi, zaobilazeći mrežnu cenzuru i nadzor. Budući da je ključ za dešifriranje samo u rukama primatelja, bez obzira da li se paket isporučuje preko mreže ili putem fizičkog medija, treća strana ne može pročitati sadržaj, čak i ako je paket presretnut. Zauzvrat, autentifikacija digitalnim potpisom ne dozvoljava kreiranje fiktivne poruke pod krinkom drugog pošiljaoca.

Među inovacijama NNCP 8.8.0, u poređenju sa prethodnim vijestima (verzija 5.0.0):

  • Umjesto BLAKE2b heša, za provjeru integriteta datoteka koristi se takozvani MTH: Merkle Tree-based Hashing, koji koristi heš BLAKE3. Ovo vam omogućava da izračunate integritet šifrovanog dela paketa direktno tokom preuzimanja, bez potrebe da se čita u budućnosti. Ovo također omogućava neograničeno paraleliziranje provjera integriteta.
  • Novi format šifriranog paketa je u potpunosti pogodan za streaming kada je veličina podataka unaprijed nepoznata. Signalizacija završetka prijenosa, s provjerenom veličinom, ide direktno unutar šifriranog toka. Ranije, da biste saznali veličinu prenesenih podataka, bilo je potrebno spremiti ih u privremenu datoteku. Tako je komanda “nncp-exec” izgubila opciju “-use-tmp” jer je potpuno nepotrebna.
  • BLAKE2b KDF i XOF funkcije zamijenjene su sa BLAKE3 kako bi se smanjio broj korištenih kriptografskih primitiva i pojednostavio kod.
  • Sada je moguće otkriti druge čvorove na lokalnoj mreži putem multicastinga na adresu “ff02::4e4e:4350”.
  • Pojavile su se višestruke grupe (analogne FidoNet eho konferencijama ili Usenet grupama novosti), koje omogućavaju jednom paketu da pošalje podatke više članova grupe, gdje svaki također prosljeđuje paket ostalim potpisnicima. Čitanje multicast paketa zahteva poznavanje para ključeva (morate eksplicitno biti član grupe), ali prenošenje može da obavi bilo koji čvor.
  • Sada postoji podrška za eksplicitnu potvrdu prijema paketa. Pošiljalac možda neće izbrisati paket nakon slanja, čekajući dok ne primi poseban ACK paket od primaoca.
  • Ugrađena podrška za Yggdrasil preklapajuću mrežu: onlajn demoni mogu djelovati kao punopravni nezavisni učesnici mreže, bez korištenja Yggdrasil implementacija treće strane i bez potpunog rada sa IP stekom na virtualnom mrežnom sučelju.
  • Umjesto strukturiranih stringova (RFC 3339), dnevnik koristi recfile unose, koji se mogu koristiti sa uslužnim programima GNU Recutils.
  • Opciono, šifrovana zaglavlja paketa mogu biti uskladištena u odvojenim datotekama u poddirektorijumu "hdr/", što značajno ubrzava operacije preuzimanja liste paketa na sistemima datoteka sa velikim veličinama blokova, kao što je ZFS. Ranije je preuzimanje zaglavlja paketa podrazumevano zahtevalo čitanje samo bloka od 128KiB sa diska.
  • Provjera novih datoteka može opciono koristiti kqueue i inotify podsisteme kernela, čineći manje sistemskih poziva.
  • Uslužni programi drže manje otvorenih datoteka i rjeđe ih zatvaraju i ponovo otvaraju. Uz veliki broj paketa, ranije je bilo moguće naići na ograničenje maksimalnog broja otvorenih datoteka.
  • Mnogi timovi su počeli da pokazuju napredak i brzinu operacija kao što su preuzimanje/učitavanje, kopiranje i obrada (bacanje) paketa.
  • Komanda “nncp-file” može poslati ne samo pojedinačne datoteke, već i direktorije, kreirajući pax arhivu sa njihovim sadržajem u hodu.
  • Online uslužni programi mogu opciono odmah pozvati bacanje paketa nakon što je paket uspješno preuzet, bez pokretanja zasebnog "nncp-toss" demona.
  • Poziv na mreži drugom učesniku može se opciono desiti ne samo kada se aktivira tajmer, već i kada se odlazni paket pojavi u direktorijumu spool.
  • Osigurava operativnost pod NetBSD i OpenBSD OS, uz prethodno podržane FreeBSD i GNU/Linux.
  • "nncp-daemon" je potpuno kompatibilan sa UCSPI-TCP interfejsom. Zajedno sa mogućnošću prijavljivanja na određeni deskriptor datoteke (na primjer postavljanjem "NNCPLOG=FD:4"), potpuno je prijateljski za pokretanje pod uslužnim programima sličnim daemontoolsu.
  • Projektni sklop je u potpunosti prebačen u sistem za popravku.

izvor: opennet.ru

Dodajte komentar