Поделиться через


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

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

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

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

Планирование инфраструктуры открытых ключей

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

Использование аппаратного модуля безопасности

Модуль 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

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

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

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

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

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

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

Поставщик шифрования Длины ключей Hash algorithm
Microsoft Base Cryptographic Provider версии 1.0 - 512
- 1024
- 2048
- 4096
- SHA1
- MD2
— MD4
- MD5
Microsoft Base DSS Cryptographic Provider - 512
- 1024
SHA1
Microsoft Base Smart Card Crypto Provider - 1024
- 2048
- 4096
- SHA1
- MD2
— MD4
- MD5
Microsoft Enhanced Cryptographic Provider версии 1.0 - 512
- 1024
- 2048
- 4096
- SHA1
- MD2
— MD4
- MD5
Microsoft Strong Cryptographic Provider - 512
- 1024
- 2048
- 4096
- SHA1
- MD2
— MD4
- MD5
RSA#Microsoft Software Key Storage Provider - 512
- 1024
- 2048
- 4096
- SHA1
- SHA256
— SHA384
- SHA512
- MD2
— MD4
- MD5
DSA#Microsoft Software Key Storage Provider - 512
- 1024
- 2048
SHA1
ECDSA_P256#Microsoft Software Key Storage Provider 256 - SHA1
- SHA256
— SHA384
- SHA512
ECDSA_P384#Microsoft Software Key Storage Provider 384 - SHA1
- SHA256
— SHA384
- SHA512
ECDSA_P521#Microsoft Software Key Storage Provider 521 - SHA1
- SHA256
— SHA384
- SHA512
RSA#Microsoft Smart Card Key Storage Provider - 1024
- 2048
- 4096
- SHA1
- SHA256
— SHA384
- SHA512
- MD2
— MD4
- MD5
ECDSA_P256#Microsoft Smart Card Key Storage Provider 256 - SHA1
- SHA256
— SHA384
- SHA512
ECDSA_P384#Microsoft Smart Card Key Storage Provider 384 - SHA1
- SHA256
— SHA384
- SHA512
ECDSA_P521#Microsoft Smart Card Key Storage Provider 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 указывает, где находятся актуальные сертификаты для ЦС. Расширение CDP указывает, где находятся актуальные списки отзыва сертификатов, подписанные ЦС. Эти расширения применяются ко всем сертификатам, выдаваемым ЦС.

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

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

При настройке URL-адресов для расширения CDP примите во внимание приведенные ниже рекомендации.

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

Следующие шаги

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