Megjelent a Node-to-Node CoPy (NNCP), egy olyan segédprogramcsomag, amely lehetővé teszi fájlok, e-mailek és parancsok biztonságos továbbítását store-and-forward üzemmódban. Támogatja a POSIX-kompatibilis operációs rendszereken való működést. A segédprogramok Go nyelven íródtak és GPLv3 licenc alatt terjesztik őket.
A segédprogramok célja, hogy segítsenek kis peer-to-peer friend-to-friend hálózatok (tucatnyi csomópont) összeállításában statikus útvonalvezetéssel, lehetővé téve fájlok biztonságos továbbítását fire-and-forget módban, fájlokra irányuló kérések, e-mailek és parancs-végrehajtási kérések kezelését. Minden továbbított csomag titkosítva van (end-to-end), és kifejezetten hitelesítve van ismerősök nyilvános kulcsai alapján. A Tor-hoz hasonló hagyma titkosítást alkalmaznak az összes közbenső csomagra. Minden csomópont képes ügyfélként és a szerver bármilyen push és poll viselkedési modellt alkalmazni.
Az NNCP eltérése az UUCP és FTN (FidoNet Technology Network) megoldásoktól, a fent említett titkosításon és hitelesítésen kívül, a floppy hálózatok és fizikailag elszigetelt (air-gapped) számítógépek dobozban történő támogatása a nem biztonságos helyi és nyilvános hálózatoktól. Az NNCP egyik jellemzője továbbá a legegyszerűbb integráció a jelenlegi levelezőrendszerekkel (UUCP mellett), szerverek, mint például a Postfix és az Exim.
A NNCP lehetséges alkalmazási területei között említést nyer a levelek küldésének/fogadásának megszervezése olyan eszközökön, amelyeknek nincs állandó internetkapcsolatuk, fájlok továbbítása instabil hálózati kapcsolatok mellett, nagyon nagy mennyiségű adat biztonságos továbbítása fizikai adathordozókon, Man-in-the-Middle (MitM) támadások ellen védett elszigetelt adatátviteli hálózatok létrehozása, valamint a hálózati cenzúra és megfigyelés megkerülése. Mivel a dekódolás kulcsa csak a címzett birtokában van, a csomagok hálózaton vagy fizikai adathordozón való szállítási útvonalától függetlenül harmadik fél nem férhet hozzá a tartalomhoz, még akkor sem, ha elfogja a küldeményt. A digitális aláírás alapján történő hitelesítés viszont nem teszi lehetővé hamis küldemény kialakítását más küldő nevében.
A NNCP 8.8.0 újdonságai az előző hírhez (5.0.0 verzió) képest:
- A BLAKE2b hash is replaced with what is called MTH: Merkle Tree-based Hashing, which uses the BLAKE3 hash. This allows verifying the integrity of the encrypted part of the packet during download without needing to read it later. It also enables unlimited parallel integrity checks.
- The new format of encrypted packets is fully friendly to streaming when the size of the data is unknown in advance. Signaling the end of transmission, along with the authenticated size, occurs directly within the encrypted stream. Previously, to determine the size of the transmitted data, it was necessary to save it to a temporary file. Thus, the ‘nncp-exec’ team has removed the ‘-use-tmp’ option as it is completely unnecessary.
- The BLAKE2b KDF and XOF functions have been replaced with BLAKE3 to reduce the number of cryptographic primitives used and to simplify the code.
- There is now the capability to detect other nodes in the local network via multicast broadcasting to the address ‘ff02::4e4e:4350’.
- Multicast groups (analogous to FidoNet echo conferences or Usenet news groups) have been introduced, allowing data to be sent in one packet to multiple group members, each of whom also retransmits the packet to other subscribers. Reading a multicast packet requires knowledge of the key pair (one must be a member of the group), but retransmission can be performed by any node.
- Support for explicit acknowledgment of packet receipt has been added. The sender can choose not to delete the packet after sending, waiting for a specific ACK packet from the recipient.
- Support for the Yggdrasil overlay network has been built in: online demons can function as fully independent participants in the network, without using third-party Yggdrasil implementations and without full operation with the IP stack on a virtual network interface.
- Instead of structured strings (RFC 3339), the log now uses recfile records, which can work with GNU Recutils utilities.
- Optionally, the headers of encrypted packets can be stored in separate files within the ‘hdr/’ subdirectory, significantly speeding up the operations of retrieving the list of packets on file systems with a large block size, such as ZFS. Previously, retrieving a packet header required reading a full 128KiB block from disk by default.
- A fájlok újabb példányainak ellenőrzése opcionálisan használhatja a kqueue és inotify kernel alrendszereket, csökkentve a rendszerhívások számát.
- A segédeszközök kevesebb nyitott fájlt tartanak fenn, így ritkábban történik fájlok lezárása és újranyitása. Nagy mennyiségű csomag esetén korábban előfordulhatott, hogy elérte a nyitott fájlok maximális számának korlátját.
- Sok parancs kezdett el haladást és a műveletek végrehajtásának sebességét mutatni, mint például a letöltés/kibocsátás, másolás és a csomagok feldolgozása (toss).
- A 'nncp-file' parancs nemcsak egyedi fájlokat, hanem könyvtárakat is képes küldeni, azonnal létrehozva egy pax-archívumot a tartalmukkal.
- Online eszközök lehetőségként azonnal aktiválhatják a csomagok feldolgozásának (tossing) folyamatát a csomag sikeres letöltése után, anélkül, hogy külön 'nncp-toss' démonra lenne szükség.
- Egy másik résztvevő online hívása opcionálisan nemcsak időzítő esemény hatására történhet, hanem akkor is, ha egy kimenő csomag megjelenik a spool könyvtárban.
- A NetBSD és OpenBSD operációs rendszerekkel való működés biztosított, a korábban támogatott FreeBSD és GNU/Linux operációs rendszerek mellett.
- A 'nncp-daemon' teljes mértékben kompatibilis az UCSPI-TCP interfésszel. Továbbá, lehetőséget biztosít a megadott fájlleiratkozási leíróba történő naplózásra (például beállítva 'NNCPLOG=FD:4'), ami teljesen barátságos, ha hasonló eszközökkel (például daemontools) indítják.
- A projekt összeállítása teljesen átállt a redo rendszerre.
Forrás: opennet.ru
