S/MIME

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von SMIME)
Wechseln zu: Navigation, Suche

S/MIME (Secure / Multipurpose Internet Mail Extensions) ist ein Standard für die Verschlüsselung und Signatur von MIME-gekapselter E-Mail durch ein hybrides Kryptosystem.

Funktion[Bearbeiten]

RFC 1847 (1995) definiert zwei Content-Types für MIME. Das multipart/signed-Format zur Signierung einer E-Mail und das multipart/encrypted-Format zu deren Verschlüsselung. Eine E-Mail kann dabei nur signiert, nur verschlüsselt oder beiden Operationen unterzogen werden. Sowohl S/MIME (RFC 2633) als auch OpenPGP (RFC 2440), die beide erst später spezifiziert wurden, verwenden multipart/signed, wohingegen multipart/encrypted nur von OpenPGP verwendet wird. S/MIME definiert (auch) für Verschlüsselung den neuen Content-Type application/pkcs7-mime. S/MIME wird von den meisten modernen Mailclients unterstützt. Es erfordert X.509-basierte Zertifikate für den Betrieb.

Multipart/Signed[Bearbeiten]

Das Format enthält genau zwei Blöcke. Der erste enthält die Daten, inklusive des MIME-Headers, über welche die digitale Signatur erstellt wurde. Der zweite enthält die Informationen, um die Signatur zu überprüfen. Die Mail bleibt dadurch auch für E-Mail-Clients lesbar, die kein S/MIME unterstützen. Deshalb ist multipart/signed die empfohlene von mehreren möglichen S/MIME-Methoden.

application/pkcs7-mime[Bearbeiten]

Der Content-Type application/pkcs7-mime hat den optionalen Parameter smime-type, der die Art der Daten beschreibt (ohne dass sie dafür decodiert werden müssen): enveloped-data (Verschlüsselung), signed-data (Signatur), certs-only (Zertifikat). Außerdem zeigt der Dateiname des optionalen, aber erbetenen Headereintrags Content-Disposition die Art der Daten an: smime.p7m (signierte oder verschlüsselte Daten), smime.p7c (Zertifikat), smime.p7s (Signatur).

Ein Abschnitt mit verschlüsselten Daten enthält ebenfalls genau zwei Blöcke. Der erste enthält benötigte Informationen zur Entschlüsselung. Im zweiten Block sind die verschlüsselten Daten enthalten. Der Mailrumpf ist komplett verschlüsselt und kann somit nur vom vorgesehenen Empfänger gelesen werden. Damit ist auch ein Scannen auf Viren und Spam erst auf dem Endgerät möglich. Die Mailheader (auch der Betreff) sind dagegen weiterhin unverschlüsselt und sollten daher keine vertraulichen Informationen enthalten.

So sieht eine verschlüsselte Nachricht beispielhaft aus:

   Content-Type: application/pkcs7-mime; smime-type=enveloped-data;
           name=smime.p7m
   Content-Transfer-Encoding: base64
   Content-Disposition: attachment; filename=smime.p7m
   
   rfvbnj756tbBghyHhHUujhJhjH77n8HHGT9HG4VQpfyF467GhIGfHfYT6
   7n8HHGghyHhHUujhJh4VQpfyF467GhIGfHfYGTrfvbnjT6jH7756tbB9H
   f8HHGTrfvhJhjH776tbB9HG4VQbnj7567GhIGfHfYT6ghyHhHUujpfyF4
   0GhIGfHfQbnj756YT64V

Zur Verschlüsselung einer E-Mail muss der Absender den öffentlichen Schlüssel des Empfängers kennen, den er beispielsweise dem Zertifikat einer zuvor vom Empfänger erhaltenen signierten E-Mail entnehmen kann. Ein E-Mail-Client vereinfacht die Handhabung, indem er automatisch alle erhaltenen Zertifikate speichert.

Klassifizierung der Zertifikate[Bearbeiten]

Die Anbieter von Zertifikaten für sichere E-Mail-Kommunikation klassifizieren diese meist in drei Klassen. Dabei sichert bei Klasse 1 die Zertifizierungsstelle (CA) die Echtheit der E-Mail-Adresse zu und nur diese ist Teil des Zertifikats. Bei Klasse 2 wird zusätzlich der zur E-Mail-Adresse gehörende Name in das Zertifikat mit aufgenommen, sowie die Organisation/Firma. Diese Daten werden mithilfe von Drittdatenbanken und Ausweiskopien verifiziert. Bei Zertifikaten der Klasse 3 muss der Antragsteller sich persönlich ausweisen.

Kostenlose Zertifikate[Bearbeiten]

Manche Unternehmen und nichtkommerzielle Organisationen bieten kostenlose S/MIME-Zertifikate an. Es können dabei nach einer Registrierung mehrere Zertifikate erstellt werden, die aber erst nach einer gewissen Anzahl von Identitätsnachweisen den Namen beinhalten. Diese können durch Mitglieder in einem Web of Trust oder anderen vertrauenswürdigen Stellen wie Rechtsanwälten oder Wirtschaftstreuhändern erfolgen.

CAcert, eine nichtkommerzielle, gemeinschaftsbetriebene CA, stellt kostenlose Zertifikate zur Verfügung. Sie ist jedoch in vielen E-Mail-Clients und Webbrowsern nicht in der Zertifikatsdatenbank als vertrauenswürdige Zertifizierungsstelle eingetragen. Ein Benutzer, der eine Verbindung zu einem Server mit CAcert-Zertifikat aufbaut oder eine E-Mail mit einem von CAcert signierten S/MIME-Zertifikat erhält, wird daher die Fehlermeldung erhalten, dass die Herkunft des Zertifikates nicht überprüft werden konnte (sofern CAcert nicht zuvor manuell als vertrauenswürdig im Programm eingetragen wurde).

Weiterhin werden kostenlose Zertifikate der Klasse 1 mit reduzierter Gültigkeitsdauer von Firmen angeboten, welche im Gegensatz zu CAcert auch in den Zertifikatsdatenbanken gängiger Software als vertrauenswürdig gelistet werden. Beispiele für diese meist für den Privatgebrauch gedachten Zertifikate sind:

  • StartSSL PKI als StartSSL Free[1] (1 Jahr Gültigkeit)
  • CertifyID von WISeKey mit Free Secure email eID[2] (1 Jahr Gültigkeit)
  • InstantSSL by Comodo als Free Secure Email Certificate[3] (90 Tage Gültigkeit)
  • Secorio S/MIME[4] (1 Jahr Gültigkeit)
  • GlobalSign als Free Trial PersonalSign 1 Certificate[5] (30 Tage Gültigkeit)
  • Symantec (Verisign) als Digital IDs for Secure Email[6] (25 Tage Gültigkeit)

Außerdem ist es möglich, Nachrichten mit einem selbst signierten Zertifikat zu verschlüsseln. Dazu ist ein selbst erstelltes Stammzertifikat notwendig, das die eigene Zertifiziertungsstelle repräsentiert. Damit können prinzipiell beliebige Zertifikate signiert werden. Alle Kommunikationspartner müssen jedoch zunächst dieses Stammzertifikat importieren und diesem vertrauen, bevor eine verschlüsselte Kommunikation möglich wird.

Sicherheitsrisiko[Bearbeiten]

Für die Nutzung von S/MIME-Zertifikaten zur Verschlüsselung und Signierung wird aufgrund des verwendeten Public-Key-Verschlüsselungsverfahrens ein Schlüsselpaar aus öffentlichem und privatem Schlüssel benötigt. Im Gegensatz zum Zertifikat können und sollten diese beiden Schlüssel unbedingt lokal beim Anwender erzeugt werden. Bei den meisten Zertifizierungsstellen wird dies auch so gehandhabt. Die Schlüsselerzeugung wird dabei im Normalfall durch den verwendeten Browser gestartet; bei Firefox, Opera, Chrome und Safari 6 wird dies durch ein HTML-Formular mit dem Tag <keygen> angestoßen, beim Internet Explorer durch ein ActiveX-Control. In beiden Fällen wird anschließend nur der öffentliche Schlüssel zur Zertifizierungsstelle hoch geladen. Im Rahmen der Zertifizierung wird aus dem öffentlichen Schlüssel ein Zertifikat, das wieder in den Browser geladen und zusammen mit dem privaten Schlüssel im Zertifikatsspeicher abgelegt wird.

Nur wenige Zertifizierungsstellen erzeugen das Schlüsselpaar selbst und übermitteln es dann mit dem generierten Zertifikat an den Anwender. Dadurch ist der Zertifizierungsstelle der private Schlüssel bekannt, was unbedingt im Rahmen der Sicherheit vermieden werden sollte, da der private Schlüssel so in falsche Hände gelangen kann.

Alternative[Bearbeiten]

Als Alternative zu S/MIME kann auch OpenPGP unter Verwendung einer PKI eingesetzt werden. Die beiden Verfahren sind allerdings nicht kompatibel, auch wenn sie teilweise die gleichen Verschlüsselungsverfahren einsetzen, da sie unterschiedliche Datenformate verwenden. Üblich sind hier PGP/INLINE oder PGP/MIME.

Siehe auch[Bearbeiten]

Spezifikationen[Bearbeiten]

  • RFC 1847 Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted
  • RFC 2633 S/MIME Version 3 Message Specification
  • RFC 3851 Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification
  • RFC 5751 Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.2 Message Specification

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. StartSSL Free http://www.startssl.com/?app=1
  2. Free Secure email eID https://www.wisekey.com/products/wisecurity/wiseid/
  3. InstantSSL FREE Secure Email Certificate http://www.instantssl.com/ssl-certificate-products/free-email-certificate.html
  4. https://www.secorio.com/de/faqs/smime-zertifikate/78-how-much-does-an-email-certificate-for-private-use-cost
  5. GlobalSign PersonalSign Produkte https://www.globalsign.com/de-de/personalsign/
  6. Symantec Digital IDs for Secure Email http://www.symantec.com/verisign/digital-id