Πρώτη σταθερή έκδοση του Age, ένα βοηθητικό πρόγραμμα κρυπτογράφησης δεδομένων

Ο Filippo Valsorda, ένας κρυπτογράφος υπεύθυνος για την ασφάλεια της γλώσσας προγραμματισμού Go στην Google, δημοσίευσε την πρώτη σταθερή έκδοση ενός νέου βοηθητικού προγράμματος κρυπτογράφησης δεδομένων, το Age (Actually Good Encryption). Το βοηθητικό πρόγραμμα παρέχει μια απλή διεπαφή γραμμής εντολών για την κρυπτογράφηση αρχείων χρησιμοποιώντας συμμετρικούς (κωδικός πρόσβασης) και ασύμμετρους (δημόσιο κλειδί) κρυπτογραφικούς αλγόριθμους. Ο κώδικας του έργου είναι γραμμένος στο Go και διανέμεται με την άδεια BSD. Οι εκδόσεις έχουν προετοιμαστεί για Linux, FreeBSD, macOS και Windows.

Οι βασικές λειτουργίες περιλαμβάνονται σε μια βιβλιοθήκη που μπορεί να χρησιμοποιηθεί για την ενσωμάτωση της λειτουργικότητας που παρέχει το βοηθητικό πρόγραμμα στα προγράμματά σας. Ξεχωριστά, στο πλαίσιο του έργου rage, αναπτύσσεται μια εναλλακτική υλοποίηση παρόμοιου βοηθητικού προγράμματος και βιβλιοθήκης, γραμμένης στη γλώσσα Rust. Για την κρυπτογράφηση, χρησιμοποιούνται αποδεδειγμένοι αλγόριθμοι: HKDF (HMAC-based Extract-and-Expand Key Derivation Function), SHA-256, HMAC (Κωδικός ελέγχου ταυτότητας μηνυμάτων που βασίζεται σε κατακερματισμό), X25519, Scrypt και ChaCha20-Poly1305 AEAD.

Μεταξύ των χαρακτηριστικών του Age, ξεχωρίζουν τα ακόλουθα: η δυνατότητα χρήσης συμπαγών δημόσιων κλειδιών 512-bit, που μεταφέρονται εύκολα μέσω του προχείρου. απλή διεπαφή γραμμής εντολών που δεν υπερφορτώνεται με επιλογές. έλλειψη αρχείων διαμόρφωσης. Δυνατότητα χρήσης σε scripts και σε συνδυασμό με άλλα βοηθητικά προγράμματα με την κατασκευή μιας αλυσίδας κλήσεων σε στυλ UNIX. Υποστηρίζεται τόσο η δημιουργία των δικών σας συμπαγών κλειδιών όσο και η χρήση υπαρχόντων κλειδιών SSH ("ssh-ed25519", "ssh-rsa"), συμπεριλαμβανομένης της υποστήριξης για αρχεία Github.keys. $ age-keygen -o key.txt Δημόσιο κλειδί: age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p $ tar cvz ~/data | ηλικία -r age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p > data.tar.gz.age $ ηλικία --αποκρυπτογράφηση -i key.txt data.tar.gz.age > data.tar.gz.gz.jpg25519.gz. > example.jpg.age $ age -d -i ~/.ssh/id_ed25519 example.jpg.age > example.jpg

Υπάρχει μια λειτουργία κρυπτογράφησης αρχείων για πολλούς παραλήπτες ταυτόχρονα, στην οποία το αρχείο κρυπτογραφείται ταυτόχρονα χρησιμοποιώντας πολλά δημόσια κλειδιά και καθένας από τη λίστα των παραληπτών μπορεί να το αποκρυπτογραφήσει. Παρέχονται επίσης εργαλεία για συμμετρική κρυπτογράφηση αρχείων βάσει κωδικού πρόσβασης και για την προστασία των αρχείων ιδιωτικού κλειδιού κρυπτογραφώντας τα χρησιμοποιώντας έναν κωδικό πρόσβασης. Ένα χρήσιμο χαρακτηριστικό είναι ότι εάν εισαγάγετε έναν κενό κωδικό πρόσβασης κατά την κρυπτογράφηση, το βοηθητικό πρόγραμμα θα δημιουργήσει αυτόματα και θα προσφέρει έναν ισχυρό κωδικό πρόσβασης. $ age -p secrets.txt > secrets.txt.age Εισαγάγετε τη φράση πρόσβασης (αφήστε κενό για να δημιουργήσετε αυτόματα μια ασφαλή): Χρησιμοποιώντας τη φράση πρόσβασης που δημιουργήθηκε αυτόματα "release-response-step-brand-wrap-ankle-pair-unusual-sword-train" . $ age -d secrets.txt.age > secrets.txt Εισαγάγετε τη φράση πρόσβασης: $ age-keygen | Ηλικία -p> Key.age Public Key: Age1yHm4GftwfMrpz87TDSLM530WRX6M79Y9F2HDZT0LNDJNEHWJ0BKQRJPYX5 Εισάγετε τη φράση (αφήστε το άδειο για αυτόματο ένα ασφαλές): χρησιμοποιώντας την αυτοπεριοριζόμενη πασθηκίδα "hip-roast-boring-snake-ine-snake-inter-spere-in-inter-inter-inter-in-inter-in-inter-inter-in-ruprase".

Τα σχέδια για το μέλλον περιλαμβάνουν τη δημιουργία ενός backend για την αποθήκευση κωδικών πρόσβασης και ενός διακομιστή για κοινόχρηστα κλειδιά (PAKE), την υποστήριξη των κλειδιών YubiKey, τη δυνατότητα δημιουργίας κλειδιών που είναι εύκολο να απομνημονευτούν με τη μορφή ενός συνόλου λέξεων και τη δημιουργία ενός βοηθητικού προγράμματος age-mount για την τοποθέτηση κρυπτογραφημένων αρχείων ή αρχείων στο FS.

Πηγή: opennet.ru

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