Инструмент шифрования age: современная альтернатива GPG
Изучите age как простую современную альтернативу GPG для шифрования файлов с более удобным использованием.
«Инструмент шифрования age: современная альтернатива GPG» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.
Цели разработки age
age (Actually Good Encryption) был разработан Filippo Valsorda и Ben Cartwright-Cox как простая современная альтернатива GPG. В основе разработки лежит отказ от сложности GPG: нет связок ключей, модели доверия, подписывания ключей, файлов конфигурации и экосистемы плагинов для основных операций. age сосредоточен на одной задаче: простом шифровании и расшифровании файлов с минимальным риском неправильного использования.
Получатели с открытыми ключами age
Основной тип получателя в age — открытый ключ age, производный от X25519. age-keygen создаёт пару ключей: открытый ключ age (начинающийся с age1) и файл идентификации age, содержащий закрытый ключ. Чтобы зашифровать файл для получателя, укажите его открытый ключ age с помощью -r age1...; для расшифрования передайте файл идентификации с помощью -i key.txt. Этот формат безопасен для копирования и вставки.
Получатели с открытыми ключами SSH
age может напрямую шифровать данные для открытых ключей SSH, включая RSA и Ed25519. Если у Вас есть открытый ключ SSH получателя (например, из GitHub: curl https://github.com/username.keys), Вы можете зашифровать для него файл без дополнительного обмена ключами: age -r @recipient_public_key.txt plaintext.txt > encrypted.age. Получатель расшифровывает файл с помощью уже имеющегося у него закрытого ключа SSH.
Шифрование на основе пароля
age поддерживает шифрование на основе пароля (симметричное шифрование) с помощью флага -p. Для выработки ключа из парольной фразы используется scrypt, обеспечивающий устойчивость к перебору за счёт высоких требований к памяти. В этом режиме управление ключами не требуется: расшифровать данные может любой, кто знает парольную фразу. Такой режим подходит для случаев, когда распространение ключа непрактично, например для шифрования резервных архивов, хранящихся в облаке.
Файлы идентификации age
Файл идентификации age содержит закрытый ключ в текстовом формате: по одному ключу в каждой строке. В отличие от двоичной связки ключей GPG, файлы идентификации являются обычным текстом: их можно хранить где угодно, создавать резервные копии и обрабатывать стандартными инструментами для работы с файлами. Защищайте файлы идентификации с помощью разрешений файловой системы или шифруйте их парольной фразой (используя дополнительный слой шифрования age или такой инструмент, как age-plugin-yubikey). При расшифровании файлы идентификации указываются с помощью -i.
age-keygen для генерации ключей
age-keygen за несколько секунд создаёт новую пару ключей X25519: age-keygen -o key.txt. Выходной файл содержит закрытый ключ, а соответствующий открытый ключ выводится в стандартный вывод. Интерактивная настройка отсутствует: тип и размер ключа, а также алгоритм фиксированы. Благодаря этой простоте отсутствуют параметры генерации, которые можно настроить неправильно, а формат вывода стандартизирован и пригоден для разбора.
Шифрование для нескольких получателей
age поддерживает шифрование для нескольких получателей за одну операцию: age -r age1alice... -r age1bob... file.txt. Любой из указанных получателей может самостоятельно расшифровать файл с помощью собственного закрытого ключа. Внутри age симметричный ключ файла отдельно шифруется для каждого получателя, а все зашифрованные копии ключа сохраняются в заголовке. Концептуально это похоже на шифрование GPG для нескольких получателей.
rage: реализация age на Rust
rage — реализация спецификации age на Rust, предоставляющая тот же формат файлов и интерфейс CLI. Гарантии безопасности памяти и производительность Rust делают rage привлекательной альтернативой эталонной реализации на Go. Обе реализации совместимы: файлы, зашифрованные с помощью age, можно расшифровать с помощью rage и наоборот. rage доступен через менеджеры пакетов на большинстве платформ.
Система age-plugin
Плагины age расширяют набор типов получателей, поддерживаемых age. age-plugin-yubikey позволяет шифровать данные для аппаратных ключей безопасности YubiKey с использованием интерфейса PIV, поэтому для расшифрования требуется физическое владение YubiKey. Плагины используют стандартизированный протокол, позволяя добавлять новые типы получателей без изменения основного двоичного файла age. Такая расширяемость обеспечивает поддержку аппаратных ключей, сохраняя базовый инструмент минимальным.
Сравнение age и GPG
age превосходит другие решения по простоте: не требует управления моделью доверия, собраний для подписывания ключей и конфигурации, а команда для шифрования или расшифрования занимает одну строку. GPG предоставляет гораздо больше возможностей: подписывание ключей, уровни доверия, серверы ключей, несколько подключей, фотоидентификаторы и широкую интеграцию с почтовыми клиентами. Для шифрования файлов и резервных копий age часто является лучшим выбором. Для экосистем шифрования электронной почты и подписывания программного обеспечения стандартом остаётся GPG.
age в автоматизированных конвейерах резервного копирования
age особенно хорошо подходит для автоматического шифрования резервных копий. Задание cron может зашифровать резервные копии с использованием набора открытых ключей получателей, сохранённых в файле: age --recipients-file recipients.txt backup.tar.gz > backup.tar.gz.age. Ввод парольной фразы не требуется, управлять ключами просто, а несколько операторов могут независимо расшифровывать данные, используя собственные ключи. Полученные файлы устойчивы к компрометации сервера.
Типы получателей age
Какой из следующих типов получателей NOT поддерживается шифрованием age?
Итоги по инструменту шифрования age
Итоги по age: инструмент разработан с приоритетом простоты, а не большого числа возможностей; для основных получателей используются открытые ключи age на основе X25519; открытые ключи SSH служат удобной альтернативой; в режиме парольной фразы применяется шифрование на основе scrypt; age-keygen предназначен для создания пары ключей; в одном файле можно указать нескольких получателей; rage — альтернатива на Rust с идентичным форматом файлов; плагины обеспечивают поддержку аппаратных ключей; инструмент идеально подходит для автоматических конвейеров шифрования резервных копий.
Часто задаваемые вопросы
Урок «Инструмент шифрования age: современная альтернатива GPG» бесплатный?
Да — полный текст урока «Инструмент шифрования age: современная альтернатива GPG» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.
Чему я научусь в уроке «Инструмент шифрования age: современная альтернатива GPG»?
Изучите age как простую современную альтернативу GPG для шифрования файлов с более удобным использованием. Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cryptology Academy?
Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Инструмент шифрования age: современная альтернатива GPG»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cryptology Academy?
Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- GPG для асимметричного шифрования файлов
- Инструмент шифрования age: современная альтернатива GPG
- Зашифрованные контейнеры с VeraCrypt
- Безопасное удаление и уничтожение ключей