Domänencontroller-Zertifikatvorlagen und Smartcard Anmeldung

Damit Domänencontroller Smartcard Anmeldungen verarbeiten können, benötigen sie Zertifikate, welche diese Funktion bereitstellen.

Eine der folgenden Bedingungen muss vom Domänencontroller-Zertifikat erfüllt werden, damit es für Smartcard Anmeldung nutzbar ist:

  • Der String "DomainController" in der Erweiterung für den Zertifikatvorlagenamen (Diese Erweiterung ist nur in Zertifikatvorlagen der Version 1 verfügbar).
  • Die Smartcard Logon (1.3.6.1.4.1.311.20.2.2) OID in der Extended Key Usages Erweiterung.
  • Die KDC Authentication (1.3.6.1.5.2.3.5) OID in der Extended Key Usages Erweiterung

Microsoft verwendet den Terminus "Enhanced Key Usage", die korrekte Bezeichnung gemäß RFC 5280 ist allerdings "Extended Key Usage".

Die Erweiterung "Zertifikatvorlagenname" ist nur in Version 1 Zertifikatvorlagen aus Windows 2000 Zeiten enthalten. Die einzige Zertifikatvorlage, welche diese Erweiterung mit dem String "DomainController" befüllt hat, ist die gleichnamige Version 1 Vorlage. Diese Zertifikatvorlagen unterstützen noch kein AutoEnrollment, darum ist bis zum heute aktuellen Windows Server 2019 ein Code im KDC enthalten, welcher dafür sorgt, dass diese Zertifikate von den Domänencontrollern beantragt werden, wenn es im Netzwerk eine Zertifizierungsstelle gibt, welche sie anbietet.

Das Extended Key Usage "Smartcard Logon" wurde mit der "Domain Controller Authentication" Zertifikatvorlage mit Windows Server 2003 eingeführt. Es wurde sowohl auf Client-Seite (Benutzer-Zertifikat) als auch auf Server-Seite (Domänencontroller-Zertifikat) verwendet.

Das Extended Key Usage "KDC Authentication" wurde mit der "Kerberos Authentication" Zertifikatvorlage mit Windows Server 2008 eingeführt. Es ermöglichte eine Auftrennung zwischen dem Server-Teil (KDC Authentication im Domänencontroller-Zertifikat) und dem Client-Teil (Smartcard Logon im Benutzer-Zertifikat).

Nachfolgend einige Beispiele, wie sich der KDC-Prozess in Verbindung mit den verschiedenen Zertifikattypen verhält.

Standard-Zertifikatvorlage "Domain Controller"

Diese Zertifikatvorlage zeichnet sich dadurch aus, dass das resultierende Zertifikat folgende Extended Key Usages enthält:

  • Server Authentication
  • Client Authentication

Darüber hinaus beinhaltet sie, da es sich um eine Zertifikatvorlage der Schema-Version 1 handelt, auch eine Erweiterung "Zertifikatvorlagenname" welche den Wert "DomainController" beinhaltet.

Die Smartcard Anmeldung funktioniert mit diesem Zertifikat, es wird jedoch das Ereignis Nr. 32 in der Ereignisanzeige des Domänencontrollers protokolliert, welche darauf hinweist, dass das Zertifikat nicht das "KDC Authentication" Extended Key Usage beinhaltet und dadurch eventuell Kompatibilitätsprobleme auftreten können.

Standard-Zertifikatvorlage "Domain Controller Authentication"

Diese Zertifikatvorlage zeichnet sich dadurch aus, dass das resultierende Zertifikat folgende Extended Key Usages enthält:

  • Server Authentication
  • Client Authentication
  • Smartcard Logon

Da es sich um eine Zertifikatvorlage der Schema-Version 2 handelt, ist keine Erweiterung "Zertifikatvorlagenname" enthalten.

Die Smartcard Anmeldung funktioniert mit diesem Zertifikat, es wird jedoch das Ereignis Nr. 32 in der Ereignisanzeige des Domänencontrollers protokolliert, welche darauf hinweist, dass das Zertifikat nicht das "KDC Authentication" Extended Key Usage beinhaltet und dadurch eventuell Kompatibilitätsprobleme auftreten können.

Standard-Zertifikatvorlage "Kerberos Authentication"

