From Fedora Project Wiki

Создание ключей GPG

Создание ключей GPG средствами среды GNOME

Установите программу Seahorse, которая значительно упрощает управление GPG ключами. В главном меню выберите пункт Система > Администрирование > Установка/удаление программ. В строке поиска введите seahorse и нажмите 'Enter'. Отметьте галочкой пакет seahorse, нажмите кнопку Применить для его установки. Вы также можете установить Seahorse из командной строки: su -c "yum install seahorse".

Запустите Seahorse выбрав пункт Пароли и ключи шифрования в меню Приложения > Стандартные. В меню программы выберите пункт Ключ > Создать новый ключ..., затем Ключ PGP и нажмите Продолжить. Введите ваше полное имя, адрес почтового ящика, и, при желании, комментарий к ключу (обычно это название организации, проекта, в котором вы участвуете, псевдонимы используемые вами на форумах или в чатах, адрес домашней странички, и т.п.) К примеру: "Ivan Fedorov", "ifedorov@example.com", "Moscow Print Yard". После нажатия на кнопку Создать появится запрос на ввод пароля для создаваемого ключа. Выберите надежный, но легко запоминающийся пароль.

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

После создания ключа запись о нем появится во вкладке Мои личные ключи, там же вы сможете узнать идентификатор ключа (GPG key ID). В большинстве случаев, когда вас просят указать идентификатор ключа, следует добавить к нему префикс "0x", к примеру: "0x6789ABCD".

Теперь вам следует сделать резервную копию секретного ключа.

Создание ключей GPG средствами среды KDE

Запустите программу KGpg выбрав в главном меню Utilities > PIM > KGpg. Если вы никогда еще не использовали KGpg, программа проведет вас по всем шагам создания пары ключей GPG: появится диалоговое окно с предложением о создании новой пары ключей. Введите ваше полное имя, адрес почтового ящика, и, при желании, комментарий к ключу (обычно это название организации, проекта, в котором вы участвуете, псевдонимы используемые вами на форумах или в чатах, адрес домашней странички, и т.п.) К примеру: "Ivan Fedorov", "ifedorov@example.com", "Moscow Print Yard". Вы также можете выбрать срок действия, размер ключа (количество бит) и алгоритмы шифрования. В следующем диалоговом окне введите пароль для создаваемого ключа.

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

После создания ключа запись о нем появится в главном окне KGpg, там же вы сможете узнать идентификатор ключа (GPG key ID). В большинстве случаев, когда вас просят указать идентификатор ключа, следует добавить к нему префикс "0x", к примеру: "0x6789ABCD". Теперь вам следует сделать резервную копию секретного ключа.

Создание ключей GPG из командной строки

Для создания ключа используйте следующую команду:

gpg2 --gen-key

Эта команда сгенерирует пару ключей GPG: открытый и секретный. Другие люди смогут использовать ваш открытый ключ для проверки подлинности и/или расшифровки ваших сообщений. Распространяйте свой открытый ключ как можно шире, особенно среди людей заинтересованных в достоверности сообщений получаемых от вас, к примеру, в списках почтовых рассылок. Проект документирования Fedora, в частности, просит включать открытый GPG ключ во вступительное письмо участника проекта.

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

Выберите тип ключа:
   (1) DSA and ElGamal (по умолчанию)
   (2) DSA (только для подписи)
   (5) RSA (только для подписи)
Ваш выбор (?-подробнее)?

Для подавляющего большинства пользователей значения параметров по умолчанию являются оптимальными. Ключ DSA/ElGamal позволяет вам не только подписывать сообщения и файлы, но и шифровать их.

Затем укажите размер ключа:

Пара ключей DSA будет иметь длину 1024 бит.
ключи ELG-E могут иметь длину от 1024 до 4096 бит.
Какой размер ключа Вам необходим? (2048)

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

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

Выберите срок действия ключа.
         0 = без ограничения срока действительности
      <n>  = срок действительности n дней
      <n>w = срок действительности n недель
      <n>m = срок действительности n месяцев
      <n>y = срок действительности n лет
Ключ действителен до? (0)

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

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

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

В качестве комментария к ключу можете ввести название организации, проекта, в котором вы участвуете, псевдонимы используемые вами на форумах или в чатах, адрес домашней странички,– любую информацию, которую посчитаете нужной. (Некоторые люди используют разные ключи для разных целей, что и отражается в комментарии: "Работа" или "Проекты с открытым кодом")

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

pub   1024D/1B2AFA1C 2005-03-31 [годен до: 2006-03-31]
Отпечаток ключа = 117C FE83 22EA B843 3E86  6486 4320 545E 1B2A FA1C
uid                  John Q. Doe (Fedora Docs Project) <jqdoe@example.com>
sub   2048g/CEA4B22E 2005-03-31 [годен до: 2006-03-31]

Отпечаток ключа (key fingerprint) – это краткая "сигнатура" открытого ключа, однозначно его определяющая. Зная его другие люди могут найти и получить ваш открытый ключ с сервера ключей, или убедиться в подлинности имеющегося у них экземпляра ключа. Вам необязательно записывать отпечаток ключа где-либо, так как всегда можно узнать его с помощью следующей команды:

