Почтовая мышь и красный дракон: мобильность и безопасность. Часть 2Автор: Максим Тигулев Опубликовано: 22.02.2011 Источник: SoftKey.info Всем тем, кто работает в движении, носит с собой частичку рабочего места, а может быть, и весь свой офис, кто хорошо знает ответ на вопрос, какой человек будет радостно встречен и принят в компанию совершенно незнакомыми людьми - пассажирами любого зала ожидания, посвящается данная статья.
Пояснение: в любом зале ожидания владельцы мобильных устройств радостно встретят человека с электрическим удлинителем и несколькими розетками на нем с целью совместного подключения к ближайшему источнику питания.
Итак, защита рабочих данных - задача комплексная. В первой части статьи мы рассмотрели, как сделать защищенный мобильный почтовый ящик на базе программы The Bat! Voyager, размещаемой на переносном носителе. Но это только часть проблемы, ведь серьезные документы нуждаются в защите и в пути к адресату, в процессе пересылки по электронным каналам. На помощь придут алгоритмы и программы шифрования информации. В этот раз мы поговорим об инфраструктуре публичных ключей (PKI), а также о том, как получить бесплатный сертификат ключа электронной цифровой подписи от удостоверяющего центра COMODO и как использовать его в почтовой программе The Bat!.
Алиса + Боб = ?
Алгоритмы асимметричной криптографии множество раз рассматривались в специальной литературе, поэтому сильно углубляться в тему мы не будем, но для лучшего понимания действия по ходу "пьесы" необходимо ознакомиться с "действующими лицами" и "либретто". Рассмотрим картинку с самыми популярными участниками криптографических практик - Алисой (отправитель сообщения) и Бобом (получатель сообщения). Также частым участником представлений бывает Ева в роли злоумышленника. Впервые эти персонажи были упомянуты в 1978 году Роном Ривестом (Ron Rivest), одним из авторов алгоритма RSA.
 | | Инфраструктура открытых ключей. Основные участники |
Для обмена шифрованными сообщениями Алиса создает пару криптографических ключей - закрытый ключ, который известен только ей и закрыт паролем, и открытый ключ, который она пересылает Бобу. Боб выполняет те же операции и отдает Алисе свой открытый ключ (пунктирные линии 1 на рисунке). Алгоритм шифрования устроен таким образом, что отправляемое Алисой сообщение шифруется открытым ключом Боба и прочитать это сообщение может только владелец соответствующего закрытого ключа, то есть Боб. Соответственно, Боб, отправляя сообщение Алисе, шифрует его открытым ключом Алисы, и доступно оно только Алисе.
Такая схема имеет серьезный недостаток: Ева, перехватив первое сообщение от Алисы, содержащее открытый ключ Алисы, может отдать Бобу свой ключ вместо ключа Алисы. Таким образом, она сможет читать сообщения, которые Боб пишет Алисе. Поэтому всегда при приеме открытого ключа от абонента необходимо убедиться, что ключ принадлежит именно этому абоненту. Для практической реализации такого подтверждения разработан механизм, называемый инфраструктурой открытых ключей (Public Key Infrastructure, PKI). В схему вводится специальный институт, называемый удостоверяющим центром (Certification authority, CA). Упрощенно говоря, задача удостоверяющего центра - подтвердить, что данный открытый ключ принадлежит конкретному человеку. Это очень похоже на нотариальное заверение документа в реальном мире. Открытый ключ, который подтвержден и подписан удостоверяющим центром, будет называться сертификатом открытого ключа.
В схеме с удостоверяющим центром происходит следующее. Алиса создает пару ключей, затем направляет в удостоверяющий центр так называемый запрос на сертификат в сопровождении дополнительных документов (линия 2 на рисунке). Удостоверяющий центр, получив запрос, идентифицирует Алису, проверяет, что ключ сделала именно она, а затем подписывает его своим ключом электронной цифровой подписи и возвращает Алисе. Теперь Боб, получив сертификат ключа Алисы (линия 3 на рисунке), всегда может обратиться с запросом в удостоверяющий центр и проверить, что открытый ключ принадлежит именно Алисе.
Дракон с острова COMODO
Вообще, удостоверяющий центр является очень серьезной организацией, предоставляющей услуги по выпуску сертификатов разных назначений, в том числе и обеспечивающих юридическую значимость подписываемых ими документов, при этом эти услуги стоят определенных денег. Однако есть удостоверяющие центры, работающие для простых пользователей Сети, в которых можно бесплатно получить сертификат для шифрования сообщений электронной почты. Одним из таких центров является удостоверяющий центр COMODO. Попробуем получить у него сертификат.
Примечание. Удостоверяющий центр COMODO использует для работы криптопровайдер Microsoft, поэтому все операции по получению и установке сертификата надо выполнять в браузере Internet Explorer на одном и том же компьютере. Криптопровайдером называют программу-драйвер, предназначенную для выполнения криптографических операций - генерации ключей, шифрования сообщений, подписи документов.
Откроем Internet Explorer, зайдем на страницу http://www.comodo.com/home/email-security/free-email-certificate.php и нажмем большую красную кнопку Free Download ("Бесплатная загрузка"). Нам предложат заполнить заявление (Application).
 | | Заполнение заявления на сертификат |
