andere HowTos auf dieser Seite

GPG-Howto

Duisburg, 22.12.2005 by gesus

Grundsätzliches

Gut, dass du dich dafür interessierst, Texte und eMails zu verschlüsseln. Viele Leute behaupten, es sei schwer, Verschlüsselungssoftware zu installieren und zu benutzen. Dass die Installation nicht ganz trivial ist, will ich nicht abstreiten, aber mit dieser Beschreibung sollte es jedoch möglich sein, innerhalb von ca. 15 Minuten einen funktionsfähigen !MilClient zu installieren, der diese Funktionalität bietet. GPG ist eine Software, die Daten nach dem so genannten public-key-Verfahren verschlüsselt, d.h. - ohne ins Detail gehen zu wollen - dass Sender und Empfänger jeweils einen privaten und einen öffentlichen Schlüssel generiert haben müssen. Wie der Name schon sagt, sollte der private Schlüssel nur einem selbst zugänglich gemacht werden - das heißt von einer Speicherung dieses Schlüssels an einem anderem (oder gar öffentlich erreichbaren) Ort ist abzusehen. Person A kann Person B nur eine verschlüsselte Mail schreiben, wenn A den öffentlichen Schlüssel von B und seinen eigenen Privaten besitzt und umgekehrt. Was dies für einen GPG-Anfänger bedeutet ist einfach: Du brauchst erst einmal ein paar public keys von anderen Personen, um überhaupt Verschlüsselung ausprobieren zu können (natürlich kannst du auch gegen deinen eigenen public-key schiffrieren, so dass nur du entschlüsseln kannst, aber das macht zumindest bei Kommunikation via eMail ja nicht immer Sinn)

Wo wir bei den anderen Schlüsseln sind: Es gibt bei Überlegungen bezüglich von Sicherheit und Verschlüsselung immer zwei Ebenen: einmal die Sicherheit und das Vertrauen. Vertrauen ist notwendig um Sicherheit (als Prozess zu verstehen) überhaupt entstehen kann. Das heißt zum Beispiel, dass du dir die öffentlichen Schlüssel deiner EmailEmpfänger von vertrauten Personen bestätigen solltest. Besipielsweise gibt es diverse Keyserver, die als Suchmaschinen als Public-Keys fungieren. Man sucht da nach Max Mustermann und bekommt den treffenden Public Key als Antwort. Wer sagt mir aber, dass wirklich Max Mustermann dahintersteckt und nicht irgendjemand anders?

Diesem Dillemma entgeht man, indem man sich public-keys entweder von vertrauten Personen signieren lässt oder dies immer wieder auf so genannten Key Signing Parties mit vielen Menschen gleichzeitig trifft und sich quasi gegenseitig bescheinigt, dass die jeweiligen public keys tatsächlich zu den wirklichen Menschen "hinter den eMailAdressen" passen.

Dies soll aber nur als Vorwort zum Umgang mit Verschlüsselungsverfahren gesagt sein. Dein Hauptsächliches Anliegen ist ja die Installation ;-)

Und jetzt geht's los!

Um Mails veschlüsseln und signieren zu können benötigst du bestimmte Programme. Erstens brauchst du eine Version der Verschlüsselungssoftware für dein Betriebssystem. Eine kommerzielle Version ist PGP. Für Privatpersonen ist die Benutzung von PGP (pretty good privacy) kostenlos. Genau so gut aber ist die GNU Variante der Software GnuPG, oder auch kurz gpg. Da es sich hierbei um freie Software handelt, gehe ich im Weiteren nur auf dieses Programmpaket ein.

Zudem benötigst du noch einen eMailClient, der GPG/PGP-Verschlüsselung unterstützt. In diesem Howto geht es ausschließlich um die Nutzung von gpg mit Mozilla Thunderbird. Die Installation bei anderen Clients ist ähnlich. Bei folgenden eMail-Clients ist mir eine Unterstützung bekannt:

Mail-Client Betriebssysteme pgp-Unterstützung gpg-Unterstützung
Mozilla Thunderbird Linux, Windows, Mac OS freies Plugin erforderlich freies Plugin erforderlich
Microsoft Outlook Express Windows freies Plugin erforderlich freies Plugin erforderlich
Microsoft Outlook Windows freies Plugin erforderlich freies Plugin erforderlich
The Bat Windows ja ja
Evolution Linux nein ja
....

Auf einer Seite von GnuPG gibt es eine sehr übersichtliche Liste von Frontends für gpg unter verschiedenen Betriebssystemen.

Installation

Bitte wähle zunächst dein Betriebssystem aus!

Installation unter Linux

