Daten signieren und chiffrieren unter KDE und Gnome

Aus LinuxUser 02/2009

Daten signieren und chiffrieren unter KDE und Gnome

© sxc.hu

Schlüsselfrage

Dass gute Menschen nichts zu verbergen hätten, stimmt nicht. Jeder Mensch hat ein Anrecht auf Privatsphäre. Die wahren Sie schon mit den Bordmitteln von KDE und Gnome problemlos.

Daten zu verschlüsseln gelingt ungefähr genauso einfach, wie ein Geheimnis für sich zu behalten. Schwierigkeiten gibt es erst, wenn Sie versuchen, die chiffrierten Daten an eine andere Person zu übermitteln, ohne dabei die Verschlüsselungsmethode preiszugeben.

Seit rund 30 Jahren existiert eine einfache, allerdings noch immer als Stiefkind behandelte Antwort auf das Problem: Sie heißt Pretty Good Privacy oder kurz PGP, beruht auf einem asymmetrischen Schlüsselpaar und macht es damit einem Angreifer sehr schwer, die Botschaften zu knacken. Die Open-Source-Variante nennt sich GNU Privacy Guard (GnuPG, OpenPGP oder GPG) und gehört zum Standardumfang jeder Linux-Distribution.

GNU Privacy Guard

Wie das Vorbild selbst arbeitet auch GPG mit einem Schlüsselpaar, das aus einem öffentlichen und einem privaten Schlüssel besteht. Um jemandem eine verschlüsselte Datei oder Botschaft zu senden, benötigen Sie nur den öffentlichen Schlüssel des Empfängers, für das Entschlüsseln nutzen Sie Ihren privaten Teil des Schlüsselpaars. Am einfachsten merken Sie sich die Funktionsweise von GPG/PGP über einen Briefkasten mit zwei Fächern. Das eine Fach nimmt Nachrichten für Sie auf: Der passende Schlüssel dazu hängt für jedermann zugänglich am Briefkasten. Nach dem Schließen fällt der Brief ins zweite Fach, dessen Schlüssel nur Sie bei sich tragen.

Wie bei den meisten Linux-Programmen gibt es GPG als Kommandozeilentool und dazu mehrere grafische Frontends. Schlüssel und Einstellungen liegen einheitlich in Ihrem Home-Verzeichnis unter ~/.gnupg. Achten Sie darauf, dieses Verzeichnis bei einem Backup mitzusichern, da Sie ohne den privaten Schlüssel an die von Ihnen mit dem Schlüssel abgesicherten Daten nicht mehr herankommen. Wie Sie auf der Kommandozeile mit GPG arbeiten, verrät man gpg. Dieser Artikel stellt die grafischen Frontends KGPG und Seahorse vor.

Schlüsselpaar erstellen

Bevor Sie Ihre persönlichen Daten verschlüsseln oder jemanden Ihnen geheime Daten übermitteln kann, benötigen Sie ein Schlüsselpaar. Unter KDE starten Sie dazu KGPG und folgen den Anweisungen des Assistenten (Abbildung 1). Er sucht nach vorhandenen Schlüsseln und startet automatisch einen Dialog zum Anlegen eines neuen Schlüsselpaars, falls das Tool keinen Schlüssel findet.

Abbildung 1: Der Assistent von KGPG hilft Ihnen beim Erstellen oder Importieren von Schlüsseln.

Abbildung 1: Der Assistent von KGPG hilft Ihnen beim Erstellen oder Importieren von Schlüsseln.

Gnome-Nutzer starten das Programm Seahorse. Bei beiden Programmen legen Sie über [Strg]+[N] einen neuen Schlüssel an. Da Seahorse neben GPG-Schlüsseln auch SSH-Keys verwaltet, entscheiden Sie in einem ersten Schritt, welche Art Schlüssel Sie anlegen möchten (Abbildung 2).

Abbildung 2: Seahorse verwaltet auch SSH-Schlüssel, für GPG benötigen Sie diese nicht.

Abbildung 2: Seahorse verwaltet auch SSH-Schlüssel, für GPG benötigen Sie diese nicht.

Um das Schlüsselpaar zu erzeugen, geben Sie Ihren Namen und ein E-Mail-Adresse an. Achten Sie hier darauf, diejenige Mailadresse anzugeben, die Sie wirklich als Absenderadresse benutzen, da GPG diese Information im Schlüssel speichert. Gibt es keinen bestimmten Grund, sollten Sie kein Ablaufdatum festlegen: Abgelaufene, aber noch benutzte Schlüssel erwecken wenig Vertrauen.

