Zertifikaterweiterungen wurden mit der Version 3 des X.509 Standards eingeführt. Die Key Usage Erweiterung ist eine optionale Zertifikaterweiterung, die im RFC 5280 definiert ist und dazu dient, die erlaubten Verwendungszwecke für einen Schlüssel zu begrenzen.
Es handelt sich hierbei um eine einfache Bitmaske.
KeyUsage ::= BIT STRING { digitalSignature (0), nonRepudiation (1), keyEncipherment (2), dataEncipherment (3), keyAgreement (4), keyCertSign (5), cRLSign (6), encipherOnly (7), decipherOnly (8) }
Die Darstellung der Bitmaske erfolgt allerdings üblicherweise in hexadezimaler Form.
Bit | Hex | Beschreibung | Label |
---|---|---|---|
8 | 0x0 | decipherOnly | Nur entschlüsseln, in Verbindung mit keyAgreement |
7 | 0x1 | encipherOnly | Nur verschlüsseln, in Verbindung mit keyAgreement |
6 | 0x2 | cRLSign | Signieren von Sperrlisten |
5 | 0x4 | keyCertSign | Signieren von Zertifikaten |
4 | 0x8 | keyAgreement | Wird beispielsweise bei Datenverschlüsselung mit dem Diffie-Hellman Verfahren verwendet |
3 | 0x10 | dataEncipherment | Datenverschlüsselung, direkt mit dem im Zertifikat enthaltenen Schlüssel |
2 | 0x20 | keyEncipherment | Schlüsselverschlüsselung, d.h. wenn ein symmetrischer Schlüssel zur Datenverschlüsselung eingesetzt wird und dieser mit dem im Zertifikat enthaltenen Schlüssel verschlüsselt wird |
1 | 0x40 | nonRepudiation | Nichtabstreitbarkeit |
0 | 0x80 | digitalSignature | Digitale Signatur |
Typische Beispiele gängiger Anwendungsfälle für Zertifikate
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.
Zertifizierungsstellen-Zertifikate
Zertifizierungsstellen-Zertifikate müssen gemäß RRC 5280 eine Key Usage Erweiterung besitzen. Diese sollte als kritisch markiert sein. Die Erweiterung wird typischerweise keyCertSign und keyCrlSign beinhalten. Microsoft Active Directory Certificate Services wird außerdem digitalSignature eintragen, was gemäß RFC 5280 aber nicht gemacht werden sollte.
Es gibt die Möglichkeit, die Key Usage Erweiterung bei der Installation einer Zertifizierungsstelle abweichend zu konfigurieren.
TLS Webserver-Zertifikate
Bei TLS Webserver-Zertifikaten kommt es darauf an, welche Art Schlüssel zum Einsatz kommt (siehe RFC 5246 und RFC 4492).
Schlüsselalgorithmus | Wert |
---|---|
RSA | Signature and Encryption |
ECDSA | Signature |
ECDH | Signature and Encryption |
S/MIME Zertifikate
Bei den Secure/Multipurpose Internet Mail Extensions (S/MIME) sind im Bezug auf E-Mail Nachrichten grundsätzlich zwei Operationen möglich:
- Signieren versendeter Nachrichten bzw. überprüfen der Signaturen empfangener Nachrichten
- Verschlüsseln versendeter Nachrichten bzw. entschlüsseln empfangener Nachrichten
Bei der Konfiguration der Zertifikate hat man die Wahl, ob man ein hybrides Zertifikat (das beide Operationen unterstützt) oder getrennte Zertifikate für beide Operationen einsetzen möchte.
Art des Zertifikats | Key Usage Erweiterung |
---|---|
nur Verschlüsseln/Entschlüsseln | keyEncipherment (0x20) |
nur Signieren/Verifizieren | digitalSignature (0x80) |
beide Operationen (hybrides Zertifikat) | digitalSignature, keyEncipherment (0xA0) |
Rechnen mit der Key Usage Erweiterung
Eine sehr einfache Möglichkeit, eine Key Usage zu errechnen ist mit der Windows PowerShell möglich.
Ein Beispiel: digitalSignature (0x80) und keyEncipherment (0x20) ergeben zusammen 0xA0.
"{0:x}" -f (0x80 -bor 0x20)
Weiterführende Links
Externe Quellen
- Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile / Key Usage (Internet Engineering Task Force)
- All About Certificate Extensions (Mozilla)
3 Gedanken zu „Grundlagen: Die Key Usage Zertifikaterweiterung“
Kommentare sind geschlossen.