Смарт-карты и службы удаленных рабочих столов

Применяется к: Windows 10, Windows 11, Windows Server 2016 и выше

В этом разделе для ИТ-специалистов описывается поведение служб удаленного рабочего стола при внедрении входной карточки.

Содержимое в этом разделе относится к версиям Windows, указанным в списке Applies To в начале этой темы. В этих версиях логика перенаправления смарт-карт и API WinSCard объединяются для поддержки нескольких перенаправленных сеансов в один процесс.

Поддержка смарт-карт необходима, чтобы включить многие сценарии удаленных настольных служб. К ним можно отнести следующие.

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

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

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

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

Служба смарт-карт перенаправляется на считыватель смарт-карт.

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

Заметки о модели перенаправления:

  1. Этот сценарий — удаленный сеанс регистрации на компьютере с службами удаленного рабочего стола. В удаленном сеансе (помеченном как "Клиентская сессия"), пользователь запускает чистое использование /smartcard.

  2. Стрелки представляют поток ПИН-кода после того, как пользователь ввел ПИН-код в командной подсказке, пока не достигнет смарт-карты пользователя в считывателье смарт-карт, подключенном к клиентского компьютера удаленного рабочего стола (RDC).

  3. Проверка подлинности выполняется LSA в сеансе 0.

  4. Обработка CryptoAPI выполняется в LSA (Lsass.exe). Это возможно, так как перенаправление RDP (rdpdr.sys) позволяет использовать контекст за сеанс, а не за один процесс.

  5. Компоненты WinScard и SCRedir, которые были отдельными модулями в операционных системах раньше Windows Vista, теперь включены в один модуль. Библиотека ScHelper — это оболочка CryptoAPI, специфическая для протокола Kerberos.

  6. Решение о перенаправлении принимается на основе контекста смарт-карты на основе сеанса потока, который выполняет вызов SCardEstablishContext.

  7. Изменения в WinSCard.dll были внесены в Windows Vista для улучшения перенаправления смарт-карт.

RD Session Host server single sign-in experience

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

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

Когда для сеансов удаленной службы настольных компьютеров используется один вход с включенной смарт-картой, пользователям по-прежнему необходимо войти для каждого нового сеанса служб удаленного рабочего стола. Однако пользователю не предложен пин-код для создания сеанса удаленной службы настольных компьютеров. Например, когда пользователь дважды щелкает значок Microsoft Word документа, который находится на удаленном компьютере, пользователю предлагается ввести ПИН-код. Этот ПИН-код отправляется с помощью защищенного канала, созданного SSP учетных данных. ПИН-код передается клиенту RDC по безопасному каналу и отправляется в Winlogon. Пользователь не получает дополнительных подсказок для ПИН-кода, если ПИН-код не является неправильным или есть ошибки, связанные с смарт-картами.

Удаленные службы настольных компьютеров и вход смарт-карт

Службы удаленного рабочего стола позволяют пользователям войти с помощью смарт-карты, введя ПИН-код на клиентский компьютер RDC и отправив его на хост-сервер сеанса RD таким образом, как проверка подлинности, основанная на имени пользователя и пароле.

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

Чтобы включить вход смарт-карты на сервер удаленного рабочего стола (RD Session Host), сертификат Центра рассылки ключей (KDC) должен присутствовать на клиентном компьютере RDC. Если компьютер не находится в одном домене или в группе, для развертывания сертификата можно использовать следующую команду:

certutil -dspublish NTAuthCA "DSCDPContainer"

Общее имя DSCDPContainer (CN) обычно является именем органа сертификации.

Пример.

certutil -dspublish NTAuthCA < CertFile > "CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=engineering,DC=contoso,DC=com"

Сведения об этом параметре для средства командной строки см. в пункте dsPublish.

Удаленные службы настольных компьютеров и вход смарт-карт в доменах

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

certutil -scroots update

Сведения об этом параметре для средства командной строки см. в пункте -SCRoots.

Для служб удаленного рабочего стола в различных доменах сертификат KDC хост-сервера сеанса RD также должен присутствовать в магазине NTAUTH клиентского компьютера. Чтобы добавить магазин, запустите следующую команду в командной строке:

certutil -addstore-enterprise NTAUTH < CertFile>

Где < CertFile является корневым сертификатом эмитента > сертификата KDC.

Сведения об этом параметре для средства командной строки см. в книге -addstore.

****   Примечание   Если вы используете SSP учетных данных на компьютерах с поддерживаемой версией операционной системы, указанной в списке Applies To в начале этого раздела. Чтобы войти со смарт-картой с компьютера, не присоединився к домену, смарт-карта должна содержать корневую сертификацию контроллера домена. Безопасный канал инфраструктуры общедоступных ключей (PKI) невозможно установить без корневой сертификации контроллера домена.

Вход в службы удаленного рабочего стола в домене работает только в том случае, если УПЛ в сертификате использует следующую форму: <ClientName >@< DomainDNSName>

UpN в сертификате должен включать домен, который можно разрешить. В противном случае протокол Kerberos не может определить, к каков домену обращаться. Эту проблему можно решить, включив подсказки домена GPO X509. Дополнительные сведения об этом параметре см. в группе политики и реестра смарт-карт Параметры.

См. также

Принцип работы входа по смарт-карте в Windows