HowTo Emails verschlüsseln mit PGP mit Thunderbird
Dieser Artikel dürfte die meisten Piraten im Moment brennend interessieren. Wenn du anderer Meinung bist, so diskutiere dies bitte auf der Diskussionsseite, bevor du diesen Baustein entfernst. |
Sicherer Kommunikationsweg
Hier entsteht ein kurzes HowTo "Sicherer Kommunikationsweg per E-Mail" (Dauer<1h). Es soll jeden Interessierten in die Lage versetzen, das Problem unverschlüsselter Kommunikation zu verstehen und in kurzer Zeit auf verschlüsselte E-Mail umzustellen. Hier wird beschrieben, wie das mit dem Mailprogramm Thunderbird leicht umgesetzt werden kann. Auch andere Mailprogramme ermöglichen Verschlüsselung mit PGP, sind aber nicht Teil des HowTos hier.
Das Problem
Normale E-Mails sind unverschlüsselte Texte, die in kleinen Datenpaketen aufgeteilt über das Internet versendet werden. Jeder, der diese kleinen Datenpakate abfangen kann (z.B. der NDS, euer Systemadministrator oder die Betreiber von Mail-Servern oder Routern oder ) können eure E-Mails mitlesen (Analogie: Postkarte -> Jeder, der sie in die Hand bekommt, kann sie lesen).
Die Lösung
- Statt die Mails unverschlüsselt zu versenden, kann man sie sehr leicht verschlüsselt senden, sodass außer dem Sender und Empfänger niemand mehr die Mails entschlüsseln kann (Ende-zu-Ende-Verschlüsselung). Sichtbar bleibt nur die reine Datenmenge, sprich die Größe der Datei.
- Wenn also jemand "auf der Leitung" mithorcht, bekommt er nur noch verschlüsselte Informationen zu sehen und kann feststellen das 5GB Daten versand wurden.
- Zur Verschlüsselung kann man den OpenPGP-Standard verwenden. Wie das ganz schnell geht, siehe unten.
Das Verfahren
Vermutlich hat jeder schon mal spielerisch eine verschlüsselte Kommunikation ausprobiert. Man vereinbart ein geheimes Verfahren zum Verschlüsseln und übermittelt dieses Verfahren auf sicherem Wege seinem Kommunikationspartner oder vereinbart ein Signal. Nun können beide nach diesem Verfahren Nachrichten ver- und entschlüsseln. Im praktischen Gebrauch ist das aber sehr unhandlich, denn man muss das gemeinsame Geheimnis immer zwischen den Kommunikationspartnern austauschen und zwar so, dass es kein anderer in die Hände bekommt.
Deshalb hat man ein einfacher zu handhabendes Verfahren entwickelt.
- Es wird ein Schlüssel-Paar erzeugt: ein öffentlicher Schlüssel und ein nur dazu passender privater Schlüssel.
- Mit dem öffentlichen Schlüssel kann man nur verschlüsseln und Signaturen prüfen,
- mit dem privaten Schlüssel kann man nur entschlüsseln und signieren.
- Den öffentlichen Schlüssel stelle ich ins Internet, so dass er für jeden verfügbar ist. Den privaten Schlüssel kenne nur ich.
- Damit kann nun jeder eine Email an mich verschlüsseln, aber nur ich kann diese mit dem passenden privaten Schlüssel entschlüsseln.
Um den privaten Schlüssel zu schützen, wird der Zugriff auf diesen mit einem Passwort geschützt (er wird verschlüsselt auf der Festplatte gespeichert). Weil dieses Passwort kein einzelnes Wort sein muss, also auch Leerzeichen enthalten darf, nennt man es "Pass-Satz", englisch Passphrase. Wer diese vergisst, wird an seine verschlüsselten Daten wohl nicht mehr herankommen. Somit ist natürlich klar, dass man seinen privaten Schlüssel und die dazugehörige Passphrase nie herausgeben darf und immer sicher aufbewaren muss.
Installation und Veröffentlichen der Schlüssel
- Thunderbird oder Thunderbird (portable) (*) herunterladen und installieren
- GnuPG (typischerweise als Teil von Gpg4win) herunterladen und installieren
- EnigMail (ein Thunderbird Plugin für Verschlüsselung) über den Addons-Manager von Thunderbird installieren oder EnigMail (Download) und mit Hilfe des Addons-Managers installieren.
- Hier eine genaue Anleitung - Enigmail/OpenPGP dazu.
- Mit Thunderbird/EnigMail ein Schlüsselpaar aus Public Key und Private Key und ein Widerrufszertifikat erstellen (das ist der einfache Fall; für die Erzeugung guter Schlüssel siehe www.openpgp-schulungen.de)
- Den eigenen Private Key für sich behalten und z.b. auf einem USB-Stick sichern
- Den eigenen Public Key auf einen Schlüsselserver hochladen z.B. http://pgp.uni-mainz.de oder hkp://eu.pool.sks-keyservers.net oder allen Gesprächspartnern mitteilen (die brauchen den Fingerprint sowieso aus sicherer Quelle)
- Das Widerrufszertifikat ist für die Widerufung (Schlüssel ungültig erklären) gedacht; das kann man aber auch später erstellen, solange man noch Zugriff auf den geheimen Hauptschlüssel hat. Um den zugehörigen (Haupt-)Schlüssel ungültig machen zu können ist das Zertifikat unbedingt gut geschützt zu speichern.
- Fertig mit der Arbeit! Ab jetzt, Spaß mit sicherer Kommunikation haben:
- Public Keys (und, aus sicherer Quelle, die Fingerprints) aller Mail-Empfänger besorgen und schon kann es losgehen.
- Mail schreiben, mit dem Public Key des Empfängers verschlüsseln und ab die Post. Sicher verpackt vor gierigen Schnüfflern.
- Verschlüsselte Mails empfangen und automatisch mit dem Private Key entschlüsseln.
- Ein netter Nebeneffekt sollte hier noch erwähnt werden. Bei einer (verschlüsselten oder unverschlüsselten) Mail, die mit dem Schlüssel unterschrieben wird, werden Veränderungen durch einen den Bruch der Signatur sofort offensichtlich.
*) Empfehlung, da ohne Einträge in der Registierung und auch auf einem Stick lauffähig.
Verwendung
- Zum Kommunizieren mit verschlüsselten E-Mails benötigt grundsätzlich der Sender den öffentlichen Schlüssel des Empfängers
- Mit dem öffentlichen Schlüssel des Empfängers wird die Mail vor Versand verschlüsselt
- Der Empfänger benötigt zum Entschlüsseln nur seinen eigenen privaten Schlüssel (der zu dem verwendeten öffentlichen Schlüssel passen muss)
- Der private Schlüssel darf niemals veröffentlicht werden
Einstellungen
Unter Linux
In Thunderbird mit Enigmail-Add-On
- OpenPGP -> OpenPGP-Assistent
- "Ja, ich möchte vom Assistenten geholfen bekommen"
- "Möchten Sie OpenPGP für alle Konten bzw. Identitäten Einrichten?" -> "Ja"
- "Ja ich möchte alle Nachrichten unterschreiben"
- "Ja ich habe die öffentlichen Schlüssel der meisten meiner Empfänger"
- "Möchten Sie die Einstellungen anpassen, so dass OpenPGP besser funktionieren wird" -> "Ja"
- "Ich möchte ein neues Schlüsselpaar erzeugen" (Sofern man noch kein eigenes hat)
- Benutzer-ID und SICHERES Password eingeben
- Schlüssel erstellen
- Zertifikat erzeugen und sichern
- OpenPGP -> Schlüssel verwalten
- Haken bei "Standardmäßig alle Schlüssel anzeigen" setzen
- gerade erstellten Schlüssel markieren
- Schlüssel-Server -> Schlüssel hochladen
- "OK" anklicken
- Fertig
Sicherheit
Wenn man verschlüsselte Kommunikation nutzt, kann man nicht automatisch sicher sein, dass man mit dem vermuteten Absender oder Empfänger kommuniziert. Um dies sicher zu stellen, muss der Schlüssel noch verifiziert werden (was man zumeist dadurch kenntlich macht, dass man ihn selber zertifiziert, entweder für die Öffentlichkeit oder (lokal, lsign) nur für sich selber). Als Absender einer verschlüsselten Mail hat man dann (im Rahmen des Sicherheitsniveaus des Empfängerschlüssels – und des eigenen Rechners...) die Gewissheit, dass nur der beabsichtigte Empfänger die Nachricht lesen kann. Als Empfänger einer verschlüsselten Mail kann man leider normalerweise nicht sicher sein, dass der Absender den eigenen Schlüssel verifiziert und einen Man-in-the-middle-Angriff damit unmöglich gemacht hat. Wenn aber Signaturen verwendet werden, (ob verschlüsselt oder unverschlüsselt), kann man zumindest sicher sein, dass der Inhalt in genau dieser Form vom behaupteten Absender verschickt wurde.
Schlüsselverifikation
Für die Verifikation (Gültigkeits-Überprüfung) der Schlüssel gibt es zwei Möglichkeiten:
- die erste, hier empfohlene einfache Variante: direkte Verifikation. Per Brief, im Gespräch oder auf einem anderen sicheren Kanal wird der Fingerabdruck (engl. Fingerprint), also die Prüfsumme des Schlüssels, ausgetauscht
- alternativ, aber weniger sicher und komplizierter: indirekte Verifikation. Das sog. "Web of Trust" (Teilnehmer A vertraut und zertifiziert Teilnehmer B und Teilnehmer B zertifiziert zumindest Teilnehmer C (ob B den Zertifizierungen von C auch vertraut, ist A nicht bekannt und für A auch nicht relevant))
Leider werden Schlüsselgültigkeit und Zertifizierungsvertrauen sehr oft verwechselt.
Signaturen
Signaturen sind neben der Verschlüsselung der zweite Teil des Sicherheitskonzeptes von OpenPGP. Wenn eine verschlüsselte Mail empfangen wurde, so ist diese zwar nur vom Empfänger entschlüsselbar, aber von wem sie stammt, ist noch nicht verifiziert. So könnte sich auch ein Dritter als der vermeintliche Absender ausgeben und den Empfänger so täuschen. Eine verschlüsselte Mail zu empfangen bedeutet also nicht automatisch, dass sie vom vermuteten Absender stammt!
- Die Signatur einer E-Mail verifiziert den Absender und den Inhalt einer erhaltenen Mail (auf Empfängerseite)
- Im Gegensatz zur Verschlüsselung ist die Signierung (die sich in derselben Form an alle potentiellen Empfänger richtet) einer Mail auch dann möglich, wenn (einer) der Empfänger OpenPGP nicht unterstützt. Deshalb kann man zwar nicht alle Mails verschlüsseln, aber alle signieren. Bei Leuten mit schlechter (Web-)Mailsoftware sieht das aber möglicherweise etwas komisch aus.
- Das funktioniert so, dass der Absender eine Prüfsumme (Hashwert) über den Inhalt der Nachricht bildet, diese mit seinem privaten Schlüssel verschlüsselt und an die Mail anhängt (das ist die Signatur). Die Signatur ist also nicht so sicher wie der Schlüssel, sondern nur so sicher wie die verwendete Hashfunktion.
- Der Empfänger nimmt die empfangene Mail, bildet ebenfalls die Prüfsumme darüber, vergleicht die mit der aus der Signatur (bei Identität ist die Nachricht unverändert) und prüft mithilfe des öffentlichen Schlüssels des Absenders, ob die Signatur vom geheimen Schlüssel des Absenders erzeugt wurde.
- Siehe dazu auch: http://de.wikipedia.org/wiki/OpenPGP#Signierung
Anleitungen/Tutorial
- Anleitung auf Thunderbird Mail DE (Thunderbird Mail DE ist eine private Website, die vollkommen unabhängig von der Mozilla Foundation/Corporation ist.)
- PGP/GPG – unter Windows mit Thunderbird Emails verschlüsseln - Christoph Becker]
- Sichere E-Mail-Kommunikation mit OpenPGP - Autor: Rainer Klute
- TrueCrypt nutzen (PDF-Präsentation Verschlüsselung)
- Was man vor dem Einsatz von OpenPGP wissen sollte (openpgp-schulungen.de)
- gute Schlüssel, schlechte Schlüssel (openpgp-schulungen.de)
Videoanleitungen