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

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

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

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

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

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

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

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

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

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

Примечания о модели перенаправления:

  1. Этот сценарий представляет собой сеанс удаленного входа на компьютере со службами удаленных рабочих столов. В удаленном сеансе (с меткой "Сеанс клиента") пользователь запускает net use /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 были внесены для улучшения перенаправления смарт-карт.

Интерфейс единого входа сервера узла сеансов удаленных рабочих столов

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

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

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

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

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

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

Чтобы включить вход смарт-карты на сервер узла сеансов удаленных рабочих столов (узла сеансов удаленных рабочих столов), сертификат центра распространения ключей (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 сервера узла сеансов удаленных рабочих столов также должен присутствовать в хранилище NTAUTH клиентского компьютера. Чтобы добавить хранилище, выполните следующую команду в командной строке:

certutil -addstore -enterprise NTAUTH < CertFile>

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

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

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

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

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

См. также

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