Aus Linux-Magazin 05/2013

Frontends für GnuPG

© Igor Averin, 123rf.com

Wer kryptographische Schlüssel und Zertifikate unter Linux erzeugen oder verwalten möchte, der greift in der Regel zum allseits bekannten GnuPG. Erscheint das Kommandozeilentool mit seinen zahlreichen Parametern zu verwirrend, helfen fünf grafische Frontends weiter.

Sicherheitsbewussten Anwendern leistet GnuPG [1] unter Linux, Windows und OS X gleichermaßen gute Dienste, da es Daten ver- und entschlüsselt sowie elektronische Signaturen erzeugt und prüft. Das freie Kryptographiesystem übermittelt somit nicht nur vertrauliche Informationen und sorgt für eine sichere Kommunikation per Mail und Chat, sondern es gewährleistet mit der Signatur zu den versandten Daten auch deren Authentizität und Integrität.

Das Kommandozeilentool »gpg« ist auf Unix-Betriebssystemen die erste Anlaufstelle. Es erzeugt, exportiert und importiert Schlüssel, verwaltet den eigenen Schlüsselbund, ver- und entschlüsselt Daten, kommuniziert mit Keyservern und vieles mehr. Die zahlreichen Aufrufoptionen erfordern allerdings ein gutes Gedächtnis oder einen wiederholten Blick in die Manpage.

Zahlreiche Frontends stellen daher »gpg« -Funktionen über eine grafische Oberfläche bereit. Sie erfordern allesamt das grundsätzliche Verständnis der asymmetrischen Verschlüsselung. Teilweise verlangen sie sogar nach Hintergrundwissen zur Bedienung von GnuPG selbst. In diesem Test treten der GNU Privacy Assistant [2], das Duo Kgpg [3] und Kleopatra [4], Pyrite [5] sowie Seahorse [6] an und zeigen, ob sie Linux-Anwendern die Arbeit mit der Kryptographiesoftware erleichtern können (Tabelle 1).

Tabelle 1

Frontends für GnuPG

Name

GNU Privacy Assistant

Kgpg/Kleopatra

Pyrite

Seahorse

Getestete Version

0.9.3

2.9/2.1.1

1.0.0

3.6.3

GUI-Toolkit

GTK+ 2

Qt/KDE

Python

GTK+/Gnome

Schlüssel erzeugen

ja

ja

nein

ja

Revocation Certificate

nein

ja

nein

nein

Schlüssel löschen

ja

ja

nein

ja

Schlüssel signieren

ja

ja

nein

ja

Vertrauensstufe wählen

ja

ja

nein

ja

Schlüssel importieren

ja

ja

nein

ja

Schlüssel exportieren

ja

ja

nein

ja

Sicherheitskopie anlegen

ja

ja

nein

ja

Public Key mailen

nein

ja

nein

nein

Export/Import von Server

ja/ja

ja/ja

nein

ja/ja

Verfallsdatum bearbeiten

ja

ja

nein

ja

Passphrase ändern

ja

ja

nein

ja

Dateien ver-/entschlüsseln

ja/ja

ja/ja

ja/ja

über Nautilus

Dateien signieren

ja

ja

ja

über Nautilus

Signatur von Dateien verifizieren

ja

ja

ja

über Nautilus

Symmetrische Verschlüsselung

nein

ja

ja

nein

Zertifikatsverwaltung

ja

ja

nein

ja

Externe Smartcards einbinden

ja

ja

nein

nein

Aktuelle Versionen der GUIs finden Anwender auf der jeweiligen Projekthomepage. Zusätzlich stehen von GPA, Kgpg, Kleopatra und Seahorse Pakete in den Repositories fast aller großen Distributionen bereit – allerdings in einigen leicht veralteten Fassungen. Pyrite bauen Nutzer aus den Quellen selbst.

GNU Privacy Assistant

