Как запустить службу смарт карт
Перейти к содержимому

Как запустить службу смарт карт

  • автор:

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

В этом разделе для ИТ-специалистов приводятся ссылки на ресурсы по внедрению технологий интеллектуального карта в операционной системе Windows. Он содержит следующие ресурсы по архитектуре, управлению сертификатами и службам, связанным с интеллектуальными карта использования:

  • Архитектура смарт-карт. Сведения о включении связи со смарт-картами и средствами чтения смарт-карта, которые могут отличаться в зависимости от поставщика, который их предоставляет
  • Требования к сертификатам и перечисление. Сведения о требованиях к сертификатам интеллектуальной карта на основе операционной системы и об операциях, выполняемых операционной системой при вставке интеллектуального карта в компьютер
  • Смарт-карты и службы удаленных рабочих столов. Сведения об использовании смарт-карт для подключений к удаленному рабочему столу
  • Смарт-карты для службы Windows: узнайте, как реализована служба смарт-карт для Windows
  • Служба распространения сертификатов. Узнайте, как работает служба распространения сертификатов при вставке интеллектуальной карта в компьютер.
  • Служба политики удаления смарт-карт. Сведения об использовании групповая политика для управления тем, что происходит, когда пользователь удаляет смарт-карта

Требования к выпуску и лицензированию Windows

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

Windows Pro Windows Корпоративная Windows Pro для образовательных учреждений/SE Windows для образовательных учреждений
Да Да Да Да

Смарт-карты для лицензий службы Windows предоставляются следующими лицензиями:

Windows Pro/Pro для образовательных учреждений/SE Windows Корпоративная E3 Windows Корпоративная E5 Windows для образовательных учреждений A3 Windows для образовательных учреждений A5
Да Да Да Да Да

Дополнительные сведения о лицензировании Windows см. в статье Обзор лицензирования Windows.

Обратная связь

Были ли сведения на этой странице полезными?

Смарт-карты для службы Windows

В этом разделе для ИТ-специалистов и разработчиков интеллектуальных карта описывается, как служба смарт-карт для Windows (ранее называвшаяся Resource Manager смарт-карт) управляет средствами чтения и взаимодействия с приложениями.

Служба Смарт-карт для Windows предоставляет базовую инфраструктуру для всех остальных компонентов интеллектуального карта, так как она управляет интеллектуальными карта средствами чтения и взаимодействия с приложениями на компьютере. Он полностью соответствует спецификациям, заданным рабочей группой PC/SC. Сведения об этих спецификациях см. на веб-сайте спецификаций рабочей группы PC/SC.

Служба смарт-карт Windows выполняется в контексте локальной службы и реализуется как общая служба процесса узла служб (svchost). Служба «Смарт-карты для Windows» Scardsvr содержит следующее описание службы:

Для вызова winscard.dll в качестве правильного установщика класса INF-файл для средства чтения смарт-карта должен указать следующие значения в параметрах Class и ClassGUID:

По умолчанию служба настроена в ручном режиме. Создатели драйверов средства чтения смарт-карта должны настроить свои INF таким образом, чтобы служба запускалась автоматически, а файлы winscard.dll вызывают предопределенную точку входа для запуска службы во время установки. Точка входа определяется как часть класса SmartCardReader и не вызывается напрямую. Если устройство объявляет себя частью этого класса, точка входа автоматически вызывается для запуска службы при вставке устройства. Использование этого метода гарантирует, что служба будет включена при необходимости, но она также отключена для пользователей, которые не используют смарт-карты.

При запуске служба выполняет несколько функций:

  1. Он регистрирует себя для уведомлений службы.
  2. Он регистрируется для уведомлений Plug and Play (PnP), связанных с удалением и добавлением устройства.
  3. Он инициализирует кэш данных и глобальное событие, которое сигнализирует о запуске службы.

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

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

  • Введение в устройство
  • Инициализация чтения
  • Уведомление клиентов о новых читателях
  • Сериализация доступа к модулям чтения
  • Интеллектуальный доступ к карта
  • Туннелирование команд для чтения

Устранение неполадок со смарт-картой

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

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

  • Certutil
  • Отладка и трассировка с помощью препроцессора трассировки программного обеспечения Windows (WPP)
  • Протокол Kerberos, центр распространения ключей (KDC) и отладка и трассировка NTLM
  • Служба смарт-карт
  • Интеллектуальные средства чтения карта
  • Диагностика CryptoAPI 2.0

Certutil

Полное описание Certutil, включая примеры его использования, см. в разделе Certutil [W2012].

Вывод списка сертификатов, доступных в смарт-карта

Чтобы получить список сертификатов, доступных в смарт-карта, введите certutil.exe -scinfo .

Для этой операции ввод ПИН-кода не требуется. Если вам будет предложено ввести ПИН-код, можно нажать клавишу ESC.

