Рекомендации по проектированию PKI с помощью служб сертификатов Active Directory

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

На высоком уровне вы должны:

  • Запланируйте инфраструктуру открытого ключа (PKI), подходящую для вашей организации.
  • Установите и настройте аппаратный модуль безопасности (HSM) в соответствии с инструкциями поставщика HSM, если вы планируете использовать его.
  • Создайте соответствующий CAPolicy.infпараметр, если вы хотите изменить параметры установки по умолчанию.
  • Выбор параметров шифрования
  • Определение имени ЦС
  • Определение срока действия
  • Выбор базы данных ЦС
  • Параметры точки распространения списка отзыва сертификатов и доступа к данным центра

Планирование PKI

Чтобы убедиться, что ваша организация может воспользоваться всеми преимуществами установки служб сертификатов Active Directory (AD CS), необходимо спланировать развертывание PKI соответствующим образом. Перед установкой любого ЦС необходимо определить количество необходимых ЦС и в какой конфигурации. Например, вам нужен корпоративный корневой ЦС или автономный корневой ЦС? Как будут обрабатываться запросы на утверждение сертификатов? Как управлять отзывом сертификатов? Создание соответствующего PKI-дизайна может занять много времени, но важно для успеха PKI.

Используйте HSM

HSM — это выделенное аппаратное устройство, управляемое отдельно от операционной системы. Эти модули предоставляют безопасное аппаратное хранилище ключей ЦС, а также выделенный криптографический процессор для ускорения операций подписывания и шифрования. Операционная система использует HSM через интерфейсы CryptoAPI, а HSM функционирует как устройство поставщика криптографических услуг (CSP).

HSM обычно являются адаптерами PCI, но они также доступны как сетевые устройства, последовательные устройства и USB-устройства. Если организация планирует реализовать два или более ЦС, можно установить единый сетевой модуль HSM и поделиться им между несколькими ЦС.

Чтобы настроить ЦС с помощью HSM, необходимо установить и настроить HSM перед настройкой всех ЦС с ключами, которые должны храниться на HSM.

Рассмотрите файл CAPolicy.inf

Файл CAPolicy.inf не требуется для установки AD CS, но его можно использовать для настройки параметров ЦС. Файл CAPolicy.inf содержит различные параметры, используемые при установке ЦС или при продлении сертификата ЦС. Файл CAPolicy.inf должен быть создан и сохранен в %systemroot% каталоге (обычно C:\Windows) для его использования.

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

[Version]
Signature= "$Windows NT$"
[Certsrv_Server]
RenewalKeyLength=4096
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=20
LoadDefaultTemplates=0

Выбор параметров шифрования

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

Криптографические провайдеры услуг (CSP) представляют собой программные и аппаратные компоненты в операционных системах Windows, которые предоставляют универсальные криптографические функции. CsPs можно записать для предоставления различных алгоритмов шифрования и подписи.

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

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

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

Поставщик шифрования Длина ключа Хэш-алгоритм
Поставщик шифрования Microsoft base Cryptographic версии 1.0 - 512
- 1024
- 2048
- 4096
- SHA1
- MD2
— MD4
- MD5
Поставщик шифрования Microsoft Base DSS - 512
- 1024
SHA1
Поставщик шифрования смарт-карт Microsoft Base - 1024
- 2048
- 4096
- SHA1
- MD2
— MD4
- MD5
Расширенный поставщик шифрования Майкрософт версии 1.0 - 512
- 1024
- 2048
- 4096
- SHA1
- MD2
— MD4
- MD5
Поставщик шифрования Microsoft Strong - 512
- 1024
- 2048
- 4096
- SHA1
- MD2
— MD4
- MD5
Поставщик хранилища ключей программного обеспечения RSA#Microsoft - 512
- 1024
- 2048
- 4096
- SHA1
- SHA256
— SHA384
- SHA512
- MD2
— MD4
- MD5
Поставщик хранилища ключей программного обеспечения DSA#Microsoft - 512
- 1024
- 2048
SHA1
Поставщик хранилища ключей программного обеспечения Microsoft#ECDSA_P256 256 - SHA1
- SHA256
— SHA384
- SHA512
Поставщик хранилища ключей программного обеспечения Microsoft ECDSA_P384 384 - SHA1
- SHA256
— SHA384
- SHA512
поставщик хранилища ключей программного обеспечения ECDSA_P521#Microsoft 521 - SHA1
- SHA256
— SHA384
- SHA512
Поставщик хранилища ключей смарт-карты RSA#Microsoft - 1024
- 2048
- 4096
- SHA1
- SHA256
— SHA384
- SHA512
- MD2
— MD4
- MD5
ECDSA_P256#Поставщик хранилища ключей смарт-карт Майкрософт 256 - SHA1
- SHA256
— SHA384
- SHA512
ECDSA_P384#Поставщик хранилища ключей смарт-карт Майкрософт 384 - SHA1
- SHA256
— SHA384
- SHA512
ECDSA_P521#Поставщик хранилища ключей смарт-карт Майкрософт 521 - SHA1
- SHA256
— SHA384
- SHA512

