- Главная... arrow - Статьи... arrow | - Shell arrow GnuPG - шифруем свои данные

#Записки о Unix/Linux/BSD/Solaris

GnuPG - шифруем свои данные
Автор H@wk!   
26:02:2009 г.
Продолжаю писать о том, как шифровать важные данные. Первая статья "Gnome - храним пароли безопасно " быа посвящена графическим инструментам хранения, но мы пользователи *nix систем =-) не забываем, что имеет мощный инструмент - "Консоль", который имеет огромное множество инструментов, в том числе и GPG для шифрования данных. Русский мануал GPG можно прочитать здесь...

Итак, что такое GPG и с чем его едят...

Как указано в #man gpg -> gpg -- инструмент для шифрования и цифровой подписи.

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

Рассмотрим работу...

Шифрование симметричным алгоритмом:

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

-c, --symmetric


Расшифровка с опцией:

-o --decrypt (-o отвечает за сохранение зашифрованного содержимого в файл)


gpg -c /dir/file - зашифровать файл c именем file симметричным алгоритмом. Получите зашифрованный файл file.gpg
gpg -o /dir/name_file --decrypt /dir/file.gpg - расшифровать зашифрованный файл file.gpg


Если после параметра поставить параметр -a, то программа сделает зашифрованный файл в кодировке ASCII, расшифрование файла в этом случае производится той же командой, что и расшифрование файла file.gpg.По умолчанию gpg использует качественный алгоритм CAST5. Если вы хотите для зашифровки иcпользовать другой алгоритм, то можете указать это параметром --cipher-algo. Список доступных алгоритмов вы можете посомтреть командой gpg --version. Например для того, что бы зашифровать файл алгоритмом AES256, можно воспользоваться командой:

gpg --cipher-algo AES256 -c /dir/file



Вычисление хеш-функций:

gpg --print-md sha256 /dev/sda3 - вычисление хеш-значения хеш-функции sha256 для раздела диска sda3
gpg --print-md sha1 /dir/file - вычисление хеш-значения хеш-функции sha1 для файла с именем file



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

В данном случае нужно понимать, что вы можете зашифровать файл как для самого себя, так и для кого-либо, если укажете идентификатор (e-mail или ID ключа) другого человека. Вы можете одним разом зашифровать файлы для нескольких людей, в том числе и для себя.

-e, encrypt
gpg -e /dir/file


Программа попросит ввести текущих получателей, вы должны ввести ID ключа получателя файла (или просто e-mail получателя) и нажать Enter.
Если после параметра -e вы поставите параметр -a, то программа сделает зашифрованный файл в кодировке ASCII, расшифрование файла в этом случае производится той же командой (по аналогии с выше написанным).

Расшифрование файла, зашифрованного с помощью ключа:

gpg -o /dir/file --decrypt /dir/file.gpg


Программа попросит ввести пароль к вашему ключу и создаст файл с именем file

Создание электронной цифровой подписи:

Для файлов удобнее всего использовать отделенную подпись

-b, --detach-sign
gpg -b /dir/file


вы получите файл подписи с расширением sig

Проверка цифровой подписи:

gpg --verify /dir/file.sig /dir/file


где file.sig - файл подписи, file - подписанный файл.
Вы получите отчет о проверке цифровой подписи

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

-s, --sign (опция подписи)
gpg -e -s /dir/file

Расшифровка файла с автоматической проверкой цифровой подписи:

gpg -o /dir/file --decrypt /dir/file.gpg


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

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

gpg -e -s -a /dir/file


вы получите файл с именем file.asc

Расшифровка с автоматической проверкой цифровой подписи:

gpg -o /dir/file --decrypt /dir/file.asc

Создание прозрачной подписи:

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

gpg --clearsign /dir/file

Проверка прозрачной подписи:

gpg --verify /dir/file.asc

Обратите внимание, что файл, для которого осуществляется проверка ЭЦП, должен находится в том же каталоге, что и файл подписи с расширением sig

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

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