Удаление сертификатов в смарт-карта

Каждый сертификат заключен в контейнер. При удалении сертификата на смарт-карта удаляется контейнер для сертификата.

Чтобы найти значение контейнера, введите certutil.exe -scinfo .

Чтобы удалить контейнер, введите certutil.exe -delkey -csp «Microsoft Base Smart Card Crypto Provider» «» .

Отладка и трассировка с помощью WPP

WPP упрощает трассировку работы поставщика трассировки. Он предоставляет механизм, позволяющий поставщику трассировки регистрировать двоичные сообщения в режиме реального времени. Зарегистрированные сообщения можно преобразовать в удобочитаемую трассировку операции. Дополнительные сведения см. в разделе Диагностика с помощью WPP — блог NDIS.

Включение трассировки

С помощью WPP используйте одну из следующих команд, чтобы включить трассировку:

tracelog.exe -kd -rt -start -guid -f ..etl -flags -ft 1 logman.exe start -ets -p <> - -ft 1 -rt -o ..etl -mode 0x00080000 

Параметры, приведенные в следующей таблице, можно использовать.

Понятное имя Код GUID Флажки
scardsvr 13038e47-ffec-425d-bc69-5707708075fe 0xffff
winscard 3fce7c5f-fb3b-4bce-a9d8-55cc0ce1cf01 0xffff
basecsp 133a980d-035d-4e2d-b250-94577ad8fced 0x7
scksp 133a980d-035d-4e2d-b250-94577ad8fced 0x7
msclmd fb36caf4-582b-4604-8841-9263574c4f2c 0x7
credprov dba0e0e0e0-505a-4ab6-aa3f-22f6f743b480 0xffff
certprop 30eae751-411f-414c-988b-a8bfa8913f49 0xffff
scfilter eed7f3c9-62ba-400e-a001-658869df9a91 0xffff
wudfusbccid a3c09ba3-2f62-4be5-a50f-8278a646ac9d 0xffff

Примеры:

Чтобы включить трассировку для службы SCardSvr, выполните следующие действия:

tracelog.exe -kd -rt -start scardsvr -guid \#13038e47-ffec-425d-bc69-5707708075fe -f .\scardsvr.etl -flags 0xffff -ft 1 logman.exe start scardsvr -ets -p 0xffff -ft 1 -rt -o .\scardsvr.etl -mode 0x00080000 

Включение трассировки для scfilter.sys :

tracelog.exe -kd -rt -start scfilter -guid \#eed7f3c9-62ba-400e-a001-658869df9a91 -f .\scfilter.etl -flags 0xffff -ft 1 

Остановка трассировки

С помощью WPP используйте одну из следующих команд, чтобы остановить трассировку:

tracelog.exe -stop logman.exe -stop -ets 

Например, чтобы остановить трассировку:

tracelog.exe -stop scardsvr logman.exe -stop scardsvr -ets 

Отладка и трассировка протокола Kerberos, KDC и NTLM

Эти ресурсы можно использовать для устранения неполадок с этими протоколами и KDC:

  • Советы по устранению неполадок Kerberos и LDAP
  • Комплект драйверов Windows (WDK) и средства отладки для Windows (WinDbg). Средство журнала трассировки в этом пакете SDK можно использовать для отладки ошибок проверки подлинности Kerberos.

Чтобы начать трассировку, можно использовать Tracelog . Различные компоненты используют разные guid элемента управления, как описано в этих примерах. Дополнительные сведения см. в разделе Tracelog

Протокол NTLM

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

tracelog.exe -kd -rt -start ntlm -guid \#5BBB6C18-AA45-49b1-A15F-085F7ED0AA90 -f .\ntlm.etl -flags 0x15003 -ft 1 

Чтобы остановить трассировку для проверки подлинности NTLM, выполните следующую команду:

tracelog -stop ntlm 

Проверка подлинности Kerberos

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

tracelog.exe -kd -rt -start kerb -guid \#6B510852-3583-4e2d-AFFE-A67F9F223438 -f .\kerb.etl -flags 0x43 -ft 1 

Чтобы остановить трассировку для проверки подлинности Kerberos, выполните следующую команду:

tracelog.exe -stop kerb 

KDC

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

tracelog.exe -kd -rt -start kdc -guid \#1BBA8B19-7F31-43c0-9643-6E911F79A06B -f .\kdc.etl -flags 0x803 -ft 1 

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

tracelog.exe -stop kdc 

Чтобы остановить трассировку с удаленного компьютера, выполните следующую команду:

logman.exe -s

Расположение по умолчанию для logman.exe — %systemroot%system32. Используйте параметр -s , чтобы указать имя компьютера.

