Опубликован: 08.12.2008 | Доступ: свободный | Студентов: 557 / 42 | Оценка: 4.63 / 4.37 | Длительность: 14:08:00
Лекция 5:

Безопасность сообщений Exchange Server 2003

Аннотация: В двух предыдущих лекциях мы обсуждали, как обеспечить безопасность сервера Microsoft Exchange Server 2003, и какие моменты следует рассматривать при разработке полноценной политики информационной безопасности для пользователей электронной почты. В данной лекции мы сконцентрируемся на вопросах безопасности сообщений электронной почты. Exchange Server 2003 тесно интегрирован с Microsoft Windows Server 2003, и в материале этой лекции будет рассказываться о том, каким образом Windows Server 2003 поддерживает полнофункциональную инфраструктуру открытого ключа Public Key Infrastructure (PKI) для обеспечения безопасности компонента обмена сообщениями Exchange Server 2003. Microsoft Certificate Services и PKI - это две программных структуры, при помощи которых вы будете разрабатывать, реализовывать и осуществлять поддержку функций безопасности на основе открытых ключей.
Ключевые слова: Windows Server, безопасность, цифровой сертификат, PKI, exchange server, инфраструктуры открытых ключей, управление сертификатами, CryptoAPI, CSP, хранилище сертификатов, certificate, надежность шифра, casting, блочный шифр, data encryption standard, NIST, 3DES, тройной DES, симметричный ключ, MD2, message digest, дайджест сообщения, MD4, MD5, RC2, ciphering, RC4, поточный шифр, личный ключ, SHA-1, hashing algorithm, Certification Authority, центр сертификации, алгоритм цифровой подписи, TLS, аутентификационные данные, сертификаты пользователей, выпуск сертификатов, CRL, внешняя база данных, EFS, code signing, Offline, smart card, logon, subordinate, веб-форма, audit trail, cryptographic, системная служба, генерация ключей, процесс пользователя, issue, хеш-функция, CMC, PKCS, renew, base64, end-station, issuer, путь сертификации, модель доверия, доверительные отношения, Outlook, Internet, пункт, меню, tools, content, список, root, remove, multipurpose, internet mail, тело сообщения, integrity checking, mic, шифрование открытым ключом, список доверия, сеть доверия, exchange, server, agent, computer, USER, signature, management, ПО, конфигурация, шаблон, указатель, new, диалоговое окно, консоль, MMC, account, запись, поле, компьютер, пользователь, Intermediate, third-party, папка, personal, функция, find, general, handling, поддержка, subject, input, объект, domain, security, регистрация, опция, Active, directory, групповая политика, ip security, accounting management, ticket, распространение ключей, KDC, distributed system, функция контроля, tunneling, L2TP, authentication, место, электронная почта, Лес, мониторинг

Протоколы защиты Windows Server 2003

В Windows Server 2003 безопасность обеспечивается посредством использования следующих протоколов защиты.

  • Kerberos версия 5.Протокол по умолчанию для аутентификации и входа в систему.
  • NTLM (Windows Challenge/Response).Поддерживается для обеспечения совместимости с предыдущими версиями операционных систем - от Microsoft Windows NT и ранее, включая Windows 3.11.
  • Digital Certificates (Цифровые сертификаты). Используются при реализации PKI; в особенности полезны для аутентификации сторон, находящихся вне организации. Использование цифровых сертификатов становится все более распространенным, так как организации стремятся к обеспечению максимального уровня защиты соединений.
  • SSL/TLS (Secure Sockets Layer/Transport Layer Security) (Протокол защищенных сокетов/Безопасность транспортного уровня). Предназначен для обеспечения безопасности соединений, например при доступе к веб-ресурсам в интернете.

В данной лекции будет рассматриваться использование цифровых сертификатов, а также открытых и секретных ключей для защиты сообщений в Exchange Server 2003. Давайте начнем с обсуждения инфраструктуры открытого ключа в Windows Server 2003.

Инфраструктура открытого ключа в Windows Server 2003

