Pierwsze stabilne wydanie Age, narzędzia do szyfrowania danych

Filippo Valsorda, kryptograf odpowiedzialny w Google za bezpieczeństwo języka programowania Go, opublikował pierwszą stabilną wersję nowego narzędzia do szyfrowania danych — Age (Actually Good Encryption). Narzędzie zapewnia prosty interfejs wiersza poleceń do szyfrowania plików przy użyciu symetrycznych (na hasło) i asymetrycznych (na klucze publiczne) algorytmów kryptograficznych. Kod projektu napisany jest w języku Go i jest dystrybuowany na licencji BSD. Kompilacje zostały przygotowane dla systemów Linux, FreeBSD, macOS i Windows.

Podstawowe funkcje zostały wydzielone do biblioteki, którą można wykorzystać do integracji oferowanej przez narzędzie funkcjonalności w swoich programach. Oddzielnie w ramach projektu rage rozwijana jest alternatywna implementacja podobnego narzędzia i biblioteki, napisana w języku Rust. Do szyfrowania stosowane są sprawdzone algorytmy HKDF (HMAC-based Extract-and-Expand Key Derivation Function), SHA-256, HMAC (Hash-based Message Authentication Code), X25519, Scrypt i ChaCha20-Poly1305 AEAD.

Из особенностей Age выделяется: возможность использования компактных 512-битных открытых ключей, легко переносимых через буфер обмена; простой и не перегруженный опциями интерфейс командной строки; отсутствие файлов конфигурации; возможность использования в скриптах и в комбинации с другими утилитами через выстраивание цепочки вызовов в UNIX-стиле. Поддерживается как генерация собственных компактных ключей, так и использование существующих ключей от SSH («ssh-ed25519», «ssh-rsa»), включая поддержку файлов Github.keys. $ age-keygen -o key.txt Public key: age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p $ tar cvz ~/data | age -r age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p > data.tar.gz.age $ age —decrypt -i key.txt data.tar.gz.age > data.tar.gz $ age -R ~/.ssh/id_ed25519.pub example.jpg > example.jpg.age $ age -d -i ~/.ssh/id_ed25519 example.jpg.age > example.jpg

Dostępny jest tryb szyfrowania pliku dla wielu odbiorców, w którym plik jest jednocześnie szyfrowany przy użyciu kilku kluczy publicznych, a każdy z odbiorców z listy może go odszyfrować. Oferowane są również narzędzia do symetrycznego szyfrowania plików na podstawie hasła oraz zabezpieczania plików za pomocą kluczy prywatnych poprzez szyfrowanie ich z wykorzystaniem hasła. Przydatną cechą jest to, że jeśli podczas szyfrowania wprowadzisz puste hasło, narzędzie automatycznie wygeneruje i zaproponuje bezpieczne hasło. $ age -p secrets.txt > secrets.txt.age Wprowadź hasło (pozostaw puste, aby wygenerować bezpieczne): Użycie wygenerowanego hasła „release-response-step-brand-wrap-ankle-pair-unusual-sword-train”. $ age -d secrets.txt.age > secrets.txt Wprowadź hasło: $ age-keygen | age -p > key.age Klucz publiczny: age1yhm4gftwfmrpz87tdslm530wrx6m79y9f2hdzt0lndjnehwj0bkqrjpyx5 Wprowadź hasło (pozostaw puste, aby wygenerować bezpieczne): Użycie wygenerowanego hasła „hip-roast-boring-snake-mention-east-wasp-honey-input-actress”.

W planach na przyszłość przewiduje się stworzenie backendu do przechowywania haseł oraz serwera wspólnie używanych kluczy (PAKE), wsparcie dla kluczy YubiKey, możliwość generowania łatwych do zapamiętania kluczy w formie zestawów słów oraz stworzenie narzędzia age-mount do montowania w systemie plików zaszyfrowanych plików lub archiwów.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster