Suche

PGP - Pretty Good Privacy

Thomas Konert, Studentische Hilfskraft der MNF

erschienen Juli 1997 in: Augsburg
Verlag: Selbstverlag
ISSN 1435-1684


In der heutigen Zeit stellt der Schutz der Privatsphäre einen wesentlichen Bestandteil der Gesellschaftsordnung dar. Zum Beispiel werden Sie zur Wahrung Ihrer eigenen Privatsphäre vertrauliche oder private Daten als Brief und nicht als Postkarte versenden, wenn nicht sogar im Einzelfall persönlich überbringen. Was heute der Brief ist, wird wahrscheinlich morgen die elektronische Post (eMail) sein. In einigen Bereichen ist dieses schon der Fall - an der Universität Augsburg werden täglich über 10000 eMails transportiert - und vielleicht schreiben auch Sie schon die eine oder andere Mitteilung in elektronischer Form. Beim elektronischen Postversand ist die Vertraulichkeit einer Nachricht jedoch nicht mehr selbstverständlich, deshalb will ich Sie durch diesen Beitrag auf das Softwarepaket PGP (Pretty Good Privacy) aufmerksam machen.

Verschlungene Wege

Eine gewöhnliche eMail wird im Klartext durch das Datennetz befördert und gelangt auch nicht zwangsläufig auf dem direkten Weg an ihr Ziel, sondern erreicht eventuell Rechner, deren Besitzern Sie Ihre Daten nicht unbedingt zukommen lassen wollen. Da eMail naturgemäß in maschinenlesbarer Form vorliegt, ist es ein Leichtes, einen solchen Datenstrom auf bestimmte Schlagworte hin zu durchsuchen. Auch eine große Anzahl von eMail-Paketen stellt dabei kein wesentliches Problem dar.

Um eine Nachricht wirkungsvoll zu schützen, kann diese verschlüsselt werden. Herkömmliche Verschlüsselungsverfahren (Single-Key-Verfahren) benutzen einen Schlüssel, der in Verbindung mit einer Verschlüsselungsvorschrift aus einer Nachricht ein wunderbares Durcheinander erzeugt. Dieses wird dann an den Empfänger gesendet, der unter Verwendung des geeigneten Entschlüsselungsverfahrens und desselben Schlüssels wieder an den Klartext gelangt. Der Knackpunkt an diesem Verfahren besteht darin, daß der Empfänger den Schlüssel benötigt. Dieser muß also auf einem sicheren Weg vom Absender zum Empfänger transportiert werden. Der Gewinn liegt darin, daß dieser sichere Kanal zum Zeitpunkt der Nachrichtenübermittlung nicht mehr vorhanden sein muß und daß mehrere verschiedene Nachrichten mit demselben Schlüssel übertragen werden können.

Public-key-Verfahren

Diesen Nachteil beheben sogenannte Public-Key-Verfahren, zu denen auch PGP gehört. Angenommen, Alice möchte eine Nachricht an Bob senden. Zur Vorbereitung benötigt Bob ein Schlüsselpaar, bestehend aus einem öffentlichen und einem privaten Schlüssel. Diese Schlüssel werden mit PGP erzeugt und sind so beschaffen, daß eine mittels des öffentlichen Schlüssels verschlüsselte Nachricht nur mit dem privaten Schlüssel entschlüsselt werden kann, und umgekehrt. Bobs privater Schlüssel wird von ihm geheim gehalten, während sein öffentlicher Schlüssel prinzipiell für jedermann zugänglich ist. Alice verschlüsselt nun die Nachricht für Bob mit dessen öffentlichen Schlüssel und sendet den so erstellten Ciphertext an Bob, der diesen mit seinem privaten Schlüssel entschlüsseln kann. Und Bob ist der einzige, der diesen Schritt durchführen kann, da sein privater Schlüssel nur ihm zugänglich ist. Wenn Alice ebenfalls über ein Schlüsselpaar verfügt, ist sie in der Lage, die Nachricht an Bob zu signieren, indem sie diese zuerst mit ihrem eigenen privaten Schlüssel und anschließend mit Bobs öffentlichen Schlüssel codiert. Bob ist wiederum der einzige, der mit seinem privaten Schlüssel die zweite Verschlüsselung aufheben und dann mit Alices öffentlichem Schlüssel prüfen kann, ob die Nachricht tatsächlich von ihr kommt. Eine Signatur entspricht dabei einer elektronischen Unterschrift unter der Nachricht. Selbstverständlich muß eine Nachricht nicht zwingend verschlüsselt werden, sondern kann auch nur signiert werden.