Настройка трассировки с помощью реестра

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
Имя значения: KerbDebugLevel
Тип значения: DWORD
Данные значения: c0000043

Если вы использовали Tracelog , найдите следующий файл журнала в текущем каталоге: kerb.etl/kdc.etl/ntlm.etl .

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

  • NTLM: %systemroot%\tracing\msv1_0
  • Kerberos: %systemroot%\tracing\kerberos
  • KDC: %systemroot%\tracing\kdcsvc

Для декодирования файлов трассировки событий можно использовать Tracefmt (tracefmt.exe). Tracefmt — это программа командной строки, которая форматирует и отображает сообщения трассировки из файла журнала трассировки событий (ETL) или сеанса трассировки в реальном времени. Tracefmt может отображать сообщения в окне командной строки или сохранять их в текстовом файле. Он находится в подкаталоге \tools\tracing комплекта драйверов Windows (WDK). Дополнительные сведения см. в статье Tracefmt .

Служба смарт-карт

Интеллектуальная служба диспетчера ресурсов карта выполняется в контексте локальной службы. Он реализуется как общая служба процесса узла служб (svchost).

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

  1. Нажмите клавиши CTRL+ALT+DEL, а затем выберите Запустить диспетчер задач.
  2. В диалоговом окне Диспетчер задач Windows выберите вкладку Службы .
  3. Выберите столбец Имя , чтобы отсортировать список в алфавитном порядке, а затем введите s
  4. В столбце Имя найдите SCardSvr, а затем просмотрите столбец Состояние , чтобы узнать, запущена или остановлена служба.

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

  1. Запуск от имени администратора в командной строке
  2. Если появится диалоговое окно Контроль учетных записей пользователей, убедитесь, что отображается нужное действие, и нажмите кнопку Да.
  3. В командной строке введите net stop SCardSvr
  4. В командной строке введите net start SCardSvr

В командной строке можно использовать следующую команду, чтобы проверка, запущена ли служба: sc queryex scardsvr .

Следующий пример кода является примером выходных данных этой команды:

SERVICE_NAME: scardsvr TYPE : 20 WIN32_SHARE_PROCESS STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PID : 1320 FLAGS : C:\> 

Интеллектуальные средства чтения карта

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

Чтобы проверка, работает ли средство чтения интеллектуального карта:

  1. Перейдите к компьютеру
  2. Щелкните правой кнопкой мыши компьютер и выберите Пункт Свойства.
  3. В разделе Задачи выберите диспетчер устройств
  4. В диспетчер устройств разверните узел Средства чтения смарт-карта, выберите имя средства чтения смарт-карта, которое вы хотите проверка, а затем выберите Свойства.

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

Диагностика CryptoAPI 2.0

Диагностика CryptoAPI 2.0 доступна в версиях Windows, которые поддерживают CryptoAPI 2.0 и могут помочь в устранении неполадок инфраструктуры открытых ключей (PKI).

Диагностика CryptoAPI 2.0 регистрирует события в журнале событий Windows. Журналы содержат подробные сведения о проверке цепочки сертификатов, операциях хранилища сертификатов и проверке подписи. Эти сведения упрощают выявление причин проблем и сокращают время, необходимое для диагностики.

Дополнительные сведения о диагностике CryptoAPI 2.0 см. в разделе Устранение неполадок с PKI предприятия.

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

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

Интеллектуальная карта логика перенаправления и API WinSCard объединяются для поддержки нескольких перенаправленных сеансов в одном процессе.

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

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

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

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

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

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

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

  1. Этот сценарий представляет собой сеанс удаленного входа на компьютере со службами удаленных рабочих столов. В удаленном сеансе (помеченном как сеанс клиента) пользователь запускается net use /smartcard
  2. Стрелки представляют поток ПИН-кода после ввода ПИН-кода в командной строке, пока он не достигнет смарт-карта пользователя в средстве чтения смарт-карта, подключенном к клиентскому компьютеру подключения к удаленному рабочему столу (RDC)
  3. Проверка подлинности выполняется LSA в сеансе 0.
  4. Обработка CryptoAPI выполняется в LSA ( lsass.exe ). Это возможно, так как перенаправление RDP ( rdpdr.sys ) разрешает контекст для каждого сеанса, а не для процесса.
  5. Библиотека ScHelper — это оболочка CryptoAPI, относяющаяся к протоколу Kerberos.
  6. Решение о перенаправлении принимается для каждого интеллектуального карта контексте на основе сеанса потока, выполняющего SCardEstablishContext вызов.

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

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

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

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

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

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

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

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

certutil.exe -dspublish NTAuthCA "DSCDPContainer" 

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

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

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

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

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

certutil.exe -scroots update 

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

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

certutil -addstore -enterprise NTAUTH

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

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

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

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

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

Обратная связь

Были ли сведения на этой странице полезными?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *