Die "S/MIME Capabilities" Zertifikaterweiterung

Stellt man S/MIME Zertifikate aus, beinhalten diese üblicherweise eine Zertifikaterweiterung "S/MIME Capabilities". Diese Zertifikaterweiterung ist in RFC 4262 spezifiziert und kann von kompatiblen E-Mail Programmen dazu verwendet werden, die vom Empfänger einer verschlüsselten Nachricht unterstützten symmetrischen Algorithmen zu spezifizieren. Der Absender sollte dann den jeweils stärksten vom Empfänger unterstützen Algorithmus wählen.

Unter Anderem wird die Erweiterung von Microsoft Outlook ausgewertet und verwendet, um den symmetrischen Algorithmus für eine verschlüsselte E-Mail zu bestimmen.

Die Information, welche Algorithmen der Empfänger unterstützt, kann entweder in Form eines signierten Attributes innerhalb einer E-Mail [RFC 8551] oder als Zertifikaterweiterung [RFC 4262] vorliegen. Nachfolgend wird der Fall des Zertifikatattributes betrachtet.

The S/MIME Capabilities attribute, defined in RFC 3851 [RFC3851], is defined to indicate cryptographic capabilities of the sender of a signed S/MIME message. This information can be used by the recipient in subsequent S/MIME secured exchanges to select appropriate cryptographic properties.
However, S/MIME does involve also the scenario where, for example, a sender of an encrypted message has no prior established knowledge of the recipient’s cryptographic capabilities through recent S/MIME exchanges.
In such a case, the sender is forced to rely on out-of-band means or its default configuration to select a content encryption algorithm for encrypted messages to recipients with unknown capabilities. Such default configuration may, however, be incompatible with the recipient’s capabilities and/or security policy.
The solution defined in this specification leverages the fact that S/MIME encryption requires possession of the recipient’s public key certificate. This certificate already contains information about the recipient’s public key and the cryptographic capabilities of this key. Through the extension mechanism defined in this specification, the certificate may also identify the subject’s cryptographic S/MIME capabilities. This may then be used as an optional information resource to select appropriate encryption settings for the communication.

RFC 4262

Applications using the S/MIME Capabilities extension SHOULD NOT use information in the extension if more reliable and relevant authenticated capabilities information is available to the application.

Standardwerte

Bitte beachten, dass diese Standardwerte nur in dem Fall verwendet werden, wenn die Zertifikatanforderung keine entsprechende "S/MIME Capabilities" Zertifikaterweiterung beinhaltet und sowohl die Zertifizierungsstelle als auch die Zertifkatvorlage dafür konfiguriert ist, die Erweiterung zu beinhalten. Die Standardwerte hängen von der Art der Beantragung ab und sind näher im Artikel "Die "S/MIME Capabilities" Zertifikaterweiterung in ausgestellten Zertifikaten um die Cryptography Next Generation (CNG) Algorithmen erweitern" beschrieben.

Standardwerte auf der Zertifizierungsstelle verändern

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.

Auf einer Microsoft Zertifizierungsstelle sind die Standardwerte in folgendem Registrierungs-Schlüssel hinterlegt:

HKLM:\SYSTEM\CurrentControlSet\Service\CertSvc\Configuration\{Name-der-Zertifizierungsstelle}\PolicyModules\CertificateAuthority_MicrosoftDefault.Policy\DefaultSMIME

Folgende Werte kommen für die Beantragung oder Eintragung in die Registry in Frage:

Mögliche Verschlüsselungsalgorithmen

NameOIDBeschreibung
XCN_OID_OIWSEC_desCBC1.3.14.3.2.7Data Encryption Standard (DES) im Cipher Block Chaining (CBC) Modus.
Schlüssellänge 56 Bit.
XCN_OID_RSA_DES_EDE3_CBC1.2.840.113549.3.7Triple DES (3DES) im CBC Modus.
Schlüssellänge 168 Bit
XCN_OID_RSA_RC2CBC1.2.840.113549.3.2RC2 Algorithmus im CBC Modus
Schlüssellänge zwischen 40 und 128 Bit.
XCN_OID_RSA_RC41.2.840.113549.3.4RC4 Algorithmus
Schlüssellänge zwischen 40 und 128 Bit.
XCN_OID_RSA_SMIMEalgCMS3DESwrap1.2.840.113549.1.9.16.3.63DES für die Schlüsselverschlüsselung
Schlüssellänge 168 Bit
XCN_OID_RSA_SMIMEalgCMSRC2wrap1.2.840.113549.1.9.16.3.7RC2 für die Schlüsselverschlüsselung
Schlüssellänge 128 Bit
XCN_OID_NIST_AES128_CBC2.16.840.1.101.3.4.1.2Advanced Encryption Standard (AES) im CBC Modus
Schlüssellänge 128 Bit
XCN_OID_NIST_AES192_CBC2.16.840.1.101.3.4.1.22Advanced Encryption Standard (AES) im CBC Modus
Schlüssellänge 192 Bit
XCN_OID_NIST_AES256_CBC2.16.840.1.101.3.4.1.42Advanced Encryption Standard (AES) im CBC Modus
Schlüssellänge 256 Bit
XCN_OID_NIST_AES128_WRAP2.16.840.1.101.3.4.1.5AES für die Schlüsselverschlüsselung
Schlüssellänge 128 Bit
XCN_OID_NIST_AES192_WRAP2.16.840.1.101.3.4.1.25AES für die Schlüsselverschlüsselung
Schlüssellänge 192 Bit
XCN_OID_NIST_AES256_WRAP2.16.840.1.101.3.4.1.45AES für die Schlüsselverschlüsselung
Schlüssellänge 256 Bit

Key Wrapping für S/MIME ist im RFC 6318 beschrieben.

Mögliche Hashalgorithmen

NameOIDBeschreibung
md5NoSign1.2.840.113549.2.5MD5-Signaturalgorithmus
sha1NoSign1.3.14.3.2.26SHA1-Signaturalgorithmus
sha256NoSign2.16.840.1.101.3.4.2.1SHA2-Signaturalgorithmus mit 256 Bit Schlüssellänge
sha384NoSign2.16.840.1.101.3.4.2.2SHA2-Signaturalgorithmus mit 384 Bit Schlüssellänge
sha512NoSign2.16.840.1.101.3.4.2.3SHA2-Signaturalgorithmus mit 512 Bit Schlüssellänge

Entfernen der Erweiterung aus ausgestellten Zertifikaten

Die Erweiterung kann bei Bedarf auch aus den ausgestellten Zertifikaten entfernt werden.

Entfernen über die Zertifikatvorlagen-Konfiguration

Die Erweiterung wird über die Option "Include symmetric algorithms allowed by the subject" in der Karteikarte "Request Handling" der Zertifikatvorlage gesteuert.

Entfernen über die Zertifizierungsstellen-Konfiguration

In diesem Fall muss daran gedacht werden, dass die Einstellungen aus dem Policy-Bereich der Registrierung in einer Sicherung enthalten sind und im Falle einer Wiederherstellung oder Migration auf einen anderen Server auch wiederhergestellt werden.

certutil -setreg policy\DisableExtensionList +1.2.840.113549.1.9.15

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

Weiterführende Links:

Externe Quellen:

de_DEDeutsch