File encryption for linux

Шифрование файлов и папок в Linux

В современном мире каждый аспект нашей личной жизни записывается на компьютеры. Один из способов защиты наиболее важной информации — шифрование файлов и каталогов. Во время шифрования содержимое файлов перемешивается с избыточными данными в соответствии с установленным алгоритмом, таким образом, что расшифровать его можно только имея специальный пароль или ключ.

В операционной системе Linux есть замечательный инструмент с открытым исходным кодом для шифрования файлов — GNU Privacy Guard или просто GPG, который может быть использован для шифрования любого файла из командной строки или в графическом режиме. О нем и пойдет речь в сегодняшней статье.

Утилита GPG

Перед тем как перейти к использованию утилиты, давайте рассмотрим ее синтаксис:

$ gpg опции файл параметры

Опции указывает что необходимо сделать с файлом, как это сделать и какие возможности использовать. Давайте рассмотрим самые основные опции, которые мы будем использовать в этой статье:

  • -h — вывести справку по утилите;
  • -s, —sign — создать цифровую подпись, эта опция используется вместе с другими опциями для шифрования;
  • —clearsign — подписать незашифрованный текст;
  • -e, —encrypt — зашифровать данные, с помощью ключа;
  • -с, —symmetric — зашифровать данные, с помощью пароля;
  • -d, —decrypt — расшифровать данные, зашифрованные с помощью ключа или пароля;
  • —verify — проверить подпись;
  • -k, —list-keys — вывести доступные ключи;
  • —list-sigs — вывести доступные подписи;
  • —fingerprint — вывести все ключи вместе с их отпечатками;
  • —delete-key — удалить ключ;
  • —delete-secret-key — удалить секретный ключ;
  • —export — экспортировать все ключи;
  • —export-secret-keys — экспортировать все секретные ключи;
  • —import — импортировать ключи;
  • —send-keys — отправить ключи на сервер, должен быть указан сервер ключей;
  • —recv-keys — получить ключи от сервера ключей;
  • —keyserver — указать сервер ключей;
  • —fetch-keys — скачать ключи;
  • —gen-key — создать ключ;
  • —sign-key — подписать ключ;
  • —passwd — изменить пароль для ключа.

А теперь рассмотрим по порядку, что нам нужно для того, чтобы выполнять шифрование файлов Linux.

Шифрование файлов с помощью пароля

Симметричный шифр — самый простой и в то же время надежный способ шифрования файлов linux. Расшифровать файл сможет любой у кого есть пароль. Для использования просто запустите терминал и выполните команду gpg с параметром -c:

Читайте также:  Два экрана в линукс

Утилита создаст файл с расширением gpg. Для расшифровки используйте:

Шифрование с использованием ключей

Асимметричный шифр более надежный так как для шифрования используется два ключа — публичный, собственно для шифрования, которым может воспользоваться любой, и приватный — для расшифровки. Причем файл можно расшифровать только с помощью приватного ключа, даже если вы зашифровали файл, без приватного ключа вы его не расшифруете.

Сначала необходимо настроить gpg, создать пару ключей, для этого наберите:

Программа задаст ряд вопросов для настройки ключа:

Выберите требуемый тип ключа.

Выберите нужный размер для ключа, обычно 2048 будет достаточно.

Выберите строк действия для ключа.

Проверьте все ли правильно.

Введите имя нового ключа, фактически, это имя пользователя, но вы будете использовать его чтобы зашифровать файл linux, поэтому выбирайте обдумано.

Описание ключа, если нужно.

Финальная проверка, затем нажмите O для завершения.

Процесс генерации может занять некоторое время. Когда все будет готово в каталоге ~./gnupg появятся два файла. В файле pubring.gpg публичный ключ, а в secring.gpg приватный.

Также вы можете посмотреть список доступных ключей:

Если вы собираетесь шифровать файлы на другом компьютере необходимо экспортировать публичный ключ, для этого есть опция -а:

gpg -a -o gpgkey.asc —export имя_ключа

Затем передаем файл на целевое устройство и импортируем ключ:

После импорта ключа уровень доверия к нему по умолчанию будет неизвестным поэтому при каждом шифровании gpg будет спрашивать действительно ли вы доверяете этому ключу. Чтобы этого избежать нужно указать уровень доверия. Для этого воспользуйтесь редактором ключей:

Для выбора уровня доверия введите команду trust:

Для своих ключей можно использовать пункт абсолютно доверяю с номером 5, вы же знаете что это именно ваш ключ.

Теперь можно переходить к шифрованию. Для того чтобы зашифровать файл linux используйте команду:

gpg -e -r ид_пользователя имя_файла

Ид пользователя нужно указывать тот что вы использовали при создании ключа. Для расшифровки используйте:

Для каталогов действия аналогичны только сначала нужно создать архив с помощью tar:

tar -cf — каталог | gpg -e -r ид_пользователя

gpg -d каталог.gpg | tar -xvf

Подписи и шифрование

