Библиотека сайта rus-linux.net
Как шифровать файлы в Linux с помощью GPG, Ccrypt, Bcrypt и 7-Zip
Оригинал: How to Encrypt Files on Linux Using GPG, Ccrypt, Bcrypt and 7-ZipАвтор: Gary Sims
Дата публикации: 24th Oct 2013
Перевод: Н.Ромоданов
Дата перевода: ноябрь 2013 г.
В системе Linux есть несколько различных утилит командной строки, которые могут зашифровывать и расшифровывать файлы с использованием пароля, задаваемого пользователем. Такие средства шифрования можно применять во многих случаях, в том числе для шифрования файлов, подготавливаемых для безопасной отправки через интернет, с тем, чтобы не беспокоиться о том, что кто-то третий получит доступ к файлам в случае, если передача данных будет перехвачена.
Прежде чем рассматривать отдельные инструментальные средства, вам нужно убедиться в том, что установлены все соответствующие пакеты. В Ubuntu, вы для установки программ должны использовать следующую команду:
sudo apt-get install gnupg bcrypt ccrypt p7zip-full
GPG
Пакет GNU Privacy Guard (GPG) является инструментальным средством, предназначенным в первую очередь для шифрования и подписи данных с использованием криптографии с открытым ключом. Тем не менее в нем также есть также возможность выполнять шифрования данных просто с использованием пароля, введенного пользователем, и в нем поддерживаются различные криптографические алгоритмы.
Чтобы с помощью gpg зашифровать файл, в данном случае файл big.txt, введите следующую команду:
gpg -c big.txt
Вам будет предложено ввести пароль (дважды). В процессе шифрования создается новый файл, который называется big.txt.gpg
. Исходный файл также останется, так что вам потребуется его удалить в случае, если вы намереваетесь сохранить только зашифрованную копию. Если сравнивать размеры исходного и зашифрованный файлов, то вы увидите, что зашифрованный файл будет по размеру меньше. Это происходит потому, что команда gpg сжимает файл во время шифрования. Если файл уже сжат (например, файл .zip или файл .tgz), то зашифрованный файл может, на самом деле, оказаться несколько большим.
Чтобы расшифровать файл, используйте команду:
gpg big.txt.gpg
По умолчанию файлы, зашифрованные с помощью gpg, будут использовать алгоритм шифрования cast5
, который одобрен национальным криптологическим агентством правительства Канады. Однако в утилите gpg также поддерживает ряд других встроенных алгоритмов шифрования, в том числе Triple DES (3DES), который используется в индустрии электронных платежей; Advanced Encryption Standard (AES) — технология шифрования, одобренная Американским национальным институтом стандартов и технологии (NIST); и Camellia - шифр совместно разработанный фирмами Mitsubishi и NTT, который одобрен Европейским союзом и Японией.
Чтобы увидеть список доступных алгоритмов, наберите:
gpg --version
Список доступных алгоритмов приведен в выданных данных в разделе «Supported algorithms» («Поддерживаемые алгоритмы») ниже тега «Cipher» («Шифр»). Чтобы использовать другой алгоритм, добавьте параметр -crypto-algo
, за которым укажите алгоритм, который вы хотите использовать, например, -crypto-algo=3DES
Тогда полная команда будет иметь следующий вид:
gpg -c -crypto-algo=3DES big.txt
bcrypt и ccrypt
Пакет gpg — это не единственный инструмент шифрования, доступный в системе Linux. В оригинальных системах Unix, была команда под названием crypt, однако уровень безопасности, который она обеспечивала, был очень низким. По аналогии с ней были созданы некоторые другие команды, которыми ее можно заменить, в том числе bcrypt и ccryrpt.
В команде bcrypt используется алгоритм blowfish, в то время как команда ccrypt базируется на шифре Rijndael, который является алгоритмом, используемый для AES. Многие криптоаналитики не рекомендуют далее использовать алгоритм blowfish, т. к. опубликованы некоторые теоретические описания атак, которые его ослабляют, однако для повседневного шифрования, для которого не требуется обеспечить шифрование уровня государственной безопасности (NSA, MI5, FSA), он все еще полезен.
Для шифрования с использованием команды bcrypt:
bcrypt big.txt
В отличие от команды gpg, команда bcrypt заменит оригинальный файл зашифрованным файлом и добавит в конце имени файла .bfe. Точно также, как и в случае с командой gpg, полученный файл также сжимается и поэтому для несжатых файлов размер файла должен быть значительно меньше. Сжатие может быть отключено с помощью параметра -c
.
Для расшифровки файла используйте:
bcrypt big.txt.bfe
Файл .bfe будет заменен исходным незашифрованным файлом.
Есть два возможных способа вызова команды ccrypt:
- непосредственный вызов команды ccrypt с параметрами
-e
или-d
- использовать для шифрования и дешифровки команды
ccencrypt
иccdecrypt
, соответственно.
Чтобы зашифровать файл введите:
ccencrypt big.txt
Исходный файл будет заменен файлом big.txt.cpt
. В отличие от gpg и bcrypt, выходной файл сжат не будет. Если сжатие необходимо, то можно использовать такие инструменты, как gzip. Предлагаемые расширения для сжатых и зашифрованных файлов - .gz.cpt или .gzc.
Для расшифровки файла используйте:
ccdecrypt big.txt.cpt
7-Zip
В архиваторе 7-Zip также есть шифрование AES. Чтобы создать зашифрованный архив используйте в команде 7z параметр -p
:
7z a -p big.txt.7z big.txt
Вам будет предложено ввести пароль (дважды). Затем файл будет сжат и зашифрован. Исходный файл останется, точно также, как и с командой gpg, поэтому вам нужно удалить его в случае, если вы хотите сохранить только зашифрованную копию. Преимуществом использования пакета 7-Zip является то, что в одном архиве можно сохранять и зашифровывать несколько файлов и папок.
Заключение
С помощью этих методов сжатия можно зашифровать конфиденциальные данные с достаточной стойкостью с тем, чтобы даже агентства, спонсируемые правительствами, не смогли получить доступ к файлам. Как и во всех случаях использования паролей (используемых в сети или вне сети), применение более длинных паролей обеспечивает лучшую безопасность, чем при использовании коротких паролей.