Первый стабильный выпуск Age, утилиты для шифрования данных
7 сентября 2021 года
Филиппо Валсорда ( Filippo Valsorda), криптограф, отвечающий в Google за безопасность языка программирования Go, опубликовал первый стабильный выпуск новой утилиты для шифрования данных - Age (Actually Good Encryption). Утилита предоставляет простой интерфейс командной строки для шифрования файлов с использованием симметричных (по паролю) и асимметричных (по открытым ключам) криптографических алгоритмов. Код проекта написан на языке Go и распространяется под лицензией BSD. Сборки подготовлены для Linux, FreeBSD, macOS и Windows.
Базовые функции вынесены в библиотеку, которую можно использовать для интеграции предоставляемой утилитой функциональности в свои программы. Отдельно в рамках проекта rage развивается альтернативная реализация аналогичной утилиты и библиотеки на языке Rust. Для шифрования используются проверенные алгоритмы HKDF (HMAC-based Extract-and-Expand Key Derivation Function), SHA-256, HMAC (Hash-based Message Authentication Code), X25519, Scrypt и ChaCha20-Poly1305 AEAD.
Из особенностей Age выделяется: возможность использования компактных ключей, легко переносимых через буфер обмена; простой и не перегруженный опциями интерфейс командной строки; отсутствие файлов конфигурации; возможность использования в скриптах и в комбинации с другими утилитами через выстраивание цепочки вызовов в 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
Имеется режим шифрования файла сразу для нескольких получателей, при котором файл одновременно шифруется с использованием нескольких открытых ключей и каждый из списка получателей может его расшифровать. Также предоставлена возможность симметричного шифрования файлов на основе пароля, а также защиты файлов с закрытыми ключами через их шифрование с использованием пароля. Полезной особенностью является то, что если при шифровании ввести пустой пароль, то утилита автоматически сама сгенерирует и предложит надёжный пароль.
$ age -p secrets.txt secrets.txt.age Enter passphrase (leave empty to autogenerate a secure one): Using the autogenerated passphrase "release-response-step-brand-wrap-ankle-pair-unusual-sword-train". $ age -d secrets.txt.age secrets.txt Enter passphrase: $ age-keygen | age -p key.age Public key: age1yhm4gftwfmrpz87tdslm530wrx6m79y9f2hdzt0lndjnehwj0bkqrjpyx5 Enter passphrase (leave empty to autogenerate a secure one): Using the autogenerated passphrase "hip-roast-boring-snake-mention-east-wasp-honey-input-actress".
Из планов на будущее отмечается создание бэкенда для хранения паролей и сервера совместно используемых ключей ( PAKE), поддержка ключей YubiKey, возможность генерации удобных для запоминания ключей в форме набора слов и создание утилиты age-mount для монтирования в ФС зашифрованных файлов или архивов.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.