S/MIME-Verschlüsselung mit Thunderbird

Aus LinuxUser 02/2009

S/MIME-Verschlüsselung mit Thunderbird

© sxc.hu

Vertrauensfragen

Mit den richtigen Tools und Einstellungen wird E-Mail-Verschlüsselung zum Kinderspiel: S/MIME bildet den Rahmen für die sichere Kommunikation, Thunderbird betätigt sich als Mailclient.

E-Mail-Verschlüsselung steckt im Dilemma: Jeder hält sie für wichtig, kaum jemand verschlüsselt. Viele Anwender fühlen sich verloren, für die sichere Kommunikation finden sich nur wenige Partner. So manchen, der Kryptographie eigentlich für nötig hält, schreckt die Fülle an Varianten und Konfigurationen ab. Zwar hat sich PGP und besonders seine freie Implementation GnuPG [1] mit unzähligen Versionen für die meisten E-Mail-Programme und sogar Web-Maildienste [2] hervorgetan, übersichtlich fällt das Angebot jedoch nicht aus. Eher als Randnotiz gilt der Verschlüsselungsstandard S/MIME, den zwar das Bundesamt für Sicherheit in der Informationstechnik (BSI) gezielt fördert, den Anwender aber nur mit Vorbehalt aufnehmen – zu Unrecht.

Dabei bringen viele E-Mail-Programme das Rüstzeug für den S/MIME-Einsatz bereits von Haus aus mit. Aber das Verschlüsselungsformat kämpft weithin mit dem Klischee, es sei nur für den Unternehmenseinsatz geeignet, kommerziell und unfrei, was nicht stimmt. Aufklärung und pragmatische Hinweise, wie man S/MIME beispielsweise mit Thunderbird einsetzt, tun also not.

Eine Frage des Geschmacks

Die Unterschiede zwischen S/MIME und PGP/GnuPG liegen weniger auf der technischen als auf organisatorischer Ebene. Aus Sicht von Kryptographen lassen sich die zwei durchaus vergleichen: Beide benutzen akzeptierte Kryptostandards wie RSA, Triple-DES, MD5 und SHA-1 [3], und beide verwenden moderne asymmetrische Verfahren, um Daten sowohl zu verschlüsseln als auch zu signieren – also um Authentizität und Integrität zu schaffen. Das sorgt dafür, dass niemand Nachrichten unbemerkt manipuliert und sie tatsächlich vom angegebenen Absender stammen.

Wollen Sie über einen unsicheren Kanal auch einer Person vertrauen, die Sie nicht persönlich getroffen haben, benötigen Sie nicht nur dessen öffentlichen Schlüssel, sondern auch die Gewähr, dass dieser authentisch ist. Mailverschlüsselungen lösen dieses Problem über das Signieren von Schlüsseln durch eine vertrauenswürdige Stelle. Der fundamentale Unterschied der Systeme besteht darin, ob sie wie PGP auf ein “Web of Trust” oder auf einen zentralen Ansatz setzen.

Web of Trust

Trotz steigender Nutzerzahlen gibt es Schlüssel, denen Anwender mangels Vertrauenskette blind vertrauen müssen. Etwas Linderung schaffen die oft auf Konferenzen veranstalteten Key-Signing-Partys, bei denen viele Teilnehmer gegenseitig ihre Identität überprüfen. Webdienste wie Biglumber [4] unterstützen bei der Organisation dieser Treffen. Auch das Web unterstützt bei der Suche nach Vertrauensketten [5].

Prüft eine vertrauenswürdige und unabhängige Institution die Identität der Teilnehmer, trägt dies zum Ausbau des Web of Trust bei. Der Heise-Verlag bietet mit seiner seit mehr als zehn Jahren laufenden c’t-Krypto-Kampagne [6] diesen Dienst an: Auf Messen legen Besucher ihre Personaldokumente dem Verlag vor und erhalten im Gegenzug eine Signatur unter dem eigenen PGP/GnuPG-Schlüssel. Wer der Heise-Krypto-Instanz (und der Transitivität von Vertrauen) vertraut, kommuniziert nun guten Gewissens mit allen anderen Teilnehmern, die der Verlag signiert hat.

