Client-Anmeldung mit 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.

In Zukunft kann diese manuelle Bereitstellung durch einen Windows MiniDriver automatisiert werden.

Voraussetzungen

Die Einrichtung erfordert administrativen Zugriff auf die Rechner, auf denen Active Directory Directory Directory Services (ADDS) und Active Directory Certificate Services (ADCS) laufen. Auf dem Client-Rechner ist nur der Zugriff auf das jeweilige Benutzerkonto erforderlich, das für die Anmeldung verwendet wird.

  • Windows server (supported versions are Windows Server 2016, 2019, 2022, 2025 in Standard and Enterprise editions)
    • ADDS-Rolle installiert und konfiguriert.

    • ADCS-Rolle installiert und Enterprise-CA mit Stammzertifikat konfiguriert.
      • Für jeden Domänencontroller (DC) muss ein Domänencontroller, Domänencontroller-Authentifizierungszertifikat und Kerberos-Authentifizierungszertifikat ausgestellt sein.

      • Wenn Sie Clients haben, die das Firmennetzwerk verlassen, stellen Sie sicher, dass die veröffentlichten vollständigen und Delta-Zertifikatswiderrufslisten (CRL) von externen Netzwerken abrufbar sind.

  • Windows-Client (unterstützte Versionen sind Windows 10, 11 in den Editionen Professional und Enterprise)
    • Der Client muss ein Domänenmitglied der Active Directory (AD)-Domäne sein.

  • Nitrokey 3 with PIV smart card.

Konfigurieren Sie die Smartcard-Anmeldung für die Verwendung mit Active Directory (AD)

Die Smartcard-Anmeldung erfordert eine Zertifikatsvorlage bei der Zertifizierungsstelle (CA) der Domäne. Diese Vorlage definiert die Werte und Beschränkungen der Benutzerzertifikate. Sie wird verwendet, um die Zertifikatsanforderung (CSR) bei der Bereitstellung des Nitrokeys zu signieren.

  1. Um eine Zertifikatsanforderung für die Smartcard-Anmeldung zu signieren, muss eine Zertifikatsvorlage in der Zertifizierungsstelle erstellt werden.

    1. Geben Sie in der Befehlszeile, in PowerShell oder in Ausführen certtmpl.msc ein und drücken Sie die Eingabetaste.

    2. Wählen Sie im Detailbereich die Vorlage Smartcard Logon aus.

    3. Klicken Sie in der Menüleiste auf Aktionen → Alle Tasks → Vorlage duplizieren.

    4. Legen Sie die nachstehenden Einstellungen auf der Vorlage fest, entsprechend der genannten Registerkarte.

      Kompatibilität
      • Deaktivieren Resultierende Änderungen anzeigen

      • Setzen Sie Zertifizierungsstelle und Zertifikatsempfänger auf die ältesten Clients in der Domäne, die Smartcard-Logon verwenden sollen.

        Wichtig

        Wenn Sie Schlüssel mit elliptischer Kurve (EC) verwenden möchten, dürfen Ihre Clients nicht älter als Windows Server 2008 und Windows Vista sein.

      Allgemein
      • Legen Sie eine Vorlage mit dem Anzeigenamen fest.

      • Stellen Sie die Gültigkeitsdauer und Verlängerungsdauer ein.

      Bearbeitung von Anfragen
      • Legen Sie einen Zweck für Signatur und Smartcard-Anmeldung fest.

      Kryptographie
      • Legen Sie eine Anbieterkategorie von Key Storage Provider fest.

      • Legen Sie einen Algorithmusnamen und eine Mindestschlüsselgröße fest.

        Wichtig

        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.

      Thema Name
      • Stellen Sie Versorgung in der Anfrage ein.

    5. Bestätigen Sie die Erstellung der Vorlage mit OK.

  2. Nach der Erstellung einer Zertifikatsvorlage muss die Vorlage ausgestellt werden, damit sie von den Clients verwendet werden kann.

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

    2. Erweitern Sie im Navigationsbereich die Zertifizierungsstelle (CA) und navigieren Sie zu Zertifikatsvorlagen.

    3. Klicken Sie in der Menüleiste auf Aktion → Neu → Zertifikatsvorlage zum Ausstellen.

    4. Wählen Sie die gewünschte Zertifikatsvorlage aus und bestätigen Sie mit OK.

Bereitstellung von Nitrokey 3 für die Smartcard-Anmeldung mit 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.

Warnung