Определение имени Центра сертификации

Перед настройкой центров сертификации (ЦС) в организации необходимо установить соглашение об именовании ЦС.

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

Если вы используете символы, не являющиеся латиницами (например, кириллица, арабский или китайский символы), имя ЦС должно содержать менее 64 символов. Если вы используете только нелатинские символы, имя ЦС может содержать не более 37 символов.

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

Имя ЦС не должно совпадать с именем компьютера (NetBIOS или DNS-имя). Кроме того, нельзя изменить имя сервера после установки служб сертификатов Active Directory (AD CS) без аннулирования всех сертификатов, выданных ЦС.

Чтобы изменить имя сервера после установки AD CS, необходимо удалить ЦС, изменить имя сервера, переустановить ЦС, используя те же ключи и изменить реестр, чтобы использовать существующие ключи ЦС и базу данных. При переименовании домена не нужно переустановить ЦС; однако необходимо перенастроить ЦС для поддержки изменения имени.

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

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

Каждый сертификат имеет срок действия. После окончания срока действия сертификат больше не считается допустимым или пригодным для использования.

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

Выбор базы данных ЦС

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

Расположение базы данных сертификатов и файлов журналов хранится в следующем расположении реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration

Реестр содержит следующие значения:

  • DBDirectory
  • DBLogDirectory
  • DBSystemDirectory
  • DBTempDirectory

Параметры точки распространения списка отзыва сертификатов и доступа к данным центра

После установки корневого или подчиненного ЦС необходимо настроить расширения доступа к информации о центре сертификации (AIA) и точки распространения CRL (CDP), прежде чем ЦС выдаст какие-либо сертификаты. Расширение AIA указывает, где найти сертификаты up-to-date для центра сертификации. Расширение CDP указывает, где найти CRLs с датой up-to, подписанные Центром сертификации. Эти расширения применяются ко всем сертификатам, выданным этим ЦС.

Настройка этих расширений гарантирует, что эти сведения включены в каждый сертификат, который УЦ выпускает, чтобы он был доступен для всех клиентов. Использование расширений приводит к меньшим сбоям из-за непроверенных цепочек сертификатов или отзыва сертификатов, что может привести к неудачным VPN-подключениям, сбою входа смарт-карты или непроверенным подписям электронной почты.

Администратор ЦС может добавлять, удалять или изменять точки распространения CRL и расположения для выдачи сертификатов CDP и AIA. Изменение URL-адреса для точки распространения CRL влияет только на недавно выданные сертификаты. Ранее выданные сертификаты продолжают ссылаться на исходное расположение, поэтому необходимо установить эти расположения, прежде чем центр сертификации выпустит какие-либо сертификаты.

При настройке URL-адресов расширений CDP следует учитывать следующие рекомендации.

  • Избегайте публикации разностных ЦР на автономных корневых ЦС. Поскольку вы не отзываете много сертификатов на автономном корневом ЦС, разностный CRL, скорее всего, не нужен.
  • Настройте расположения по умолчанию LDAP:// и http:// URL-адреса на вкладке свойств расширений центра сертификации в соответствии с вашими потребностями.
  • Опубликуйте список отзыва сертификатов в расположении HTTP или экстрасети, чтобы пользователи и приложения за пределами организации могли выполнять проверку сертификатов. Вы можете опубликовать URL-адреса LDAP и HTTP для расположений CDP, чтобы клиенты могли получать данные CRL с помощью ПРОТОКОЛА HTTP и LDAP.
  • Помните, что клиенты Windows всегда получают список URL-адресов в последовательном порядке до получения допустимого списка отзыва сертификатов.
  • Используйте расположения HTTP CDP для предоставления доступных расположений CRL для клиентов под управлением операционных систем, отличных от Windows.

Дальнейшие шаги

Дополнительные сведения о развертывании AD CS см. в статье "Реализация служб сертификатов Active Directory и управление ими".