Zum Inhalt springen
Security & Datenschutz

GPG unter Windows

GPG unter Windows mit Gpg4win: Schlüsselpaar in Kleopatra erzeugen, Public Key tauschen, Dateien verschlüsseln, signieren und den Schlüssel sichern.

Von DI Herwart Wermescher, MBA ↗

GPG ist eine Privacy Plattform, mit der Du Daten signieren und verschlüsseln kannst. Ich nutze es seit Jahren für Dateien, die per Mail oder Cloud unterwegs sind, und für Signaturen, mit denen Empfänger die Herkunft prüfen können. Wie das unter Linux funktioniert, zeigt Dir GPG unter Linux. Dieser Beitrag beschreibt den kompletten Weg unter Windows.

Was GPG eigentlich macht

GPG arbeitet mit einem Schlüsselpaar aus einem öffentlichen und einem privaten Schlüssel. Den öffentlichen Schlüssel gibst Du jedem, der Dir etwas schicken oder Deine Signaturen prüfen will. Der private Schlüssel bleibt auf Deinem Rechner und ist mit einer Passphrase geschützt.

Daraus ergeben sich zwei Anwendungsfälle. Beim Verschlüsseln nimmst Du den öffentlichen Schlüssel des Empfängers, und nur dessen privater Schlüssel öffnet die Datei wieder. Beim Signieren nimmst Du Deinen privaten Schlüssel, und jeder mit Deinem öffentlichen Schlüssel kann prüfen, dass die Datei von Dir stammt und unterwegs nicht verändert wurde. Beides lässt sich kombinieren.

Welche GPG-Software Du brauchst

Der Kern heißt überall GnuPG und ist die freie Implementierung des OpenPGP-Standards. Was sich unterscheidet, ist die Oberfläche drumherum:

  • Gpg4win ist das Paket für Windows. Es bringt GnuPG, den Zertifikatsmanager Kleopatra, die Outlook-Integration GpgOL und den Explorer-Kontextmenüeintrag GpgEX mit.
  • GnuPG selbst ist auf allen Systemen der gleiche Unterbau und wird über die Kommandozeile mit gpg aufgerufen. Schlüssel und Befehle funktionieren dadurch plattformübergreifend gleich.
  • GPG Suite ist das entsprechende Paket unter macOS, inklusive Mail-Integration.
  • Unter Linux ist GnuPG in den meisten Distributionen bereits installiert; grafische Oberflächen wie Kleopatra oder Seahorse lassen sich nachrüsten.

Ein Schlüssel, den Du unter Windows erzeugst, funktioniert also genauso unter Linux oder macOS.

Gpg4win installieren

Gpg4win ist Freie Software und mit wenigen Mausklicks installiert. Download unter https://gpg4win.org/.

Im Installer wählst Du die Komponenten aus. Kleopatra solltest Du in jedem Fall mitnehmen, denn darüber läuft die gesamte Schlüsselverwaltung. GpgOL brauchst Du, wenn Du Mails in Outlook verschlüsseln willst, GpgEX ergänzt das Rechtsklick-Menü im Explorer. Mit Kleopatra lassen sich übrigens auch X509-Zertifikate grafisch erzeugen und Beglaubigungsanfragen stellen.

Schlüsselpaar erzeugen

In Kleopatra gehst Du auf Datei – Neues Schlüsselpaar. Dort trägst Du Namen und E-Mail-Adresse ein. Beides landet in der Benutzer-ID des Schlüssels und ist später für alle sichtbar, die Deinen öffentlichen Schlüssel haben.

Unter den erweiterten Einstellungen legst Du Verfahren und Schlüssellänge fest. Die Vorgabe von Gpg4win ist für den Alltag passend. Setze dort auch ein Ablaufdatum: zwei bis drei Jahre sind ein guter Wert, weil ein vergessener Schlüssel dann von selbst ungültig wird und Du das Datum jederzeit verlängern kannst.

Zum Schluss vergibst Du die Passphrase. Sie schützt den privaten Schlüssel auf Deiner Platte. Nimm etwas Langes, das Du Dir merkst, und leg es zusätzlich in Deinen Passwortmanager. Ohne Passphrase kommst Du an den Schlüssel nicht mehr heran. Nach dem gleichen Prinzip kannst Du auch SSH-Schlüsselpaare anlegen.

Öffentlichen Schlüssel exportieren und weitergeben

Rechtsklick auf Deinen Schlüssel in Kleopatra, dann Exportieren. Du bekommst eine .asc-Datei, die Du per Mail verschicken, auf Deine Website legen oder in eine Signatur packen kannst. Diese Datei enthält ausschließlich den öffentlichen Teil.