Vergewissern Sie sich, dass das Active Directory-Benutzerkonto, das Sie für die Smartcard-Anmeldung verwenden möchten, existiert, bevor Sie die folgenden Schritte ausführen. Ein Erstellungszeitpunkt des Zertifikats vor dem Erstellungszeitpunkt des Benutzerkontos führt zu einer fehlgeschlagenen Anmeldung.

  1. Erzeugen Sie einen privaten Schlüssel und schreiben Sie die CSR mit dem folgenden Befehl in eine Datei.

    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. Signieren Sie die CSR mit der Zertifizierungsstelle (CA) der Domäne mit dem folgenden Befehl.

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

    Der Wert von <template-name> ist der Name der Zertifikatsvorlage für die Smartcard-Anmeldung. Der Wert von <file> ist die Datei für die Zertifikatsanforderung.

  3. Schreiben Sie das signierte Zertifikat mit dem folgenden Befehl in den Nitrokey.

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

    Der Wert von <file> ist die Zertifikatsdatei.

  4. Ordnen Sie das Zertifikat dem Active Directory-Benutzerkonto zu. Erstellen Sie die Zertifikatszuordnungen mit dem folgenden Befehl.

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

    Choose one of the offered certificate mappings.

    Tipp

    Microsoft empfiehlt die Verwendung des Mappings X509IssuerSerialNumber.

    Schreiben Sie die gewählte Zuordnung in das Attribut altSecurityIdentities des Active Directory-Benutzerobjekts. Sie können die Anwendung Active Directory-Benutzer und -Computer oder PowerShell für diesen Vorgang verwenden.

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

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

    3. Wählen Sie das entsprechende Benutzerobjekt aus.

    4. In the menu bar click Action → Properties.

    5. Öffnen Sie die Registerkarte Attribute Editor.

    6. Wählen Sie das Attribut altSecurityIdentities.

    7. Click on Edit.

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

    9. Übernehmen Sie die Änderung mit einem Klick auf OK.

    Wichtig

    Wenn die Zertifikatszuordnung nicht korrekt eingestellt ist, erhalten Sie die Fehlermeldung Logon screen message: Your credentials could not be verified., wenn Sie versuchen, sich anzumelden. Außerdem wird im Windows-Systemereignisprotokoll die folgende Meldung angezeigt.

    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.
    

Smartcard-Anmeldung für die Verwendung mit Active Directory (AD) widerrufen

Die ausgestellten Benutzeranmeldezertifikate werden in den Active Directory Certificate Services (ADCS) aufgeführt. Von ADCS aus können die Zertifikate widerrufen werden, wodurch sie zur konfigurierten Certificate Revocation List (CRL) hinzugefügt werden. Dies ist im Falle eines verlorenen oder defekten Nitrokeys erforderlich.

Wichtig

Es wird dringend empfohlen, ungenutzte Benutzerzertifikate niemals ohne Widerruf zu belassen.

Bemerkung

Es ist möglich, ein Zertifikat mit dem Grund Certificate Hold vorübergehend zu sperren. Dieser Widerruf kann rückgängig gemacht werden und ist daher nicht dauerhaft.

  1. Geben Sie in der Befehlszeile, in PowerShell oder in Ausführen certsrv.msc ein und drücken Sie die Eingabetaste.

  2. Erweitern Sie im Navigationsbereich die Zertifizierungsstelle (CA) und navigieren Sie zu Issued Certificates.

  3. Wählen Sie im Detailbereich das Benutzerzertifikat aus, das Sie widerrufen möchten.

  4. Klicken Sie in der Menüleiste auf Action → All Tasks → Revoke Certificate.

  5. Geben Sie einen Grund für den Widerruf, Datum und Uhrzeit an und bestätigen Sie mit Ja.

  6. Navigieren Sie im Navigationsbereich zu Revoked Certificates.

  7. Klicken Sie in der Menüleiste auf Aktion → Alle Tasks → Veröffentlichen.

  8. Wählen Sie die Sperrliste aus, die Sie veröffentlichen möchten, und bestätigen Sie mit OK.

Bemerkung

Bei jedem Anmeldeversuch mit der Smartcard prüft Windows, ob das von der Smartcard vorgelegte Zertifikat in einer Certificate Revocation List (CRL) aufgeführt ist. Wenn das Zertifikat in einer CRL gefunden wird, wird die Anmeldung verweigert. Jede CRL enthält eine Gültigkeitsdauer, um sie ablaufen zu lassen. Windows speichert die abgerufenen CRL im Zwischenspeicher und aktualisiert sie, wenn die CRL bald abläuft. Daher erfolgt ein Widerruf nicht sofort, sondern hängt vom Ablauf der CRL ab, die der Client besitzt.

Importieren eines Benutzer-Smartcard-Zertifikats in den persönlichen Zertifikatspeicher

Das Benutzerzertifikat, das auf dem Nitrokey gespeichert ist, kann in den persönlichen Zertifikatspeicher des Benutzers importiert werden. In bestimmten Situationen ist dies ein erforderliches Verfahren.

  1. Vergewissern Sie sich, dass Sie bei dem Benutzerkonto angemeldet sind, dem das Zertifikat entspricht.

  2. Geben Sie in der Befehlszeile, in PowerShell oder in Ausführen certsrv.msc ein und drücken Sie die Eingabetaste.

  3. Erweitern Sie im Navigationsbereich den Schlüsselspeicher Personal und navigieren Sie zu Certificates.

  4. Klicken Sie in der Menüleiste auf Action → All Tasks → Import.

  5. Folgen Sie dem Import-Assistenten und geben Sie die Benutzerzertifikatsdatei an, wenn Sie dazu aufgefordert werden.

  6. Prüfen Sie nach Abschluss des Imports das Detailfenster für das importierte Zertifikat. Wenn der Nitrokey verbunden ist, sollte in den Eigenschaften des Zertifikats die Meldung You have a private key that corresponds to this certificate. erscheinen, die anzeigt, dass der private Schlüssel auf dem Nitrokey identifiziert werden konnte.