Gnupg как пользоваться windows

Обновлено: 02.07.2024

GnuPG - инструмент для защиты коммуникаций. Эта глава коротко описывает основы работы с GnuPG, включая создание пар ключей, обмен ключами и их проверку, зашифровку и расшифровку документов, заверение документов цифровой подписью. Она не описывает в деталях принципы криптографии с открытым ключом, шифрования и цифровых подписей. Эти вопросы рассматриваются в главе 2 . Здесь, также, не рассматриваются тонкости использования GnuPG. Эти вопросы рассматриваются в главах 3 и 4 .

alice% gpg --gen-key gpg (GnuPG) 0.9.4; Copyright (C) 1999 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. Please select what kind of key you want: (1) DSA and ElGamal (default) (2) DSA (sign only) (4) ElGamal (sign and encrypt) Your selection?

GnuPG может создавать несколько разных типов ключей, но первичный ключ должен быть пригоден для создания подписи (signature). Поэтому есть только три варианта. Вариант 1 создает две пары ключей. DSA - первичная, используемая только для подписи. ElGamal - подчиненная, используемая для шифрования. Вариант 2 похож, но создает только пару DSA. Вариант 4[1] создает только пару ElGamal, используемую и для подписи и для шифрования. В любом случае, позже можно создать дополнительные пары ключей для подписи и шифрования. Большинству пользователей подойдет вариант 1.

Также Вы должны выбрать размер ключа. Размер ключа DSA должен быть между 512 и 1024 бит. Ключ ElGamal может быть любого размера. Обычно, GnuPG требует ключи не короче 768 бит. Таким образом, если Вы выбрали вариант 1 и размер ключа больше 1024 бит, то ключ ElGamal будет иметь указанный размер, а ключ DSA - 1024 бита.

About to generate a new ELG-E keypair. minimum keysize is 768 bits default keysize is 1024 bits highest suggested keysize is 2048 bits What keysize do you want? (1024)

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

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

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

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

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

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

You need a Passphrase to protect your private key. Enter passphrase:

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

alice% gpg --output revoke.asc --gen-revoke mykey [. ]

Аргумент mykey - идентификатор Вашей первичной пары ключей или любая часть идентификатора пользователя Вашей пары ключей. Сгенерированный сертификат будет сохранен в файле revoke.asc . Если опция --output опущена, результат помещается в стандартный вывод. Вы можете вывести сертификат на принтер и хранить его где-нибудь в надежном месте (банковский сейф подойдет). Если сертификат попадет в чужие руки и будет опубликован, то открытый ключ утратит свое действие.

Для общения с кем-либо, вы должны обменяться ключами. Просмотреть список имеющихся открытых ключей, можно используя команду --list-keys .

Перед тем как послать открытый ключ кому-либо, Вы должны его экспортировать. Для этого используйте команду --export . Ей требуется, дополнительно, аргумент, идентифицирующий экспортируемый открытый ключ, как и --gen-revoke .

Открытый ключ может быть добавлен к множеству Ваших открытых ключей при помощи команды --import .

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

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

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

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

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

alice% gpg --output doc.gpg --symmetric doc Enter passphrase:

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

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

Документ сжимается перед подписью и выводится в двоичном формате.

Имея подписанный документ, Вы можете либо проверить подпись, либо проверить подпись и восстановить исходный документ. Для проверки подписи используется команда --verify . Для проверки подписи и извлечения документа используется команда --decrypt . Подписанный документ на входе и проверенный и восстановленный на выходе.

Применение подписанных документов ограниченно. Получатель должен восстанавливать документ из подписанной версии, и даже в случае прозрачной подписи, подписанный документ должен быть отредактирован для получения оригинала. Поэтому имеется третий метод подписи документов, который создает отделенную подпись (detached signature). Отделенная подпись создается при использовании команды --detach-sign .

Для проверки подписи необходимы и отделенная подпись, и документ. Для проверки используется команда --verify .

Вариант 3 генерирует пару ElGamal, которая не пригодна для подписи.

Многие, часто используемые, опции командной строки могут быть установлены в файле конфигурации .

Ввиду последних скандалов с тотальной прослушкой Интернет трафика провайдерами, крупными веб-сервисами (Google, Yahoo etc.), всяческими службами безопасности (АНБ, ФСБ, СБУ, ЦРУ и т.д.), использование GnuPG в Windows будет полезно всем, кто беспокоится о сохранности своих приватных данных.

Как использовать OpenPGP (GnuPG) в Windows

Для начала нам нужно установить GnuPG, но для Windows специально создан порт под именем Gpg4win.