Auf der Kommandozeile geht dasselbe so:

gpg --armor --export deine@adresse.at > publickey.asc

Willst Du jemandem eine verschlüsselte Mail oder Datei zusenden, benötigst Du dessen Public Key. Diesen findest Du in Kleopatra unter dem Menüpunkt „Datei” – „Auf Server suchen …”.

Fremden Schlüssel importieren und Fingerprint prüfen

Eine erhaltene .asc-Datei importierst Du per Doppelklick oder über Datei – Zertifikate importieren, auf der Kommandozeile mit:

gpg --import publickey-vom-partner.asc

Danach kommt der Schritt, den die meisten überspringen: die Prüfung des Fingerprints. Lass Dir ihn anzeigen und vergleiche ihn über einen zweiten Kanal mit dem Gegenüber, also per Telefon oder persönlich. Der Fingerprint ist die einzige verlässliche Zusicherung, dass der Schlüssel wirklich zur Person gehört.

gpg --fingerprint partner@example.com

Passt der Fingerprint, beglaubigst Du den Schlüssel in Kleopatra über Beglaubigen. Erst dann behandelt GPG ihn als vertrauenswürdig.

Datei verschlüsseln und entschlüsseln

In Kleopatra ziehst Du die Datei ins Fenster oder nutzt im Explorer den Rechtsklick auf Signieren und verschlüsseln. Dort wählst Du die Empfänger aus. Achte darauf, Dich selbst als zusätzlichen Empfänger einzutragen, sonst kannst Du Deine eigene Datei später nicht mehr öffnen.

Auf der Kommandozeile:

gpg --encrypt --recipient empfaenger@example.com datei.txt

Das Ergebnis ist datei.txt.gpg. Mit --armor bekommst Du stattdessen eine Textdatei, die sich in eine Mail kopieren lässt. Entschlüsselt wird mit:

gpg --decrypt datei.txt.gpg > datei.txt

GPG fragt dabei nach Deiner Passphrase.

Datei signieren und Signatur prüfen

Zum Signieren reicht:

gpg --sign datei.txt

Praktischer im Alltag ist eine abgetrennte Signatur mit --detach-sign --armor. Dabei bleibt die Originaldatei unverändert und Du bekommst eine kleine .asc-Datei daneben, die Du mitschickst. Der Empfänger prüft sie mit:

gpg --verify datei.txt.asc datei.txt

Die Ausgabe nennt Dir den Schlüssel und ob die Signatur gültig ist. Eine Warnung zum fehlenden Vertrauen taucht so lange auf, bis der Schlüssel beglaubigt wurde.

Backup des privaten Schlüssels und Widerrufszertifikat

Zwei Dinge erledigst Du am besten direkt nach dem Erzeugen des Schlüssels.

Erstens das Backup des privaten Schlüssels. In Kleopatra per Rechtsklick über Geheimen Schlüssel exportieren, auf der Kommandozeile:

gpg --armor --export-secret-keys deine@adresse.at > privatekey-backup.asc

Diese Datei gehört an einen sicheren Ort, etwa auf einen verschlüsselten USB-Stick im Safe. Sie ist durch Deine Passphrase geschützt, aber sie ist der Generalschlüssel zu allem, was für Dich verschlüsselt wurde.

Zweitens das Widerrufszertifikat. Damit erklärst Du einen Schlüssel für ungültig, wenn er kompromittiert wurde oder Du die Passphrase verloren hast:

gpg --output widerruf.asc --gen-revoke deine@adresse.at

Neuere GnuPG-Versionen legen so ein Zertifikat automatisch unter %APPDATA%\gnupg\openpgp-revocs.d ab. Sichere es getrennt vom Schlüssel-Backup, denn wer es besitzt, kann Deinen Schlüssel abschalten.

E-Mails in Outlook

Ist GpgOL installiert, erscheint beim Verfassen einer Mail eine Schaltfläche zum Verschlüsseln und Signieren. Vorhanden sein muss dafür der öffentliche Schlüssel des Empfängers. Kommt eine verschlüsselte Mail herein, entschlüsselt Outlook sie nach Eingabe der Passphrase automatisch. Anhänge werden mitverschlüsselt, der Betreff bleibt allerdings im Klartext.

Verwandte Beiträge

Über diesen Blog

Ein Sammelsurium an Denkanstößen.

Hier sammle ich Wissen, Argumente und Links zu allem, was mich beschäftigt — von Technik über Küche bis Nachhaltigkeit. Beruflich berate ich zu Cybersecurity.