Введем имя владельца (First name), фамилию (Last name), адрес электронной почты (Email Address), для которого мы запрашиваем сертификат, и страну (Country). Очень рекомендую ввести пароль для отзыва сертификата (Revocation Password), этот пароль будет нужен, если что-то сделаете не так или сертификат понадобится заменить на новый в случае его компрометации. Убираем подписку на новости (Comodo Newsletter) и нажимаем кнопку Agree & Continue ("Согласиться и продолжить").
Дальнейшее происходит очень быстро, как в кино, поэтому процесс нуждается в пояснениях. Запустится ActiveX-компонент с сайта COMODO, этот компонент обратится к криптопровайдеру Windows и сгенерирует с его помощью пару ключей пользователя. Затем компонент захочет отправить в удостоверяющий центр запрос на сертификат открытого ключа, браузер это отловит и запросит наше согласие. Разрешим ему это, нажав кнопку "Да". Запрос на сертификат уйдет в удостоверяющий центр. Через пару минут проверим почту. Там уже должно лежать приветственное письмо от COMODO, примерно такое, как на рисунке. Письмо содержит ссылку и пароль для скачивания готового сертификата, поэтому сохраните его в тайне.
 | | Приветственное письмо с сертификатом |
Если вы открыли письмо прямо в браузере Internet Explorer, то сразу щелкните по кнопке Click & Install COMODO Email Certificate ("Установить сертификат COMODO для электронной почты"). Если нет, то откройте Internet Explorer и пройдите по ссылке из письма. Браузер запросит подтверждения установки сертификата - разрешим ему это. В случае успеха на странице COMODO появится надпись об успешном завершении (Successful). Проверить наличие нового сертификата в вашей системе можно прямо из Internet Explorer, зайдя в меню "Свойства Интернет" (Internet Options) - вкладка "Содержание" (Content) - кнопка "Сертификаты" (Certificates) - вкладка "Личные" (Personal). Двойной щелчок откроет свойства сертификата.
 | | Сертификат установлен в Windows |
