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.
![](https://www.gradenegger.eu/wp-content/uploads/2020/12/2020-12-04-21_42_18-mRemoteNG-confCons.xml-CA02.png)
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.
RFC 4262
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.
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
![](https://www.gradenegger.eu/wp-content/uploads/2020/02/021320_1146_SMIMECapabi1.png)
Folgende Werte kommen für die Beantragung oder Eintragung in die Registry in Frage:
Mögliche Verschlüsselungsalgorithmen
Name | OID | Beschreibung |
---|---|---|
XCN_OID_OIWSEC_desCBC | 1.3.14.3.2.7 | Data Encryption Standard (DES) im Cipher Block Chaining (CBC) Modus. Schlüssellänge 56 Bit. |
XCN_OID_RSA_DES_EDE3_CBC | 1.2.840.113549.3.7 | Triple DES (3DES) im CBC Modus. Schlüssellänge 168 Bit |
XCN_OID_RSA_RC2CBC | 1.2.840.113549.3.2 | RC2 Algorithmus im CBC Modus Schlüssellänge zwischen 40 und 128 Bit. |
XCN_OID_RSA_RC4 | 1.2.840.113549.3.4 | RC4 Algorithmus Schlüssellänge zwischen 40 und 128 Bit. |
XCN_OID_RSA_SMIMEalgCMS3DESwrap | 1.2.840.113549.1.9.16.3.6 | 3DES für die Schlüsselverschlüsselung Schlüssellänge 168 Bit |
XCN_OID_RSA_SMIMEalgCMSRC2wrap | 1.2.840.113549.1.9.16.3.7 | RC2 für die Schlüsselverschlüsselung Schlüssellänge 128 Bit |
XCN_OID_NIST_AES128_CBC | 2.16.840.1.101.3.4.1.2 | Advanced Encryption Standard (AES) im CBC Modus Schlüssellänge 128 Bit |
XCN_OID_NIST_AES192_CBC | 2.16.840.1.101.3.4.1.22 | Advanced Encryption Standard (AES) im CBC Modus Schlüssellänge 192 Bit |
XCN_OID_NIST_AES256_CBC | 2.16.840.1.101.3.4.1.42 | Advanced Encryption Standard (AES) im CBC Modus Schlüssellänge 256 Bit |
XCN_OID_NIST_AES128_WRAP | 2.16.840.1.101.3.4.1.5 | AES für die Schlüsselverschlüsselung Schlüssellänge 128 Bit |
XCN_OID_NIST_AES192_WRAP | 2.16.840.1.101.3.4.1.25 | AES für die Schlüsselverschlüsselung Schlüssellänge 192 Bit |
XCN_OID_NIST_AES256_WRAP | 2.16.840.1.101.3.4.1.45 | AES 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
Name | OID | Beschreibung |
---|---|---|
md5NoSign | 1.2.840.113549.2.5 | MD5-Signaturalgorithmus |
sha1NoSign | 1.3.14.3.2.26 | SHA1-Signaturalgorithmus |
sha256NoSign | 2.16.840.1.101.3.4.2.1 | SHA2-Signaturalgorithmus mit 256 Bit Schlüssellänge |
sha384NoSign | 2.16.840.1.101.3.4.2.2 | SHA2-Signaturalgorithmus mit 384 Bit Schlüssellänge |
sha512NoSign | 2.16.840.1.101.3.4.2.3 | SHA2-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.
![](https://www.gradenegger.eu/wp-content/uploads/2020/02/021320_1146_SMIMECapabi2.png)
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
![](https://www.gradenegger.eu/wp-content/uploads/2020/12/2020-12-04-13_58_51-Window.png)
Der Zertifizierungsstellen-Dienst muss anschließend neu gestartet werden, damit die Änderungen angewendet werden.
Weiterführende Links:
Externe Quellen:
- X.509 Certificate Extension for Secure/Multipurpose Internet Mail Extensions (S/MIME) Capabilities (Internet Engineering Task Force)
- Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification (Internet Engineering Task Force)
- Suite B in Secure/Multipurpose Internet Mail Extensions (S/MIME) (Internet Engineering Task Force)
- Optional: Configuring Additional CA Settings and Modules (Microsoft)
- S/MIME for message signing and encryption (Microsoft)
- IX509ExtensionSmimeCapabilities interface (certenroll.h) (Microsoft)
- Hash Algorithm OID (Microsoft)
- S/MIME for message signing and encryption in Exchange Online (Microsoft)
- Secure Mail (Microsoft)
6 Gedanken zu „Die "S/MIME Capabilities" Zertifikaterweiterung“
Kommentare sind geschlossen.