KGPG wählt als Standard einen per El Gamal gesicherten, 1024 Bit langen DSA-Schlüssel. Seahorse setzt auf den gleichen Algorithmus, aber 2048 Bit Länge (zu finden über Erweiterte Optionen). Als Algorithmus steht daneben auch RSA zur Auswahl. Egal welche der zwei Methoden Sie wählen: Mit einer Schlüssellänge von 4096 Bit sind Sie auf der absolut sicheren Seite – vorausgesetzt, Sie wählen kein zu einfaches Passwort.

Nach einem Klick auf OK beziehungsweise Erstellen erscheint die Passwortabfrage. Die Sicherheit der verschlüsselten Daten steht und fällt mit dem Passwort. Bei einem zu kurzen Passwort gelingt oft eine Brute-Force-Attacke, da nützt der beste Algorithmus nichts. Wählen Sie hingegen eine Kombination aus Zahlen und Buchstaben in unorthodoxer Schreibweise, wie zum Beispiel GehE1mE5pA55WoRt (mit den Ziffer “1” und “5” für I respektive S), schützt das Ihre Daten bei einer Schlüssellänge von 4096 Bit nach aktuellem Wissenstand ein Leben lang. Der Computer benötigt zum Erstellen des Schlüssels je nach CPU und Systemlast einige Minuten. KGPG und Seahorse zeigen danach den neuen Schlüssel an (Abbildung 3).

Abbildung 3: KGPG (unten) zeigt sehr schön, dass sich innerhalb des 1024-Bit-DSA-Schlüssels noch ein mit 4096-Bit gesicherter El-Gamal-Key verbirgt. Im Hintergrund (oben) die Schlüsselanzeige von Seahorse.

Abbildung 3: KGPG (unten) zeigt sehr schön, dass sich innerhalb des 1024-Bit-DSA-Schlüssels noch ein mit 4096-Bit gesicherter El-Gamal-Key verbirgt. Im Hintergrund (oben) die Schlüsselanzeige von Seahorse.

Streng geheim

Sie haben nun die Möglichkeit, mit dem neu erstellten Key Dateien zu verschlüsseln. Dazu wählen Sie in Konqueror oder Dolphin aus dem Kontext-Menü den Eintrag Aktionen | Datei verschlüsseln. Benutzen Sie KDE 4, finden Sie vermutlich auch Kleopatra im Menü Aktionen. Das neue Sicherheitsframework von KDE 4 verwaltet neben persönlichen Schlüsseln auch X.509-Zertifikate. Details zu den Zertifikaten finden Sie im S/MIME-Artikel in dieser Ausgabe [1].

Unter Gnome nistet sich Seahorse über ein Plugin im Dateimanager Nautilus ein. Der passende Menüeintrag Verschlüsseln befindet sich direkt im Kontextemenü. Finden Sie den Eintrag nicht, fehlt vermutlich das zugehörige Plugin, das Sie bei den meisten Distributionen in einem Extrapaket finden.

KGPG versieht die verschlüsselten Dateien mit dem Suffix .asc, Seahorse benutzt dagegen .pgp. Möchten Sie erreichen, dass KGPG ebenfalls .pgp an die Dateien anhängt, wählen Sie Einstellungen | KGpg einrichten und markieren unter Verschlüsselung die Checkbox *.pgp-Erweiterung für verschlüsselte Dateien benutzen. Achten Sie darauf, dass beide Programme beim Verschlüsseln von Dateien jeweils eine unverschlüsselte Kopie hinterlassen, die Sie gegebenfalls manuell löschen müssen.

Mein erster Schlüssel

GPG-Schlüssel bestehen wie erwähnt aus einem privaten (“private key”) und einem öffentlichen Teil (“public key”). Neben dem eigentlichen Verschlüsseln eignen sich die Keys auch zum Signieren von Dokumenten oder E-Mails. So verhindern Sie zum Beispiel gefälschte Mails. Während beim Signieren der eigene private Schlüssel zum Einsatz kommt, benötigen Sie zum Verschlüsseln von E-Mails oder für das Verifizieren von digital signierten Mails den öffentlichen Schlüssel des Kommunikationspartners. GPG speichert diesen in der Datei ~/.gnupg/pubring.gpg. Analog dazu gibt es auch eine Datei ~/.gnupg/secring.gpg, welche die geheimen Schlüssel auf dem Rechner enthält.

Als erstes sollten Sie nun ein Backup von Ihrem geheimen Schlüssel erstellen. Dazu legen Sie entweder eine Kopie des Verzeichnisses .gnupg auf einem sicheren Datenträger an, oder Sie exportieren den Schüssel einzeln auf das Medium. Unter KGPG markieren Sie dazu im Hauptfenster den für den Export vorgesehenen Schlüssel und wählen aus dem Kontextmenü den Eintrag Geheimen Schlüssel exportieren.

