Защита целостности кода с помощью pgp. часть 1. базовые концепции и инструменты
Содержание:
- Экспорт и импорт
- Download
- Создание пары ключей
- ▍Настройка, установка GPG (GnuPG):
- Приложение OpenKeychain
- PGP шифрование в действии
- Cyber Knights of Templar
- PGP / GPG шифрование
- Использование доверия для проверки достоверности ключей
- Что такое PGP?
- Загрузка вашего ключа в Launchpad
- PGP 5.5
- GPG шифрование
- Установка GnuPG Anchor link
- Подготовка к установке Enigmail Anchor link
Экспорт и импорт
Для операций с ключом, щелкните по нему правой кнопкой мыши.
Для импорта ключей (нашего уже существующего на новом устройстве или полученного публичного), воспользуемся кнопкой «Импорт». Также можно использовать двойной клик по файлу ключа, это автоматически откроет Клеопатру и импортирует выбранный ключ. GPG-файлы встречаются с расширениями *.asc, *.pgp и *.gpg. Это не имеет большого значения, так как расширение нужно больше для удобства пользователя и лишь немного — приложений. Файл будет корректно прочитан и в случае, когда специальное расширение изменено или удалено.
Очень часто ключи распространяются в виде текстового блока. В таком случае, скопировав ключ, можно импортировать его через меню операций с буфером обмена.
Программа попросит удостовериться в подлинности ключа. В настоящее время самым простым и эффективным способом является сравнение отпечатка, поэтому его публикуют вместе с ключом. Если отпечаток совпадает с заявленным, заверяем сертификат.
Теперь мы можем проверять подпись владельца нового ключа и шифровать для него информацию.
Download
Note that you may also download the GNU Privacy Guard from a mirror
site close to you. See our list of mirrors. The table below
provides links to the location of the files on the primary server
only.
Source code releases
These are the canonical release forms of GnuPG. To use them you
need to build the binary version from the provided source code.
For Unix systems this is the standard way of installing software.
For GNU/Linux distributions are commonly used (e.g. Debian, Fedora,
RedHat, or Ubuntu) which may already come with a directly
installable packages. However, these version may be older so that
building from the source is often also a good choice. Some
knowledge on how to compile and install software is required.
The table lists the different GnuPG packages, followed by required
libraries, required tools, optional software, and legacy versions
of GnuPG. For end-of-life dates see further down.
Name | Version | Date | Size | Tarball | Signature |
---|---|---|---|---|---|
GnuPG | 2.3.3 | 2021-10-12 | 7412k | download | download |
GnuPG (LTS) | 2.2.32 | 2021-10-06 | 7043k | download | download |
Libgpg-error | 1.42 | 2021-03-22 | 951k | download | download |
Libgcrypt | 1.9.4 | 2021-08-22 | 3163k | download | download |
Libgcrypt (LTS) | 1.8.8 | 2021-06-02 | 2917k | download | download |
Libksba | 1.6.0 | 2021-06-10 | 646k | download | download |
Libassuan | 2.5.5 | 2021-03-22 | 558k | download | download |
ntbTLS | 0.2.0 | 2020-08-27 | 340k | download | download |
nPth | 1.6 | 2018-07-16 | 293k | download | download |
Pinentry | 1.2.0 | 2021-08-25 | 486k | download | download |
GPGME | 1.16.0 | 2021-06-24 | 1678k | download | download |
Scute | 1.7.0 | 2021-01-07 | 831k | download | download |
GPA | 0.10.0 | 2018-10-16 | 745k | download | download |
GnuPG 1.4 | 1.4.23 | 2018-06-11 | 3661k | download | download |
GnuPG distributions are signed. It is wise and more secure to check out for their integrity.
Remarks:
-
Pinentry is a collection of passphrase entry dialogs which is
required for almost all usages of GnuPG. -
GPGME is the standard library to access GnuPG functions from
programming languages. - Scute is a PKCS#11 provider on top of GnuPG.
- GPA is a graphical frontend to GnuPG.
-
GnuPG 1.4 is the old, single binary version which still support
the unsafe PGP-2 keys. This branch has no dependencies on the
above listed libraries or the Pinentry. However, it lacks many
modern features and will receive only important updates.
GnuPG binary releases
In general we do not distribute binary releases but leave that to
the common Linux distributions. However, for some operating
systems we list pointers to readily installable releases. We
cannot guarantee that the versions offered there are current. Note
also that some of them apply security patches on top of the
standard versions but keep the original version number.
OS | Where | Description |
---|---|---|
Windows | Gpg4win | Full featured Windows version of GnuPG |
download sig | Simple installer for the current GnuPG | |
download sig | Simple installer for GnuPG 1.4 | |
OS X | Mac GPG | Installer from the gpgtools project |
GnuPG for OS X | Installer for GnuPG | |
Debian | Debian site | GnuPG is part of Debian |
RPM | rpmfind | RPM packages for different OS |
Android | Guardian project | Provides a GnuPG framework |
VMS | antinode.info | A port of GnuPG 1.4 to OpenVMS |
RISC OS | home page | A port of GnuPG to RISC OS |
End-of-life announcements
We announce the end-of-life date for a current stable version at
the time a new stable version is released. We maintain old
branches for at least two years. For GnuPG 2.2 we consider 2.1.0
as the birth of this new stable branch. For most other packages we
don’t maintain branches and thus there is no end-of-life; always
use the latest version.
Package | Ver. | End-of-life | Birth |
---|---|---|---|
GnuPG | 2002-09-07 | 1999-09-07 | |
2005-01-01 | 2002-09-21 | ||
1.4 | none (2) | 2004-12-16 | |
2017-12-31 | 2006-11-11 | ||
2.2 | 2024-12-31 (1) | 2014-11-06 | |
2.3 | tba | 2021-04-07 | |
Libgcrypt | 2016-12-31 | 2011-06-29 | |
2017-06-30 | 2013-12-16 | ||
2019-06-30 | 2016-04-15 | ||
1.8 | 2024-12-31 (1) | 2017-07-18 | |
1.9 | 2024-03-31 | 2021-01-19 |
- (1): Long Term Support; eol date likely to be prolonged
- (2): Legacy version; see remarks above.
- tba: To be announced.
Создание пары ключей
На выбор предлагаются типы ключей X.509 (практически применяется в корпоративной среде) и OpenPGP. Выбираем OpenPGP. Вводим контактые данные, которые будут отображаться у всех владельцев нашего открытого ключа. Вместо настоящего имени можно указать никнейм. В дальнейшем некоторую информацию ключа будет возможно изменить.
По умолчанию используется шифрование RSA с длиной ключа в 2048 бит (2048 нулей и единиц машинного кода). С учетом развития квантовых технологий, данное шифрование всё менее и менее кажется надежным. В настоящее время себя хорошо зарекомендовало использование криптографии на эллиптических кривых. Подобные алгоритмы имеют невероятную криптостойкость и хорошую производительность, благодаря небольшой длине ключа.
Чтобы создать пару ключей на эллиптических кривых, переходим в дополнительные параметры. Пункт ECDSA/EdDSA — то, что нам надо. Дополнительный чекбокс (галочка) «+ECDH» даст ключу возможность шифровать, без нее сертификат можно будет использовать только для подписи и идентификации, так как ECDSA/EdDSA — алгоритмы подписи, а не шифрования. В выпадающих списках предлагается выбрать один из алгоритмов: ed25519, brainpool и NIST.
-
ed25519 (Curve25519) — эталонная и непатентованной реализация криптографии на эллиптической кривой, имеет 128-битную длину. Является ключом EdDSA — самым актуальным алгоритмом цифровой подписи (считается, что без закладок от силовых структур каких-либо стран).
-
brainpool — алгоритм, разработанный немецким сообществом криптографоф, в число которых входят университеты, государственные ведомства и коммерческие организации, например, компания Bosch. Поддерживает длины в 256, 384 и 512 бит. При подписи использует несколько устаревший алгоритм ECDSA.
-
NIST — американский алгоритм, разработанный Национальным Институтом Стандартов и Технологий. Рекомендован для использования государственными органами США. Поддерживает длины в 256, 384 и 521 бит. По оценке некоторых специалистов, NIST лучше brainpool по производительности. При подписи использует несколько устаревший алгоритм ECDSA.
Для примера в обоих случаях используется алгоритм brainpool с максимальной длиной ключа. По умолчанию ключ создается со сроком годности в два года. Этот параметр можно изменить, либо вовсе отключить, тогда ключ будет бессрочным.
На следующем шаге задается пароль, который является последним рубежом защиты секретного ключа. Не следует передавать кому-то секретный ключ, но если так все-таки вышло, будет лучше, когда вы задали очень надежный пароль. Рекомендуется использовать специальные знаки (символы пунктуации и прочее) для надежной защиты от брутфорса. Лучшим вариантом будет длинный пароль, полученный из генератора случайных символов, однако не забывайте про золотую середину между использованием и безопасностью. Например, вводить на телефоне очень длинный и сложный пароль с символами из расширенной таблицы ASCII, не имея возможности его скопировать из менеджера паролей, будет весьма проблематично.
Итак, пара ключей создана! Обратите внимание на отпечаток, это уникальный идентификатор вашего ключа. Даже если кто-то захочет представиться вами, создав ключ с такими же именем и электронной почтой, его отпечаток будет отличаться
Именно поэтому важно сверять отпечатки получаемых ключей. Клеопатра предлагает сделать резервную копию ключей, что по факту является экспортом закрытого ключа
Эту операцию в дальнейшем можно произвести в любой момент
Клеопатра предлагает сделать резервную копию ключей, что по факту является экспортом закрытого ключа. Эту операцию в дальнейшем можно произвести в любой момент.
Открыв экспортированный ключ в текстовом редакторе, мы увидим специфичный фрагмент текста, начинающийся словами «BEGIN PGP PRIVATE KEY BLOCK». Будьте внимательны, не отправьте его кому-то по ошибке! Открытые ключи, предназначенные для передачи вторым лицам, начинаются со слов «BEGIN PGP PUBLIC KEY BLOCK».
Большое преимущество GPG перед другими средствами идентификации заключается в легкой переносимости ключа. Например, его можно распечатать на бумаге или выучить наизусть. Хранить можно только приватный ключ, так как при необходимости кому-то передать публичный, мы всегда можем экспортировать его из секретного (выводится математическим путём).
▍Настройка, установка GPG (GnuPG):
На странице со списком свободных OS можно выбрать приглянувшуюся —
www.gnu.org/distros/free-distros.html#for-pc я установил Dragora как основную Linux систему. У вас это может быть любая OS на ядре Linux. Самая распространенная Ubuntu, но это не значит, что самая безопасная. В Ubuntu на уровне ядра есть проприетарные компоненты, которые противоречат философии свободного программного обеспечения.
Итак, открываем терминал. Обновим репозитории и установим gpg и gnupg:
sudo apt up && sudo apt upgrade -y sudo apt install gpg sudo apt install gnupg
Смотрим версию установленного GPG:
gpg —version
У меня версия gpg (GnuPG) 2.2.12
Для того чтобы посмотреть публичный и приватный ключи:
gpg -k #публичный ключ gpg -K #приватный ключ
Убеждаемся, что ключей нет
Теперь давайте их создадим. Делается это командой:
gpg —full-generate-key
Выбираем — 1 (default)
Ставим максимальную длину — 4096
Не ограничиваем валидность ключа временем: ставим 0
Подтверждаем свой выбор.
Вводим Имя, Фамилию, . Подтверждаем выбор.
Далее Вас спросят придумать мастер-пароль
Это главный пароль для доступа в Вашей связке ключей! Делайте его максимально сложным и запомните, запишите в надежном месте.
Введя легкий пароль, вы увидите сообщение:
Ваш ключ создался!
Приложение OpenKeychain
Все реализации PGP, соответствующие стандарту OpenPGP (RFC 2440 и RFC 4880), сохраняют базовую совместимость друг с другом. На смартфонах с ОС Android добавить шифрование PGP к почте можно, например, с помощью приложения OpenKeychain.
OpenKeychain имеет открытый исходный код, проверенный компанией Cure53 на безопасность, прозрачно интегрируется с почтовым клиентом K-9 Mail, Jabber-клиентом Conversations и даже может передавать зашифрованные файлы в приложение EDS (Encrypted Data Store).
Возможности OpenKeychain
OpenKeychain помогает общаться более конфиденциально и безопасно. Он использует высококачественное современное шифрование. Ваши сообщения могут быть прочитаны только теми людьми, которым вы их отправите.
Другие люди тоже могут посылать вам сообщения, и только вы можете их прочитать; эти сообщения подписываются цифровой подписью, чтобы их получатель был уверен в личности отправителя.
Современное шифрование на основе цифровых ключей. OpenKeychain хранит ключи и управляет ими, привязывая ключи к тем людям из списка контактов, с которыми вы общаетесь. Также она поможет вам найти ключи других людей в Интернете, и обменяться ключами просто коснувшись устройствами (QR коды). Но наиболее частое применение — использование этих ключей для шифрования и расшифровки сообщений.
Скачать OpenKeychain
Установить бесплатно OpenKeychain вы можете с Google Play. Также можете скачать APK с F-Droid и самостоятельно установить.
Настройка OpenKeychain
После того как установили приложение запустим его нажав по иконке приложения на рабочем столе.
ШАГ 1. Первым делом необходимо создать ключи, для этого выбираем пункт «Создать свой ключ».
ШАГ 2. После чего вводим имя и нажимаем «Далее»
Создание ключа
ШАГ 3. Вводим адрес электронной почты. Можно добавить несколько адресов.
ШАГ 4. Вводим пароль. Рекомендуется использовать сложный пароль. Читайте статью «Как создать надежный пароль«.
Создание ключа
PGP шифрование в действии
Давайте соединим все это в качестве примера, чтобы показать, как эти элементы работают по отношению друг к другу. Чтобы сделать вещи более интересными, допустим, что вы осведомитель из тоталитарной страны, которая раскрыла крайний случай коррупции.
Вы хотите донести сообщение до журналистов, но вы в ужасе от собственной безопасности. Что, если правительство узнает, что вы слили информацию, и они отправят людей за вами??
В конечном итоге вы решаете, что обнародование информации является правильным, но вы хотите сделать это таким образом, чтобы максимально защитить вас. Вы ищете в Интернете и находите журналиста, который известен этим видом работы и всегда защищает свои источники.
Вы не хотите просто звонить им или писать им по электронной почте, это слишком рискованно. Вы уже слышали о PGP и решили попробовать использовать его для защиты своего сообщения. Вы загружаете такую программу, как Gpg4win, и настраиваете ее для электронной почты, совместимой с OpenPGP..
Когда все в порядке, вы ищете журналистов открытый ключ. Вы найдете это на их веб-сайте или с помощью поиска на сервере ключей. Их открытый ключ имеет множество подписи полного доверия на цифровой сертификат, так что вы знаете, что это законно.
Вы импортируете открытый ключ журналиста, а затем используете электронную почту, совместимую с OpenPGP, чтобы начать. Вы печатаете сообщение:
Дорогая Сьюзан Петерсон,
У меня есть информация об огромном коррупционном скандале в Соединенных Штатах Мозамбабве. Дайте мне знать, если вы заинтересованы, и я вышлю вам более подробную информацию.
Добавление вашей цифровой подписи
Если вас беспокоит подделка электронного письма, вы можете добавить свой цифровая подпись. хэш-функция превращает открытый текст в Дайджест сообщения, который зашифрован вашим личным ключом. Цифровая подпись будет отправлена журналисту вместе с сообщением.
Шифрование сообщения
Когда это закончено, PGP сжимает открытый текст. Это не только делает процесс более эффективным, но и делает его более устойчивым к криптоанализу.
После сжатия файла PGP создает одноразовый файл сеансовый ключ. Этот сеансовый ключ используется для эффективного шифрования открытого текста криптография с симметричным ключом, превращение тела сообщения в зашифрованный текст Затем ключ сеанса шифруется с использованием открытого ключа журналиста. Эта шифрование с открытым ключом более ресурсоемкий, но позволяет безопасно отправить ключ сеанса журналисту.
Зашифрованный текст, зашифрованный сеансовый ключ и цифровая подпись затем отправляются журналисту. Когда журналист получит сообщение, оно будет выглядеть примерно так:
wcBMA97wCTWE / j6yAQf9EIv17btMUCL8BwIn4bAf / gE3GVdPmpfIQLSpOa1yN9d8
KI9K8xs9MAEF7fgl94 / nXg0h9e1KcTjgi81ULMRMkDjIoYd33TQTMqXnRQu4b5mU
hOKn + BGJ2LNeWI / tLLCXHfN27x3RkDHZR7q8UupnukVlArCt + 1ck + Fph0xE9G3UG
JF5KmQWm9n + 1fWMzynj9vy4CBERtOgc5ktVNJOek4Mr + 14vz9NykbBwgJthpDaFK
HtRgVimokTCxVckIc3aLK9dXPUBCh9D3GpUw6ruEn17 / PWvveAnLDmbsfpGxizlF
uC8OWRgaKSdgZhZBqyFS0Wb6B39gWgoK9xh4 / Ma90dLADAEbDAN6eRqvhYhADWW +
fLkFU3q8If0CYZY1tIeXLa46IxqiQaBPQfOQ7MfG5gAWAV5AHdd6ehWMKfy1Yoye
K3ikc18BZMRCLMmEilI + pDrIpcii5LJSTxpzjkX4eGaq1 / gyJIEbpkXRLr5OSKmN
м / pS1ylm5XvapQCpDo7DAAFZ13QpLmGf54gMZOTFYGZzg7EMcShL5nZ4y16GJ2DK
qlpLCcVluNzJDEBnlYaVEGzrHJNgpNldNDjYn2NN780iJuronSwzyMP7NPTm0A ==
= iO3p
Расшифровка сообщения
Журналист использует свой закрытый ключ для расшифровки ключа сеанса.. Затем ключ сеанса расшифровывает тело сообщения, возвращая его в исходную форму:
Дорогая Сьюзан Петерсон,
У меня есть информация об огромном коррупционном скандале в Соединенных Штатах Мозамбабве. Дайте мне знать, если вы заинтересованы, и я вышлю вам более подробную информацию.
Проверка цифровой подписи
Если журналист скептически относится к целостности сообщения или считает, что оно не было отправлено вами, они могут проверить цифровую подпись. Они запускают сообщение, которое они получили через хэш-функция, что дает им Дайджест сообщения электронной почты, которую они получили.
Затем журналист использует ваш открытый ключ и ваш цифровая подпись дать им Дайджест сообщения как это было, когда вы отправили сообщение. Если два дайджеста сообщения идентичны, то они знают, что сообщение является подлинным. С этого момента вы и журналист сможете общаться в прямом и обратном направлении с PGP, чтобы обсудить детали коррупционного скандала.
Cyber Knights of Templar
CKT были свободной группой хакеров и борцов за цифровые права, создававших собственные модификации PGP. Один из членов группы, Имад Р. Файад, по-прежнему ведет поддержку веб-сайта. Разумеется, они не были единственной группой, занимавшейся модификацией PGP, но их версии широко известны и распространены. Я приведу несколько для примера, чтобы показать, что их было действительно много:
- PGP 5.5.3ckt
- PGP 6.0.2ckt
- PGP Freeware 6.5.1i
- PGP Freeware 6.5.1i – CLI
- PGP 6.5.8ckt
Назад | Дальше
В середине 2004 года, столкнувшись с проблемами с хостингом, он прекратил работу над проектом, – прим. пер.
PGP / GPG шифрование
Защита своих данных от чужих глаз — в некоторых случаях может быть вопросом жизни и смерти, а полагаться в этом вопросе на других означает доверять им свои данные. Защитить от любопытных носов свою переписку своими же силами поможет GPG шифрование.
Я также могу вам посоветовать статью «Зашифрованная почта», в которой мы рассказывали как с помощью GPG шифрования зашифровать конфиденциальную переписку.
- GPG шифрование
- История PGP / GPG шифрования
- Термины GPG шифрования
- Установка GPG шифрования
- Шифрование сообщений и файлов
- Подписи в GPG шифровании
- Функция Web of Trust
- Зачем нужно шифрование
Использование доверия для проверки достоверности ключей
Сеть доверия позволяет использовать более гибкий алгоритм
для проверки достоверности ключа.
Если прежде достоверными считались только те ключи, которые
Вы подписали лично, то теперь используется следующий алгоритм.
Ключ K считается достоверным, если он
удовлетворяет следующим двум условиям:
-
он подписан достаточным количеством достоверных ключей, т.е.
-
Вы подписали его лично,
-
он был подписан ключом владельцу которого Вы полностью доверяете, или
-
он был подписан тремя ключами с граничным уровнем доверия владельцу; и
-
-
цепочка подписанных ключей начинающаяся с K
и заканчивающаяся Вашим ключом не длиннее пяти ключей.
рассмотрим сеть доверия
начинающуюся с Элис.
Граф иллюстрирует кто подписал чей ключ.
Таблица показывает ключи, которые Элис признает достоверными
основываясь на доверии другим членам сети.
Этот пример предполагает, что для признания другого ключа
достоверным требуется два ключа с граничным доверием или
один с полным.
Максимальная длина цепочки равна трем.
При вычислении достоверности ключей, в этом примере, ключи
Блэйка и Дхармы всегда считаются полностью достоверными,
т.к. они подписаны Элис.
Достоверность других ключей зависит от доверия.
В первом случае, доверие Дхарме полное, что делает ключи
Хлой и Фрэнсиса полностью достоверными.
Во втором случае, доверие Блэйку и Дхарме граничное.
Т.к. два ключа с граничным доверием требуется для подтверждения
достоверности ключа, ключ Хлой будет признан полностью
достоверным, но достоверность ключа Фрэнсиса будет только
частично подтверждена.
В случае граничного доверия Хлой и Дхарме, ключ Хлой будет
частично достоверен, а ключ Дхармы полностью достоверен.
Ключ Фрэнсиса будет частично достоверен, т.к. только полностью
достоверный ключ может быть использован для подтверждения
достоверности других ключей, а единственный полностью
достоверный ключ, которым подписан ключ Фрэнка, это ключ
Дхармы.
После добавления граничного доверия Блэйку ключ Хлой
становится полностью достоверным и может быть использован
для полного подтверждения достоверности ключа Фрэнсиса
и частичного подтверждения достоверности ключа Елены.
Наконец, если доверие Блэйку, Хлой и Елене полное,
этого все еще не достаточно для подтверждения достоверности
ключа Джефа, т.к. максимальная длина цепочки подтверждения
равна трем, но путь от Джефа к Элис равен четырем.
Модель сети доверия реализует гибкий подход к проблеме
безопасного обмена ключами.
Она позволяет настраивать GnuPG в соответствии с Вашими
потребностями.
Вы можете требовать много коротких цепочек от Вашего ключа
до ключа K для признания его достоверным.
С другой стороны, Вы можете быть удовлетворены одной длинной
цепочкой.
Требование многочисленных коротких цепочек — сильная гарантия
того, что ключ K принадлежит тому, на
кого указывает его идентификатор пользователя.
Цена за такую надежность, конечно, выше, т.к. Вы лично должны
проверить и подписать большее количество ключей, чем в случае
когда Вас устраивает небольшое число длинных цепочек.
3-1. Пример сети доверия
доверие | достоверность | ||
---|---|---|---|
граничное | полное | граничная | полная |
Дхарма | Блэйк, Хлой, Дхарма, Фрэнсис | ||
Блэйк, Дхарма | Фрэнсис | Блэйк, Хлой, Дхарма | |
Хлой, Дхарма | Хлой, Фрэнсис | Блэйк, Дхарма | |
Блэйк, Хлой, Дхарма | Елена | Блэйк, Хлой, Дхарма, Фрэнсис | |
Блэйк, Хлой, Елена | Блэйк, Хлой, Елена, Фрэнсис |
Что такое PGP?
PGP расшифровывается как «Pretty Good Privacy». PGP часто используется для отправки зашифрованных сообщений между двумя людьми. Он работает путем шифрования сообщения с использованием открытого ключа, связанного с конкретным пользователем; когда пользователь получает сообщение, он использует секретный ключ, известный только им, для его расшифровки.
Не уверены, что такое открытый или закрытый ключ? Ознакомьтесь с этими основными условиями шифрования, прежде чем продолжить чтение. Это поможет упростить понимание терминологии криптографии.
Эта система обеспечивает простоту отправки зашифрованных сообщений, поскольку единственное, что необходимо для шифрования сообщения, — это открытый ключ и соответствующая программа PGP. Но это также довольно безопасно, так как сообщения могут быть расшифрованы только с помощью защищенных паролем известных ключей.
Помимо шифрования, PGP также позволяет использовать цифровые подписи. Подписав зашифрованное сообщение закрытым ключом, получателю предоставляется возможность проверить, изменилось ли содержимое сообщения. Если хотя бы одна буква в сообщении будет изменена до его расшифровки, подпись будет признана недействительной, предупреждая получателя о плохой игре.
В чем разница между PGP, OpenPGP и GnuPG?
В этой статье я расскажу о PGP и Gnu Privacy Guard (GnuPG или GPG).
GPG является реализацией PGP с открытым исходным кодом и работает по тем же принципам. Если вы не приобретете продукт с поддержкой PGP у Symantec, компании, которая в настоящее время владеет авторским правом, и компании PGP, вы, вероятно, будете использовать GPG.
Вот краткая история PGP, OpenPGP и GPG.
PGP: разработанный Филом Циммерманом в 1991 году, PGP является одним из самых надежных методов цифрового шифрования и самым популярным инструментом шифрования электронной почты. В настоящее время принадлежит Symantec, но лицензирована тысячами компаний.
OpenPGP: До 1992 года шифрование появилось в списке боеприпасов США в качестве вспомогательного военного оборудования. Это означало, что экспорт инструмента PGP Циммермана в международные страны был серьезным преступлением. Действительно, Циммерман был расследован за нарушение закона о контроле над экспортом оружия, такова была мощь инструмента шифрования PGP в то время.
Из-за этих ограничений рабочая группа OpenPGP была сформирована с помощью Инженерной рабочей группы по Интернету (IEFT). Создание версии PGP с открытым исходным кодом устранило проблемы, связанные с экспортом криптографии, при этом гарантировав, что любой может использовать инструмент криптографии.
GnuPG: GnuPG (GPG) является реализацией стандарта OpenPGP и считается сильной альтернативой PGP Symantec.
Важно отметить, что алгоритмы шифрования взаимозаменяемы между этими параметрами. Они предназначены для совместной работы, чтобы пользователи могли использовать одно или другое без потери доступа к важным данным
Ключи PGP объяснили быстро
Математическая механика PGP чрезвычайно сложна. Тем не менее, видео ниже даст вам общее представление о том, как работает система.
Шифрование PGP использует комбинацию шифрования с симметричным ключом (одноразовый ключ) и шифрования с открытым ключом (уникальные ключи для получателя).
Загрузка вашего ключа в Launchpad
Загрузка ваш ключ к Launchpad — всего лишь несколько кликов.
Откройте приложение «Пароли и ключи» (Seahorse). Появится этот экран.
Откройте приложение «Пароли и ключи (Seahorse)»
Пароли и клавиши (Seahorse)
Этот экран появится.
на File → New в глобальном меню или нажмите Ctrl + N
Либо перейдите в File → New в глобальном меню, либо нажмите Ctrl + N
В окне «Создать новый …» выберите «PGP-ключ» и нажмите «Продолжить»
. В окне «Создать новый …» выберите «PGP-ключ» и нажмите «Продолжить»
Нажмите «Ключ-серверы» Кнопка Выберите сервер ключей hkp://keyserver.ubuntu.com:XXXXX из ключей «Опубликовать» для списка и нажмите «Закрыть» Введите свое полное имя и ваш адрес электронной почты, комментарий является необязательным
Введите свое полное имя и адрес электронной почты, Комментарий необязателен
Введите надежный пароль, который вы запомните
Введите надежный пароль, который вы запомните
PGP 5.5
Эта версия содержала улучшенный интерфейс и функцию уничтожения файлов, исправленные плагины, а также поддержку дополнительных ключей расшифрования. PGP Inc выпустила как бесплатную, так и коммерческую линейки. PGP 5.5.3 увидел свет 4 декабря 1997 г., международная версия появилась в январе 1998-го (сканирование заняло две недели – качество шрифта и полиграфии на этот раз оказалось лучше).
Концепция дополнительных ключей расшифрования, или ADK, ставшая новой функциональностью программы, вызвала споры в некоторых кругах. Одна из «проблем» криптографии заключается в том, что если вы по какой-то причине утратите свой ключ или парольную фразу, то уже не сможете получить доступ к собственным ценным данным. Эта «проблема» ожидаема и очевидна – собственно, это именно то, чего вы и ждете от криптографии, – но, несмотря на это, к ней было придумано несколько решений. Одно из них состоит в том, чтобы каждый пользователь передавал свои секретные ключи властям, которые будут их надежно хранить. (Это также решит и другую «проблему», когда госструктуры не могут читать содержание зашифрованных сообщений.) Подобная практика носит название депонирования ключа. Другой вариант – это хранение секретных ключей так, чтобы государство, обладающее особым закрытым ключом, было способно их применять. Такой способ называется восстановлением ключа. Можно предположить, что далеко не всех воодушевляют подобные методы.
Чтобы способствовать коммерческому внедрению PGP, разработчики пришли к альтернативному варианту – восстановлению данных, при котором все ключи хранятся в секрете, однако в чрезвычайной ситуации информацию можно восстановить. Это достигается засчет того, что определенный открытый ключ организации всегда добавляется в число получателей каждого сообщения, и, таким образом, компания может читать сообщения, отправляемые сотрудниками. Для исходящих сообщений это лишь вопрос внутренней политики: руководство говорит сотрудникам, что они должны делать. Но для входящих сообщений необходимо наличие дополнительного механизма – ADK. В этом случае сотрудники добавляют ADK компании к своему открытому ключу, и, помимо этого, все внешние пользователи, отправляющие письма сотрудникам компании, тоже добавляют ADK в число получателей. Вся эта схема сугубо добровольна: если отправитель не хочет этого делать, он может просто исключить ADK.
Такое решение «проблемы» было не столь ужасно, как первое, но все же оно обеспокоило многих пользователей PGP, которые увидели в нем первый шаг к закату секретности их переписки. Функция, однако, предназначалась далеко не им, а корпоративным клиентам: потеря данных для компании иногда может быть страшнее ее перехвата.
GPG шифрование
GPG (Gnu Privacy Guard) — это инструмент асимметричного шифрования. Если проще, он создает такое сообщение, которое может прочитать только тот, кому ты его написал
Он незаменим при передаче любой важной текстовой информации. Это могут быть письма электронной почты, личные сообщения на форумах, или даже на публичных открытых сервисах
Помимо шифрования он также предоставляет несколько других функций для обеспечения безопасности.
Всегда самым очевидным способом защитить свои коммуникации было шифрование. Раньше для этого применялось симметричное шифрование, требовавшее передачи ключей по надежному каналу. С развитием электронных коммуникаций, увеличением объема данных и возможностей прослушки надежная передача ключей стала трудной задачей.
История PGP / GPG шифрования
В 1970-ых были разработаны асимметричные алгоритмы, позволяющие безопасно, открыто и автоматизировано обмениваться ключами. Схемы таких алгоритмов позволяют двум сторонам обменяться открытыми ключами, используемыми для обозначения получателя сообщения, и при зашифровке использовать открытый ключ получателя одновременно с секретным ключом отправителя. Расшифровать сообщение можно только секретным ключом получателя, и при этом будет видно, что шифрование выполнял именно владелец открытого ключа, то есть отправитель. В такой схеме секретные ключи, используемые для расшифровки, не нужно передавать, поэтому они остаются в безопасности, а отправитель сообщения выявляется при расшифровке, что исключает подмену информации. Но подобное изобретение было доступно только военным и спец. службам.
Авторы алгоритма шифрования с открытым ключом, слева направо: Диффи, Хеллман, Меркль
В 1991 появился общедоступный инструмент асимметричного шифрования для личного использования — PGP, задавший стандарт, однако он был платным и являлся зарегистрированной товарной маркой.
В 1999 был создан GPG — свободный, бесплатный, открытый и полностью совместимый со стандартом аналог PGP. Именно GPG стал самым популярным и зрелым инструментом асимметричного шифрования.
Термины GPG шифрования
Прежде чем приступить к использованию GPG, нужно понять несколько главных особенностей этого инструмента. Первая и основная особенность — это понятие «ключи». Каждый пользователь создает себе свой личный ключ. Ключ пользователя состоит из двух частей
- Публичный ключ (из публичной части)
- Секретный ключ (из секретной части)
Публичный ключ (далее просто «ключ») представляет собой своего рода визитную карточку, которую пользователь раздает всем своим контактам, желающим переписываться с шифрованием.
Секретный ключ отвечает за процессы шифрования исходящих сообщений и расшифровки полученных. Его следует хранить в безопасном месте. Принято считать, что если кто-либо завладеет секретным ключом, то ключ можно считать скомпрометированным, а значит небезопасным. Этого следует избегать.
GPG4USB
Вторая особенность — ключи, основанные на разных алгоритмах совместимы между собой
Неважно, использует ли пользователь RSA или ELGamal, для шифрования не нужно забивать голову такими деталями. Это достигается за счет работы по упомянутому выше стандарту и через некоторые криптографические приемы
Это одно из главных преимуществ GPG. Достаточно знать нужные команды, и программа сделает все сама. В библиотеку входит большое количество асимметричных алгоритмов, симметричным шифров и односторонних хэш-функций. Разнообразие также является преимуществом, потому что позволяет создать одновременно и общие рекомендованные конфигурации, подходящие для большинства, и возможность тонкой настройки для более опытных пользователей.
Установка GnuPG Anchor link
В «Проводнике» Windows дважды щёлкните по файлу gnupg-w32-2.1.14_20160714.exe. Появится просьба подтвердить установку программы. Нажмите кнопку «Yes».
Откроется окно с предложением изменить языковые настройки. Можете оставить английский и нажать на кнопку «OK».
В следующем окне вам будет предложено ознакомиться с устанавливаемой программой. Нажмите на кнопку «Next».
Откроется окно с лицензионным соглашением. Нажмите «Next».
В пакете GnuPG нет выбора компонентов установки, поэтому снова нажмите «Next».
Теперь предлагается выбрать имя папки в меню для GnuPG. Не меняйте настройки по умолчанию. Нажмите кнопку «Install»:
Вы увидите окно с индикатором процесса. Когда установка завершится, появится фраза «Installation Complete». Снова нажмите кнопку «Next».
Наконец, последний шаг. Снимите галочку в поле «Show the README file» и нажмите кнопку «Finish».
Подготовка к установке Enigmail Anchor link
При первом запуске Mozilla Thunderbird появится небольшое окно с просьбой подтвердить некоторые настройки по умолчанию. Рекомендуем нажать кнопку «Set as Default».
Добавление почтового адреса в Mozilla Thunderbird
Откроется новое окно:
Укажите имя, адрес электронной почты и пароль. Mozilla не будет иметь доступ к вашему паролю или почтовому аккаунту. Нажмите кнопку «Continue».
Во многих случаях Mozilla Thunderbird может автоматически определять нужные настройки.
Иногда Mozilla Thunderbird недостаёт информации, тогда настраивать нужно вручную. Вот как это делается для учётной записи Gmail:
- Сервер входящей почты (IMAP) – требуется SSL
- imap.gmail.com
- Порт: 993
- Требуется SSL: да
- Сервер исходящей почты (SMTP) – требуется TLS
- smtp.gmail.com
- Порт: 465 или 587
- Требуется SSL: да
- Требуется аутентификация: да
- Те же настройки, что и для входящей почты
- Полное имя:
- Название аккаунта / пользователя: ваш полный адрес Gmail (username@gmail.com). Пользователям Google Apps следует использовать собственный домен: username@your_domain.com
- Адрес электронной почты: ваш полный адрес Gmail (username@gmail.com). Пользователям Google Apps следует использовать собственный домен: username@your_domain.com
- Пароль: ваш пароль Gmail
Если для Google-аккаунта у вас включена двухэтапная аутентификация (это может понадобиться – в зависимости от модели угроз), то вы не сможете использовать свой обычный пароль Gmail в Thunderbird. Чтобы получить доступ к Gmail, вам придётся создать новый пароль специально для Thunderbird. Более подробная информация содержится в справочной системе Google.
Когда все данные аккуратно введены, нажмите кнопку «Done»..
Mozilla Thunderbird скачает копии электронных писем на ваш компьютер. Попробуйте отправить друзьям тестовое сообщение.