Verantwortlich für Initiierung: IT-Sicherheitsmanagement, Administrator
Verantwortlich für Umsetzung: IT-Benutzer, Administrator
PGP (Pretty Good Privacy) ist ein weitverbreitetes Verschlüsselungsprogramm. Mit PGP können Nachrichten und Dateien ver- und entschlüsselt werden sowie mit einer digitalen Signatur (auch elektronische Unterschrift genannt) versehen werden, um unautorisierte Veränderungen an einer Nachricht bzw. Datei nachweisen zu können. Weiterhin können mit Hilfe von PGP die Aufgaben des Schlüsselmanagements wie z. B. Hinzufügen und Entfernen von Schlüsseln wahrgenommen werden.
Verschlüsselung und digitale Signatur
Bei PGP werden symmetrische und asymmetrische kryptographische Verfahren eingesetzt. Symmetrische wie IDEA dienen zur Datenverschlüsselung, asymmetrische wie Diffie-Hellmann zum Schlüsselaustausch oder RSA bzw. DSS zur Signaturbildung.
PGP erzeugt und verwendet öffentliche und private Schlüssel in sogenannten Schlüsselpaaren. Zu jedem privaten Schlüssel gibt es genau einen öffentlichen Schlüssel. Es ist praktisch ausgeschlossen, nur mit Kenntnis des öffentlichen Schlüssels den privaten Schlüssel zu errechnen. Eine Nachricht, die mit einem öffentlichen Schlüssel verschlüsselt bzw. mit dem privaten Schlüssel signiert wurde, kann nur mit dem zugehörigen privaten Schlüssel entschlüsselt bzw. mit dem öffentlichen Schlüssel des Absenders verifiziert werden. Der öffentliche Schlüssel kann jedem bekannt gemacht werden. Er dient dazu, Nachrichten an den Besitzer des privaten Schlüssels zu verschlüsseln.
Zum Nachweis von unautorisierten Manipulationen und somit zum Schutz vor Veränderungen einer Nachricht berechnet PGP unter Zuhilfenahme des privaten Schlüssels des Absenders einen Prüfcode über die Nachricht, die digitale Signatur. Jeder Kommunikationspartner kann mit Hilfe des öffentlichen Schlüssels des Absenders der Nachricht feststellen, ob der am Ende der Nachricht stehende Prüfcode zu der erhaltenen Nachricht paßt oder ob die Nachricht unautorisiert verändert wurde.
Empfehlenswert beim Einsatz von PGP ist die Kombination der beiden zuvor beschriebenen Funktionalitäten. Nachrichten bzw. Dateien sollten standardmäßig zunächst mit dem öffentlichen Schlüssel des Empfängers verschlüsselt werden und anschließend mit dem privaten Schlüssel des Absenders signiert werden, um einen höchstmöglichen Schutz zu erreichen.
Versionen
PGP steht für die verschiedensten Rechnerplattformen (Unix-Systeme, DOS, Windows NT/9x etc.) zur Verfügung. Die am häufigsten eingesetzten Versionen sind 2.6.3i, 5.x und 6.x. Die Versionen 5.x und 6.x sind mit einer graphischen Benutzeroberfläche ausgestattet, aber nicht abwärtskompatibel zu den Vorgängerversionen. Insbesondere beim Einsatz dieser PGP-Versionen unter Betriebssystemen der Windows-Familie ist zu beachten, daß die Sicherheitsmechanismen von PGP durch die Ausnutzung von Sicherheitsmängeln des Betriebssystems möglicherweiser unterlaufen werden können.
Aufgrund der fehlenden Abwärtskompatibilität ist es empfehlenswert, vor dem Austausch von verschlüsselten Nachrichten nachzufragen, welche PGP-Version von den Kommunikationspartnern verwendet wird. Die nach wie vor weit verbreitete Version 2.6.3i ist kommandozeilenorientiert, kann aber mit Zusatzprogrammen in graphische Benutzeroberflächen und Mail-Clients eingebunden werden. PGP kann über verschiedene Quellen bezogen werden, u. a. Public-Domain-Versionen von diversen WWW-, FTP- oder Mail-Servern.
Ab der Version 5 wurde die umstrittene Funktion "Corporate Message Recovery" (CMR) eingeführt. CMR bietet die Möglichkeit, Dateien oder Nachrichten, die von einer Person für eine zweite verschlüsselt wurden, gleichzeitig für eine dritte Person entschlüsselbar zu machen. Die Verwendung eines solchen "Drittschlüssels" kann durch die Konfiguration vom Administrator zwingend vorgegeben werden.
Aufgrund der gesetzlichen Exportrestriktionen für kryptographische Produkte in den USA sollte bei allen Versionen von PGP darauf geachtet werden, diese von europäischen Anbietern oder Servern zu beziehen.
Sichere Installation und Bedienung
Bei PGP werden zwar als sicher anerkannte kryptographische Verfahren eingesetzt, durch falsche Konfiguration oder Fehlbedienung kann es aber zu einer Abschwächung des Sicherheitsniveaus kommen. Die Installation und Konfiguration inklusive der Schlüsselgenerierung ist bei PGP wie bei den meisten komplexeren Kryptoprodukten nicht ganz einfach. Damit sich keine Bedienungsfehler einschleichen können, ist die Einarbeitung in das Produkt und in einige kryptographische Grundbegriffe notwendig.
Daher sollte sich in Organisationen ein Mitarbeiter in den Umgang mit PGP einarbeiten und als PGP- Ansprechpartner zur Verfügung stehen. Dieser sollte dann die anderen Benutzer in die sichere Bedienung von PGP einweisen, insbesondere sollten Verschlüsselung, Signatur und Schlüsselmanagement intensiv geübt werden, bevor ein Benutzer PGP verwendet. Weiterhin ist es empfehlenswert, daß innerhalb einzelner Organisationen eine einheitliche Version von PGP verwendet wird, um die zuvor beschriebenen Kompatibilitätsprobleme zu vermeiden. Zu PGP gehört eine umfangreiche Dokumentation, die vor der Verwendung von PGP gelesen werden sollte. Da erfahrungsgemäß nicht alle Benutzer die Geduld aufbringen, diese zu lesen, empfiehlt es sich, eine schriftliche Einweisung auszuarbeiten, die auf die Organisationseigenheiten angepaßt ist.
Falls Benutzer Fragen zu PGP haben, die über die mitgelieferte Dokumentation hinausgehen, gibt es diverse Möglichkeiten:
Schlüsselgenerierung
Jeder Benutzer erzeugt bei PGP sein "Schlüsselpaar" selber. Hierbei sollten folgende Punkte beachtet werden:
Bei der Schlüsselerzeugung muß eine sogenannte "Passphrase" (auch "Mantra" genannt) eingegeben werden, die die Datei mit den privaten Schlüsseln vor unbefugtem Zugriff schützt. Wie jedes Paßwort sollte auch dieses nicht leicht zu erraten sein.
Es kursieren z. B. trojanische Pferde, die gezielt die Datei mit den privaten Schlüsseln (SECRING.PGP) suchen und an Externe per E-Mail senden. Wenn dann die Passphrase zu einfach gewählt war, bietet sie Brute-Force-Angriffen (automatisiertes Paßwortraten) keinen ausreichenden Widerstand. Daher sollte die Passphrase mindestens aus zehn Zeichen bestehen und Sonderzeichen enthalten.
Zu den öffentlichen PGP-Schlüsseln gehört eine Benutzer-ID, die möglichst eindeutig sein sollte und zudem die E-Mail-Adresse enthält, z. B. benutzer@bsi.de.
Schlüsselaufbewahrung
Die privaten Schlüssel werden in der Datei SECRING.PGP gespeichert. Der Zugriff auf diese Datei ist zwar durch die Passphrase geschützt, trotzdem sollte sie nicht auf lokalen Netzen gehalten werden, nicht einmal auf nicht genügend gesicherten Stand-Alone-Systemen. Schlüsselringe (Sammlungen von Schlüsseln) sollten auf Diskette gespeichert werden, die der Benutzer sorgfältig verwahren muß. Der Einsatz von Chipkarten zur Schlüsselspeicherung ist vorzuziehen. Weiterhin sollte eine Sicherungskopie der Datei SECRING.PGP angelegt, sowie die Passphrase notiert werden. Die Sicherungskopie und die Passphrase sollten sicher und am besten getrennt verwahrt werden, damit nicht durch einen Festplattencrash oder durch Fehlbedienung der private Schlüssel verloren geht. Nachrichten, die mit dem öffentlichen Schlüssel verschlüsselt worden sind, lassen sich in diesem Fall nicht mehr entschlüsseln.Das Aufschreiben und Hinterlegen der Passphrase an einem gesicherten Ort sollten hierbei als kritischer Vorgang betrachtet werden, die ausschließlich der Notfallvorsorge dienen. Die abgeschlossene Schublade eines Schreibtisches oder ähnlich "sichere" Orte können keinesfalls als Aufbewahrungsort für den geheimen Schlüssel oder für die Passphrase empfohlen werden.
Schlüsselverteilung
Damit ein Empfänger die digitale Signatur eines Senders einer Datei überprüfen kann bzw. damit der Sender eine Nachricht für einen bestimmten Empfänger verschlüsseln kann, benötigt er den öffentlichen Schlüssel seines Kommunikationspartners. Diesen kann er auf verschiedene Weisen erhalten, z. B. per Attachment einer E-Mail oder von einem WWW-Server, er muß sich aber davon überzeugen, daß dieser Schlüssel wirklich zu der angegebenen Person gehört. Für eine kryptographisch abgesicherte Zuordnung einer Person zu ihrem öffentlichen Schlüssel werden Zertifikate verwendet, die ein vertrauenswürdiger Dritter vergibt.
Bei PGP kann jeder Benutzer die öffentlichen Schlüssel anderer Personen mit Zertifikaten beglaubigen. Ein Benutzer sollte einen öffentlichen Schlüssel aber nur dann zertifizieren, wenn er die Identität des Schlüsselinhabers kennt oder überprüft hat und der öffentliche Schlüssel persönlich übergeben wurde.
Alternativ kann die Echtheit eines öffentlichen Schlüssels auch über den sogenannten "Fingerprint" verifiziert werden. Hierbei wird eine Zahlenfolge (Hashwert) aus dem öffentlichen Schlüssel berechnet und an diesen angehängt. Nach Übersendung eines öffentlichen Schlüssels kann nun mit dem Absender diese Zahlenfolge, z. B. telefonisch, verglichen werden, um nach der Bestätigung des Fingerprints den übersandten öffentlichen Schlüssel zu zertifizieren.
Zertifizierungshierarchie - Web of Trust – Internet-Keyserver
Prinzipiell kann PGP sowohl in einer Zertifizierungshierarchie als auch in einem "Web of Trust" eingesetzt werden. Beim "Web of Trust" wird auf die Zertifikate anderer Benutzer vertraut, in einer Zertifizierungshierarchie beglaubigen vertrauenswürdige Dritte, sogenannte Zertifizierungsstellen, die Schlüssel aller ihrer Benutzer auf zuverlässige und nachvollziehbare Weise.
In einem Unternehmen oder einer Behörde sollte im Intranet eine Zertifizierungshierarchie aufgebaut werden. Der PGP-Betreuer sollte alle Schlüssel für seinen Organisationsbereich bzw. für die gesamte Organisation zertifizieren. Die zertifizierten öffentlichen Schlüssel sollten im Intranet auf einem Server allen Mitarbeitern zugänglich sein, der Zugriff auf diesen Bereich sollte dabei ausschließlich "lesend" (Read-only) sein. Die Methode des "Web of Trust" sollte nur für die private Kommunikation benutzt werden.
Im Internet können öffentliche PGP-Schlüssel auf sogenannten Keyservern eingestellt werden. Diese dürfen aber keinesfalls mit Zertifizierungsstellen verwechselt werden. Keyserver nehmen Schlüssel von überall in Empfang und verteilen sie auf Anfrage weiter. Es sollte klar sein, daß Schlüssel, die man von einem Keyserver erhält, von diesem in keiner Weise überprüft wurden.
Um die Echtheit eines öffentlichen Schlüssels, der auf einem Keyserver eingestellt wurde, nachzuprüfen, sollte dies mit Hilfe des bereits erwähnten Fingerprints durchgeführt werden.
Eigensignatur des öffentlichen Schlüssels
Durch die Selbstsignatur des öffentlichen Schlüssels wird nur die Benutzer-ID als Teil eines öffentlichen Schlüssels von PGP unterschrieben. Mit Hilfe dieser Selbstsignatur ist es möglich, einen Denial-of-Service-Angriff (siehe G 5.28 Verhinderung von Diensten) zu entdecken, dieser kann jedoch durch die Selbstsignatur des öffentlichen Schlüssels nicht verhindert werden. Da die Benutzer-ID eines öffentlichen Schlüssels nicht verschlüsselt ist, kann sie verfälscht werden. Dies hätte zur Folge, daß bei Verwendung dieses "verfälschten" Schlüssels, die verschlüsselten E-Mails den Eigentümer dieses Schlüssels nicht mehr erreichen, da sie an eine andere E-Mail-Adresse umgeleitet werden. Die Vertraulichkeit der verschlüsselten Nachricht wird hierdurch nicht gefährdet, da das Entschlüsseln der Nachricht ausschließlich mit dem privaten Schlüssel erfolgen kann.
Key Recovery
Falls die zur Verschlüsselung benutzten Schlüssel verloren gehen, sind im allgemeinen auch die damit geschützten Daten verloren. In den kommerziellen Versionen ab 5.0 bietet PGP Funktionen zur Datenwiedergewinnung für solche Fälle an. Diese Funktionen werden auch als Key Recovery bezeichnet. Diese Funktionalität kann durch Wiederherstellung gespeicherter, verschlüsselter Daten einem Datenverlust vorbeugen, wenn ein Schlüssel oder das Zugriffspaßwort verloren ging.
Wenn die Wiedergewinnungsfunktion genutzt werden soll, müssen ein oder zwei zusätzliche Schlüssel (ADK, Additional Decryption Keys) erzeugt werden. Bei der Schlüsselgenerierung werden diese "Nachschlüssel" an die neu erzeugten Schlüssel angebunden und alle Daten, die mit den neuen Schlüsseln verschlüsselt werden, enthalten zusätzlich eine Verschlüsselung des Sitzungsschlüssels mit den ADKs. So ist es im Notfall möglich, die Daten unter Verwendung dieser ADKs, ohne Nutzung des Originalschlüssels zu entschlüsseln. Damit bietet PGP die Funktion "Message Recovery" ohne zentrale Speicherung der Wiederherstellungsinformationen.
Die Nutzung des Key Recovery kann durch entsprechende Voreinstellungen der Clients erzwungen werden, so daß diese Funktionalität nicht von den einzelnen Benutzern unterlaufen werden kann. Allerdings hängt dann die Sicherheit der gesamten Verschlüsselung von der Vertraulichkeit der ADKs ab. Sind diese offengelegt, können alle Daten mit ihnen entschlüsselt werden.
Um einem Mißbrauch dieser höchst sensitiven Funktion vorzubeugen, ist es unabdingbar, daß die ADKs durch ein besonders sorgfältig ausgewähltes, sicher verwahrtes Paßwort geschützt werden. Zusätzlich können ab der PGP-Version 6.0 Schlüssel auch in mehrere Teile aufgeteilt werden, so daß zu ihrer Nutzung mehrere Personen gemeinsam aktiv werden müssen. Diese Form der Vier-Augen-Kontrolle sollte bei Einsatz von ADKs unbedingt genutzt werden. Als weiterer Schutz kann vorgesehen werden, daß Benutzer jedesmal gewarnt werden, wenn sie Daten mit einem Schlüssel verschlüsseln, an den ADKs angebunden werden.
Ehe PGP mit Key Recovery eingesetzt wird, sollten die Vor- und Nachteile gegeneinander abgewogen werden. Auf der einen Seite wird zwar einem Datenverlust durch Verlust des Schlüssels vorgebeugt, auf der anderen Seite entsteht ein zentraler Schwachpunkt des Verschlüsselungssystems. Diese Funktion sollte daher nur dann genutzt werden, wenn PGP zur Verschlüsselung gespeicherter Daten eingesetzt wird. Bei einer Nutzung rein für die Kommunikationssicherung kann bei einem Schlüsselverlust auch einfach erneut die E-Mail angefordert werden. Es sollte auch geprüft werden, ob als Alternative die Hinterlegung des Paßworts an einer sicheren Stelle in einem geschlossenen Umschlag und die Erstellung von Sicherheitskopien der privaten Schlüsseldateien nicht zu bevorzugen wäre.
Ergänzende Kontrollfragen:© Copyright by Bundesamt für Sicherheit in der Informationstechnik 2000.