Genau diese Verdichtung bildet das Grundprinzip von S/MIME, das auf einer hierarchischen Zertifizierungsidee beruht: Nicht Benutzer sollen sich untereinander Vertrauen aussprechen, sondern zentrale Institutionen schaffen die Basis für ein Vertrauensnetzwerk. Diese Methode kennt man bereits von SSL-Zertifikaten für Webserver: Gängige Browser bringen eine Menge vertrauenswürdiger Zertifikate von Certification Authoritys mit. Bietet ein Webserver über HTTPS ein Zertifikat an, prüft der Browser, ob es von einer als vertrauenswürdig eingestuften Stelle ausgestellt wurde, und akzeptiert es. Kann er die Signatur nicht validieren, warnt er den Nutzer.

Mail nutzt SSL-Infrastruktur

Der Verweis von S/MIME auf SSL-Zertifikate für Webserver ist nicht nur eine Analogie: S/MIME nutzt die gleiche technische Infrastruktur. Ein Vergleich der vertrauenswürdigen Zertifizierungsstellen im Webbrowser Firefox (Bearbeiten | Einstellungen | Erweitert | Verschlüsselung | Zertifikate anzeigen | Zertifizierungsstellen ) und dem Mailclient Thunderbird (Bearbeiten | Einstellungen | Erweitert | Zertifikate | Zertifikate | Zertifizierungsstellen) zeigt, dass die Programme für das Sichern von Webservern und E-Mail den gleichen Instanzen vertrauen.

Kein Wunder, denn das in den Programmen eingesetzte OpenSSL implementiert bereits S/MIME [7]. Setzen Sie also Vertrauen in Webserver, die durch SSL-Zertifikate geschützt sind, dann können Sie vom technischen Standpunkt aus gesehen dieses Vertrauen auch beim E-Mail-Verkehr nutzen.

Wählen Sie einen Zertifikatsanbieter, dessen Stammzertifikat (Root-CA) direkt oder indirekt in einem gängigen E-Mail-Programm enthalten ist, so macht es das für andere leichter, Ihr Zertifikat zu überprüfen – eine wichtige Voraussetzung für vertrauliche und authentische Kommunikation. Das deutsche Unternehmen Trustcenter bietet beispielsweise mit dem Produkt TC Internet ID [8] kostenlose Zertifikate an. Allerdings handelt es sich hierbei nur um ein Class-1-Zertifikat: Es bestätigt zwar, dass das Trustcenter die entsprechende E-Mail-Adresse verifiziert hat, umfasst aber keine weiteren Schritte, um die Identität des Inhabers zu prüfen.

Erst ein Class-3-Zertifikat bestätigt eine erfolgreiche Identitätsprüfung. Viele Anbieter tun dies kostenpflichtig mit Hilfe des Postindent-Verfahrens. Das jeweilige Verfahren regelt eine Art Selbsterklärung des Anbieters, die zumeist Certificate Practise Statement (CPS) heißt.

S/MIME-Zertifikat besorgen

Da Class-3-Zertifikate eine höhere Vertrauensstufe ermöglichen, ist es sinnvoll, sich nicht mit einem Class-1-Zertifikat zufriedenzugeben. Thawte zum Beispiel bietet kostenlose Identitätsprüfungen und Class-3-Zertifikate mit seinem Produkt “Web of Trust” [9] an. Der Produktname hat nichts mit dem bei PGP eingesetzten Verfahren zu tun.

Melden Sie sich bei Thawte an, so erhalten Sie nach erfolgreicher Überprüfung per E-Mail nur ein Class-1-Zertifikat, das Thawte auf die Mailadresse ausstellt. Lassen Sie jedoch seine Ihre Identität unter persönlicher Vorlage von Personaldokumenten durch mehrere Mitglieder des “Web of Trust” nach einem Punktesystem überprüfen, bekommen Sie von denen gratis ein Class-3-Zertifikat. Es enthält nicht nur der Mailadresse, sondern auch den Namen des überprüften Nutzers. Manche Institution erkennt solche Zertifikate eher an.

