PGP - Pretty Good Privacy (OpenPGP)

PGP ist ein Sicherheitsstandard mit einem Verschlüsselungskonzept, dass von Phil Zimmermann 1991 erfunden wurde. Daraus hat sich eine kommerzielle Variante entwickelt, die mehrmals den Eigentümer gewechselt hat und inzwischen keine Rolle mehr spielt. Zu groß ist das Misstrauen, dass sich hier Hintertüren und Sicherheitslücken bei einem Eigentümerwechsel eingeschlichen haben.

Seit 1998 gibt es OpenPGP (RFC 4880), das auf PGP mit der Version 5 basiert. Wenn man von PGP spricht, dann meint man damit im Prinzip OpenPGP. Um Verwechslungen zwischen dem ursprünglichen PGP und OpenPGP zu vermeiden, verwendet man in Fachkreisen gerne auch die Bezeichnung GPG , wobei es sich dabei um die Software-Implementierung GNU Privacy Guard (GnuPG) von OpenPGP handelt.

PGP basiert auf einem gegenseitigen Vertrauensmodell zwischen Menschen, die ihren öffentlichen Schlüssel gegenseitig austauschen und die Identität und Vertrauenswürdigkeit bestätigen.
PGP bzw. OpenPGP ist ein Standard zur Verschlüsselung von E-Mails und Authentifizierung der Absender, der wohl am Besten funktioniert. Allerdings erfordert er ein wenig Einarbeitung und muss von den jeweiligen Kommunikationspartnern aktiv genutzt werden. Leider ist PGP nur wenig verbreitet.

Software: GNU Privacy Guard, Plugins und Erweiterungen

Seit 1999 gibt es für OpenPGP die quelloffene Software mit dem Namen GNU Privacy Guard, kurz GPG oder GnuPG, die für alle gängigen Betriebssysteme verfügbar ist. GnuPG basiert auf OpenPGP und ist die Nachprogrammierung (von Werner Koch) von PGP in Form einer freien Software. OpenPGP ist ein offener Standard, den die IETF als RFC herausgegeben hat.
Weil GnuPG nur per Kommandozeile zu bedienen ist, gibt es für die verschiedenen Betriebssysteme grafische Benutzeroberflächen, die die Bedienung vereinfachen.

GnuPG beschränkt es sich im Wesentlichen auf den Import von Schlüsseln und die Eingabe der Passphrase. Für die Integration in den E-Mail-Client bedarf es spezieller Erweiterungen, die nachinstalliert werden müssen. Die PGP bzw. GPG-Erweiterungen für die verschiedenen E-Mail-Clients setzen voraus, dass GnuPG installiert ist. Manchmal bringt GnuPG die Erweiterung für den E-Mail-Client mit. Aber nicht immer.

  • Microsoft Outlook: Plugin GpgOL (Gpg4win) oder Outlook Privacy Plugin
  • Apple Mail: GPG for Mail (GPGTools)
  • Thunderbird: integriert

Auf mobilen Endgeräten ist die Verschlüsselung von E-Mails schwierig. Insbesondere was die Sicherheit angeht. Bei einem Smartphone, dass man immer mit sich herum trägt, besteht das Problem, dass der geheime Schlüssel im Klartext gespeichert ist. Deshalb muss ein Smartphone so gesichert sein, dass keine Zugriffsmöglichkeit besteht, wenn es verloren geht. Es ist also zumindest ein Zugangsschutz per Passwort oder PIN erforderlich.
Dann ist da noch die Frage, wie man den geheimen Schlüssel ins Gerät importiert. Auf alle Fälle nicht im Klartext per E-Mail. Auch nicht über Cloud-Anwendungen. Besser per Import über einen PC.

  • iOS: nicht verfügbar
  • Android: Plugin AndroidPG (APG) mit dem Mailer K9 oder Kaiten, OpenPGP Keychain mit K9

Alle Benutzeroberflächen für GnuPG unterstützen leider nur eine Teilmenge der Funktionen, die GnuPG tatsächlich kann. Das Ver- und Entschlüsseln von E-Mails ist dabei überall integriert. Das Schlüsselmanagement, was ebenso wichtiger ist, ist meist sehr intransparent umgesetzt.

Funktionsweise von PGP

