Toimus Node-to-Node CoPy (NNCP) väljaanne, tööriistade komplekt turvaliseks failide, e-kirjade ja käsuviidete edastamiseks salvestamise ja edastamise režiimis. Toetatakse POSIX-ühilduvate opsüsteemide tööd. Tööriistad on kirjutatud Go keeles ja levitatakse GPLv3 litsentsi alusel.
Tööriistad on suunatud väikeste peer-to-peer sõprade vaheliste võrkude (kümmekond sõlme) loomise abistamisele staatilise marsruutimisega failide turvaliseks edastamiseks fire-and-forget režiimis, failide päringute, e-kirjade ja käsuviidete päringute jaoks. Kõik edastatavad paketid on krüpteeritud (lõpp-lõpuni) ja need autentitakse tuntud avalike võtmete kaudu. Kihiline (nagu Tor) krüptimine rakendatakse kõigile vahepealsetele pakettidele. Iga sõlm võib toimida nii kliendina kui ka serverile kasutada nii push kui ka poll käitumismudelit.
NNCP erineb UUCP ja FTN (FidoNet Technology Network) lahendustest, peale eespool mainitud krüpteerimise ja autentimise, ka selle poolest, et see toetab kohe valmisolekuga floppide võrgustikke ja füüsiliselt isoleeritud (air-gapped) arvuteid, mis ei ole seotud ebaturvaliste kohalike ja avalike võrkudega. NNCP eripära on ka lihtne integreerimine (ühesugune UUCP-ga) olemasolevate postiserveritega, serveritega, nagu Postfix ja Exim.
NNCP võimalikest kasutusvaldkondadest tasub ära märkida, et see võimaldab korraldada posti saatmist/võtmist seadmetes, mis ei ole pidevalt internetiga ühendatud, failide edastamist ebastabiilse võrguühenduse tingimustes, väga suurte andmemahtude turvalist edastamist füüsilistel andmekandjatel, luua Man-in-the-Middle (MitM) rünnakute eest kaitstud isoleeritud andmeedastusvõrke ning ringitada võrgu tsensuuri ja jälgimisega. Kuna dekrüpteerimise võti on ainult saajal, ei saa kolmas isik sisukorda lugeda, isegi kui see saadetise kinni püüab. Samuti ei luba digitaalallkirja autentimine vale saatmise moodustamist teise saatja nime all.
NNCP 8.8.0 uuenduste seas, võrreldes eelmise uudisega (versioon 5.0.0):
- Failide integriteedi kontrollimiseks kasutatakse BLAKE2b asemel nn MTH: Merkle Tree-based Hashing, mis põhineb BLAKE3 hash'il. See võimaldab arvutada paketi krüpteeritud osa integriteeti otse alla laadimise ajal, ilma et peaks seda hiljem lugema. Samuti annab see piiramatud võimalused integriteedi kontrollimise paralleeltööks.
- Uus krüpteeritud pakettide formaat on täiesti voogesitusele sõbralik, kui andmete suurus ei ole ette teada. Edastamise lõpetamise signaal, koos autentitud suurusega, saadetakse otse krüpteeritud voos. Enne tuli edastatavate andmete suuruse väljaselgitamiseks need salvestada ajutisse faili. Seetõttu on 'nncp-exec' meeskonnal kadunud 'use-tmp' valik, mis oli täielikult tarbetu.
- BLAKE2b KDF ja XOF funktsioonid on asendatud BLAKE3-ga, et vähendada kasutatavate krüptograafiliste primitiivide arvu ja koodis lihtsustada.
- Ilmnes võimalus avastada teisi node'e kohalikus võrgus multicastide saatmise kaudu aadressile 'ff02::4e4e:4350'.
- Ilmnesid multiplikaatsioonigrupid (sarnased FidoNeti helikonverentsidele või Useneti uudistegruppidele) võimaldavad ühtse paketi saatmist paljude grupi liikmete jaoks, kus igaüks edastab paketi teistele tellijatele. Multiplikaatsioonipaketi lugemiseks on vajalik teada võtmepaari (tuleb olla grupi liige), kuid edastamist võib teha iga sõlmpunkt.
- Tugevdatud on paketi saamise selge kinnitamise tugi. Saatja võib paketti pärast saatmist mitte kustutada, oodates erilist ACK-paketti saajalt.
- Kaasatud on overlay-võrgu Yggdrasil tugi: online-deemonid võivad olla võrgu täisväärtuslikud iseseisvad osalejad, ilma kolmandate osapoolte Yggdrasili rakendusi ja täielikku töötamist IP-kogumisest virtuaalses võrguliideses.
- Struktureeritud vihikute (RFC 3339) asemel kasutab ajakiri recfile-kirjeid, millega saab kasutada GNU Recutils utiliite.
- Valikuliselt võidakse krüpteeritud pakettide päiseid hoida eraldi failides kaustas „hdr/”, mis kiirendab oluliselt pakettide nimekirja hankimise toiminguid suurte plokkide suurusega failisüsteemidel nagu ZFS. Varem nõudis paketi päise hankimine vaikimisi kogu 128KiB ploki lugemist kettalt.
- Uute failide kontrollimiseks võib valida ka kernel'i kqueue ja inotify alamsüsteemide kasutamise, vähendades süsteemikutsest tingitud väljakutseid.
- Utiliidid hoiavad vähem avatud faile, harvemini toimub nende sulgemine ja uuesti avamine. Suurte pakettide hulkade puhul võib varem tekkida piirang avatud failide maksimaalsel arvul.
- Paljud käsud hakkasid näitama edenemist ja täitmise kiirus, nagu allalaadimise/üleslaadimise, kopeerimise ja töötlemise (toss) operatsioonidel.
- Käsk „nncp-file” suudab edastada mitte ainult üksikfaile, vaid ka kaustu, luues lennult pax-arkhi nende sisu jaoks.
- Online utiliidid võivad valikuliselt kohe pärast paketi edukat allalaadimist kutsuda ülesanne paketihalduseks (tossing), ilma et oleks vaja käivitada eraldi deemonit „nncp-toss”.
- Online osaluse kutse võib toimuda mitte ainult taimeri jaotamise sündmuse järgi, vaid ka tulenevalt väljamineva paketi ilmumisest spool-kausta.
- Töötamine on tagatud NetBSD ja OpenBSD operatsioonisüsteemide puhul, lisaks varasemalt toetatud FreeBSD ja GNU/Linuxile.
- «nncp-daemon» on täielikult ühilduv UCSPI-TCP liidesega. Koos võimalusega logida määratud faili deskriptorisse (näiteks seades «NNCPLOG=FD:4»), on see täielikult ühilduv sarnaste daemontoolsi utiliitide käivitamiseks.
- Projekti koostamine on täielikult üle viidud redo-süsteemile.
Allikas: opennet.ru
