Logowanie klienta za pomocą usługi Active Directory

W tym dokumencie wyjaśniono, jak używać aplikacji PIV Nitrokey 3 do logowania za pomocą karty inteligentnej w usłudze Active Directory.

W przyszłości ten ręczny provisioning może być zautomatyzowany poprzez Windows MiniDriver.

Ostrzeżenie

Aplikacja PIV Nitrokey 3 jest obecnie uważana za niestabilną i nie jest dostępna w stabilnych wersjach oprogramowania układowego. Aby uzyskać tę funkcjonalność, wymagane jest zainstalowanie testowego oprogramowania układowego. Kolejne aktualizacje oprogramowania sprzętowego mogą prowadzić do utraty danych i kluczy kryptograficznych. Więcej informacji można znaleźć na stronie w dokumentacji aktualizacji oprogramowania sprzętowego.

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.

  • Serwer Windows (obsługiwane wersje to Windows Server 2016, 2019, 2022 we wszystkich edycjach)
    • 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 z aplikacją PIV.

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.

  1. Podpisanie żądania certyfikatu do logowania za pomocą karty inteligentnej wymaga utworzenia szablonu certyfikatu w urzędzie certyfikacji.

    1. Z Wiersza poleceń, PowerShell lub Uruchom wpisz certtmpl.msc i naciśnij Enter.

    2. W panelu szczegółów wybierz szablon Smartcard Logon.

    3. Na pasku menu kliknij Actions → All Tasks → Duplicate Template.

    4. 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 zaleca używanie algorytmu RSA z kluczem o długości 2048 Bit. Jeśli zdecydujesz się użyć kluczy Eliptic Curve (EC), musisz wprowadzić dodatkowe zmiany na komputerach klienckich.

      Nazwa przedmiotu
      • Ustaw Supply w żądaniu.

    5. Potwierdź utworzenie szablonu za pomocą OK.

  2. Po utworzeniu szablonu certyfikatu, szablon musi zostać wydany, aby mógł być używany przez klientów.

    1. Z Wiersza poleceń, PowerShell lub Uruchom wpisz certsrv.msc i naciśnij Enter.

    2. W okienku nawigacji rozwiń Urząd certyfikacji (CA) i przejdź do Szablony certyfikatów.

    3. Na pasku menu kliknij Action → New → Certificate Template to Issue.

    4. 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

Logowanie za pomocą karty inteligentnej wymaga utworzenia klucza Nitrokey dla użytkownika w usłudze Active Directory. Provisiong zawiera klucz prywatny i generowanie Certificate Singing Request (CSR). Certyfikat jest następnie zapisywany w 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.

Ważne

Jeśli aplikacja PIV na Nitrokey nie była wcześniej używana, najpierw wykonaj inicjalizację za pomocą nitropy nk3 piv init.

  1. Wygeneruj klucz prywatny i zapisz CSR do pliku za pomocą poniższego polecenia.

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

    Wartość <algorithm> jest używanym algorytmem z jego długością klucza, np. rsa2048. Wartości <subject-name> i <subject-alternative-name> odpowiadają zazwyczaj atrybutom commonName i userPrincipalName konta użytkownika Active Directory.

  2. 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.

  3. Zapisz podpisany certyfikat do Nitrokey za pomocą poniższego polecenia.

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

    Wartością <file> jest plik certyfikatu.

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.

  1. Z Wiersza poleceń, PowerShell lub Uruchom wpisz certsrv.msc i naciśnij Enter.

  2. W okienku nawigacji rozwiń urząd certyfikacji (CA) i przejdź do Issued Certificates.

  3. W oknie szczegółów wybierz certyfikat użytkownika, który chcesz odwołać.

  4. Na pasku menu kliknij Action → All Tasks → Revoke Certificate.

  5. Określ powód odwołania, datę i godzinę oraz potwierdź za pomocą Yes.

  6. W oknie nawigacji przejdź do Odwołane certyfikaty.

  7. Na pasku menu kliknij Action → All Tasks → Publish.

  8. 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.

  1. Upewnij się, że jesteś zalogowany na konto użytkownika, któremu odpowiada certyfikat.

  2. Z Wiersza poleceń, PowerShell lub Uruchom wpisz certsrv.msc i naciśnij Enter.

  3. W panelu nawigacji rozwiń magazyn kluczy Personal i przejdź do Certificates.

  4. Na pasku menu kliknij Akcja → Wszystkie zadania → Importuj.

  5. Postępuj zgodnie z instrukcjami kreatora importu i na żądanie podaj plik certyfikatu użytkownika.

  6. 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.