Das offizielle Frontend für GnuPG [2] steht unter den Fittichen der Free Software Foundation. GPA ist laut Webseite “Work in progress” – und das seit 2000. Im Test trat die neueste Version 0.9.3 vom August 2012 an. Das Werkzeug setzt auf die GTK+-Bibliothek in der älteren Version 2. Mangels Dokumentation muss der Benutzer alle weiteren Abhängigkeiten mit »configure« mühsam selbst herausfinden, will er das Frontend selbst bauen. Unter Ubuntu 12.10 wollte das Programm nicht starten, sondern lieber unendlich lange die Verlässlichkeits-Datenbank wiederherstellen. Die Zusammenarbeit mit Open Suse 12.2 klappte nach einigen Anlaufschwierigkeiten jedoch.

Einen neuen Schlüssel fertigen Anwender mit einem kleinen Assistenten an, der nacheinander Name und E-Mail-Adresse abfragt. Anschließend bietet er an, eine Kopie des Schlüssels auf einem (externen) Medium zu speichern, wozu er eine Diskette vorschlägt. Die Passphrase fordert danach das Tool Pinentry [7] an; unter Open Suse ist das die installierte Variante »pinentry-qt4« . Sie bescheinigte im Test dem simplen Kennwort »1234567891« eine Qualitätsbestnote von sagenhaften 100 Prozent.

Auf dem Open-Suse-Testrechner schaffte der GNU Privacy Assistant es dann gerade noch, die Kopie des geheimen Schlüssels in eine Datei zu schreiben, bevor er sich reproduzierbar mit einem Speicherfehler verabschiedete. Nach einem Neustart arbeitete GPA jedoch ohne Probleme weiter. Wer die Standardeinstellung für die Schlüssellänge (2048 Bits) ändern möchte, der muss in den Optionen des Programms zum Expertenmodus wechseln. Das Verfallsdatum eigener Schlüssel legen Anwender ebenfalls über GPA fest. Das Tool blendet als Hilfe einen kleinen Kalender ein.

Experten bevorzugt

Das Hauptfenster listet im oberen Bereich alle lokal vorhandenen Zertifikate und Schlüssel auf. Markiert der Anwender einen Eintrag, erscheinen im unteren Bereich weitere Details, zum Beispiel das Verfallsdatum und der Verschlüsselungsalgorithmus. Angaben zur Signatur und zu den untergeordneten Schlüsseln beziehungsweise Informationen zur Vertrauenskette und Schlüsseln bei Zertifikaten bietet nur die Darstellung für Fortgeschrittene (Abbildung 1).

Abbildung 1: Nur in der Betriebsart für Experten blendet der GNU Privacy Assistent am unteren Fensterrand ausführliche Informationen zu den Schlüsseln und Zertifikaten, zu Signaturen und Subkeys ein.

Abbildung 1: Nur in der Betriebsart für Experten blendet der GNU Privacy Assistent am unteren Fensterrand ausführliche Informationen zu den Schlüsseln und Zertifikaten, zu Signaturen und Subkeys ein.

Zum Signieren anderer Schlüssel verwendet der GNU Privacy Assistant ausschließlich den Standardschlüssel. Diesen wiederum müssen Benutzer umständlich in den Programmeinstellungen wählen. Das Tool erlaubt es, die Vertrauensstufen festzulegen, und importiert und exportiert die Schlüssel. Im Test hinterließ GPA allerdings kommentarlos eine leere Datei bei dem Versuch, mehrere Schlüssel gleichzeitig zu exportieren.

Eine eigene Dateiverwaltung verschlüsselt Files auf der lokalen Platte. Sie bietet nicht den gleichen Komfort wie ein Dateimanager, erledigt aber ihren Job. Zum Verschlüsseln und Signieren dürfen Anwender einen der vorhandenen Schlüssel auswählen und dem chiffrierten Ergebnis zudem eine Ascii-Verpackung spendieren. Eine symmetrische Verschlüsselung bietet GPA für Dateien nicht an.

Um schnell einen kleinen Textschnipsel vor neugierigen Augen zu verbergen, hält der GNU Privacy Assistant einen speziellen Texteditor bereit (siehe Abbildung 2). Das Programm bezeichnet ihn etwas irreführend als Zwischenablage. Es ver- und entschlüsselt in diesen Dialog kopierte oder getippte Texte. Außerdem kann GPA sie dort signieren oder vorhandene Signaturen prüfen. Eine Funktion zum Speichern suchen Benutzer hier allerdings vergeblich – den Inhalt übernehmen sie per Copy&Paste in eine andere Anwendung. Last, but not least stellt GPA einen Dialog zur Verfügung, der Smartcards verwaltet und einbindet.

