Izdanje NNCP 8.8.0, uslužnih programa za prijenos datoteka/naredbi u načinu pohranjivanja i prosljeđivanja

Izdanje Node-to-Node CoPy (NNCP), skupa uslužnih programa za siguran prijenos datoteka, e-poštu i naredbe za pohranjivanje i prosljeđivanje. Podržava rad na POSIX-kompatibilnim operacijskim sustavima. Pomoćni programi napisani su na jeziku Go i distribuirani pod licencom GPLv3.

Pomoćni programi su dizajnirani da pomognu u izgradnji malih peer-to-peer mreža prijatelj-prijatelj (desetke čvorova) sa statičkim usmjeravanjem za siguran prijenos datoteka, zahtjeva za datotekama, e-pošte i izvršavanja naredbi. Svi poslani paketi su šifrirani (end-to-end) i eksplicitno autentificirani prema poznatim javnim ključevima prijatelja. Onion (kao u Tor) enkripcija primjenjuje se na sve međupakete. Svaki čvor može djelovati i kao klijent i kao poslužitelj te koristiti i push i poll ponašanja.

Razlika između NNCP i UUCP i FTN (FidoNet Technology Network) rješenja, uz gore spomenutu enkripciju i autentifikaciju, je podrška izvan okvira za floppynet mreže i računala koja su fizički izolirana (air-gapped) od nesigurnih lokalnih i javnih mreža . NNCP također ima jednostavnu integraciju (u rangu s UUCP) s trenutnim poslužiteljima pošte kao što su Postfix i Exim.

Od mogućih područja primjene NNCP-a, organizacija slanja/primanja 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 izoliranih podataka mreže zaštićene od MitM napada, zaobilazeći mrežnu cenzuru i nadzor. Budući da je ključ za dešifriranje samo kod primatelja, bez obzira na to kako je paket isporučen preko mreže ili putem fizičkog medija, treća strana ne može pročitati sadržaj, čak ni presretanjem slanja. Zauzvrat, provjera autentičnosti digitalnog potpisa ne dopušta vam stvaranje fiktivne pošiljke pod krinkom drugog pošiljatelja.

Među inovacijama NNCP 8.8.0, u usporedbi s prethodnim vijestima (verzija 5.0.0):

  • Umjesto BLAKE2b hash-a, takozvani MTH: Hashing na temelju Merkleovog stabla koristi se za provjeru integriteta datoteka, koristeći BLAKE3 hash. To vam omogućuje da izračunate integritet šifriranog dijela paketa tijekom preuzimanja, bez potrebe da ga kasnije čitate. Također omogućuje neograničenu paralelizaciju provjera integriteta.
  • Novi šifrirani format paketa potpuno je pogodan za strujanje kada veličina podataka nije unaprijed poznata. Signalizacija završetka prijenosa, s autentificiranom veličinom, ide točno unutar šifriranog toka. Ranije, da bi se saznala veličina prenesenih podataka, bilo ih je potrebno spremiti u privremenu datoteku. Tako je naredba "nncp-exec" izgubila opciju "-use-tmp" jer je potpuno nepotrebna.
  • Funkcije BLAKE2b KDF i XOF zamijenjene su funkcijom BLAKE3 kako bi se smanjio broj korištenih kriptografskih primitiva i pojednostavio kod.
  • Sada je moguće detektirati druge čvorove u lokalnoj mreži putem multicastinga na adresi "ff02::4e4e:4350".
  • Pojavile su se multicast grupe (analogno FidoNet echo konferencijama ili Usenet news grupama), dopuštajući jednom paketu da pošalje podatke mnogim članovima grupe, gdje svaki također prosljeđuje paket drugim potpisnicima. Čitanje multicast paketa zahtijeva poznavanje para ključeva (morate izričito biti član grupe), ali relej može obaviti bilo koji čvor.
  • Dodana podrška za eksplicitnu potvrdu prijema paketa. Pošiljatelj može odlučiti da ne izbriše paket nakon što je poslan, čekajući da se od primatelja primi poseban ACK paket.
  • Ugrađena podrška za Yggdrasil mrežu preklapanja: mrežni demoni mogu djelovati kao punopravni neovisni sudionici mreže, bez upotrebe Yggdrasil implementacija trećih strana i potpunog rada s IP stogom na virtualnom mrežnom sučelju.
  • Umjesto strukturiranih nizova (RFC 3339), zapisnik koristi recfile unose koji se mogu koristiti s GNU Recutils uslužnim programima.
  • Po izboru, šifrirana zaglavlja paketa mogu se pohraniti u zasebne datoteke u poddirektoriju "hdr/", čime se znatno ubrzavaju operacije ispisivanja paketa na datotečnim sustavima velikih blokova kao što je ZFS. Prethodno je dohvaćanje zaglavlja paketa zahtijevalo, prema zadanim postavkama, samo blok od 128KiB za čitanje s diska.
  • Provjera novih datoteka može izborno koristiti kqueue i inotify kernel podsustave, čineći manje sistemskih poziva.
  • Uslužni programi drže manje otvorenih datoteka, manja je vjerojatnost da će se zatvoriti i ponovno otvoriti. S velikim brojem paketa prije je bilo moguće naići na ograničenje maksimalnog broja otvorenih datoteka.
  • Mnoge naredbe počele su prikazivati ​​napredak i brzinu operacija, kao što su preuzimanje/upload, kopiranje i obrada (bacanje) paketa.
  • Naredba "nncp-file" može slati ne samo pojedinačne datoteke, već i direktorije, stvarajući pax arhivu s njihovim sadržajem u hodu.
  • Mrežni uslužni programi mogu izborno pozvati proces obrade paketa (bacanje) odmah nakon uspješnog preuzimanja paketa, bez pokretanja zasebnog "nncp-toss" demona.
  • Mrežni poziv drugom sudioniku može se izborno dogoditi ne samo kada se aktivira mjerač vremena, već i kada se odlazni paket pojavi u imeniku spoola.
  • Omogućena je radna sposobnost pod operativnim sustavima NetBSD i OpenBSD, uz prethodno podržane FreeBSD i GNU/Linux.
  • "nncp-daemon" je potpuno kompatibilan s UCSPI-TCP sučeljem. Zajedno s mogućnošću prijavljivanja na određeni deskriptor datoteke (na primjer, postavljanje "NNCPLOG=FD:4"), potpuno je prijateljski pokretan pod uslužnim programima sličnim daemontools.
  • Sastavljanje projekta u potpunosti se prenosi na redo sustav.

Izvor: opennet.ru

Dodajte komentar