Diese Zertifikatvorlage zeichnet sich dadurch aus, dass das resultierende Zertifikat folgende Extended Key Usages enthält:

  • Server Authentication
  • Client Authentication
  • Smartcard Logon
  • KDC Authentication

Da es sich um eine Zertifikatvorlage der Schema-Version 2 handelt, ist keine Erweiterung "Zertifikatvorlagenname" enthalten.

Die Smartcard Anmeldung funktioniert mit diesem Zertifikat, und es werden auch keine Warnungen in der Ereignisanzeige des Domänencontrollers protokolliert.

Angepasste Zertifikatvorlage basierend auf "Kerberos Authentication", aber ohne das Smartcard Logon Extended Key Usage

Diese Zertifikatvorlage zeichnet sich dadurch aus, dass das resultierende Zertifikat folgende Extended Key Usages enthält:

  • Server Authentication
  • Client Authentication
  • KDC Authentication

Da es sich um eine Zertifikatvorlage der Schema-Version 2 handelt, ist keine Erweiterung "Zertifikatvorlagenname" enthalten.

Die Smartcard Anmeldung funktioniert mit diesem Zertifikat, und es werden auch keine Warnungen in der Ereignisanzeige des Domänencontrollers protokolliert. Diese Zertifikatvorlage erfüllt somit alle Mindestanforderungen für eine fehlerfreie Verarbeitung von Smartcard Anmeldungen.

Angepasste Zertifikatvorlage basierend auf "Domain Controller"

Diese Zertifikatvorlage zeichnet sich dadurch aus, dass das resultierende Zertifikat folgende Extended Key Usages enthält:

  • Server Authentication
  • Client Authentication

Im Gegensatz zur originalen Zertifikatvorlage beinhaltet sie jedoch keine Erweiterung "Zertifikatvorlagenname", da es sich um eine Zertifikatvorlage der Schema-Version 2 handelt, welche nicht anhand des Namens, sondern anhand der OID identifiziert wird.

Diese Zertifikatvorlage kann vom KDC nicht für Smartcard Logon verwendet werden. Es werden die Ereignisse Nr. 19 und 29 im Ereignisprotokoll des Domänencontrollers protokolliert, wenn ein Benutzer versucht, sich per Smartcard anzumelden:

This event indicates an attempt was made to use smartcard logon, but the KDC is unable to use the PKINIT protocol because it is missing a suitable certificate.
The Key Distribution Center (KDC) cannot find a suitable certificate to use for smart card logons, or the KDC certificate could not be verified. Smart card logon may not function correctly if this problem is not resolved. To correct this problem, either verify the existing KDC certificate using certutil.exe or enroll for a new KDC certificate.

Für einen Benutzer, der sich anmeldet, äußert sich der Fehler mit der Fehlermeldung: "Signing in with a security device isn’t supported for your account. For more info, contact your administrator."

Welche Zertifikatvorlage sollte also für Domänencontroller verwendet werden?

Grundsätzlich sollte eine eigene Vorlage erstellt werden, die aus der Kerberos Authentication Zertifikatvorlage hervorgeht.

Auch wenn es nicht direkt relevant für die Smartcard Anmeldung ist, enthält nur die "Kerberos Authentication" Zertifikatvorlage das CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS Flag, welches dafür sorgt, dass der vollqualifizierte Domänennamen und der NETBIOS-Name der Domäne in die Subject Alternative Name (SAN) Erweiterung des Domänencontroller-Zertifikats eingetragen werden.

Folgende Veränderungen können vorgenommen werden.

  • Möchte man verhindern, dass die Domänencontroller Smartcard-Anmeldungen annehmen können, kann dies durch Entfernung der beiden Extended Key Usages für "Smartcard Logon" und "KDC Authentication" erreicht werden.
  • Auch wenn die Domänencontroller Smartcard-Anmeldungen verarbeiten sollen, kann das "Smartcard Logon" Extended Key Usage entfernt werden, da der Server-seitige Teil der Smartcard Anmeldung durch das "KDC Authentication" Extended Key Usage abgebildet wird.

Weiterführende Links:

Externe Quellen

19 Gedanken zu „Domänencontroller-Zertifikatvorlagen und Smartcard Anmeldung“

Kommentare sind geschlossen.