Jeder kann am Web of Trust teilnehmen: Wer eine bestimmte Punktzahl erreicht, kann selbst Identitätspunkte vergeben. Die Teilnehmer nennen dies “assuren” (bestätigen). Die Thawte-Seite ist aber bis auf wenige Bereiche in Englisch gehalten, was den Einstieg erschwert.

Das von keinem Unternehmen abhängige Projekt CACert [10] arbeitet ganz ähnlich: Es stellt ebenfalls kostenlos Class-3-Zertifikate aus und ist internationalisiert. Sein Stammzertifikat hat bisher kaum ein Browser aufgenommen, Sie müssen es daher manuell als vertrauenswürdig bestätigen. Das Debian-Projekt bildet hier eine Ausnahme, es liefert das Stammzertifikat in einem Paket mit.

Wer den typischen Prozess verstanden hat, wie ein Anbieter Zertifikate ausstellt, hat es leichter, einen auszuwählen. Die Grundlage für das Ausstellen bildet die Registrierung des Bewerbers beim entsprechenden Anbieter. Der überprüft die angemeldete E-Mail-Adresse durch das Zusenden einer Testnachricht mit einem Freischaltungslink oder einem Passwort. Nimmt der Anwender diese Hürde, kann er in der Regel bereits ein Class-1-Zertifikat bestellen.

Ausstellende Behörde

Beim Generieren des X.509-Zertifikats wählen Sie eine Schlüssellänge von 2048 Bit. Obwohl einige Aussteller anbieten, mehrere E-Mail-Adressen in einem Zertifikat zu integrieren, erscheint es ratsam, ein Zertifikat nur für eine Adresse ausstellen zu lassen: Einige ältere Clients haben Probleme, sobald sie mehrere Adressen auswerten sollen.

Manch einen mag es wundern, dass nun der Server den Browser bittet, ein Schlüsselpaar zu generieren und damit quasi die Rollen von Client und Server vertauscht. Der Grund: Der private Teil des Schlüsselpaars sollte aus Sicherheitsgründen nie den Bereich des späteren Besitzers verlassen. Nachdem Sie also Schlüssellänge und einige weitere Optionen auf dem Server gewählt haben, veranlasst dieser den Browser, einen Zertifikatsantrag (“Certificate Signing Request”, CSR) zu erzeugen. Dazu benötigt der Computer ein wenig Zeit (Abbildung 1).

Abbildung 1: Firefox generiert auf Anfrage eines Webservers ein Schlüsselpaar, verpackt es in einem Certificate Signing Request (CSR) und sendet es zum Server zurück.

Abbildung 1: Firefox generiert auf Anfrage eines Webservers ein Schlüsselpaar, verpackt es in einem Certificate Signing Request (CSR) und sendet es zum Server zurück.

Browser und Server wickeln die Übertragung der Zertifikatsanfrage ab. Sobald das Zertifikat ausgestellt wurde, erhalten Sie per E-Mail einen Hinweis, wo Sie es abholen können. Das klappt nur mit dem Browser, mit dem Sie auch das Schlüsselpaar erzeugt haben – also nicht nur mit der selben Browserversion, sondern exakt der selben Instanz: also auf dem selben Rechner, für den selben Benutzer und mit dem selben Profil. Zertifikat und Schlüsselpaar lassen sich sonst nicht kombinieren und alles beginnt von vorn. War der Empfang des Zertifikats erfolgreich, empfiehlt Firefox, umgehend davon ein Backup zu machen (Abbildung 2).

Abbildung 2: Firefox hat ein neues Zertifikat erfolgreich importiert und installiert. Ab jetzt lässt es sich beispielsweise zur Verschlüsselung einsetzen.

Abbildung 2: Firefox hat ein neues Zertifikat erfolgreich importiert und installiert. Ab jetzt lässt es sich beispielsweise zur Verschlüsselung einsetzen.

Firefox erzeugt Schlüssel

Dieser Schritt ist für die Arbeit mit S/MIME notwendig. Über Bearbeiten | Einstellungen | Erweitert | Verschlüsselung | Zertifikate anzeigen | Ihre Zertifikate rufen Sie den Zertifikatsmanager für eigene Zertifikate auf, wählen das Zertifikat aus und klicken auf Backup, um es zu exportieren. S/MIME speichert die Zertifikate als PKCS12-Dateien (“Public Key Cryptography Standards”) mit der Erweiterung .p12.

Für diese Datei verlangt Firefox ein Passwort zum Schutz vor unbefugtem Zugriff. Dies benötigt Sie auch, sobald Sie das Zertifikat wieder importieren. Das Backup bewahrt die Passwörter auf, auch wenn das Zertifikat bereits abgelaufen ist – auf diese Weise haben Sie auch nach Jahren noch Zugriff auf verschlüsselte Nachrichten. Sobald Sie die .p12-Datei parat haben, können Sie Thunderbird für den Einsatz von S/MIME einrichten. Zuerst importieren Sie das in der .p12-Datei kombinierte Paar aus Schlüssel und Zertifikat.

Dazu rufen Sie die Verwaltungsoberfläche für eigene Zertifikate auf (Bearbeiten | Einstellungen | Erweitert | Zertifikate | Zertifikate | Ihre Zertifikate) und klicken auf Importieren. Über den Dateibrowser wählen Sie die entsprechende .p12-Datei aus und bestätigen mit Öffnen. Sollte Thunderbird bisher ohne ein Master-Passwort zum Schutz sensibler Daten arbeiten, fordert der Mailclient spätestens jetzt dazu auf, ein solches zu vergeben. Immerhin enthält der Zertifikatsspeicher nun sensible Daten. Nach dem Passwort für den Zertifikatsspeicher geben Sie abschließend noch das Transportpasswort ein, das fürs Exportieren der .p12-Datei diente. Zertifikat und Schlüssel sind nun in Thunderbird importiert (Abbildung 3).

Abbildung 3: Thunderbird installiert das Zertifikat des Nutzers im Zertifikatsspeicher. Vorher erwartet der Browser noch das Lösen der Transportsicherung durch das Abfragen eines weiteren Passworts.

Abbildung 3: Thunderbird installiert das Zertifikat des Nutzers im Zertifikatsspeicher. Vorher erwartet der Browser noch das Lösen der Transportsicherung durch das Abfragen eines weiteren Passworts.

Das Beispiel zeigt ein auf den Autor ausgestelltes Class-3-Zertifikat, sodass dort auch dessen Name auftaucht. Kostenlose Angebote zur Zertifizierung bieten oft lediglich an, die Mailadresse zu überprüfen, und tragen dann als Namen einen allgemeinen Platzhalter wie “Freemail Member” ein.

Um mit dem neuen Zertifikat zu arbeiten, verbinden Sie es mit einem E-Mail-Konto (Abbildung 4). Dazu wählen Sie im Kontenmanager (Bearbeiten | Konten) den Bereich S/Mime des E-Mail-Kontos aus, für dessen Adresse Sie das Zertifikat erzeugt haben. Thunderbird bietet an, unterschiedliche Zertifikate für das Verschlüsseln und das Signieren von Nachrichten zu nutzen.

Abbildung 4: Thunderbird ist in der Lage, einem E-Mail-Konto verschiedene Zertifikate zum Signieren und zum Verschlüsseln zuzuweisen.

Abbildung 4: Thunderbird ist in der Lage, einem E-Mail-Konto verschiedene Zertifikate zum Signieren und zum Verschlüsseln zuzuweisen.

Über Auswählen ordnen Sie das Zertifikat den Aufgaben Digitale Unterschrift und Verschlüsselung zu. Ausgehende E-Mails sollten Sie grundsätzlich signieren, da die meisten Mailer bereits S/MIME verstehen und Zertifikate großer Anbieter prüfen. Mailprogramme, die S/MIME nicht unterstützen, zeigen dann zusätzlich zum Nachrichtentext den Anhang smime.p7s an.

Durch die Entscheidung für das automatische Signieren von Nachrichten ändert sich die Bedienung von Thunderbird kaum. Bevor der Mailer eine Nachricht absendet, fragt er nach dem Master-Passwort, um auf den Zertifikatsspeicher zuzugreifen. Möchten Sie sicherstellen, dass Thunderbird eine Nachricht wirklich signiert, kontrollieren Sie das beim Verfassen über den Menüpunkt S/Mime. Dies ist besonders dann notwendig, wenn Thunderbird mehrere E-Mail-Konten verwaltet: Der Mailreader beachtet gelegentlich die Standardregel zum Signieren nicht, falls Sie das Konto wechseln.

Nachrichten verschlüsseln

Zum Testen bietet es sich an, sich selbst eine signierte Nachricht zu senden. Je nach verwendetem Theme weist ein Icon – etwa ein Brief oder ein Stift – auf eine empfangene signierte E-Mail hin. Ein Klick auf das Symbol öffnet den Dialog Nachrichten-Sicherheit und gibt Auskunft über Signatur, Verschlüsselung und den Aussteller (Abbildung 5).

Abbildung 5: Thunderbird hat eine unterschriebene Nachricht positiv geprüft.

Abbildung 5: Thunderbird hat eine unterschriebene Nachricht positiv geprüft.

Auch das Verschlüsseln von E-Mails lässt sich gut mit der eigenen Adresse testen. Dazu schreiben Sie eine neue Nachricht und wählen über den Menüpunkt S/Mime zusätzlich die Option Nachricht verschlüsseln aus. Beim Verschlüsseln einer Nachricht benötigt Thunderbird für jeden Empfänger (An, Cc und Bcc) ein passendes Zertifikat im Zertifikatsspeicher. Indem Sie zum Test eine Nachricht an die eigene Adresse schicken, die Sie auch zum Signieren nutzen, hat Thunderbird das Zertifikat schon parat.

Nachdem Thunderbird die Nachricht erfolgreich entschlüsselt hat, zeigt er die Nachrichtenansicht an. Der Mailer weist je nach Theme mit von SSL-gesicherten Webseiten bekannten Symbolen auf den Status der Verschlüsselung hin. Ein Klick auf das Schloss öffnet den Dialog Nachrichten-Sicherheit.

Zertifikatsspeicher

Etwas mehr Vorbereitung benötigen Sie, um einer anderen Person eine verschlüsselte Nachricht zukommen zu lassen. Im Gegensatz zu PGP/GnuPG gibt es bei S/MIME keine in vergleichbarem Umfang akzeptierte Infrastruktur von Keyservern, um automatisch nach Schlüsseln zu suchen. Als S/MIME-Nutzer sind Sie also darauf angewiesen, dass der Empfänger Zertifikat und öffentlichen Schlüssel direkt zur Verfügung stellt, damit Sie diese in Ihren Zertifikatsspeicher aufnehmen können.

Das ist aber erfreulich einfach: Sie benötigen dazu lediglich eine S/MIME-signierte Nachricht des Empfängers, da S/MIME mit der Signatur auch jene Informationen überträgt, die der Mailclient für das Verschlüsseln braucht. Thunderbird sammelt vertrauenswürdige Zertifikate und öffentliche Schlüssel anderer Personen automatisch im Zertifikatsmanager (Bearbeiten | Einstellungen | Erweitert | Zertifikate | Zertifikate | Zertifikate anderer Personen). Sobald Sie eine signierte Nachricht lesen und Thunderbird die Signatur erfolgreich geprüft hat, speichert das Programm Zertifikat und öffentlichen Schlüssel ohne Rückfrage. Es ermöglicht damit ab diesem Zeitpunkt die verschlüsselte Kommunikation mit dem entsprechenden Partner.

Schlüsselverwaltung

Enttäuschend: Die Entwickler haben kein Regelwerk implementiert, mit dem Thunderbird steuert, welche Nachrichten er verschlüsselt oder signiert. Das wirkt sich spürbar aus, falls Sie beispielsweise gleichzeitig Enigmail (PGP/GnuPG) und S/MIME einsetzen möchten. Praktisch wäre, wenn Sie dediziert festlegen könnte, ob und welche Verschlüsselungsart Thunderbird wann verwenden soll.

Da Sie sich pro Nachricht für Enigmail oder S/MIME entscheiden müssen (ein doppeltes Signieren mit zwei Methoden ist nicht ohne Weiteres möglich), wäre es hilfreich, im Adressbuch die Empfänger als PGP/GnuPG-oder S/MIME-Anwender markieren zu können. Sicherlich reichen die Entwickler diese Funktion früher oder später nach; ihr Fehlen erfordert zum jetzigen Zeitpunkt gelegentlich höheren Klick-Aufwand.

