Сервер в кармане, или просто о сложном!

главная - Статьи - Разное

Шифрование текстовых сообщений с помощью GPG (GnuPG)

Дата обновления: 28.02.2020

Теги: Передача данных Безопасность Шифрование

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

Для защиты информации (с возможностью ее передачи по электронной почте или на физическом носителе) от чужих глаз используется несколько основных методик:

  • криптоконтейнеры
  • зашифрованные файлы
  • зашифрованные сообщения, передаваемые в открытом текстовом сообщении

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

Использование криптоконтейнеров уже рассматривалось на нашем сайте на примере TrueCrypt (надо отметить, что TrueCrypt уже давно заменен на VeraCrypt, но это не относится напрямую к текущей статье)..

Мы же кратко рассмотрим использование GnuPG как средство шифрования текстовых сообщений.

Итак, GnuPG.

Веб-сайт https://www.gpg4win.org
Распространение бесплатно
OS Windows

GNU Privacy Guard, совместимый с OpenPGP, созданный Фондом СПО на базе PGP, востребован и стабильно развивается на протяжении многих лет. На февраль 2020 года актуальная версия 3.1.11, в которой заявлены улучшения в плагине к Outlook GpgOL, в основном модуле Kleopatra и др.

Установка GPG

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

Шифрование текста

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

Запускаем Пуск - Kleopatra. Рядом с часами внизу экрана появиось стилизованное изображение женщины с красными волосами. Так, программа запущена.

Наберем текст для ширования. Удобно это сделать в самом приложении Kleopatra в модуле "Блокнот". Для примера, пусть это будет слово "test" (без кавычек). Нажимаем "Подписать/зашифровать - Блокнот". Появится окно, в котором вы должны выбрать, каким ключом будете шифровать секретный текст "test". Выбрали ключ, нажали "Ok", ввели пароль ключа. Все, программа зашифровала и подписала текст с помощью вашего ключа. У меня это выглядит так (пример, не настоящее сообщение):

 

-----BEGIN PGP MESSAGE-----

qCc7ndI3FQKUeI3ZXy9BLHvRhM2vtFm67U5/VWAFeJbPG5uPoPGvf01GaAaBFGGE
zCeu83Z/saRzh5CU2+AO2RRdlHoksoNPsUOc1Gl45SQ70ERUNGzYxULPMFtfkGsR
1Tqoi5b5wHFJaydXthbJWcr3gwHbr24K+/ycsGwJdPM4Zi2NGknjZsGOeP7Gnynj
cO1m8EDO+wJNlYL1phLkdsvcq1UFOfzL+rigIlavUSmlQV+UWBzkL+thMukh6gxQ
qCc7ndI3FQKUeI3ZXy9BLHvRhM2vtFm67U5/VWAFeJbPG5uPoPGvf01GaAaBFGGE
rrbR6QBrkk8wlmuBV19Xj/RpiBVDsZdqZ1udjjJnStLAxAE2TnTY3ZzTYcsvof5z
fokicJBIEHfuHjwRqcecsKSTCgCdpajGZntus+SoU55ohasq8q8tf8D/EXHWDrhR
CuMRLhiLECXqACwKDipzh/OOqfuXqVinlDk+cGwS89q5x2RRNDf55Kma85UaHwrK
XPgQn+Ucz18jVTSzwJt/4lhzYgNC/Pi+ChrQ3MgUIU1lQsSUHMatFU+3fhhUB7Lc
d+wSCPeJU5wgUtQ9lbjqD44RCf2d2TKuPBV0ViCcUsS4VbCGZlg+eJoiDm+SHmiT
fokicJBIEHfuHjwRqcecsKSTCgCdpajGZntus+SoU55ohasq8q8tf8D/EXHWDrhR
zCeu83Z/saRzh5CU2+AO2RRdlHoksoNPsUOc1Gl45SQ70ERUNGzYxULPMFtfkGsR
xVJYibdiM9lqteVHyc+Ypaqm2cl3wnLWs4hRxYib7VXysROdlJN8vyF+TmrXjdSA
7zd7+KaFG9TKh9RKhwduDRFkT17vnMYUgQLONGOs+At8pKAjWHw=
=rxDG

-----END PGP MESSAGE-----

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

