Добро пожаловать в статью 28 моей
серии. Эта статья посвящена Службам
сертификации в Widows
2000. Мы рассмотрим, зачем применяются
сертификаты, различные варианты
настройки Службы сертификации,
установку Служб сертификации, а
также их интеграцию с Групповыми
политиками. Это последняя статья
моей серии и она содержит материалы,
относящиеся к экзамену 70-216.
В статью включены следующие темы:
- Обзор
Сертификатов и PKI
(Инфраструктуры открытого ключа).
- Типы Центров Сертификации
(Certificate Authorities).
- Установка
Служб сертификации.
- Интеграция
с Групповыми политиками.
Обзор Сертификатов и PKI (Инфраструктуры открытого
ключа)
Среди множества служб, которые
предоставляет Windows 2000, одними из
наименее понятных являются Службы
сертификации. И хотя это выглядит
как нечто, что работает при помощи
криптографии и слишком сложно для
понимания, тем не менее, разобраться
в работе основных элементов данных
служб не является такой трудной
задачей. Службы сертификации
служат для одной главной цели –
помочь в создании того, что принято
называть Инфраструктурой
открытого ключа (PKI). Цель PKI
проста – делать возможным
шифрование данных, осуществлять
проверку подлинности и контроль
пользователей (или компьютеров или
служб) и иметь некоторую систему
доверительных отношений, которая
позволила бы всему этому работать
эффективно.
Кроме того, вы должны быть хорошо
осведомлены, какие виды
сертификатов применяются в Windows
2000. Примерами использования
сертификатов может служить
использование смарт-карт для
аутентификации, шифрование файлов и
сообщений электронной почты,
аутентификация Web-сайтов,
аутентификация компьютеров для
соединений L2TP и так далее – каждый из этих
случаев некоторым образом
относится или зависит от PKI.
Ключом к пониманию того, как
работает PKI,
служит понимание работы двух его
главных элементов – Сертификатов
и Центров сертификации (Certificate
Authorities).
Для наглядности, давайте будем
думать о сертификате, как о
водительском удостоверении. Будем
считать, что сертификат – это некий
предмет для установления личности,
который говорит кому-либо о вас и
может быть использован для
подтверждения вашей подлинности.
Одной из наиболее значимых деталей
вашего водительского удостоверения
является то, что оно выдано
организацией, которой все доверяют (доверенной
организацией), такой, например, как
МВД. Удостоверение имеют печать и
роспись выдавшей их организации и,
таким образом, удостоверяют вашу
подлинность. Водительское
удостоверение работают как
удостоверение личности только по
одной причине – потому что
установлены отношения доверия в
данной системе. Я верю, что ваше
водительское подлинно, потому что
оно выдано МВД и потому что я ношу
точно такое же водительское
удостоверение, которое
подтверждает мою подлинность. Я
доверяю МВД и то же делаете вы,
поэтому система работает (надо ли на
самом деле доверять МВД – это
другая история). В нашем случае МВД
действует как доверенная (которой
доверяют) третья сторона – как Центр
сертификации (Certificate Authority
– CA). Поэтому впредь давайте
думать о сертификатах, как о том, что
удостоверяет вашу подлинность, а о
Центре сертификации (ЦС), как о том,
что может подтвердить, что вы
действительно являетесь тем, за
кого себя выдаете.
Способы, которым сертификаты
выпускаются и используются,
являются более сложными. Прежде чем
получить сертификат, пользователь
сначала должен сгенерировать пару
ключей – их обычно называют закрытым
и открытым ключами. Обычно
многие путаются в том, как
используются ключи, поэтому давайте
уделим этому вопросу некоторое
внимание.
Если вы хотите принимать участие
в PKI, вы должны иметь пару из
закрытого и открытого ключа, а также
действующий сертификат. Путь, по
которому вы приобретаете все это,
различается в зависимости от
операционной системы машины, на
которой это происходит, но суть
вещей одинакова – поэтому я
рассмотрю, как это происходит на
системах с Windows
2000. Первым шагом является создание
пары ключей, что выполняется при
помощи программы Cryptographic
Service
Provided
(CSP), запущенной на системе,
доступ к которой достигается при
помощи программного интерфейса,
называемого CryptoAPI. В результате
работы этой программы создается
пара ключей – закрытый и открытый.
Закрытый ключ не является
общедоступным и хранится
операционной системой. Открытый
ключ является доступным для всех и
необходим для тех, кто собирается
установить безопасное соединение с
вашей системой. После того, как пара
ключей будет сгенерирована,
следующим шагом является запрос
сертификата от некоторого
определенного Центра сертификации (ЦС).
Это может быть сервер внутри вашей
организации, а может быть внешний ЦС,
такой как Verisign.
В любом случае, вы должны послать
запрос, в котором будет содержаться
такая информация, как ваше имя,
адрес электронной почты, контактная
информация и т.д. (требуемая
информация зависит от ЦС и типа
сертификата). В запрос также
включается копия вашего открытого
ключа. Исходя из правил, которые
установлены для ЦС, вам будет (или не
будет) выдан сертификат. Если будет
выдан, то созданный файл будет
содержать информацию, которую вы
предоставили, а также цифровую
подпись ЦС – подтверждающую, что он
удостоверяет вашу подлинность.
Конечно, это подтверждение имеет
значение для вас (а также других
людей) только в том случае, если вы
доверяете данному ЦС.
Способ, по которому эти ключи и
сертификат используются, зависит от
службы, для которой вы их применяете.
Наиболее простым примером является
электронная почта. Представьте себе,
что два пользователя – Салли и Боб,
хотят обменяться сообщениями
электронной почты. Стандартное
сообщение электронной почты не
является зашифрованным и может быть
прочитано злоумышленником, в
процессе передачи его по сети и
через Интернет. Кроме того, другой
пользователь (тот же злоумышленник),
может послать письмо Салли,
прикинувшись Бобом и тогда события
приобретут еще большую
запутанность. Сертификаты помогут
нам разрешить эту проблему, но нам
придется больше углубиться в
понимание значения закрытого и
открытого ключа.
Давайте рассмотрим, как
посылается зашифрованное сообщение.
Представьте, что Боб хочет послать
шифрованное письмо Салли. Для того
чтобы сделать это, Бобу необходима
копия открытого ключа Салли. Он
может получить его по электронной
почте от Салли, скачать из службы
каталога или web-сайта и т.д. Доступность
этого ключа не угрожает
безопасности, потому что открытый
ключ Салли имеет достаточно
ограниченное применение –
сообщения, которые будут
зашифрованы при помощи него, могут
быть расшифрованы только при помощи
закрытого ключа Салли. Другими
словами, открытый ключ Салли может
быть использован другими только для
посылки шифрованных сообщений для
Салли и только. До тех пор, пока
закрытый ключ Салли не будет
похищен злоумышленником, никто не
сможет прочитать зашифрованные
письма, предназначенные Салли.
Давайте вернемся к нашему
примеру. Пусть Салли послала Бобу ее
открытый ключ. Следующий вопрос –
как сможет Боб удостовериться, что
это сообщение пришло действительно
от Салли, а не от кого-либо, кто
притворился ею? Это тоже может быть
достигнуто при помощи сертификатов
пользователей. Когда Боб получит
сообщение, подписанное цифровой
подписью Салли, он может проверить
ее подлинность на основании подписи
ЦС на ее сертификате. Боб может
прочитать эту подпись ЦС только в
том случае, если у него есть копия
открытого ключа ЦС. Между прочим,
ваш web-броузер
и электронная почта по умолчанию
содержит открытые ключи многих
центров сертификации. Если подпись
ЦС подтверждается и в сертификате
содержится вся информация о Салли,
тогда вы с достаточной степенью
достоверности можете считать, что
запрос пришел от Салли.
Так как у Боба теперь есть копия
открытого ключа Салли, он может
послать ей зашифрованное сообщение,
но обратное утверждение будет
неверным. До тех пор, пока у Салли не
будет открытого ключа Боба, она не
сможет послать зашифрованное
сообщение ему. Для того чтобы
система заработал полностью,
необходимо, чтобы Боб и Салли оба
доверили ЦС подтверждение
собственной подлинности.
Важным замечанием при
рассмотрении криптографии
открытого ключа является то
обстоятельство, что высокая степень
шифрования приводит к большим
накладным расходам (вычислительным),
связанным с ней. По этой причине,
криптография открытого ключа часто
используется не для шифрования
всего объема данных, а только для
шифрования того, что принято
называть session
key (ключом сеанса). В
приложениях, не связанных с
электронной почтой (таких, например,
как посещение защищенного web-сайта), вместо шифрования
всех данных, пересылаемых туда и
обратно, при помощи открытого и
закрытого ключа, клиент создает
специальный ключ сеанса, который
используется для шифрования всех
данных как клиентом, так и сервером.
Этот ключ сеанса пересылается от
клиента к серверу при помощи
обычного шифрования открытым
ключом, после чего все данные
шифруются уже этим ключом сеанса –
это и более быстро и эффективно, чем
шифровать все данные при помощи
соответствующего открытого ключа.
После того, как сеанс завершен, ключ
сеанса уничтожается и новый будет
создан только тогда, когда начнется
новый сеанс.
Теперь, когда мы рассмотрели, как
ключи работают, важно запомнить, что
действие сертификатов ограниченно.
Когда они создаются ЦС, они также
получают дату истечения их действия,
точно также как и водительское
удостоверение. Когда удостоверение
заканчивает свое действие, оно
может продолжать оставаться в вашем
кармане, но оно уже не имеет
законной силы. Так же происходит и с
сертификатом и, кроме того, ЦС может
также отозвать выданный им
сертификат. Отозванные сертификаты
публикуются в специальном списке,
который называется Certificate
Revocation
List
(CRL – список отозванных
сертификатов), этот список доступен
для клиентских систем, которые
хотят проверить его. Причины для
отзыва сертификата может послужить
раскрытие (утрата) связанного с ним
закрытого ключа, неправильное
применение и т.д. Условия, при
которых отзывается сертификат,
определяются ЦС.
Типы серверов сертификации
Перед рассмотрением процесса
установки Служб сертификации в Windows 2000, важно понимать
разницу между различными типами
Центров сертификации, которые могут
существовать в сети. Root
(корневой) ЦС является стартовым звеном в
структуре ЦС, в то время как subordinate (подчиненный) ЦС
является «нижестоящим» сервером,
над которым располагается один или
несколько уровней ЦС (до тех пор,
пока не будет достигнут Корневой ЦС).
Windows 2000 поддерживает 4 тира ЦС,
описанные ниже.
Корневой ЦС предприятия –
используется в корпоративных
средах для выпуска сертификатов для
пользователей и компьютеров. Для
Корневого ЦС предприятия требуется
наличие Active Directory,
настроенная корректно служба DNS,
а также права Администратора
предприятия у пользователя, который
будет настраивать сервер. В среде Active
Directory
Корневой ЦС предприятия
автоматически регистрируется в Active Directory
и тем самым приобретает «доверие»
компьютеров домена. В больших сетях
Инфраструктуры открытого ключа
Корневой ЦС предприятия обычно
используется для выпуска
сертификатов только для
подчиненных ЦС предприятия, которые
в свою очередь выпускают
сертификаты для пользователей и
компьютеров.
Подчиненный ЦС предприятия – это сервер
сертификатов, который
располагается в иерархии под
корневым ЦС предприятия. Часто
подчиненный ЦС используется для
специфической цели – для выдачи
сертификатов или пользователям, или
компьютерам, или некоторой части
организации. Подчиненный ЦС требует
всех тех же служб и привилегий как
корневой ЦС и не может быть создан
до тех пор, пока не создан корневой
ЦС предприятия. Заметьте, что хотя
корневым ЦС организации может быть
любой внутренний сервер
сертификации Windows 2000, это также может
быть внешний ЦС, такой как Verisign.
Фактически, если вы хотите, чтобы
окружающий мир доверял подлинности
ваших сертификатов, вам просто
необходимо будет использовать
Внешний Корневой ЦС, такой как Verisign.
В противном случае, внешним
пользователям потребуется копия
сертификата вашего Корневого ЦС,
которой у них, скорее всего, нет.
Изолированный корневой ЦС – в средах, в
которых не используется Active
Directory,
задачу выдачи сертификатов решает
Изолированный корневой ЦС. Эти
сервера требуют для их настройки
только административных привилегий
на данном сервере. Если Active Directory не установлена в вашей сети, то
это единственный вид корневого ЦС,
который может быть установлен.
Изолированный подчиненный ЦС
– так же как и подчиненный ЦС
предприятия, этот сервер может быть
использован для выдачи
сертификатов некоторым
подразделениям, или пользователям,
или компьютерам, но они не требуют
существования Active
Directory.
Однако для них требуется наличие в
сети корневого ЦС, который, опять же,
может быть как внутренним, так и
внешним.
Важным моментом при выборе типа
ЦС, является характер вашей сети и
то, для каких целей вы собираетесь
использовать сертификаты. Если это
сугубо внутреннее использование,
тогда ваш выбор будет строиться
исходя из характеристик вашей сети (например,
если в сети установлена AD, тогда вы можете
использовать как Изолированные, так
и ЦС предприятия). Если же вы будете
использовать сертификаты для
обеспечения безопасности открытого
web-сайта,
тогда должен обязательно
привлекаться внешний ЦС, либо для
предоставления сертификата самому
сайту, либо через создание
структуры доверия. Например, если вы
получаете доступ к безопасному web-сайту
и щелкаете мышкой на значок lock
в нижнем левом углу вашего броузера,
вы сможете увидеть путь
сертификации для данного сайта, как
показано ниже:
Установка Служб
сертификации
Установка Служб сертификации в Windows 2000 достаточно проста, хотя в ходе
ее необходимо не ошибиться при
вводе многочисленных данных, исходя
их вашей конкретной ситуации. Для
того чтобы наглядно
проиллюстрировать этот процесс, я,
вместе с вами, настрою Изолированный
корневой ЦС (этот выбор я сделал
потому, что сейчас мой компьютер не
является членом какого-либо домена).
Не будучи установленными по
умолчанию, Службы сертификации
устанавливаются при помощи
программы Add/Remove Programs из Control Panel, на вкладке Windows
Components,
как показано ниже:
Заметьте, что если вы попытаетесь
установить Службы сертификации, вам
будет предложено диалоговое окно,
показанное ниже. Из него следует,
что в последствии вы не сможете
переименовать систему, примкнуть
или удалить ее из домена до тех пор,
пока не будут удалены Службы
сертификации.
После того, как вы нажмете на кнопку “Next”, вам будет предложено
выбрать, какой тип ЦС вы хотите
создать. Заметьте, что на моей
системе доступна только одна опция
– Изолированный ЦС, так как она не
является членом домена Active Directory.
Заметьте, что окошко для выбора Advanced options
на рисунке, расположенном выше,
позволяет вам выбрать
дополнительные криптографические
опции для процесса генерации ключей.
Я бы предложил вам использовать
настройки по умолчанию, если только
у вас нет точного представления о
том, какой выбор вам требуется.
После нажатия
кнопки Next, вам будет предложено окно
идентификации, куда вы должны
внести соответствующую информацию.
Заметьте, что хотя не все поля
являются обязательными, желательно
заполнить их полностью.
Последнее окно
данного процесса спрашивает, куда
вы собираетесь поместить данные
конфигурации и журнала, как
показано ниже:
После того, как
Службы сертификации установлены,
сервер готов принимать запросы на
выдачу сертификатов от клиентов.
Для Изолированного ЦС эти запросы
должны быть сделаны через web-броузер, по адресу URL http://computername/certsrv. Соответствующий мастер проведет вас
через процесс осуществления
запроса шаг за шагом.
Процесс запроса
сертификата также включает в себя
предоставление информации о
пользователе, об использовании
сертификата и т.д. В примере,
приведенном на рисунке,
расположенном ниже, я запрашивал
сертификат для безопасной
электронной почты:
После того, как запрос завершен,
пользователь получает следующее
сообщение (см. ниже). Заметьте, что
пользователь не получает
сертификат, пока он не утвержден
Администратором.
Процесс подтверждения для запрошенного
сертификата достаточно прост.
Используя инструмент Certificate Authority
в Administrative Tools,
откройте опцию Pending
Requests
и выберите Issue
(выпустить) или Deny
(отвергнуть) запрос, как показано
ниже.
Заметьте, что после завершения этого
процесса, пользователь может снова
подключиться к web-сайту
Служб сертификации, загрузить и
установить свой новый сертификат.
Только что выпущенный сертификат
может быть найден в папке Issued Certificates окна, расположенного выше, а
также, здесь же, может быть и отозван.
В среде с Active
Directory пользователи
также могут запрашивать
сертификаты при помощи специальной
оснастки Certificates или могут быть
настроены для автоматической
регистрации (как пользователи, так и
компьютеры) через Групповые
политики. В больших средах, где
используются ЦС предприятия, это
зачастую является наилучшим
выбором.
Интеграция с Групповыми
политиками
Ясно, что настройка
инфраструктуры открытого ключа,
включает в себя большой объем
работы. Я не могу рассказать в
данной статье обо всех деталях
управления PKI,
для этого пришлось бы написать
специальную книгу. Однако для
экзаменов вам вовсе не нужно быть
экспертом по криптографии, поэтому
я изложу только основы данной темы (для
более глубокого и детального обзора
я посоветовал бы вам прочесть
документ http://www.microsoft.com/windows2000/docs/PKI.doc).
Одним из главных преимуществ
настройки Служб сертификации в
качестве ЦС предприятия
является то, что в данном случае они
могут не только интегрироваться с Active
Directory,
но также получают возможность
управлять большим количеством
черновой работы через настройки
Групповых политик, например,
автоматически обрабатывать запросы
на сертификаты (этот процесс также
известен как авто-регистрация).
Групповые политики Windows
2000 могут выполнять следующие задачи:
- Позволяют
клиентским компьютерам домена
автоматически запрашивать и
устанавливать сертификаты
компьютера. Этот сертификат
идентифицирует компьютер и может
быть использован для целей IPSec
шифрования/аутентификации и
также рекомендуется для
основанных на L2TP соединений VPN (так как оба –
пользователь и компьютер должны
быть идентифицированы для
данного вида соединений). Эта опция устанавливается в узле Computer Configuration/Windows
Settings/Security Settings/Public Key Policies/Automatic
Certificate Request Settings в Групповой политике. Любая система, к
которой будет применяться данная
политика, будет автоматически
запрашивать, загружать и
устанавливать данный сертификат.
- Создают
и распределяют список доверия
сертификатов. Это позволяет
снабдить клиентские компьютеры
списком доверенных Корневых ЦС и
связанной с ними иерархией ЦС. Это опция устанавливается
в папке Computer Configuration/Windows
Setting/Security Setting/Public Key Policies/Enterprise Trust
в оснастке Групповая политика. Реальная
настройка осуществляется при
помощи специального мастера Certificate
Trust
List
wizard.
- Устанавливают
доверительные отношения с
другими внешними корневыми
центрами, например, такими,
которые не являются частью вашей
организации. Это может быть
использовано для осуществления
безопасных партнерских отношений
между организациями.
Соответствующие настройки выполняются в папке Computer
Configuration/Windows Setting/Security Setting/Public Key
Policies/Trusted Root Certification Authorities
в оснастке Групповая политика.
- Добавлять
Агентов восстановления для
использования Encrypted
File
System (EFS). И хотя учетная
запись администратора является
агентом восстановления по
умолчанию, могут быть добавлены и
другие в папке Computer Configuration/Windows
Setting/Security
Setting/Public
Key
Policies/Encrypted
Data
Recovery
Agents.
Итак, леди и джентльмены, мы,
наконец, достигли конца нашей
довольно долгой дороги. Все что
теперь нам осталось – это пойти и
сдать экзамены. Поздравляю всех тех,
кто уже связался со мной и рассказал
об успешной их сдаче. И еще раз
спасибо всем тем, кто поддерживал
мою работу, присылая свои
комментарии и вопросы.
Успехов в вашей дальнейшей учебе,
Дэн
Вернуться
к списку статей
|