In diesem Abschnitt finden Sie die Schritte, die Sie üblicherweise durchführen, wenn Sie PGP zum ersten mal verwenden. Wir empfehlen Ihnen dringend, das Handbuch wenigstens zu überfliegen - zwingen können und wollen wir Sie natürlich nicht.
2.6.x, GnuPG, 5.0i Kommandozeile 5.0i Windows, 5.5.3i Windows, 6.0i Windows
Kommandozeile, S. , S. , S. , S. Windows, S. , S.
Kommandozeile, S. Windows, S.
Kommandozeile, S. , S. , S. , S. Windows, S. , S. , S.
GnuPG steht für "Gnu Privacy Guard", also "Gnu-Wächter für Privatsphäre", wobei das Akronym "Gnu" für "Gnu is not Unix" steht. GnuPG ist eine freie Implementation des OpenPGP-Standards, der aus dem Datenformat von PGP 5.x/6.x entwickelt wurde. Es ist derzeit unter den meisten Unix-Varianten und (mit leichten Einschränkungen) Windows 95/98/NT einsetzbar. PGP und GnuPG gestatten den Austausch von Nachrichten ohne Verzicht auf Privatsphäre, Authentifikation und Komfort.
Hierbei verstehen wir unter Privatsphäre, daß eine Nachricht nur von den gewünschten Adressaten gelesen werden kann, unter Authentifikation, daß eine Nachricht überprüfbarerweise von der Person stammt, von der sie zu stammen scheint (elektronische Unterschrift), und unter Komfort, daß der Anwender sich keine unnötigen Gedanken darüber machen muß, wo er welche Schlüssel aufbewahrt und welchen Schlüssel er zum Datenaustausch mit wem benutzt. Dies ist der hauptsächliche Schwachpunkt bei herkömmlicher Verschlüsselungssoftware.
Ebenfalls im Gegensatz zu herkömmlicher Verschlüsselungstechnik werden keine abhörsicheren Kanäle gebraucht, durch die Schlüssel ausgetauscht werden, da PGP ein System mit öffentlichen Schlüsseln nutzt. PGP verbindet die Bedienungsfreundlichkeit der öffentlichen Schlüssel mit der Geschwindigkeit konventioneller Kryptographie und verwendet Verfahren zur Generierung von Textprüfsummen, um elektronische Unterschriften zu erzeugen. Es komprimiert die Daten vor der Verschlüsselung, ist benutzerfreundlich, hat eine komfortable Schlüsselverwaltung und ist portabel. Sie können von Ihrem PC, der beispielsweise unter Windows NT läuft, einen Text verschlüsselt an einen Bekannten senden, der diesen auf seinem Amiga entschlüsseln kann. Oder Sie senden einen Text an die Uni, den Sie für wichtig halten und deshalb unterschreiben möchten - kein Problem; wenn die Uni PGP installiert hat, kann die Empfängerin Ihre Unterschrift auch auf einer Unix-Maschine prüfen. Und PGP ist schnell. PGP ist das Kryptographiesystem für Jedefrau und Jedermann.
PGP versendet seine Dateien nicht selbst, sondern beschäftigt sich ausschließlich mit dem Ver- und Entschlüsseln. Zum Versenden brauchen Sie weitere Programme, und zwar dieselben wie für nicht verschlüsselte Texte.
Nehmen wir einmal an, ich möchte Ihnen eine Nachricht schreiben, die sonst niemand lesen können soll. Hierzu kann ich die Nachricht "verschlüsseln" oder "codieren", das heißt, ich verändere sie nach einem ausgeklügelten System, so daß niemand etwas damit anfangen kann, ausgenommen Sie, die beabsichtigte Empfängerin oder der beabsichtigte Empfänger der Nachricht. Ich verwende einen Schlüssel, und Sie müssen diesen Schlüssel ebenfalls benutzen, um die Nachricht zu entschlüsseln. Zumindest bei herkömmlichen symmetrischen, also mit einem einzigen Schlüssel arbeitenden Systemen. Das Ganze funktioniert und ist mit erfreulich bescheidenem Aufwand sehr sicher zu machen - Banken, Geheimdienste, Militärs und andere arbeiten seit Jahren so. Dieser "Schlüssel" entspricht in etwa dem Schlüssel eines Safes. Das Verschlüsseln einer Nachricht entspricht dem Verschließen des Safes, das Entschlüsseln dem Öffnen. (Die hier genannten Safes lassen sich problemlos jederzeit erzeugen. Verschlossene Safes samt Inhalt zu kopieren, ist ebenfalls kein Problem. Aber das sind nun einmal angenehme Eigenschaften aller elektronischen Daten.)
Daß herkömmliche Systeme einen gemeinsamen Schlüssel zum Ver- und Entschlüsseln benutzen, bedeutet, daß dieser Schlüssel auf einem sicheren Weg zwischen Absenderin und Empfänger ausgetauscht werden muß. Das kann umständlich sein, vor allem, wenn Sie mit einem Menschen Kontakt aufnehmen möchten, den Sie nie getroffen haben. Außerdem: Wenn ein sicherer Weg existiert, um den Schlüssel auszutauschen, warum wollen Sie dann verschlüsseln? Sie könnten den sicheren Kanal doch auch für die Kommunikation nutzen. (Ein oder zwei Ausnahmen gibt es natürlich, z.B. könnten Sie sich treffen und anschließend erst Nachrichten austauschen oder Sie haben zwar einen sicheren Kanal, können aber nur wenige Daten darüber senden. Keinen sicheren Kanal zu benötigen, ist aber zweifelsohne von Vorteil.)
In Systemen mit öffentlichen Schlüsseln (asymmetrische Systeme) gibt es für jeden Teilnehmer ein Schlüsselpaar, bestehend aus einem öffentlichen und einem geheimen Schlüssel. Was mit dem öffentlichen Verschlüsselungsschlüssel verschlüsselt wurde, kann nur mit dem dazugehörigen geheimen Entschlüsselungsschlüssel entschlüsselt werden. Den öffentlichen Schlüssel zu kennen, reicht nicht aus, um die damit verschlüsselten Nachrichten lesen zu können, nicht einmal der Absender selbst kann das. Wenn symmetrische Systeme mit einem Safe verglichen werden, so entsprechen die asymmetrischen Systeme in dieser Hinsicht einem Briefkasten (mit der Sicherheit eines Safes): Jeder kann Nachrichten hineinstecken, aber nur berechtigte Personen können mit ihrem Schlüssel den Briefkasten öffnen und Nachrichten herausnehmen. Der öffentliche Teil des Schlüssels entspricht hier dem Kasten (wiederum in beliebiger Anzahl kopierbar), der private Teil dem Schlüssel, mit dem der Briefkasten sich öffnen läßt. Der geheime Schlüssel läßt sich nicht aus dem öffentlichen Schlüssel berechnen. Deshalb kann der öffentliche Schlüssel ohne Bedenken verbreitet werden (darum heißt er "öffentlich"), womit ein sehr viel geringerer Bedarf an sicheren Transportwegen besteht als bei herkömmlichen Systemen.
Da alle bekannten asymmetrischen Algorithmen merklich langsamer arbeiten als herkömmliche Verschlüsselungsalgorithmen, bietet es sich an, die eigentliche Verschlüsselung mit einem guten und schnellen herkömmlichen System vorzunehmen und den dabei verwendeten Schlüssel (was eine verschwindend geringe Datenmenge darstellt) mit einem asymmetrischen System an den Empfänger zu codieren. Diese Mischung aus zwei Verfahren nennt sich "hybrides Verschlüsslungssystem". PGP generiert für jede Verschlüsselung hierzu einen zufällig ausgewählten Schlüssel, der nur ein einziges Mal verwendet wird. Diesen Schlüssel werden wir im Folgenden "Sitzungs-Schlüssel" oder "session key" nennen. Mit diesem Schlüssel verschlüsselt PGP die Nachricht mit einem schnellen, guten, symmetrischen Verfahren. Anschließend wird dieser Sitzungs-Schlüssel mit dem öffentlichen Schlüssel des Empfängers codiert und zusammen mit der verschlüsselten Nachricht in eine Datei geschrieben. Der Empfänger kann nun mit Hilfe seines privaten Schlüssels den zufällig gewählten Schlüssel wieder entziffern und die gesamte Nachricht damit lesbar machen. Dieser ganze Vorgang wird dem Benutzer durch die Software abgenommen. Um im Bild zu bleiben: Der Absender verpackt die Nachricht in einen (frisch erzeugten) Safe mit zufällig gewähltem Schlüssel. Diesen Schlüssel steckt er in den Briefkasten des Empfängers und schickt beides auf die Reise. Der Empfänger öffnet den Briefkasten, nimmt den Schlüssel zum Safe heraus und öffnet den Safe.
Weiterhin bieten einige asymmetrische Verfahren die Möglichkeit, eine Nachricht zu "unterschreiben" ("digitale Unterschrift"). Hierzu kann der Absender einer Nachricht diese mit seinem privaten Signaturschlüssel codieren, und jeder Empfänger kann die Echtheit des Absenders mit dessen öffentlichem Signaturschlüssel prüfen. Gelingt dies, so ist die Nachricht mit dem privaten Schlüssel codiert, also unterschrieben worden. Die Absenderangabe ist dann echt. Das läßt sich jetzt nicht mehr gut mit der Briefkastenanalogie erklären; das Vorgehen entspricht mehr einem Schaukasten. Zettel, die im Schaukasten einer bestimmten Organistaion hängen, sind dadurch von dieser Organisation legitimiert, denn ohne den Schlüssel zum Kasten kann niemand Zettel hineinhängen. Der öffentliche Teil des Signaturschlüssels ermöglicht es, den Kasten selbst zu prüfen und festzustellen, wer ihn verschlossen hat.
Nebenbei bemerkt verwendet das Bundesverfassungsgericht PGP, um die auf www.bundesverfassungsgericht.de abgelegten Urteile zu signieren. Die entsprechende Signatur steckt in HTML-Kommentaren, Sie können sie also erst sehen, wenn Sie sich den Quelltext der Seite anzeigen lassen. Die Seite als HTML-Datei zu speichern und die Unterschrift zu prüfen, funktioniert aber.
Verschlüsselung und digitale Unterschrift können natürlich miteinander kombiniert werden, um Briefgeheimnis und Authentizität des Absenders zu gewährleisten: Die Nachricht wird zunächst mit dem eigenen privaten Signaturschlüssel signiert und diese unterschriebene Nachricht anschließend mit dem öffentlichen Schlüssel der Empfängerin codiert. Diese decodiert die Nachricht zunächst mit ihrem privaten Schlüssel und prüft anschließend mit dem öffentlichen Signaturschlüssel des Absenders die Unterschrift. PGP erledigt die einzelnen Schritte automatisch, ohne daß Sie sich um die Einzelheiten kümmern müssen.
Die Analogie wird jetzt ein wenig skurril: Stellen Sie sich die Situation einmal vor. Sie möchten eine Nachricht versenden, die nur ein bestimmter Empfänger lesen kann, bei der aber gesichert ist, daß sie von Ihnen stammt. Dann können Sie diese Nachricht in einen Glaskasten legen, bei dem jeder nachprüfen kann, daß er von Ihnen verschlossen wurde (Unterschrift). Diesen Kasten legen Sie dann in einen zufällig gewählten Safe (konventionelle Verschlüsselung) und den Schlüssel des Safes stecken Sie in eine Art Briefkasten des Empfängers. Anschließend schicken Sie den Briefkasten und den Safe mit dem Glaskasten drin an den Empfänger. Dieser kann nun (als Einziger!) den Briefkasten öffnen, ihm den Schlüssel entnehmen, damit den Safe öffnen und Ihre Nachricht lesen. Außerdem kann er durch den Glaskasten, in dem Sie die Nachricht in den Safe gelegt haben, verifizieren, daß die Nachricht tatsächlich von Ihnen stammt.
Viele Leute haben sich Gedanken gemacht und gefragt, ob die Verwendung eines symmetrischen Verfahrens die Sicherheit von PGP nicht beeinträchtigt. Dies ist nicht der Fall, denn um asymmetrische Verfahren auf ein Sicherheitsniveau zu bringen, das den in PGP verwendeten symmetrischen Verfahren entspricht, ist ein enormer Aufwand nötig. Der große Vorteil von asymmetrischen Verfahren wie RSA liegt nicht in der Sicherheit, die sie bieten, sondern in der enormen Vereinfachung der Schlüsselübergabe. Die Verwendung symmetrischer Algorithmen für die eigentliche Verschlüsselung schwächt PGP keinesfalls ab. Näheres hierzu finden Sie in Abschnitt .
Die Schlüssel werden in sogenannten Schlüsselzertifikaten ("key certificates") aufbewahrt, die außer dem Schlüssel selbst noch einen kurzen Text mit Namen und Netzadresse der "Inhaberin" und den Vermerk, wann der Schlüssel erzeugt wurde, enthalten. Der Text mit Namen und Netzadresse wird im folgenden "Benutzer-ID" genannt. "Public key certificates" enthalten die öffentlichen Schlüssel, während "secret key certificates" die privaten Schlüssel beinhalten. Private Schlüssel werden verschlüsselt gespeichert, um sie einem Angreifer, der die Datei kopiert, nicht schutzlos auszuliefern. Genaueres zum Aufbau und der Bedeutung eines Schlüsselzertifikates finden Sie in Abschnitt 4.1.
PGP benutzt zwei Dateien, in denen die Zertifikate aufbewahrt werden, eine für die öffentlichen und eine für die privaten. Diese Dateien können Sie mit (je) einem Schlüsselbund vergleichen; deswegen werden wir sie im Folgenden auch "Schlüsselbunde" nennen.
Die Software der Empfängerin entschlüsselt ankommende Nachrichten automatisch. Am Anfang einer PGP-verschlüsselten Nachricht stehen die Schlüsselkennungen der Empfänger. PGP sucht in der Datei mit privaten Schlüsseln nach einem passenden Schlüssel und entschlüsselt damit die Nachricht. Alles automatisiert.