Настройка центра сертификации для использования ML-DSA

В этой статье описывается, как настроить центры сертификации служб сертификатов Active Directory (AD CS) для использования алгоритма цифровой подписи на основе модульных решёток (ML-DSA) в постквантовой криптографии (PQC). ML-DSA — это алгоритм цифровой подписи, стандартизированный Национальным институтом стандартов и технологий (NIST), предназначенный для противодействия атакам квантовых вычислений.

Выполнив действия, описанные в этой статье, вы настроили иерархию инфраструктуры открытого ключа (PKI) с корневым ЦС и подчиненным ЦС, используя ML-DSA в качестве алгоритма подписи.

Необходимые условия

Перед началом работы убедитесь, что вы соответствуете следующим требованиям:

  • Контроллер домена, на котором выполняется последний выпуск Windows Server. рекомендуется использовать Windows Server 2025 или более поздней версии.

  • Два сервера под управлением Windows Server 2025 с обновлением системы безопасности 2026-05 (KB5087539) или более поздней версии, установленной для корневого ЦС и подчиненного ЦС.

    • Сервер подчиненного ЦС должен быть присоединен к домену.

    • Сервер корневого ЦС может быть присоединен к домену (корпоративный корневой ЦС) или не присоединен к домену (автономный корневой ЦС). Ознакомьтесь со следующим примечанием.

    Note

    В этой статье показаны конфигурации корпоративного и автономного корневого ЦС. Для промышленных сред рекомендуемой передовой практикой является использование автономного корневого ЦС, который переводится в автономный режим после выдачи сертификата подчинённого ЦС. Общие рекомендации по архитектуре PKI двух уровней см. в руководстве по развертыванию иерархии PKI двух уровней AD и проектированию AD CS.

  • Учетная запись с разрешениями на установку и настройку роли служб сертификатов на каждом сервере ЦС.

  • Роль AD CS и служба ролей центра сертификации, установленная на корневом сервере ЦС. Подробные инструкции см.: Установка служб сертификатов Active Directory с помощью диспетчера серверов.

Выбор набора параметров ML-DSA

Перед настройкой ЦС выберите набор параметров ML-DSA. ML-DSA предоставляет три набора параметров, каждый из которых предлагает другой уровень безопасности NIST. Каждый набор параметров имеет фиксированные размеры открытых и закрытых ключей, которые нельзя изменить. Можно использовать любой набор параметров для корневых ЦС, подчиненных ЦС или сертификатов конечных сущностей.

Набор параметров Размер открытого ключа Размер закрытого ключа Размер подписи Уровень безопасности NIST
ML-DSA-44 1312 байт 2 560 байт 2420 байт Уровень 2
ML-DSA-65 1 952 байта 4 032 байта 3 309 байт Уровень 3
ML-DSA-87 2 592 байта 4 896 байт 4 627 байт Уровень 5

При выборе поставщика ML-DSA во время настройки ЦС алгоритм хэширования по умолчанию имеет значение NoHash. В отличие от традиционных алгоритмов, таких как RSA, где подписывание включает в себя этап предварительного хэша, например SHA-256, ML-DSA обрабатывает хэширование сообщений внутренне в рамках операции подписи. ML-DSA не требует внешнего хэш-алгоритма.

Настройте корневой центр сертификации

После установки роли AD CS и службы ролей «Центр сертификации» следующим шагом будет настройка ЦС с использованием криптографического поставщика ML-DSA. Процесс настройки включает выбор типа ЦС (корневого ЦС), создание закрытого ключа и выбор нужного поставщика ML-DSA, соответствующего выбранному набору параметров.

Настройка корневого ЦС с помощью ML-DSA

После установки роли настройте корневой ЦС с помощью поставщика шифрования ML-DSA.

  1. После установки выберите ссылку Настроить службы сертификатов Active Directory в диспетчере серверов.

  2. На странице "Тип установки" выберите одно из следующих элементов:

    • Enterprise: если сервер присоединен к домену. Подходит для лабораторных и тестовых сред.

    • Автономный: если сервер не присоединен к домену. Рекомендуется для эксплуатации в производственной среде.

  3. На странице "Тип ЦС" выберите корневой ЦС.

  4. На странице "Закрытый ключ" выберите "Создать новый закрытый ключ".

  5. На странице Криптография для ЦС выберите одного из следующих криптографических поставщиков ML-DSA:

    • ML-DSA:44#Microsoft Software Key Storage Provider

    • ML-DSA:65#Microsoft Software Key Storage Provider

    • ML-DSA:87#Microsoft Software Key Storage Provider

    Поле "Длина ключа" отображает размер открытого ключа в битах для выбранного набора параметров. Алгоритм хэша по умолчанию имеет значение NoHash.

    Снимок экрана страницы «Криптография для ЦС» в AD CS с выбранным поставщиком ML-DSA-87, где указаны длина ключа 20736 и алгоритм хэширования NoHash.

  6. Заполните оставшиеся страницы с помощью параметров по умолчанию и нажмите кнопку "Настройка " для завершения настройки.

Кроме того, настройте корневой ЦС с помощью PowerShell. В следующем примере используется ML-DSA-87:

# KeyLength is specified in bits. For ML-DSA-87: 2592 bytes x 8 = 20736 bits  

# For Standalone Root CA (recommended for production)  
Install-AdcsCertificationAuthority `  
    -CAType StandaloneRootCA `  
    -CACommonName "<your-root-ca-name>" `  
    -KeyLength 20736 `  
    -HashAlgorithm NoHash `  
    -CryptoProviderName "ML-DSA:87#Microsoft Software Key Storage Provider"  
    
# For Enterprise Root CA (lab and test environments)  
Install-AdcsCertificationAuthority `  
    -CAType EnterpriseRootCA `  
    -CACommonName "<your-root-ca-name>" `  
    -KeyLength 20736 `  
    -HashAlgorithm NoHash `  
    -CryptoProviderName "ML-DSA:87#Microsoft Software Key Storage Provider"  

Замените <your-root-ca-name> на общее имя корневого ЦС.

Проверьте сертификат корневого центра сертификации

Убедитесь, что сертификат корневого ЦС использует выбранный вами алгоритм ML-DSA.

  1. Откройте консоль центра сертификации (certsrv.msc).

  2. Щелкните правой кнопкой мыши имя ЦС, выберите "Свойства" и выберите "Просмотреть сертификат " на вкладке "Общие ".

  3. На вкладке "Сведения" подтвердите следующие поля:

    • Алгоритм подписи: отображает набор параметров ML-DSA, например ML-DSA-87.
    • Открытый ключ: отображает набор параметров ML-DSA и размер ключа в битах.

    Так как сертификат корневого ЦС самозаверяется, алгоритм подписи и алгоритм открытого ключа используют один и тот же набор параметров ML-DSA.

    Снимок экрана вкладки «Сведения» сертификата корневого ЦС, где ML-DSA-87 указан и как алгоритм подписи, и как алгоритм открытого ключа.

Служба ЦС автоматически публикует списки отзыва сертификатов (CRL) при запуске и подписывает их с помощью настроенного алгоритма ML-DSA.

Настройте подчиненный центр сертификации

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

  • Выберите Подчиненный центр сертификации в качестве типа ЦС.
  • Вы можете выбрать набор параметров ML-DSA, отличный от набора параметров корневого центра сертификации. Каждый ЦС в иерархии может использовать отдельную конфигурацию ML-DSA.

Настройка подчиненного ЦС

После установки роли AD CS и службы ролей центра сертификации на подчиненном сервере ЦС настройте его с помощью поставщика ML-DSA и отправьте запрос на сертификат в корневой ЦС.

  1. После установки выберите ссылку Настроить службы сертификатов Active Directory в Диспетчере серверов.

  2. На странице "Тип установки" выберите Enterprise.

  3. На странице «Тип ЦС» выберите «Подчиненный центр сертификации».

  4. Выберите "Создать закрытый ключ".

  5. На странице Криптография для ЦС выберите криптографического поставщика ML-DSA. Например, ML-DSA:65#Microsoft поставщик хранилища ключей программного обеспечения.

    Снимок экрана страницы «Криптография» AD CS для подчинённого центра сертификации с выбранным поставщиком ML-DSA-65, с отображением длины ключа 15616 и алгоритма хэширования NoHash.

  6. На странице "Запрос сертификата" выберите один из следующих параметров:

    • Отправьте запрос сертификата родительскому ЦС, а затем выберите ранее настроенный корневой ЦС, если корневой ЦС находится в сети и доступен.

    • Сохраните запрос на сертификат в файл на целевом компьютере — если корневой ЦС отключен от сети (автономный). Отправьте запрос вручную в корневой ЦС, получите выданный сертификат и установите его.

  7. Заполните оставшиеся страницы с помощью параметров по умолчанию и нажмите кнопку "Настроить".

Проверьте сертификат подчинённого центра сертификации

Убедитесь, что подчиненный сертификат ЦС показывает ожидаемые алгоритмы ML-DSA для подписи и открытого ключа.

  1. Откройте консоль Центр сертификации (certsrv.msc) на подчиненном центре сертификации.

  2. Щелкните правой кнопкой мыши имя ЦС, выберите "Свойства" и выберите "Просмотреть сертификат".

  3. На вкладке "Сведения" подтвердите:

    • Алгоритм подписи: показывает набор параметров корневого ЦС ML-DSA (например, ML-DSA-87), так как корневой ЦС подписывает подчиненный сертификат ЦС.
    • Открытый ключ: показывает собственный параметрический набор ML-DSA подчиненного ЦС (например, ML-DSA-65).

    Снимок экрана: вкладка

  4. На вкладке "Путь сертификации " убедитесь, что цепочка отображает сертификаты корневого ЦС и подчиненных ЦС.

    Снимок экрана: вкладка