Сертификат для "Почтовой мыши"
Для того чтобы начать использовать новый сертификат, надо отдать его "Мыши", но сначала надо забрать его у Windows. В упомянутом выше меню "Сертификаты" нажмем кнопку "Экспорт" (Export), запустится мастер выгрузки сертификатов. Выполняем указания мастера.
Отметим пункт "Да, экспортировать закрытый ключ", так как нам надо забрать всю пару, и нажмем "Далее".
Отметим пункт "Файл обмена личной информацией - PKCS #12 (.PFX)", данный формат позволяет выгружать закрытый и открытый ключи вместе.
Отметим пункт "Включить усиленную защиту".
Установим пароль к закрытому ключу - этот пароль теперь всегда будут спрашивать, когда вы будете производить любые операции с закрытым ключом - подпись, шифрование и дешифрирование сообщений, проверку подписи.
Укажем имя файла, в который будут сохранены закрытый ключ и сертификат открытого ключа.
Загрузим сертификат в программу The Bat!. Зайдем в меню "Ящик" - "Свойства почтового ящика", ветка меню "Общие сведения" и нажмем кнопку "Сертификаты" под строкой с названием ящика. Нажмем кнопку "Импортировать" и укажем на выгруженный ранее файл. Программа спросит пароль для доступа к закрытому ключу, потом еще раз. Все - наш сертификат установлен. Нажмем на кнопку "Просмотреть" и обратим внимание на надпись внизу "У вас есть личный ключ, соответствующий этому S/MIME сертификату". Это значит, что в базе есть пара ключей и вы сможете прочитать зашифрованное вашим открытым ключом сообщение.
 | | Сертификат установлен в The Bat! |
Теперь осталось отдать сертификат вашего открытого ключа корреспондентам, чтобы они могли шифровать и подписывать письма для вас. Файл, выгруженный из Windows, у нас есть, но отдавать его абонентам - не очень хорошая идея, так как файл содержит еще и закрытый ключ. Давайте выгрузим только сертификат открытого ключа с помощью "Мыши". В окне "Сертификаты" нажмем кнопку "Экспортировать", в окне "Формат экспортируемых файлов сертификатов" отметим формат "BASE-64 кодированный текстовый файл X.509 (.CER)", затем уберем "галку" напротив позиции "Экспортировать также и личные ключи", нажмем "ОК" и укажем имя файла для выгрузки, например c:user.cer. Теперь присоединим полученный файл к письму для нашего партнера и отправим ему письмо.
Теперь, для того чтобы начать двустороннюю переписку, партнер должен переслать вам свой сертификат открытого ключа в письме. Присланный файл надо отцепить от письма, затем зайти в адресную книгу (меню "Инструменты" - "Адресная книга", найти адресата, выбрать его двойным щелчком и перейти на вкладку "Сертификаты" в этом же окне. Нажать кнопку "Импортировать", указать имя файла и нажать кнопку "Открыть".
Написанное для партнера письмо теперь можно подписывать электронной цифровой подписью или зашифровать. Для этого в окне создания нового письма отметим пункты в меню "Криптография и безопасность", соответственно "Подписать перед отправкой" или "Зашифровать перед отправкой" (можно также нажать кнопку в виде письма с замком на панели инструментов). "Мышь" сама найдет в адресной книге сертификат получателя и зашифрует на нем сообщение.
Как мы говорили ранее, прочитать зашифрованное сообщение сможет только владелец закрытого ключа, поэтому, чтобы вы смогли впоследствии прочитать отправленное сообщение (например, в папке "Исходящие" или "Отправленные"), необходимо одновременно зашифровать отправляемое сообщение своим открытым ключом. В принципе для этого можно просто направить письмо себе в открытой (CC) или закрытой (BCC) копии, но The Bat! предоставляет нам гораздо более элегантный вариант - специальную настройку, при включении которой исходящие письма будут зашифрованы открытым ключом получателя и всегда вашим открытым ключом. Настройка находится в меню "Свойства" - "S/MIME и TLS", где следует отметить пункт "Всегда шифровать отправителю".
 | | Вам пришло зашифрованное письмо |
Если вы получили зашифрованное сообщение, на панели рядом с адресом отправителя появится значок в виде конверта с замком (если сообщение шифрованное) и "галкой" в зеленом кружочке (если письмо подписано электронной цифровой подписью). Нажатие на этот значок позволит быстро расшифровать сообщение или проверить подпись.
Вывод: c помощью программы The Bat! от компании Ritlabs вполне возможно организовать защищенную электронную почту и это совсем несложно. |