NNCP 8.8.0, utilītas failu/komandu pārsūtīšanai saglabāšanas un pārsūtīšanas režīmā, izlaidums

Node-to-Node CoPy (NNCP) — utilītu kopa drošai failu, e-pasta ziņojumu un komandu pārsūtīšanai, lai tos izpildītu uzglabāšanas un pārsūtīšanas režīmā, izlaidums. Atbalsta darbību ar POSIX saderīgās operētājsistēmās. Utilītas ir rakstītas programmā Go un tiek izplatītas saskaņā ar GPLv3 licenci.

Šīs utilītas ir paredzētas, lai palīdzētu veidot nelielus vienādranga tīklus (desmitiem mezglu) ar statisku maršrutēšanu drošai failu pārsūtīšanai, failu pieprasījumiem, e-pastam un komandu izpildes pieprasījumiem ar tūlītēju aktivizēšanu un aizmirstību. Visas pārsūtītās paketes tiek šifrētas no sākuma līdz beigām un skaidri autentificētas, izmantojot zināmas vienaudžu publiskās atslēgas. Visām starpposma paketēm tiek piemērota Onion šifrēšana (tāpat kā Tor). Katrs mezgls var darboties kā klients vai resursdators. serveris un izmantot gan push, gan aptaujas uzvedības modeļus.

NNCP atšķiras no UUCP un FTN (FidoNet Technology Network) risinājumiem, papildus iepriekšminētajai šifrēšanai un autentifikācijai, nodrošinot gatavu atbalstu diskešu tīkliem un datoriem, kas fiziski izolēti (ar gaisa spraugu) no nedrošiem lokāliem un publiskiem tīkliem. NNCP piedāvā arī vienkāršu integrāciju (tāpat kā UUCP) ar pašreizējiem e-pasta pakalpojumiem. serveri, piemēram, Postfix un Exim.

Iespējamās NNCP pielietošanas jomas ir pasta sūtīšanas/saņemšanas organizēšana uz ierīcēm bez pastāvīga savienojuma ar internetu, failu pārsūtīšana nestabila tīkla savienojuma apstākļos, ļoti liela datu apjoma droša pārsūtīšana uz fiziskajiem datu nesējiem, izolētu datu pārraides tīklu izveide, kas ir aizsargāti no MitM uzbrukumi, apejot tīkla cenzūru un uzraudzību. Tā kā atšifrēšanas atslēga ir tikai saņēmēja rokās, neatkarīgi no tā, vai pakete tiek piegādāta tīklā vai ar fizisko datu nesēju, trešā puse nevar nolasīt saturu, pat ja pakotne tiek pārtverta. Savukārt digitālā paraksta autentifikācija neļauj izveidot fiktīvu ziņojumu cita sūtītāja aizsegā.

Starp NNCP 8.8.0 jauninājumiem, salīdzinot ar iepriekšējiem jaunumiem (versija 5.0.0):

  • BLAKE2b jaukšanas vietā, lai pārbaudītu failu integritāti, tiek izmantota tā sauktā MTH: Merkle Tree balstītā jaukšana, kas izmanto BLAKE3 jaucējfunkciju. Tas ļauj aprēķināt šifrētās paketes daļas integritāti tieši lejupielādes laikā, neprasot to nolasīt nākotnē. Tas arī ļauj neierobežoti paralēli veikt integritātes pārbaudes.
  • Jaunais šifrētais pakešu formāts ir pilnībā draudzīgs straumēšanai, ja datu lielums nav iepriekš zināms. Signalizācija par pārsūtīšanas pabeigšanu ar autentificētu izmēru nonāk tieši šifrētajā straumē. Iepriekš, lai noskaidrotu pārsūtīto datu lielumu, bija nepieciešams tos saglabāt pagaidu failā. Tātad komanda “nncp-exec” ir zaudējusi opciju “-use-tmp”, jo tā ir pilnīgi nevajadzīga.
  • BLAKE2b KDF un XOF funkcijas ir aizstātas ar BLAKE3, lai samazinātu izmantoto kriptogrāfijas primitīvu skaitu un vienkāršotu kodu.
  • Tagad ir iespējams noteikt citus lokālā tīkla mezglus, izmantojot multiraidi uz adresi “ff02::4e4e:4350”.
  • Ir parādījušās multiraides grupas (analogi FidoNet atbalss konferencēm vai Usenet ziņu grupām), kas ļauj vienai paketei nosūtīt datus vairākiem grupas dalībniekiem, kur katrs arī pārsūta paketi pārējiem parakstītājiem. Lai nolasītu multiraides paketi, ir jāzina atslēgu pāri (jums ir skaidri jābūt grupas dalībniekam), bet pārraidi var veikt jebkurš mezgls.
  • Tagad tiek atbalstīts skaidrs pakešu saņemšanas apstiprinājums. Sūtītājs var neizdzēst paketi pēc nosūtīšanas, gaidot, līdz tas saņem īpašu ACK paketi no saņēmēja.
  • Iebūvēts Yggdrasil pārklājuma tīkla atbalsts: tiešsaistes dēmoni var darboties kā pilntiesīgi neatkarīgi tīkla dalībnieki, neizmantojot trešās puses Yggdrasil implementācijas un pilnībā nedarbojoties ar IP steku virtuālajā tīkla saskarnē.
  • Strukturētu virkņu (RFC 3339) vietā žurnālā tiek izmantoti recfile ieraksti, kurus var izmantot ar GNU Recutils utilītprogrammām.
  • Pēc izvēles šifrētās pakešu galvenes var glabāt atsevišķos failos apakšdirektorijā "hdr/", ievērojami paātrinot pakešu sarakstu izguves operācijas failu sistēmās ar lieliem bloku izmēriem, piemēram, ZFS. Iepriekš, lai izgūtu paketes galveni, pēc noklusējuma no diska bija jānolasa tikai 128 KiB bloks.
  • Pārbaudot jaunus failus, pēc izvēles var izmantot kqueue un informēt kodola apakšsistēmas, padarot mazāk sistēmas izsaukumu.
  • Utilītas saglabā mazāk atvērtu failu un aizver un atkārtoti atver tos retāk. Ar lielu pakotņu skaitu iepriekš bija iespējams saskarties ar ierobežojumu attiecībā uz maksimālo atvērto failu skaitu.
  • Daudzas komandas sāka demonstrēt tādu darbību progresu un ātrumu kā pakotņu lejupielāde/augšupielāde, kopēšana un apstrāde (izmest).
  • Komanda “nncp-file” var nosūtīt ne tikai atsevišķus failus, bet arī direktorijus, izveidojot pax arhīvu ar to saturu.
  • Tiešsaistes utilītas pēc izvēles var nekavējoties izsaukt pakešu mētāšanu pēc pakotnes veiksmīgas lejupielādes, nepalaižot atsevišķu "nncp-toss" dēmonu.
  • Tiešsaistes zvans citam dalībniekam pēc izvēles var notikt ne tikai tad, kad tiek aktivizēts taimeris, bet arī tad, kad spoles direktorijā parādās izejošā pakete.
  • Nodrošina darbību NetBSD un OpenBSD OS, papildus iepriekš atbalstītajiem FreeBSD un GNU/Linux.
  • "nncp-daemon" ir pilnībā savietojams ar UCSPI-TCP saskarni. Kopā ar iespēju reģistrēties noteiktam faila deskriptoram (piemēram, iestatot "NNCPLOG=FD:4"), tas ir pilnīgi draudzīgs darbam ar daemontools līdzīgām utilītprogrammām.
  • Projekta montāža ir pilnībā pārnesta uz redo sistēmu.

Avots: opennet.ru