La sortie de Node-to-Node CoPy (NNCP), un ensemble d'outils pour le transfert sécurisé de fichiers, d'e-mails et de commandes à exécuter en mode store-and-forward, a eu lieu. Une compatibilité avec les systÚmes d'exploitation compatibles POSIX est assurée. Les outils sont écrits en Go et sont distribués sous licence GPLv3.
Les outils sont conçus pour aider Ă la crĂ©ation de petits rĂ©seaux pairs-Ă -pairs (une douzaine de nĆuds) avec routage statique pour le transfert sĂ©curisĂ© de fichiers en mode fire-and-forget, de demandes de fichiers, d'e-mails et de requĂȘtes d'exĂ©cution de commandes. Tous les paquets transfĂ©rĂ©s sont chiffrĂ©s (end-to-end) et explicitement authentifiĂ©s Ă l'aide de clĂ©s publiques connues. Un chiffrement en oignon (comme dans Tor) est appliquĂ© Ă tous les paquets intermĂ©diaires. Chaque nĆud peut agir Ă la fois comme client et de serveurs utiliser Ă la fois un modĂšle de comportement push et poll.
La principale différence entre NNCP et les solutions UUCP et FTN (FidoNet Technology Network), en plus des mentions précédentes concernant le chiffrement et l'authentification, est la prise en charge directe des réseaux de flotteurs et des ordinateurs physiquement isolés (air-gapped) des réseaux locaux et publics non sécurisés. Une autre caractéristique de NNCP est son intégration facile (comme UUCP) avec les services de messagerie existants serveurs trÚs chargés, tels que Postfix et Exim.
Parmi les domaines d'application possibles de NNCP, on note l'organisation de l'envoi/rĂ©ception d'e-mails sur des appareils sans connexion Internet permanente, le transfert de fichiers dans des conditions de connexion instable, le transfert sĂ©curisĂ© de trĂšs grandes quantitĂ©s de donnĂ©es sur des supports physiques, la crĂ©ation de rĂ©seaux de transfert de donnĂ©es isolĂ©s protĂ©gĂ©s contre les attaques MitM, le contournement de la censure et de la surveillance rĂ©seau. Comme la clĂ© de dĂ©chiffrement ne se trouve qu'auprĂšs du destinataire, indĂ©pendamment des chemins de livraison des paquets Ă travers le rĂ©seau ou via des supports physiques, un tiers ne peut pas lire le contenu, mĂȘme s'il intercepte l'envoi. De plus, l'authentification par signature numĂ©rique empĂȘche la crĂ©ation d'un envoi frauduleux sous l'identitĂ© d'un autre expĂ©diteur.
Parmi les nouveautés de NNCP 8.8.0, par rapport à la version précédente (5.0.0) :
- Au lieu du hachage BLAKE2b pour vérifier l'intégrité des fichiers, un MTH est utilisé : Hachage basé sur un arbre de Merkle, qui utilise le hachage BLAKE3. Cela permet de vérifier l'intégrité de la partie chiffrée du paquet pendant le téléchargement, sans nécessiter sa lecture par la suite. Cela permet également une vérification d'intégrité en parallÚle illimitée.
- Le nouveau format des paquets chiffrés est entiÚrement convivial pour le streaming, lorsque la taille des données n'est pas connue à l'avance. La signalisation de la fin de la transmission, avec une taille authentifiée, se fait directement dans le flux chiffré. Auparavant, pour connaßtre la taille des données transmises, il fallait les sauvegarder dans un fichier temporaire. Ainsi, l'option « -use-tmp » de l'équipe « nncp-exec » a été supprimée en raison de son inutilité.
- Les fonctions BLAKE2b KDF et XOF ont été remplacées par BLAKE3 pour réduire le nombre de primitives cryptographiques utilisées et simplifier le code.
- Il est maintenant possible de dĂ©tecter d'autres nĆuds sur le rĂ©seau local via une diffusion multicast Ă l'adresse « ff02::4e4e:4350 ».
- Des groupes de diffusion multicast (l'Ă©quivalent des confĂ©rences Echo de FidoNet ou des groupes de discussion Usenet) permettent d'envoyer des donnĂ©es Ă de nombreux membres d'un groupe dans un seul paquet, chaque participant retransmettant Ă©galement le paquet aux autres abonnĂ©s. La lecture d'un paquet multicast nĂ©cessite de connaĂźtre une paire de clĂ©s (il faut ĂȘtre un membre actif du groupe), mais la retransmission peut ĂȘtre effectuĂ©e par n'importe quel nĆud.
- La prise en charge de la confirmation explicite de la réception du paquet a été intégrée. L'expéditeur peut ne pas supprimer le paquet aprÚs l'envoi, en attendant un ACK spécial du destinataire.
- Prise en charge intégrée du réseau overlay Yggdrasil : des démons en ligne peuvent agir comme des participants autonomes au réseau, sans avoir besoin d'implémentations tierces de Yggdrasil et sans nécessiter le fonctionnement complet avec la pile IP sur une interface réseau virtuelle.
- Au lieu de chaßnes structurées (RFC 3339), le journal utilise des enregistrements recfile, avec lesquels on peut utiliser des utilitaires GNU Recutils.
- Optionnellement, les en-tĂȘtes des paquets chiffrĂ©s peuvent ĂȘtre stockĂ©s dans des fichiers sĂ©parĂ©s dans le sous-rĂ©pertoire « hdr/ », accĂ©lĂ©rant considĂ©rablement les opĂ©rations de rĂ©cupĂ©ration de la liste des paquets sur des systĂšmes de fichiers avec une grande taille de bloc, tels que ZFS. Auparavant, la rĂ©cupĂ©ration de l'en-tĂȘte d'un paquet nĂ©cessitait par dĂ©faut la lecture de tout un bloc de 128KiB depuis le disque.
- La vérification de la présence de nouveaux fichiers peut éventuellement utiliser les sous-systÚmes du noyau kqueue et inotify, réduisant ainsi le nombre d'appels systÚme.
- Les utilitaires maintiennent moins de fichiers ouverts, ce qui entraßne moins de fermetures et de réouvertures. Avec un grand nombre de paquets, il était auparavant possible d'atteindre la limite du nombre maximum de fichiers ouverts.
- De nombreuses commandes commencent désormais à montrer le progrÚs et la vitesse d'exécution d'opérations telles que le téléchargement/chargement, la copie et le traitement (toss) des paquets.
- La commande « nncp-file » peut envoyer non seulement des fichiers uniques, mais aussi des répertoires, en créant à la volée une archive pax avec leur contenu.
- Les utilitaires en ligne peuvent éventuellement appeler immédiatement le processus de traitement des paquets (tossing) aprÚs le téléchargement réussi d'un paquet, sans démarrer un démon séparé « nncp-toss ».
- L'appel en ligne d'un autre participant peut éventuellement se produire non seulement sur l'événement de déclenchement d'un minuteur, mais aussi lors de l'apparition d'un paquet sortant dans le répertoire spool.
- La compatibilité est assurée sous les systÚmes d'exploitation NetBSD et OpenBSD, en plus des précédemment supportés FreeBSD et GNU/Linux.
- Le « nncp-daemon » est entiÚrement compatible avec l'interface UCSPI-TCP. Associé à la possibilité de journaliser dans un descripteur de fichier spécifié (par exemple, en définissant « NNCPLOG=FD:4 »), il est entiÚrement convivial pour un lancement avec des utilitaires similaires à daemontools.
- La compilation du projet a été complÚtement transférée au systÚme redo.
Source : opennet.ru
