PKI Grundlagen: Die CAPolicy.inf

Durch die Verwendung einer CAPolicy.inf Datei können Konfigurationseinstellungen festgesetzt werden, die bei der Installation der Zertifizierungsstelle nicht mit angegeben werden können.

Einige der nur durch die CAPolicy Datei zu konfigureirenden Einstellungen sind:

  • Verhindern, dass CRLDelta Sperrlisten bei der Installation erstellt werden
  • Verhindern der Standard Zertifikats Vorlage
  • Einbinden von OIDs
  • definieren von mehreren Ausstellungsebenen
  • Bindung an bestimmte Richtlinien
  • Festlegen von Anwendungsgebieten
  • Vordefinition von Sperrlistenveröffentlichungsintervallen

Eine Inf Datei besteht aus 3 unterschiedlichen Arten von Einträgen. Der erste Eintrag ist der Bereich, dieser wird immer in eckigen Klammern geschrieben. Beispiel: [Bereich]. Der zweite Eintrag ist der Schlüssel. Diesem wird immer ein Wert zugewiesen, dieser ist der dritte Wert. Beispiel: Schlüssel=Wert

Bereichsnamen dürfen keine Backslash als letztes Zeichen, Klammern, einzelne Prozentzeichen, Semikolons oder Anführungszeichen enthalten. Zusätzlich sind keine Leerstellen als Anfang oder Endzeichen, Zeilenforschubszeichen, Return Zeichen, Tabulatoren und nicht sichtbare Steuerzeichen erlaubt.

Version

Version ist der einzige Bereich, der zwingend in jeder CAPolicy.inf vorhanden sein muss. Diese Angabe steht immer am Anfang und definiert die Art der Inf Datei.


 PolicyStatementExtension

Auf die Version folgen die Richtlinien. Dieser Bereich listet die Richtlinien für die CA auf. Die einzelnen Richtlinien werden immer mit einem Komma von einender getrennt.

Zertifikatsrichtlinien beschreiben wie die Maßnahmen die notwendig sind um einen Antragssteller vor der Ausstellung zu identifizieren bzw. zu überprüfen. Ist für das Ausstellen eines Zertifikates ein Ausweis mit Lichtbild vorgeschrieben, wird diesem Zertifikat eher vertraut, aus organisatorischer Sicht gesehen, als einem Zertifikat, welches nur einen Benutzer und ein Passwort voraussetzt. Zertifikatsverwendungsrichtlinien beschreiben, welche Maßnahmen zum Schutz der Zertifizierungsstelle durch die Organisation getroffen werden.

Enthalten sein sollten:

Art der Identitätsprüfung

  • vorgesehene Verwendungszweck des Zertifikats
  • Wo wird der private Schlüssel hinterlegt
  • Verantwortung des Antragsstellers, bei Verlust oder Kompromittierung des Schlüssels
  • Sperrungsvorschriften

 Richtlinien Bereiche

Für jede Richtlinie, die im PolicyStatementExtension Bereich definiert wurde, muss ein eigener Bereich mit den Einstellungen für diese Richtlinie erstellt werden.

[LegalPolicy] [ManagementPolicy]

Für jede Richtlinie muss ein „user-defined object identifier“ (OID) bereitgestellt werden. Zusätzlich wird hier die Beschreibung der Richtlinie bzw. eine URL ( HTML,FTP oder LDAP), unter der die Beschreibung abgerufen werden kann, hinterlegt.

 

 CRLDistributionPoint und Authority Information Access

Hierbei handelt es sich um zwei sehr wichtigen und riskante Abschnitte. Da dieser Bereich für die korrekte Funktionsweise der Zertifizierungsstelle verantwortlich ist. Hier werden die Veröffentlichungspunkte für das Stammzertifizierungsstellenzertifikat und die Zertifikatssperrliste hinterlegt.

 Enhanced Key Usage

In diesem Bereich wird definiert, welche Zertifikate die Zertifizierungsstelle ausstellen darf.

 Basic Constraints

In diesem Abschnitt werden Pfadlängenbeschränkungen festgelegt, also wie viele Zertifizierungsstellen unterhalb des Stamms. Es ist nicht notwendig diesen Punkt in jede Zertifizierungsstelle aufzunehmen, generell wird dieser nur am obersten Punkt der Hierarchie definiert.

 Cross Certificate Distribution Points