gpg --list-sigs [e-mail или ID ключа]

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

gpg --edit-key [e-mail или ID ключа]

выход из данного меню осуществляется командой q

Генерирование пароля:

gpg -a --gen-random 2 15

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

gpg --fingerprint [ID ключа]

Более полный список опций вы можете посмотреть дав команды gpg --help, man gpg либо в одном из многочисленных руководств в сети интернет.

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


Если вы не хотите использовать командную строку, то можете воспользоваться оболочкой Kgpg, в меню которой разобраться не очень сложно. В системе Ubuntu 8.10 (впрочем вполне возможно и в других системах, использующих ту же или более новую версию Gnome) вы можете добавить апплет шифрования на одну из панелей задач, производящую шифрование на лету вашего буфера обмена.


Уничтожение файлов:

После шифрования файлов удалите оригинальные файлы с винчестера. Сделать это можно командой:

shred -u /dir/file

Данная команда (это самостоятельная утилита) уничтожает файл многопроходовой перезаписью места диска, на котором был записан уничтожаемый файл. Кстати, для данной команды удобно сделать кнопку запуска с подходящим изображением на рабочем столе. В этом случае просто перемещая файлы на созданную иконку (как в корзину) вы будете надежно уничтожать файлы с винчестера. Следует однако знать, что уничтожение файлов в журналируемой файловой системе может иметь свои нюансы.

Дополнительные параметры команды можно посмотреть с помощью команды shred --help, но два из них я опишу здесь:
-nX сделать X количество проходов (вместо 25-ти проходов по умолчанию)
-v показывать прогресс (не имеет смысла задавать этот параметр в том случае, если вы удяляете файлы, перемещая их на иконку запуска, созданную на рабочем столе)

Например команда удаления файла file семью проходами может выглядеть так:

shred -u -n7 -v file


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

Не доверяйте шредеру от Kgpg (команда kgpg -X %U), к GPG он не имеет отношения и файлы с носителя по настоящему не удаляет.

Операции шифрования/подписания электронной почты можно полностью автоматизировать, используя почтовый клиент Thunderbird с установленным расширением Enigmail (есть русифицированный). При этом вам не нужно знать ни одной команды GnuPG, но одновременно вы получите мощный и удобный инструмент, обеспечивающий прозрачную и удобную работу с одновременным обеспечением приватности вашей почты как в пути, так и на вашем рабочем месте.

Статья подготовлена с использованием материалов  сайта...

// Edit: H@wk!

Добавить коментарий
Имя:
E-mail
Коментарий:



Код:* Code


Просмотров: 11037

  Коментарии (2)
RSS комментарии
 1 Написал(а) H@wk!, в 02:34 23.08.2009
Рад, что материал помог вам.
 2 Написал(а) Анатолий, в 20:45 22.08.2009
Спасибо за статью. Я маялся с симметричными шифрами. Зашифровал, а расшифровка почему-то не проходила (программа писала что не видит данных OpenPGP в файле). Не знаю что я делал не так. Может пытался расшифровать не тот файл просто и не заметил это. Я уже начал сомневаться что это возможно. Но в статье отдельно выделена работа с симметричными шифрами. Помогло, сразу все заработало :)
 
« cdrecord - запись дисков   Список основных Linux,*BSD, ... - консольных команд »

#COMMENT

Блокируем Ylmf-pc на Exim, Bru...
Благодарю за кучу уцелевших нервов:) постоянно приходилось б...
30/05/17 00:02 More...
By Mus

Установка даты и времени в кон...
Спасибо
12/05/17 17:49 More...
By dushka

Раскладка в rdesktop
Огромное спасибо!
28/04/17 14:01 More...
By Виктор

Аутентификация средствами Apac...
подскажите как писать пороль цифры ?пж! :sigh
28/03/17 13:06 More...
By Лиза

Logwatch - мониторинг журналов...
Отлично, очень не хватало. Автору большое спасибо, пиши еще.
25/01/17 02:44 More...
By Gregg