GnuPG-Frontend Kgpg

Digitales Schlüsselbrett

von Andrea Müller


Mail-Verschlüsselung unter Linux ist die Domäne von GnuPG. Mit dem komfortablen grafischen Frontend Kgpg fällt auch Kryptographie-Novizen das Ver- und Entschlüsseln leicht.

Mit dem Programm Gnu Privacy Guard (GnuPG) verschicken Sie Mails, die nur der Empfänger lesen kann, und schützen private Dokumente auf Ihrer Festplatte vor neugierigen Augen.

Funktionsweise von GnuPG

Wer schon einmal mit Verschlüsselung gearbeitet hat, kennt wahrscheinlich das klassische Konzept, wie es viele Office-Programme oder das Packprogramm Winzip bieten: Dabei wird eine Datei anhand eines von Ihnen gewählten Passworts geschützt. Um das Dokument zu lesen, braucht man das Passwort. Für die Verschlüsselung von E-Mails ist dieses Verfahren jedoch denkbar unpraktisch. Sie müssen nicht nur die E-Mail versenden, sondern dem Adressaten zusätzlich das richtige Passwort übermitteln.

GnuPG geht einen anderen Weg, der es gerade für den Versand von E-Mails prädestiniert. Es arbeitet mit asymmetrischer Verschlüsselung nach dem so genannten Public-Key-Verfahren. Was sich kompliziert anhört, ist eigentlich ganz simpel. Statt einfach nur ein Passwort zu verwenden, haben Sie bei GnuPG ein Schlüsselpaar. Dazu gehören ein geheimer Schlüssel (Private Key), den Sie hüten müssen wie Ihren Augapfel, und ein öffentliches Gegenstück (Public Key), den Sie an alle verteilen, von denen Sie verschlüsselte Mails erhalten wollen. Wer Ihnen eine verschlüsselte Nachricht zukommen lassen will, benötigt nur Ihren öffentlichen Schlüssel. Diesen können Sie ohne Bedenken jedem mitteilen, denn das öffentliche Schließwerkzeug taugt nur zum Abschließen. Wer eine Textdatei für Sie verschlüsselt und danach das Original löscht, hat keinen Zugriff auf den Inhalt mehr -- der "Sesam-öffne-Dich" ist Ihr geheimer Schlüssel. Dieser ist zusätzlich durch eine Passphrase gesichert, die Sie beim Erstellen des Schlüsselpaares festlegen. Selbst wenn jemand durch Diebstahl an Ihre geheime Schlüsseldatei gelangt, kann er ohne die passende Passphrase keine für Sie verschlüsselten Dokumente einsehen.

Der umgekehrte Weg funktioniert ähnlich: Wollen Sie eine verschlüsselte Nachricht verschicken, bitten Sie den Empfänger einfach um seinen öffentlichen Schlüssel. Damit verwandeln Sie den zu übermittelnden Text in Zeichensalat, den nur Ihr Adressat mit seinem geheimen Schlüssel wieder auslesen kann.

Tipp: Digitale Unterschrift als Zugabe

Der Secret Key eignet sich nicht nur zum Entschlüsseln, sondern auch dazu, E-Mails mit einer digitalen Unterschrift zu versehen. Ihren Namen und Ihre Adresse kann jeder in seine E-Mails eintragen, Ihre digitale Signatur ist jedoch unfälschbar. Jeder, der Ihren öffentlichen Schlüssel hat, kann so die Herkunft Ihrer Mails verifizieren. Auf den Seiten ## und ## lesen Sie, wie Sie digitale Signaturen mit KMail und Evolution erstellen.

GnuPG einrichten

GnuPG ist in fast jeder Distribution Teil der Standardinstallation. Sie könnten also sofort mit der Zusammenstellung Ihres Schlüsselrings beginnen, wäre da nicht ein kleiner Haken: Wie viele andere praktische Tools ist GnuPG ein Kommandozeilenprogramm. Die Schlüsselverwaltung per Shell ist zwar nicht sonderlich kompliziert doch viele Nutzer fühlen sich im Umgang mit grafischen Programmen einfach wohler. Auch dafür ist unter Linux gesorgt: Kgpg, ein KDE-Frontend für GnuPG, bietet Schlüsselverwaltung per Mausklick.

Kgpg nistet sich als Applet im Systemabschnitt der KDE-Kontrolleiste ein. Unter GNOME lässt es sich daher nicht verwenden. GNOME-Nutzer müssen also entweder ihrem Desktop zur Schlüsselerzeugung untreu werden oder ihre Schlüssel auf der Kommandozeile verwalten.

Installation von Kgpg unter SuSE Linux

Schritt 1

Laden Sie sich zunächst das Kgpg-RPM-Paket herunter. Anwender von SuSE Linux 8.2 finden es unter [1]. Für Version 8.1 gibt es zwar auch ein Paket auf dem SuSE-Server, doch funktionierte die Software auf unserem Testsystem nicht: Sie verabschiedete sich nach dem Start mit einer Fehlermeldung. Laden Sie sich daher das Kgpg-Paket von unserer Homepage (http://www.easylinux.de/Download) herunter.

Schritt 2

Navigieren Sie im Datei-Manager Konqueror in Ihr Download-Verzeichnis und klicken Sie die Datei kgpg.rpm an.

Schritt 3

Klicken Sie in der Vorschau für RPM-Pakete auf den Button Installiere Paket mit YaST.

Schritt 4

Geben Sie nun Ihr Administrator-Passwort ein und klicken auf OK. YaST installiert das Paket. Nach dem abschließenden Aufruf von SuSEconfig steht Kgpg auf Ihrem System zur Verfügung.

Installation unter Red Hat Linux

Red Hat Linux bringt kein Kgpg-Paket mit. Nutzer dieser Distribution spielen daher das Paket von der EasyLinux Homepage ein.

Schritt 1

Rufen Sie in Ihrem Browser die Seite http://www.easylinux.de/Download auf und laden Sie das zu Ihrer Distribution passende Paket herunter.

Schritt 2

Öffnen Sie den Konqueror und klicken Sie doppelt auf die heruntergeladene Datei.

Schritt 3

Geben Sie Ihr Root-Passwort ein. Daraufhin startet redhat-install-packages und prüft, ob Kgpg noch weitere Pakete benötigt. Haben Sie KDE installiert, sollte das nicht der Fall sein. Klicken Sie im nächsten Fenster auf Weiter, wird Kgpg installiert. Damit haben Sie den Grundstein für Ihre virtuelle Wach- und Schließgesellschaft gelegt.

Schlüsselpaar erzeugen

Schritt 1

Öffnen Sie über [Alt-F2] ein Schnellstartfenster und geben Sie dort kgpg ein. Falls Sie noch keinen Schlüssel haben, erkennt Kgpg das und bietet Ihnen an, einen zu erzeugen. Nehmen Sie das Angebot an, lesen Sie direkt bei Schritt 4 weiter. Ein Tipp des Tages wird eingeblendet. Wenn Sie dieses Fenster geschlossen haben, hält sich Kgpg erst einmal bescheiden im Hintergrund. Die Anwendung verbirgt sich im Systembereich des Kickers, hinter dem Symbol mit dem kleinen Schloss.

Schritt 2

Um ein Schlüsselpaar zu erzeugen, klicken Sie mit der linken Maustaste auf das Kgpg-Symbol und wählen aus dem aufklappenden Menü den Eintrag Open Key Manager. Es öffnet sich der Verwaltungsbereich von Kgpg, in dem momentan noch gähnende Leere herrscht. Zumindest sehen Sie hier, dass das Tool sogar ein wenig deutsch spricht.

Schritt 3

Rufen Sie den Menüpunkt Schlüssel / Generate Key Pair... auf oder klicken in der Symbolleiste auf die zwei Schlüssel mit dem Sternchen.

Schritt 4

Im Schlüsselerzeugungsfenster geben Sie Ihren Namen, E-Mail-Adresse und, wenn Sie mögen, noch einen Kommentar ein, zum Beispiel mit Ihrem Spitznamen. Wollen Sie ein Schlüsselpaar erstellen, das nur für einen gewissen Zeitraum gültig ist, stellen Sie das unter dem Punkt Expiration (Verfallszeit) ein. Wählen Sie aus dem mit Nie beschrifteten Dropdown-Feld die gewünschte Zeiteinheit und tragen Sie davor eine Zahl ein. Die Einstellungen zu Schlüsselgröße und Algorithmus sind auf sinnvolle Default-Werte gesetzt, so dass Sie dort nichts ändern müssen. Klicken Sie besser nicht auf die Schaltfläche Expert Mode: Dort bekommen Sie nicht etwa weitere Optionen angezeigt, sondern Kgpg geht davon aus, dass Sie die Schlüssel auf der Kommandozeile erzeugen wollen, und öffnet ein entsprechendes Terminal-Fenster.

Schritt 5

Nachdem Sie alles eingetragen haben, klicken Sie auf OK. Nun gilt es, die geheime Passphrase, auch Mantra genannt, festzulegen. Sie sind dabei nicht auf ein einzelnes Wort beschränkt, sondern können auch einen ganzen Satz verwenden. Mischen Sie möglichst Buchstaben, Zahlen und Sonderzeichen und achten Sie darauf, dass es nicht zu einfach zu erraten ist. Geben Sie das gewählte Mantra zweimal ein und klicken Sie auf OK. Wenn Kgpg sich beschwert, die Mantras seien nicht identisch, haben Sie sich vertippt und müssen den Vorgang wiederholen. Merken Sie sich Ihre Passphrase gut -- wenn Sie sie vergessen, kommen Sie nicht mehr an den Inhalt verschlüsselter Mails oder Dateien. Kgpg erzeugt nun Ihr Schlüsselpaar, was ein wenig dauern kann.

Schlüsselexport

Damit Ihr Bekanntenkreis die Post an Sie verschlüsseln kann, müssen die potentiellen Absender zunächst an Ihren öffentlichen Schlüssel kommen. In Kgpg ist das schnell erledigt.

Schritt 1

Markieren Sie Ihren Schlüssel und klicken Sie entweder auf Export Public Key (das Icon ganz links in der Symbolleiste) oder drücken Sie die Tastenkombination [Strg-C].

Schritt 2

Im Export-Dialog haben Sie drei Auswahlmöglichkeiten: E-Mail und Datei benötigen Sie davon vermutlich am häufigsten. Wählen Sie E-Mail, startet automatisch das Editor-Fenster von KMail, in das schon Ihr Public Key eingetragen ist. Sie müssen nur noch den oder die Empfänger eintragen, und mit Klick auf den Senden-Button schicken Sie Ihren Public Key auf die Reise. Universeller ist das Speichern in eine Datei. Als Dateiname wird /home/nutzername/xxx.asc vorgeschlagen, wobei das xxx durch den ersten Teil Ihrer Mail-Adresse ersetzt wird. Ein Klick auf OK schreibt den Schlüssel in die Datei.

Diese Datei mit der Endung .asc verteilen Sie nun entweder auf Diskette, verschicken sie als E-Mail-Anhang oder stellen sie auf Ihrer Homepage zum Download bereit.

Import von öffentlichen Schlüsseln

Um ein Dokument oder eine Mail an jemand zu verschlüsseln, benötigen Sie dessen Public Key. Dieser erreicht Sie gewöhnlich per E-Mail oder Diskette. Mit Kgpg hängen Sie ihn komfortabel an Ihren Schlüsselbund:

Schritt 1

Starten Sie über Schlüssel / Import key... oder [Strg-V] den Import-Dialog.

Schritt 2

Heben Sie den Schlüssel als E-Mail-Text bekommen, markieren Sie ihn zunächst in KMail und kopieren ihn mit [Strg-C] in die Zwischenablage. Wählen Sie dann im Importfenster von Kgpg Zwischenablage. Haben Sie einen Schlüssel als Mail-Anhang oder auf Diskette erhalten, markieren Sie die Option Datei. Klicken Sie auf den Button mit den drei Punkten, navigieren im Dateiauswahlfenster zu dessen Speicherort und markieren ihn. Klicken Sie dann auf OK. Hier lauert ein kleiner Stolperstein: Kgpg geht davon aus, dass öffentliche Schlüssel die Dateiendung .asc tragen. Damit im Dateiauswahldialog auch andere Dateien angezeigt werden, löschen Sie den Inhalt des Feldes Filter: und drücken danach die [Enter]-Taste.

Schritt 3

Klicken Sie im Importfenster von Kgpg auf OK. Nach Anzeige einer Erfolgsmeldung hat Ihr eigener Schlüssel Gesellschaft bekommen.

Den Unterschied sehen Sie auf den ersten Blick: Von Ihrem eigenen Schlüssel besitzen Sie sowohl den geheimen, als auch den öffentlichen Teil, folglich stellt Kgpg zwei Schließwerkzeuge dar. Besitzen Sie von jemandem nur den öffentlichen Schlüssel, muss ein einzelner Schlüssel als Symbol herhalten (Abbildung 1).

Abb. 1: Ein gut bestückter Schlüsselbund mit einem eigenen und mehreren öffentlichen Schlüsseln.

Beglaubigt und abgestempelt

Eigentlich könnten Sie jetzt schon mit dem Mail-Versand loslegen, doch KMail und Evolution akzeptieren keine Schlüssel, die nur die Signatur des Eigentümers enthalten. Klicken Sie auf das Pluszeichen vor einem öffentlichen Schlüssel, um die Bestandteile eines Schlüssels anzuzeigen. Die Einträge, denen ein Icon mit Blatt Papier und Füller vorangestellt ist, sind digitale Signaturen. Bei vielen Schlüsseln findet sich dort nur die Unterschrift des Eigentümers. Mit seiner Signatur oder Unterschrift bestätigt man, dass man überprüft hat, ob der Public Key auch tatsächlich dem vorgeblichen Eigentümer gehört. Hier ist Vorsicht angebracht: Ein per Mail erhaltener Schlüssel könnte auf dem Weg zu Ihnen manipuliert worden sein oder gar nicht vom vorgeblichen Absender stammen. Vergleichen Sie zur Kontrolle immer den Fingerprint (siehe Kasten "Keyserver"), den Sie über Schlüssel / Key Info erhalten, mit einem Fingerprint aus einer vertrauenswürdigen Quelle, zum Beispiel indem Sie bei Ihrem Bekannten telefonisch nachfragen und sich seinen Fingerprint vorlesen lassen. Haben Sie den Schlüssel persönlich von einem guten Bekannten auf Diskette erhalten, erübrigt sich das.

Schritt 1

Markieren Sie den Schlüssel, den Sie signieren wollen, und klicken Sie auf das Symbol mit dem Bleistift und dem Schlüssel.

Schritt 2

Wählen Sie den geheimen Schlüssel, den Sie zum Unterzeichnen verwenden wollen. Sofern Sie nur ein eigenes Schlüsselpaar haben, ist es schon ausgewählt. Klicken Sie nun auf OK. Setzen Sie kein Häkchen vor Lokale Signatur (kann nicht exportiert werden). GnuPG lebt nicht zuletzt vom Vertrauen, das man einem Schlüssel entgegenbringen kann. Haben Sie einen Schlüssel nach sorgfältiger Prüfung signiert, gehört es zum guten Ton, diesen zu exportieren und dem Eigentümer zur weiteren Verteilung zurückzuschicken.

Schritt 3

Nach einer nochmaligen Nachfrage müssen Sie Ihr Mantra eingeben, um den Schlüssel mit Ihrem geheimen Schlüssel zu unterzeichnen. Wenn Sie nach dem Klick auf OK erneut auf das Pluszeichen vor dem Schlüssel klicken, sehen Sie jetzt zusätzlich Ihre eigene Unterschrift. Auch der Vertrauensstatus des Schlüssels hat sich geändert: Statt eines Fragezeichens steht in der Spalte Vertrauen nun Vollständig.

Dateien auf der Festplatte verschlüsseln

Kgpg lässt sich nicht nur zur E-Mail-Verschlüsselung nutzen, sondern schützt auch vertrauliche Dateien auf der Festplatte vor neugierigen Augen. Dazu benutzen Sie Ihren eigenen öffentlichen Schlüssel. Um wieder an den Dateiinhalt heranzukommen, brauchen Sie den geheimen Schlüssel und Ihr Passwort. So gehen Sie dabei vor:

Schritt 1

Öffnen Sie den Datei-Manager Konqueror und wechseln Sie in das Verzeichnis, in dem die zu verschlüsselnde Datei liegt.

Schritt 2

Klicken Sie die Datei mit der rechten Maustaste an und wählen Sie Encrypt File aus dem Kontextmenü.

Schritt 3

Im Schlüsselauswahldialog markieren Sie nun Ihren eigenen Schlüssel. Verwenden Sie versehentlich den Public Key von jemand anderem, haben Sie keinen Zugriff mehr auf den Inhalt der Datei. Klicken Sie dann auf OK. Unter Optionen finden Sie weitere Einstellungen, von denen der Punkt Quelldatei schreddern besonders praktisch ist: Die Originaldatei wird mehrfach überschrieben, und nur noch das verschlüsselte Exemplar bleibt auf der Festplatte. Aktivieren Sie diese Option nicht, bleibt die Originaldatei erhalten.

Anschließend finden Sie die verschlüsselte Datei strenggeheim.txt.asc im Verzeichnis. Das Entschlüsseln geht ebenso schnell von der Hand:

Schritt 1

Klicken Sie die Datei mit der rechten Maustaste an und wählen Sie KGpg. Damit dieser Eintrag im Kontextmenü erscheint, muss die verschlüsselte Datei die Endung .asc tragen.

Schritt 2

Geben Sie Ihr Mantra ein und klicken Sie auf OK. Schon liegt strenggeheim.txt wieder lesbar auf Ihrer Festplatte. Sofern Sie die Originaldatei beim Verschlüsseln nicht haben löschen lassen, fragt Kgpg vorher nach, ob die Originaldatei überschrieben werden soll, und bietet Ihnen an, einen neuen Namen für das entschlüsselte Dokument anzugeben. (eba)

Tipp: Verschlüsselung per Drag & Drop

Das kleine Schloss im Systembereich kann auch mit Drag & Drop-Ereignissen umgehen. Ziehen Sie eine Datei auf das Symbol und lassen Sie dort fallen, startet automatisch der Verschlüsselungsdialog. Hat die Datei die Endung .asc haben Sie die Wahl, sie entweder zu entschlüsseln und abzuspeichern (Decrypt & Save File) oder nur kurz mit dem Kgpg-Betrachter einen Blick hineinzuwerfen (Show Decrypted File).

Tipp: Keyserver -- Schlüsselbretter im Internet

Solange man nur mit Freunden und Bekannten Schlüssel austauscht, ist GnuPG recht einfach. Man weiß genau, woher die Schließwerkzeuge kommen, und im Zweifelsfall genügt ein kurzer Anruf, um den öffentlichen Schlüssel eines Bekannten anzufordern. Früher oder später kommt man mit Schlüsseln in Berührung, deren Eigentümer man nicht kennt. Viele Programmautoren bieten ihre Software zum Beispiel mit einer Signaturdatei zum Download an. Diese heißt gewöhnlich so wie das Programm mit der zusätzlichen Dateiendung .sig. Um diese Signatur zu überprüfen, benötigt man aber erst einmal den passenden öffentlichen Schlüssel. Wildfremde per Mail zu belästigen ist weder erwünscht noch jedermanns Sache, daher existieren im Internet so genannte Keyserver (Schlüssel-Server), auf denen man seinen öffentlichen Schlüssel deponiert. Mit Kgpg beschaffen Sie die gesuchten Schlüssel mit wenigen Mausklicks. Für das folgende Beispiel erzeugte die Autorin einen vier Monate gültigen Schlüssel, den Sie mit Kgpg herunterladen können.

  • Klicken Sie mit der linken Maustaste auf das Kgpg-Icon im Systemabschnitt der KDE-Kontrolleiste und wählen Sie den Menüpunkt Keyserver Dialog.
  • Im Dropdown-Feld hinter Key server sind schon zwei Schlüssel-Server eingetragen. Für unser Beispiel müssen Sie nichts ändern. Belassen Sie es einfach bei der Voreinstellung hkp://blackhole.pca.dfn.de
  • Nun will der richtige Schlüssel gefunden werden. Hinter Text to search or ID of the key to import tragen Sie entweder die E-Mail-Adresse des gesuchten Schlüsselinhabers oder die Kennummer des Schlüssels ein. Die zum Beispielschlüssel gehörende Mail-Adresse ist amueller@easylinux.de. Geben Sie diesen Text ein und klicken Sie auf Suchen. Es reicht aus, nur einen Teil der Mail-Adresse einzugeben. Eventuell müssen Sie dann den richtigen Schlüssel aus den Suchergebnissen heraussuchen. Haben Sie schon die richtige Schlüssel-ID parat, klicken Sie statt auf Suchen direkt auf Importieren.
  • Kgpg verbindet sich mit dem Server und liefert nach kurzer Zeit das Ergebnis. Sofern nicht noch jemand anders einen Schlüssel mit dieser Adresse hochgeladen hat, sollten Sie nur einen Treffer erhalten.

  • Markieren Sie den Schlüssel und klicken Sie auf die Schaltfläche import. Nach kurzer Zeit blendet Kgpg eine Erfolgsmeldung ein, die Sie mit Ok bestätigen. Der heruntergeladene Schlüssel taucht nun im Key Manager auf.

Auf dem Keyserver könnte prinzipiell jeder einen Schlüssel mit dieser Adresse hinterlegen. Um zu testen, ob Sie sich mit dem Schlüssel kein "faules Ei" ins Nest gelegt haben, hat jeder Schlüssel einen eindeutigen Fingerabdruck, den so genannten Fingerprint. Dieses unverwechselbare Zeichen finden Sie, indem Sie einen Schlüssel in Kgpg markieren und Schlüssel / Key Info aus dem Menü aufrufen. Hinter dem Eintrag Fingerprint: steht alles, was Sie zur Spurensicherung brauchen. Der Fingerprint des Beispielschlüssels ist FEA0 1145 F028 60A2 F676 906F F1C9 D01F 1E43 E889. Vergleichen Sie diese Zeichenfolge mit dem Fingerabdruck des heruntergeladenen Schlüssels, um sicher zu gehen, dass er in Ordnung ist.

Anwender, die mit vielen Leuten Schlüssel austauschen, publizieren den Fingerprint Ihres Schlüssels in den Kopfzeilen Ihrer Mails, bei Software-Autoren finden Sie den Fingerprint oft auf deren Homepage.

Sind die beiden Fingerabdrücke, also der des von Ihnen heruntergeladenen Schlüssels und der abgedruckte oder im Netz veröffentlichte, identisch, stammen beide aller Wahrscheinlichkeit nach aus einer Hand -- dieser Vergleich ist wichtig, damit Sie mit diesem Schlüssel signierten Mails vertrauen können. Dass der Schlüsselbesitzers auch der ist, der er zu sein vorgibt, kontrollieren Sie über die angehängten Signaturen: Hat jemand, den Sie kennen und dem Sie vertrauen, diesen Schlüssel signiert, sollte die Identität gesichert sein.

Wollen Sie ebenfalls Ihren öffentlichen Schlüssel publizieren, laden Sie ihn mit Kgpg auf einen Keyserver. Suchen Sie im Reiter Exportieren des Keyserver Dialog aus dem Dropdown-Feld Ihren eigenen Schlüssel heraus und klicken Sie auf den Exportieren-Button. Kgpg verschickt Ihren Schlüssel und zeigt eine Erfolgsmeldung an. Haben zu einem späteren Zeitpunkt Freunde und Bekannte Ihren Schlüssel signiert und Ihnen zurückgeschickt, laden Sie das nun mit Vertrauensbeweisen ausgestattete Schließwerkzeug erneut hoch -- so wissen auch Fremde, dass man sich auf Ihren Schlüssel verlassen kann.

Tipp: Zuwachs für den Schlüsselbund

Viele Linux User Groups veranstalten regelmäßig so genannte Keysigning-Parties. Dort tauscht man mit anderen Linuxern Schlüssel aus und nimmt die Identitätsprüfung gleich an Ort und Stelle mit einem Blick in den Ausweis des Schlüsselinhabers vor. Anschließend signiert jeder die Schlüssel der anderen.

Infos
[1] ftp:/ftp.suse.com/pub/suse/i386/supplementary/KDE/update_for_8.2/applications/.link/kgpg.rpm