Den Warnhinweis klicken Sie über Fortsetzen weg und wählen danach das gewünschte Verzeichnis aus. KGPG benennt den Schlüssel nach der zugehörigen E-Mail-Adresse und hängt ihm die Endung .asc an. Verlieren Sie durch eine Panne die Daten in Ihrem Home-Verzeichnis oder die komplette Festplatte, lesen Sie über Schlüssel | Schlüssel importieren diesen Schlüssel wieder ein und machen ihn über das Kontextmenü zum Standardschlüssel.

In Seahorse wählen Sie für den Export aus dem Kontextmenü den Eintrag Eigenschaften aus und wechseln auf den Reiter Details. Hier finden Sie unter Aktionen den Button Exportieren. Auch Seahorse legt den Schlüssel mit der Endung .asc auf dem Datenträger ab, benutzt allerdings als Dateinamen den Namen, den Sie mit dem Schlüssel verbunden haben – meist Ihr eigener. Deponieren Sie den Datenträger in jedem Fall an einem sicheren Ort.

Schlüssel bearbeiten

Manchmal kommt es vor, dass Sie das Passwort eines Schlüssels zu einfach oder zu kompliziert gewählt haben und es deshalb ändern möchten. Unter Seahorse wählen Sie dazu im Kontextmenü Eigenschaften und klicken auf dem Reiter Eigentümer auf den Schalter Kennwort ändern. Im gleichen Dialog fügen Sie bei Bedarf dem Schlüssel über das Pluszeichen ein Foto hinzu.

Benutzen Sie KGPG, dann wählen Sie zum Ändern der Passphrase Schlüsseleigenschaften | Kennsatz ändern. Ein Bild für den öffentlichen Schlüssel importieren Sie über Foto hinzufügen aus dem Kontextmenü. Seahorse verkleinert zu große Bilder automatisch auf 120 x 150 Bildpunkte. KGPG weist zwar in einem Fenster darauf hin, dass zu große Bilder den öffentlichen Schlüssel unnötig groß machen, erlaubt aber beliebige Fotos im JPEG-Format.

Aktuelle Versionen von GPG unterstützen mehrere Mailadressen pro Schlüssel. Aus Gründen der Abwärtskompatibilität empfiehlt es sich zwar, pro Schlüssel nur einen Account einzurichten, die meisten aktuellen Programme kommen aber mit mehrfachen Accounts gut klar. Möchten Sie nicht für jede Mailadresse einen separaten Schlüssel anlegen, sondern dem bestehenden Schlüssel einen weiteren Benutzer hinzufügen, markieren Sie in Seahorse den gewünschten Key und wählen Eigenschaften im Kontextmenü. Auf dem Reiter Namen und Signaturen klicken Sie auf Name hinzufügen (Abbildung 4). Über das Symbol mit dem grünen Pfeil legen Sie den Hauptnutzer fest.

Abbildung 4: Sie dürfen einem Schlüssel mehrere E-Mail-Adressen zuordnen, wie hier am Beispiel von Seahorse zu sehen.

Abbildung 4: Sie dürfen einem Schlüssel mehrere E-Mail-Adressen zuordnen, wie hier am Beispiel von Seahorse zu sehen.

In KGPG klicken Sie mit der rechten Maustaste auf den zu bearbeitenden Schlüssel und wählen Benutzerkennung hinzufügen aus dem Kontextmenü. Den primären Account legen Sie ebenfalls über das Kontextmenü fest. Dazu klappen Sie den Schlüssel über einen Klick auf das Pluszeichen vor dem Eintrag zunächst aus. Anschließend klicken Sie mit der rechten Maustaste auf die gewünschte Mailadresse und wählen Benutzerkennung als primäre Kennung festlegen.

Sammeln und verteilen

Arbeiten Sie mit KMail, haben Sie vielleicht schon einmal eine Mail bekommen, die das KDE-Programm mit einem gelben Rahmen markiert hat. Dieser bedeutet, dass KMail nicht in der Lage war, die Signatur zu überprüfen. Ein Klick auf Details anzeigen liefert weitere Informationen zur E-Mail, darunter auch die ID des Schlüssels, mit dem der Kommunikationspartner die E-Mail signiert hat (Abbildung 5). Evolution zeigt bei entsprechenden Mails die Nachricht Signatur existiert, jedoch wird der öffentliche Schlüssel benötigt an. In beiden Fällen fehlt der öffentliche Schlüssel des Absenders, um die Signatur zu verifizieren.