PGP bzw. OpenPGP ist ein Verschlüsselungskonzept, bei dem sich die Teilnehmer gegenseitig beglaubigen. Dabei wird auf eine zentrale Instanz verzichtet, die kompromittierbar wäre. Es gibt nur einige Keyserver, auf denen der öffentliche Schlüssel abgelegt ist.

Zwei der Hauptanwendungen von PGP sind die Signierung und die Verschlüsselung von E-Mails. Für die Verschlüsselung bedarf es einem Schlüsselpaar aus öffentlichen und privaten Schlüssel. Der private Schlüssel bleibt geheim. Der öffentliche Schlüssel wird veröffentlicht und dient zum Verschlüsseln der E-Mails. Die E-Mail kann dann nur vom Besitzer des privaten Schlüssels entschlüsselt werden.

Gleichzeitig dient der öffentliche Schlüssel als Signatur, mit der man die Echtheit einer E-Mail bestätigen kann. Denn es ist sinnlos, eine verschlüsselte E-Mail zu bekommen, wenn man nicht sicherstellen kann, dass sie tatsächlich vom angegebenen Absender stammt.

Deshalb muss der öffentliche Schlüssel von anderen PGP-Nutzern beglaubigt werden. Dabei beglaubigen die Teilnehmer die öffentlichen Schlüssel von ihnen bekannten Personen mit ihrem privaten Schlüssel. Gleichzeitig wird die Vertrauenswürdigkeit der Person-Schlüssel-Verbindung definiert.

Schlüsselpaar, Fingerabdruck und Schlüssel-ID

Schlüsselpaar, Fingerabdruck und Schlüssel-ID (PGP)

Jeder PGP-Nutzer besitzt ein Schlüsselpaar. Das Schlüsselpaar besteht aus dem öffentlichen (public key) und privaten Schlüssel (private key). Den öffentlichen Schlüssel bekommen die Teilnehmer, von denen man verschlüsselte E-Mails empfangen will. Der private Schlüssel bleibt geheim. Damit kann man die E-Mails, die mit dem eigenen öffentlichen Schlüssel verschlüsselt wurden, wieder entschlüsseln.

Jedes Schlüsselpaar hat zusätzlich eine Schlüssel-ID und einen digitalen Fingerabdruck (Fingerprint). Die Schlüssel-ID ist nicht zwangsläufig einmalig. Sie ist es nur zusammen mit dem Fingerabdruck. Anhand des Fingerabdrucks kann jeder einen öffentlichen Schlüssel auf Echtheit prüfen. Der Fingerabdruck ist eine Prüfsumme der Schlüsseldaten in hexadezimaler Form.

Signatur

Der öffentliche Schlüssel hat noch eine zweite Funktion, das Signieren. Damit lassen sich E-Mails digital unterschreiben, um ihre Echtheit zu beglaubigen.
Dabei erstellt der E-Mail-Client mit der PGP-Erweiterung über den Inhalt der E-Mail eine Prüfsumme (Hash-Wert). Abschließend signiert der Nutzer diesen Hash mit seinem geheimen Schlüssel. Mit dem dazugehörigen Public-Key kann der Empfänger die Signatur überprüfen (Signatur verifizieren).
Der E-Mail-Client beim Empfänger erzeugt beim Empfang ebenfalls einen Hash, entschlüsselt den vom Sender erstellen Hash mit dessen öffentlichen Schlüssel und vergleicht beide Hash-Werte. Sind sie gleich, dann wurde der Inhalt der Mail beim Versand nicht manipuliert. Der Sender der Mail ist also tatsächlich der Absender.

Zusammen mit der E-Mail-Adresse kann der Empfänger von E-Mails prüfen, ob eine E-Mail tatsächlich von der Person kam, die sie verschickt hat. Die Verschlüsselung wäre wertlos, wenn nicht sichergestellt ist, dass mit der richtigen Person kommuniziert wird. Ist die Identität nicht sichergestellt, dann man sich die Verschlüsselung sparen.

Web of Trust

Web of Trust (PGP)