Dieser Bereich ist optional und wird verwendet, wenn die CA mit einer anderen PKI Hirachie gegenzertifiziert/ über kreuz zertifiziert wird. Hier wird beschrieben wo und wie oft das Crosszertifikat veröffentlicht wird.

 Request Attributes

Dieser Bereich, sofern er in einer untergeordneten CA definiert wird, ermöglicht die Angabe eines angepassten „untergeordneten Zertifizierungsstellen Templates“. Sobald eine Enterprise CA im Unternehmen installiert wird, wird ein standard „untergeordneten Zertifizierungsstellen Template“ im Active Directory veröffentlicht. Dieses Standard-Template ist bedauerlicherweise nur ein Template Version 1 (Winodws Server 2000 Typ) und kann nicht editiert werden.

 Server Settings

Dieser Bereich enthält Einträge die für alle Zertifizierungsstellen in der Zertifizierungsstellenhierarchie gelten.

RenewalKeyLength

Die länge des Schlüsselpaares bei Erneuerung des Zertifikates. Die Länge des ersten Schlüssels wird bei der Installation festgelegt. Der hier definierte Wert sollte nicht höher sein als der Wert, der bei der Installation abgegeben wurde. Mit diesem Wert könnte die Zertifikatsschlüssellänge verkürzt werden, danach muss allerdings jedes Zertifikat der CA erneut ausgestellt werden. Je höher die CA innerhalb der Hierarchie, desto schwieriger wird dieses Verfahren, da dann auch die untergeordneten Zertifizierungsstellen und deren Zertifikate betroffen sind.

RenewalValidityPeriod

Die Einheit für die Gültigkeitsdauer. Zugelassen sind zwar Jahre, Monate und Tage aber üblicherweise werden nur Jahre verwendet. Diese Einstellung betrifft nur die erneute Ausstellung der Zertifikate bzw. die Zertifikatserneuerung.

RenewalValidityPeriodUnits

Die Anzahl der unter RenewalValidityPeriod angegebenen Tage, Monate oder Jahre für die Gültigkeit. Diese Einstellung betrifft nur die erneute Ausstellung der Zertifikate bzw. die Zertifikatserneuerung.

CRLPeriod

Zeiteinheit für das Veröffentlichen der Zertifikatssperrliste. Möglich sind Tage, Monate und Jahre.

CRLPeriodUnits

Die Anzahl der in CRLPeriod angegebenen Zeiteinheit, in der die Zertifikatssperrliste veröffentlicht wird.

CRLDeltaPeriod

Zeiteinheit für das Veröffentlichen der Deltasperrliste. Möglich sind Tage, Monate und Jahre.

CRLDeltaPeriodUnits

Die Anzahl der in CRLDeltaPeriod angegebenen Zeiteinheit, in der die Deltasperrliste veröffentlicht wird.

ClockSkewMinutes

Mit diesem Wert kann eine Zeitabweichung in Minuten definiert werden. Diese bezieht sich auf den Veröffentlichungszeitpunkt der Sperrliste und der Deltasperrliste. Ist dieser Wert 20 und die Sperrlisten werden z.B. um 20:00 Uhr veröffentlicht, ist der tatsächliche Veröffentlichungszeitpunkt 19:40 Uhr. Der Standrad Wert ist 10

LoadDefaultTemplates

Ist nur wirksam, bei der Installation einer Enterprise CA und gibt an ob diese mit dem Standrad-Template installiert werden soll oder nicht.

AlternateSignatureAlgorithm

Legt fest ob die CA das PKCS#1 V2.1 Sigantur Format für Zertifikate und Zertifikatsanfragen erlaubt werden.

ForceUTF8

Ändert die Standard-Codierung der „relative distinguished names (RDNs)“ in UTF8

EnableKeyCounting

Hiermit wird ein Zähler erhöht, sobald der Signierungs-Schlüssel der CA verwendet wird. Dieser Bereich darf nur aktiviert werden, wenn ein HSM Hardware Security Module und ein CSP cryptographic service provider also ein damit verbundener Kryptografiedienstanbieter, der das Zählen von ausgestellten Zertifikaten erlaubt, verfügbar ist.

Wird diese Einstellung aktiviert, schlägt die Installation der Ca mit dem Fehlercode (0×80090029) fehl. Danach muss diese erst wieder deinstalliert werden, bevor erneut ohne diese Einstellung installiert werden kann. Weder Microsoft Strong CSP noch Microsoft Software Key Storage Provider (KSP) unterstützen diese Option.