gpg2 --fingerprint jqdoe@example.com

Последние восемь шестнадцатеричных цифр отпечатка – это идентификатор открытого ключа (GPG key ID). В большинстве случаев, когда вас просят указать идентификатор ключа, следует добавить к нему префикс "0x", к примеру: "0x1B2AFA1C".

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

Теперь вам следует сделать резервную копию секретного ключа.

Создание резервной копии ключа

Important.png
Сделайте резервную копию вашего секретного ключа, переместите ее на внешний носитель (CD-, DVD-диск, USB-диск, карта памяти), и храните в недоступном для посторонних месте.

Создание резервной копии GPG ключа средствами среды GNOME

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

Переместите копию ключа на внешний носитель, и храните его в недоступном для посторонних месте.

Теперь можете приступить к опубликованию вашего открытого ключа.

Создание резервной копии GPG ключа средствами среды KDE

Нажмите правую кнопку мыши на записи о созданном ключе и выберите пункт Export Secret Key. В появившемся окне нажмите Export, укажите имя файла и нажмите Save.

Переместите копию ключа на внешний носитель, и храните его в недоступном для посторонних месте.

Теперь можете приступить к опубликованию вашего открытого ключа.

Создание резервной копии GPG ключа из командной строки

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

gpg --export-secret-keys --armor jqdoe@example.com > jqdoe-privkey.asc

Переместите копию ключа на внешний носитель, и храните его в недоступном для посторонних месте.

Теперь можете приступить к опубликованию вашего открытого ключа.

Опубликование открытого ключа

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

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

Экспортирование открытого ключа средствами GNOME

Для того, чтобы экспортировать открытый ключ на общедоступный сервер ключей, откуда другие люди смогут его получить, нажмите правую кнопку мыши на записи о ключе и выберите в меню пункт Синхронизировать и опубликовать ключи..., нажмите Серверы ключей, выберите из списка справа от метки Публиковать ключи на: сервер hkp://subkeys.pgp.net:11371, нажмите Закрыть, затем Синхронизировать.

Note.png
Если программа не может произвести синхронизацию ключей, что может быть вызвано блокировкой трафика межсетевым экраном, вы можете опубликовать ключ другим способом. Скопируйте ключ в буфер обмена щелкнув на нем правой кнопкой мыши и выбрав пункт Копировать открытый ключ; откройте в веб-браузере сайт http://subkeys.pgp.net/, вставте (Ctrl+V) в поле Submit a Key скопированный текст и нажмите Submit this key to the keyserver!.

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

Экспортирование открытого ключа средствами KDE

Для того, чтобы экспортировать открытый ключ на общедоступный сервер ключей, откуда другие люди смогут его получить, нажмите правую кнопку мыши на записи о ключе и выберите в меню пункт Export Public Keys. Отсюда вы можете экспортировать ваш открытый ключ в буфер обмена, в текстовый файл, отправить его по электронной почте или прямо на сервер ключей. Сейчас экспортируйте ключ на предложенный программой сервер.

Note.png
Если программа не может произвести синхронизацию ключей, что может быть вызвано блокировкой трафика межсетевым экраном, вы можете опубликовать ключ другим способом. Скопируйте ключ в буфер обмена щелкнув на нем правой кнопкой мыши и выбрав пункт Копировать открытый ключ; откройте в веб-браузере сайт http://subkeys.pgp.net/, вставте (Ctrl+V) в поле Submit a Key скопированный текст и нажмите Submit this key to the keyserver!.

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

Экспортирование открытого ключа из командной строки

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

gpg --keyserver hkp://subkeys.pgp.net --send-key KEYNAME

Вместо KEYNAME идентификатор вашего ключа.

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

Копирование открытого ключа вручную

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

gpg --export --armor jqdoe@example.com > jqdoe-pubkey.asc

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

Обеспечение безопасности вашего секретного ключа

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

Warning.png
Держите ваш пароль в тайне!
Даже если вашим секретным ключом завладеет посторонний, он не сможет воспользоваться им не зная пароля. Не используйте пароль, который легко можно угадать. Не используйте в качестве пароля какое-то одно слово (любого языка), последовательности цифр, такие как ваш телефонный номер или номер паспорта, значимые для вас или вашей семьи даты. Самый безопасный пароль – это очень длинный пароль, включающий в себя одновременно и строчные, и прописные буквы, числа, цифры, и другие символы. При этом следует выбирать пароль, который вы в состоянии запомнить, так как будучи записан где-либо он сразу же станет менее надежным.

Отзыв GPG ключа

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

Создание отзывающего сертификата

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

gpg --output revoke.asc --gen-revoke KEYNAME

Вместо KEYNAME подставьте идентификатор ключа, или любую часть идентификатора пользователя. Созданный сертификат (the revoke.asc file) следует хранить в надежном месте. Если он будет опубликован по ошибке, или благодаря действиям недоброжелателей, открытый ключ будет невозможно использовать. Можно хранить его так же, как и копию секретного ключа – на внешнем носителе, либо распечатать на принтере и хранить этот документ в сейфе.

Отзыв ключа

gpg --import revoke.asc

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

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

gpg --keyserver subkeys.pgp.net --send KEYNAME

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