Подтверждение работоспособности устройства

Подтверждение работоспособности устройств (DHA) появилось в ОС Windows 10 в выпуске 1507. Вот что может эта функция:

  • интеграция с платформой управления мобильными устройствами (MDM) Windows 10 с соблюдением стандартов Open Mobile Alliance (OMA);

  • поддержка устройств, для которых во встроенном ПО или отдельно предоставляется доверенный платформенный модуль (TPM);

  • повышение уровня корпоративной безопасности путем отслеживания и подтверждения защиты на аппаратном уровне без существенного роста эксплуатационных расходов.

Начиная с Windows Server 2016, вы сможете запускать службу DHA в роли сервера для вашей организации. Используйте эту статью, чтобы узнать, как установить и настроить роль сервера аттестации работоспособности устройств.

Обзор

Службы DHA можно использовать для оценки работоспособности таких устройств:

  • устройства под управлением Windows 10 и Windows 10 Mobile, поддерживающие TPM 1.2 или 2.0;
  • Локальные устройства, управляемые с помощью Active Directory с доступом к Интернету, устройства, управляемые с помощью Active Directory без доступа к Интернету, устройства, управляемые идентификатором Microsoft Entra, или гибридное развертывание с помощью Active Directory и Идентификатора Microsoft Entra.

Служба DHA

Служба DHA проверяет для устройства журналы доверенного платформенного модуля (TPM) и реестра конфигурации платформы (PCR), а затем составляет по ним отчет DHA. Корпорация Майкрософт предлагает три варианта службы DHA.

  • Облачная служба DHA. Управляемая корпорацией Майкрософт служба DHA, которая является бесплатной, геобалансировкой и оптимизирована для доступа из разных регионов мира.

  • Локальная служба DHA. Новая роль сервера, представленная в Windows Server 2016. Она предоставляется бесплатно всем клиентам с лицензией Windows Server 2016.

  • Облачная служба DHA Azure. Виртуальный узел в Microsoft Azure. Для этого варианта вам нужен виртуальный узел и лицензии для локальной службы DHA.

Служба DHA интегрируется с решениями MDM и предоставляет такие возможности:

  • объединение данных, полученных от устройства (с помощью существующих каналов для управления устройством) с отчетом DHA;
  • повышение надежности и безопасности решений благодаря данным о подтверждении и защите устройств.

Ниже приведен пример того, как можно применить DHA для более надежной защиты активов вашей организации.

  1. Вы создаете политику, которая проверяет следующую конфигурацию и атрибуты загрузки:
    • Безопасная загрузка
    • BitLocker
    • ELAM
  2. Решение MDM применяет эту политику и запускает действия по исправлению на основе данных из отчета DHA. Например, он может проверить следующее:
    • включена безопасная загрузка, в устройство загружен доверенный код, загрузчик Windows не подвергался изменениям;
    • доверенный загрузчик успешно проверил цифровую подпись ядра Windows и компонентов, которые были загружены при запуске устройства;
    • процесс измеряемой загрузки создал отчет аудита, защищенный доверенным платформенным модулем, который можно проверить удаленно;
    • BitLocker был включен и защищал данные, пока устройство было отключено;
    • ELAM был включен на ранних этапах загрузки и контролировал весь процесс работы.

Облачная служба DHA

Облачная служба DHA предоставляет такие преимущества:

  • просматривает журналы загрузки устройства TCG и PCR, полученные от устройства, зарегистрированного в решении MDM;
  • создает защищенный отчет с контролем изменения данных (отчет DHA) о процессе запуска устройства на основе данных, собранных и защищенных доверенным платформенным модулем, установленным на устройстве;
  • через защищенный коммуникационный канал доставляет отчет DHA на сервер MDM, который запрашивал его.

Локальная служба DHA

Локальная служба DHA предоставляет все возможности, доступные в облачной службе DHA. Кроме того, она дает такие дополнительные преимущества:

  • оптимизирует производительность, так как служба DHA работает в собственном центре обработки данных;
  • гарантирует, что отчет DHA не выходит за пределы локальной сети.

Облачная служба DHA Azure

Эта служба предоставляет те же функции, что и локальная служба DHA, но выполняется в виде виртуального узла в Microsoft Azure.

Режимы проверки DHA

Локальную службу DHA можно настроить для работы в режиме проверки EKCert или AIKCert. В своем отчете служба DHA указывает, в каком из режимов проверки (AIKCert или EKCert) он был составлен. Если поддерживается актуальность цепочки сертификатов EKCert, режимы проверки AIKCert и EKCert обеспечивают безопасность одинаково успешно.

Режим проверки EKCert

Режим проверки EKCert оптимизирован для устройств в организации, которые не подключены к Интернету. Устройства, подключаемые к службе DHA, работающей в режиме проверки EKCert, не имеют прямого доступа к Интернету.

Если DHA работает в режиме проверки EKCert, он зависит от корпоративной управляемой цепочки доверия, которая должна обновляться иногда (примерно 5 – 10 раз в год).

Корпорация Майкрософт публикует объединенные пакеты доверенных корней и промежуточных ЦС для утвержденных производителей доверенного платформенного модуля (по мере их доступности) в общедоступном архиве в .cab архиве. Вам следует загрузить этот поток, проверить его целостность и установить его на сервер подтверждения работоспособности устройства.

Примером является архив https://go.microsoft.com/fwlink/?linkid=2097925.

Режим проверки AIKCert

Режим проверки AIKCert оптимизирован для производственных сред, которые имеют доступ к Интернету. Устройства, подключаемые к службе DHA, работающей в режиме проверки AIKCert, должны иметь прямой доступ к Интернету и возможность получить сертификат AIK от корпорации Майкрософт.

Установка и настройка службы DHA в ОС Windows Server 2016

Следующие разделы помогут вам установить и настроить службу DHA в ОС Windows Server 2016.

Необходимые компоненты

Вот что нужно, чтобы настроить и проверить локальную службу DHA:

  • сервер под управлением ОС Windows Server 2016;

  • Одно (или несколько) клиентских устройств Windows 10 с TPM (1.2 или 2.0), которое находится в четком или готовом состоянии под управлением последней сборки Windows Server 2025.

  • выбор одного из режимов проверки: EKCert или AIKCert;

  • такие сертификаты:

    • SSL-сертификат DHA. SSL-сертификат x.509, который цепочки с доверенным корнем предприятия с экспортируемым закрытым ключом. Этот сертификат защищает данные DHA "в пути", в том числе при передаче с сервера на сервер (служба DHA и сервер MDM) и от сервера к клиенту (служба DHA и устройство с Windows 10).
    • Сертификат подписи DHA. Сертификат x.509, который цепочки с доверенным корнем предприятия с экспортируемым закрытым ключом. Служба DHA использует этот сертификат для цифрового подписывания.
    • Сертификат шифрования DHA. Сертификат x.509, который цепочки с доверенным корнем предприятия с экспортируемым закрытым ключом. Служба DHA использует этот сертификат для шифрования.

Установка Windows Server 2016

Установите Windows Server 2016 любым удобным для вас способом, например через службы развертывания Windows или с помощью установщика, размещенного на загрузочном носителе, USB-накопителе или в локальной файловой системе. Если вы впервые настраиваете локальную службу DHA, устанавливайте Windows Server 2016 в режиме Возможности рабочего стола.

Добавление роли сервера для подтверждения работоспособности устройств

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

После установки Windows Server 2016 устройство перезапускается и открывает диспетчер сервера. Если этого не произошло, в поле поиска меню Пуск найдите и щелкните элемент Диспетчер сервера.

  1. Выберите функцию Добавить роли и компоненты.
  2. На странице Перед началом работы нажмите кнопку Далее.
  3. На странице Выбор типа установки щелкните Установка ролей или компонентов, а затем нажмите кнопку Далее.
  4. На странице Выбор целевого сервера щелкните Выберите сервер из пула серверов, затем выберите сервер и нажмите кнопку Далее.
  5. На странице Выбор ролей сервера установите флажок Аттестация работоспособности устройств.
  6. Щелкните Добавить компоненты, чтобы установить другие необходимые службы ролей и компоненты.
  7. Нажмите кнопку Далее.
  8. На странице Выбор функций (Select features) нажмите кнопку Далее.
  9. На странице Роль веб-сервера (IIS) щелкните Далее.
  10. На странице Выбор служб ролей нажмите кнопку Далее.
  11. На странице Служба аттестации работоспособности устройств щелкните Далее.
  12. На странице Подтверждение выбранных элементов для установки щелкните Установить.
  13. После завершения процесса установки нажмите кнопку Закрыть.

Установка сертификатов подписи и шифрования

Для установки сертификатов подписи и шифрования используйте следующий сценарий Windows PowerShell. Дополнительные сведения о отпечатке см. в разделе "Практическое руководство. Извлечение отпечатка сертификата".

$key = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Thumbprint -like "<thumbprint>"}
$keyname = $key.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keypath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\" + $keyname
icacls $keypath /grant <username>`:R

#<thumbprint>: Certificate thumbprint for encryption certificate or signing certificate
#<username>: Username for web service app pool, by default IIS_IUSRS

Установка пакета доверенных сертификатов корневых ЦС для доверенного платформенного модуля

Чтобы установить пакет доверенных сертификатов корневых ЦС для доверенного платформенного модуля, разверните пакет, удалите все цепочки сертификатов, которые не являются доверенными для вашей организации, и запустите команду setup.cmd.

Скачивание пакета доверенных сертификатов корневых ЦС для доверенного платформенного модуля

Перед установкой пакета сертификата можно скачать последний список доверенных корней https://go.microsoft.com/fwlink/?linkid=2097925доверенного доверенного платформенного модуля.

Внимание! Перед установкой пакета проверьте, поставлена ли цифровая подпись корпорации Майкрософт.

Извлечение пакет доверенных сертификатов

Чтобы извлечь пакет доверенных сертификатов, выполните такие команды:

mkdir .\TrustedTpm
expand -F:* .\TrustedTpm.cab .\TrustedTpm

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

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

Примечание. В режиме сертификата AIK требуется папка Microsoft для проверки сертификатов AIK, выданных корпорацией Майкрософт.

Установка пакета доверенных сертификатов

Для установки пакета доверенных сертификатов запустите сценарий установки из CAB-файла.

.\setup.cmd

Настройка службы подтверждения работоспособности устройств

Для настройки локальной службы DHA можно использовать Windows PowerShell.

Install-DeviceHealthAttestation -EncryptionCertificateThumbprint <encryption> -SigningCertificateThumbprint <signing> -SslCertificateStoreName My -SslCertificateThumbprint <ssl> -SupportedAuthenticationSchema "<schema>"

#<encryption>: Thumbprint of the encryption certificate
#<signing>: Thumbprint of the signing certificate
#<ssl>: Thumbprint of the SSL certificate
#<schema>: Comma-delimited list of supported schemas including AikCertificate, EkCertificate, and AikPub

Настройка политики цепочки сертификатов

Настройте политику цепочки сертификатов, выполнив следующий скрипт Windows PowerShell:

$policy = Get-DHASCertificateChainPolicy
$policy.RevocationMode = "NoCheck"
Set-DHASCertificateChainPolicy -CertificateChainPolicy $policy

Команды управления DHA

Ниже приведены некоторые командлеты Windows PowerShell, которые помогут вам управлять службой DHA.

Первая настройка службы DHA

Install-DeviceHealthAttestation -SigningCertificateThumbprint "<HEX>" -EncryptionCertificateThumbprint "<HEX>" -SslCertificateThumbprint "<HEX>" -Force

Удаление конфигурации службы DHA

Uninstall-DeviceHealthAttestation -RemoveSslBinding -Force

Получение активного сертификата подписи

Get-DHASActiveSigningCertificate

Установка активного сертификата подписи

Set-DHASActiveSigningCertificate -Thumbprint "<hex>" -Force

Примечание. Этот сертификат должен быть развернут на сервере с запущенной службой DHA в хранилище сертификатов LocalMachine\My. Когда устанавливается новый активный сертификат подписи, бывший активный сертификат подписи перемещается в список неактивных сертификатов подписи.

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

Get-DHASInactiveSigningCertificate

Удаление неактивных сертификатов подписи

Remove-DHASInactiveSigningCertificate -Force
Remove-DHASInactiveSigningCertificate  -Thumbprint "<hex>" -Force

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

Получение активного сертификата шифрования

Get-DHASActiveEncryptionCertificate

Установка активного сертификата шифрования

Set-DHASActiveEncryptionCertificate -Thumbprint "<hex>" -Force

Этот сертификат должен быть развернут на устройстве в хранилище сертификатов LocalMachine\My.

Когда устанавливается новый активный сертификат шифрования, бывший активный сертификат шифрования перемещается в список неактивных сертификатов шифрования.

Получение списка неактивных сертификатов шифрования

Get-DHASInactiveEncryptionCertificate

Удаление неактивных сертификатов шифрования

Remove-DHASInactiveEncryptionCertificate -Force
Remove-DHASInactiveEncryptionCertificate -Thumbprint "<hex>" -Force

Получение конфигурации X509ChainPolicy

Get-DHASCertificateChainPolicy

Изменение конфигурации X509ChainPolicy

$certificateChainPolicy = Get-DHASInactiveEncryptionCertificate
$certificateChainPolicy.RevocationFlag = <X509RevocationFlag>
$certificateChainPolicy.RevocationMode = <X509RevocationMode>
$certificateChainPolicy.VerificationFlags = <X509VerificationFlags>
$certificateChainPolicy.UrlRetrievalTimeout = <TimeSpan>
Set-DHASCertificateChainPolicy = $certificateChainPolicy

Создание отчетов в службе DHA

Далее следует список сообщений, которые служба DHA может передавать в решение MDM.

  • 200 HTTP OK. Сертификат возвращен.
  • 400 — ошибочный запрос. Возможные причины: недопустимый формат запроса, недопустимый сертификат работоспособности, несоответствие подписи сертификата, недопустимый BLOB-объект подтверждения работоспособности или недопустимый BLOB-объект состояния работоспособности. Кроме того, этот ответ содержит сообщение (соответствующее схеме ответа), содержащее код ошибки и сообщение об ошибке, которые можно использовать для диагностики.
  • 500 — внутренняя ошибка сервера. Это может произойти, если служба по какой-либо причине не может выдавать сертификаты.
  • 503. Система регулирования отклоняет запросы, чтобы предотвратить перегрузку сервера.