Электронная почта - старый проверенный способ обмена сообщениями в Сети. Её недостатки очевидны:

  • Сообщения отправляются и приходят довольно медленно
  • Громоздкие почтовые клиенты и формат, который не предполагает быстрый обмен
  • Спам в письмах
  • Отсутствие шифрования по-умолчанию
  • Электронная почта просто старая

Но не стоит забывать и о плюсах:

  • Старая технология - проверенная технология. Даже в Telegram иногда находят уязвимости [1] [2] [3] - это неизбежно в новых, ещё не проверенных временем продуктах
  • Почтовых серверов очень много, и вы можете создать свой (как мы); это делает технологию чуть более децентрализованной и выгодно отличает её от современных мессенджеров
  • Почтой всё ещё активно пользуются; любая компания указывает электронную почту как один из способов обратной связи
  • Шифрование можно настроить

О последнем пункте и пойдёт речь

Шифрование писем

Классическая почта работает как-то так:

Все письма проходят через почтовый сервер (это может быть сервер Mail.ru, Google, Yandex и т.п. - зависит от строки после '@' в почтовом адресе). Сначала письмо идёт от отправителя на сервер, а потом от сервера к получателю. Таким образом сервер имеет полный доступ к тексту письма. И такие компании как Mail.ru или Yandex предоставляют содержимое ваших писем и все данные по запросу МВД или ФСБ. Зарубежные почтовые аналоги (например, GMail) обычно менее сговорчивы, однако и на них не стоит полагаться.

Решение проблемы простое: нужно шифровать письма ещё до того, как они отправятся на сервер:

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

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

Есть три способа получить открытый ключ собеседника:

  1. Обменяться ключами по той же самой электронной почте. Ведь в открытом ключе нет ничего секретного, можно не бояться за то, что его прочитают! В этом способе обмена есть один недостаток: почтовый сервер, вообще говоря, может не только читать письма, но и вносить в них изменения. Условный mail.ru может заменить открытый ключ, который отправил вам собеседник, на свой собственный открытый ключ и таким образом "притвориться" собеседником. Такая атака маловероятна: ведь почтовый сервер должен заранее "знать", что именно вас нужно взломать, и ждать сообщения с открытыми ключами.

    Примечание. Вам не нужно ждать, пока собеседник отправит свой открытый ключ. Вы можете начать безопасное общение, отправив ему свой собственный открытый ключ и попросив получателя использовать шифрование. Тогда получатель сможет зашифровать ответное письмо вашим ключём.
  2. Использовать специальный доверенный сервер, где хранятся открытые ключи. Есть сайты, где по email можно найти файл открытого ключа: люди сами выкладывают туда свои ключи, чтобы все могли найти писать им по PGP. Плагин Mailvelope, который мы рассмотрим дальше, использует свои сервера ключей: так что, если ваш собеседник уже использует Mailvelope, плагин автоматически найдёт открытый ключ вашего собеседника и зашифрует исходящее письмо.
  3. Любой другой способ получения ключа. Главное, чтобы вы были уверены, что открытый ключ действительно пришёл от собеседника, а не от злоумышленника. Например, наш PGP ключ можно скачать с нашего же сайта. Вы можете обменяться ключём с другом, передав лично в руки на флешке, или через личные сообщения в мессенджере.

Переходим к практике

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

Скачайте и установите плагин Mailvelope. Нажмите на иконку плагина:

Mailvelope предложит создать ваш PGP ключ. Заполните форму и создайте ключ:

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

Готово! Теперь при открытии своей почты вы увидите значок Mailvelope: можно нажать на него и зашифровать письмо

Если у получателя установлен этот же плагин, он легко расшифрует сообщение.

Мы привели пример с почтовым сервером mail.ru. На самом деле этот плагин поддерживает большинство популярных почтовых сервисов: GMail, Yandex и т.д..


Попробуйте написать нам зашифрованное письмо на [email protected], расскажите о своих успехах в PGP! Также принимаем замечания по этой статье, любые идеи и предложения на любую IT тему.

Полезные ссылки
Сайт mailvelope
Инструкции от Thunderbird по настройке PGP
Статья на схожую тему от наших коллег
Интересный тред с критикой PGP
Другие наши методички