Liberazione di NNCP 8.8.0, utilità per u trasferimentu di fugliali / cumandamenti in modu store-and-forward

A liberazione di Node-to-Node CoPy (NNCP), un inseme di utilità per u trasferimentu sicuru di fugliali, email è cumandamenti per l'esekzione in modu store-and-forward. Supporta l'operazione nantu à i sistemi operativi compatibili POSIX. L'utilità sò scritte in Go è distribuite sottu a licenza GPLv3.

Queste utilità sò cuncepite per aiutà à custruisce piccule rete peer-to-peer friend-to-friend (decine di nodi) cù routing staticu per trasferimenti di file sicuri di tipu "fire-and-forget", richieste di file, email è richieste di esecuzione di cumandamenti. Tutti i pacchetti trasmessi sò criptati end-to-end è autenticati esplicitamente utilizendu chjave publiche cunnisciute di i peer. A crittografia Onion (cum'è Tor) hè applicata à tutti i pacchetti intermedi. Ogni nodu pò agisce cum'è un cliente o un host. servitore è aduprate i mudelli di cumpurtamentu push è poll.

NNCP hè differente da e suluzioni UUCP è FTN (FidoNet Technology Network), in più di a crittografia è l'autenticazione sopra menzionate, furnendu un supportu prontu à l'usu per e rete floppy è l'urdinatori fisicamente isolati (air-gapped) da e rete lucali è publiche insicure. NNCP offre ancu una facile integrazione (cum'è UUCP) cù i servizii di email attuali. servitori, cum'è Postfix è Exim.

I pussibuli spazii d'applicazione per NNCP includenu l'urganizazione di l'invio / ricezione di mail à i dispositi senza una cunnessione permanente à Internet, u trasferimentu di fugliali in cundizioni di una cunnessione di rete inestable, u trasferimentu in modu sicuru di quantità assai grande di dati nantu à i media fisici, a creazione di rete di trasmissione di dati isolate protette da Attacchi MitM, sguassendu a censura di a rete è a vigilazione. Siccomu a chjave di decryption hè solu in e mani di u destinatariu, indipendentemente da se u pacchettu hè mandatu nantu à una reta o attraversu media fisicu, un terzu ùn pò micca leghje u cuntenutu, ancu s'ellu u pacchettu hè interceptatu. À u turnu, l'autentificazione cù una firma digitale ùn permette micca di creà un missaghju fittiziu sottu a forma di un altru mittente.

Trà l'innuvazioni di NNCP 8.8.0, paragunatu à a nutizia precedente (versione 5.0.0):

  • Invece di l'hash BLAKE2b, u chjamatu MTH: Merkle Tree-based Hashing, chì usa l'hash BLAKE3, hè utilizatu per verificà l'integrità di i schedari. Questu permette di calculà l'integrità di a parte criptata di u pacchettu ghjustu durante u scaricamentu, senza esse bisognu di leghje in u futuru. Questu permette ancu una parallelizazione illimitata di u cuntrollu di integrità.
  • U novu furmatu di pacchettu criptatu hè cumplettamente streaming-friendly quandu a dimensione di e dati hè scunnisciuta in anticipu. A signalazione di u cumpletu di u trasferimentu, cù una dimensione autentificata, và direttamente in u flussu criptatu. Prima, per sapè a dimensione di i dati trasferiti, era necessariu di salvà in un schedariu pruvisoriu. Allora u cumandamentu "nncp-exec" hà persu l'opzione "-use-tmp" perchè ùn hè micca necessariu.
  • E funzioni BLAKE2b KDF è XOF sò stati rimpiazzati da BLAKE3 per riduce u numeru di primitivi criptografici utilizati è simplificà u codice.
  • Avà hè pussibule detectà altri nodi nantu à a reta lucale attraversu multicasting à l'indirizzu "ff02::4e4e:4350".
  • I gruppi multicast sò apparsu (analogicu à e cunferenze di eco FidoNet o gruppi di nutizie Usenet), chì permettenu un pacchettu per mandà dati à parechji membri di u gruppu, induve ognunu trasmette ancu u pacchettu à u restu di i firmatari. A lettura di un pacchettu multicast richiede a cunniscenza di a coppia di chjave (duvete esse esplicitamente un membru di u gruppu), ma a trasmissione pò esse fatta da qualsiasi node.
  • Ci hè avà un supportu per a cunferma esplicita di a ricezione di u pacchettu. U mittente ùn pò micca sguassà u pacchettu dopu à u mandatu, aspittendu finu à chì riceve un pacchettu ACK speciale da u receptore.
  • Supportu integratu per a reta di sovrapposizione Yggdrasil: i demoni in linea ponu agisce cum'è participanti di a rete indipendenti, senza aduprà implementazioni Yggdrasil di terzu è senza travaglià cumplettamente cù a pila IP in una interfaccia di rete virtuale.
  • Invece di stringhe strutturate (RFC 3339), u logu usa entrate di recfile, chì ponu esse aduprate cù l'utilità GNU Recutils.
  • Opzionalmente, l'intestazione di i pacchetti criptati ponu esse guardati in schedarii separati in u subdirectory "hdr/", accelendu significativamente l'operazioni di ricuperazione di a lista di pacchetti in sistemi di fugliale cù grandi dimensioni di blocchi, cum'è ZFS. In precedenza, a ricuperazione di l'intestazione di u pacchettu necessitava di leghje solu un bloccu di 128 KiB da u discu per difettu.
  • A verificazione di novi fugliali pò opzionalmente usà a kqueue è inotify i sottosistemi di u kernel, facendu menu chjama di u sistema.
  • L'utilità mantene menu schedari aperti è chjude è riapre menu frequentemente. Cù un gran numaru di pacchetti, prima era pussibule di curriri in una limitazione di u numeru massimu di schedari aperti.
  • Parechje squadre cuminciaru à mustrà u prugressu è a rapidità di l'operazioni cum'è scaricamentu / caricamentu, copià è trasfurmà (tirrà) pacchetti.
  • U cumandamentu "nncp-file" pò mandà micca solu i fugliali unichi, ma ancu cartulari, creendu un archiviu pax cù u so cuntenutu nantu à a mosca.
  • L'utilità in linea ponu opzionalmente chjamà immediatamente u tossing dopu chì un pacchettu hè statu scaricatu cù successu, senza eseguisce un daemon nncp-toss separatu.
  • Una chjama in linea à un altru participante pò esse opzionalmente micca solu quandu un timer hè attivatu, ma ancu quandu un pacchettu in uscita appare in u cartulare spool.
  • Assicura l'operabilità sottu NetBSD è OpenBSD OS, in più di FreeBSD è GNU/Linux supportati prima.
  • "nncp-daemon" hè cumplettamente cumpatibile cù l'interfaccia UCSPI-TCP. Accoppiata cù l'abilità di logà à un descriptore di u schedariu specificatu (per esempiu, cunfittendu "NNCPLOG = FD: 4"), hè cumplettamente amichevule per eseguisce sottu utilità daemontools-like.
  • L'assemblea di u prugettu hè stata completamente trasferita à u sistema di redo.

Source: opennet.ru