Abbildung 5: Mangels öffentlichen Schlüssels schafft es KMail nicht, die Echtheit der Signatur zu überprüfen.

Abbildung 5: Mangels öffentlichen Schlüssels schafft es KMail nicht, die Echtheit der Signatur zu überprüfen.

Seahorse und KGPG unterstützen Sie beim Sammeln öffentlicher Schlüssel und helfen beim Verteilen des eigenen öffentlichen Keys. Um einen gültigen, aber unbekannten Schlüssel in den öffentlichen Schlüsselbund (in die Datei pubring.gpg) aufzunehmen, wählen Sie in KGPG Datei | Schlüsselserver und geben die gesuchte ID, Mailadresse oder den Namen des Absenders in das Textfeld ein. Benutzer von Seahorse wählen Entfernt | Entfernte Schlüssel suchen und finden hier ebenfalls ein Textfeld vor. Beide Programme suchen danach auf einem oder mehreren öffentlichen GPG-Servern nach passenden Schlüsseln.

Geben Sie zum Beispiel Marcel Hilzinger ein, finden Sie zwei Schlüssel: Einen, der zur Mailadresse marcel@hilzinger.hu passt und einen zur Adresse mhilzinger@linuxnewmedia.de (Abbildung 6). Möchten Sie einen der beiden Schlüssel in Ihren öffentlichen Schlüsselbund importieren, stehen Sie vor dem Problem, dass Sie nicht wissen, wer den Schlüssel auf den GPG-Server exportiert hat. Mit hundertprozentiger Sicherheit könnten Sie das nur überprüfen, wenn Sie den Kontakt persönlich treffen und befragen.

Abbildung 6: Über den Schlüsselserver-Dialog von KGPG importieren Sie öffentliche Schlüssel.

Abbildung 6: Über den Schlüsselserver-Dialog von KGPG importieren Sie öffentliche Schlüssel.

Da diese Vorgehensweise in der Praxis relativ umständlich ist, gibt es für jeden Schlüssel einen digitalen Fingerabdruck, den Sie zum Beispiel per Post oder SMS zum Prüfen an den Besitzer des öffentlichen Schlüssels verschicken. Die bekannte Handschrift (Brief) oder Handynummer (SMS) bietet zusätzliche Sicherheit. Der Fingerabdruck ist 40 Stellen lang, die letzten acht Stellen dienen als Kurz-ID. Zudem tragen sämtliche Nutzer von GPG durch das Signieren von bekannten und überprüften Schlüsseln zur Sicherheit des Systems bei.

Um den eigenen öffentlichen Schlüssel der ganzen Welt vertraut zu machen, gehen Sie ähnlich vor. Markieren Sie dazu den gewünschten Key und wählen Sie in KGPG Öffentliche Schlüssel exportieren. Im folgenden Dialog markieren Sie die Checkbox Schlüsselserver und wählen einen der Server aus der Liste aus.

In Seahorse markieren Sie den Schlüssel und wählen Entfernt | Synchronisiere und veröffentliche Schlüssel. Je öfter Sie Ihren öffentlichen Schlüssel einsetzen und je mehr sich dieser verbreitet, desto schwieriger fällt es einem Angreifer, eine falsche Version ins System einzuschleusen. So, wie Sie Freunde und Familie über eine neue Adresse oder eine neue Handynummer informieren, sollten Sie dies auch bei Änderungen am GPG-Schlüssel tun.

Glossar

PGP

Pretty Good Privacy stammt aus der Hand des Programmierers Phil Zimmermann. Das von ihm entwickelte Programm eignet sich zum Verschlüsseln und Signieren von Daten, wobei es mit einem asymmetrischen Schlüsselpaar arbeitet.

El Gamal

Von Tahir Al Dschamal 1985 entwickeltes, freies asymmetrisches Verschlüsselungssystem. Quasi als Container für die verschlüsselten Daten kommt meist der amerikanische Standard DSA zum Einsatz – daher die Bezeichnung DSA & El Gamal.

RSA

Von den Mathematikern Rivest, Shamir und Adleman 1977 entwickeltes und patentiertes, asymmetrisches Verschlüsselungssystem. Das RSA-Patent lief im Jahr 2000 ab, so dass Sie RSA auch unter Linux frei nutzen dürfen.

Brute-Force-Attacke

Knacken eines Schlüssels, indem ein Angreifer einfach sämtliche möglichen Passwörter durchprobiert.

Infos

[1] S/MIME mit Thunderbird: Caspar Clemens Mierau, “Vertrauensfragen”, LinuxUser 02/2009, S. 24, http://linux-community.de/artikel/17630

LinuxUser 02/2009 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben