Client-Anmeldung mit Active Directory#
Dieses Dokument erklärt, wie die PIV-Anwendung eines Nitrokey 3 für die Smartcard-Anmeldung bei Active Directory verwendet wird.
In Zukunft kann diese manuelle Bereitstellung durch einen Windows MiniDriver automatisiert werden.
Warnung
Die PIV-Anwendung des Nitrokey 3 gilt derzeit als instabil und ist in den stabilen Firmware-Versionen nicht verfügbar. Um diese Funktionalität zu erhalten, muss eine Test-Firmware installiert werden. Spätere Firmware-Updates können zu einem Verlust von Daten und kryptografischen Schlüsseln führen. Weitere Informationen finden Sie unter in der Dokumentation zum Firmware-Update.
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 (unterstützte Versionen sind Windows Server 2016, 2019, 2022 in allen Editionen)
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 mit PIV-Anwendung.
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.
Um eine Zertifikatsanforderung für die Smartcard-Anmeldung zu signieren, muss eine Zertifikatsvorlage in der Zertifizierungsstelle erstellt werden.
Geben Sie in der Befehlszeile, in PowerShell oder in Ausführen
certtmpl.msc
ein und drücken Sie die Eingabetaste.Wählen Sie im Detailbereich die Vorlage Smartcard Logon aus.
Klicken Sie in der Menüleiste auf Aktionen → Alle Tasks → Vorlage duplizieren.
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 empfiehlt die Verwendung des RSA-Algorithmus mit einer Schlüssellänge von
2048
Bit. Wenn Sie sich für die Verwendung von EC-Schlüsseln (Eliptic Curve) entscheiden, müssen Sie zusätzliche Änderungen auf Ihren Client-Computern vornehmen.
- Thema Name
Stellen Sie Versorgung in der Anfrage ein.
Bestätigen Sie die Erstellung der Vorlage mit OK.
Nach der Erstellung einer Zertifikatsvorlage muss die Vorlage ausgestellt werden, damit sie von den Clients verwendet werden kann.
Geben Sie in der Befehlszeile, in PowerShell oder in Ausführen
certsrv.msc
ein und drücken Sie die Eingabetaste.Erweitern Sie im Navigationsbereich die Zertifizierungsstelle (CA) und navigieren Sie zu Zertifikatsvorlagen.
Klicken Sie in der Menüleiste auf Aktion → Neu → Zertifikatsvorlage zum Ausstellen.
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#
Die Smartcard-Anmeldung erfordert die Bereitstellung eines Nitrokeys für einen Benutzer im Active Directory. Die Bereitstellung beinhaltet den privaten Schlüssel und die Generierung eines Certificate Singing Request (CSR). Das Zertifikat wird dann auf den Nitrokey geschrieben.
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.
Wichtig
Wenn die PIV-Anwendung auf dem Nitrokey noch nicht verwendet wurde, führen Sie zunächst eine Initialisierung mit nitropy nk3 piv init
durch.
Erzeugen Sie einen privaten Schlüssel und schreiben Sie die CSR mit dem folgenden Befehl in eine Datei.
nitropy nk3 piv generate-key --key 9A --algo <algorithm> --subject-name <subject-name> --subject-alt-name-upn <subject-alternative-name> --out-file <file>
Der Wert von
<algorithm>
ist der verwendete Algorithmus mit seiner Schlüssellänge, z.B.rsa2048
. Die Werte von<subject-name>
und<subject-alternative-name>
entsprechen in der Regel dem AttributcommonName
unduserPrincipalName
des Active Directory-Benutzerkontos.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.Schreiben Sie das signierte Zertifikat mit dem folgenden Befehl in den Nitrokey.
nitropy nk3 piv write-certificate --format PEM --path <file>
Der Wert von
<file>
ist die Zertifikatsdatei.
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.
Geben Sie in der Befehlszeile, in PowerShell oder in Ausführen
certsrv.msc
ein und drücken Sie die Eingabetaste.Erweitern Sie im Navigationsbereich die Zertifizierungsstelle (CA) und navigieren Sie zu Issued Certificates.
Wählen Sie im Detailbereich das Benutzerzertifikat aus, das Sie widerrufen möchten.
Klicken Sie in der Menüleiste auf Action → All Tasks → Revoke Certificate.
Geben Sie einen Grund für den Widerruf, Datum und Uhrzeit an und bestätigen Sie mit Ja.
Navigieren Sie im Navigationsbereich zu Revoked Certificates.
Klicken Sie in der Menüleiste auf Aktion → Alle Tasks → Veröffentlichen.
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.
Vergewissern Sie sich, dass Sie bei dem Benutzerkonto angemeldet sind, dem das Zertifikat entspricht.
Geben Sie in der Befehlszeile, in PowerShell oder in Ausführen
certsrv.msc
ein und drücken Sie die Eingabetaste.Erweitern Sie im Navigationsbereich den Schlüsselspeicher Personal und navigieren Sie zu Certificates.
Klicken Sie in der Menüleiste auf Action → All Tasks → Import.
Folgen Sie dem Import-Assistenten und geben Sie die Benutzerzertifikatsdatei an, wenn Sie dazu aufgefordert werden.
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.
Vergewissern Sie sich, dass Sie bei dem Benutzerkonto angemeldet sind, dem das Zertifikat entspricht.
Öffnen Sie PowerShell.
Wechsel zum persönlichen Zertifikatspeicher des Benutzers mit
Set-Location -Path cert:\CurrentUser\My
.Importieren Sie das Zertifikat in den Speicher mit
Import-Certificate -Filepath '<path>'
und ersetzen Sie<path>
durch den Pfad der Zertifikatsdatei.