Реализация PKI состоит из нескольких компонентов. Необходимо хорошо разбираться в том, каким образом работают эти компоненты, чтобы реализовать надежную и эффективную сетевую защиту. PKI можно рассматривать как набор ресурсов, работающих совместно и обеспечивающих безопасную систему аутентификации сообщений. Главными компонентами Windows Server 2003 PKI являются:

  • службы сертификатов;
  • цифровые сертификаты;
  • политики для управления сертификатами;
  • Microsoft CryptoAPI и поставщики криптографических услуг (CSP);
  • хранилища сертификатов для хранения сертификатов.

Шифрование и ключи

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

Симметричные ключи,также называемые общими ключами, идентичны друг другу: отправитель и получатель данных используют один и тот же ключ для шифрования и расшифровки информации. Асимметричные ключи не одинаковы: один ключ используется для шифрования данных, а другой, отличный от первого, используется при расшифровке. В случае с асимметричными ключами один из ключей называется открытым,а второй - секретным.В Exchange Server 2003 используется именно эта технология шифрования.

Открытый ключ, как правило, становится общеизвестным посредством публикации в некотором общедоступном месте, например в общей папке или службе каталогов Active Directory. Секретный ключ необходимо защищать, чтобы никто, кроме его владельца, не имел к нему доступа. Пара открытого и секретного асимметричных ключей в криптографии называется ключевой парой.

При использовании ключевых пар данные могут быть зашифрованы или расшифрованы с помощью первого или второго ключа, однако для выполнения обратного действия нужен соответствующий парный ключ, независимо от того, чем является обратная операция - шифрованием или расшифровкой. Если ключ, расшифровывающий данные, недоступен, зашифрованные данные остаются зашифрованными и, по сути, бесполезными, если ключ нельзя найти и применить. Несмотря на то что теоретически любой из ключей может использоваться для выполнения любой из функций (например, секретный ключ может использоваться для шифрования, а открытый - для расшифровки данных), в Windows Server 2003 и Exchange Server 2003 эта технология применена посредством использования открытого ключа для выполнения шифрования, а для расшифровки используется секретный ключ.

В Exchange Server 2003, если у кого-то есть общий ключ, то это не представляет какой-либо проблемы, так как рассматриваемое лицо с помощью этого ключа сможет только зашифровать данные. А вот секретный ключ необходимо защищать и держать в тайне, так как с его помощью осуществляется расшифровка данных. Наилучший способ содержать секретный ключ в тайне - никогда не передавать его через носитель или канал связи, который может прослушиваться потенциальным хакером, с намерением использовать его для несанкционированной расшифровки информации.

Использование одного ключа для шифрования (открытый ключ) и другого для расшифровки (секретный ключ) лежит в основе служб сертификатов (Certificate Services). В табл. 5.1 приведены типы ключей, а также обстоятельства, при которых они используются.

Таблица 5.1. Использование секретных и открытых ключей
Действие Шифрование/Расшифровка Электронные подписи
Отправка сообщения Открытый ключ получателя используется для шифрования содержимого сообщения Секретный ключ подписи отправителя используется для применения электронной подписи.
Чтение сообщения Секретный ключ получателя используется для расшифровки содержимого сообщения Открытый ключ подписи отправителя используется для считывания примененной к сообщению электронной подписи.

Схемы шифрования

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

8-битный ключ = 28 ключей = 256 ключей
56-битный ключ = 2х ключей = 12 051 594 031 921 936 ключей
128-битный ключ = 212S ключей = 3,4 1038 ключей

Для того чтобы взломать шифр с длиной ключа 128 бит с производительностью попыток угадывания 1 триллион ключей в секунду, потребуется 10 819 926 705 615 920 821 год. Нужно ли говорить, что 128-битное шифрование очень надежно. В табл. 5.2 приведены некоторые распространенные алгоритмы шифрования.

Таблица 5.2. Распространенные алгоритмы шифрования
Тип шифрования Описание
CAST 64-битный симметричный блочный шифр (кодирование происходит по блокам фиксированной длины, а не по байтам), который разработали Карлисл Адаме (Carlisle Adams) и Стэфорд Таварес (Stafford Tavares). Действует аналогично DES и поддерживает ключи от 40 до 128 бит.
DES Data Encryption Standard (Стандарт шифрования данных). Разработан фирмой IBM по заказу правительства США с целью использования Национальным институтом стандартов и технологий (National Institute of Standards and Technology, NIST). В этом стандарте используются 56-битные ключи с 64-битным симметричным блочным шифром. Является наиболее распространенным алгоритмом шифрования.
3DES Тройной DES; последовательно шифрует структуру данных трижды.
DH Метод Диффи-Хелмана (Diffie-Hellman) для передачи симметричных ключей.
КЕА Алгоритм обмена ключами (Key Exchange Algorithm), улучшенная версия алгоритма Диффи-Хелмана.
MD2 Message Digest (Дайджест сообщений) - алгоритм, который создает 128-битный хеш-код. Разработан Роном Райвестом из фирмы RSA (Rivest, Shamir и Adleman).
MD4 Еще один алгоритм типа RSA, в котором создается 128-битный хеш-код.
MD5 Улучшенная версия MD4.
RC2 Шифр Райвеста (Rivest's Cipher) - 64-битный симметричный блочный шифр.
RC4 Поточный шифр RSA (шифрование по одному байту или биту), в котором используются ключи переменной длины. В реализации Microsoft для RC4 используется 40-битный или 128-битный ключ.
RSA Широко распространенная схема шифрования с открытым/личным ключами, разработанная в фирме RSA.
SHA Алгоритм Secure Hash Algorithm, разработанный в NIST. Он создает 160-битный хеш-код и аналогичен MD5, но более надежен и поэтому работает медленнее.

Служба сертификатов в Windows Server 2003

Открытые и секретные ключи недостаточны для защиты важных данных. Предположим, если кто-то получил ваш секретный ключ (по определению он доступен каждому), то он может имитировать роль сервера, которому вы передаете сообщения. Это легко выполнимо, если имитатор -человек, работающий в вашей организации. В этом сценарии вы будете считать, что выполняете обмен информацией с Server 1, а на самом деле это будет кто-то другой. Служба сертификатов (Certificate Services) разработана для защиты от этого типа атаки.

Сертификаты Windows Server 2003 являются ядром инфраструктуры открытых/секретных ключей Windows Server 2003. Вы можете установить службу сертификатов (Certificate Services) Windows Server 2003 для создания центра сертификации (ЦС) (certificate authority, CA), который выдает цифровые сертификаты и управляет ими. Служба каталога Active Directory поддерживает информацию, которая необходима ЦС, такую как имена пользовательских учетных записей, составы групп и шаблоны сертификатов, а также информацию о каждом ЦС, установленном в данном домене. Active Directory поддерживает отображение сертификатов в пользовательские учетные записи для аутентификации клиентов управления доступом к ресурсам сети.

Цифровые сертификаты и стандарт Х.509

Цифровые сертификаты используются для проверки подлинности пользователя. Они выдаются центром сертификации, описание которого приводится ниже в разделе "Центр сертификации". Мы можем доверять цифровому сертификату, если доверяем источнику сертификата, то есть центру сертификации. Кроме того, выдавая сертификат, ЦС по умолчанию создает пару "открытый ключ/секретный ключ", которая является основой безопасности в любом цифровом сертификате.

Цифровые сертификаты обычно соответствуют стандарту Х.509, то есть отвечают критериям этого стандарта для электронных сертификатов, описанных в стандарте Х.509. Сертификат Х.509 содержит следующие поля:

  • номер версии;
  • регистрационный номер сертификата;
  • идентификатор алгоритма цифровой подписи;
  • имя лица, которому выдан сертификат;
  • срок действия сертификата;
  • пользовательское имя субъекта;
  • информация открытого ключа субъекта;
  • уникальный идентификатор центра сертификации;
  • уникальный идентификатор субъекта;
  • расширения;
  • цифровая подпись центра, который выдал сертификат.

SSL/TLS также согласуется со стандартом Х.509. В Windows Server 2003 цифровые сертификаты внешних пользователей можно отображать в одной или нескольких пользовательских учетных записях Windows Server 2003 для получения полномочий доступа к сетевым ресурсам. Windows Server 2003 использует поле Subject (пользовательское имя субъекта в приведенном списке полей), чтобы идентифицировать пользователя, связанного с этим сертификатом. Это позволяет системе Windows Server 2003 и службе сертификатов связать внешнего пользователя с пользовательской учетной записью, которая хранится в Active Directory.

Стандарт X. 509

Стандарт Х.509 описывает два уровня аутентификации: простая аутентификация,использующая пароль как единственное средство верификации объявленных идентификационных данных, и строгая аутентификация,когда используются аутентификационные данные, генерируемые с помощью криптографических методов. В стандарте рекомендуется использовать только строгую аутентификацию как основу обеспечения работы функций безопасности.

Метод строгой аутентификации, описанный в стандарте Х.509, основывается на методах с открытым ключом. Огромное преимущество этого

стандарта (что является причиной его большой популярности в настоящее время) состоит в том, что сертификаты пользователей могут храниться в Active Directory как атрибуты и передаваться внутри систем каталогов подобно любому другому атрибуту пользовательской учетной записи.

Хотя в стандарте Х.509 не требуется применение какого-либо определенного алгоритма для создания сертификатов, в нем отмечается, что два пользователя должны использовать для обмена данными во время аутентификации одинаковые алгоритмы.

Центр сертификации

Центр сертификации (ЦС) выпускает сертификаты, что позволяет взаимодействующим сторонам доверять друг другу. Сертификат подписывается секретным ключом ЦС, а сам сертификат используется для верификации подписей. Поскольку сертификаты выпускаются проверенным источником, то сторона, принимающая сообщения, может явно доверять им. Например, клиентское приложение может импортировать сертификат, которому доверяет пользователь, читающий данные из этого приложения.

Клиенты и центры сертификации поддерживают список сертификатов, которым они явно доверяют. Сертификаты можно помещать в список отозванных сертификатов (certificate revocation list, CRL), где перечислены сертификаты, для которых явно указано недоверие. Кроме того, в сертификатах указывается, что они перестают действовать после заранее определенного промежутка времени.

Архитектура службы сертификатов в Windows Server 2003

На рис. 5.1 показаны компоненты службы сертификатов Windows Server 2003. Эти компоненты работают совместно с Microsoft CryptoAPI и поставщиками криптографических услуг (CSP) для выполнения задач, необходимых для генерации, хранения и применения сертификатов в рамках предприятия. Вы можете работать с этими объектами и модулями в оснастке Certification Authority (Центр сертификации). (Информация по установке этой оснастки приведена в разделе "Инсталляция и конфигурирование службы сертификатов" далее в лекции.)

Модуль Entry (Вход)

Запросы сертификатов (аналогичны запросам, которые подает пользователь через страницу поддержки регистрации в веб) поступают в модуль Entry службы сертификатов либо посредством удаленного вызова процедур (RPC), либо через протокол HTTP. Запросы помещаются в очередь для рассмотрения, пока не будут одобрены или отклонены модулем Policy (Политика).

Компоненты Certificate Services Модуль Policy (Политика)

Рис. 5.1. Компоненты Certificate Services Модуль Policy (Политика)

Модуль Policy определяет, что нужно сделать с запросом сертификата: одобрить, отклонить или оставить на рассмотрение администратора. После того как сертификат одобрен, модуль Policy сверяет информацию, указанную в запросе, с различными источниками, такими как Active Directory или внешняя база данных. В модуль Policy можно поместить дополнительные атрибуты или расширения, если они требуются для специализированного клиентского приложения. Например, включить в сертификаты ограничение на подписываемую сумму и использовать его в форме для онлайновых покупок, чтобы определить, может ли данный пользователь ставить свою подпись под запрошенной суммой.

Сергей Мясников
Сергей Мясников
Россия
Виктор Шахов
Виктор Шахов
Россия, Москва