gpg installieren

Bei den meisten Distributionen ist das gpg-Paket bereits mitinstalliert. Testen kann man das durch Eingabe von

gpg --version

an der Kommandozeile. Dies sollte Informationen zur Version und der unterstützten Verschlüsselungalgoritmen ausgeben.

csaris@gesuxmobil:~/gpg-howto/img$ gpg --version
gpg (GnuPG) 1.4.1
Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512
Compression: Uncompressed, ZIP, ZLIB, BZIP2

Sollte diese oder eine ähnliche Ausgabe nicht zustande kommen, solltest du einmal schauen, wie man bei deiner Distribution Softwarepakete nachinstalliert. Bei Suse gibt es das Programm yast, das menügesteuert eine Suche nach gpg zulässt und mit Hilfe dessen man es installieren kann. Unter auf Debian basierten Systemen (z.B. Debian, Ubuntu, Kubuntu, Edubuntu, Knoppix) sollte man mit Superuser-Rechten mittels apt-get das Paket installieren können.

csaris@gesuxmobil:~/gpg-howto/img$ sudo apt-get install gpg

oder

csaris@gesuxmobil:~/gpg-howto/img$ su
Password:
root@gesuxmobil:/home/csaris/gpg-howto/img # apt-get install gpg

sollte zu dem gewünschten Ergebnis führen.

Mozilla Thunderbird und Enigmail installieren

Bei vielen Distributionen ist auch Thunderbird schon als StandardMailClient installiert. Falls nicht, installiert man wieder über yast oder per apt-get als Superuser.

root@gesuxmobil:/home/csaris/gpg-howto/img # sudo apt-get install mozilla-thunderbird

und auch das Eingmail Plugin lässt sich so installieren.

root@gesuxmobil:/home/csaris/gpg-howto/img # sudo apt-get install mozilla-thunderbird-enigmail

Falls es dabei Probleme gibt, solltest du das Plugin manuell herunterladen. Du findest stets eine aktuelle Version auf der Projekthomepage. Dann erfolgt die Installation parallel zur Windows-Installation von Enigmail. Wenn du diesen Arbeitsschritt erfolgreich ausgeführt hast, kannst du mit der Konfiguration von enigmail fortfahren.

Installation unter Mac OS

Zwei Schritte sind grundsätzlich notwendig, um gnupg unter Mac OS X zu benutzen: Zum einen muss die gnupg-Software installiert werden und zum Anderen wird eine Erweiterung für Thunderbird benötigt. Die Installation von gnupg wird auf dieser Seite wirklich gut beschrieben. Ein Programm zum Verwalten der Schlüssel wäre jetzt noch nicht schlecht. Hier wird dessen Installation beschrieben.

Der letzte Schritt - die Installation von enigmail (dem Plugin für Mozilla-Thunderbird) erfolgt analog zu der Installation von enigmail/Thunderbird für Windows.

Installation unter Windows

gpg installieren

Als erstes solltest du die GnuPG-Software installieren. Du findest diese auf den FTP-Seiten von GnuPG ftp://ftp.gnupg.org/gcrypt/binary/. Dort solltest du dir die aktuellste Version für Windows herunterladen.

http://gesus.in-berlin.de/spread_gpg/img/download_gnupg.png

Als nächstes solltest du die heruntergeladene Datei installieren. Merke dir den Pfad der Installation! Dieser wird später bei der Konfiguration von Thunderbird noch benötigt.

Mozilla Thunderbird und Enigmail installieren

Falls du Mozilla Thunderbird noch nicht installiert hast, wäre jetzt der beste Zeitpunkt dazu. Falls das Programm bereits installiert ist kannst du direkt mit der Installation von Enigmail weitermachen.

Installation von Enigmail

Enigmail installiert man als Extension zu Thunderbird. Hierzu ist es notwendig eine XPI-Datei herunterzuladen und diese dann anschließend als Extension zu installieren. Auf der Downloadseite des Enigmailprojektes findest du die entsprechenden Dateien.

http://gesus.in-berlin.de/spread_gpg/img/download_enigmail.png

Einfach die entsprechende Thunderbirdversion unter Windows heraussuchen, ABER ganz wichtig für Nutzer von Mozilla Firefox: Nicht einfach mit der Linken Taste auf den Link klicken sondern mit der rechten Maustaste drauf und dann "Ziel speichern unter..." auswählen.

Anschließend bitte Thunderbird öffnen und unter Extras/ Erweiterungen klicken und die soeben heruntergeladene Datei zur Installation auswählen.

http://gesus.in-berlin.de/spread_gpg/img/tb_install_05.png

http://gesus.in-berlin.de/spread_gpg/img/tb_install_06.png

Hiernach ist die Installation abgeschlossen. Enigmail muss nur noch konfiguriert werden, damit du deine erste Mail verschlüsseln kannst.

Konfiguration von Enigmail

Wenn du jetzt einmal Thunderbird neu startest, wird dir auffallen, dass es ein zusätzliches Menü gibt. Aber bevor du jetzt Enigmail konfigurierst. solltest du sicherstellen, dass du schon dein(e) Email-Konten eingerichtet hast. Ohne eine eingerichtete (funktionierende) eMailAdresse ist die Installation nicht möglich. Wenn du soweit deine eMail-Adressen eingerichtet hast und auch überprüft hast, ob der Versand und der Empfang von eMails funktioniert, kannst du weiter machen, indem du zunächst einmal den Eintrag Enigmail/Preferences auswählst.

http://gesus.in-berlin.de/spread_gpg/img/tb_install_07.png

Im folgenden Dialog ist es unter anderem möglich, einzustellen, wo sich die ausführbare Datei für GnuPG befindet. Unter Windows ist es standardmäßig C:\Programme\GNU\GnuPG\gpg.exe unter Linux /usr/bin/gpg. Falls unter Linux der Pfad nicht stimmen sollte, kann durch Eingabe von which gpg oder locate gpg der Pfad erfragt werden.

http://gesus.in-berlin.de/spread_gpg/img/tb_install_08.png

Hiernach bist du fähig einen eigenen gpg-Schlüssel zu generieren. Du brauchst nicht nur einen Schlüssel, sondern ein Schlüsselpaar: der eine Schlüssel ist dein privater Schlüssel (private Key), den du unter keinen Umständen an öffentlichen Stellen lagern darfst (am besten nur auf deinem Rechner zu Hause) und zweitens den öffentlichen Schlüssel (public key), den andere Menschen benötigen, um Nachrichten an Dich zu verschlüsseln bzw. um von Dir signierte Daten zu überprüfen.

gpg-Schlüsselpaar erzeugen

Enigmail ermöglicht die menügeführte Verwaltung deiner gpg-Keys. Somit ist auch die Erstellung eines Schlüsselpaares möglich. Rufe einfach den Keymanager auf, um ein neues Paar zu erstellen.

http://gesus.in-berlin.de/spread_gpg/img/tb_install_09.png

http://gesus.in-berlin.de/spread_gpg/img/tb_install_10.png

In dem Dialog unten ist es wichtig, dass du unter Account/ User ID die eMailAdresse auswählst, die du auch gewöhnlich nutzt und die auch für den verschlüsselten eMailverkehr vorgesehen ist. Auf keinen Fall solltest du die Checkbox No Passphrase anklicken, denn das würde das Entschlüsseln von Nachrichten an dich durch dritte Personen ungemein einfach machen (das würde sich höchstens anbieten wenn eine Gruppe von Menschen sich ein Schlüsselpaar teilen und auch dann wäre das Weglassen einer Passphrase - wenn auch nachvollziehbarer - sehr sinnfrei.

Bei der Wahl deiner Passphrase solltest du dir ein paar Gedanken machen. Einerseits sollte es leicht zu merken sein aber auf der anderen Seite auch recht sicher. Es gibt ein paar Grundregeln für Passwörter, die du unbedingt beherzigen solltest. Wenn du nach reiflicher Überlegung dann deine Passphrase zweimal eingibts und dann auf Generate key klickst, sollte der Arbeitsschritt nach kürzerer Zeit beendet sein.

http://gesus.in-berlin.de/spread_gpg/img/tb_install_11.png

Hiernach bietet enigmail an, einen so genannten revocation-key zu generieren. Dies empfielt sich in der Tat.

http://gesus.in-berlin.de/spread_gpg/img/tb_install_12.png

Wenn du nämlich deinen Public Key einmal publiziert hast, so dass Andere diesen importieren können stellt sich vielleicht auch einmal die Frage, ob man nich einen solchen öffentlichen Schlüssel wieder ungültig setzen kann. Dies ist NUR durch diesen revocation-key möglich. So, das war's.... fast. Jetzt musst du nur noch GnuPG für dein Email-Account unter Thunderbird freischalten. Das ist ganz einfach: Bei Windows bitte im Menü Extras/Konten anklicken.... unter Linux ist das Bearbeiten/Konten.

http://gesus.in-berlin.de/spread_gpg/img/enable_gpg.png

Wenn du hier - wie im Screenshot - die Checkbox Enable OpenPGP support (enigmail) aktivierst, ist alles soweit fertig.