Для загрузки доступны три реализации Gpg4win:

  • Gpg4win - один большой глючный комбайн;
  • Gpg4win-Light - лайт версия глючного комбайна;
  • Gpg4win-Vanilla - исключительно только основные GnuPG компоненты.

В целом использование OpenPGP (GnuPG) в Windows, да и не только, сводится к таким этапам:

В приведённых здесь примерах используется портативный вариант Gpg4win-Vanilla версии 2.2.1.16059. О том, как создать портативную версию Gpg4win будет рассказано далее.

Главное, что нужно помнить - это то, что GnuPG (OpenPGP) в Windows корректно работает только из командной строки , а большая часть графических инструментов для Windows одарят Вас различными глюками и багами. Хотя, собственно и в командной строке Windows не всё так гладко с OpenPGP, когда речь идёт о кириллице, но об этом позже.

Установка Gpg4win

Установка Gpg4win сводится к банальному нажатию кнопки "Далее". Как ранее упоминалось желательно устанавливать Gpg4win-Vanilla, который содержит только основные GnuPG компоненты, а иначе вполне вероятно получим множественные глюки.

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

Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!

gpg-gen-key

Но в моём случае процесс \GnuPG\gpgp2.exe не смог вовремя получить доступ к Loopback интерфейсу, закрыто брандмауэром, в результате окна для ввода пароля я так и не дождался, оно не появилось даже после повторной попытки создать пару ключей. Если в Вашем случае возникла также ситуация, то разрешите в брандмауэре для процесса \GnuPG\gpgp2.exe доступ к Loopback интерфейсу, после удалите всё из каталога \GnuPG\home , кроме файлов gpa.conf, gpg.conf, pubring.gpg, secring.gpg и trustdb.gpg , после чего повторите попытку.

Обмен публичными PGP ключами

Сначала просмотрим список установленных ключей и найдём там ИД своего "pub" ключа, он понадобится нам для отправки на сервер ключей и публикации на сайтах или в любых других местах:

Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!

Наш pub ИД "346B72D7", его также можно было узнать/записать вовремя создания пары ключей, отправляем его на сервер ключей:

Для отправки ключей на сервер процессу " gpg2keys_hkp.exe " нужно будет разрешить исходящее TCP соединение с удалённым ИП " 130.133.110.62 " на удалённый порт " 11371 ". Для того, чтобы убедится, что наш публичный ключ уже на сервере, открываем в браузере адрес keys.gnupg.net (иногда может переадресовать на другой, рабочий в текущий момент), в поисковой форме отмечаем " Index choice - Verbose Index ", в поле " Search text " вводим часть нашего "uid" (в нашем случае "Windows Remote Shaman"), дальше жмем Search и получаем результат:

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

Мы установили GnuPG и у нас есть импортированный публичный ключ " gpg --recv-keys 346B72D7 " получателя, настал момент совершить обмен зашифрованным файлом.

Шифрование файла в GnuPG выполняется командой:

Для зашифрованного файла был определён " -r " получатель (--recipient) с ИД публичного ключа " 346B72D7 ". Этот файл сможет расшифровать только получатель с ИД "346B72D7", а если отправитель тоже хочет иметь возможность его расшифровать в будущем, то при шифровании нужно также использовать и публичный ключ отправителя " gpg -e -r ID_FROM -r ID_TO test.txt ", где "ID_FROM" ИД публичного ключа отправителя, а "ID_TO" ИД публичного ключа получателя.

Для того чтобы расшифровать "test.txt.gpg" выполним:

Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!

Вводим пароль от своего приватного ключа и получаем расшифрованный файл:

gpg-decrypt

Вместо " gpg -d test.txt.gpg > test.txt " можно использовать " gpg --output test.txt -d test.txt.gpg " или просто " gpg test.txt.gpg ", а иначе содержимое файла будет выведено в консоль.

Первый вариант реализуется из консоли, с помощью команды " gpg -e -a -r TO_ID -r FROM_ID filename.txt ", в результате чего получим файл " filename.txt.asc " с примерно таким содержимым:

Например, при использовании Менеджера ключей Kleopatra последовательность шифрования следующая:

Экспорт/импорт PGP (GnuPG) ключей

Если мы не желаем обмениваться публичным ключом через публичные сервера ключей, то мы можем выполнить его экспорт в файл и переслать по почте. Экспорт публичного ключа выполняется с помощью флага " --export "

Для того чтобы выполнить экспорт приватного PGP ключа, вместо флага " --export " мы должны использовать флаг " --export-secret-keys ", но, странно, что этого флага нет в справке " gpg --help ":

Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!

Импорт ключей выполняется командой " gpg --import public.gpg " или " gpg --allow-secret-key-import --import private.gpg " соответственно. Смотрим список ключей " gpg --list-keys ".

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

