Έκδοση NNCP 8.8.0, βοηθητικά προγράμματα για τη μεταφορά αρχείων/εντολών σε λειτουργία αποθήκευσης και προώθησης

Η κυκλοφορία του Node-to-Node CoPy (NNCP), ενός συνόλου βοηθητικών προγραμμάτων για ασφαλή μεταφορά αρχείων, email και εντολές αποθήκευσης και προώθησης. Υποστηρίζει εργασία σε λειτουργικά συστήματα συμβατά με POSIX. Τα βοηθητικά προγράμματα είναι γραμμένα στη γλώσσα Go και διανέμονται με την άδεια GPLv3.

Τα βοηθητικά προγράμματα έχουν σχεδιαστεί για να βοηθούν στη δημιουργία μικρών δικτύων φίλο-προς-φίλο peer-to-peer (δεκάδες κόμβοι) με στατική δρομολόγηση για ασφαλή μεταφορά αρχείων, αιτήματα αρχείων, email και αιτήματα εκτέλεσης εντολών. Όλα τα μεταδιδόμενα πακέτα είναι κρυπτογραφημένα (από άκρο σε άκρο) και επαληθεύονται ρητά με γνωστά δημόσια κλειδιά φίλων. Η κρυπτογράφηση Onion (όπως στο Tor) εφαρμόζεται σε όλα τα ενδιάμεσα πακέτα. Κάθε κόμβος μπορεί να λειτουργήσει και ως πελάτης και ως διακομιστής και να χρησιμοποιεί συμπεριφορές ώθησης και δημοσκόπησης.

Η διαφορά μεταξύ των λύσεων NNCP και UUCP και FTN (FidoNet Technology Network), εκτός από την προαναφερθείσα κρυπτογράφηση και έλεγχο ταυτότητας, είναι η υποστήριξη εκτός πλαισίου για δίκτυα δισκέτας και υπολογιστές που είναι φυσικά απομονωμένοι (αέρας με διάκενο) από μη ασφαλή τοπικά και δημόσια δίκτυα . Το NNCP διαθέτει επίσης εύκολη ενσωμάτωση (στο ίδιο επίπεδο με το UUCP) με τους τρέχοντες διακομιστές αλληλογραφίας όπως οι Postfix και Exim.

Από τους πιθανούς τομείς εφαρμογής του NNCP, η οργάνωση αποστολής / λήψης αλληλογραφίας σε συσκευές χωρίς μόνιμη σύνδεση στο Διαδίκτυο, μεταφορά αρχείων σε συνθήκες ασταθούς σύνδεσης δικτύου, ασφαλής μεταφορά πολύ μεγάλων ποσοτήτων δεδομένων σε φυσικά μέσα, δημιουργία μεμονωμένων δεδομένων δίκτυα που προστατεύονται από επιθέσεις MitM, παρακάμπτοντας τη λογοκρισία και την επιτήρηση του δικτύου. Δεδομένου ότι το κλειδί αποκρυπτογράφησης είναι μόνο στον παραλήπτη, ανεξάρτητα από τον τρόπο παράδοσης του πακέτου μέσω του δικτύου ή μέσω φυσικών μέσων, ένα τρίτο μέρος δεν μπορεί να διαβάσει τα περιεχόμενα, ακόμη και αν αναχαιτίσει την αποστολή. Με τη σειρά του, ο έλεγχος ταυτότητας ψηφιακής υπογραφής δεν σας επιτρέπει να δημιουργήσετε μια εικονική αποστολή υπό το πρόσχημα άλλου αποστολέα.

