Влизане на клиент с Active Directory

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

active

inactive

inactive

inactive

inactive

inactive

inactive

inactive

This document explains how to use the PIV smart card of a Nitrokey 3 for logon with Active Directory. It is available as of firmware version 1.8 and higher.

В бъдеще това ръчно осигуряване може да бъде автоматизирано с помощта на Windows MiniDriver.

Предварителни условия

Настройката изисква административен достъп до машините, на които работят Active Directory Directory Services (ADDS) и Active Directory Certificate Services (ADCS). На клиентската машина се изисква само достъп до съответния потребителски акаунт, използван за влизане в системата.

  • Windows server (supported versions are Windows Server 2016, 2019, 2022, 2025 in Standard and Enterprise editions)
    • Ролята ADDS е инсталирана и конфигурирана.

    • Инсталирана е ролята ADCS и е конфигуриран Enterprise-CA с коренен сертификат.
      • Всеки Domain Controller (DC) трябва да има издадени сертификати Domain Controller, Domain Controller Authentication и Kerberos Authentication.

      • Ако имате клиенти, които напускат фирмената мрежа, уверете се, че публикуваните пълни и делта списъци с отменени сертификати (CRL) могат да бъдат изтеглени от външни мрежи.

  • Клиент на Windows (поддържаните версии са Windows 10, 11 в издания Professional и Enterprise)
    • Клиентът трябва да е член на домейна на Active Directory (AD).

  • Nitrokey 3 with PIV smart card.

Конфигуриране на влизането със смарткарта за използване с Active Directory (AD)

Входът със смарткарта изисква шаблон на сертификат в удостоверяващия орган (CA) на домейна. Този шаблон определя стойностите и ограниченията на потребителските сертификати. Той се използва за подписване на заявката за сертификат (CSR) по време на предоставянето на Nitrokey.

  1. Подписването на заявка за сертификат за влизане със смарткарта изисква да се създаде шаблон на сертификат в удостоверяващия орган.

    1. От командния ред, PowerShell или Run, въведете certtmpl.msc и натиснете Enter.

    2. В прозореца с подробности изберете шаблона Smartcard Logon.

    3. В лентата с менюта щракнете върху Actions (Действия) → All Tasks (Всички задачи) → Duplicate Template (Дублиране на шаблона).

    4. Задайте следните настройки на шаблона в съответствие с посочения раздел.

      Съвместимост
      • Деактивиране на Показване на получените промени

      • Задайте Certificate Authority (Орган за издаване на сертификати) и Certificate recipient (Получател на сертификати) на най-старите клиенти в домейна, които трябва да използват вход със смарткарта.

        Important

        Ако искате да използвате ключове с елиптична крива (EC), клиентите ви трябва да са не по-стари от Windows Server 2008 и Windows Vista.

      Обща информация
      • Задаване на име за показване на шаблона **** .

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

      Обработка на заявки
      • Задайте цел на Подпис и влизане със смарт карта.

      Криптография
      • Задайте категория на доставчика Доставчик на услуги за съхранение на ключове.

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

        Important

        Microsoft recommends to use the RSA algorithm with a key length of 2048 Bit. If you choose to use Elliptic Curve (EC) keys you need to make additional changes on your client computers.

      Име на субекта
      • Задайте Доставка в заявката.

    5. Потвърдете създаването на шаблона с OK.

  2. След създаването на шаблон за удостоверение той трябва да бъде издаден, за да може да се използва от клиентите.

    1. From the Command Line, PowerShell, or Run, type certmgr.msc and press Enter.

    2. В навигационния панел разширете Certificate Authority (CA) и отидете на Certificate Templates.

    3. В лентата с менюта щракнете върху Action → New → Certificate Template to Issue.

    4. Изберете шаблона на сертификата, който искате да издадете, и потвърдете с OK.

Осигуряване на Nitrokey 3 за влизане със смарт карта с Active Directory

The smartcard logon requires to provision a Nitrokey for a user in Active Directory. The provisioning contains the private key and Certificate Singing Request (CSR) generation. The certificate is then written to the Nitrokey.

Warning

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

  1. Генерирайте частен ключ и запишете CSR във файл с командата по-долу.

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

    The value of <algorithm> is the used algorithm with its key length, e.g. rsa2048. The value of <subject-name> corresponds to the value of the distinguishedName attribute of the Active Directory user account. In most cases it is only necessary to include the common name part of the distinguished name, e.g. CN=John Doe. The value of <subject-alternative-name> corresponds to the value of the userPrincipalName attribute of the Active Directory user account.

  2. Подпишете CSR с удостоверяващия орган (CA) на домейна с командата по-долу.

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

    Стойността на <template-name> е името на шаблона на сертификата за влизане със смарт карта. Стойността на <file> е файлът със заявката за пеене на сертификат.

  3. Запишете подписания сертификат в Nitrokey с командата по-долу.

    nitropy nk3 piv --experimental write-certificate --key 9A --format PEM --path <file>
    

    Стойността на <file> е файлът на сертификата.

  4. Съпоставете сертификата с потребителския акаунт в Active Directory. Създайте картографирането на сертификата с командата по-долу.

    nitropy nk3 piv --experimental get-windows-auth-mapping
    

    Choose one of the offered certificate mappings.

    Tip

    Microsoft препоръчва да се използва съпоставянето X509IssuerSerialNumber.

    Запишете избраното съпоставяне в атрибута altSecurityIdentities на потребителския обект на Active Directory. За тази операция можете да използвате приложението Active Directory Users and Computers или PowerShell.

    1. From the Command Line, PowerShell, or Run, type dsa.msc and press Enter.

    2. In the menu bar click View → Advanced Features.

    3. Изберете съответния потребителски обект.

    4. In the menu bar click Action → Properties.

    5. Отворете раздела Редактор на атрибути.

    6. Изберете атрибута altSecurityIdentities.

    7. Click on Edit.

    8. Insert the certificate mapping in the text field and click Add.

    9. Приложете промяната с кликване върху OK.

    Important

    Ако съпоставянето на сертификатите не е зададено правилно, при опит за влизане в системата ще получите съобщение за грешка Logon screen message: Your credentials could not be verified.. Освен това в системния журнал на Windows ще видите съобщението за събитие по-долу.

    Source

    Kerberos-Key-Distribution-Center
    

    Message

    The Key Distribution Center (KDC) encountered a user certificate that was valid but could not be mapped to a user in a secure way (such as via explicit mapping, key trust mapping, or a SID). Such certificates should either be replaced or mapped directly to the user via explicit mapping. See https://go.microsoft.com/fwlink/?linkid=2189925 to learn more.
    

Отмяна на влизането със смарткарта за използване с Active Directory (AD)

Издадените удостоверения за влизане на потребителите в системата са изброени в Active Directory Certificate Services (ADCS). От ADCS сертификатите могат да бъдат отменяни, което ги добавя към конфигурирания списък за отменяне на сертификати (CRL). Това е необходимо в случай на изгубен или повреден Nitrokey.

Important

Силно препоръчително е никога да не оставяте неизползвани потребителски сертификати, без да ги отменяте.

Note

Възможно е временно да се отнеме сертификат с причината Certificate Hold. Това отнемане може да бъде върнато и следователно не е постоянно.

  1. От командния ред, PowerShell или Run, въведете certsrv.msc и натиснете Enter.

  2. В навигационния панел разширете органа за издаване на сертификати (CA) и преминете към Issued Certificates (Издадени сертификати).

  3. В прозореца с подробности изберете потребителския сертификат, който искате да анулирате.

  4. В лентата с менюта щракнете върху Action → All Tasks → Revoke Certificate.

  5. Посочете причината за отмяната, датата и часа и потвърдете с Yes.

  6. В навигационния панел преминете към Отнети сертификати.

  7. В лентата с менюта щракнете върху Action → All Tasks → Publish.

  8. Изберете списъка за оттегляне, който искате да публикувате, и потвърдете с OK.

Note

По време на всеки опит за влизане в системата със смарткарта Windows проверява дали представеният от смарткартата сертификат е включен в списъка с оттеглени сертификати (CRL). Ако сертификатът е открит в CRL, влизането в системата се отказва. Всеки CRL съдържа срок на валидност, който го прави невалиден. Windows кешира изтеглените CRL и ги актуализира, ако срокът на валидност на CRL изтича. Следователно анулирането не е незабавно и зависи от изтичането на срока на валидност на CRL, с който разполага клиентът.

Импортиране на потребителски сертификат от смарткарта в личното хранилище за сертификати

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

  1. Уверете се, че сте влезли в потребителския акаунт, на който съответства сертификатът.

  2. От командния ред, PowerShell или Run, въведете certsrv.msc и натиснете Enter.

  3. В навигационния прозорец разширете Personal key store и преминете към Certificates.

  4. В лентата с менюта щракнете върху Action → All Tasks → Import.

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

  6. След приключване на импортирането проверете в прозореца с подробности за импортирания сертификат. Ако Nitrokey е свързан, свойствата на сертификата трябва да показват съобщението You have a private key that corresponds to this certificate (Имате частен ключ, който съответства на този сертификат)., което показва, че частният на Nitrokey може да бъде идентифициран.