Перед тем, как радостно отправлять этот текст по электронной почте, надо выбрать получателя. Пока что весь этот текст (включая заголовки -----BEGIN PGP MESSAGE----- и -----END PGP MESSAGE-----) можно спокойно переслать по элетронной почте в отрытом виде (более открытого вида и не придумать!) кому угодно. Без вашего секретного ключа этот текст расшифровать невозможно. Без вашего ключа. Пока что только вы сможете открыть этот текст.

Как вы наверняка знаете, шифрование с приватным/открытым ключом подразумевает предварительный обмен открытыми ключами между корреспондентами. Т.е. для того, чтобы зашифровать сообщение для Bob (чтобы Bob открыл сообщение своим приватным ключем), надо чтобы Bob предварительно прислал вам его открытый ключ. Во вкладке "Получатели" выбираете ключ Bob (предварительно полученный и установленный) и все. Это не всегда возможно, а порой - невозможно. Так вот, с помощью GnuPG можно просто зашифровать сообщение, чтобы отправить его кому угодно. Без пароля расшифровать его будет невозможно.

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

Теперь, если вернуться на вкладку "Блокнот", то при нажатии на кнопку "Зашифровать  Блокнот", появится предложение ввести пароль (любой, пусть это будет 123-654-ATAS). Повторите фразу-пароль и сообщение будет зашифровано. Результат:

 

-----BEGIN PGP MESSAGE-----

jA0EBwMC3pIbioeFcSO+0jkBoYr+j/z0CuEcdKPDCFTOEzVZayqFq1X1W5N3z/AG
R2Bc1qPnPjhTbaoTpOMfc93xF+Hs1qD6Goo=
=N4xU
-----END PGP MESSAGE-----

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

 

Расшифровка шифровки

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

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

  1. Копируем полученное зашифрованное сообщение в буфер обмена и вставляем его в модуль "Блокнот" Kleopatra.
  2. Жмем "Расшифровать/Проверить" (Decrypt/Verify)
  3. Программа попросит ввести пароль ключа и отобразит расшифрованное сообщение.

Напомню, что копировать шифрованный текст необходимо полностью, от -----BEGIN ... и до END PGP MESSAGE-----

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

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

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

 

PS:

Thunderbird интегрируется с GnuPG с помощью плагина Enigmail (https://www.enigmail.net/). После скачивания и установки позволяет шифровать не только тело, но и тему письма.

Для других платформ сморите ПО на странице https://gnupg.org/download/index.html


05.07.2020 20:05 Sense4532
-----BEGIN PGP MESSAGE-----

hQGMA+qI8SSOraNiAQwAj8Ee+SwUf24dKHeqeQAhBNyj9G/aHAa7VIliit3J1l6v
4JVBA2kgJyRYccIJx8Y+udqvmZajvb/2S8NBhzAPz2oeTX05+80vZzD1OGxpFt8S
8ktwP3ZVtEIEP6Le6muZOg/umP2zo8WMAO17wJ7GXCRxbMu583bGvvHJgN82eAZN
SzJwkwTxgdJ+6p21aPI3tm40AA9MsuXsGKoXc38lZaJv6+u/x1sde6oxbf00GBjF
12vyfcYLeKC0c6fFFD3xejE3OWQU52oasAdcAOTOD8gqI++QM4EZmT6M+nygTERF
0+fX6BRHSUUKmcPnM6E5a/AHqA9qL+HUtP6bgZpfZWKoQ9O+7FvAONdCHhaaYDrG
LCVqo3Vyjp9U1z8GjP5dk6T30ZpZEdAQYj+w47Xszzs/Y7+dTO7EVNc8hKDysqlu
bCPoeeG/0HNtDvhgeBAbPEzPpilAYCIq/u/z0WVO3Ox2oOObS8Wwfn6de/jG/yks
24T/6Z7uFWKMQgHI6ly+0l8BZ0idNIhZxzBJBMMkKjfLK8tA9FWJi4sMLFpB5FWj
kpzlUQ0YZfYN+KNalXvCqpr/BEPv1BjW9L6JycAUOg/Maou9jU/6qZtnj+ShXM9J
pUVEBueLEcQU9toNIcykkw==
=psq5
-----END PGP MESSAGE-----

Авторизуйтесь для добавления комментариев!


    забыли пароль?    новый пользователь?