OpenPGP ist ein offener, ausgereifter Standard für die Verschlüsselung und digitale Signatur von Daten, insbesondere von E-Mails und Dateien. Er schützt Informationen vor dem Zugriff Unbefugter und beweist, dass eine Nachricht unverändert vom angegebenen Absender stammt.
Wie es funktioniert
OpenPGP nutzt ein sogenanntes asymmetrisches Verschlüsselungsverfahren. Das bedeutet, dass jeder Nutzer ein eigenes Schlüsselpaar besitzt:
- Öffentlicher Schlüssel (Public Key): Dieser Schlüssel ist für alle Ihre Kontakte bestimmt. Jeder kann damit Nachrichten an Sie verschlüsseln oder Ihre digitalen Signaturen überprüfen.
- Privater Schlüssel (Private Key): Dieser Schlüssel bleibt geheim und wird sicher auf Ihrem Gerät gespeichert. Er wird benötigt, um an Sie gerichtete Nachrichten zu entschlüsseln oder selbst Signaturen zu erstellen.
Zentrale Anwendungsbereiche
- E-Mail-Verschlüsselung: Der Standard wird vorwiegend genutzt, um E-Mails abhörsicher zu versenden.
- Dateiverschlüsselung: Sie können lokale Dokumente oder Archive auf Ihrem Computer verschlüsseln, bevor Sie diese in die Cloud laden oder übertragen.
- Digitale Signaturen: Mit Ihrer Signatur stellen Sie sicher, dass eine Datei oder E-Mail nicht manipuliert wurde und tatsächlich von Ihnen stammt.
- Authentifizierung: Zum Beispiel bei SSH-Verbindungen, wo der Schlüssel einerseits die Basis für die verschlüsselte Übermittlung bildet und andererseits der Schlüssel als Ausweis und Benutzerkennung dient.
Welche Software nutzen?
Bei Windows empfiehlt sich das Paket GPG4WIN. Es bringt alle benötigten Pakete mit, um Schlüssel zu erzeugen, zu pflegen und Dateien zu Verschlüsseln. Herzstück ist die Anwendung Kleopatra, die auch mit externen Geräten (Key-Stick oder SmartCard) klar kommt.
Für MacOS gibt es GPG Suite, ebenfalls ein Paket mehrerer Anwendungen. Das Paket ist kostenlos, kann aber die Schnittstelle zur Apple-eigenen Mail.app, die mittlerweile kostenpflichtig ist, mitbringen. Hier ist es Geschmackssache, ob man diese nutzt.
Bei Linux-Distributionen gibt es GnuPG, ein mächtiges Tool, was die Schlüssel und die Funktionen systemweit zugänglich macht. Häufig ist es in den Paketquellen vorhanden und kann aus dem System mit wenigen Klicks oder bei ubuntubasierten Systemen mit „sudo apt-get install gnupg2“ installiert werden.
Das erste Schlüsselpaar erzeugen
Ich als Computer-Nerd bevorzuge die Bedienung mit der Kommandozeile. Grundsätzlich sind diese Befehle auf allen System möglich. Die drei obigen Programme bringen unterschiedliche grafische Oberflächen (GUI) mit sich, die bei der Schlüsselerstellung unterstützen. Ein Befehl zum Erstellen eines neuen Schlüsselpaares lautet:
gpg --full-generate-keyDarauf kommen diverse Rückfragen, auf die ich nun der Reihe nach eingehe:
1. Frage: Bitte wählen Sie, welche Art von Schlüssel Sie möchten
GnuPG zeigt dir eine Liste mit Zahlen (z. B. 1 für RSA, 9 für ECC, etc.).
- Deine Wahl: Wähle die Option für ECC (Elliptic Curve Cryptography) – meistens ist das die Nummer 9 (oder die Option, die „ECC und ECC (Standard)“ bzw. „Signieren und Verschlüsseln“ beschreibt).
- Warum? Elliptisch Kurven extrem schnell, ressourcenschonend und passen später perfekt auf andere Hardware, z. B. einen Nitrokey Start.
2. Frage: Bitte wählen Sie, welche elliptische Kurve Sie möchten
Jetzt will GnuPG wissen, welches mathematische Verfahren genutzt werden soll (z. B. Curve 25519, NIST P-256 etc.).
- Deine Wahl: Wähle Curve 25519 (wird oft als Option 1 angezeigt oder heißt im Text explizit ed25519 für das Signieren und cv25519 für das Verschlüsseln).
- Warum? Das ist der absolute moderne Open-Source-Standard (oft als EdDSA/X25519 bezeichnet), der maximale Sicherheit bei extrem kurzen Schlüssellängen bietet.
3. Frage: Bitte bestimmen Sie, wie lange der Schlüssel gültig bleiben soll
Hier fragt GnuPG nach dem Ablaufdatum (z. B. 0 für läuft nie ab, 2y für zwei Jahre).
- Empfehlung: Gib 2y (für 2 Jahre) oder 3y ein.
- Warum? Es gilt als Best Practice, den Schlüsseln und Unterschlüsseln ein Ablaufdatum zu geben. Du kannst dieses Datum später jederzeit (auch wenn der Schlüssel schon auf dem Stick ist) ganz einfach um ein weiteres Jahr verlängern. Solltest du den Stick mal verlieren, läuft der Schlüssel irgendwann von alleine ab.
4. Frage: Name und E-Mail-Adresse
- Ihr Name: Gib deinen echten Namen ein (oder den Namen, den die Empfänger sehen sollen).
- E-Mail-Adresse: Gib exakt die neue E-Mail-Adresse ein, für die dieser Schlüssel gelten soll.
- Kommentar: Kannst du komplett leer lassen (einfach Enter drücken).
Wichtig: Governikus bietet eine Beglaubigung des Schlüssels an. Das funktioniert aber nur, wenn der Name exakt dem Namen aus dem ausgelesenen neuen Personalausweis entspricht!
Anderes Extrem: Posteo: Posteo kann den Schlüssel in seine Dienste einbinden. Das funktioniert aber nur, wenn das Feld für den Namen leer bleibt.
Am Ende fragt dich GnuPG, ob alles korrekt ist. Wenn du das mit O (für Ok) bestätigst, öffnet sich ein Pop-up-Fenster, das dich nach einer Passphrase (einem sicheren Passwort) für diesen neuen Schlüssel fragt. Denk dir hierfür ein gutes, langes aber merkbares Passwort oder wenn Du blind schreiben kannst, einen flüssig schreibbaren Satz aus.
Am Ende wird Dir die Zusammenfassung angezeigt. Darunter auch eine 8 oder 16stellige ID. Kopiere diese in die Zwischenablage oder notiere sie Dir.
Verfeinerungen oder Ergänzungen des Schlüssels
Du besitzt nun ein Schlüsselpaar. Dein geheimer Schlüssel kann nun im Hauptschlüssel signieren. Weiter besitzt er einen Unterschlüssel, der Ver- und Entschlüsseln kann. Wenn Du irgendwann daran denkst, den Schlüssel auf eine Karte oder einen Stick zu portieren, um damit auch „Anmeldungen“ (z. B. SSH-Login) zu realisieren, brauchst Du einen weiteren Unterschlüssel mit dem Label „A“ wie Authentifikation.
Unterschlüssel A hinzufügen
Das passiert mit dem Code:
gpg --expert --edit-key DEINE_NEUE_ID Sobald du gpg –expert –edit-key DEINE_NEUE_ID eingegeben hast, befindest du dich in der interaktiven GPG-Konsole (erkennbar am Prompt gpg>).
Gehe dort einfach wie folgt vor:
1. Den Befehl zum Hinzufügen aufrufen
Tippe in der GPG-Konsole:
gpg> addkey2. Die richtige Schlüsselart wählen
GnuPG zeigt dir jetzt eine lange Liste von mathematischen Optionen.
- Suche nach der Option, die ECC (eigene Fähigkeiten wählen) bzw. ECC (set your own capabilities) anbietet. In der aktuellen GPG-Version ist das meistens die Nummer 11.
- Tippe also die entsprechende Nummer ein und drücke Enter.
3. Die Fähigkeiten anpassen (Ganz wichtig!)
Jetzt zeigt dir GPG den aktuellen Zustand des neuen Knopfs an. Standardmäßig steht dort meistens: Mögliche Operationen: Signieren. Darunter siehst du ein kleines Menü, um Fähigkeiten ein- oder auszuschalten:
- S – Signieren umschalten (Toggle signing)
- E – Verschlüsseln umschalten (Toggle encrypting)
- A – Authentifizieren umschalten (Toggle authenticating)
Da dieser Schlüssel ausschließlich für die Authentifizierung [A] da sein soll, müssen wir das Signieren ausschalten und die Authentifizierung einschalten:
- Tippe s und drücke Enter (damit wird das „Signieren“ deaktiviert).
- Tippe a und drücke Enter (damit wird „Authentifizieren“ aktiviert).
Prüfe die Anzeige: Dort muss jetzt stehen: Mögliche Operationen: Authentifizieren (und sonst nichts). Wenn das so aussieht, tippe q (für Finished/Quit) und drücke Enter.
4. Die Kurve und Gültigkeit wählen
Jetzt kommen die bekannten Fragen von eben:
- Kurve: Wähle wieder Curve 25519 (meistens Option 1 bzw. ed25519).
- Gültigkeit: Gib wieder denselben Zeitraum ein wie eben (z. B. 2y oder 3y), damit alle Unterschlüssel synchron laufen.
- Bestätigen: Bestätige die Abfragen mit y (Ja).
5. Speichern nicht vergessen!
Jetzt fragt dich Linux Mint noch einmal nach der Passphrase deines Hauptschlüssels, um den neuen Unterschlüssel zu signieren. Sobald das erledigt ist, bist du wieder im Hauptmenü gpg>.
Damit die Änderungen dauerhaft in deine GPG-Datenbank geschrieben werden, tippe zum Schluss unbedingt:
gpg> saveDanach wirft dich das Programm zurück in dein ganz normales Terminal. Wenn du danach gpg -K (großes K) tippst, solltest du deinen neuen Hauptschlüssel sehen, der nun stolz drei Unterschlüssel unter sich listet: [ssb] für Verschlüsselung, [ssb] für Signatur und ganz frisch [ssb] mit dem Merkmal [A] für Authentifizierung!
Bonus: Eine Foto-ID
Wenn Du magst, kannst Du ein Foto, 120 Pixel breit und 150 Pixel hoch, in den Schlüssel einfügen. Das macht den Schlüssel zwar größer, jedoch bekommen andere Leute evtl. dieses Foto als zusätzliche Informationen in ihrer Schlüsselverwaltung angezeigt. Es werden PNG- und JPG-Dateien akzeptiert. Bei JPG lohnt es sich, die Komprimierung hochzuschrauben, um die Dateigröße möglichst gering zu halten.
Es geht komfortabler mit einer grafischen Schlüsselverwaltung. Bei der Kommandozeile brauchen wir den exakten Pfad zur Bilddatei. In der Kommandozeile gibst Du ein:
gpg --edit-key deine.email@adresse.dedann im gpg> Menü den Befehl
gpg> addphotoDanach wird man nach dem Pfad gefragt und muss bestätigen, dass das Foto verwendet werden soll.
Anschließend erneut mit
gpg> savediese Änderung im Schlüssel speichern.
Jetzt sichern!
Wichtig ist, dass wir den Schlüssel sichern. Mit dem Computer kann ja auch etwas passieren oder der Schlüssel wird versehentlich gelöscht. Daher sollte eine Kopie des geheimen Schlüssels stets auf einem Datenträger (z. B. USB-Stick) an einem sicheren Ort liegen bleiben.
Öffne einfach dein Terminal und führe diesen Befehl aus:
gpg --export-secret-keys --armor <KEY-ID> > mein_geheimer_schluessel_backup.ascDamit andere Leute Dateien oder Mails an DICH verschlüsseln können, brauchen sie Deinen „öffentlichen Schlüssel“. Das funktioniert ebenso einfach. Einfach erneut in das Terminal gehen und eingeben:
gpg --armor --export deine.email@adresse.de > mein_oeffentlicher_schluessel.ascWas passiert hier genau?
- –armor: Sorgt für die typischen Hüllen-Zeilen —–BEGIN PGP PUBLIC KEY BLOCK—– am Anfang und Ende, damit du den Text einfach kopieren oder in Dokumente einfügen kannst.
- –export: Schnappt sich den öffentlichen Teil des Schlüssels (deine geheimen Schlüssel bleiben dabei völlig unangetastet).
- >: Leitet die Ausgabe direkt in eine neue Datei namens mein_oeffentlicher_schluessel.asc in dem Ordner um, in dem du dich gerade befindest (standardmäßig dein Home-Verzeichnis).
Diese .asc-Datei kannst du danach perfekt auf deinen Webspace laden, in deinen E-Mail-Footer packen oder als Anhang mitschicken!
Herzlichen Glückwunsch!
Du bist nun im Besitz eines Schlüsselpaares, was mehr kann als nur E-Mails verschlüsseln. Was wir damit tun können, teile ich bald in weiteren Beiträgen mit.












