Die "Application Policies" Zertifikaterweiterung

Für welche Zwecke ein digitales Zertifikat verwendet werden darf, wird über die Zertifikaterweiterungen "Key Usage" und "Extended Key Usage" gesteuert.

In der "Extended Key Usage" Zertifikaterweiterung werden die erweiterten Schlüsselverwendungen eingetragen, für welche das Zertifikat verwendet werden darf.

Es gibt jedoch bei von einer Microsoft Zertifizierungsstelle ausgestellten Zertifikaten noch eine weitere Zertifikaterweiterung namens "Anwendungsrichtlinien" (engl. "Application Policies"), die ebenfalls eine der Extended Key Usages Erweiterung sehr ähnliche Liste enthält.

Es kann hier zu Verwirrung betreffend der Begrifflichkeiten kommen, da Extended Key Usages manchmal ebenso als "Application Policies" bezeichnet werden (u.A. von certutil und dem Zertifikat-Shell-Dialog in Windows). Daher muss bei der Diskussion zwischen dem Begriff "Application Policies", bei denen eigentlich "Enhanced/Extended Key Usages" gemeint ist, und der "Application Policies" Zertifikaterweiterung in ausgestellten Zertifikaten unterschieden werden.

Hintergrund

Kennen Sie TameMyCerts? TameMyCerts ist ein Add-On für die Microsoft Zertifizierungsstelle (Active Directory Certificate Services). Es erweitert die Funktion der Zertifizierungsstelle und ermöglicht die Anwendung von Regelwerken, um die sichere Automatisierung von Zertifikat-Ausstellungen zu realisieren. TameMyCerts ist einzigartig im Microsoft-Ökosystem, hat sich bereits in unzähligen Unternehmen auf der ganzen Welt bewährt und steht unter einer freien Lizenz. Es kann über GitHub heruntergeladen und kostenlos verwendet werden. Professionelle Wartung wird ebenfalls angeboten.

Die "Application Policies" Zertifikaterweiterung ist ein Microsoft-proprietäres Relikt aus Windows 2000/2003 Zeiten.

Application policy is Microsoft specific and is treated much like Extended Key Usage.

Entsprechend heit auch das dazugehörige COM Interface IX509ExtensionMSApplicationPolicies, beinhaltet also ein Kürzel, welches auf eine proprietäre Erweiterung hindeutet.

Der Begriff "Extended Key Usage" ist nicht komplett trennscharf. Die einschlägigen RFC sprechen von "Extended Key Usage", im Microsoft-PKI-Umfeld wird oft der Begriff "Enhanced Key Usage" verwendet. Beide Begriffe sind allerdings exakt deckungsgleich.

Anwendungen, die sich konform zum maßgeblichen RFC 5280 verhalten, kennen diese Zertifikaterweiterung üblicherweise nicht und verwenden diese entsprechend auch nicht. Ebenso würden sie die Zertifikatverarbeitung abbrechen, wenn diese Erweiterung als kritisch markiert wäre.

Andere Zertifizierungsstellen-Produkte tragen diese Erweiterung nicht in die ausgestellten Zertifikate ein, somit kann nicht davon ausgegangen werden, dass diese von allen gängigen Endanwendungen unterstützt wird.

Die RFC-konforme Zertifikaterweiterung ist die "Extended Key Usage" Erweiterung.

Da die Zertifikaterweiterung in der Standardeinstellung als nicht kritisch markiert ist, wird sie von Anwendungen, welche sie nicht kennen und entsprechend nicht interpretieren können, ignoriert. Somit hat sie effektiv keinen Effekt, auch wenn sie in einem Zertifikat vorhanden sein sollte.

Die "Application Policies" Erweiterung als Sicherheitsproblem

Justin Bollinger von TrustedSec hat herausgefunden, dass es bei Offline-Zertifikatanforderungen gegen Zertifikatvorlagen der Schema-Version 1 möglich ist (ähnlich wie bei der Security Identifier Erweiterung), beliebige Application Policies im Zertifikatantrag mitzusenden, welche unverändert in das ausgestellte Zertifikat übernommen werden und anschließend für einen Angriff auf die Active Directory Gesamtstruktur verwendet werden können (ESC15).

Aus diesem Grund ist es sinnvoll, die Erweiterung nicht in ausgestellte Zertifikate einzutragen.

Generell ist es auch sinnvoll, keine Version 1 Zertifikatvorlagen einzusetzen, sondern stets selbst definierte, welche von den mitgelieferten Version 2 und 3 Zertifikatvorlagen abstammen.

Die "Application Policies" Erweiterung aus ausgestellten Zertifikaten entfernen

In der Standardeinstellung ist das Windows Default Policy Modul der Zertifizierungsstelle dafür verantwortlich, dass diese Zertifikaterweiterung in ausgestellte Zertifikate geschrieben wird.

Die "Application Policies" Zertifikaterweiterung kann mit folgendem Kommandozeilenbefehl auf der Zertifizierungsstelle deaktiviert werden.

certutil -setreg policy\DisableExtensionList +1.3.6.1.4.1.311.21.10

Der Zertifizierungsstellen-Dienst muss anschließend neu gestartet werden, damit die Änderungen wirksam werden.

Ab diesem Moment ausgestellte Zertifikate enthalten nur noch die "Extended Key Usage" Erweiterung, aber nicht mehr die "Application Policies" Erweiterung.

Weiterführende Links:

Externe Quellen:

de_DEDeutsch