Вход клиента в систему с помощью Active Directory#

В этом документе объясняется, как использовать приложение PIV на Nitrokey 3 для входа в систему с помощью смарт-карт в Active Directory.

В будущем эта ручная инициализация может быть автоматизирована с помощью Windows MiniDriver.

Предупреждение

Приложение PIV для Nitrokey 3 в настоящее время считается нестабильным и не доступно в стабильных прошивках. Для получения этой функциональности необходимо установить тестовую прошивку. Последующие обновления прошивки могут привести к потере данных и криптографических ключей. Для получения дополнительной информации см. документацию по обновлению прошивки.

Пререквизиты#

Для настройки требуется административный доступ к машинам, на которых запущены службы каталогов Active Directory Directory Directory Services (ADDS) и Active Directory Certificate Services (ADCS). На клиентской машине требуется только доступ к соответствующей учетной записи пользователя, используемой для входа в систему.

  • Сервер Windows (поддерживаются версии Windows Server 2016, 2019, 2022 во всех редакциях)
    • Роль ADDS установлена и настроена.

    • Установлена роль ADCS и настроен Enterprise-CA с корневым сертификатом.
      • Для каждого контроллера домена (DC) должен быть выпущен сертификат Domain Controller, Domain Controller Authentication, и Kerberos Authentication.

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

  • Клиент Windows (поддерживаются версии Windows 10, 11 в редакциях Professional и Enterprise)
    • Клиент должен быть членом домена Active Directory (AD).

  • Nitrokey 3 с приложением PIV.

Настройка входа по смарт-карте для использования с Active Directory (AD)#

Для входа в систему с помощью смарт-карты требуется шаблон сертификата в центре сертификации (ЦС) домена. Этот шаблон определяет значения и ограничения пользовательских сертификатов. Он используется для подписи запроса на сертификат (CSR) при инициализации Nitrokey.

  1. Подписание запроса сертификата для входа в систему с помощью смарт-карты требует создания шаблона сертификата в центре сертификации.

    1. В командной строке, PowerShell или Run введите certtmpl.msc и нажмите Enter.

    2. На панели деталей выберите шаблон Smartcard Logon.

    3. В строке меню нажмите Действия → Все задачи → Дублировать шаблон.

    4. Настройте приведенные ниже параметры шаблона в соответствии с указанной вкладкой.

      Совместимость
      • Отключить Показать полученные изменения

      • Установите Certificate Authority и Certificate recipient для самых старых клиентов в домене, которые должны использовать вход по смарт-карте.

        Важно

        Если вы хотите использовать ключи Elliptic Curve (EC), ваши клиенты должны быть не старше Windows Server 2008 и Windows Vista.

      Общие сведения
      • Установите имя отображения шаблона **** .

      • Установите Срок действия и Период продления.

      Обработка запросов
      • Установите цель Подпись и вход по смарт-карте.

      Криптография
      • Установите категорию провайдера Key Storage Provider.

      • Задайте имя алгоритма и минимальный размер ключа.

        Важно

        Microsoft рекомендует использовать алгоритм RSA с длиной ключа 2048 Bit. Если вы решили использовать ключи Eliptic Curve (EC), вам необходимо внести дополнительные изменения на клиентских компьютерах.

      Название предмета
      • Установите Поставку по запросу.

    5. Подтвердите создание шаблона с помощью OK.

  2. После создания шаблона сертификата необходимо выпустить его для использования клиентами.

    1. В командной строке, PowerShell или Run введите certsrv.msc и нажмите Enter.

    2. В панели навигации разверните центр сертификации (ЦС) и перейдите по ссылке Шаблоны сертификатов.

    3. В строке меню нажмите Действие → Новый → Шаблон сертификата для выдачи.

    4. Выберите шаблон сертификата, который вы хотите выпустить, и подтвердите выбор с помощью OK.

Предоставление Nitrokey 3 для входа по смарт-карте в Active Directory#