Μεταξύ των καινοτομιών του NNCP 8.8.0, σε σύγκριση με τα προηγούμενα νέα (έκδοση 5.0.0):

  • Αντί του κατακερματισμού BLAKE2b, χρησιμοποιείται το λεγόμενο MTH: Merkle Tree-based Hashing για τον έλεγχο της ακεραιότητας των αρχείων, χρησιμοποιώντας τον κατακερματισμό BLAKE3. Αυτό σας επιτρέπει να υπολογίσετε την ακεραιότητα του κρυπτογραφημένου μέρους του πακέτου ακριβώς κατά τη λήψη, χωρίς να απαιτείται η ανάγνωση του αργότερα. Επιτρέπει επίσης απεριόριστο παραλληλισμό των ελέγχων ακεραιότητας.
  • Η νέα μορφή κρυπτογραφημένου πακέτου είναι απολύτως φιλική προς τη ροή όταν το μέγεθος των δεδομένων δεν είναι γνωστό εκ των προτέρων. Το σήμα ολοκλήρωσης της μετάδοσης, με επαληθευμένο μέγεθος, πηγαίνει ακριβώς μέσα στην κρυπτογραφημένη ροή. Προηγουμένως, για να μάθετε το μέγεθος των μεταδιδόμενων δεδομένων, ήταν απαραίτητο να τα αποθηκεύσετε σε ένα προσωρινό αρχείο. Έτσι η εντολή "nncp-exec" έχει χάσει την επιλογή "-use-tmp" καθώς είναι εντελώς περιττή.
  • Οι συναρτήσεις BLAKE2b KDF και XOF έχουν αντικατασταθεί από το BLAKE3 για να μειωθεί ο αριθμός των πρωτόγονων κρυπτογράφησης που χρησιμοποιούνται και να απλοποιηθεί ο κώδικας.
  • Τώρα είναι δυνατός ο εντοπισμός άλλων κόμβων στο τοπικό δίκτυο μέσω multicasting στη διεύθυνση "ff02::4e4e:4350".
  • Εμφανίστηκαν ομάδες πολλαπλής εκπομπής (ανάλογες με τις διασκέψεις FidoNet echo ή τις ομάδες συζήτησης Usenet), επιτρέποντας σε ένα πακέτο να στέλνει δεδομένα σε πολλά μέλη της ομάδας, όπου το καθένα αναμεταδίδει επίσης το πακέτο σε άλλους υπογράφοντες. Η ανάγνωση ενός πακέτου πολλαπλής διανομής απαιτεί γνώση του ζεύγους κλειδιών (πρέπει να είστε ρητά μέλος της ομάδας), αλλά η αναμετάδοση μπορεί να γίνει από οποιονδήποτε κόμβο.
  • Προστέθηκε υποστήριξη για ρητή επιβεβαίωση παραλαβής πακέτου. Ο αποστολέας μπορεί να επιλέξει να μην διαγράψει το πακέτο μετά την αποστολή του, περιμένοντας να ληφθεί ένα ειδικό πακέτο ACK από τον παραλήπτη.
  • Ενσωματωμένη υποστήριξη για το δίκτυο επικάλυψης Yggdrasil: οι διαδικτυακοί δαίμονες μπορούν να λειτουργήσουν ως πλήρεις ανεξάρτητοι συμμετέχοντες στο δίκτυο, χωρίς να χρησιμοποιούν υλοποιήσεις Yggdrasil τρίτων και πλήρη εργασία με τη στοίβα IP σε μια διεπαφή εικονικού δικτύου.
  • Αντί για δομημένες συμβολοσειρές (RFC 3339), το αρχείο καταγραφής χρησιμοποιεί καταχωρήσεις εκ νέου αρχείου που μπορούν να χρησιμοποιηθούν με τα βοηθητικά προγράμματα GNU Recutils.
  • Προαιρετικά, οι κρυπτογραφημένες κεφαλίδες πακέτων μπορούν να αποθηκευτούν σε ξεχωριστά αρχεία στον υποκατάλογο "hdr/", επιταχύνοντας σημαντικά τις λειτουργίες καταχώρισης πακέτων σε συστήματα αρχείων μεγάλων μπλοκ όπως το ZFS. Προηγουμένως, η ανάκτηση μιας κεφαλίδας πακέτου απαιτούσε, από προεπιλογή, μόνο ένα μπλοκ 128 KiB για ανάγνωση από το δίσκο.
  • Ο έλεγχος για νέα αρχεία μπορεί προαιρετικά να χρησιμοποιήσει τα υποσυστήματα kqueue και inotify πυρήνα, κάνοντας λιγότερες κλήσεις συστήματος.
  • Τα βοηθητικά προγράμματα διατηρούν λιγότερα ανοιχτά αρχεία, είναι λιγότερο πιθανό να κλείσουν και να ανοίξουν ξανά. Με μεγάλο αριθμό πακέτων, ήταν προηγουμένως δυνατό να τεθεί σε όριο ο μέγιστος αριθμός ανοιχτών αρχείων.
  • Πολλές εντολές άρχισαν να δείχνουν την πρόοδο και την ταχύτητα των λειτουργιών, όπως λήψη/φόρτωση, αντιγραφή και επεξεργασία (ρίψη) πακέτων.
  • Η εντολή "nncp-file" μπορεί να στείλει όχι μόνο μεμονωμένα αρχεία, αλλά και καταλόγους, δημιουργώντας ένα αρχείο pax με το περιεχόμενό τους εν κινήσει.
  • Τα διαδικτυακά βοηθητικά προγράμματα μπορούν προαιρετικά να επικαλέσουν τη διαδικασία επεξεργασίας (τοσάρισμα) πακέτου αμέσως μετά την επιτυχή λήψη ενός πακέτου, χωρίς να εκτελέσουν έναν ξεχωριστό δαίμονα "nncp-toss".
  • Μια διαδικτυακή κλήση σε άλλον συμμετέχοντα μπορεί προαιρετικά να πραγματοποιηθεί όχι μόνο όταν ενεργοποιείται ο χρονοδιακόπτης, αλλά και όταν εμφανίζεται ένα εξερχόμενο πακέτο στον κατάλογο ουρά.
  • Παρέχεται δυνατότητα εργασιμότητας στα λειτουργικά συστήματα NetBSD και OpenBSD, εκτός από τα προηγούμενα υποστηριζόμενα FreeBSD και GNU/Linux.
  • Το "nncp-daemon" είναι πλήρως συμβατό με τη διεπαφή UCSPI-TCP. Σε συνδυασμό με τη δυνατότητα σύνδεσης σε ένα καθορισμένο περιγραφικό αρχείου (για παράδειγμα, ρύθμιση "NNCPLOG=FD:4"), είναι απολύτως φιλικό να εκτελείται σε βοηθητικά προγράμματα που μοιάζουν με daemontools.
  • Η συναρμολόγηση του έργου μεταφέρεται πλήρως στο σύστημα επανάληψης.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο