So weit, so gut, aber leider hat, was keiner wußte, Charlie eine Möglichkeit gefunden, um sich selbst auf dem Weg einzuhängen. (Das ist nicht wirklich schwierig.) Charlie hat also eine Möglichkeit, den gesamten E-Mail-Verkehr von und zu Alice abzufangen, zu verändern oder einfach mitzulesen. Er ersetzt den von Alice veröffentlichten Schlüssel durch einen öffentlichen Schlüssel, den er selbst erzeugt hat. Da dieser Schlüssel natürlich die ID von Alice trägt, verwenden Sie ihn, Charlie fängt die Nachricht ab, liest sie und schickt sie dann entweder - mit Alices wirklichem öffentlichen Schlüssel codiert - weiter, verändert sie eventuell zwischendurch, oder schickt sie überhaupt nicht weiter. Da er den privaten Schlüssel für den Schlüssel hat, von dem Sie glauben, er sei Alices, kann er dies alles tun. Alice erhielt natürlich ebenfalls einen falschen Schlüssel, als sie Ihren erhalten wollte, so daß auch das Unterschreiben von Nachrichten ohne Probleme zu fälschen ist und Alices Nachrichten an Sie ebenso abgefangen werden können.
Vielleicht kennen Sie aber jemanden, dem Sie vertrauen und der zufällig gerade nach Norwegen in Urlaub fährt. Diesem netten Menschen könnten Sie dann ja Ihren öffentlichen Schlüssel mitgeben, und er würde Ihnen Alices bringen. Falls Alice den Menschen nicht zufällig ebenfalls gut kennt, kann sie zwar immer noch nicht sicher sein, daß der Schlüssel, den sie hat, von Ihnen ist, aber Sie können relativ sicher sein.
Nun ist es aber eher unpraktisch, zu allen E-Mail-Bekanntschaften Freunde hinzuschicken oder selber hinzufahren, um Schlüssel auszutauschen. Daher bietet PGP die Möglichkeit, Schlüssel/""Benutzer-Zuordnungen zu "unterschreiben".
Nehmen wir einmal an, Sie kennen außer Alice auch noch deren Halbbruder David. David hat Sie letzten Sommer besucht und bei der Gelegenheit seinen öffentlichen Schlüssel dagelassen. Unterschreibt David nun Alices öffentlichen Schlüssel, können Sie - wenn Sie ihm nicht zutrauen, daß er einen falschen oder zweifelhaften Schlüssel unterschreiben würde - davon ausgehen, daß der Schlüssel authentisch ist.
David würde also Alices öffentlichen Schlüssel unterschreiben, und Alice könnte diesen unterschriebenen Schlüssel versenden. Zwar kann Charlie den Schlüssel abfangen und durch seinen eigenen ersetzen, aber er kann nicht Davids Unterschrift unter diesen Schlüssel setzen. Selbst wenn er einen von David signierten Schlüssel hat, den David ihm unterschrieben hat, nützt ihm das nichts, da eine Unterschrift immer eine Zuordnung von ID und Schlüssel bestätigt.
Es wäre sogar möglich, daß eine weithin bekannte und allgemein als vertrauenswürdig eingestufte Person sich darauf spezialisiert, derartige Unterschriften zu leisten. Diese Person könnte also als "Beglaubigungsstelle" arbeiten. Jeder, der sich an diesem Konzept beteiligen möchte, braucht nur den öffentlichen Schlüssel dieser Instanz (der natürlich auf extrem vertrauenswürdigen Kanälen zu ihm kommen muß) zu kennen und kann damit alle Unterschriften überprüfen.
Dieses Konzept ist vor allem für große, zentral gesteuerte Einrichtungen, wie Betriebe oder staatliche Verwaltungsapparate interessant. Hierzu ist vielleicht auch Abschnitt 6.4 über das deutsche Gesetz zu digitalen Unterschriften interessant. PGP zielt mehr auf ein dezentrales Beglaubigungssystem, in dem jeder Benutzer die Schlüssel derjenigen Leute, die er persönlich kennt oder die er auf Kongressen oder sonstwo trifft (und über deren Identität er sicher ist), unterschreibt. Das spiegelt eher den natürlichen Umgang mit Mitmenschen wider und bietet jedem die Möglichkeit, selbst zu entscheiden, wem er vertraut, wenn es um glaubwürdige Unterschriften geht.
Von der Echtheit eines Schlüssels können Sie überzeugt sein, wenn Sie ihn direkt von seinem Besitzer bekommen haben, oder wenn er von einer Person unterschrieben ist, der Sie vertrauen, und von der Sie einen Schlüssel haben, der mit Sicherheit echt ist.
Daraus folgt auch:
Denken Sie auch daran, daß eine Unterschrift unter einem Schlüssel nichts darüber aussagt, wie vertrauenswürdig die Person ist, deren Schlüssel Sie unterschrieben haben, sondern daß die Unterschrift nur dafür bürgt, daß dieser Schlüssel wirklich zu der Person gehört. Einen Schlüssel als echt anzusehen ist eine Sache, dem Besitzer des Schlüssels zu vertrauen, eine andere. Mit PGP 6.0 haben Sie zusätzlich die Möglichkeit, in eine Unterschrift hineinzuschreiben, die betreffende Person sei vertrauenswürdig.
Vertrauen ist nicht unbedingt übertragbar: Nehmen wir an, ich vertraue einem Freund und bin mir sicher, daß er nicht lügt. Wenn er nun sicher ist, daß der US-Präsident nicht lügt, muß ich nicht notwendigerweise davon ausgehen, daß das stimmt. Wenn ich Davids Unterschrift unter Alices Schlüssel vertraue und David Alices Unterschrift unter Charlies Schlüssel vertraut, brauche ich noch lange nicht Charlies Schlüssel als echt anzusehen.
Daher ist es sinnvoll, unter seinem eigenen Schlüssel einigermaßen viele Unterschriften zu sammeln und den so signierten Schlüssel möglichst öffentlich zu verbreiten. Gute Methoden zum Verbreiten eines Schlüssels sind beispielsweise entsprechende Foren in Computernetzen (z.B. /Z-NETZ/ALT/PGP/SCHLUESSEL) oder die "public key server" im Internet, z.B. pgp-public-keys@informatik.uni-hamburg.de. Wenn Sie einen Schlüssel unterschreiben, dann sollten Sie diesen mit Unterschrift an den Besitzer schicken.
PGP überwacht selbsttätig, welche Schlüssel in Ihrem Bund ausreichend mit Unterschriften bestätigt sind, die von Leuten geleistet wurden, die Sie als vertrauenswürdig eingestuft haben. Sie müssen PGP nur mitteilen, welche Leute Sie als vertrauenswürdig einstufen. Haben Sie selbst diese Schlüssel unterschrieben und somit für Ihr PGP voll bestätigt, können Sie mit Hilfe einer oder mehrerer Unterschriften unter einem Schlüssel, den Sie neu kriegen, diesen direkt als bestätigt einstufen lassen. Wie gesagt, vollautomatisch.
Weitere Informationen zum Unterschreiben fremder Schlüssel und den Folgerungen, die PGP aus diesen Unterschriften zieht, finden Sie im Abschnitt 7.3.
Da der eigene öffentliche Schlüssel als Aufhänger aller Vertrauensketten derjenige ist, der am besten geschützt sein muß, bietet PGP die Möglichkeit, diesen mit einer Sicherheitskopie zu vergleichen, die auf einem schreibgeschützten Medium (Diskette mit Schreibschutz, Lochstreifen, CD) gespeichert sein sollte. Für nähere Informationen lesen Sie bitte Abschnitt 14.
PGP geht normalerweise davon aus, daß Sie Ihre Schlüssel sorgsam verwalten und vor herumstreunenden Kindern und Bösewichten schützen. Wenn jemand an Ihre Schlüsselbunde herankommt und sie manipulieren kann, wird er aller Wahrscheinlichkeit nach dasselbe mit dem PGP-Programm tun können und es so verändern, daß alle Schutzmechanismen wirkungslos sind.
Eine zugegebenermaßen eher umständliche Methode, die Sammlung öffentlicher Schlüssel vor Manipulation zu schützen, ist die, die Schlüsselbunde mit dem eigenen (privaten) Schlüssel zu unterzeichnen. Beispielsweise könnten Sie mit der Option -sb eine abgelöste Unterschrift für Ihren öffentlichen Schlüsselbund erzeugen (siehe Abschnitt 15.2). Diese bleibt natürlich nur so lange gültig, bis Sie einen neuen Schlüssel aufnehmen oder eine andere Änderung vornehmen.
Leider müßten Sie dann immer noch eine glaubwürdige Kopie Ihres eigenen Schlüssels zur Hand haben, um die Unterschrift prüfen zu können. Dem Schlüssel in der signierten Datei können Sie nicht vertrauen, da ein Mensch, der diesen Schlüssel fälscht, ebensogut eine neue Unterschrift erzeugen kann. Das ist viel einfacher, als einen Schlüssel an sich zu bringen.
PGP verwendet zwei verschiedene Kriterien, um Schlüssel einzustufen, bitte bringen Sie sie nicht durcheinander:
Die Antwort auf Frage 1 berechnet PGP, wobei Ihre Antworten auf Frage 2 für andere Benutzer zu Rate gezogen werden. Die Antwort auf die zweite Frage kann PGP nicht selbständig finden, sondern Sie müssen sie geben. Geben Sie bei Frage 2 für einige ausgewählte Benutzer als Antwort "Ja" oder "Na ja, einigermaßen", dann kann PGP Frage 1 für andere Schlüssel bejahen, die von diesen ausgewählten Benutzern unterschrieben wurden. Schlüssel, die von vertrauenswürdigen Personen unterschrieben wurden, werden von PGP als echt eingestuft. Um als vertrauenswürdig gelten zu können, muß ein Schlüssel von PGP als echt angesehen werden, also entweder von Ihnen selbst oder anderen vertrauenswürdigen Personen signiert sein - schließlich macht es keinen Sinn, einem Schlüssel zu vertrauen, von dem Sie nicht wissen, ob er der angegebenen Person wirklich gehört.
Sie müssen aber nicht allen Leuten gleich weit vertrauen. PGP bietet die Möglichkeit, verschiedene Stufen des Vertrauens zu vergeben. Ihre Einstufung einer Person in Bezug auf Glaubwürdigkeit sollte nicht nur Ihre Einschätzung der allgemeinen Zuverlässigkeit dieser Person widerspiegeln, sondern auch Ihre Einschätzung darüber, wie gut die Person das Prinzip der Unterschriften verstanden hat und wie ernst sie die damit verbundene Verantwortung nimmt. Sie können einer Person (genauer: Einem als echt eingestuften Schlüssel einer Person) die Vertrauensstufen "ich weiß nicht", "nein", "meistens ja" oder "ja" geben. Diese Information wird mit dem Schlüssel zusammen in Ihrer Sammlung gespeichert, aber wenn sie einen Schlüssel aus Ihrem Schlüsselbund herauskopieren, wird diese Angabe nicht mitkopiert. Ihre private Meinung geht schließlich niemanden etwas an, wenn Sie sie nicht ausdrücklich mitteilen wollen.
Wenn PGP einen Schlüssel auf seine Gültigkeit hin untersucht, zieht es die Vertrauenslevel aller Schlüssel zu Rate, mit denen dieser Schlüssel unterschrieben wurde. Sie können einstellen, wie viele Unterschriften von welcher Glaubwürdigkeit gebraucht werden, um einen Schlüssel zu bestätigen. In der Standardeinstellung hält PGP einen Schlüssel für echt, wenn er von einer mit "ja" eingestellten Unterschrift geziert wird oder wenn er zwei Unterschriften mit der Einstellung "meistens ja" trägt.
Der eigene öffentliche Schlüssel gilt definitionsgemäß als vertrauenswürdig und echt, seine Unterschrift reicht immer aus, um einen Schlüssel als echt zu bestätigen. GnuPG gestattet es, diesen Status auch anderen Schlüsseln zu geben, für den Fall, daß Sie beispielsweise einer Zertifizierungsinstanz das nötige Vertrauen entgegenbringen. PGP 5.0 bietet die Möglichkeit, einem Schlüssel die Eigenschaft "exportable meta-introducer" zu verleihen, was im Wesentlichen bedeutet: "Vertraue diesem Schlüssel und laß andere wissen, daß ich ihm vertraue." Die Vertrauenseinstellung wird also mit exportiert. PGP 6.0 nennt diese Einstellung "trusted introducer", hier ist die Einstellung "meta introducer" neu hinzugekommen, die besagt, daß jeder Schlüssel, der von diesem Schlüssel als vertrauenswürdig gekennzeichnet ist, als vertrauenswürdig angesehen werden soll.
Mit der Zeit werden Sie einige Schlüssel sammeln, die Sie als mehr oder weniger vertrauenswürdig einstufen. Andere Leute, die teilweise dieselben Schlüssel haben, werden andere Einschätzungen vergeben. Mit der Zeit werden alle Benutzer ihre Schlüssel mit immer mehr Unterschriften verteilen. Dadurch ist das so gesponnene Vertrauensnetz sehr viel weniger gefährdet, durch eine Stelle zu zerreißen, die schwächer ist, als vorher angenommen.
Dieses dezentrale Konzept ist nicht das einzig mögliche. Es gäbe auch die Möglichkeit, Schlüssel von einer zentralen Instanz unterschreiben zu lassen, und bei einigen verwandten Verfahren wird das auch gemacht, beispielsweise bei Privacy Enhanced Mail (PEM). Dieses Schema basiert auf einer vorgegeben Hierarchie, in der andere Leute festlegen, wem Sie zu vertrauen haben. PGP geht den anderen Weg, bei dem Sie diese Entscheidung selber fällen müssen.
PGP ist für Leute, die ihren Fallschirm selbst zusammenlegen.
Das erste, was Sie tun sollten, um Ihren Schlüssel zu schützen, ist, den Schlüssel selbst immer unter Kontrolle zu haben. Das heißt, Sie sollten ihn nicht auf einem Computer lassen, wo er dem Zugriff anderer Personen ausgesetzt ist. Wenn Sie keine Möglichkeit dazu haben, weil sie beispielsweise Ihren gesamten E-Mail-Verkehr von einer Maschine im Büro aus abwickeln, sollten Sie Ihren Schlüssel immer auf einer schreibgeschützten Diskette mit sich tragen und von da aus arbeiten. Vergessen Sie dabei Ihre Sicherheitskopie nicht. Einen privaten Schüssel auf einem solchen System, insbesondere auf einem vernetzten Rechner, aufzubewahren, ist nicht gerade sinnvoll. Und Sie sollten PGP erst recht nicht über ein unverschlüsseltes Netzwerk, z.B. eine Modemverbindung benutzen. Es wäre zu einfach, Ihr Mantra mitzuschneiden.
Außerdem sollten Sie natürlich beachten, was für Paßwörter allgemein gilt: Sie sollten Ihr Mantra auf gar keinen Fall irgendwo aufschreiben und am Monitor, unter der Tastatur oder sonst irgendwo an Ihrem Arbeitsplatz, in der Aktentasche oder an welchem Ort auch immer aufbewahren, an den jeder potentielle Eindringling gelangen kann. Das Sicherste ist immer noch, es einfach im Kopf zu behalten.
Bewahren Sie außerdem immer eine Sicherheitskopie Ihres privaten Schlüssels auf. Wenn Ihre Festplatte einmal den Geist aufgibt und Sie ohne Ihren privaten Schlüssel dastehen, können Sie die gesamte an Sie geschickte Post nicht mehr lesen.
Hier kommen wir bei einem Problem der dezentralen Methode zur Schlüsselverifikation an: Da es keine Zentrale gibt, die Schlüssel bestätigt, gibt es auch keine, die vor unsicher gewordenen, da möglicherweise in fremde Hände gefallenen Schlüsseln, warnt. Sie können nur die Meldung, daß Ihr Schlüssel möglicherweise bekannt wurde, möglichst weit verbreiten und darauf hoffen, daß diese Nachricht auch bei allen Leuten ankommt, die davon erfahren sollten.
Sollte der Fall der Fälle eintreten, sollte also sowohl Ihr privater Schlüssel als auch Ihr Mantra in fremde Hände fallen, dann sollten Sie eine sogenannte Rückrufurkunde ("key compromise certificate") ausstellen. Dies ist eine Urkunde, die besagt, daß Ihr Schlüssel auf keinen Fall mehr verwendet werden darf. Näheres hierzu finden Sie in Abschnitt HREF="node18.html#KRC">13.2.8.