Для входа по смарт-карте требуется предоставить Nitrokey для пользователя в Active Directory. В нем содержится закрытый ключ и запрос на генерацию сертификата (CSR). Затем сертификат записывается на Nitrokey.

Предупреждение

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

Важно

Если приложение PIV на Nitrokey ранее не использовалось, сначала выполните инициализацию с помощью nitropy nk3 piv init.

  1. Сгенерируйте закрытый ключ и запишите CSR в файл с помощью следующей команды.

    nitropy nk3 piv generate-key --key 9A --algo <algorithm> --subject-name <subject-name> --subject-alt-name-upn <subject-alternative-name> --out-file <file>
    

    Значение <algorithm> - это используемый алгоритм с длиной ключа, например, rsa2048. Значения <subject-name> и <subject-alternative-name> обычно соответствуют атрибутам commonName и userPrincipalName учетной записи пользователя Active Directory.

  2. Подпишите CSR в центре сертификации (ЦС) домена с помощью следующей команды.

    certreq -attrib CertificateTemplate:<template-name> -submit <file>
    

    Значение <template-name> - это имя шаблона сертификата для входа в систему с помощью смарт-карты. Значение <file> - это файл запроса на пение сертификата.

  3. Запишите подписанный сертификат в Nitrokey с помощью следующей команды.

    nitropy nk3 piv write-certificate --format PEM --path <file>
    

    Значение <file> - это файл сертификата.

Отмена входа по смарт-карте для использования в Active Directory (AD)#

Выданные сертификаты входа пользователей в систему перечислены в службе сертификации Active Directory (ADCS). Из ADCS сертификаты можно отозвать, для чего они добавляются в настроенный список отзыва сертификатов (CRL). Это необходимо в случае потери или поломки Nitrokey.

Важно

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

Примечание

Можно временно отозвать сертификат с причиной Certificate Hold. Этот отзыв может быть отменен и, следовательно, не является постоянным.

  1. В командной строке, PowerShell или Run введите certsrv.msc и нажмите Enter.

  2. В панели навигации раскройте центр сертификации (ЦС) и перейдите на страницу Issued Certificates.

  3. На панели подробностей выберите сертификат пользователя, который вы хотите отозвать.

  4. В строке меню нажмите Действие → Все задачи → Отозвать сертификат.

  5. Укажите причину отзыва, дату и время и подтвердите ее с помощью Да.

  6. В панели навигации перейдите к разделу Отозванные сертификаты.

  7. В строке меню нажмите Действие → Все задачи → Опубликовать.

  8. Выберите список отзыва, который вы хотите опубликовать, и подтвердите выбор с помощью OK.

Примечание

При каждой попытке входа в систему с помощью смарт-карты Windows проверяет, не включен ли сертификат, представленный смарт-картой, в список отзыва сертификатов (Certificate Revocation List, CRL). Если сертификат обнаружен в CRL, вход в систему будет запрещен. Каждый CRL содержит срок действия, по истечении которого он истекает. Windows кэширует найденные CRL и обновляет их, если срок действия CRL истекает. Таким образом, отзыв не является немедленным и зависит от срока действия CRL, который есть у клиента.

Импорт сертификата смарт-карты пользователя в личное хранилище сертификатов#

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

  1. Убедитесь, что вы вошли в систему под учетной записью пользователя, которой соответствует сертификат.

  2. В командной строке, PowerShell или Run введите certsrv.msc и нажмите Enter.

  3. В панели навигации разверните хранилище ключей Personal и перейдите к разделу Certificates.

  4. В строке меню нажмите Действия → Все задачи → Импорт.

  5. Следуйте указаниям мастера импорта и по запросу предоставьте файл сертификата пользователя.

  6. После завершения импорта проверьте панель подробностей для импортированного сертификата. Если Nitrokey подключен, в свойствах сертификата должно появиться сообщение У вас есть закрытый ключ, соответствующий этому сертификату. указывает на то, что закрытый ключ на Nitrokey может быть идентифицирован.