Termux – мощный терминал для Android, позволяющий использовать привычные Linux‑утилиты. В статье рассматриваем, как обеспечить конфиденциальность и целостность данных с помощью GnuPG и OpenSSL.
Установка необходимых пакетов
pkg update && pkg upgrade -y
pkg install gnupg openssl -y
Создание асимметричной пары ключей GnuPG
Генерируем ключ с RSA‑2048 и задаём срок действия 2 года.
gpg --full-generate-key
В интерактивном диалоговом окне выбираем:
- Тип ключа:
RSA and RSA - Размер ключа:
2048 - Срок действия:
2y - Имя, email и пароль
Экспорт публичного и приватного ключей
# Публичный ключ
gpg --armor --export your@email.com > public_key.asc
# Приватный ключ (защищённый паролем)
gpg --armor --export-secret-keys your@email.com > private_key.asc
Шифрование и дешифрование файлов
Шифрование для конкретного получателя:
gpg --encrypt --recipient your@email.com secret.txt
Полученный файл secret.txt.gpg можно безопасно передать.
Дешифрование:
gpg --decrypt secret.txt.gpg > secret.txt
Подпись и проверка подписи
Создаём цифровую подпись:
gpg --clearsign document.md
Проверяем подпись:
gpg --verify document.md.asc
Симметричное шифрование с OpenSSL
Для быстрого шифрования небольших файлов удобно использовать AES‑256‑CBC.
# Шифрование
openssl enc -aes-256-cbc -salt -in notes.txt -out notes.txt.enc -pbkdf2
# Дешифрование
openssl enc -d -aes-256-cbc -in notes.txt.enc -out notes.txt -pbkdf2
Пароль запрашивается интерактивно; можно передать его через переменную $OPENSSL_PASS (не рекомендуется хранить в открытом виде).
Безопасное хранение паролей и ключей
Для доступа к приватному ключу без постоянного ввода пароля используем gpg-agent:
gpg-agent --daemon --allow-preset-passphrase
# Сохраняем пароль (пример)
echo -n "your_passphrase" | gpg --batch --yes --passphrase-fd 0 --quick-set-key
Для временного хранения пароля OpenSSL можно применить secret-tool (часть libsecret):
secret-tool store --label="OpenSSL password" service termux openssl-pass
# Получение
PASS=$(secret-tool lookup service termux openssl-pass)
openssl enc -aes-256-cbc -salt -in file -out file.enc -pbkdf2 -pass pass:$PASS
Бэкапы и перенос ключей
Экспортированные .asc файлы удобно сохранять в зашифрованный архив:
tar -czf keys.tar.gz public_key.asc private_key.asc
gpg --symmetric --cipher-algo AES256 keys.tar.gz
Для восстановления:
gpg --decrypt keys.tar.gz.gpg | tar -xzf -
Заключение
Комбинация GnuPG и OpenSSL в Termux предоставляет полноценный набор инструментов для асимметричного и симметричного шифрования, подписи и безопасного хранения ключей. Следуя приведённым практикам, вы защищаете свои данные от несанкционированного доступа даже на мобильных устройствах.
Если вам требуется более глубокая настройка безопасности, аудит мобильных решений или интеграция криптографии в собственные скрипты, обращайтесь в RybinskLab. Мы предоставляем консалтинг, разработку и поддержку безопасных решений под Android и Linux.