Политика удаления смарт-карт не применяется при выполнении единого входа с использованием настраиваемого поставщика учетных данных - PullRequest
0 голосов
/ 31 октября 2018

Я создал приложение предварительной загрузки EFI, в котором я ввожу учетные данные пользователя, которые передаются в Windows для входа в систему (Single Sign On) с использованием моего поставщика учетных данных.

У меня есть групповая политика «Интерактивный вход в систему: поведение при удалении смарт-карты», для которой установлено значение «Заблокировать рабочую станцию: рабочая станция блокируется при извлечении смарт-карты, что позволяет пользователям покидать зону, брать с собой свои смарт-карты и продолжать поддерживать защищенный сеанс. "

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

Согласно этой статье https://blogs.technet.microsoft.com/instan/2010/03/08/deconstructing-the-smartcard-removal-policy-service/ я вижу, что запись реестра НЕ создается в \ HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Политика удаления, когда я вхожу в систему с помощью единого входа для смарт-карт (мой поставщик учетных данных).

Итак, мой вопрос был: я что-то упустил в своем провайдере учетных данных? Должен ли я вызывать какой-либо API от моего поставщика учетных данных, чтобы заставить работать объект групповой политики, или я должен реализовать соответствующую логику в своем поставщике учетных данных, чтобы служба GPO применялась службой удаления смарт-карт?

1 Ответ

0 голосов
/ 31 октября 2018

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

  1. Параметр в пути реестра SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Removal Policy
  2. Это имя должно быть идентификатором сеанса входа (текст «0», «1» и т. Д.)
  3. Значение - это двоичная комбинация имени считывателя SmartCard и его статуса (как указано в статье).

В моем случае это выглядит так:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Removal Policy] "1"=hex:41,00,4b,00,53,00,20,00,69,00,66,00,64,00,68,00,20,00,30,00,00,00,00,00,1f,00

Он декодируется как строка Unicode «AKS ifdh 0» с NULL терминатором и DWORD значением 0x00190000, где 0x0019 - количество вставок и удалений смарт-карт в считыватель с момента загрузки.

...