Die eigentliche Arbeitsweise von PGP ist ein wenig anders: Da die Verschlüsselung mittels eines Public-Key-Verfahrens zeitaufwendiger ist als bei den herkömmlichen Single-Key-Verfahren, wird die eigentliche Codierung mittels eines zufällig gewählten Schlüssels und eines sicheren Single-Key-Verfahrens durchgeführt. Anschließend wird dann dieser Schlüssel mittels der privaten oder öffentlichen PGP-Schlüssel verschlüsselt und zusammen mit der codierten Nachricht versandt. Der Empfänger entschlüsselt dann den Schlüssel für das Single-Key-Verfahren und mit diesem wiederum die eigentliche Nachricht. Dieser Schritt wird jedoch von PGP automatisch durchgeführt, ohne den Benutzer zu behelligen.

Schlüsselverwaltung

Der wesentliche Teil bei der Benutzung von PGP liegt in der Handhabung der verschiedenen Schlüssel bzw. Schlüsselpaare. Fehler bei der Verwaltung dieser Schlüssel stellen die größte Schwachstelle in PGP dar. Jeder Schlüssel wird in einem eigenen Schlüsselzertifikat gespeichert, das außer dem Schlüssel noch den Namen des Schlüsselinhabers, den Zeitpunkt der Schlüsselerzeugung und eine Schlüssel-ID (nur für den internen Gebrauch) enthält. Die Schlüssel-ID wird beispielsweise mit der codierten Nachricht versandt und dient zur Bestimmung des zur Decodierung zu verwendenden Schlüssels. Der private Schlüssel wird zudem noch durch ein frei wählbares Paßwort geschützt, so daß niemand außer dem Eigentümer diesen zur Signierung bzw. zur Entschlüsselung von eingehenden Nachrichten verwenden kann. Es wird dringend davon abgeraten, aus purer Bequemlichkeit ein einfaches Paßwort zu verwenden oder sogar ganz darauf zu verzichten.

Die verschiedenen Schlüsselzertifikate werden in zwei Dateien, Schlüsselringe genannt, gespeichert. Dabei werden die öffentlichen Schlüssel im Public-Ring und die privaten Schlüssel im Secure-Ring verwahrt. Diese Dateien sollte jeder Nutzer von PGP nur auf seinem eigenen Arbeitsplatzrechner haben oder auf einem Wechselmedium verwahren. Die Speicherung auf einem Multiuser-System, wie z.B. einer Unix-Workstation, birgt Risiken in sich. Jeder Benutzer sollte zudem sein eigenes Schlüsselpaar erzeugen und diesen Schritt auch nicht für jemand anderen durchführen.

Damit Alice eine Nachricht an Bob senden kann, benötigt sie Bobs öffentlichen Schlüssel. Dabei ist der entscheidende Punkt, daß dieser Schlüssel auch wirklich von Bob kommt und nicht von einem Dritten mit bösen Absichten stammt. Denkbar ist das folgende Szenario: Alice will Bob eine Nachricht senden, die Oscar der Böse mithören will. Bob schickt Alice zu diesem Zweck per eMail seinen öffentlichen Schlüssel, den Alice gutgläubig in ihren Public-Schlüsselring aufnimmt. Leider war Oscar schneller und hat Bobs eMail an Alice abgefangen und selber ein Schlüsselpaar mit Bobs Namen als Schlüsselinhaber erzeugt. Den öffentlichen Schlüssel dieses falschen Schlüsselpaares hat er dann an Alice weitergeschickt. Wenn nun Alice eine Nachricht an Bob sendet, fängt Oscar diese ab, decodiert sie mit dem gefälschten privaten Schlüssel, liest die Nachricht und codiert sie anschließend mit Bobs richtigem öffentlichen Schlüssel. Dann schickt er diese an Bob, der jetzt die Nachricht mit seinem privaten Schlüssel decodieren kann. Weder Alice noch Bob merken etwas von Oscars Lauschangriff. Ebenso kann Oscar auch falsche Nachrichten in Bobs Namen versenden oder von Bob gesendete Nachrichten manipulieren.

Manch einer wird dieses Szenario für etwas weit hergeholt halten, aber seien Sie beunruhigt: Wenn Oscar Zugriff auf einen geeigneten Rechner im Netz hat, kann er den ganzen Vorgang sogar automatisieren.

Zertifizierung

Aus diesem Grund gibt es zertifizierte Schlüssel in PGP, und man sollte bei der Zertifizierung große Vorsicht walten lassen. Ein neuer Schlüssel kann auf verschiedene Weise zertifiziert werden. Zum einen kann man dieses direkt durchführen, was man aber nur tun sollte, wenn man den Schlüssel persönlich vom Eigentümer erhalten hat. Ist der Eigentümer zu weit entfernt, so kann man zu einem Schlüssel einen sogenannten Fingerabdruck ausgeben lassen und z.B. telefonisch verifizieren. Auch kann man andere PGP-Benutzer des eigenen Vertrauens als Vermittler akzeptieren. PGP zertifiziert dann öffentliche Schlüssel, die diese Vermittler mit ihrem privaten Schlüssel signiert haben. Dabei kennt PGP verschiedene Stufen des Vertrauens, und auch die Anzahl der Vermittler für einen Schlüssel kann eingestellt werden.

Anwendung

PGP wurde auf verschiedenen Betriebsystemen implementiert. Das Programm pgp wird normalerweise von der Kommandozeile aufgerufen, wobei durch die Angabe von Optionen und Argumenten die durchzuführenden Aktionen spezifiziert werden. Da PGP meistens im Zusammenhang mit eMail verwendet wird, stehen in vielen Mail-Programmen Optionen für die Nutzung von PGP bereit.

Zum besseren Verständnis der Abläufe empfehle ich aber eine Beschäftigung mit der Kommandozeilenversion. Unerläßlich vor dem Einstieg ist die Lektüre der Programmdokumentation, die mit PGP geliefert wird. Zusätzlich zur Verschlüsselung bietet PGP noch die Möglichkeiten, Nachrichten zu komprimieren, 8-Bit codierte Zeichen in 7-Bit-Codierung zu wandeln und große Nachrichtenpakete auf mehrere kleine zu verteilen. Diese Zusatzfunktionen sind speziell für den eMail-Versand der Nachrichten von Bedeutung. Selbstverständlich kann man PGP auch nur zum Verschlüsseln der eigenen Dateien benutzen, um diese vor unautorisierten Zugriffen zu schützen.

Sicherheit von PGP

Wie sicher ist PGP? Ich kann die Sicherheit dieses Systems nicht beurteilen und verlasse mich somit auf die Aussagen von Philip Zimmermann, dem Entwickler von PGP. PGP gilt als sicherer als der Data Encryption Standard (DES), der in den meisten kommerziellen Anwendungen benutzt wird, aber inzwischen nicht mehr als unbrechbar gilt. DES benutzt eine Schlüssellänge von 56 Bits, wogegen der Verschlüsselungsalgorithmus IDEA von PGP 128 Bit-Schlüssel verwendet. Da es sich aber um zwei unterschiedliche Verfahren handelt, ist ein Vergleich der Schlüssellängen nicht sehr aussagekräftig. Untersuchungen des IDEA-Algorithmus haben aber gezeigt, daß er nur sehr schwer zu brechen wäre. Bei allen Überlegungen zur Sicherheit sollte man sich den Aufwand bewußt machen, der nötig wäre, eine verschlüsselte Nachricht zu entschlüsseln. Und wenn man zur Dechiffrierung eine mehrere Millionen DM teure Hardware benötigt, können Sie sich schon einigermaßen sicher fühlen. Zudem komprimiert PGP vor der Chiffrierung die Nachricht, was zu einer Minderung von Redundanzen führt und eine Kryptoanalyse zusätzlich erschwert. Für eine gute Sicherheit sollte man bei der Erstellung eines eigenen PGP-Schlüsselpaares eine Schlüssellänge größer gleich 1024 Bit angeben.

Ausblick

Weitere Informationen zu PGP können Sie über die Internationale PGP Home Page im World Wide Web unter der URL http://www.ifi.uio.no/pgp/ finden. Dort können sie auch die aktuelle Version als Freeware downloaden.

Derzeit gibt es Bestrebungen, eine wirkungsvolle Verschlüsselung von Daten zu verbieten. Dabei wird argumentiert, daß ohne ein Kryptographieverbot die Sicherheitsbehörden ihre Überwachungsbefugnisse nicht ausreichend wahrnehmen könnten. Dabei ist längst bekannt, daß ein Verschlüsselungsverbot leicht zu umgehen ist, zum Beispiel mittels Steganographie. Nutzen auch Sie die Möglichkeiten der Nachrichtenverschlüsselung und Signatur, um Ihre Nachrichten zu schützen und zu dokumentieren, daß die Verwendung von sicheren Verschlüsselungsmethoden nicht nur von Kriminellen praktiziert wird.

Literaturhinweis:

Simson Garfinkel, PGP Pretty Good Privacy, O'Reilly 1995, (Sign.: 80/ST 273 G231).