Abbildung 2: Die GPA-Zwischenablage verschlüsselt und signiert Texte.

Abbildung 2: Die GPA-Zwischenablage verschlüsselt und signiert Texte.

Kgpg und Kleopatra

Fest mit dem KDE-Desktop verbunden sind Kgpg [3] und Kleopatra [4]. Die beiden Programme arbeiten daher auch mit anderen KDE-Komponenten zusammen. So verschicken sie beispielsweise öffentliche Schlüssel über Kmail oder legen zu einem Schlüssel den passenden Kontakt im KDE-Adressbuch an.

Während sich Kgpg hauptsächlich um die GnuPG-Schlüssel kümmert, ist Kleopatra für die X.509- und Open-PGP-Zertifikate verantwortlich. Teilweise überschneidet sich der Funktionsumfang, beide Programme stellen das jeweilige Feature bereit. Im Test stellte das Gespann unter Open Suse 12.3 (KDE SC 4.10) seine Fähigkeiten unter Beweis; Kgpg liegt dort in Version 2.9 vor, Kleopatra trägt die Nummer 2.1.1.

Kgpg öffnet nach dem ersten Start einen Assistenten, der ein paar Basiseinstellungen zu GnuPG abfragt und danach ein Dialogfenster öffnet, um ein neues Schlüsselpaar zu generieren. Anwender dürfen dabei die Schlüsselgröße, den Verschlüsselungsalgorithmus und ein Ablaufdatum vorgeben, ohne wie bei GPA in den Expertenmodus wechseln zu müssen. Als Verfahren schlägt das KDE-Programm in der Voreinstellung DSA und El Gamal mit einer Schlüssellänge von 1024 Bits vor; empfohlen sind jedoch inzwischen 2048 Bits.

Ein Klick auf die Schaltfläche »Expertenmodus« öffnet ein Terminalfenster, in dem das Kommando »gpg –gen-key –expert« auf Benutzereingaben wartet. Die Stärke der eingetippten Passphrase prüft Kgpg zwar, bescheinigt der trivialen Eingabe »123456789« aber eine Qualität von 25 Prozent und übernimmt das Kennwort zudem ohne Warnung.

Das Kgpg-Hauptfenster listet alle selbst angelegten beziehungsweise importierten Schlüssel auf (siehe Abbildung 3). Ein Klick auf einen Eintrag klappt diesen auf und zeigt die Subschlüssel an. Kgpg ordnet jeder Vertrauensstufe eine Farbe zu, sodass Anwender auf einen Blick erkennen, welche Schlüssel nicht (mehr) vertrauenswürdig sind. Auf Wunsch fasst das Programm Schlüssel in Gruppen zusammen, was wiederum für mehr Ordnung in der Liste sorgt.

Abbildung 3: Kgpg-Benutzer erkennen vertrauenswürdige Schlüssel sofort an der Farbe.

Abbildung 3: Kgpg-Benutzer erkennen vertrauenswürdige Schlüssel sofort an der Farbe.

Detailinformationen zu einem Schlüssel präsentiert ein eigenes Dialogfenster (siehe Abbildung 4). In diesem dürfen Nutzer die Vertrauensstufe und für ihre Keys das Ablaufdatum und die Passphrase ändern. Außerdem können sie den Schlüssel komplett deaktivieren. Die Modifikationen zeigt Kgpg im Hauptfenster allerdings erst an, nachdem der Anwender die Anzeige von Hand mit der Taste [F5] aktualisiert hat.

Abbildung 4: Änderungen an einem Schlüssel nehmen Anwender im Dialogfenster »Schlüsseleigenschaften« vor.

Abbildung 4: Änderungen an einem Schlüssel nehmen Anwender im Dialogfenster »Schlüsseleigenschaften« vor.

Arbeitsteilung

Öffentliche Schlüssel kann das KDE-Werkzeug nicht nur auf einen Server laden oder in eine Datei exportieren, sondern auch in die Zwischenablage kopieren oder direkt als Mail verschicken. Auch der Import klappt über die Zwischenablage. Beim Signieren von Schlüsseln fragt ein Assistent explizit ab, wie der Nutzer den zu signierenden Schlüssel überprüft hat. Auch beim Sperren müssen Anwender einen Grund angeben, erst dann erzeugt das KDE-Tool ein Sperrzertifikat. Im Test schlug Letzteres allerdings wiederholt fehlt. Die Gründe dafür mochte Kgpg nicht nennen.

Einige Funktionen verstecken sich im Kontextmenü der rechten Maustaste. Über dieses ordnen Anwender beispielsweise Fotos oder Benutzerkennungen zu, signieren sie und sichern beziehungsweise exportieren den geheimen Schlüssel. Praktisch ist der Eintrag »Schlüssel in Konsole bearbeiten« . Er öffnet wie der Expertenmodus beim Erstellen ein Terminal und startet darin den interaktiven GnuPG-Schlüsseleditor (»gpg –edit-key« ).

Genau wie GPA enthält Kgpg einen Texteditor, der allerdings etwas komfortabler zu bedienen ist. Die Entwickler haben in ihn sogar eine automatische Rechtschreibprüfung integriert. Eingetippte oder über die Zwischenablage eingefügte Texte signiert das Tool und ver- und entschlüsselt sie. Auch eine Signaturprüfung ist dabei. Der Texteditor chiffriert die Daten auf Wunsch mit symmetrischer Verschlüsselung. Das Passwort muss sich der Benutzer aber selbst merken; Kgpg kann es nicht verwalten.

Eine Möglichkeit für das Verschlüsseln von Dateien ist nicht vorhanden. Stattdessen klinkt sich Kgpg in den Dateimanager Dolphin ein, wo ein Rechtsklick auf eine Datei eine entsprechende Funktion zum Vorschein bringt. Alternativ bietet der eingebaute Texteditor zwei Menüpunkte, die Dateien auf der Platte ver- und entschlüsseln. In jedem Fall hat der Benutzer die Wahl zwischen symmetrischer und asymmetrischer Verschlüsselung.

Zertifiziert

Die Anwendung mit dem stolzen Namen Kleopatra kümmert sich um Zertifikate, bietet aber auch Menüpunkte, die Dateien direkt verschlüsseln, entschlüsseln, signieren und verifizieren. Kleopatra kann die Dateien auf Wunsch komprimieren, die unverschlüsselten Originale löschen und die Daten in einen Ascii-Mantel packen. Eine symmetrische Verschlüsselung ist nicht möglich. Dafür kann das Programm genau wie GPA Smartcards einbinden und nutzen.

Im Hauptfenster zeigt Kleopatra auf drei Registern die selbst erstellten sowie alle vertrauenswürdigen und alle anderen Zertifikate an (Abbildung 5). Die Liste der Tabs erweitern Benutzer über das grüne Pluszeichen. Über das Dropdown-Menü neben dem Suchfeld schalten sie die Ansicht für den aktuellen Reiter um und blenden so etwa abgelaufene, widerrufene und ungeprüfte Schlüssel sowie Smartcard-Zertifikate ein.

Abbildung 5: Kleopatra öffnet mehrere Ansichten der Zertifikate und Schlüssel auf Tabs im Hauptfenster.

Abbildung 5: Kleopatra öffnet mehrere Ansichten der Zertifikate und Schlüssel auf Tabs im Hauptfenster.

Zusätzlich zu diesen Filtermöglichkeiten sorgt noch die Farbgebung für eine bessere Übersicht. Kleopatra verpasst Einträgen ähnlich wie Kgpg abhängig von ihrer Vertrauenswürdigkeit einen anderen Anstrich. So erscheinen beispielsweise abgelaufene Zertifikate in der Voreinstellung in roter Schrift.

Kleopatra fertigt auf Wunsch Prüfsummen für Dateien an, mit denen es diese später auf Unversehrtheit testet. Anwender können Zertifikate beglaubigen (signieren), das Ablaufdatum und die Passphrase ändern, eine Benutzerkennung hinzufügen, die Vertrauenswürdigkeit des Inhabers ändern sowie dem Wurzelzertifikat das Vertrauen aussprechen beziehungsweise entziehen. Zertifikat-Sperrlisten importiert das Programm aus einer Datei.

Beim Ausstellen eines neuen Zertifikats hilft ein Assistent. Er generiert wahlweise ein Open-PGP- oder X.509-Schlüsselpaar, letzteres samt Beglaubigungsanfrage. Das Verschlüsselungsverfahren dürfen Benutzer selbst bestimmen, voreingestellt ist RSA mit einer Schlüssellänge von 2048 Bits. Der Assistent holt wie GPA die Passphrase über »pinentry-qt4« ein, welches wiederum »123465789« für ein qualitativ hochwertiges Kennwort hält. Das frisch gebackene Zertifikat verschickt Kleopatra per E-Mail, lädt es zu einem Server hoch oder sichert es in einer Datei.

Pyrite

Das kleine Tool Pyrite [5] ist komplett in Python geschrieben. Version 1.0.0 (getestet unter Ubuntu 12.10) verschlüsselt, entschlüsselt, signiert und verifiziert lediglich Dateien, eine Schlüsselverwaltung fehlt komplett. Um eine Textnachricht zu chiffrieren, tippen Anwender sie ins große Eingabefeld des Hauptfensters, denken sich ein Passwort aus, wählen einen Algorithmus und klicken dann auf »Encrypt« (Abbildung 6).

Abbildung 6: Pyrite eignet sich lediglich zum schnellen Ver- und Entschlüsseln von Dateien.

Abbildung 6: Pyrite eignet sich lediglich zum schnellen Ver- und Entschlüsseln von Dateien.

In der Voreinstellung verschlüsselt Pyrite die Daten mit einem symmetrischen Verfahren. Für eine asymmetrische Verschlüsselung schaltet der Nutzer per Klick in die entsprechende Checkbox um und legt danach fest, ob er den eigenen privaten oder einen öffentlichen Schlüssel von einem anderen Nutzer verwenden möchte. Die Schlüsselkennung hinterlegt er in einem Eingabefeld – umständlicher geht es kaum.

In jedem Fall schlägt Pyrite AES 256 vor, bietet aber auch andere Verschlüsselungsalgorithmen an. Das chiffrierte Ergebnis speichert das Python-Tool in einer Datei oder verfrachtet es in die Zwischenablage. Um eine Datei zu verschlüsseln, klappen Anwender zunächst am unteren Fensterrand den kleinen, etwas unscheinbaren Bereich »Input File For Direct Operation« aus und wählen dann in einem Dialog die gewünschte Datei aus.

Nach dem gleichen Schema funktioniert auch das Signieren und Verifizieren. Allerdings muss der Benutzer hierfür bereits mit GnuPG auf der Kommandozeile einen Standardschlüssel festgelegt haben. Fehler- und Statusmeldungen landen auf der Konsole; Anwender sollten daher Pyrite tunlichst aus einem Terminalfenster heraus starten.

Seahorse

Auch der Gnome-Desktop hat sein eigenes GnuPG-Frontend: Seahorse [6], auch bekannt unter »Passwörter und Verschlüsselung« . Die Tester schauten sich Version 3.6.3 unter Open Suse 12.3 an. Das Hauptfenster gibt sich recht karg, dafür aber übersichtlich (siehe Abbildung 7). Es zeigt in einer Liste alle Schlüssel an, beschränkt die Anzeige auf Wunsch aber auf die vertrauenswürdigen. Zertifikate präsentiert Seahorse erst, wenn der Benutzer über den entsprechenden Menüpunkt die Darstellung aller Schlüssel aktiviert.

Abbildung 7: Das Hauptfenster von Seahorse beschränkt sich auf das Notwendigste.

Abbildung 7: Das Hauptfenster von Seahorse beschränkt sich auf das Notwendigste.

Ein Doppelklick auf einen Schlüssel öffnet ein neues Fenster, das Details und Optionen zum Bearbeiten enthält (Abbildung 8). Hier darf der Anwender dem Schlüssel ein Foto des Besitzers sowie mehrere Benutzernamen zuweisen. Beim Signieren eines Schlüssels fragt auch die Gnome-Anwendung nach, wie sorgfältig der Benutzer den Schlüssel geprüft hat. Des Weiteren erlaubt der Dialog die Passphrase zu ändern, die Vertrauensstufe zu setzen, einen Schlüssel zu exportieren und ein Ablaufdatum zu definieren. Letzteres darf der Nutzer bequem aus einem kleinen Kalender picken.

Abbildung 8: Auf dem Reiter »Details« konfigurieren Anwender viele Schlüsseleigenschaften.

Abbildung 8: Auf dem Reiter »Details« konfigurieren Anwender viele Schlüsseleigenschaften.

Beim Erstellen eines neuen Schlüssels greift ein Assistent dem Nutzer unter die Arme. Er erzeugt auf Wunsch auch SSH-Passwörter und nimmt einfache Passwörter zur sicheren Verwahrung entgegen. Für den GnuPG-Schlüssel dürfen Anwender den Verschlüsselungsalgorithmus, die Schlüssellänge und das Ablaufdatum bestimmen. In der Voreinstellung schlägt der Seahorse-Assistent RSA mit einer Schlüssellänge von 2048 Bits vor. Er prüft aber nicht die Stärke der eingetippten Passphrase und winkte im Test daher »123456« ohne Warnung durch.

Seahorse selbst verwaltet die Schlüssel nur. Ähnlich wie unter KDE erfolgt das eigentliche Chiffrieren in den anderen Gnome-Programmen. Dateien verschlüsselt und signiert etwa Nautilus über die entsprechenden Punkte im Kontextmenü der rechten Maustaste. Symmetrische Verschlüsselung ist auf diesem Weg aber nicht möglich. Pluspunkte gibt es dafür, dass Seahorse Schlüssel gleich mit mehreren Keyservern auf einmal abgleichen kann.

Aufgeschlüsselt

Grundwissen über Verschlüsselung, das Public-Key-Verfahren und GnuPG vorausgesetzt, erledigen alle Kandidaten ihren Job. Wer ein möglichst einfaches Werkzeug für unerfahrene Endanwender sucht, der sollte zu Seahorse greifen, auch wenn das Frontend ausgerechnet beim Anlegen neuer Schlüssel mit Abfragen zu Schlüsseltypen verwirrt. Das Programm ist zudem auf den Gnome-Desktop zugeschnitten und benötigt auf anderen Oberflächen die entsprechenden Bibliotheken.

Den größten Funktionsumfang bietet das Gespann Kgpg und Kleopatra. Die Programme sind aber tief in KDE verwurzelt und stellenweise unübersichtlich. Obendrein überschneidet sich ihr Funktionsangebot: Nicht immer ist für den Anwender klar, welches der beiden Werkzeuge er für die jeweilige Aufgabe heranziehen soll.

Der GNU Privacy Assistant kann in puncto Funktionsumfang mit den KDE-Siegern zwar nicht ganz mithalten, läuft aber unter beliebigen Desktopumgebungen. Abzüge gibt es für die fehlenden Hinweise zu den Installationsvoraussetzungen, die mangelhafte Dokumentation und Programm-abstürze auf den Testsystemen.

Pyrite landet weit abgeschlagen auf dem letzten Platz. Die Anwendung eignet sich nur zum schnellen Ver- und Entschlüsseln beziehungsweise Signieren. Mangels eigener Schlüsselverwaltung sollten Benutzer das Python-Programm zurzeit noch links liegen lassen.

Apropos unbrauchbar: Die Qualitätschecks aller Kandidaten bei der Eingabe der Passphrase verdienen die Bezeichnung nicht. Keines der Programme arbeitet intelligent und bescheinigte im Test selbst trivialen Kennwörtern ein erschreckend hohes Niveau.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben