Привет!
Какие у вас возникают ассоциации с защищенной электронной почтой? Скорее всего, первым делом вы вспомните Protonmail и Tutanota, которые шифруют почту по умолчанию. К сожалению, первый сервис заблокирован в России. Та же история произошла с Tutanota, вдобавок, постановление Кёльнского суда обязывает внедрить эксплоит для новых (с декабря 2020 года) почтовых ящиков. Всё это, безусловно, создаёт определённый дискомфорт. Хочется пользоваться почтой без VPN/Proxy и не беспокоиться, что почта из-за ограничений не дойдёт до адресата. И такое решение есть. Знакомьтесь, это PGP/GPG.
Немного истории. GPG (Gnu Privacy Guard) - программа для шифрования, разработанная в Филиппом Циммерманном в 1991 году. Технология построена на алгоритмах ассиметричного шифрования, наработки которых начали разрабатываться ещё в 1970-х. Такая реализация позволяет читать содержимое только получателю. Как это работает?
Допустим, имеется получатель информации. Он создаёт 2 ключа. Первый ключ - открытый. Его можно свободно распространять между третьими лицами и хранить вне защищённого хранилища. Он используется только для шифрования информации. Обратно расшифровать уже не получится. Даже если эта информация попадёт в чужие руки - это просто набор символов, бесполезных без секретного ключа. Секретный ключ используется для расшифровки информации, зашифрованной открытым ключом. И этот ключ должен храниться в надёжном месте и никому не передаваться. Где мы можем увидеть такую реализацию в повседневной жизни? Ассиметричное шифрование используется сайтами. Если сайт имеет SSL-сертификат, рядом с поисковой строкой вы можете увидеть значок, подтверждающий, что соединение зашифровано. Сайт по открытому каналу сперва передаёт вам открытый ключ, затем браузер шифрует всю вашу информацию и передаёт обратно на сайт, где информация расшифровывается обратно. Подобная защита предотвращает атаки Man-in-the-Middle. Любой, кто перехватит соединение между вами и сайтом, получит у себя набор символов.
Итак, с реализацией разобрались, приступим к практике! Для начала, скачаем бесплатную почтовую программу Thunderbird. Она имеет открытый исходный код и разрабатывается корпорацией MZLA Technologies, полностью дочерней компании Mozilla Foundation. Попутно скачиваем GnuPG для своей операционной системы отсюда.
Нас встречает экран авторизации. Вводим свои учётные данные. Для любителей собственных почтовых серверов имеется возможность ручной настройки.
Далее нам необходимо открыть правое боковое меню, открыть инструменты и настроить наши ключи в менеджере ключей OpenPGP.
Если у вас уже есть пара ключей, их можно импортировать, но для примера создадим новый.
В самом менеджере выбираем соответствующее меню для создания.
Срок действия и его длину выбираем по желанию.
Новый ключ отобразится в менеджере ключей. К сожалению, на тёмной теме может быть слабо заметно, но запись будет выделена жирным шрифтом. Это значит, что для текущей записи имеется пара из закрытого и открытого ключей.
Следующим этапом будет публикация открытого ключа на сервере ключей. Это сделано для упрощения обмена ключами шифрования. Данное действие не обязательно, вы можете сами придумать, как доставлять ключи до получателя. Сама передача может осуществляться по любому открытому каналу. Как я описал выше, открытый ключ только шифрует информацию, но без закрытого – это просто набор символов.
Итак, открываем менеджер ключей и правой кнопкой мыши экспортируем наш открытый ключ в любую папку:
Далее переходим на сайт https://keys.openpgp.org/. Загружаем полученный файл. Получаем предупреждение:
Пока мы не подтвердим, что являемся владельцами электронного ящика, открытый ключ нельзя будет найти на сервере по адресу электронной почты, но им уже делиться. Отправляем проверочное письмо и переходим по ссылке в, которую пришлёт вам сервис на почтовый ящик.
Отлично! Теперь при поиске нашего электронного ящика на сервере ключей мы находим загруженный нами файл.
Любой, кто захочет отправить для нас защищённое сообщение, может воспользоваться ключом с этого сервиса, просто поискав наш электронный ящик.
Теперь приступим к настройкам нашего почтовика.
Открываем «Настройки» - «Параметры учётной записи» - «Сквозное шифрование» и выбираем наш закрытый ключ
По желанию убираем галочки в дополнительных параметрах. Если открытый ключ уже опубликован на сервере и вы знаете, что он есть у адресата, его можно не прикреплять.
Сам процесс отправки письма рассмотрим в следующей статье.
Материал написан Григоричем @JSDio
Comments