Для проверки подлинности файлов может использоваться не шифрование, а подпись. Тогда на основе файла и ключа создается отпечаток, который записывается в файл. Если файл будет изменен, то отпечаток уже не совпадет.

Вы можете подписать файл с помощью опции —sign:

Если вы не хотите изменить исходный файл, то можно создать подпись в отдельном файле:

Тогда в каталоге, рядом с файлом появиться файл .sig с подписью. Дальше, чтобы проверить достаточно использовать команду verify:

Читайте также:  Ssh сервер linux mint

gpg —verify textfile.sig textfile

Если файл был изменен, то вы увидите, что подпись не сходиться.

Выводы

В этой статье мы рассмотрели как выполняется шифрование файла linux, а также настройка утилиты gpg. Шифрование gpg linux используется людьми для хранения важных данных, а механизм подписей популярен среди разработчиков дистрибутивов. Если у вас остались вопросы, спрашивайте в комментариях!

На завершение отличное видео о том, как работает асимметричный алгоритм шифрования:

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

10 Best Linux File and Disk Encryption Tools

It wasn’t too long ago that we published a list of the best command line tools for Linux. Today, we turn our focus to encryption methods as we bring you a list of the best file and disk encryption software for your Linux machine.

1. Tomb

Tomb is a free and open-source tool for easily encrypting and backing up files on GNU/Linux systems. It consists of a simple shell script that implements standard GNU tools alongside cryptsetup and LUKS (the Linux kernel’s cryptographic API).

Tomb aims to improve safety by adopting a handful of well-tested standards and implementations, applying good practices for key storage, and a minimalist design consisting of concise readable code.

Learn more about Tomb encryption software from our review – Tomb – A File Encryption Tool for Linux.

Create a New Tomb

2. Cryptmount

Cryptmount is an open-source utility created for GNU/Linux Operating Systems to enable users to mount encrypted files without root privileges.

It works using the newer devmapper mechanism which offers several advantages including improved functionality in the kernel, support for encrypted swap partitions for superusers, support for crypto-swap at system boot, storing multiple encrypted filesystems in a single disk, etc.

Learn more about Cryptmount from our review – Cryptmount – Create Encrypted Filesystems in Linux.

Create Encrypted Filesystem in Linux

3. CryFS

CryFS is a free and open-source cloud-based encryption tool for safely storing files anywhere. It is easy to set up, runs in the background, and works nicely with any popular cloud service not excluding Dropbox, OneDrive, and iCloud.

CryFS ensures that no data, including directory structure, metadata, and file content, leave your computer in an unencrypted format.

4. GnuPG

GnuPG, often referred to as GPG, stands for GNU Privacy Guard and it is a free and open-source collection of cryptographic tools created as a replacement for Symantec’s PGP cryptographic software suite.

Читайте также:  How to untar linux

It is compliant with the IETF standards-track specification of OpenPGP and RFC 4889. We have covered GnuPG in a little more detail in our best Linux Encrypt/Decrypt tools article.

5. VeraCrypt

VeraCrypt is a multi-platform, freeware open-source tool created to provide users with on-the-fly encryption. You can use it to encrypt entire storage devices or only select partitions using pre-boot authentication.

VeraCrypt’s features include the ability to create virtual encrypted disks and mount them as if they’re real, provision of plausible deniability, pipelining, parallelization, etc.

6. EncFS

EncFS is a free and mostly open-source tool for mounting EncFS folders on Mac and Windows. You can use it to create, edit, change, and export the password of EncFS folders and it is 100% compatible with EncFS 1.7.4 on GNU/Linux platforms.

7. 7-zip

7-zip is a popular, free, and mostly open-source multi-platform file archiving utility for compressing files (or file groups) into containers referred to as archives.

7-zip is among the most popular archiving utilities because of its high compression ratio in 7z format with LZMA and LZMA2 compression, a plugin for FAR manager, integration with Windows Shell, and AES-256 encryption in 7z and ZIP formats, among other features.

8. dm-crypt

dm-crypt is a disk encryption subsystem for encrypting disks, partitions, and portable containers. It was created to address certain reliability problems in cryptoloop and can be used to back up several volume types.

9. ecryptfs

eCryptfs is a free and open-source all-in-one collection of software for disk encryption on Linux. It aims to mirror GnuPG’s functionality by implementing a POSIX-compliant filesystem-level encryption layer and it is been part of the Linux kernel since its 2.6.19 version release.

ecryptfs is cool because you can use it to encrypt directories and partitions irrespective of their underlying file system.

10. cryptsetup

cryptsetup is an open-source utility created to enable users easily encrypt files based on the DMCrypt kernel module with an emphasis on LUKS design.

LUKS stands for Linux Unified Key Setup and has since become the standard for Linux hard disk encryption thanks to its ability to facilitate distro compatibility, seamless data transport and/or migration, and secure management of multiple user passwords.

How useful are encryption tools to you and which utilities are your favourite to use? Feel free to drop your comments, questions, and suggestions below.

Источник

Оцените статью
Adblock
detector