Logowanie klienta za pomocą usługi Active Directory¶
Compatible Nitrokeys |
|||||||
---|---|---|---|---|---|---|---|
✓ 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.
W przyszłości ten ręczny provisioning może być zautomatyzowany poprzez Windows MiniDriver.
Wymagania wstępne¶
Konfiguracja wymaga dostępu administracyjnego do komputerów z uruchomionymi Usługami katalogowymi w usłudze Active Directory (ADDS) i Usługami certyfikatów w usłudze Active Directory (ADCS). Na komputerze klienckim wymagany jest jedynie dostęp do odpowiedniego konta użytkownika używanego do logowania.
- Windows server (supported versions are Windows Server 2016, 2019, 2022, 2025 in Standard and Enterprise editions)
Zainstalowana i skonfigurowana rola ADDS.
- Zainstalowana rola ADCS i Enterprise-CA ze skonfigurowanym certyfikatem głównym.
Każdy kontroler domeny (DC) musi mieć wystawiony certyfikat Domain Controller, Domain Controller Authentication oraz Kerberos Authentication.
Jeśli klienci opuszczają sieć firmową, upewnij się, że opublikowane pełne i delta listy odwołania certyfikatów (CRL) są dostępne z sieci zewnętrznych.
- Klient Windows (obsługiwane wersje to Windows 10, 11 w wersjach Professional i Enterprise)
Klient musi być członkiem domeny Active Directory (AD).
Nitrokey 3 with PIV smart card.
Konfiguracja logowania za pomocą karty inteligentnej do użytku z usługą Active Directory (AD)¶
Logowanie za pomocą karty inteligentnej wymaga szablonu certyfikatu w urzędzie certyfikacji (CA) domeny. Szablon ten definiuje wartości i ograniczenia certyfikatów użytkownika. Jest on używany do podpisywania żądania certyfikatu (CSR) podczas dostarczania Nitrokey.
Podpisanie żądania certyfikatu do logowania za pomocą karty inteligentnej wymaga utworzenia szablonu certyfikatu w urzędzie certyfikacji.
Z Wiersza poleceń, PowerShell lub Uruchom wpisz
certtmpl.msc
i naciśnij Enter.W panelu szczegółów wybierz szablon Smartcard Logon.
Na pasku menu kliknij Actions → All Tasks → Duplicate Template.
Skonfiguruj poniższe ustawienia w szablonie, zgodnie ze wspomnianą zakładką.
- Kompatybilność
Wyłącz Pokaż zmiany
Ustaw Urząd certyfikacji i Odbiorca certyfikatu na najstarszych klientów w domenie, którzy mają używać logowania za pomocą karty inteligentnej.
Ważne
Jeśli chcesz używać kluczy z krzywą eliptyczną (EC), klienci nie mogą być starsi niż Windows Server 2008 i Windows Vista.
- Ogólne
Ustaw nazwę wyświetlaną szablonu **** .
Ustaw Okres ważności i Okres odnowienia.
- Obsługa żądań
Ustaw cel Podpis i logowanie kartą inteligentną.
- Kryptografia
Ustaw kategorię dostawcy Key Storage Provider.
Ustaw nazwę algorytmu i minimalny rozmiar klucza.
Ważne
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.
- Nazwa przedmiotu
Ustaw Supply w żądaniu.
Potwierdź utworzenie szablonu za pomocą OK.
Po utworzeniu szablonu certyfikatu, szablon musi zostać wydany, aby mógł być używany przez klientów.
From the Command Line, PowerShell, or Run, type
certmgr.msc
and press Enter.W okienku nawigacji rozwiń Urząd certyfikacji (CA) i przejdź do Szablony certyfikatów.
Na pasku menu kliknij Action → New → Certificate Template to Issue.
Wybierz szablon certyfikatu, który chcesz wystawić i potwierdź przyciskiem OK.
Udostępnianie Nitrokey 3 do logowania za pomocą kart inteligentnych w usłudze 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.
Ostrzeżenie
Przed wykonaniem poniższych kroków upewnij się, że konto użytkownika Active Directory, którego chcesz użyć do logowania za pomocą karty inteligentnej, istnieje. Czas utworzenia certyfikatu przed czasem utworzenia konta użytkownika doprowadzi do niepowodzenia logowania.
Wygeneruj klucz prywatny i zapisz CSR do pliku za pomocą poniższego polecenia.
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 thedistinguishedName
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 theuserPrincipalName
attribute of the Active Directory user account.Podpisz CSR z urzędem certyfikacji (CA) domeny za pomocą poniższego polecenia.
certreq -attrib CertificateTemplate:<template-name> -submit <file>
Wartość
<template-name>
to nazwa szablonu certyfikatu dla logowania za pomocą karty inteligentnej. Wartość<file>
to plik żądania śpiewania certyfikatu.Zapisz podpisany certyfikat do Nitrokey za pomocą poniższego polecenia.
nitropy nk3 piv --experimental write-certificate --key 9A --format PEM --path <file>
Wartością
<file>
jest plik certyfikatu.Mapowanie certyfikatu z kontem użytkownika usługi Active Directory. Utwórz mapowania certyfikatów za pomocą poniższego polecenia.
nitropy nk3 piv --experimental get-windows-auth-mapping
Choose one of the offered certificate mappings.
Wskazówka
Microsoft zaleca użycie mapowania
X509IssuerSerialNumber
.Zapisz wybrane mapowanie do atrybutu
altSecurityIdentities
obiektu użytkownika usługi Active Directory. Do tej operacji można użyć aplikacji Active Directory Users and Computers lub PowerShell.From the Command Line, PowerShell, or Run, type
dsa.msc
and press Enter.In the menu bar click View → Advanced Features.
Wybierz odpowiedni obiekt użytkownika.
In the menu bar click Action → Properties.
Otwórz kartę Edytor atrybutów.
Wybierz atrybut
altSecurityIdentities
.Click on Edit.
Insert the certificate mapping in the text field and click Add.
Zastosuj zmianę klikając na OK.
Otwórz PowerShell.
Dodaj wartość z
Set-ADUser -Identity "<sAMAccountName>" -Add @{altSecurityIdentities="<certificate-mapping>"}
, zastępując<sAMAccountName>
wartością nazwy logowania użytkownika i<certificate-mapping>
wybranym mapowaniem certyfikatu z góry.
Ważne
Jeśli mapowanie certyfikatu nie jest poprawnie ustawione, podczas próby logowania zostanie wyświetlony komunikat o błędzie
Logon screen message: Your credentials could not be verified.
. Dodatkowo w dzienniku zdarzeń systemu Windows pojawi się poniższy komunikat.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.
Cofnięcie logowania za pomocą karty inteligentnej do użytku z usługą Active Directory (AD)¶
Wydane certyfikaty logowania użytkowników są wymienione w Usługach certyfikatów w usłudze Active Directory (ADCS). Z ADCS certyfikaty mogą zostać unieważnione, co powoduje dodanie ich do skonfigurowanej listy CRL (Certificate Revocation List). Jest to wymagane w przypadku utraty lub uszkodzenia Nitrokey.
Ważne
Zdecydowanie zaleca się, aby nigdy nie pozostawiać nieużywanych certyfikatów użytkownika bez ich unieważnienia.
Informacja
Możliwe jest tymczasowe unieważnienie certyfikatu z powodem Certificate Hold. To unieważnienie może zostać przywrócone i dlatego nie jest trwałe.
Z Wiersza poleceń, PowerShell lub Uruchom wpisz
certsrv.msc
i naciśnij Enter.W okienku nawigacji rozwiń urząd certyfikacji (CA) i przejdź do Issued Certificates.
W oknie szczegółów wybierz certyfikat użytkownika, który chcesz odwołać.
Na pasku menu kliknij Action → All Tasks → Revoke Certificate.
Określ powód odwołania, datę i godzinę oraz potwierdź za pomocą Yes.
W oknie nawigacji przejdź do Odwołane certyfikaty.
Na pasku menu kliknij Action → All Tasks → Publish.
Wybierz listę odwołań, którą chcesz opublikować i potwierdź przyciskiem OK.
Informacja
Podczas każdej próby logowania za pomocą karty inteligentnej system Windows sprawdza, czy certyfikat przedstawiony przez kartę inteligentną znajduje się na liście CRL (Certificate Revocation List). Jeśli certyfikat znajduje się na liście CRL, logowanie jest odrzucane. Każda lista CRL zawiera datę ważności, która powoduje jej wygaśnięcie. System Windows buforuje pobrane listy CRL i aktualizuje je, jeśli lista CRL wkrótce wygaśnie. W związku z tym unieważnienie nie jest natychmiastowe i zależy od wygaśnięcia listy CRL posiadanej przez klienta.
Import certyfikatu karty inteligentnej użytkownika do magazynu certyfikatów osobistych¶
Certyfikat użytkownika przechowywany w Nitrokey może zostać zaimportowany do osobistego magazynu certyfikatów użytkownika. W niektórych sytuacjach jest to wymagana procedura.
Upewnij się, że jesteś zalogowany na konto użytkownika, któremu odpowiada certyfikat.
Z Wiersza poleceń, PowerShell lub Uruchom wpisz
certsrv.msc
i naciśnij Enter.W panelu nawigacji rozwiń magazyn kluczy Personal i przejdź do Certificates.
Na pasku menu kliknij Akcja → Wszystkie zadania → Importuj.
Postępuj zgodnie z instrukcjami kreatora importu i na żądanie podaj plik certyfikatu użytkownika.
Po zakończeniu importu sprawdź panel szczegółów zaimportowanego certyfikatu. Jeśli Nitrokey jest podłączony, we właściwościach certyfikatu powinien pojawić się komunikat You have a private key that corresponds to this certificate. wskazujący, że klucz prywatny na Nitrokey może zostać zidentyfikowany.
Upewnij się, że jesteś zalogowany na konto użytkownika, któremu odpowiada certyfikat.
Otwórz PowerShell.
Import the certificate with
Import-Certificate -CertStoreLocation Cert:\CurrentUser\My -FilePath <path>
, replacing<file>
with the certificate file path.After the import completed check for the certificate with
Get-ChildItem Cert:\CurrentUser\My
.