YaGPGT: Ein (weiteres) GnuPG Tutorial

Achtung: dieses Tutorial basiert auf der Annahme, dass GnuPG als Kommandozeilenprogramm vorliegt, wie es unter Linux und anderen UN*XEn üblich ist. Für andere Systeme sind viele Hinweise möglicherweise weniger gut geeignet. Alle Erläuterungen beziehen sich auf die Version gpg 1.0.6. Zumindest bei neueren Versionen sollten die Beschreibungen ebenfalls zutreffen.

0. Inhalt

  1. Was bedeutet GnuPG?
  2. Und was ist GnuPG?
  3. Wie gehe ich mit GnuPG um?
    1. Wie erzeuge ich ein neues Schlüsselpaar?
    2. Wie mache ich meinen Schlüssel bekannt?
    3. Wie füge ich den Schlüssel von jemanden hinzu?
    4. Wie ändere ich die Glaubwürdigkeit von anderen Schlüsseln?
    5. Wie entferne ich Schlüssel wieder?
    6. Was ist, wenn ich mehrere EMail-Adressen habe?
    7. Kann ich mir alle Schlüssel anzeigen lassen?
  4. Wie verschlüssele und entschlüssele ich mit GnuPG?
    1. GnuPG und KMail
  5. Der Umgang mit Schlüsselservern
  6. FAQ
  7. Zum Schluss

1. Was bedeutet GnuPG?

GnuPG ist die Abkürzung für GNU Privacy Guard. Es handelt sich hierbei um eine freie open source Alternative zu dem bekannten Programm PGP (Pretty Good Privacy). Ein großes Problem mit PGP sind die US-Exportbeschränkungen bezüglich der Verbereitung starker Kryptographie ausserhalb des Landes. Lange Zeit hat man sich damit beholfen die Programmquellen in Papierform zu veröffentlichen und im Ausland wieder einzutippen, um diese Beschränkungen zu umgehen. Irgendwann kamen dann glücklicherweise einige Leute auf die Idee eine eigene, neue Fassung von PGP zu schreiben und zu pflegen, die ausserhalb der USA entwickelt und somit frei von diesen Beschränkungen ist. Das Ergebnis ist GnuPG. Herzlichen Dank an die Entwickler!
top

2. Und was ist GnuPG?

Da GnuPG (fast) kompatibel zu PGP ist, hat es auch dieselben Funktionen, n�lich unter anderem das Verschlüsseln und Entschlüsseln von Nachrichten. Das war die kurze Antwort.

Grundsätzlich gibt es zwei unterschiedliche Arten der Verschlüsselung; die symmetrische und die asymmetrische. Bei der symmetrischen Verschlüsselung benutzen beide TeilnehmerInnen (Sender und Empfänger) denselben geheimen Schlüssel. Ein besonders einfaches Beispiel für einen symmetrischen Schlüssel ist die Verschiebung des Alphabets (dabei handelt es sich um einen einfachen Substitutionsschlüssel). Jeder Buchstabe im Alphabet wird dabei durch einen anderen Buchstaben durch Verschiebung ersetzt (zum Beispiel A durch D, B durch E, C durch F usw.). Der geheime Schlüssel ist in diesem Fall das Wissen darum, um wieviele Buchstaben verschoben werden soll. Symmetrische Verschlüsselung eignet sich nicht, wenn sich die Kommunikationspartner nicht oder nicht gut kennen, oder wenn sie keine Möglichkeit haben, persönlich Kontakt aufzunehmen. Denn damit überhaupt eine gesicherte Kommunikation zustande kommen kann, müssen ja zunächst die Schlüssel ausgetauscht werden. Und damit dies sicher ist, müsste man die Schlüssel zunächst verschlüsseln. Die Katze beißt sich in den Schwanz.

Asymmetrische Verfahren funktionieren etwas anders. Wie der Name schon andeutet, werden hier fr das Senden und das Empfangen unterschiedliche Schlüssel verwendet, die allerdings zusammenhängen. Asymmetrische Verfahren sind gewissermaßen Einbahnstraßen, die nur in einer Richtung funktionieren. Jede TeilnehmerIn muss für den Empfang von Nachrichten ein sogenanntes Schlüsselpaar besitzen, das aus einem öffentlichen und einem geheimen Schlüssel besteht. Um die folgenden Beschreibungen deutlicher zu machen, nehmen wir zwei Personen an, die sich Nachrichten schicken wollen: Birgit und Alex. Weiter nehmen wir an, dass Alex Nachrichten an Birgit senden will.

