Что такое gpg ключ
Kleopatra: GnuPG в графической оболочке
Программы семейства GPG (GNU Privacy Guard) / PGP (Pretty Good Privacy) позволяют «прозрачно» подписывать и зашифровывать все типы цифровой информации. По своей сути, названные инструменты являются лишь удобной обёрткой, упрощающей практическое использование открытых алгоритмов асимметричной криптографии.
Несколько лет ведется полемика об актуальности использования GPG, в рамках которой высказывается много скептицизма о громоздкости и устаревании этого криптографического продукта. Высокий порог вхождения очевиден при соответствующем поисковом запросе, который выдает много сложной информации и инструкции по работе с утилитой GPG в терминале Linux.
В этой статье рассмотрим приложение с открытым исходным кодом для работы с инструментарием GPG в графической оболочке — находка для новичков и тех, кто просто избегает загадочного черного окна командной строки. Благодаря кроссплатформенности Клеопатры, статья одинаково полезна для пользователей Windows, Linux и FreeBSD.
Установка
Первый шаг в использовании GPG — создание своей пары ключей. Публичный ключ предоставляется всем желающим, а секретный хранится в надежном месте и служит для подписания информации от лица его владельца и расшифровки адресованной ему информации.
Создание пары ключей
На выбор предлагаются типы ключей 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-файлы встречаются с расширениями *.asc, *.pgp и *.gpg. Это не имеет большого значения, так как расширение нужно больше для удобства пользователя и лишь немного — приложений. Файл будет корректно прочитан и в случае, когда специальное расширение изменено или удалено.
Очень часто ключи распространяются в виде текстового блока. В таком случае, скопировав ключ, можно импортировать его через меню операций с буфером обмена.
Программа попросит удостовериться в подлинности ключа. В настоящее время самым простым и эффективным способом является сравнение отпечатка, поэтому его публикуют вместе с ключом. Если отпечаток совпадает с заявленным, заверяем сертификат.
Теперь мы можем проверять подпись владельца нового ключа и шифровать для него информацию.
Шифрование и подпись
Чтобы зашифровать и подписать файл, воспользуемся соответствующим пунктом меню на верхней панели.
После выбора файла, предлагается выбрать нужные операции. Подпись позволяет получателю убедиться в авторстве файла. Эта функция очень полезна: расшифровав архив, мы точно знаем, что архив был зашифрован владельцем обозначенного ключа, а не кем-то другим, кто просто располагает нашим публичным ключом. Использовать подпись — полезная привычка в большинстве случаев.
Распространненым способом безопасного хранения данных на облачном хранилище является GPG-шифрование файлов «для себя». В таком случае расшифровать информацию можно будет только нашим ключом.
Также возможна подпись без шифрования. Чаще всего применимо к текстовой информации. Механизм подписания строится на хеш-сумме: позволяет сравнить актуальное состояние информации с тем, какой она была, когда ее подписывал отправитель. Для примера откроем «блокнот».
Назначив отсутствие шифрования для кого-либо, оставляем только подпись и нажимаем кнопку «Подписать».
После ввода пароля от ключа, видим, что к фразе «Отличная работа» добавился дополнительный текстовый блок с хеш-суммой SHA512.
Если сейчас проверить подпись, она будет верна, но если изменить хотя бы один символ или добавить пробел, проверка выявит недействительную для данного текста подпись. Это связано с тем, что хеш-сумма данного массива информации абсолютна отлична от той, когда вместо буквы «Я» стояла «я».
В случае подписи файла без шифрования, в директории файла создается сигнатура с расширением *.sig, которую следует передавать вместе с исходным файлом. Если в файле изменится хотя бы один бит, проверка подписи выдаст ошибку.
Постскриптум
Все локальные ключи централизованно хранятся на устройстве в специальной папке. Все программы, взаимодействующие с GPG, будут их видеть. Для общения по протоколу XMPP (Jabber), защищенного GPG-шифрованием, можно использовать Gajim, который также является кроссплатформенным. Для ведения защищенной почтовой переписки удобно использовать этичный клиент Thunderbird, в который необходимо будет импортировать секретный ключ, так как он имеет свое изолированное хранилище ключей. Об использовании Thunderbird написано тут.
В статье опущено много технических нюансов, так как она рассчитана на широкий круг пользователей, которые в том числе имеют низкий уровень познаний в криптографии и ищут стартовую позицию для знакомства с действительно надеждным сквозным шифрованием.
Подписываем коммиты GPG ключом
Чтобы проверить, что коммиты действительно получены из доверенного источника, в Git есть несколько способов подписать и проверить исходники, используя GPG.
GPG (также известный как GnuPG) создавался как свободная альтернатива несвободному PGP. GPG используется для шифрования информации и предоставляет различные алгоритмы (RSA, DSA, AES и др.) для решения этой задачи.
Нас же интересует использование GPG вместе с Git. Git является криптографически защищённой системой, но эти механизмы сложны в использовании.
Зачем подписывать коммиты?
Любой человек может подписаться любым именем и email в git. Никакой верификации при этом не происходит.
Таким образом любой человек может попробовать выдать свои коммиты за ваши, например, чтобы внедрить вредоносный код.
Чтобы проверить, что коммиты действительно получены из доверенного источника, в Git есть несколько способов подписать и проверить исходники, используя GPG.
Вот как это выглядит в GitHub
Подписанный коммит в GitHub
Настройка GPG
Если вы хотите подписать что-то, вам необходим настроенный GPG и персональный ключ.
Посмотреть список ключей можно следующей командой.
Создание нового ключа GPG
Вам необходимо будет ввести вашу почту, ФИО и пароль для защиты GPG.
Так же Необходимо получить много случайных чисел. Желательно, чтобы вы в процессе генерации выполняли какие-то другие действия (печать на клавиатуре, движения мыши, обращения к дискам); это даст генератору случайных чисел больше возможностей получить достаточное количество энтропии.
По умолчанию ключ GPG годен год.
Получить публичный ключ
Иногда необходимо получить ключ. Делается это следующей командой:
Публикация открытого ключа
Это не обязательно, но в некоторых случаях необходимо сделать ваш ключ доступным и узнаваемым в Интернете.
Выполните эту команду:
Не волнуйтесь, эта команда отправит только публичный ключ.
Добавление ключа в Git
Теперь Git будет использовать ваш ключ по умолчанию для подписи тегов и коммитов.
Персонально для репозитория можно указать другой GPG ключ. Например я так сделал для работы:
Ручное добавление
Для глобальной настройки:
Добавление ключа в GitHub
Чтобы получить галочку верифицированного комита, необходимо сообщить гитхабу о новом GPG ключе. Перед этим убедитесь, что email из GPG ключа добавлен в ваш аккаунт.
Чтобы добавить ваш ключ в GitHub перейдите в Settings > SSH and GPG keys. Вас интересует кнопка “New GPG key”
Теперь необходимо получить публичный ключ. Для этого выполните команду:
Скопируйте целиком полученное значение, вставьте его в поле и нажмите “Add GPG key”. Если все прошло успешно, то вы увидите ваш ключ в списке.
Подписание коммитов
Среда разработки IntelliJ IDEA автоматически подписывает все ваши коммиты, если вы установили глобальный ключ.
Заключение
Убедитесь, что вы понимаете GPG и преимущества подписания, прежде чем принимать это как часть стандартного рабочего процесса.
Как подписывать почтовую переписку GPG-ключом, используя PKCS#11-токены
Современные почтовые сервисы из года в год совершенствуют свою систему безопасности. Сначала появились механизмы аутентификации через СМС, сейчас уже совершенствуются механизмы машинного обучения для анализа подозрительной активности в почтовом ящике.
А что если кто-то получил заветный пароль от вашей почты и начал читать все ваши тайные переписки, а также писать направо-налево какую-то белиберду. Как добавить дополнительный уровень защиты и на этот случай? На помощь приходят GPG и смарт-карты.
GPG — это бесплатная программа с открытым исходным кодом, предоставляющая необходимые технологии для безопасной передачи сообщений. Работает она очень просто: это база данных со всеми открытыми ключами участников сети, с которыми вы хотите общаться. Этими ключами можно управлять: добавлять их, если завели нового знакомого, или удалять, если решили добавить кого-то в свой “черный список”. Также GPG хранит открытый и закрытый ключ. Каждый ключ привязан к конкретному почтовому ящику и к конкретному пользователю в системе.
Но и это не все! GPG также предоставляет интерфейс для непосредственной работы с этими ключами. Вы можете: шифровать и расшифровывать письма; подписывать эти письма, чтобы все адресаты могли убедиться, что письмо было отправлено именно вами. Функциональность эта достаточно объемна и более подробно об этом можно прочитать в официальной документации.
Теперь к самому сладкому: GPG предоставляет возможность работы со смарт-картами. То есть не обязательно хранить закрытый ключ на компьютере, его вполне можно носить на токене или карте и безопасно работать с почтой, где и когда это удобно. “Так это же просто флешка! Я и на флешке могу переносить закрытый ключ”, — сказал бы кто-то не совсем знакомый с принципом работы токенов. Токен — это не просто устройство, хранящее ключ. Это целая система, способная осуществлять криптографические операции внутри себя, не выгружая при этом закрытый ключ. Таким образом, закрытым ключом сможет воспользоваться только тот человек, который обладает токеном и знает секретный пароль (PIN-код) от него.
В настоящее время GPG работает только со смарт-картами, которые поддерживают интерфейс OpenPGP SmartCard. А для смарт-карт, поддерживающих интерфейс PKCS#11, есть решение, заключающееся в использовании PKCS#11 демона смарт-карт. Данный демон эмулирует работу со смарт-картами, работающими через интерфейс PKCS#11 так, как будто они поддерживают интерфейс OpenPGP. Таким образом, при правильной установке и настройке мы сделаем возможным использование ключей и сертификатов, хранящихся, например, на Рутокен ЭЦП PKI или Рутокен ЭЦП 2.0. Рутокен ЭЦП PKI в данном случае более предпочтителен, т.к. оптимизирован для работы с RSA.
Также далее будут представлены инструкции для интеграции GPG в популярные почтовые клиенты, такие как Thunderbird, KMail, Outlook и стандартный почтовый клиент Mail на macOS. Данная интеграция поможет людям, получившим от вас письмо, понимать, что письмо было действительно отправлено вами.
Заинтересовало? Тогда поехали! Пользователям Windows, которые захотят пойти путем шаманов и собрать демона с нуля, желательно запастись терпением…
Установка GPG и gnupg-pkcs11-scd
Linux
Установите необходимые пакеты (используйте строчку в зависимости от системы, в которой вы работаете, первая — для Debian, вторая — для Red Hat):
Удостоверьтесь, что версия:
Для debian, возможно, потребуется скачать и установить последний релиз демона pkcs11 смарт-карт gnupg-pkcs11-scd из репозитория.
Установить его можно с помощью следующей команды:
Установите librtpkcs11ecp.so из пакета, который можно скачать отсюда.
Windows
К счастью, мы это уже проделали за вас и собрали готовый архив, содержащий все эти библиотеки в собранном виде. Он был протестирован на чистой системе. Так что если вы нам доверяете, то можете использовать готовую версию демона. Если же вы не хотите простой жизни, то снизу представлена инструкция по ручной сборке библиотеки с нуля.
Настройка с уже собранным демоном
В первую очередь, необходимо установить Gpg4Win с сайта.
Установим Драйвер Рутокен отсюда.
Скачаем собранную версию демона, ее можно взять отсюда.
Поправим файлы конфигурации, лежащие в %APPDATA%/gnupg. В gpg-agent.conf нужно записать:
Во втором файле — gnupg-pkcs11-scd.conf напишем:
Сборка с нуля
Приступим к самой сложной части данной статьи. Попробуем собрать pkcs11 демона смарт-карт для Windows. Казалось бы, какие тут сложности, взял и собрал. Но всегда есть подводные камни, давайте взглянем на них.
В первую очередь необходимо установить Gpg4Win с сайта и msys2, который можно взять отсюда.
После установки запустим в терминал msys2.
Ну что же, пришло время рассказать, в чем состоит основная сложность. Дело в том, что для сборки gnupg-pkcs11-scd требуется множество библиотек, от которых зависит данный демон. И если под Linux и macOS их можно получить просто из менеджеров пакетов уже в собранном виде, то для винды заранее собранных библиотек уже не так много. Тем не менее, одну из них все-таки можно получить, для этого введем последовательно команды:
После нее необходимо будет перезапустить терминал.
Босс Данки Конг (libgpg-error)
Скачаем libgpg-error с сайта и разархивируем.
И соберем библиотеку:
Voilà! Первый босс повержен!
Босс Баузер (libassuan)
Скачаем libassuan с сайта, разархивируем и выполним:
Босс Вертолет (pkcs11-helper)
Скачаем pkcs11-helper с сайта и разархивируем.
Приступим к сборке библиотеки pkcs11-helper:
Босс Кибердемон (libgcrypt)
Скачаем libgcrypt с сайта, разархивируем и выполним:
Босс паук, паук огромный (gnupg-pkcs11-scd)
Испугались? Не бойтесь! Если вы прошли предыдущих боссов, то и с этим не будет проблем.
Скачиваем последнюю версию из репозитория и выполним команду:
Fatality
Установим Драйверы Рутокен отсюда.
Поправим файлы конфигурации, лежащие в %APPDATA%/gnupg. В gpg-agent.conf нужно записать:
Во втором файле — gnupg-pkcs11-scd.conf напишем:
macOS
Установим brew отсюда.
Далее, используя его, поставим gpg и gnupg-pkcs11-scd:
Далее установим библиотеку librtpkcs11ecp отсюда.
В файле конфигурации
В файле конфигурации
Проверка работоспособности
Ура! Теперь вы здесь! Проверим, что все настроено успешно.
Для начала удостоверьтесь, что на токене находятся только RSA-ключи, ибо наличие ГОСТ- ключей сделает невозможным работу с токеном. Лучшим вариантом будет вообще удалить все ключи с токена и создать только одну пару RSA-ключей и сертификат для него (самоподписанный или подписанный другим сертификатом).
Сгенерировать их можно, например, через веб-сервис управления ключами и сертификатами, SDK или используя утилиту командной строки pkcs11-tool
Теперь отключим gpg-agent. Это можно сделать через gpgconf. На всех платформах к данному моменту он уже должен быть поставлен: на Linux и macOS содержится в пакетах gpg, на Windows поставляется внутри Gpg4Win. Введем:
Проверим, что токен откликается:
Правильный вывод должен выглядеть примерно так:
Если отклика не происходит, попробуйте обратиться к демону через gpg-agent. Запустите gpg-agent сервер и подключитесь к демону:
Если вы получили ошибку Bad certificate, то вероятно проблема в том, что на токене лежат сертификаты, не поддерживаемые GPG. Правильный вывод выглядит следующим образом:
Регистрация ключей с токена в GPG
Сначала надо узнать хеш сертификата на токене или смарт-карте, его можно узнать выполнив команду:
Он должен отобразиться сразу напротив одной из выделенных строк, начинающихся на S KEYPAIRINFO. Например, в строке:
Хешем будет 892E053AE031FC23F3E7CCC73BC60859F11F6B90. Запомним его, зарегистрируем сертификат и его ключи в GPG. Для этого введем команду:
Далее нам будет предложено, какой тип ключа мы хотим получить. Выбираем импорт существующего RSA ключа (13 опция):
Теперь нас попросят ввести хеш сертификата данного ключа:
Далее нам предложат выбрать опции ключа, указать логин и e-mail пользователя ключа. Выбираем такие же, как снизу. Каждому ключу нужно указывать тот e-mail, для которого он будет использован:
Параллельно нам будет предложено ввести пароль от токена. Успешный вывод выглядит следующим образом:
Заметим, что почта, которую мы указали — это почта для отправки сообщений.
Важным моментом является то, что сертификат, который лежит на токене, и сертификат, который был занесен в базу GPG — это два разных сертификата и они имеют разный формат. GPG имеет свой тип сертификатов (не X.509), который хранит в себе информацию: о ключе, электронный адрес владельца, имя владельца и т.д. Сертификат, лежащий на токене, по сути используется только для распознавания ключей перед добавлением их в базу GPG.
В GPG также можно подписывать, например, с помощью Kleopatra, сертификаты ключей, которые у вас есть. Но повторюсь, эти сертификаты никак не будут связаны с теми, что лежат внутри токена в формате X.509.
Настройка почтовых клиентов
Настройка Thunderbird
В первую очередь, опишем использование GPG ключей в Thunderbird. Дело в том, что это один из немногих почтовых клиентов, которые могут работать на Linux, Windows и macOS. Давайте попробуем его настроить (за основу была взята инструкция).
Установка
В первую очередь, скачаем и установим его. В Linux и macOS все просто:
Для Windows и macOS установщик можно скачать c официального сайта. Скачиваем установщик, далее устанавливаем Thunderbird, изи бризи.
После того как мы поставили Thunderbird, необходимо добавить туда почтовый ящик, который мы хотим использовать, и для которого мы добавили ключи и сертификат в GPG.
Добавление плагина для работы с GPG
Пришло время добавить плагин Enigmail для интеграции Thunderbird c GPG. Для этого установим плагин ENIGMAIL. Переходим на вкладку Дополнения и нажимаем на них:
В поиске ищем плагин Enigmail и нажимаем на кнопку “Добавить в Thunderbird”:
Когда плагин установится, он предложит добавить существующие ключи. Согласимся с ним и нажмем на кнопку “Apply my Keys”.
Почти все готово. Осталось только привязать ключи к учетным записям почты.
Привязка ключей к учетным записям
Перейдем в настройку учетной записи:
Во всплывшем окне выберем вкладку “Защита OpenPGP” и выберем ключ, который мы хотим использовать для этой почты. Также можно настроить опции по умолчанию.
Все готово, и все в сборе!
Тебя не хватает, тебя не хватает…
Старичок, идем на пикничок!
Проверка работоспособности
Пришел момент истины. Проверим, что вся система работает корректно. Перезагрузим Thunderbird и попробуем отправить сообщение какому-нибудь пользователю, публичный ключ которого у меня зарегистрирован в GPG. Для этого я добавил еще одну учетную запись, чтобы проверить результат. Создадим новое письмо:
Убедимся, что опция шифрования письма (если это необходимо) и опция подписи включены. Также в процессе отправки нас вероятно попросят ввести пароль токена.
Проверим, что отправленное письмо пришло и удачно расшифровывается, а подпись проходит проверку.
Как можно видеть, все работает успешно!
Настройка Kmail
Для начала скачаем kmail из репозитория:
Запустим KMail. Введем данные учетной записи почты и нажмем “Add Account”.
Во всплывшем окне выберем “Use GPG”.
Выбираем ключ, который мы хотим использовать для этого почтового ящика:
Настроим идентификатор личности в настройках:
Установим ключи для подписи и шифрования:
Попробуем отправить письмо. Убедитесь, что выставлены опции подписи и шифрования.
Проверим, что полученное письмо успешно проходит проверку подписи и расшифровывается:
Как можно увидеть, все отработало успешно!
Настройка Outlook
Тут все просто, т.к. все, что нужно для работы у вас уже есть и настроено: плагин GPGol содержался в Gpg4Win и настроился автоматически. Попробуем просто отправить сообщение, указав в опциях, что его нужно зашифровать и добавить подпись.
Посмотрим на пришедшее письмо. Можно увидеть, что подпись прошла проверку и письмо расшифровывалось.
Настройка клиента Mail
Тиму Куку заплатите,
Чеканной монетой…
Чеканной монетой.
Данный способ, традиционно для Apple, является платным, и подойдет, если вы готовы потратить свои честно нажитые шекели на плагин GPG Suite. Если же вы дорожите своим золотом, то можете пользоваться бесплатным вариантом — Thunderbird.
Переходим на сайт GPG Suite и скачиваем последнюю версию данного пакета.
После установки необходимо будет активировать плагин GPGMail. Для этого переходим в настройки Mail > Preferences > General > Manage Plug-Ins и активируем GPGMailLoader.mailbundle.
Плагин активирован. Попробуем отправить тестовое письмо. Заметьте, что мы установили опцию подписи сообщения и его шифрования.
И проверим, что расшифрование и проверка подписи прошли успешно.
Работа в Kleopatra
Kleopatra предоставляет пользователю удобный графический интерфейс для работы с GPG, такие как: подпись, шифрование, проверка подписи, расшифрование и т.п. На Windows она ставится вместе с Gpg4Win, а на Linux ее можно поставить через менеджер пакетов:
Запустим ее и увидим, что работа в программе интуитивно понятна)
Взаимодействие с GPG ключами, хранящимися на смарт-карте, почти ничем не отличается от использования ключей, лежащих в файловой системе. Но в то же время значительно снижается вероятность утечки ключей и, как следствие, несанкционированное чтение ваших писем.
В целом, использование GPG для повышения целостности и конфиденциальности вашей информации является почти прозрачным для пользователя и интегрировано со многими современными почтовыми клиентами.