Для создания точек соединения между файловой системой и виртуальным шифрованным диском, а если проще создания символьной ссылки (ака symlink в Unix), можно использовать linkd.

Как проверить PGP подпись файла

В примере ниже мы проверяем PGP подпись файла multibit-0.5.16-windows-setup.exe , которая расположена в файле с тем же именем, но только с приставкой " .asc " - оба файла должны располагаться в одной и той же директории ("C:\" в нашем случае):

При первой проверке файл " multibit-0.5.16-windows-setup.exe " был расположен в другом каталоге, при второй проверке оба файла были в корне диска " С:\PORTABLE\GnuPG\pub " откуда мы и выполняли проверку подписи. Результат проверки положительный: " Good signature from . ".

Предупреждение говорит нам о том, что мы не доверяем любым ключам, которыми был подписан ключ Джима (Jim Burton):

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

Создание портативной (portable) версии Gpg4win

Для того чтобы создать портативную версию GnuPG сначала нужно установить полную, "лайт" или "vanilla" версию, после чего из консоли перейти в директорию установки и выполнить:

В каталоге C:\PORTABLE\GnuPG будет создана портативная версия GnuPG. Ваши GnuPG ключи и настройки будут считываться из директории 'home' корневого каталога портативной версии.

Gpg4win и проблемы с кириллицей

Если в консоли возникают проблемы с кириллицей, а они обычно возникают всегда, то обходим (не решаем) их переименованием каталога " %Program Files%\GPG4win\share\locale\ru ", например в " %Program Files%\GPG4win\share\locale\sru ":) После этого будем иметь английский интерфейс, но уж пусть лучше английский, чем куча каракуль в консоли.

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

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

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

Ссылки по теме GnuPG

Рекомендуемый контент

Вы не любите рекламу!? Напрасно!:) На нашем сайте она вовсе ненавязчивая, а потому для нашего сайта можете полностью отключить AdBlock (uBlock/uBlock Origin/NoScript) и прочие блокировщики рекламы! AdBlock/uBlock может препятствовать нормальной работе системы поиска по сайту, отображению рекомендуемого контента и прочих сервисов Google. Рекомендуем полностью отключить блокировщик рекламы и скриптов, а также разрешить фреймы (aka iframe).

Введение

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

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

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

Консоль

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Консоль

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

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

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

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

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

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

Консоль

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Консоль

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Консоль

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

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

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

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

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

Эта версия Orchestrator достигла конца поддержки, мы рекомендуем выполнить обновление до Orchestrator 2019.

Действие шифрования файлов с помощью PGP шифрует файл или все дерево папок, используя созданный файл ключа PGP. При шифровании всей папки дерево папок сохраняется ниже корневой папки. например, если вы шифруете C:\Documents и Параметры \администратор\ми documents \ *. * и все вложенные папки, все файлы в папке "мои документы" шифруются, а также все файлы в папках в папке "мои документы". Все файлы во вложенных папках будут находиться в одной вложенной папке в папке выходных данных. Используйте действие шифрования файлов с помощью PGP для шифрования файлов перед резервным копированием.

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

Это действие поддерживает ключи DSS и RSA4.
Ключи RSA не поддерживаются.

Установка GnuPG

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

Установка GnuPG версии 1.x и 2.0.x

Выполните указанные ниже действия.

  1. Загрузите файлы gpg.exe и iconv.dll версии 1.4.10 или более поздней из GnuPG.
  2. сохраните gpg.exe и iconv.dll в папке: \program files (x86) \Common Files\Microsoft System Center < version > \орчестратор\екстенсионс\суппорт\енкриптион на каждом сервере runbook и на компьютере, где работает Runbook Designer.

Установка GnuPG версии 2.x

Выполните указанные ниже действия.

Загрузите файлы gpg.exe, gpg-agent.exe, iconv.dll, libassuan-0.dll, libgcrypt-20.dll, libgpg-error-0.dll, libnpth-0.dll, libsqlite3-0.dll и zlib1.dll версии 2.x или более поздней из GnuPG.

сохраните gpg.exe, gpg-agent.exe, iconv.dll, libassuan-0.dll, libgcrypt-20.dll, libgpg-error-0.dll, libnpth-0.dll, libsqlite3-0.dll и zlib1.dll в папку: \program files (x86) \Common files < Microsoft System Center Orchestrator < версии > \орчестратор\екстенсионс\суппорт\енкриптион на каждом сервере runbook и на компьютере, на котором работает Runbook Designer.

Настройка действия шифрования файлов с помощью PGP