Fazit

Die für den Anwender größte Hürde beim Einsatz von S/MIME ist das Verständnis dafür, wie man Zertifikate bestellt und einrichtet. Haben Sie diese erst einmal genommen, fällt die Arbeit damit einfach. S/MIME bietet gegenüber PGP/GnuPG den Vorteil, dass es Signaturen auch von solchen Personen prüft, die das Verfahren nicht selbst benutzen – ein Punkt, der zu so manchem Nachahmer im eigenen Bekanntenkreis führt. Weitergehende Funktionen wie etwa Revocation-Listen für den Widerruf von Zertifikaten und die Möglichkeit, eine eigene Zertifizierungsinstanz aufzubauen, können das Vertrauen in die S/MIME-Infrastruktur stärken.

Es bleibt aber durchaus auch Raum für Kritik: Es ist bedauerlich, dass unter Linux viele Programme die Zertifikate selbst speichern und dem Anwender nur der umständliche Weg über Ex- und Import bleibt. Mit Gpg-SM soll sich dies zwar ähnlich zu GnuPG ändern; dass aber Thunderbird, Firefox und Evolution auf diese Technik umsteigen, ist derzeit nicht in Sicht. Windows und Mac OS X dagegen verwalten die Zertifikate betriebssystemweit.

Ob Sie S/MIME oder GnuPG nutzen, bleibt letztlich eine Frage des Geschmacks – viele Anwender benutzen beide Systeme auch nebeneinander. Für S/MIME spricht, dass viele öffentlichen Einrichtungen wie der Bundestag es einsetzen, selbst wenn die verschlüsselte Kommunikation mit einem Abgeordneten nicht unbedingt leicht fällt [12]. Wichtig ist, dass überhaupt verschlüsselt wird – S/MIME bietet dazu einen einfachen Einstieg.

Glossar

S/MIME

Secure / Multipurpose Internet Mail Extensions (RFC 3851). Standard für das Verschlüsseln und Signieren von MIME-gekapselter E-Mails mittels asymmetrischer Verschlüsselungsverfahren.

PGP/GnuPG

PGP (“Pretty Good Privacy”) ist ein von Phil Zimmermann entwickeltes Programm zum Verschlüsseln und Signieren von Daten. GnuPG ist eine freie Implementation auf Basis des OpenPGP-Standards (RFC 4880).

SSL

Secure Sockets Layer. Ein hybrides Verschlüsselungsprotokoll zur Datenübertragung im Internet, seit Version 3.0 als Transport Layer Security (TLS) weiterentwickelt.

X.509

ITU-T-Standard für eine Public-Key-Infrastruktur und derzeit der wichtigste Standard für digitale Zertifikate. Aktuell ist Version 3 (X.509v3).

Infos

[1] GNU Privacy Guard: http://gnupg.org/index.de.html

[2] FireGPG, Firefox-GnuPG-Addon: http://firegpg.tuxfamily.org

[3] Mehr zu Kryptostandards: Lars Packschies, “Praktische Kryptographie unter Linux”, Open Source Press 2005, ISBN 3-937514-06-6

[4] Biglumber Key-Signing-Koordination: http://biglumber.com/x/web?qs=Germany

[5] Vertrauenspfad-Suche für PGP: http://pgp.cs.uu.nl

[6] c’t-Krypto-Kampagne: http://heise.de/security/dienste/pgp/

[7] S/MIME bei OpenSSL: http://www.openssl.org/docs/apps/smime.html

[8] TC Internet ID: http://www.trustcenter.de/products/tc_internet_id.htm

[9] Thawte, Web of Trust: http://www.thawte.com/secure-email/web-of-trust-wot/

[10] CA-Cert: http://www.cacert.org/index.php?id=0&lang=de_DE

[11] Projekt Ägypten: http://www.gnupg.org/aegypten/index.de.html

[12] Burkhart Schröder, “Security by Obscurity im Bundestag”: http://heise.de/tp/r4/artikel/27/27182/

LinuxUser 02/2009 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben