Pretty Good Privacy (PGP) ist ein Computerprogramm, das kryptographischen Datenschutz und Authentifizierung bietet. PGP wird häufig zum Signieren, Ver- und Entschlüsseln von elektronischen Mails (E-Mails) verwendet, um die Sicherheit der E-Mail-Kommunikation zu erhöhen. Es wurde ursprünglich 1991 von Phil Zimmermann entwickelt.

PGP und andere ähnliche Produkte folgen dem OpenPGP-Standard (RFC 4880) zum Ver- und Entschlüsseln von Daten.

Wie PGP funktioniert

PGP basiert auf der Kombination von asymmetrischer (Public-Key-) und symmetrischer Verschlüsselung. Für die Hauptschritte gilt vereinfacht:

  • Jeder Benutzer erstellt ein Schlüsselpaar: einen privaten (geheimen) und einen öffentlichen Schlüssel.
  • Beim Verschlüsseln einer Nachricht erzeugt PGP einen zufälligen symmetrischen Sitzungsschlüssel, verschlüsselt damit die Nachricht (schnell) und verschlüsselt dann den Sitzungsschlüssel mit dem öffentlichen Schlüssel des Empfängers.
  • Beim Signieren erzeugt der Absender aus der Nachricht einen Hash (Prüfsumme) und verschlüsselt diesen Hash mit seinem privaten Schlüssel – das ergibt die digitale Signatur, die Integrität und Urheberschaft nachweist.
  • Der Empfänger entschlüsselt zuerst den Sitzungsschlüssel mit seinem privaten Schlüssel und dann die Nachricht mit dem Sitzungsschlüssel; bei signierten Nachrichten prüft er mit dem öffentlichen Schlüssel des Absenders die Signatur.

OpenPGP, Implementierungen und Kompatibilität

Der Standard OpenPGP (RFC 4880) beschreibt Formate und Verfahren, die von verschiedenen Implementierungen unterstützt werden. Wichtige Implementierungen sind:

  • GnuPG (GPG) – freie, weit verbreitete Implementierung, die häufig als Referenz genutzt wird.
  • Kommerzielle Produkte und Bibliotheken, die OpenPGP-kompatible Funktionen bereitstellen.

PGP/OpenPGP unterstützt verschiedene Algorithmen (z. B. RSA, ECC für asymmetrische Verschlüsselung; AES für symmetrische Verschlüsselung; SHA‑2 für Hashes). Bei der Auswahl sollten moderne und ausreichend starke Algorithmen und Schlüssellängen verwendet werden.

Anwendungsfälle

  • E‑Mail-Verschlüsselung und -Signatur: Schutz vor Mithören und Nachweis der Urheberschaft.
  • Dateiverschlüsselung: Sicheres Speichern und Weitergeben von Dateien.
  • Authentisierung von Softwarepaketen: Signieren von Releases und Verteilungen zur Integritätsprüfung.

Schlüsselverwaltung und Web of Trust

Ein zentrales Thema bei PGP ist die Verwaltung von Schlüsseln:

  • Key-Server: Öffentliche Schlüssel können auf Schlüsseldiensten veröffentlicht und abgerufen werden.
  • Web of Trust: Statt einer zentralen Zertifizierungsstelle vertrauen Nutzer einander durch gegenseitiges Signieren von Schlüsseln.
  • Fingerprints: Kurze Prüfsummen eines Schlüssels, die out-of-band (persönlich, telefonisch) verglichen werden sollten, um Man-in-the-Middle-Angriffe zu verhindern.
  • Revocation Certificate: Eine Widerrufserklärung, die man im Notfall (z. B. bei Schlüsselverlust) veröffentlicht, um den Schlüssel als ungültig zu markieren.

Praktische Nutzung mit E‑Mail

  • Viele E‑Mail-Programme unterstützen OpenPGP entweder nativ oder über Add‑ons (z. B. Thunderbird mit eingebauter OpenPGP-Unterstützung beziehungsweise früher Enigmail; Outlook mit Plugins).
  • Für die sichere Übermittlung sollte PGP/MIME verwendet werden, damit sowohl Anhänge als auch Inhalt korrekt verschlüsselt werden. Inline-PGP (reine Text-Block-Verschlüsselung) hat Einschränkungen bei Anhängen.
  • Wichtig: E‑Mail-Header wie Betreff, Absender/Empfänger und Metadaten bleiben meist unverschlüsselt; nur der Nachrichtenkörper und Anhänge werden geschützt.

Sicherheitsaspekte und Best Practices

  • Schützen Sie den privaten Schlüssel mit einer starken Passphrase und lagern Sie Backups sicher.
  • Erzeugen Sie ein Revocation Certificate unmittelbar nach der Schlüsselerstellung und bewahren Sie es separat auf.
  • Verwenden Sie zeitgemäße Algorithmen und ausreichend große Schlüssel (z. B. RSA ≥ 3072 Bit oder moderne ECC-Curven) und aktualisieren Sie Software regelmäßig.
  • Verifizieren Sie Fingerprints persönlich oder über einen anderen, vertrauenswürdigen Kanal.
  • Seien Sie sich bewusst, dass PGP Metadaten nicht schützt und dass Fehlkonfigurationen (z. B. falsche Integration in Clients) die Sicherheit beeinträchtigen können.

Einschränkungen und rechtliche Hinweise

PGP schützt den Inhalt von Nachrichten, aber nicht alle Informationen eines Kommunikationsvorgangs. Die Bedienung und Schlüsselverwaltung sind für manche Anwender komplex, was die Verbreitung einschränkt. In einigen Ländern können rechtliche Regelungen die Nutzung kryptographischer Software beeinflussen; die meisten Exportbeschränkungen haben sich jedoch in den letzten Jahren gelockert.

Kurze Befehlsbeispiele (GnuPG)

  • Schlüssel erzeugen: gpg --full-generate-key
  • Öffentlichen Schlüssel exportieren: gpg --export -a "Name" > pubkey.asc
  • Schlüssel importieren: gpg --import pubkey.asc
  • Datei verschlüsseln: gpg -e -r EmpfängerDatei file.txt
  • Signatur prüfen: gpg --verify file.sig file
  • Revocation-Zertifikat erstellen: gpg --gen-revoke KEYID > revoke.asc

PGP ist ein mächtiges Werkzeug zur Erhöhung der Privatsphäre und Authentizität in der digitalen Kommunikation. Mit geeigneter Schlüsselverwaltung und bewährten Sicherheitspraktiken lässt sich ein hoher Schutzstandard erreichen.