Файлы с расширением key эцп






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


Введение


В данном HOWTO мы подробно рассмотрим как работать с GnuPG второй версии из терминала, а также графический интерфейс на примере утилиты Kleopatra, входящей в состав графической среды KDE, а также набор GnuPG for Windows.


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


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


Консоль


Простой режим:


Утилита gpg2 потребует указать полное имя, адрес электронной почты и затем пароль для защиты секретного ключа. Все остальные параметры будут заданы по умолчанию, включая его длину (по умолчанию 2048 бит).


Режим эксперта:


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


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


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


GUI

Главное окно Kleopatra


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

Варианты создания ключевой пары


Для того, чтобы создать новую ключевую пару, в меню Файл (File) выберем пункт Новая ключевая пара (New key pair), а затем Создать личную пару ключей OpenPGP (Create new OpenPGP key pair).

Диалог создания ключевой пары


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

Дополнительные параметры ключевой пары


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

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


После указания всех необходимых данных и, опционально, параметров, жмём кнопку Далее (Next). Мастер ещё раз предложит убедиться, что всё указано верно и затем нажать кнопку Создать (Create).

Успешное завершение создания ключевой пары


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


Экспорт открытого ключа


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


Консоль


Экспорт открытого ключа в текстовый файл:


Экспорт открытого ключа на сервер ключей:


Здесь 0xD45AB90A — отпечаток ключа нашей ключевой пары, открытый ключ которой мы экспортируем, а mykey.asc — имя файла, в который будет сохранён результат.


GUI


В главном окне Kleopatra выбираем нашу ключевую пару, нажимаем по ней правой кнопкой мыши и в контекстном меню выбираем пункт Экспортировать на сервер (Export on Server).


Если требуется экспортировать в файл, тогда в контекстном меню выбираем пункт Экспортировать (Export) и сохраняем файл.


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


GnuPG позволяет использовать несколько типов подписей:

  • встроенная в файл: содержимое файла изменяется так, чтобы в него была добавлена ЭЦП. Чаще всего применяется при отправке подписанных сообщений по электронной почте;
  • отсоединённая в текстовом формате: создаётся файл с расширением *.asc вида mydocument.pdf.asc (где mydocument.pdf — имя оригинального файла);
  • отсоединённая в двоичном формате: создаётся файл с расширением *.sig вида mydocument.pdf.sig в бинарном формате.


Для создания ЭЦП файла используется закрытый ключ из нашей ключевой пары, а для проверки — открытый.


Консоль


Создадим отсоединённую подпись в текстовом формате:


Здесь 0xD45AB90A — отпечаток ключа нашей ключевой пары, а mydocument.pdf — имя файла, который мы будем подписывать ЭЦП.


Создадим отсоединённую подпись в двоичном формате:


Все параметры идентичны, но на выходе будет получен файл mydocument.pdf.sig.


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





Создадим встроенную в файл подпись в двоичном формате:


Внимание! При создании встроенных подписей содержимое файла-источника целиком включается внутрь, поэтому использовать данный формат не желательно из-за дублирования и значительного размера. Далее в статье мы будем рассматривать только отсоединённую ЭЦП, т.к. это самый популярный вариант подписи.


GUI

Выбор пункта на панели Kleopatra


В главном окне Kleopatra нажмём кнопку на панели инструментов Подписать/Зашифровать (Sign/Encrypt).

Подпись файлов в Kleopatra


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


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


Т.к. нам необходимо создать отсоединённую подпись, обязательно установим флажок в чекбокс Зашифровать / Подписать каждый файл отдельно (Encrypt / Sign each file separately).

Запрос ввода пароля закрытого ключа


После нажатия кнопки Подписать (Sign) будет предложено ввести пароль, указанный при создании ключевой пары.

Успешная подпись файла в Kleopatra


Если пароль был введён верно, то процесс завершится успешно и будет создана действительная цифровая подпись. Нажмём Завершить (Finish) для выхода.


Импорт открытого ключа


Для проверки чужой цифровой подписи GnuPG, у нас должны быть:

  1. открытый ключ человека, который её создал;
  2. оригинальный файл и файл отсоединённой цифровой подписи.


Сначала мы должны импортировать ключ респондента, подписавшего файл (если это не было сделано ранее). Это можно сделать любым способом:

  • текстовый файл;
  • серверы-хранилища ключей;
  • буфер обмена (для GUI утилит).


Консоль


Импортируем открытый ключ с ключевого сервера (наиболее популярный вариант):


Здесь 0xD45AB90A — отпечаток открытого ключа, который мы импортируем.


Импортируем открытый ключ из файла:


Здесь mykey.asc — имя файла с открытым ключом.


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


Установим доверие ключу:


Проверим отпечаток респондента (например посредством телефонного звонка или любым другим способом), затем выберем пункт Я полностью доверяю (I trust fully). Выходим из интерактивного режима:


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


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


Здесь 0xD45AB90A — отпечаток открытого ключа респондента.


GUI

Поиск ключа на сервере в Kleopatra


Для того, чтобы импортировать открытый ключ с сервера в Kleopatra, мы должны знать либо его отпечаток, либо адрес электронной почты, который был указан при его создании. Введём запрос в поле Искать (Search) и нажмём Поиск (Search). Как только будет найден необходимый, выберем его и нажмём Импорт (Import).


Если требуется загрузить открытый ключ из текстового файла достаточно просто нажать в главном окне Kleopatra кнопку Импорт (Import) и указать данный файл.

Настройка уровня доверия ключу в Kleopatra


Проверим отпечаток импортированного ключа и, если всё верно, установим ему уровень доверия посредством выбора ключа в главном окне и пункта Изменить уровень доверия (Change Certification Trust) в контекстном меню.

Подпись ключей в Kleopatra


Если необходимо, подпишем его (пункт Подписать (Certify)) контекстного меню). Проверим отпечаток ключа (контрольную сумму) и нажмём Далее (Next).

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


Поставим точку в пункт Сертифицировать для всех (Certify for all) и Отправить заверенный сертификат на сервер (Export signed certificate to server), затем нажмём кнопку Удостоверить (Certify).


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


Внимание! Файл отсоединённой ЭЦП должен лежать в том же каталоге, что и оригинальный файл, иначе выполнить проверку его подлинности будет невозможно.


Консоль


Проверка отсоединённой подписи файла:


GUI

Главное окно Kleopatra, пункт проверки подписей


В главном окне Kleopatra, на панели инструментов, выберем пункт Расшифровать и проверить (Decrypt and verify), затем найдём на диске файл отсоединённой подписи и откроем его.

Результат проверки ЭЦП Kleopatra


Через несколько секунд программа произведёт проверку ЭЦП и выведет результат.


Литература


При написании статьи использовалась литература из следующих источников:

Источник

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Don`t copy text!
Прокрутить вверх