Перед настройкой действия шифрования файлов с помощью PGP необходимо определить следующее:

Путь к файлам, которые необходимо зашифровать.

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

Используйте следующие сведения для настройки действия шифрования файлов с помощью PGP.

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

Термины и немного теории

Чтобы в дальнейшем было понятно, что мы делаем, давайте разберемся в терминах, которые будем использовать, что такое PGP, OpenPGP, GnuPG, какие программы мы будем использовать, и что они делают. На самом деле про каждый термин можно рассказывать долго, я опишу это в сжатом виде, достаточном для использования программ.

PGP. Сокращение от слов (Pretty Good Privacy, достаточно хорошая секретность). Именно так называлась программа, которая была написана Филиппом Циммерманном в 1991 году. Она была предназначена для удобного шифрования данных. У этой программы довольно сложная судьба, за нее Циммермана пытались судить в США, программу перекупали друг у друга разные фирмы, в данный момент PGP принадлежит фирме Symantec, и PGP является коммерческой программой.

Кроссплатформенная реализация с открытым кодом стандарта OpenPGP называется GnuPG. Самое интересное, что изначально GnuPG начал писать немецкий программист Вернер Кох, а потом немецкое министерство экономики и технологий профинансировало портирование GnuPG под Windows (gpg4win).

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

Практика

а дальше все необходимое само скачается и установится.

На некоторых шагах поведение Kleopatra под Windows и Линукс может отличаться, но не значительно.

Генерация ключей

Алиса запускает Kleopatra и видит главное окно программы:

pgp_kleopatra_01

В большой таблице, которая на этом скриншоте пустая, отображаются известные программе ключи (свои и чужие открытые)

pgp_kleopatra_02

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

pgp_kleopatra_03

В принципе, можно нажимать кнопку Next, но любопытные могут заглянуть в настройки сертификата:

pgp_kleopatra_04

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

pgp_kleopatra_05

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

pgp_kleopatra_06

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

pgp_kleopatra_07

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

На следующем скриншоте показано окно Kleopatra, где появился ключ Алисы (Alice):

pgp_kleopatra_08

Будем считать, что то же самое проделал и Боб:

kleopatra_bob_01

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

Обмен ключами

Алиса и Боб имеют по паре ключей. Теперь им надо обменяться открытыми ключами, но как их достать из программы? На самом деле очень просто. Выбираем нужный сертификат из списка и выбираем пункт меню File -> Export Sertificates. Программа предложит сохранить файл с расширением asc. Сохраняем его. Это текстовый файл, который будет выглядеть примерно так:

pgp_kleopatra_10

Теперь в списке сертификатов Алисы появился открытый ключ Боба:

pgp_kleopatra_11

Можно на него дважды щелкнуть и посмотреть информацию:

pgp_kleopatra_12

Если бы Боб послал Алисе свой ключ не в виде файла, а в виде текста, то Алиса должна была бы скопировать его в буфер обмена (вместе с шапкой и подвалом), а затем нажать правую кнопку мыши на значок Kleopatra в трее и выбрать пункт меню Clipboard -> Sertificate Import, ключ точно так же был бы импортирован.

Шифрование

pgp_kleopatra_13

Здесь можно выбрать, что нужно сделать с файлом: зашифровать (Encrypt, выбрано по умолчанию), подписать файл (Sign), или сделать и то, и другое (Sign and Encrypt). Если установить галку Text output (ASCII armor), то в результате шифрования будет создан не бинарный файл, а текстовый, содержимое из которого можно вставить, например, в текст письма. Если установить галку Remove unencrypted original file when done, то после шифрования исходный файл будет удален.

pgp_kleopatra_14

pgp_kleopatra_23

После этого происходит шифрование, о его успешности говорит следующее окно:

pgp_kleopatra_15

Теперь рядом с файлом from_alice.txt создан файл from_alice.txt.gpg, если до этого не была установлена галка Text output (ASCII armor), или файл from_alice.txt.asc, если эта галка установлена была.

Файл asc напоминает файл с открытым ключом:

Кроме того, в программе Kleopatra есть возможность шифровать содержимое буфера обмена, для этого Алиса где-нибудь набирает текст, копирует его в буфер обмена и нажимает правую кнопку мыши на иконке в трее. В выпадающем меню выбирает пункт Clipboard -> Encrypt. Откроется окно

pgp_kleopatra_18

pgp_kleopatra_19

pgp_kleopatra_21

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

pgp_kleopatra_22

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

Расшифровка

kleopatra_bob_03

А рядом с файлом from_alice.txt.gpg или from_alice.txt.asc будет создан файл from_alice.txt, который содержит исходный текст, который написала Алиса.

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

Читайте также: