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


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

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

В этой статье описываются два подхода к развертыванию сертификатов, при которых сертификаты проверки подлинности развертываются в контейнере Windows Hello для бизнеса:

  • Использование Microsoft Intune с соединителями SCEP или PKCS
  • Использование политики регистрации служб сертификатов Active Directory (AD CS)

Важно.

Если вы развернете сертификат с помощью Microsoft Intune и для управления учетными записями пользователей настроено запрашивать учетные данные на безопасном рабочем столе, вы не сможете использовать функцию запуска от имени. В этом случае при попытке выполнить приложение с повышенными привилегиями и выбрать Windows Hello для бизнеса учетные данные, вы получите сообщение об ошибке: Имя пользователя или пароль неверны.

Совет

Рассмотрите возможность использования Remote Credential Guard вместо Windows Hello для бизнеса для входа по протоколу RDP. Remote Credential Guard обеспечивает единый вход (SSO) в сеансы RDP с использованием проверки подлинности Kerberos и не требует развертывания сертификатов. Дополнительные сведения см. в разделе Remote Credential Guard.

Принцип работы

Windows создает и сохраняет криптографические ключи с помощью программного компонента, называемого поставщиком хранилища ключей (KSP):

  • Программные ключи создаются и хранятся с помощью поставщика хранилища ключей программного обеспечения Майкрософт
  • Ключи смарт-карта создаются и хранятся с помощью поставщика хранилища ключей смарт-карт Майкрософт
  • Ключи, созданные и защищенные Windows Hello для бизнеса, создаются и хранятся с помощью поставщика хранилища ключей Microsoft Passport

Сертификат на смарт-карта начинается с создания асимметричной пары ключей с помощью microsoft Smart Card KSP. Windows запрашивает сертификат на основе пары ключей от предприятия, выдающего центр сертификации, который возвращает сертификат, хранящийся в личном хранилище сертификатов пользователя. Закрытый ключ остается на смарт-карта, а открытый ключ хранится вместе с сертификатом. В метаданных сертификата (и ключа) хранится поставщик хранилища ключей, используемый для создания ключа (помните, что сертификат содержит открытый ключ).

Та же концепция применяется к Windows Hello для бизнеса, за исключением того, что ключи создаются с помощью microsoft Passport KSP. Закрытый ключ пользователя остается защищенным модулем безопасности устройства (TPM) и жестом пользователя (ПИН-код/биометрические данные). API-интерфейсы сертификатов скрывают сложность. Когда приложение использует сертификат, API-интерфейсы сертификатов находят ключи с помощью поставщика хранилища сохраненных ключей. Поставщики хранилища ключей направляют API-интерфейсы сертификатов, к какому поставщику они используются для поиска закрытого ключа, связанного с сертификатом. Это то, как Windows знает, что у вас есть смарт-сертификат карта без смарт-карта вставки, и предлагает вам вставить смарт-карта.

Windows Hello для бизнеса имитирует интеллектуальный карта для совместимости приложений, а microsoft Passport KSP запрашивает у пользователя биометрический жест или ПИН-код.

Примечание.

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

Требования

Ниже приведен список требований для включения входа по протоколу RDP с помощью Windows Hello для бизнеса:

  • Инфраструктура PKI на основе AD CS или стороннего поставщика
  • Windows Hello для бизнеса, развернутые на клиентах
  • Если вы планируете поддерживать устройства, присоединенные к Microsoft Entra, контроллеры домена должны иметь сертификат, который служит корнем доверия для клиентов. Сертификат гарантирует, что клиенты не взаимодействуют с контроллерами домена изгоев

Если вы планируете развертывать сертификаты с помощью Microsoft Intune, ниже приведены дополнительные требования:

  • Убедитесь, что у вас есть инфраструктура для поддержки развертывания SCEP или PKCS .
  • Развертывание сертификата корневого ЦС и других промежуточных сертификатов центра сертификации для Microsoft Entra присоединенных устройств с помощью политики доверенных корневых сертификатов

Создание шаблона сертификата

Процесс создания шаблона сертификата применим к сценариям, в которых используется инфраструктура служб локальная служба Active Directory сертификатов (AD CS).
Сначала необходимо создать шаблон сертификата, а затем развернуть сертификаты на основе этого шаблона в контейнере Windows Hello для бизнеса.

Конфигурация шаблона сертификата зависит от того, развертываются ли сертификаты с помощью Microsoft Intune или политики регистрации Active Directory. Выберите вариант, который лучше всего соответствует вашим потребностям.

  1. Войдите в центр сертификации, выдающий сертификат (ЦС) и откройте диспетчер сервера

  2. Выберите Сервис > Центр сертификации. Откроется консоль управления Майкрософт (MMC) центра сертификации

  3. В MMC разверните имя ЦС и щелкните правой кнопкой мыши управление шаблонами сертификатов>.

  4. Откроется консоль "Шаблоны сертификатов". Все шаблоны сертификатов отображаются в области сведений

  5. Щелкните правой кнопкой мыши шаблон Входа смарт-карты и выберите Дублировать шаблон.

  6. Используйте следующую таблицу, чтобы настроить шаблон:

    Имя вкладки Конфигурации
    Совместимость
    • Снимите флажок Показать результирующие изменения проверка
    • Выберите Windows Server 2012 или Windows Server 2012 R2 в списке Центров сертификации.
    • Выберите Windows Server 2012 или Windows Server 2012 R2 в списке получателей сертификации.
    Общее
    • Укажите отображаемое имя шаблона, например проверку подлинности сертификата WHfB.
    • Задайте для срока действия требуемое значение.
    • Запишите имя шаблона для последующего использования, которое должно совпадать с отображаемым именем шаблона минус пробелы (WHfBCertificateAuthentication в этом примере)
    Расширения Убедитесь, что расширение "Политики приложений " включает вход с помощью смарт-карты.
    Имя субъекта В запросе выберите Пункт Предоставить.
    Обработка запросов
    • Задайте для параметра Назначение значение Подпись и вход со смарт-картой и выберите Да при появлении запроса на изменение назначения сертификата.
    • Выберите поле Продлить с тем же ключом проверка
    • Выберите Запрос пользователя во время регистрации.

    Заметка: При развертывании сертификатов с помощью профиля PKCS выберите параметр Разрешить экспорт закрытого ключа.
    Cryptography
    • Задайте для категории поставщиков значение Поставщик хранилища ключей.
    • Задайте для значения имя алгоритма RSA.
    • Задайте для минимального размера ключа значение 2048.
    • Выберите Запросы должны использовать один из следующих поставщиков.
    • Выбор поставщика хранилища ключей программного обеспечения Майкрософт
    • Задайте для хэша запроса значение SHA256.
    Безопасность Добавление субъекта безопасности, используемого для доступа к регистрации SCEP или PKCS.
  7. Нажмите кнопку ОК , чтобы завершить изменения и создать новый шаблон. Теперь новый шаблон должен появиться в списке шаблонов сертификатов.

  8. Закрытие консоли "Шаблоны сертификатов"

Выдача шаблона сертификата

  1. В консоли центра сертификации щелкните правой кнопкой мыши Шаблоны сертификатов и выберите Новый > шаблон сертификата для выдачи.
  2. В списке шаблонов выберите ранее созданный шаблон (проверка подлинности сертификата WHFB) и нажмите кнопку ОК. Для репликации шаблона на все серверы и его доступности в этом списке может потребоваться некоторое время.
  3. После репликации шаблона в MMC щелкните правой кнопкой мыши в списке Центр сертификации и выберите Все задачи > Остановить службу. Снова щелкните правой кнопкой мыши имя ЦС и выберите Все задачи > Запустить службу.

Развертывание сертификатов

Процесс развертывания сертификатов зависит от того, используется ли Microsoft Intune или политика регистрации Active Directory. Выберите вариант, который лучше всего соответствует вашим потребностям.

В этом разделе описывается настройка политики SCEP в Intune. Для настройки политики PKCS можно выполнить аналогичные действия.

  1. Перейдите в Центр администрирования Microsoft Intune

  2. Выбор профилей > конфигурации устройств > Создание профиля

  3. Выберите Платформа > Windows 10 и более поздних версий и Тип > профиля Шаблоны > СЕРТИФИКАТ SCEP.

  4. Выберите Создать.

  5. На панели Основные сведения укажите имя и, при необходимости, описание > Далее.

  6. На панели Параметры конфигурации используйте следующую таблицу, чтобы настроить политику:

    Параметр Конфигурации
    Тип сертификата Пользователь
    Формат имени субъекта CN={{UserPrincipalName}}

    Примечание. Если существует несоответствие между суффиксом имени участника-пользователя и полным доменом Active Directory, используйте CN={{OnPrem_Distinguished_Name}} вместо него.
    Альтернативное имя субъекта В раскрывающемся списке выберите Имя участника-пользователя (UPN) со значением {{UserPrincipalName}}
    Срок действия сертификата Настройка выбранного значения
    Поставщик хранилища ключей (KSP) Регистрация для Windows Hello для бизнеса, в противном случае сбой
    Использование ключей Цифровая подпись
    Размер ключа (биты) 2048
    Для хэш-алгоритма SHA-2
    Корневой сертификат Выберите +Корневой сертификат и выберите профиль доверенного сертификата, созданный ранее для сертификата корневого ЦС.
    Расширенное использование ключа
    • Имя:Вход с помощью смарт-карты
    • Идентификатор объекта:1.3.6.1.4.1.311.20.2.2
    • Предопределенные значения:не настроено

    • Имя:проверка подлинности клиента
    • Идентификатор объекта:1.3.6.1.5.5.7.3.2
    • Стандартные значения:проверка подлинности клиента
    Пороговое значение продления (%) Настройка выбранного значения
    URL-адреса сервера SCEP Укажите общедоступные конечные точки, настроенные во время развертывания инфраструктуры SCEP.
  7. Нажмите кнопку Далее

  8. На панели Назначения назначьте политику группе безопасности, содержащей в качестве участников устройства или пользователей, которые вы хотите настроить, и нажмите кнопку Далее.

  9. При необходимости на панели Правила применимости настройте ограничения выдачи и нажмите кнопку Далее.

  10. На панели Проверка и создание просмотрите конфигурацию политики и выберите Создать.

Дополнительные сведения о настройке политик SCEP см. в разделе Настройка профилей сертификатов SCEP в Intune. Сведения о настройке политик PKCS см. в статье Настройка и использование сертификата PKCS с Intune.

Предостережение

Если вы развертываете сертификаты с помощью Intune и настраиваете Windows Hello для бизнеса с помощью групповой политики, устройства не смогут получить сертификат, занося код 0x82ab0011 ошибки в DeviceManagement-Enterprise-Diagnostic-Provider журнал.
Чтобы избежать ошибки, настройте Windows Hello для бизнеса с помощью Intune, а не групповой политики.

Использование сторонних центров сертификации

Если вы используете PKI, не относящийся к Корпорации Майкрософт, шаблоны сертификатов, опубликованные в локальная служба Active Directory, могут быть недоступны. Инструкции по интеграции Intune/SCEP с развертываниями PKI, не являющихся microsoft, см. в статье Использование центров сертификации сторонних корпораций (ЦС) с SCEP в Microsoft Intune.

В качестве альтернативы использованию SCEP или если ни одно из ранее описанных решений не работает в вашей среде, вы можете вручную создать запросы на подпись сертификатов (CSR) для отправки в PKI. Чтобы упростить этот подход, можно использовать командлет PowerShell Generate-CertificateRequest .

Командлет Generate-CertificateRequest создает .inf файл для существующего ключа Windows Hello для бизнеса. Можно .inf использовать для создания запроса сертификата вручную с помощью certreq.exe. Командлет также создает .req файл, который можно отправить в PKI для сертификата.

Убедитесь, что сертификат развернут

Чтобы убедиться, что сертификат правильно развернут в контейнере Windows Hello для бизнеса, используйте следующую команду:

certutil -store -user my

В выходных данных перечислены ключи и сертификаты, хранящиеся в пользовательском хранилище. Если сертификат, выданный из ЦС, развертывается в контейнере Windows Hello для бизнеса, в выходных данных отображается сертификат со значением ProviderMicrosoft Passport Key Storage Provider.

Пример:

C:\Users\amanda.brady>certutil -store -user my
my "Personal"
================ Certificate 0 ================
Serial Number: 110000001f4c4eccc46fc8f93a00000000001f
Issuer: CN=Contoso - Issuing CA, DC=CONTOSO, DC=COM
 NotBefore: 12/8/2023 6:16 AM
 NotAfter: 12/7/2024 6:16 AM
Subject: [email protected]
Non-root Certificate
Template: 1.3.6.1.4.1.311.21.8.2835349.12167323.7094945.1118853.678601.83.11484210.8005739
Cert Hash(sha1): 63c6ce5fc512933179d3c0a5e94ecba98092f93d
Key Container = S-1-12-1-../../login.windows.net/../[email protected]
Provider = Microsoft Passport Key Storage Provider
Private key is NOT exportable
Encryption test passed

Взаимодействие с пользователем

После получения сертификата пользователи могут подключиться к любым устройствам Windows в том же лесу Active Directory, что и учетная запись Active Directory пользователей, открыв подключение к удаленному рабочему столу (mstsc.exe). При подключении к удаленному узлу им будет предложено использовать Windows Hello для бизнеса для разблокировки закрытого ключа сертификата.

устройство, присоединенное к Microsoft Entra

Пользователь может пройти проверку подлинности, используя любые доступные Windows Hello жесты разблокировки, включая биометрические данные.

Microsoft Entra устройство с гибридным присоединением

В запросе учетных данных поставщик учетных данных Windows Hello определяется как учетные данные устройства безопасности. Пользователь должен использовать поставщик учетных данных ПИН-кода для разблокировки.

Снимок экрана: запрос проверки подлинности подключения к удаленному рабочему столу с использованием биометрических данных.

Снимок экрана: запрос проверки подлинности подключения к удаленному рабочему столу с использованием ПИН-кода.

Ниже приведено краткое видео, показывающее взаимодействие с пользователем с Microsoft Entra присоединенного устройства с использованием отпечатка пальца в качестве фактора разблокировки:

Примечание.

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

Совместимость

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

Дополнительные сведения см. в статье Использование сертификатов Windows Hello для бизнеса в качестве сертификата смарт-карта.

Известные проблемы

Существует известная проблема при попытке выполнить проверку подлинности клиента TLS 1.3 с помощью сертификата Hello через RDP. Проверка подлинности завершается ошибкой : ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED. Корпорация Майкрософт изучает возможные решения.