Шифрование данных с помощью GnuPG

Аватар пользователя Alexey

Это небольшая памятка о настройке и использовании программы шифрования GnuPG

1.Что это вообще такое?
С помощью этой программы можно зашифровывать произвольные файлы используя алгоритм OpenPGP

2.Зачем это нужно?
Вот какие применения я нашел этому:
- шифрование электронной почты используя плагин для Thunderbird Enigmail.
- шифрование файлов. Например, я иногда создаю копию своей почтовой базы и адресной книги, проще говоря:
bash-3.00$ cd /home/alexey/
bash-3.00$ tar -cf mail.tar /home/alexey/.thunderbird/
tar: Removing leading `/\' from member names
bash-3.00$ gpg -sear rank@inbox.ru mail.tar
- можно зашифровать файл с важными данными и послать его другу, не заботясь о защищенности соединения, даже в случае перехвата его нельзя будет прочесть.
В результате появляется шифрованный файл mail.tar.asc Это файл я могу выложить на хранение в свой раздел публичного ftp, переслать знакомым ну и т.д. и буду уверен, что с одной стороны мои важные письма не прочитают, а с другой стороны, что я их смогу восстановить, даже если мой компьютер сгорит или будет украден. rank@inbox.ru это адрес для которого вы должены владеть секретным ключом, об это позже.

3.Как установить GnuPG?
Это зависит от дистрибутива, на сдесь и далее на примере моего ASPLinux 10.
Скорее всего пакет gnupg.i386 включен в состав вашего дистрибутива, достаточно
yum install gnupg
Ну или rpm, apt сами в общем разберетесь.

4. Установил и что дальше?
Теперь надо создать пару хотя бы пару ключей:
Выполняем из под обычного пользователя:
bash-3.00$ gpg --gen-key
gpg (GnuPG) 1.2.6; Copyright (C) 2004 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Выберите тип ключа:
(1) DSA и ElGamal (по умолчанию)
(2) DSA (только для подписи)
(4) RSA (только для подписи)
Ваш выбор (?-подробнее)?
Пара ключей DSA будет иметь длину 1024 бита.
Создаем новую пару ELG-E ключей.
минимальный размер ключа 768 бит
размер ключа по умолчанию 1024 бит
максимально рекомендуемый размер 2048 бит
Какой размер ключа Вы выбрали? (1024)
Запрашиваемый размер ключа 1024 бит
Выберите срок действия ключа.
0 = без ограничения срока действия
= срок действия n дней
w = срок действия n недель
m = срок действия n месяцев
y = срок действия n лет
Ключ действителен до? (0) 1y
Key действителен до: Пнд 05 Мар 2007 17:50:39 MSK
Все верно? (y/n) y

Для идентификации Вашего ключа необходим User ID
Программа создаст его из Вашего имени, комментария и адреса e-mail в виде:
\"Baba Yaga (pensioner) \"

Ваше настоящее имя: Alexey
Email-адрес: rank@inbox.ru
Комментарий:
Вы выбрали следующий User ID:
\"Alexey \"

Сменить (N)Имя, (C)Комментарий, (E)email-адрес или (O)Принять/(Q)Выход? o
Для защиты секретного ключа необходим пароль.

Необходимо сгенерировать много случайных чисел. Желательно, что бы Вы
выполняли некоторые другие действия (печать на клавиатуре, движения мыши,
обращения к дискам) в процессе генерации; это даст генератору
случайных чисел возможность получить лучшую энтропию.
..+++++++++++++++.+++++..++++++++++++++++++++++++++++++..++++++++++++++++++++..
Необходимо сгенерировать много случайных чисел. Желательно, что бы Вы
выполняли некоторые другие действия (печать на клавиатуре, движения мыши,
обращения к дискам) в процессе генерации; это даст генератору
случайных чисел возможность получить лучшую энтропию.
.+++++++++++++++++++++++++++++++++++....>+++++............................................+++++^^^
открытый и закрытый ключи созданы и подписаны.
ключ помечен как абсолютно доверяемый.

pub ********** 2006-03-05 Alexey
Отпечаток ключа =
sub ********** 2006-03-05 [годен до: 2007-03-05]

Ну вот, ключ создали. Теперь не убедитесь, что в домашней папке появился каталог ./gnupg, а в нем несколько файлов, это и есть ключи. Тут будут храниться и ваши ключи и публичные ключи других пользователей, которые вы получите. Можете создать ключи и для других своих почтовых ящиков.

5. Ну ладно, все это хорошо, но как работать-то, а?
Можно установить Enigmail и работать, когда все ключи есть, проблем не будет.
Можно зашифровать файл (как написано в 2) и положить на хранение.
Для расшифровки файла необходимо:
#gpg -d mail.tar.asc > newmail.tar

6. А я вот хочу послать свой супер секретный файл другу, но так, что он его мог прочесть?
Для этого ему надо передать публичный ключ(можно послать по почте). Сначала получим этот ключ:
#gpg --export -ao alexey.asc
Теперь имеем открытый ключ в файле alexey.asc Его и посылаем по почте.
После получения открытого ключа пользователь должен скопировать его в свой домашний каталог, и принять:
#gpg --sing alexey.asc
Ну вот ключ помещен в базу данный и теперь все файл могут быть расшифрованы по команде #gpg -d, gpg сам определит (по подписи) кем был файл послан, найдет нужный ключ и расшифрует файл.

На этом пока все, успехов. Пишите e-mail:raKt@inbox.ru, только замените K на r.

Your rating: Нет Average: 10 (1 vote)
RSS-материал