Während bei SSL/TLS oder S/MIME eine zentrale Instanz, eine Zertifizierungsstelle (Certification Authority, CA) die Vertrauenswürdigkeit eines Schlüssels bestätigt, beruht PGP auf den gegenseitigen Vertrauensverhältnisse der Nutzer untereinander. Dazu muss jeder PGP-Nutzer die öffentlichen Schlüssel der von ihm vertrauenswürdigen Personen mit seinem privaten Schlüssel beglaubigen. Das bedeutet, der PGP-Nutzer bestätigt, dass der öffentliche Schlüssel garantiert der Person gehört, die den Schlüssel veröffentlicht hat.
Die Prüfung kann dabei durch ein telefonisches Erfragen des Fingerabdrucks oder durch Ausweiskontrolle erfolgen. Ein selbst geprüfter Schlüssel ist zum Beispiel ein "direct trust". Zusätzlich lässt sich die Vertrauenswürdigkeit einer Person festlegen.

Der Vorgang der Beglaubigung öffentlicher Schlüssel anderer Personen scheint auf den ersten Blick umständlich zu sein. Doch durch die gegenseitige Beglaubigung entsteht ein Netz des gegenseitigen Vertrauens. Man bezeichnet das als "Web of Trust (WoT)". Während man auf diese Weise immer vertrauenswürdiger wird, werden die anderen ebenfalls vertrauenswürdiger. Solange eben, bis das Vertrauen entzogen wird.
Dieses Netz hilft bei der Bewertung einer unbekannten Person mit einem unbekannten Schlüssel. Dabei kommt man ohne zentrale Instanz aus. Die Einschätzung erfolgt dabei automatisch im Hintergrund. Die Software ermittelt eine sogenannte "Key-Legitimacy" aus den Daten von Personen, die in Verbindung mit dieser Person-Schlüssel-Kombination stehen.
Damit das Vertrauensnetz funktioniert, müssen die Nutzer ihr Vertrauensnetz kontrollieren, pflegen und laufend erweitern.

Der Aufbau eines eigenen Vertrauensnetzes ist ungefähr so aufwendig, wie das Aufbauen eines Kontaktenetzwerks in Xing oder Facebook. In der Regel ist es aber so, dass es bei weitem nicht so viele Personen gibt, die über einen eigenen PGP-Schlüssel verfügen. Deshalb gibt es in größeren Städten Cryptopartys, bei denen sich Einsteiger Hilfe von Profis bei der E-Mail-Verschlüsselung geben lassen können und gleichzeitig gegenseitig den öffentlichen Schlüssel beglaubigen. Auf diese Weise baut man sich relativ schnell einen eigenen Web of Trust und wird gleichzeitig ein Teil anderer Vertrauensnetze.

Keyserver

Keyserver (PGP)

Keyserver speichern und veröffentlichen öffentliche Schlüssel und die zugehörigen Beglaubigungen. Die Keyserver sind miteinander vernetzt und tauschen ihre Daten aus. Die meisten Keyserver basieren auf der Software "Synchronizing Key Server (SKS)".
Den eigenen öffentlichen Schlüssel auf einen Keyserver hochzuladen ist die typische Vorgehensweise, um ihn zu veröffentlichen. Neben dem eigenen Schlüssel lädt man auch die Beglaubigungen fremder Schlüssel hoch und lädt sich von dort die Beglaubigungen und Widerrufe der fremden Schlüssel herunter, von Personen mit denen man eine verschlüsselte Kommunikation pflegt. Man bezeichnet die eigene Sammlung von öffentlichen Schlüsseln als "public keyring", die der Nutzer regelmäßig mit einem Keyserver synchronisieren bzw. aktualisieren sollte.
Bis alle Keyserver die Änderungen übernommen haben, kann es einen Tag dauern. Bis alle befreundeten Kommunikationspartner die eigenen Änderungen übernommen haben, kann es mehrere Tage dauern.

Wie sicher ist PGP / OpenPGP / GnuPG?

PGP ist ein vergleichsweise komplexes Verfahren, weshalb es viel Angriffsfläche bietet und dem zu Folge auch viele bekannte Schwachstellen hat. Das bedeutet nicht, dass es grundsätzlich unsicher ist, sondern dass es für bestimmte Anwendungsfälle sicher genug oder nicht sicher genug ist. Zur Beurteilung ist PGP auf verschiedenen Ebenen zu betrachten.

  • Metadaten einer E-Mail
  • Kompromittierung der Endgeräte
  • Schlüsselmanagement und Web of Trust
  • Nutzerfehler
  • Softwarefehler

