Lansarea NNCP 8.8.0, utilitare pentru transferul fișierelor/comenzilor în modul stocare și redirecționare

Lansarea Node-to-Node CoPy (NNCP), un set de utilitare pentru transferul securizat de fișiere, e-mail și comenzi pentru execuție în modul stocare și redirecționare. Suporta operarea pe sisteme de operare compatibile POSIX. Utilitățile sunt scrise în Go și distribuite sub licență GPLv3.

Aceste utilitare sunt concepute pentru a ajuta la construirea de rețele mici peer-to-peer friend-to-friend (zeci de noduri) cu rutare statică pentru transferuri de fișiere securizate de tip „fire-and-forget”, cereri de fișiere, e-mailuri și cereri de executare a comenzilor. Toate pachetele transmise sunt criptate end-to-end și autentificate explicit folosind chei publice cunoscute ale peer-ilor. Criptarea Onion (cum ar fi Tor) este aplicată tuturor pachetelor intermediare. Fiecare nod poate acționa fie ca client, fie ca gazdă. Server și utilizează atât modele de comportament push, cât și poll.

NNCP diferă de soluțiile UUCP și FTN (FidoNet Technology Network), pe lângă criptarea și autentificarea menționate anterior, prin furnizarea de suport predefinit pentru rețele de dischete și computere izolate fizic (cu spațiu liber) de rețelele locale și publice nesigure. NNCP oferă, de asemenea, o integrare ușoară (la fel ca UUCP) cu serviciile de e-mail actuale. servere, cum ar fi Postfix și Exim.

Domeniile posibile de aplicare pentru NNCP includ organizarea trimiterii/primirii de corespondență către dispozitive fără o conexiune permanentă la Internet, transferul de fișiere în condițiile unei conexiuni instabile la rețea, transferul în siguranță a unor cantități foarte mari de date pe medii fizice, crearea de rețele izolate de transmisie a datelor protejate de Atacurile MitM, ocolind cenzura și supravegherea rețelei. Deoarece cheia de decriptare se află doar în mâinile destinatarului, indiferent dacă pachetul este livrat prin rețea sau prin medii fizice, o terță parte nu poate citi conținutul, chiar dacă pachetul este interceptat. La rândul său, autentificarea semnăturii digitale nu permite crearea unui mesaj fictiv sub masca altui expeditor.

Printre inovațiile NNCP 8.8.0, comparativ cu știrile anterioare (versiunea 5.0.0):

  • În loc de hash-ul BLAKE2b, așa-numitul MTH: Merkle Tree-based Hashing, care utilizează hash-ul BLAKE3, este folosit pentru a verifica integritatea fișierelor. Acest lucru vă permite să calculați integritatea părții criptate a pachetului chiar în timpul descărcării, fără a necesita citirea acesteia în viitor. Acest lucru permite, de asemenea, paralelizarea nelimitată a verificărilor de integritate.
  • Noul format de pachet criptat este complet prietenos cu fluxul atunci când dimensiunea datelor este necunoscută în prealabil. Semnalizarea finalizării transferului, cu o dimensiune autentificată, merge direct în fluxul criptat. Anterior, pentru a afla dimensiunea datelor transferate, a fost necesar să le salvați într-un fișier temporar. Deci comanda „nncp-exec” a pierdut opțiunea „-use-tmp”, deoarece este complet inutilă.
  • Funcțiile BLAKE2b KDF și XOF au fost înlocuite cu BLAKE3 pentru a reduce numărul de primitive criptografice utilizate și a simplifica codul.
  • Acum este posibil să detectați alte noduri din rețeaua locală prin multicasting la adresa „ff02::4e4e:4350”.
  • Au apărut grupuri multicast (analog cu conferințele de eco FidoNet sau grupurile de știri Usenet), permițând unui pachet să trimită date către mai mulți membri ai grupului, unde fiecare transmite pachetul și către restul semnatarilor. Citirea unui pachet multicast necesită cunoașterea perechii de chei (trebuie să fiți în mod explicit membru al grupului), dar transmiterea poate fi făcută de orice nod.
  • Acum există suport pentru confirmarea explicită a primirii pachetului. Expeditorul nu poate șterge pachetul după trimitere, așteptând până când primește un pachet ACK special de la receptor.
  • Suport încorporat pentru rețeaua de suprapunere Yggdrasil: demonii online pot acționa ca participanți la rețea independenți cu drepturi depline, fără a utiliza implementări Yggdrasil terțe și fără a lucra pe deplin cu stiva IP pe o interfață de rețea virtuală.
  • În loc de șiruri structurate (RFC 3339), jurnalul folosește intrări recfile, care pot fi folosite cu utilitarele GNU Recutils.
  • Opțional, anteturile de pachete criptate pot fi stocate în fișiere separate în subdirectorul „hdr/”, accelerând semnificativ operațiunile de recuperare a listelor de pachete pe sistemele de fișiere cu blocuri de dimensiuni mari, cum ar fi ZFS. Anterior, preluarea antetului pachetului necesita citirea implicită doar a unui bloc de 128 KiB de pe disc.
  • Verificarea fișierelor noi poate folosi opțional kqueue și inotify subsistemele kernelului, efectuând mai puține apeluri de sistem.
  • Utilitare păstrează mai puține fișiere deschise și le închid și redeschid mai rar. Cu un număr mare de pachete, anterior era posibil să se confrunte cu o limitare a numărului maxim de fișiere deschise.
  • Multe echipe au început să arate progresul și viteza operațiunilor precum descărcarea/încărcarea, copierea și procesarea (aruncarea) pachetelor.
  • Comanda „nncp-file” poate trimite nu numai fișiere individuale, ci și directoare, creând o arhivă pax cu conținutul lor din mers.
  • Opțional, utilitarele online pot apela imediat tossing după ce un pachet a fost descărcat cu succes, fără a rula un daemon separat nncp-toss.
  • Un apel online către un alt participant poate avea loc opțional nu numai atunci când este declanșat un cronometru, ci și atunci când un pachet de ieșire apare în directorul spool.
  • Asigură operabilitatea sub NetBSD și OpenBSD OS, pe lângă FreeBSD și GNU/Linux acceptate anterior.
  • „nncp-daemon” este pe deplin compatibil cu interfața UCSPI-TCP. Împreună cu capacitatea de a vă conecta la un descriptor de fișier specificat (de exemplu, prin setarea „NNCPLOG=FD:4”), este complet ușor de rulat sub utilitare de tip daemontools.
  • Ansamblul proiectului a fost complet transferat în sistemul redo.

Sursa: opennet.ru