pgp -kg
Nach der Eingabe dieses Befehls fragt PGP nach der Schlüsselgröße. PGP bietet einige mögliche Schlüsselgrößen als Auswahlmöglichkeiten an, 384 Bit "für den Hausgebrauch", 512 Bit "für normale Anwendungen" oder 1024 Bit "für militärische Sicherheit".
Die Werte für die Schlüsselgrößen sind allerdings nur als Anhaltspunkte anzusehen. Sie können auch direkt eingeben, welche Größe Ihr Schlüssel haben soll. Je größer der Schlüssel ist, desto sicherer ist die Verschlüsselung, aber auch umso langsamer. Die meisten Anwender verwenden 1024 oder 512 Bit.
Anschließend möchte PGP eine User-ID wissen, d.h. einen Namen, der angibt, zu wem der Schlüssel eigentlich gehören soll. Vorzugsweise sollte der gesamte Name verwendet werden, da so weniger Verwechslungsmöglichkeiten entstehen. Eingebürgert hat sich die Methode, hinter dem Realnamen in <spitzen Klammern> eine E-Mail-Adresse anzugeben, also z.B.:
Patrick Lenz <MASTER@random.zer.sub.org> Johanna Wiesmüller <smb4423@rz.uni-sonstwo.de>
Sollten Sie keine E-Mail-Adresse haben, verwenden Sie irgend etwas anderes, was sicherstellt, daß die angegebene ID einmalig ist, beispielsweise Ihre Telefonnummer:
Kai Fliemann <V+49-4711-123456>
Nun fragt PGP Sie nach einem Mantra, mit dem Ihr privater Schlüssel geschützt werden soll. Hierbei handelt es sich um die größere Ausgabe eines Passwortes, die beliebig lang sein darf. Ohne dieses Mantra ist Ihr privater Schlüssel praktisch wertlos. Dieses Mantra dürfen Sie auf keinen Fall vergessen, sonst haben Sie keine Möglichkeit, wieder an Ihren privaten Schlüssel zu kommen.
Außerdem gilt das Übliche: Das Mantra nicht aufschreiben, kein kurzes oder anderweitig leicht zu ratendes Mantra verwenden ("Alea iacta est" wäre viel zu simpel, auch "Ich liebe Moni!" sollte nicht verwendet werden), und das Mantra nicht über ein Netzwerk eintippen. Normalerweise erscheint das Mantra nie am Bildschirm, es sei denn, die Konfiguration wurde entsprechend geändert.
PGP unterscheidet beim Mantra zwischen Groß- und Kleinschreibung. Neben Buchstaben kann das Mantra auch Ziffern, Satzzeichen usw. enthalten. Sollten Sie es tatsächlich vorziehen, kein Mantra zu verwenden, drücken Sie einfach RETURN. Das halte ich aber für eine sehr schlechte Idee.
Um das Schlüsselpaar zu erzeugen, braucht PGP große, wirklich zufällige Zufallszahlen. Diese werden nun abgeleitet aus den Zeitabständen zwischen einigen Tastendrücken, um die Sie gebeten werden. Tippen Sie einfach ein wenig Zufallstext in ständig wechselnder Geschwindigkeit. PGP sagt Ihnen, wieviel Sie tippen müssen.
Anschließend können Sie erst einmal Kaffeetrinken gehen, die Schlüsselerzeugung ist ein langsamer Prozeß. Aber sie wird ja nur einmal ausgeführt.
Die frisch erzeugten Schlüssel kommen in die Bunde mit öffentlichen bzw. geheimen Schlüsseln. Von dort aus kann der öffentliche Schlüssel später (mit der Option -kx) in eine eigene Datei kopiert werden, die Sie dann weitergeben können. So können Ihre Freunde und Bekannten Ihren öffentlichen Schlüssel zu ihren Dateien hinzufügen.
Den privaten Schlüssel sollten Sie natürlich niemals weitergeben. Auch sollten Sie darauf achten, Ihr Schlüsselpaar selbst zu erzeugen und keine Schlüssel für Freunde zu erstellen. Der private Schlüssel sollte nicht auf einem Rechner liegen, der für andere Benutzerinnen zugänglich ist, auch wenn er durch ein Mantra geschützt ist.
pgp -ka Datei [Schlüsselbund]
Die [eckigen Klammern] kennzeichnen eine Eingabe, die nicht unbedingt erforderlich ist; die Klammern selbst dürfen nicht mit eingegeben werden.
Ohne Angabe wird pubring.pgp bei öffentlichen bzw. secring.pgp bei privaten Schlüsseln verwendet.
Datei ist diejenige Datei, die den oder die neuen Schlüssel enthält, Schlüsselbund die Datei, die den öffentlichen Schlüsselbund enthält.
Wird PGP mit diesem Befehl aufgerufen, dann prüft es zunächst, ob der Schlüssel schon bekannt ist. In diesem Fall wird er nicht ein weiteres Mal eingebunden, sondern auf neue Unterschriften und/oder Benutzer-IDs untersucht, die gegebenenfalls in den Schlüsselbund aufgenommen werden. PGP durchsucht die komplette Datei und bearbeitet alle darin enthaltenen Schlüssel auf diese Art und Weise. Was unterschriebene Schlüssel sind, wird weiter unten erläutert.
pgp -kr Benutzer-ID [Schlüsselbund]
Wird ein Schlüssel gefunden, der zu der angegebenen ID paßt, fragt PGP, ob Sie diesen entfernen möchten, bzw. wenn der Schlüsel mehrere IDs hat, ob Sie ihn ganz entfernen möchten oder nur die eine oder andere ID. Geben Sie keine Schlüsseldatei an, verwendet PGP pubring.pgp.(*)
pgp -kv[v] [Benutzer-ID] [Schlüsselbund]
Geben Sie eine Benutzer-ID an, werden alle Schlüssel aufgelistet, die den angegebenen Text enthalten, ansonsten alle Schlüssel der Datei (siehe Abb. 1). Geben Sie keinen Schlüsselbund an, wird pubring.pgp verwendet. Verwenden Sie die Option -kvv, werden zusätzlich zu den Schlüsseln alle Unterschriften ausgegeben.
pgp -kx Benutzer-ID [Zieldatei] [Schlüsselbund]
Wird die Angabe der Zieldatei weggelassen, fragt PGP, wohin Sie den Schlüssel kopieren möchten. Bei dieser Operation bleibt der Schlüsselbund vollständig, der Schlüssel wird nur kopiert.
Ist der Schlüssel unterschrieben, dann werden die Unterschriften ebenfalls mitkopiert. Wollen Sie den Schlüssel als Text verschicken (beispielsweise im Internet, Mausnetz oder Bitnet oder auch als "Anhängsel" an eine Nachricht), benutzen Sie den Befehl
pgp -kxa Benutzer-ID [Zieldatei] [Schlüsselbund]
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 weiter 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 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.
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 den von Alice 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 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 den öffentlichen Schlüssel von Alice, 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. Charlie kann zwar den Schlüssel abfangen und durch seinen eigenen ersetzen, er kann aber nicht Davids Unterschrift unter diesen Schlüssel setzen. Auch 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 Keyserver oder "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.
Bitte beachten Sie dieses Konzept!
Auch wenn es unwichtig erscheint: Diese ganze Geschichte ist im Endeffekt die Achillesferse des ganzen Systems. Für vertrauliche Nachrichten (und wenn Sie längere Zeit E-Mail benutzen, werden Sie mit Sicherheit vertrauliche Nachrichten schreiben) sollten Sie niemals einen Schlüssel verwenden, von dem Sie nicht sicher sein können, von wem er stammt.
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.
Und: Unterschreiben Sie niemals einen Schlüssel, von dem Sie nicht absolut und hundertprozentig sicher sein können, daß er von der Person stammt, deren ID Sie unterzeichnen. Mit der Unterschrift bürgen Sie mit Ihrem guten Namen für die Echtheit des Schlüssels. Unterschreiben Sie keine Schlüssel, weil Sie jemanden gut kennen, der diese Schlüssel unterschrieben hat, sondern nur dann, wenn Sie wirklich selber unabhängig sicher sind und sein können, daß der Schlüssel echt ist. Unterschreiben Sie vorzugsweise nur Schlüssel, die Sie direkt vom Besitzer erhalten haben.(*) Eine Unterschrift unter einen Schlüssel zu setzen, setzt eine viel größere Sicherheit in punkto Eigentümerschaft voraus als das Verwenden eines Schlüssels. Weitere Erläuterungen dazu finden Sie im zweiten Teil dieser Anleitung.
Auch ist Vertrauen nicht unbedingt übertragbar: 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 oder die "public key server" im Internet. Unterschreiben Sie einen Schlüssel, 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 finden Sie im Abschnitt Wie untersucht PGP, welche Schlüssel gültig sind?.
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 die Beschreibung des Kommandos pgp -kc im zweiten Teil.
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 erzeugen (siehe Abschnitt Trennung einer Unterschrift von einer Nachrichgt). 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.
PGP überprüft, welche öffentlichen Schlüssel Ihrer Sammlung als gültig eingestuft sind. Dazu müssen Sie PGP mitteilen, welchen Leuten Sie genug Vertrauen entgegenbringen, um ihre Unterschriften als gültige Verifikationen für neue Schlüssel einzustufen. Hiervon ausgehend kann PGP neu hinzukommende Schlüssel direkt auf ihre Gültigkeit hin prüfen. Und natürlich können Sie selbst auch Schlüssel unterschreiben.
PGP verwendet zwei verschiedene Kriterien, um Schlüssel einzustufen, bitte bringen Sie sie nicht durcheinander:
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.
Sie müssen aber nicht allen Leuten gleichweit 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 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, betrachtet es die Vertrauenslevel aller Schlüssel, 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.
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, werden andere Einschätzungen vergeben. Und 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 selber zusammenlegen.
pgp -ks Benutzer-ID [-u eigene_ID]
Sie sollten eine solche Unterschrift nur leisten, wenn Sie sicher sind, daß Sie den Sinn und die Funktionsweise von Unterschriften unter Schlüsseln verstanden haben. Verstehen Sie diesen Warnhinweis bitte nicht als Arroganz von Leuten, die meinen, immer alles besser zu wissen. Wir haben in Diskussionen in verschiedenen Foren häufig feststellen müssen, daß die Frage, welche Voraussetzungen erfüllt sein müssen, damit man einen Schlüssel unterschreiben kann, das wahrscheinlich schwierigste Thema bei PGP ist. Auf keinen Fall sollten Sie mit Unterschriften unter PGP-Schlüsseln so großzügig sein, wie manche Prominente ihre Autogramme verteilen. Es geht hier nicht um Unterschriften im Sinne von Autogrammen für Sammler, sondern um Unterschriften unter elektronische Dokumente.
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 Unix-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 Netzwerk oder ein Modem benutzen. Es wäre zu einfach, Ihr Mantra mitzuschneiden.
Und was für Passwö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.
Und: Bewahren Sie immer eine Sicherheitskopie Ihres privaten Schlüssels auf. Wenn Ihre Festplatte einmal den Geist aufgibt und Sie ohne Ihren secring.pgp dastehen, können Sie die ganze 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 ein sogenanntes "key compromise certificate" ausstellen. Dies ist eine Urkunde, die besagt, daß Ihr Schlüssel auf keinen Fall mehr verwendet werden darf. Wenn Sie eine solche Urkunde ausstellen wollen, rufen Sie PGP mit der Option -kd und Ihrer eigenen Schlüssel-ID auf. PGP macht dann Ihren öffentlichen Schlüssel unbrauchbar und gibt Ihnen die Möglichkeit, mit pgp -kxa ID die Urkunde in eine Datei zu packen, die Sie an die gesamte Menschheit schicken sollten. Oder zumindest an den Teil, der Ihren Schlüssel haben könnte. Am besten schicken Sie Ihren neuen Schlüssel direkt mit. Siehe auch das nächste Kapitel.
pgp -kd Ihre-ID
Diese Urkunde trägt dann auch noch Ihre Unterschrift und kann wie zuvor der öffentliche Schlüssel verschickt werden. Natürlich ist der Sicherheitsverlust des Schlüssels nicht der einzig denkbare Grund dafür, ihn zurückzuziehen. In allen Fällen jedoch ist das Vorgehen dasselbe.
Diese Nachricht sollten Sie von denselben Leuten unterschreiben lassen, die auch Ihren Schlüssel signiert haben. Die anderen User können dann Ihren Schlüssel mit dem Befehl
pgp -kd Ihre-ID
abschalten. Hierbei wird allerdings keine Schlüssel-Rückrufurkunde ausgestellt und der Schlüssel kann mit demselben Befehl auch wieder angeschaltet werden.