Metadaten einer E-Mail

Der Inhalt einer E-Mail wird verschlüsselt übertragen und auch gespeichert. Aber nicht die Metadaten, wie Sender, Empfänger, Betreff, Datum, Zeit, Größe oder IP-Adresse. Es ist zusätzlich eine Transportverschlüsselung notwendig. Und die genannten Daten werden im Klartext gespeichert (Server und E-Mail-Client).

Kompromittierung der Endgeräte

Um an den Klartext zu kommen muss der Angreifer eine Schadsoftware auf den Rechner bekommen. Aber erst in dem Moment, in dem die E-Mail geöffnet wird, wäre sie auch für den Angreifer lesbar. Das ist allerdings ein schwer ausführbares Szenario.

Schlüsselmanagement und Web of Trust

Bei PGP gibt es verschiedene Schwierigkeiten auf der Nutzerseite. Es fängt damit an, dass sich der Nutzer um das Schlüsselmanagement kümmern und sich ein Web of Trust aufbauen muss. Wer Social Networks nutzt, der wird keine Schwierigkeiten haben das Trust-Modell zu verstehen und zu leben. Ganz anders sieht es für den Normalanwender aus. Für den ist das nicht so einfach zu verstehen.
Das Hochladen des eigenen öffentlichen Schlüssels auf einen Keyserver hat zur Folge, dass man dadurch sein soziales Netzwerk öffentlich zugänglich macht. PGP legt die Kontakte offen, die sich gegenseitig als vertrauenswürdig eingestuft haben. Im Privatbereich ist das vielleicht gerade noch akzeptabel. Aber man möchte vermeiden Kunden- oder Lieferantenbeziehungen im geschäftlichen Umfeld offenzulegen.

Nutzerfehler

Desweiteren ist PGP nur so sicher, wie die einzelnen Nutzer in der Lage sind ihren privaten Schlüssel und das dazugehörige Passwort geheimzuhalten. Die Verschlüsselung kann nur dann als sicher gelten, wenn der Besitzer des privaten Schlüssels jederzeit sicherstellen kann, dass niemand anderes in den Besitz des privaten Schlüssels und des dazugehörigen Passworts gelangen kann.

Softwarefehler

Bei der Nutzung von Software kommt hinzu, dass sie Fehler enthalten kann, die es ermöglichen, Verschlüsselungen zu brechen, Signaturen zu manipulieren oder dass gesamte Sicherheitsverfahren manipulierbar ist.

Sicherheit in der Netzwerktechnik

E-Mail-Kommunikation und -Protokolle

Sichere E-Mail-Kommunikation

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Artikel-Sammlungen zum Thema Netzwerktechnik

Collection: Netzwerk-Sicherheit

Was du über Netzwerk-Sicherheit wissen solltest.

eBook kaufen

Collection: Netzwerk-Grundlagen

Was du über Netzwerk-Grundlagen wissen solltest.

eBook herunterladen

Collection: IPv6

Was du über IPv6 wissen solltest.

eBook kaufen

Schützen Sie Ihr Netzwerk

TrutzBox

Die TrutzBox enthält einen leistungsstarken Content-Filter, der Werbetracker blockiert und vor Schadcode auf bösartigen Webseiten schützt.
Alle Internet-fähigen Geräte, egal ob Desktop-PCs, vernetzte Produktionsanlagen und IoT-Geräte, werden vor Überwachung durch Tracker, Einschleusen von Schadsoftware und dem unbedachten Zugriff auf bösartige Webseiten geschützt.

  • Sicheres Surfen mit Content-Filter und Blocker gegen Werbetracker
  • Mehrstufige Sicherheitsarchitektur mit Stateful-Inspection-Firewall und Intrusion-Prevention-System
  • Laufende Aktualisierung gegen neue Bedrohungen

Bestellen Sie Ihre TrutzBox mit integriertem Videokonferenz-Server jetzt mit dem Gutschein-Code "elko50" und sparen Sie dabei 50 Euro.

Mehr über die TrutzBox TrutzBox jetzt mit Gutschein-Code bestellen