Ghost in the Machines
On September 23, 2021 by adminIch verwende die Software GPG (auch bekannt als GnuPG), um Dateien zu verschlüsseln, die sensible Informationen (meist Passwörter) enthalten. Als Systemtechniker erledige ich den Großteil meiner Arbeit auf entfernten Servern, auf die ich über die Befehlszeile zugreifen kann. Natürlich finde ich es einfacher, die Kommandozeilenversion von GPG zu benutzen, um Dokumente direkt zu ver- und entschlüsseln.
GPG (GNU Privacy Guard) ist eine freie Open-Source-Version von PGP (Pretty Good Privacy) Verschlüsselungssoftware. Beide verwenden konzeptionell den gleichen kryptographischen Ansatz (d.h. Ver- und Entschlüsselung). Beide unterscheiden sich jedoch in ihrer Implementierung.
Im Folgenden finden Sie eine kurze Einführung in die Installation der GPG-Befehlszeilen-Tools sowie eine Liste der grundlegenden Befehle, die Sie wahrscheinlich benötigen werden.
GPG installieren
GPG kann auf verschiedene Arten installiert werden. Diese Anleitung installiert die wichtigsten GPG-Befehlszeilen-Tools, die für die Verwendung in einem Terminal gedacht sind.
Wenn Sie hingegen eine grafische Benutzeroberfläche (oder GUI) für den Zugriff auf GPG-Funktionen bevorzugen (z.B. Verschlüsselung von E-Mail-Kommunikation oder Verschlüsselung von Dokumenten in einem GUI-Texteditor), lesen Sie die Links am Ende dieses Artikels.
Red Hat / CentOS
yum install gnupg
Ubuntu / Debian
apt-get install gnupg
Mac OS X
Der einfachste Weg, die GPG-Befehlszeilen-Tools auf Ihrem Mac zu installieren, ist die Installation von Homebrew, einem Paketverwaltungssystem, das Tausende von Softwarepaketen zur Installation auf Ihrem Mac bereitstellt.
Öffnen Sie ein Terminal-Fenster (Menü Anwendungen > Dienstprogramme) und geben Sie den folgenden Befehl ein.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install gnupg
GPG Kurzanleitung
Das Folgende ist eine sehr kurze Einführung in die Verwendung der Kommandozeile von GPG. Betrachten Sie es als eine „Kurzreferenz“ oder einen „Spickzettel“. Sie sollten auf jeden Fall mehr über GPG lernen als das, was in diesem Beitrag erklärt wird. Er ist nur für den Anfang gedacht. Wenn Sie vorhaben, GPG intensiver zu nutzen, empfehle ich Ihnen dringend, weitere Dokumentationen zu lesen (siehe Links unten).
GPG ist eine leistungsfähige Verschlüsselungssoftware, die aber auch leicht zu erlernen ist – wenn Sie einige Grundlagen verstanden haben. GPG verwendet eine Verschlüsselungsmethode, die als Public-Key-Kryptographie bekannt ist und eine Reihe von Vorteilen und Nutzen bietet. Um diese Vorteile nutzen zu können, ist jedoch ein Mindestmaß an Komplexität erforderlich, damit das Ganze funktioniert. Einen Überblick über die Funktionsweise der Public-Key-Kryptografie finden Sie in der Einführung in die Kryptografie (Link am Ende dieses Beitrags).
Typografische Konventionen, die in den Befehlen verwendet werden:
In allen folgenden Beispielen ist Text, den Sie durch Ihre eigenen Werte ersetzen müssen (z. B. Benutzernamen, E-Mail-Adressen, Dateinamen), in „grauer Kursivschrift“ dargestellt. Text, den Sie wörtlich (unverändert) eingeben, ist mit „schwarzer konstanter Breite“ gekennzeichnet.
"gray italic""black constant width"
Erstellen Sie Ihren GPG-Schlüssel:
Um mit GPG zu beginnen, müssen Sie zunächst Ihr Schlüsselpaar erzeugen. Das heißt, dass Sie mit einem einzigen Befehl sowohl einen privaten als auch einen öffentlichen Schlüssel erzeugen. Geben Sie Ihren Namen und Ihre E-Mail-Adresse ein, aber akzeptieren Sie ansonsten die Standardoptionen.
gpg --gen-key
Der erste Schlüssel ist Ihr privater (oder geheimer) Schlüssel. Sie müssen diesen privaten Schlüssel immer sicher aufbewahren und dürfen ihn mit niemandem teilen. Der private Schlüssel ist durch ein Kennwort geschützt. Versuchen Sie, das Passwort so lang wie möglich zu machen, aber etwas, das Sie nicht vergessen werden. Wenn Sie das Passwort vergessen, gibt es keine Möglichkeit, es wiederherzustellen. Aus demselben Grund sollten Sie auch eine Sicherungskopie Ihres privaten Schlüssels erstellen. (Erwägen Sie die Verwendung von Time Machine für Backups unter Mac OS X.)
Der zweite Schlüssel ist Ihr öffentlicher Schlüssel, den Sie gefahrlos an andere Personen weitergeben können.
Die Beziehung zwischen privatem und öffentlichem Schlüssel ist eigentlich sehr einfach. Alles, was mit dem öffentlichen Schlüssel verschlüsselt wird, kann nur mit dem dazugehörigen privaten Schlüssel entschlüsselt werden. Sie stellen also einer anderen Person Ihren öffentlichen Schlüssel zur Verfügung, und diese stellt Ihnen ihren öffentlichen Schlüssel zur Verfügung. Alles, was mit Ihrem öffentlichen Schlüssel verschlüsselt ist, kann nur von Ihnen entschlüsselt werden. Alles, was mit dem öffentlichen Schlüssel der anderen Person verschlüsselt wird, kann nur von der anderen Person entschlüsselt werden.
Exportieren Sie Ihren öffentlichen Schlüssel:
Der nächste Schritt besteht darin, Ihren öffentlichen Schlüssel zu exportieren und ihn mit einer anderen Person zu teilen. Diese Person sollte das Gleiche tun und ihren öffentlichen Schlüssel exportieren.
gpg --export --armor [email protected] > mypubkey.asc
Importieren Sie den öffentlichen Schlüssel einer anderen Person:
Wenn Sie einen öffentlichen Schlüssel importieren, legen Sie ihn in das, was gemeinhin als Ihr GPG-Schlüsselbund bezeichnet wird.“
gpg --import theirpubkey.asc
Listen Sie die öffentlichen Schlüssel in Ihrem Schlüsselbund auf:
Sie können nun eine Liste der öffentlichen Schlüssel in Ihrem Schlüsselbund anzeigen, sowie den Namen und die E-Mail-Adresse, die mit jedem Schlüssel verbunden sind.
gpg --list-keys
Listen Sie private Schlüssel in Ihrem Schlüsselbund auf:
Der folgende Befehl listet die privaten Schlüssel in Ihrem Schlüsselbund auf. Hier wird Ihr eigener privater Schlüssel angezeigt, den Sie zuvor erstellt haben.
gpg --list-secret-keys
Vertrauen Sie einem öffentlichen Schlüssel:
Nachdem Sie den öffentlichen Schlüssel der anderen Person importiert haben, müssen Sie nun die Vertrauensstufe des Schlüssels festlegen. Dies verhindert, dass GPG Sie jedes Mal warnt, wenn Sie etwas mit diesem öffentlichen Schlüssel verschlüsseln.
Geben Sie den Namen oder die E-Mail der anderen Person im Befehl an.
gpg --edit-key glenntrust (invoke trust subcommand on the key)5 (ultimate trust)y (if prompted)quit
Nützliche GPG-Befehle
GPG hat viele Optionen, von denen Sie die meisten nie brauchen werden. Hier ist eine kurze Liste der nützlichsten Befehle, die Sie wahrscheinlich brauchen werden.
Verschlüsseln Sie eine Datei:
Um eine Datei mit dem Namen dateiname.txt für eine einzelne Person zu verschlüsseln, geben Sie diese Person als Empfänger an.
gpg --encrypt --recipient glenn filename.txt
Dadurch wird eine neue verschlüsselte Datei mit dem Namen dateiname.txt.gpg erstellt.
Wenn Sie eine Datei so verschlüsseln wollen, dass nur Sie selbst sie entschlüsseln können, dann geben Sie sich selbst als Empfänger an.
gpg --encrypt --recipient 'my_name' filename.txt
Wenn Sie eine Datei so verschlüsseln wollen, dass sowohl Sie als auch eine andere Person die Datei entschlüsseln können, geben Sie sowohl sich als auch die andere Person als Empfänger an.
gpg --encrypt --recipient glenn --recipient 'my_name' filename.txt
Wenn Sie eine Datei für eine Gruppe von Personen verschlüsseln wollen, definieren Sie die Gruppe in Ihrer gpg.conf-Datei (siehe Abschnitt unten), und geben Sie dann die Gruppe als Empfänger an.
gpg --encrypt --recipient journalists filename.txt
Nach einiger Zeit werden Sie sich knapper fassen und die Kurzversion der Befehlszeilenoptionen verwenden wollen. Hier ist derselbe Befehl.
gpg -e -r journalists filename.txt
Entschlüsseln einer Datei auf dem Terminal (Standardausgabe):
Die erste Version dieses Befehls zeigt den Inhalt einer Datei im Terminalfenster selbst an.
gpg --decrypt filename.txt.gpg
Verwenden Sie die Option --decrypt
nur, wenn die Datei eine ASCII-Textdatei ist. Wenn es sich um eine Binärdatei handelt, lassen Sie die Option --decrypt
weg, wodurch die entschlüsselte Datei auf die Festplatte geschrieben wird. Dann können Sie die Binärdatei in der Anwendung öffnen, die zum Anzeigen der Datei verwendet wird.
Entschlüsseln einer Datei auf der Festplatte:
Ob ASCII- oder Binärdatei, wenn Sie Änderungen am Inhalt einer verschlüsselten Datei vornehmen möchten, müssen Sie sie zunächst entschlüsseln, Ihre Änderungen vornehmen und die Datei dann erneut verschlüsseln. Wie im vorigen Absatz erwähnt, schreiben Sie die entschlüsselte Version einer Datei auf die Festplatte, indem Sie die Option --decrypt
im Befehl weglassen.
gpg filename.txt.gpg
Wenn die verschlüsselte Datei Dateiname.txt heißt.gpg, so erzeugt der obige Befehl eine entschlüsselte Version mit dem Namen Dateiname.txt (ohne die Erweiterung .gpg).
Erstellen Sie Personengruppen in Ihrer GPG-Konfigurationsdatei
Zur Vereinfachung können Sie eine Personengruppe in Ihrer GPG-Konfigurationsdatei vordefinieren. Dies hat den Vorteil, dass Sie eine Datei an jedes Mitglied der Gruppe verschlüsseln können, indem Sie nur den Gruppennamen als Empfänger angeben, anstatt mühsam jedes einzelne Mitglied der Gruppe anzugeben.
Ihre GPG-Softwarekonfiguration wird in Ihrem Home-Verzeichnis in der Datei ~/.gnupg/gpg.conf
gespeichert. Bearbeiten Sie diese Datei mit Ihrem bevorzugten Kommandozeilen-Texteditor (vim, nano, pico, emacs, etc.). In der Konfigurationsdatei sind zahlreiche Einstellungen möglich. Gehen Sie zu dem Abschnitt, der sich mit der Definition von Gruppen befasst.
Wenn Sie eine Gruppe definieren, listen Sie die Mitglieder der Gruppe auf. Jedes Mitglied wird durch ein Attribut seines öffentlichen Schlüssels in Ihrem GPG-Schlüsselbund referenziert – typischerweise ein Name (oder ein Teil des Namens, wie Vor- oder Nachname) oder eine E-Mail-Adresse (oder ein Teil der E-Mail-Adresse).
Wenn Sie ein Mitglied der Gruppe sind, denken Sie daran, sich selbst in die Gruppe aufzunehmen! Wenn Sie sich selbst nicht in die Gruppe aufnehmen, können Sie keine Dateien entschlüsseln, die Sie für die Gruppe verschlüsseln.
Hier ist ein Beispiel für eine Gruppe mit dem Namen „Journalisten“, die den Vornamen jeder Person enthält.
group journalists = glenn laura ewan barton
Wo geht es weiter
Ich empfehle Ihnen, mehr über GPG zu erfahren. Siehe die Links unten.
Sie können sich auch über sichere Methoden zum Löschen von Dateien von der Festplatte Ihres Computers informieren. Mac OS X verfügt über die Option „Sicherer Papierkorb leeren“ im Finder. Es gibt auch zahlreiche Tools von Drittanbietern, die Sie installieren können.
Da wir gerade beim Thema sind, wie man GPG in der Kommandozeile verwendet, möchten Sie vielleicht „bcwipe“ ausprobieren – ein Programm zum sicheren Löschen von Dateien in der Kommandozeile.
Unter Mac OS X können Sie bcwipe über Homebrew installieren.
brew install bcwipe
Links
Allgemein
- Einführung in die Kryptographie (PDF)
- GnuPG Software Website
- GnuPG auf Wikipedia
- Homebrew (Paketmanager für Mac OS X)
GUI Tools
- GPG Suite (GUI für Mac OS X)
- Anleitung zur Verwendung von GPG Suite unter Mac OS X (Electronic Frontier Foundation)
- Gpg4win (GUI für Windows)
- Anleitung zur Verwendung von Gpg4Win unter Windows (Electronic Frontier Foundation)
Schreibe einen Kommentar