Проектировать системы электронной почты с почтовыми клиентами Outlook и S/MIME - это просто.
В данной статье рассказывается, как применить S/MIME для защиты сообщений в среде Microsoft. Настроить текущие версии Microsoft Outlook на использование S/MIME просто, но как будет показано, требуется тщательно продумать и подготовить базовую инфраструктуру сертификации, необходимую для S/MIME.
Основы S/MIME
S/MIME обеспечивает проверку подлинности данных, конфиденциальность и целостность сообщений в формате MIME. Рабочая группа Internet Engineering Task Force (IETF, http://www.ietf.org) стандартизировала S/MIME 3.0 в документах Request for Comments (RFC) с номерами от 2632 до 2634.
S/MIME - отличный пример гибридного решения шифрования, в котором объединены достоинства симметричного и асимметричного шифров и функций хэширования. Основные принципы шифрования изложены в статье «Сейф для секретов» в седьмом номере Windows IT Pro/RE за 2005 год.
На Рис. 1 показаны этапы типичного сценария использования S/MIME. Пользователь Алиса хочет послать безопасное сообщение (с гарантированными конфиденциальностью, целостностью, подлинностью данных) пользователю Бобу. Обмен S/MIME состоит из следующих шагов:
- Алиса создает цифровую сигнатуру для сообщения с использованием своего частного ключа.
- Алиса использует единый ключ симметричного шифрования для шифрации сообщения.
- Чтобы сформировать безопасный канал, в котором будет защищена конфиденциальность ключа шифрования при его передаче через общедоступный канал связи, Алиса использует открытый ключ Боба (из сертификата Боба), чтобы зашифровать ключ шифрования. Результат этого этапа - защищенный ящик (lockbox), в котором содержится зашифрованная копия ключа шифрования.
- использует свой частный ключ, чтобы расшифровать защищенный ящик. В процессе дешифрации формируется единый ключ шифрования.
- расшифровывает сообщение с помощью единого ключа шифрования. Теперь Боб может прочитать сообщение.
- использует открытый ключ Алисы для проверки подлинности и целостности сообщения, удостоверяя цифровую сигнатуру, которая имеется в сертификате Алисы. S/MIME обеспечивает устойчивое сквозное шифрование почтовых сообщений. Это значит, что при использовании S/MIME сообщения зашифрованы не только на этапе пересылки, но и при хранении в локальной личной папке Microsoft Outlook (.pst) и почтовом ящике Microsoft Exchange Server.
S/MIME и Outlook
Существует четыре почтовых клиента Microsoft: Microsoft Office Outlook 2003, Outlook Express 6.0, Outlook Web Access (OWA) и Pocket Outlook. Почтовые клиенты Outlook и Outlook Express уже давно совместимы с S/MIME. С выходом Exchange Server 2003 обеспечена совместимость S/MIME с OWA. В готовящемся к выпуску пакете дополнений Messaging and Security Feature Pack for Windows Mobile 5.0 реализованы функции S/MIME для Pocket Outlook. Pocket Outlook входит в состав операционной системы Windows Mobile (WM) и позволяет пользователям обращаться к почте со смартфонов и устройств Pocket PC на базе Windows Mobile. Более подробно о WM можно прочитать по адресу http://www.microsoft.com/windowsmobile/business/5/default.mspx.
В Таблице 1 приведена сводка характеристик S/MIME для каждого почтового клиента Microsoft. Во время подготовки данной статьи не удалось получить доступа к программному обеспечению или описанию функций S/MIME для WM, поэтому в таблице отсутствуют данные для этой версии. Как видно из таблицы, наиболее полной функциональностью S/MIME располагает Outlook 2003, в котором реализованы службы S/MIME Enhanced Security Services (ESS) и удобные функции управления сертификатами.
Из Outlook 2003 легко опубликовать сертификат в глобальном списке адресов Exchange Global Address List (GAL) или запросить новый сертификат из коммерческого Центра сертификации (CA), такого как VeriSign. Чтобы опубликовать личные сертификаты в GAL, нужно щелкнуть на пункте Options в меню Tools, а затем на кнопке Publish to GAL на вкладке Security (Рис. 2). Благодаря публикации сертификатов в GAL, другие пользователи могут загрузить их и отправить подписанные и/или зашифрованные сообщения. По щелчку на кнопке Get a Digital ID, Outlook 2003 перенаправляет пользователя на Web-узел Office Marketplace, где можно запросить сертификат S/MIME от коммерческого CA.
Outlook 2003 ESS обеспечивает безопасное уведомление. Таким образом удостоверяется целостность прочтения, и отправитель получает криптографическое доказательство, что целевой получатель действительно прочитал и проверил подписанное сообщение.
В S/MIME применяются цифровые сигнатуры двух типов - явные и неявные. В явно подписанном сообщении цифровая подпись отделена от подписанных данных. В неявно подписанном сообщении цифровая подпись и сообщение объединены в одном двоичном файле. Только S/MIME-совместимые почтовые клиенты могут посылать S/MIME-подписанные (явно или неявно) сообщения. Почтовые клиенты S/MIME пригодны для чтения как явно, так и неявно подписанных сообщений. Почтовые клиенты без функций S/MIME могут читать только явно подписанные сообщения. В целом, если уровень функциональности S/MIME получателя неизвестен, следует посылать явно подписанные сообщения. Если уровень функциональности S/MIME получателя известен, то можно использовать как явные, так и неявные подписи. Преимущество неявной подписи - повышенная устойчивость к преобразованию почтовым шлюзом и серверами ретрансляции, которые могут сделать недействительной цифровую сигнатуру почтового сообщения. Как Outlook 2003, так и Outlook Express 6.0 поддерживают явные и неявные подписи; в OWA применяются только явные подписи.
Настройка и использование S/MIME
Для настройки S/MIME в Outlook 2003 (продукте с наиболее исчерпывающим набором функций S/MIME) следует перейти на вкладку Security (Рис. 2) и щелкнуть на кнопке Settings. Появляется диалоговое окно Change Security Settings (Рис. 3). В поле Security Settings Name необходимо ввести или выбрать имя (в данном примере, Jan De Clercq's S/MIME Settings). Затем из раскрывающегося списка Cryptography Format нужно выбрать пункт S/MIME и установить флажки Default Security Setting for this cryptographic message format и Default Security Setting for all cryptographic messages. В поле Signing Certificate необходимо указать подписной сертификат, а затем назначить алгоритм хэширования (рекомендуется SHA1). Выберите шифрованный сертификат и задайте алгоритм шифрования (рекомендуется 3DES). Установив флажок Send these certificates with signed messages, нужно щелкнуть на кнопке OK.
Теперь можно возвратиться к вкладке Security и задать выбираемое по умолчанию поведение S/MIME, которое будет применяться ко всем сообщениям, отправляемым пользователем. Как показано на Рис. 2, по умолчанию в сообщениях используется явная подпись. Можно шифровать и/или подписывать все исходящие сообщения, всегда отправлять сообщения с явной подписью и/или всегда запрашивать подтверждение приема подписанных сообщений.
Пользователи могут изменять стандартные параметры для отдельных сообщений. В окне Message (Рис. 4) они могут щелкнуть на пиктограмме Encrypt или Sign, или на пункте Options для доступа к функциям шифрования и подписывания из раздела Security Settings в диалоговом окне Options.
Пользователям необходимо разъяснить, что отправляя зашифрованное сообщение, они должны иметь доступ к открытому ключу и сертификату получателя. Если используется инфраструктура Windows Public Key Infrastructure (PKI), интегрированная с Active Directory (AD), то Outlook 2003 может получить сертификат получателя от сервера Global Catalog (GC). Если получатели не определены в AD (например, внешние получатели), то пользователи могут получить копии их сертификатов, попросив получателей выслать подписанные сообщения электронной почты. Затем пользователи создают объект "контакт" Outlook для этого получателя, и Outlook автоматически вводит сертификаты получателя в объект "контакт".
Особенности проектирования и развертывания
Была рассмотрена простая, внешняя составляющая решения безопасности почты на базе S/MIME. При проектировании и развертывании эффективного механизма обработки сертификатов необходимо учитывать и более глубокие аспекты. Прежде, чем приступить к задаче, необходимо ответить на следующие вопросы.
Обеспечивают ли применяемые на предприятии почтовые клиенты достаточные службы S/MIME? Если почтовые клиенты не поддерживают полный функциональный набор S/MIME, необходимый пользователям (см. Таблицу 1, в которой приведен обзор различных функциональных наборов S/MIME), то нужно обновить клиентские программы электронной почты.
Если текущий почтовый клиент совсем несовместим с S/MIME, то пользователи не смогут создавать S/MIME-защищенные сообщения или прочитать зашифрованные или неявно подписанные послания, хотя всегда смогут прочитать явно подписанные сообщения. На серверах Exchange Server 2003 можно активизировать S/MIME для пользователей через OWA.
Внутренний или коммерческий центр сертификации? В основе S/MIME - цифровые сертификаты в формате X.509, генерируемые центрами сертификации. Чтобы предоставить пользователям сертификаты S/MIME, можно использовать внутренние центры сертификации или купить сертификаты у коммерческого центра (такого как VeriSign по адресу http://www.verisign.com или thawte по адресу http://www.thawte.com). Внутренние центры сертификации обеспечивают предприятию полный контроль над "механизмами" сертификации и позволяют предоставить важные службы, такие как архивирование и восстановление ключей. Для внутренних центров необходимо проектировать, развертывать и обслуживать инфраструктуру PKI, а это может быть связано с серьезными затратами. Малым организациям и организациям, нуждающмся в сертификатах для ограниченного числа пользователей и приложений, рекомендуется купить сертификаты S/MIME от коммерческого CA. Это более простой и экономичный вариант.
Каким образом пользователи оформляют и возобновляют сертификаты S/MIME? При подготовке к развертыванию S/MIME необходимо предусмотреть процедуру оформления и возобновления сертификатов S/MIME. В домене Windows 2003, который располагает клиентами XP или более новыми, и встроенной инфраструктурой Windows PKI, рекомендуется применить автоматический метод оформления и обновления сертификатов. В домене Windows 2000 Server с Windows PKI пользователи могут вручную оформлять сертификаты с помощью Web-интерфейса СА или оснастки Certificates консоли управления Microsoft Management Console (MMC). Если сертификаты S/MIME получены от коммерческого СА, то необходимо придерживаться правил, установленных центром сертификации.
Одинарная или двойная пара ключей S/MIME? Ведение центральной базы данных частных ключей может сопряжено с риском, если пользователи применяют один ключ как для шифрования, так и подписывания почтовых сообщений. Администраторы-злоумышленники могут извлечь частный ключ пользователя из архивной базы данных и подписать сообщение от имени пользователя. Чтобы уберечь пользователей от этих опасностей, в большинстве клиентских и серверных программ S/MIME (в том числе Exchange и Outlook), применяются пары двойных ключей. В такой системе у пользователя всегда есть две пары ключей: одна для подрисывания (частный ключ из пары архивируется) и одна для шифрования (частный ключ из этой пары не архивируется). Если в организации не установлены требования архивирования и восстановления, то можно использовать S/MIME с одной парой ключей. Во всех остальных случаях настоятельно рекомендуется применять две пары ключей для каждого пользователя S/MIME.
Нужны ли службы архивирования и восстановления ключей? Политики безопасности многих организаций предусматривают обязательное архивирование и восстановление ключей, если пользователи шифруют почтовые сообщения. При этом копия частного ключа шифрования пользователя хранится в централизованной базе данных. Если пользователь теряет частный ключ, а механизм архивирования и восстановления отсутствует, то прочитать зашифрованные данные невозможно.
Потребность в службах архивирования и восстановления ключей может быть одной из причин, оправдывающих затраты на внутреннюю среду PKI или сервер обработки сообщений, который обеспечивает такую службу. В версиях Exchange Server, начиная с 4.0 до 5.5, службы архивирования и восстановления реализованы в Key Management Service (KMS). В Exchange Server 5.5 Service Pack 1 (SP1) и более поздних версиях функциональность KMS СА можно переложить на Windows СА. В Exchange 2003 функции СА, архивирования и восстановления полностью перемещены в СА Windows 2003.
Нуждаются ли пользователи в усиленной защите частного ключа? Если пользователи применяют S/MIME, чтобы подписывать важные почтовые сообщения, то необходимо дополнительно защитить частный ключ. Компания Microsoft предложила программный механизм защиты, который запрашивает у пользователей пароль всякий раз, когда их приложения обращаются к частному ключу. На экране Cryptographic Service Provider мастера Certificate Request Wizard (Рис. 5) пользователи могут надежно защитить частный ключ, установив флажок Enable strong private key protection при оформлении сертификата S/MIME. На экране появится диалоговое окно Creating a new RSA exchange key, в котором нужно установить параметр High, чтобы защитить частный ключ паролем.
В других решениях защиты частного ключа применяются специализированные аппаратные средства, такие как устройства USB, смарт-карты и устройства чтения смарт-карт, или рабочие станции с микросхемой TPM (Trusted Platform Module). Эти передовые решения обеспечивают действительно высокий уровень защиты частного ключа, но их внедрение и обслуживание может быть связано с крупными затратами.
Как своевременно довести до пользователей информацию об отзыве сертификатов? Функции S/MIME, встроенные в клиентские и серверные программы обработки сообщений Microsoft, используют систему списков отзыва сертификатов (certificate revocation lists - CRL) и точек распространения CRL (distribution point - CRLDP), чтобы своевременно извещать пользователей об отзыве сертификатов. Списки CRL содержат серийные номера недоверенных сертификатов (например, сертификатов, частные ключи которых были раскрыты). Точки CRLDP указывают на места, из которых пользователи могут загрузить списки CRL. CRL можно хранить в каталоге, Web-сервере, файле или ресурсе FTP.
Как Outlook 2003, так и OWA генерируют сообщения об ошибках, если в локальной машине или одной из точек CRLDP нет своевременных сведений о CRL. При проектировании инфраструктуры PKI обязательно организовать несколько CRLDP, предпочтительно в различных хранилищах (например, один в каталоге и другой на Web-сервере). Если ведется обмен S/MIME-сообщениями с лицами вне организации, то списки CRL должны быть доступны и им. Получая сертификаты от коммерческого СА, необходимо понимать механизмы распространения информации об отзыве.
S/MIME - спасательный круг
S/MIME обеспечивает мощные расширения функций почтовой безопасности, которые могут быть очень полезными пользователям. Функциональность S/MIME реализована в различных клиентах обработки сообщений Outlook и сервере Exchange. Настроить и применить S/MIME в программах Microsoft довольно просто, но для успешного развертывания S/MIME требуется уделить значительное время и усилия планированию и подготовке инфраструктуры сертификатов.
Жан де Клерк (jan.declercq@hp.com) - сотрудник Security Office компании HP. Специализируется на управлении идентификационными параметрами и безопасностью в продуктах Microsoft. Он автор книги Windows Server 2003 Security Infrastructures (издательство Digital Press).
Таблица 1. Сводка характеристик S/MIME почтовых клиентов Microsoft
Функция | Почтовый клиент | ||
Outlook 2003 | Outlook Express 6.0 | OWA | |
Почтовый протокол | MAPI/RPC, POP3, IMAP4, SMTP, HTTP | POP3, IMAP4, SMTP | HTTP |
Поставщик сертификатов | Exchange KMS, внутренний СА, коммерческий СА | Внутренний СА, коммерческий СА | Внутренний СА, коммерческий СА |
Необходим сервер обработки сообщений Exchange | Нет | Нет | Да |
Шифрование почты (защита конфиденциальности) | Да | Да | Да |
Подписывание почты (проверка подлинности и целостности) | Да | Да | Да |
Безопасные уведомления | Да | Нет | Нет |
Явные и неявные подписи | Да | Да | Только явные подписи |
Оформление и обновление сертификатов пользователей | Может быть автоматизировано с использованием процедур оформления сертификатов Windows 2003 и XP | Может быть автоматизировано с использованием процедур оформления сертификатов Windows 2003 и XP | Может быть автоматизировано с использованием процедур оформления сертификатов Windows 2003 и XP |
Архивирование и восстановление ключа шифрования | Да (в сочетании с СА Windows 2003) | Да (в сочетании с СА Windows 2003) | Да (в сочетании с СА Windows 2003) |
Проверка отозванных сертификатов включена по умолчанию | Да | Нет | Да |
Использование точек распространение CRLDP для проверки отозванных сертификатов | Да | Да | Да |