Verschlüsselung von Emails

Status
Für weitere Antworten geschlossen.

Rain_Maker

Administrator
Teammitglied
Hallo,

in nächster Zeit wird hier ein HowTo zum Thema verschlüsselte Kommunikation via Email entstehen.

Wer sich über die Hintergründe von Kryptographie und Email-Verschlüsselung per Audio informieren möchte, der kann sich folgende Sendung von Radio Tux anhören.

http://radiotux-archiv.de/2001-2003/radiotux005.mp3

0. Wie funktioniert das Prinzip von asymmetrischer Verschlüsselung?

Weitere Informationen hierzu:

http://de.wikipedia.org/wiki/Asymmetrische_Verschlüsselung


Im Gegensatz zur symmetrischen Verschlüsselung, bei der beide Kommunikationspartner EIN UND DEN SELBEN Schlüssel verwenden, gibt es bei asymmetrischer Verschlüsselung immer sogenannte Schlüsselpaare, also jeweils ZWEI Schlüssel pro Kommunikationspartner, den ÖFFENTLICHEN Schlüssel, den jeder kennen darf/sollte und den PRIVATEN Schlüssel, den logischerweise nur der kennt, der eine verschlüsselte Nachricht entschlüsseln will. So kann vermieden werden, daß ein vertraulicher Schlüssel - wie es bei der symmetrischer Verschlüsselung der Fall ist - ausgetauscht werden muss.

Will also A mit B BEIDSEITIG kommunizieren, so braucht man insgesamt VIER Schlüssel, ZWEI PRIVATE, die bei A oder B bleiben und ZWEI Öffentliche, die A und B austauschen. Sowohl A als auch B müssen also ein Schlüsselpaar erzeugen und den ÖFFENTLICHEN Schlüssel dem/n Kommunikationspartner(n) zugänglich machen, während der PRIVATE Schlüssel möglichst gut geheim gehalten werden muss und nur dem jeweiligen Schlüsselinhaber bekannt sein darf.

A sendet B eine Nachricht und verschlüsselt sie mit dem ÖFFENTLICHEN Schlüssel von B.

B empfängt die Nachricht und entschlüsselt sie mit seinem PRIVATEN Schlüssel.

B sendet A eine Antwort und verschlüsselt diese mit (na?, kommt ihr drauf?, RICHTIG) dem ÖFFENTLICHEN Schlüssel von A.

A empfängt die Antwort und entschlüsselt sie mit seinem PRIVATEN Schlüssel.

Eigentlich ganz einfach, oder?

Moment mal, die Sache hat aber einen Haken, denn wenn die öffentlichen Schlüssel zwar wie es sich gehört jedem zugänglich sind, dann kann ja auch JEDER eine verschlüsselte Nachricht an A oder B senden und sich - möglicherweise durch eine gefälschte Absenderadresse - als jemand anderes ausgeben?

Diese Schwäche taucht natürlich bei symmetrischer Verschlüsselung NICHT auf, da der Empfänger es ja merken würde, daß die verschlüsselte Nachricht nicht "richtig" verschlüsselt ist, es sei denn, jemand hat den geheimen Schlüssel geknackt oder gestohlen. Wenn das passiert, dann hat man so oder so verloren und der Schlüssel ist wertlos, egal ob symmetrisch oder asymmetrisch Verschlüsselung.

Das Problem der Authentifizierung wird bei der asymmetrischen Verschlüsselung elegant mit Signaturen gelöst.

A schickt B eine Nachricht, verschlüsselt sie wie oben mit dem öffentlichen Schlüssel von B und signiert die Nachricht mit seinem PRIVATEN Schlüssel. Dabei wird - das wäre ja sonst eine Katastrophe - der private Schlüssel selbst natürlich NICHT übertragen.

Da B den öffentlichen Schlüssel von A hat und dieser zum privaten Schlüssel von A "passt", kann er nun nachprüfen, ob die Nachricht wirklich von A stammt. Nachdem dies geklärt ist, entschlüsselt B die Nachricht mit seinem privaten Schlüssel wie oben.

OK, aber woher weiß ich, daß mein Kommunikationspartner wirklich vertrauenswürdig ist?
Auch wenn er seinen Signatur unter die Mail gesetzt hat, kann er ja immer noch ein Betrüger sein. Dazu gibt es die sogenannte "Chain of Trust"/"Web of Trust".

http://de.wikipedia.org/wiki/Web_of_Trust#Beispiel:_Schl.C3.BCsselaustausch_im_Web_of_Trust

Beispiel: Schlüsselaustausch im Web of Trust
In einem Web of Trust funktioniert das so:
Alice erzeugt für sich ein Schlüsselpaar und signiert es. Außerdem schickt sie den öffentlichen Teil an einen Schlüsselserver (key server), damit andere Teilnehmer leichten Zugriff darauf haben.
Bob möchte mit Alice verschlüsselt kommunizieren. Dazu besorgt er sich Alice' Schlüssel von einem Keyserver, muss aber noch sicherstellen, dass er wirklich den richtigen Schlüssel bekommen hat: ein Angreifer könnte sich für Alice ausgeben und einen von ihm erzeugten Schlüssel an den Keyserver schicken. Jeder, der meint, eine Nachricht nur für Alice zu verschlüsseln, würde sie in Wirklichkeit für den Angreifer verschlüsseln.
Bob fragt Alice über einen sicheren Kanal (z. B. einen Telefonanruf oder bei einem persönlichen Treffen) nach den Details ihres öffentlichen Schlüssels. Dies sind die ID, die Länge und der Typ, das Erzeugungsdatum und insbesondere der Fingerprint des öffentlichen Schlüssels. All diese Daten vergleicht er mit denen des Schlüssels, den er vom Keyserver erhalten hat.
Stimmen alle diese Daten und vor allem beide Fingerprints überein, signiert er den öffentlichen Schlüssel von Alice mit seinem privaten und schickt diese Signatur wieder an den Keyserver.
Möchte jetzt Carl mit Alice verschlüsselt kommunizieren, besorgt er sich genau wie Bob Alice' öffentlichen Schlüssel vom Keyserver. Dann stellt er fest, dass Bob Alice' Schlüssel bereits überprüft hat. Wenn Carl Bobs Schlüssel schon kennt und Bob vertraut, dass er vor der Signatur fremder Schlüssel eine gründliche Überprüfung durchführt, dann muss er nicht erst Alice treffen und diese Prüfung wiederholen.
Wer zu den unten beschriebenen Schritten ein paar weitere Hinweise und Bilder will, der kann sich folgende Links ansehen:

http://shinji.via.ecp.fr/gallery/gpg-enigmail-howto

http://www.cccmz.de/wiki/index.php/Thunderbird/Enigmail

Die beiden Links beschreiben die Einrichtung mit Thunderbird und der "Enigmail" Extension. Linux-Benutzer können sich die nachträgliche Installation von GNU-PG meist ersparen, da dieses Paket normalerweise zur Standardinstallation gehört.

A) Verschlüsselte Mails mit Thunderbird und der Extension Enigmail

1. Zunächst müssen wir uns die Erweiterung "Enigmail" herunterladen und über Extras --> Erweiterungen --> Installieren in Thunderbird einbinden.

Hier kann man Enigmail herunterladen:

http://enigmail.thunderbird-mail.de/

http://www.erweiterungen.de/suche/ddbbdbf1a6c71d1da8a2a06a531fd234/?q=Enigmail#suche-erweitert

Wichtig: Enigmail gibt es in mehreren Ausführungen für verschiedene Plattformen und Versionen von Thunderbird.

Nach erfolgreicher Installation muß Thunderbird neu gestartet werden, damit die Erweiterung verfügbar ist.

2. Erzeugen eines Schlüsselpaares

War die Installation erfolgreich, dann ist nach dem Neustart von Thunderbird ein neuer Menüpunkt "Open PGP" aufgetaucht.
Diesen aktivieren wir nun und gehen auf "Schlüssel verwalten" --> Erzeugen --> Neues Schlüsselpaar.

Anschließend können wir die Mailadresse wählen, die mit diesem Schlüssel verwendet werden soll, die Länge des Schlüssels, die Lebensdauer des Schlüssels sowie, ob er zum Signieren von Nachrichten verwendet werden soll. Natürlich wollen wir diesen Schlüssel zum Signieren verwenden und übernehmen ansonsten auch die Standardeinstellungen. Wir geben eine Passphrase ein und bestätigen diese und nun dauert es ein Weilchen, bis der Schlüssel erzeugt wurde. Die Nachfrage nach einem Widerrufszertifikat ist UNBEDINGT mit JA zu beantworten, denn sollte der Schlüssel in die falschen Hände geraten, so können wir ihn mit diesem Zertifikat unbrauchbar machen. Das erzeugte Zertifikat wird in einer Datei der Form:

emailadresse.SchlüsselID.rev.asc

angelegt und sollte gut aufbewahrt werden. Am besten eignet sich ein externer Datenträger wie eine Diskette, da sonst jemand, de Zugang zum eigenen Rechner hat, mit diesem Zertifikat den Schlüssel ebenfalls unbrauchbar machen könnte.

Der neu erzeugte Schlüssel bekommt eine EINDEUTIGE Schlüssel ID, die folgendermassen aussieht:

01x8-stellige Zahl

Die vorgestellte Zeichenfolge "01x" wird dabei nicht von jedem Programm dargestellt, ist aber wichtig bei der Schlüsselsuche über die sogenannten Schlüsselserver. (dazu später mehr)

3. Öffentlichen Schlüssel "bekannt" machen.

Hierzu gibt es prinzipiell 2 Wege:

a) Öffentlichen Schlüssel exportieren und als Anhang versenden.

In der Schlüsselverwaltung können wir auf den eben erzeugten Schlüssel mit einem Rechtsklick die Option "Öffentlichen Schlüssel per Email senden" auswählen und so den öffentlichen Teil des Schlüsselpaares einer Person senden, mit der man verschlüsselte Emails austauschen möchte. Schickt einem diese Person im gegenzug ihren öffentlichen Schlüssel, so steht einem Ausrausch verschlüsselter Mails nichts mehr im Wege.

b) Öffentlichen Schlüssel auf einen Schlüsselserver hochladen.

Wieder wählen wir unseren gerade erzeugten Schlüssel mit einem rechtsklick aus und gehen auf "Auf Schlüsselserver hochladen", wählen den Server aus und bestätigen. Das war es dann auch schon. Es gibt mehrere voreingestellte Server, man kann ruhig auf alle Server hochladen, das erleichter einem Gegenüber das finden des geeigneten, öffentlichen Schlüssels.

Wichtig: Die Nachricht, die man nach Methode a) verschickt, sollte man auch gleich mit dem eigenen Schlüssel signieren. Hierzu wählen wir entweder im Fenster der gerade erstellten Mail den Punkt Open PGP --> Nachricht unterschreiben oder klicken auf das Stift-Symbol unten rechts.

Außerdem sollte man sich mit den verschiedenen Optionen, die die Open PGP-Menüs bieten einmal vertraut machen, es ist eigentlich alles selbsterklärend und so lange man nicht seinen privaten Schlüssel versendet, kann man nichts falsch machen, vor allem, weil Thunderbird/Enigmail auch immer wieder nachfragen, falls eine Einstellung nicht eindeutig ist.


Greetz,

RM
 

Rain_Maker

Administrator
Teammitglied
Verschlüsselung von Emails, Fortsetzung 1

Anmerkung: Es gibt eine "Einschränkung" bei der Verwendung von Enigmail/Thunderbird, die, soviel ich weiß, aber auch für alle anderen Mailclients gilt, wenn man verschlüsselte Mails versenden will. Das ganze geht NICHT mit HTML-Mails sondern nur mit Textmails, UND DAS IST AUCH GUT SO !

Unabhängig, ob man nun Mailverschlüsselung verwendet oder nicht:
HTML hat in einer Email NICHTS zu suchen und stellt neben der Verschwendung von Bandbreite auch ein nicht unerhebliches Sicherheitsrisiko dar, besonders, wenn in der "hübschen bunten Mail" z.B. Links ausgeführt oder Grafiken nachgeladen werden dürfen, die den User dann "elegant" z.B. auf die Phishing-Seite lenken.
(Ich hoffe ihr versteht, was ich mit diesem Beispiel meine)

Emails sind TEXTnachrichten, stellt euch das Ganze doch mal bei der "normalen Post" vor:

Würdet ihr wollen, daß euch ein Brief in der Post gleich per Telefon zum Anbieter des im Brief enthaltenen Werbeprospektes weiterverbindet und euch dann mit "tollen Angeboten" vollquatscht, wenn ihr den Brief öffnet?

Na also.

Deshalb ein Ratschlag an JEDEN, ob er nun Mails verschlüsselt oder nicht:

Wenn euer Mailclient HTML-Mails versenden will, GEWÖHNT ES IHM AB!

Wenn das nicht geht und man keine Text-Mails versenden kann (mir ist allerdings kein Beispiel bekannt, sogar Outlook Express kann das *g*), nehmt einen anderen Mailclient!


to be continued ......

Greetz,

RM
 
Status
Für weitere Antworten geschlossen.
Oben