Der öffentliche Schlüssel wird für das Verschlüsseln von Nachrichten benutzt und ist allen TeilnehmerInnen bekannt, die an die SchlüsselbesitzerIn (in diesem Fall also Birgit) Nachrichten senden wollen (also auch Alex). Wenn Birgit möchte, kann sie diesen Schlüssel auf ihrer eigenen Webseite ausstellen, per EMail verschicken oder auf extra dafür vorgesehenen Servern ablegen. Um nun eine derart verschlüsselte Nachrichten wieder entschlüsseln zu können, benötigt Birgit einen zweiten, den geheimen Schlüssel. Dieser ist ausschließlich der EmpfängerIn der Nachricht bekannt und darf niemals in falsche Hände geraten.

Nun kommt GnuPG ins Spiel. Neben dem Ver- und Entschlüsseln von Nachrichten dient das Programm dazu, alle für eine erfolgreiche Kommunikation benötigten Schlüssel zu verwalten. Man kann mit GnuPG neue Schlüssel hinzufügen, nicht mehr benötigte entfernen und sich alle Informationen zu den einzelnen Schlüsseln anzeigen lassen. Schließlich kann man mit GnuPG natürlich neue Schlüsselpaare erzeugen. Nebenbei bemerkt (weil man immer wieder auf diese Begriffe stößt) verwaltet GnuPG die Daten in sogenannten Schlüsselbunden (unterteilt in geheime und öffentliche). In der Regel muss man sich darum aber nicht kümmern, wenn man nicht mehrere solcher Schlüsselbunde verwenden möchte.


top

3. Wie gehe ich mit GnuPG um?

Die größte Schwierigkeit im Umgang mit GnuPG bereitet zunächst die Verwaltung der verschiedenen Schlüssel. Es sind neue öffentliche Schlüssel einzufügen und zu beglaubigen, alte zu entfernen und Benutzerkennungen zu bearbeiten. Insbesondere wenn man mit den Begriffen noch nicht so recht etwas anzufangen weiss ist es schwierig, sich zurecht zu finden. Im Grunde genommen ist es aber alles in allem recht einfach und nach einer Weile geht die Arbeit mit GnuPG relativ leicht von der Hand.

GnuPG ist ein Kommandozeilenprogramm, das von einer Konsole aus aufgerufen wird. Es gibt eine ganze Reihe von graphischen Benutzeroberflächen, die den Umgang mit GnuPG vereinfachen sollen. Der Autor hat nur sporadische aber keine guten Erfahrungen mit solchen Werkzeugen gemacht, weil die meisten die BenutzerIn nicht davor bewahren, sich das Wissen um die notwändigen Verwaltungsaufgaben aneignen zu müssen. Und wenn das so ist, kann man auch gleich die Kommandozeile benutzen. Allerdings gibt es inzwischen mehrere EMail-Programme mit GnuPG-Integration. Sehr gut gelungen ist dies beispielsweise mit KMail, das in der Version 3 GnuPG-Ver- und Entschlüsselung nahtlos unterstützt. Die Schlüsselverwaltung nimmt es einem jedoch leider (noch) nicht ab.

Um GnuPG benutzen zu können sind folgende Dinge notwändig:

Der eigentliche Programmaufruf von GnuPG geschieht durch Angabe des Programmnamens (in der Regel gpg), einer oder mehrerer Optionen und gegebenenfalls einer oder mehrerer Dateinamen. Wichtig ist vor allem die Option -h, die eine Kurzhilfe zu GnuPG ausgibt:

gpg -h

Auf alle oben angegebenen Schritte wird im folgenden kurz eingegangen.


top

3.1 Wie erzeuge ich ein neues Schlüsselpaar?

Das ist sehr einfach:

gpg --gen-key

Wenn nicht bereits vorhanden legt GnuPG (zumindest unter Unix) im Heimatverzeichnis das Unterverzeichnis .gnupg an. Hier werden später alle von GnuPG benutzen Daten abgelegt. Wenn GnuPG das Verzeichnis neu anlegen musste, beendet es sich danach sofort. Man muss in diesem Fall dasselbe Kommando nochmal angeben.

GnuPG fragt beim Erzeugen des Schlüssels einige Daten ab. Als erstes fragt das Programm, welche Art von Schlüssel erzeugt werden soll. Normalerweise benutzt man hier die Voreinstellung (DSA und ElGamal). Warum zwei Schlüssel? Weil man mit GnuPG nicht nur Daten verschlüsseln sondern auch digital unterschreiben kann. Zum Verschlüsseln benutzt GnuPG den DSA-Schlüssel, zum Unterschreiben ElGamal. Beide Teile werden von GnuPG in einem einzigen Schlüssel zusammengefasst.

Desweiteren muss gegebenenfalls die Schlssellänge für den ElGamal-Schlüssel angegeben werden. Hier kann der Vorgabewert (1024) benutzt werden. Die Angabe von 2048, dies ist die maximale Länge, schadet aber nicht.

GnuPG stellt dann die Frage, wie lange der Schlüssel gültig sein soll. Hier sollte man aus Sicherheitsgründen maximal mehrere Jahre eintragen. Von einer unbeschränkten Gültigkeitsdauer ist dringend abzuraten, denn es kann immer einmal passieren, dass der Schlüssel kompromittiert wird. Es ist übrigens jederzeit möglich, die Gültigkeit eines Schlüssels zu verlängern.

(wenn ein Schlüssel ungültig wird, heisst das NICHT, dass man ihn unbesehen wegwerfen kann. Insbesondere dann nicht, wenn man damit etwas unterschrieben hat. Möglicherweise kommt man sonst später in Beweisnot).

Jedem Schlüssel bzw. Schlüsselpaar ist eine Benutzerkennung zugeordnet, die die zu dem Schlüssel gehörige Person eindeutig identifiziert. Die Benutzerkennung setzt sich aus dem Namen, einem Kommentar und einer EMail-Adresse zusammen. Diese sind beim Anlegen des Schlüsselpaares anzugeben.

Abschließend muss das Passwort oder Mantra eingegeben werden. Das Mantra dient nicht nur der Entschlüsselung von Nachrichten sondern ist der Universalschlüssel zur Verwaltung von GnuPG. Im Grunde genommen sollte das Mantra mindestens so lang sein, wie die eigentliche Schlüssel, auch wenn eine potenzielle AngreiferIn zunächst Zugriff auf den eigenen Rechner haben muss, um entsprechenden Schaden anzurichten. Aber wer mag schon 10 Zeilen Text als Passwort eingeben. In der Hoffnung, dass durch die Nutzung des Internets keine Sicherheitslcken am Rechner auftreten, kann man sich hier auch mit krzeren Einträgen zufrieden geben. 10 bis 20 Zeichen sollten es aber schon sein.

Wenn alle Angaben korrekt eingegeben wurden beginnt GnuPG mit der Erzeugung des Schlüssels. Nachdem das Programm eine Weile gearbeitet hat um genügend Zufallszahlen zu erzeugen, sollte es nun das notwändige Schlüsselpaar erzeugt haben.

An dieser Stelle wird es Zeit, einen neuen Begriff einzuführen: die Schlüsselkennung oder auch Schlüssel-ID. Neben den beschriebenen Benutzerdaten erzeugt GnuPG eine solche Schlüssel-ID, die normalerweise auf der ganzen Welt eindeutig ist (wie GnuPG das schafft ist sicher eine interessante Frage, führt hier aber zu weit). Bei dieser ID handelt es sich um eine 8-stellige Folge von Ziffern und Zeichen. Wann immer im Folgenden davon die Rede ist, eine Benutzerkennung anzugeben, kann man anstatt dessen auch diese Schlüssel-Id benutzen. Im Abschnitt 5 wird beschrieben, wie man Schlüssel mit Hilfe sogenannter Schlüsselserver weltweit austauschen kann. Hier können allerdings ausschließlich Schlüssel-IDs benutzt werden. Mit Benutzerkennungen arbeiten diese Server (außer natürlich bei der Suche nach Schlüsseln) nicht.


top

3.2 Wie mache ich meinen Schlüssel bekannt?

Die Frage müsste natürlich korrekterweise lauten "Wie mache ich meinen öffentlichen Schlüssel bekannt?". Aber das ist ja eigentlich auch klar.

GnuPG kennt zwei Optionen die zum Einfügen und zum Auslesen von Schlüsseln benutzt werden: --import und --export. Die Option --export dient dazu, den Schlüssel einer Person aus dem Schlüsselbund auszulesen. Hierzu gibt man die Benutzerkennung der Person (oder auch die Schlüssel-ID) an. Soll der Schlüssel mit einem Texteditor gelesen werden können, so sollte der Schalter -a benutzt werden. Das ist übrigens eigentlich fast immer eine gute Idee. Möchte beispielsweise Birgit ihren eigenen Schlüssel auslesen, um ihn an Alex zu versenden (damit dieser an Birgit verschlüsselte Nachrichten senden kann), so gibt sie folgendes ein:

gpg --export -a Birgit

Soll der Schlüssel anstatt auf dem Bildschirm in die Datei birgit.gpg geschrieben werden, so benutzt man die Umlenkung der Standardausgabe:

gpg --export -a Birgit > birgit.gpg

Die erzeugte Datei kann nun beliebig versendet und verschenkt werden. Es ist im übrigen mit GnuPG möglich Benutzerkennungen auch teilweise anzugeben, sofern die Eindeutigkeit gewahrt bleibt. Die Angabe Birgit in dem obigen Beispiel funktioniert also auch für die Kennung Birgit Sowieso, sofern es nicht mehrere Birgits in dem Schlüsselbund gibt. Falls GnuPG eine Angabe nicht eindeutig zuordnen kann, meckert es schon.

Selbstverständlich kann man anstatt der Benutzerkennung auch die Schlüssel-ID angeben. Also zum Beispiel:

gpg --export -a 345F2CD6 > birgit.gpg

wenn der Schlüssel von Birgit diese ID hat.


top

3.3 Wie füge ich den Schlüssel von jemanden hinzu?

Wie der vorige Abschnitt bereits vermuten lässt, ist das Einfügen eines Schlüssels die Umkehroperation des Auslesens. Die Option --import fügt dem Schlüsselbund einen neuen Schlüssel hinzu. Hierfür benötigt man allerdings eine Textdatei, die den gewünschten Schlüssel enthält. Normalerweise hat man diesen per EMail oder Diskette bekommen, oder von einem Server (beispielsweise von http://www.uk.pgp.net/pgpnet/wwwkeys.html). Schliesslich kann eine solche Datei auch mit der Option --export erzeugt werden;-)

Der Aufruf ist dann sehr einfach. Will Alex den öffentlichen Schlüssel von Birgit benutzen und steht dieser Schlüssel in der Datei birgit.gpg, so ruft Alex GnuPG folgendermassen auf.

gpg --import birgit.gpg

Der Schlüssel und alle dazugehörigen Benutzerkennungen werden daraufhin dem (öffentlichen) Schlüsselbund hinzugefügt. Das Ergebnis kann man sich mit dem Aufruf von gpg --list-keys anschauen.

Es kann übrigens vorkommen, dass in einer Schlüsseldatei mehr als ein Schlüssel enthalten ist. Wenn man nach dem Import also mehrere neue Schlüssel vorfindet: nicht wundern. In diesem Fall hat vermutlich Birgit mehrere Schlüssel exportiert.


top

3.4 Wie ändere ich die Glaubwürdigkeit von anderen Schlüsseln?

Ein echtes Problem beim Umgang mit Verschlüsselungssystemen wie GnuPG ist der Austausch der Schlüssel. Hat man den Schlüssel über das Internet bezogen oder per Post zugeschickt bekommen, kann man sich nicht wirklich sicher sein, dass dieser tatsächlich von der Person stammt, die sie behauptet zu sein. Im Grunde genommen ist dies zunächst nur dann sichergestellt, wenn man die Person kennt und den Schlüssel bei einem persönlichen Kontakt ausgetauscht hat.

Das mag zunächst paranoid erscheinen, aber in der Realität ist es ein oft benutzes Mittel um andere Leute auszuhorchen, sich als jemand anders auszugeben (Detektiv Rockford war übrigens ein Meister darin). Es gibt eine ganze Reihe interessanter und furchterregender Szenarien, die diese Vorgehensweise weiterspinnen und mit moderener Technik verquicken. Für Sicherheitsexperten zumindest handelt es sich dabei nicht um Hirngespinnste. Einige Programme (darunter KMail) weigern sich deshalb Daten für Empfänger zu verschlüsseln, die nicht glaubwürdig sind. Auch GnuPG lässt sich lautstark darüber aus, wenn es Daten für nicht beglaubigte Benutzer verschlüsseln soll.

Um dem eigenen Schlüssel eine gewisse Glaubwürdigkeit zu verleihen, kann man ihn von anderen Personen signieren lassen. Das entspricht in etwa dem Stempel und der dazugehörigen Unterschrift, wie wir es von Papierdokumenten kennen. Verschickt man einen so signierten Schlüssel, so steigt die Wahrscheinlichkeit, dass die EmpfängerIn den Schlüssel einer der Signaturen bereits selber hat und so die Herkunft prüfen kann. Nun kann sie wiederum ihre eigene Signatur hinzufügen und auf diese Weise entsteht vielleicht irgendwann ein ganzes Netz, in dem jeder jeden "kennt". Dies nennt man auch ein Net of Trust.

Umgekehrt ist es also auch wünschenswert den Schlüssel von anderen Leuten zu signieren. Aber Achtung: bevor man dies tut, sollte man sich auf jeden Fall ganz sicher sein, dass der zu signierende Schlüssel tatsächlich der angegebenen Person gehört. Um den Schlüssel einer anderen Person zu signieren, gibt es zwei Möglichkeiten.

Bei dem langen Weg startet man den interaktiven Bearbeitungsmodus von GnuPG. Möchte beispielsweise Alex den öffentlichen Schlüssel von Birgit signieren, ruft er das Kommando

gpg --edit-key Birgit

auf, GnuPG wartet daraufhin mit einer Eingabeaufforderung auf die Eingabe eines Befehls. Mit help kann man sich nun alle verfügbaren Befehle anzeigen lassen. Durch Eingabe von sign wird der ausgewählte Schlüssel durch die eigene Unterschrift signiert. Zuvor fragt GnuPG allerdings noch einmal nach, ob man wirklich alle zu dem Schlüssel gehörenden Benutzerkennungen signieren will. In der Regel wird man das tun. Man kann aber auch, wenn man möchte, mit Hilfe der Option -u die Auswahl der zu signierenden Kennungen ändern (siehe hierzu die man page von GnuPG). Die Eingabe des Befehls quit beendet den interaktiven Bearbeitungsmodus wieder.

Der kurze Weg funktioniert durch Aufruf des Kommandos

gpg --sign-key Birgit

und bewirkt genau dasselbe. Das ist natürlich viel einfacher. Der lange Weg wurde trotzdem beschrieben, weil der interaktive Bearbeitungsmodus doch hin und wieder benutzt wird und darum einer Beschreibung wert ist. Natürlich fordert GnuPG dazu auf, das Mantra einzugeben, bevor es die Unterschrift durchführen kann.

Anstatt einer Benutzerkennung, wie in den obigen Beispielen benutzt, kann natrlich auch hier die Schlüssel-ID angegeben werden.


top

3.5 Wie entferne ich Schlüssel wieder?

Wird ein Schlüssel nicht mehr benötigt, so kann man ihn aus dem Schlüsselbund wieder entfernen. Hierzu wird die Option --delete-key benutzt. Um beispielsweise den Schlüssel von Birgit zu löschen, dient der Aufruf

gpg --delete-key Birgit

Nach der Eingabe des Mantras wird der Schlüssel und alle dazugehörenden Benutzerkennungen gelöscht.


top

3.6 Was ist, wenn ich mehrere EMail-Adressen habe?

Legt man einen neuen Schlüssel an, so gibt man einen Namen und eine Email-Adresse an. In der Terminologie von GnuPG handelt es sich hierbei um die Benutzerkennung. Jeder Schlüssel enthält mindestens eine Benutzerkennung. Einige Programme, darunter auch KMail, verwenden die Email-Adresse dieser Benutzerkennung als Erkennungszeichen, um beim Verschicken einer Mail den zu der EmpfängerIn gehörenden Schlüssel zu finden. Manchmal besitzt man jedoch mehrere Email-Adressen und möchte anderen die Möglichkeit geben, verschlüsselte Nachrichten an diese verschiedene Adressen zu verschicken. Es wäre also schön, wenn man für einen Schlüssel mehrere Email-Adressen angeben könnte.

GnuPG bietet die Möglichkeit, für einen Schlüssel mehrere Benutzerkennungen anzugeben. Dies geht natürlich nur mit Schlüsseln, die man selber verändern darf, also in der Regel nur mit dem eigenen. Die Verwaltungsfunktion von GnuPG für Schlüssel wird mit dem Kommando

gpg --edit-key <benutzer>

gestartet, wobei <benutzer> die eigene Benutzerkennung (oder die Schlüssel-ID) ist. Nun befindet sich GnuPG im interaktiven Bearbeitungsmodus und erwartet an der Eingabeaufforderung die Eingabe eines Befehls. Nach Eingabe von adduid werden wie bei der Erzeugung eines neuen Schlüssels einige Daten (Name, EMail, Kommentar) abgefragt und dann zu dem Schlüssel die neue Benutzerkennung hinzugefügt.

Nach Ausführen des Befehls befindet man sich immernoch in dem interaktiven Modus und kann mit dem Befehl list alle Benutzerkennungen zu dem Schlüssel anzeigen lassen. Der interaktive Bearbeitungsmodus lässt sich übrigens mit dem Befehl quit beenden.


top

3.7 Kann ich mir alle Schlüssel anzeigen lassen?

Ja, mit

gpg --list-keys

Aber Achtung, an die Ausgabe muss man sich erst gewöhnen. Zu jedem Schlüssel werden alle Benutzerkennungen angezeigt. Normalerweise werden die Schlüssel des öffentlichen Schlüsselbundes angezeigt. Durch die Angabe eines entsprechenden Schalters kann man sich aber auch die geheimen Schlüssel ansehen.


top

4. Wie verschlüssele und entschlüssele ich mit GnuPG?

Das Ver- und Entschlüsseln von Nachrichten mit GnuPG ist sehr einfach. Ausgangspunkt der folgenden Erklärungen ist eine Datei msg.txt, in der die zu verschlüsselnde Nachricht gespeichert ist.

Zum Verschlüsseln der Datei wird folgender Aufruf benutzt:

gpg -e msg.txt

GnuPG fragt nun nach der BenutzerIn, für die die Nachricht verschlüsselt werden soll. Hier gibt man den kompletten Namen, einen Teil davon oder auch eine EMail-Adresse an. GnuPG versucht bei unvollständigen Angaben eindeutig eine Benutzerkennung aus dem Schlüsselbund mit den öffentlichen Schlüsseln zu identifizieren. Gelingt dies nicht (zum Beispiel, weil man mehrere Birgits kennt), bricht GnuPG ab und man muss etwas genauer werden. Auch hier ist es natürlich wieder möglich, die Schlüssel-ID zu benutzen. Sie ist in jedem Falle eindeutig und identifiziert daher die BenutzerIn ebenfalls eindeutig.

PGP legt daraufhin eine neue Datei mit dem Namen msg.txt.gpg an, die den verschlüsselten Text enthält. Mit einem Texteditor ist diese Datei allerdings nicht zu lesen, da sie Binärdaten enthält. Dies kann verhindert werden durch den Schalter -a:

gpg -e -a msg.txt

Erzeugt eine Datei msg.txt.asc, die auch per EMail einfach versendet werden kann.

Das Entschlüsseln von Nachrichten ist ebenfalls sehr einfach:

gpg -d msg.txt.asc (oder auch gpg -d msg.txt.gpg)

entschlüsselt die Nachricht und legt sie in der Datei msg.txt ab. Zuvor muss man allerdings noch das Mantra zu Freischaltung des eigenen geheimen Schlüssels angeben.


top

4.1 GnuPG und KMail

Mehrfach wurde darauf hingewiesen, dass GnuPG von anderen Programmen für eine gesicherte Datenübertragung benutzt wird. Eines dieser Programme ist das Linux-Programm KMail, das für die Benutzeroberfläche KDE geschrieben wurde.

KMail bietet seit der Version 2.2.x von KDE eine gut integrierte Möglichkeit, GnuPG für die Verschlüsselung von Emails zu benutzen. Mit der KDE 3.0.x ist diese Unterstützung weiter gediehen, sodass man sich um fast nichts mehr selber kümmern muss, sofern die ben�igten Schlssel bereits in GnuPG eingefgt sind. Im Folgenden wird die Version für KDE 3.0.x beschrieben, da die Version für KDE 2.2.x einfacher zu konfigurieren (aber auch aufwändiger zu bedienen) ist. Dort muss man nur den Punkt 1. ausführen. Dafür muss man immer selber darauf achten, dass beim Erstellen von Nachrichten das Schloss in der Werkzeugeleiste geschlossen ist, damit KMail weiss, dass es die Nachricht verschlüsseln soll. KMail für KDE 3 nimmt einem dies auf Wunsch ab.

Noch eine Anmerkung, bevor es losgeht: KMail nimmt einem (noch) nicht die Arbeit ab, die Schlüssel per Hand zu verwalten. Zum Erzeugen und Einfügen von Schlüsseln muss man also immernoch die Kommandozeile bemühen (oder eine Pogramm wie beispielsweise KPGP für die KDE).

Es gibt zwei Stellen, an denen KMail konfiguriert werden muss. Beide findet man in den Einstellungen. Den Dialog mit den Einstellungen findet man unter dem Menüpunkt Einstellungen -> KMail einrichten. Dort gibt es auf der linken Seite eine Auswahlbox mit mehreren Punkten. Die Punkte Identität und Sicherheit sind für uns von Interesse.

  1. Der Punkt Sicherheit
  2. Auf der rechten Seite erscheint ein Dialog mit mehreren Reitern. Der erste ist mit Allgemein beschriftet, der zweite mit OpenPGP. Bitte den Reiter OpenPGP öffnen.

    Es erscheint nun in dem Dialog eine Auswahl (eine Combobox) in der man das verwendete Verschlüsselungsprogramm auswählen muss, und insgesamt vier Optionen.

    Bei der Auswahl stellt man nun den Punkt GnuPG GNU Privacy Guard ein.

    Ist die Option Passwort im Speicher halten aktiviert, so merkt sich KMail das einmal eingegebene Mantra bis zur Beendigung des Programms. Ob man dieses Sicherheitsrisiko eingehen will ist wohl Geschmackssache.

    Wenn die Option Zusätzlich eigenen Schlüssel verwenden aktiviert ist, legt KMail die gesendeten Nachrichten in dem Ordner Gesendete Nachrichten mit dem eigenen Schlüssel verschlüsselt ab und nicht mit dem der EmpfängerIn. Auf diese Weise kann man sich die Nachricht später nochmal anschauen.

    Die verbleibenden Option Nach Erstellung signierten/chiffrierten Text anzeigen und Wahl des Schlüssels ... sind wohl einigermaßen klar. Einfach mal mit rumspielen.

  3. Der Punkt Identität
  4. Diesen Dialog hat jedeR sicherlich schon gesehen, denn ohne die Angabe einiger Angaben zur eigenen Person kann man mit KMail nicht viel anfangen. Wichtig sind für uns die drei Reiter auf der rechten Seite Allgemein, Erweitert und Signatur. Bitte den Reiter Erweitert anklicken. Seit KMail 3.1.1 befindet sich auf der rechten Seite zunächst eine Liste mit Identitäten, da das Programm seid dieser Version mehrere persönliche EMail-Adressen verwalten kann. Hier erhät man den Dialog mit den Reitern, indem man eine Identität markiert und dann den 'Ändern'-Button aktiviert.

    Hier gibt es ein Feld mit der Beschriftung OpenPGP-Schlüssel. Hier muss man die eigene Schlüssel-ID angeben. Tut man dies nicht wird KMail keine Nachrichten verschlüsselt senden. Es gibt rechts neben dem Feld eine Schaltfläche Ändern. Klickt man diese, öffent sich ein hübscher Dialog, in dem man kompfortabel alle von KMail als geeignet erscheinende Schlüssel sehen und sich einen aussuchen kann. Dies geht natürlich nur, wenn man Punkt 1. erfolgreich durchgeführt hat und KMail das Programm GnuPG auch findet.

Noch eine Anmerkung: KMail verschlüsselt (zumindest in der Version von KDE 3) nur mit solchen Schlüsseln, die auch beglaubigt sind. Falls die Verschlüsselung also nicht klappt, dann hilft es oft, zun�hst einmal manuell zu verschlüsseln (siehe hierzu Abschnitt 4). Hier sieht man meist ganz gut, wenn etwas schief geht.


top

5. Der Umgang mit Schlüsselservern

Schlüsselserver werden benutzt, um Schlüssel weltweit einfach austauschen zu können. GnuPG bietet die Möglichkeit, Schlüssel direkt mit einem solchen Server auszutauschen (zum Beispiel mit http://wwwkeys.de.pgp.net). GnuPG benötigt hierfür lediglich eine Schlüssel-ID und die Angabe eines solchen Servers, um den zu der ID gehörenden Schlüssel zu importieren bzw. zu exportieren. Benutzerkenungen (also Namen oder EMail-Adresse) können hierbei jedoch nicht verwendet werden.

Viele Server haben zudem eine WWW-Seite, auf denen man nach Benutzern suchen kann. Das ist sehr praktisch um die benötigten Schlüssel-IDs herauszufinden (z.B. http://www.uk.pgp.net/pgpnet/wwwkeys.html).

Der Empfang eines neuen Schlüssels und das Versenden eines solchen ist wie beim Import und Export praktisch identisch.

Wenn beispielsweise Birgit ihren Schlüssel mit der ID 345F2CD6 auf dem Server wwwkeys.de.pgp.net ablegen will, gibt sie folgendes Kommando an:

gpg --send-keys 345F2CD6 --keyserver wwwkeys.de.pgp.net

Für den Empfang eines Schlüssels wird die Option --recv-keys benutzt. Nachdem Birgit (z.B. mittels eines Schlüsselservers) herausgefunden hat, dass Alex die Schlüssel-ID 47382815 hat, gibt sie folgendes ein, um diesen Schlüssel in ihr Schlüsselbund aufzunehmen:

gpg --recv-keys 47382815 --keyserver wwwkeys.de.pgp.net

Die Angabe des Schlüsselservers kann man sich in der Regel sehr einfach sparen. Für die Arbeit legt GnuPG im Homeverzeichnis das Unterverzeichnis .gnupg an. In diesem Verzeichnis findet sich die Datei options. Mit Hilfe eines Editors kann man hier eine neue Zeile einfügen. Zum Beispiel:

keyserver wwwkeys.de.pgp.net

Nun weiss GnuPG, dass es diesen Server als Vorgabe für den Empfang und Versand benutzen soll. Die Angabe --keyserver kann nun entfallen.

Abschließend gibts hier noch für die interessierte LeserIn eine Passage aus der man-page zu GnuPG:

--send-keys [names]
Same as --export but sends the keys to a key
server. Option --keyserver must be used to give
the name of this keyserver. Don't send your com
plete keyring to a keyserver - select only those
keys which are new or changed by you.

top

6. FAQ

An dieser Stelle entsteht nach und nach eine kleine FAQ, die oft gestellte Fragen beantworten soll. Wenn Sie weitere Fragen betreffend dieses FAQs haben, schreiben Sie einfach eine Mail.

KMail verschlüsselt nicht, was ist zu tun?


top

7. Zum Schluss

Diese kurze Anleitung kann natürlich nur einen ersten Einblick in die Funktionsweise von GnuPG geben. Weitere Informationen geben die Homepage und die man-pages von GnuPG preis. Zudem gibt es legio Infomaterial in Form von weiteren Tutorials, FAQs und allgemeinen Infos zu kryptographischen Systemen. Im Folgenden gibts eine kurze Linkliste.

LinkBeschreibung
http://www.gnupg.org/(en)/documentation/manpage.en.html Die man-page zu GnuPG
http://www.gnupg.org Homepage der GNUPG Entwickler mit einer Fülle von Infos.
http://home.egge.net/~savory/chiffre.htm Eine einfache und gute Einführung in die Welt der Kryptographie mit Nachbauanleitungen.
http://wwwkeys.de.pgp.net Deutscher PGP Schlüsselserver
http://www.uk.pgp.net/pgpnet/wwwkeys.html Die Suchseite des englischen PGP Schlüsselservers
http://devel-home.kde.org/~kgpg/ Ein GnuPG/PGP-Front für die KDE 3

Und nun viel Spass!


Dieses Dokument wurde zuletzt geändert am 28.05.2003 von
Ingo Stierand (www.stierand-linuxit.de)