Enigmail. Основы работы






В предыдущей статье об Enigmail были рассмотрены установка плагина и первоначальная его настройки при помощи мастера. Что дальше? Дальше, естественно, то, чего ради всё затевалось — использование Enigmail для шифрования, расшифровки, а также наложения/проверки электронных подписей.


Публикация открытых ключей

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

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

Но это ещё полбеды, поскольку ключ перед отправкой можно «завернуть», например, в архив, защитить его паролем, а пароль сообщить адресату защищённым способом. Иногда можно пойти ещё дальше — отнести копию ключа лично...  Но что делать, если список ваших адресатов постоянно и довольно часто  пополняется новыми получателями, и вы скорее с ума сойдёте, прежде чем привыкните каждый день рассылать копию ключа добавившимся адресатам. Что, если получатели ваших сообщений разбросаны по всему миру и на трамвайчике к ним не доедешь? Вдобавок, представьте, что срок действия вашего ключа может быть не бесконечным. Представили?

К счастью, изящное, простое и в достаточной мере безопасное решение проблемы существует — это серверы открытых ключей. Основная задача таких серверов как раз и состоит в том, чтобы организовать обмен открытыми ключами между пользователями. Очевидное преимущество хранения открытых ключей на серверах открытых ключей состоит в том, что данные передаются защищённым способом и любой пользователь Интернет практически всегда имеет возможность получить ваш открытый ключ в любой момент времени.

Ещё одним плюсом в пользу использования серверов открытых ключей является то, что работа с ними максимально автоматизирована практически во всех популярных пакетах ПО, так или иначе использующих алгоритмы шифрования с открытым ключом. И Enigmail, как вы уже догадались, не исключение.

Перейдём к делу. Чтобы увидеть список ключей, имеющихся у вас, в главном меню Mozilla Thunderbird выберите «OpenPGP — Key Management», после чего вы увидите подобное окошко (не забудьте поставить птицу «Display All Keys by Default», чтобы увидеть все ключи сразу, не прибегая к поиску):

Теперь, чтобы опубликовать ваши открытые ключи, щёлкните правой кнопкой мыши на вашем идентификаторе и в контекстном меню выберите «Upload Public Keys to Keyserver»:

После чего, в появившемся диалоговом окне, выберите сервер открытых ключей, на который вы хотите «залить» ваши ключи и нажмите «ОК»:

После нажатия на кнопку «ОК» вы увидите окошко с «бегунком», сообщающее вам о том, что ключи загружаются на сервер и, если всё пройдёт успешно, Enigmail вернёт вас обратно в менеджер ключей.

Электронная подпись сообщений

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

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

Иными словами, если где-то «по дороге» к получателю ваше сообщение будет изменено, то электронная подпись уже не будет ему соответствовать, а значит, получатель сможет поставить под сомнение тот факт, что вы — автор письма. Для анализа корректности вашей электронной подписи получателю достаточно иметь у себя в наличии только ваш открытый ключ, который, как мы уже выяснили, он может без труда получить на сервере открытых ключей.

После того, как файл электронной подписи будет создан, Enigmail приаттачит его к вашему сообщению и успешно «поедет» к адресату.

Для того, чтобы подписать исходящее сообщение, в редакторе Mozilla Thunderbird необходимо выбрать опцию «OpenPGP — Sign Message» или, как подсказывает нам Enigmail, воспользоваться клавиатурным сокращением «Ctrl+Shift+S»:

Теперь, после нажатия на кнопку «Send», Enigmail попросит вас ввести пароль к своему закрытому ключу, с помощью которого будет создаваться электронная подпись:

И после нажатия на «OK», сообщение с приаттаченной электронной подписью отправится к своему получателю.

Вдобавок, для каждой учётной записи в Mozilla Thunderbird можно настроить определённые «умолчания», пользуясь которыми, Enigmail сможет в том числе автоматически подписывать все исходящие сообщения. Если вы хотите, чтобы все ваши сообщения были подписаны электронной подписью, необходимо открыть менеджер учётных записей Mozilla Thunderbird из главного меню «Account Settings», там в дереве настроек нужной учётной записи поставить «птицу» «Sign (non-) encrypted messages by default» и в будущем не просыпаться по ночам с вопросом: «А не забыл ли я подписать своё сообщение?!»:

Проверка электронной подписи отправителя

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

Для того, чтобы получить открытый ключ отправителя, достаточно выбрать в меню заголовка сообщения «Details — Import Public Key», подтвердить своё действие нажатием кнопки «Import»:

Выбрать сервер, с которого нужно загрузить ключ и нажать «OK»:

После завершения импорта открытого ключа отправителя, Enigmail сообщит вам технические подробности результата импорта:

И теперь, нажав в этом окне «OK», можно увидеть результаты проверки подлинности сообщения, подписанного электронной подписью:

Всё отлично, Enigmail сообщает нам, что подпись «хорошая», то есть она действительно была создана пользователем, отправлявшем сообщение и само сообщение не было изменено в процессе доставки его получателю, то есть вам.

Слово «UNTRUSTED» в сообщении о валидности подписи сообщает о том, что электронная подпись хоть и «хорошая», однако мы не можем с уверенностью сказать, что открытый ключ, имеющийся в нашем локальном хранилище, действительно создан и используется именно тем человеком, имя которого указано в реквизитах открытого ключа.

Если вы действительно уверены, что владельцем открытого ключа, имеющегося у вас, является именно тот человек, имя которого «зашито» в ключе (например, человек лично передал вам ключ), вы всегда сможете сообщить Enigmail, что вы доверяете этому ключу и созданным на его основе электронным подписям. Для этого откройте меню «Details — Set Owner Trust of Sender's Key» и установите желаемый уровень доверия выбранному ключу:

Шифрование сообщений

Для того, чтобы зашифровать сообщение электронной почты, вам нужен открытый ключ получателя. Если он у вас имеется, то всё, что вам остаётся сделать — это выбрать в меню редактора сообщения Mozilla Thunderbird «OpenPGP — Encrypt Message»:

Теперь, после того, как вы нажмёте кнопку «Send», Enigmail попросит вас уточнить, чьим именно ключом вы хотите зашифровать сообщение. Выбираем нужный и жмём «ОК»:

Вот и всё. Дальнейшие действия по зашифровке текста сообщения берёт на себя Enigmail и отправляет зашифрованное сообщение.

Расшифровка сообщений

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




Enigmail. Основы работы: 6 комментариев

  1. Отличная статья! Я уже это освоил некоторое время назад, но тем, кто не в курсе — будет просто настроить и использовать. :)

  2. Я перефразирую за предыдущего вопрошающего — как перемещать закрытый ключ в другой экземпляр почтового клиента?

    1. Irvine_k, ключ хранится в хранилище GnuPG, а не почтового клиента. Скопируйте нужное из ~/.gnupg куда вам надо и будьте счастливы ;-)

Комментарии запрещены.