Die folgende Diskussion mag manchmal maßlos paranoid erscheinen, aber so eine Einstellung ist für eine fundierte Auseinandersetzung mit möglichen Angriffen durchaus angemessen.
Offensichtliche Passworte, die einfach zu raten sind - wie beispielsweise die Namen von Kindern oder der Partnerin - sind ungeeignet. Ein einzelnes Wort als Mantra kann ebenfalls leicht geraten werden, wenn ein Computer die Wörter eines Lexikons solange als Passwörter ausprobiert, bis das richtige gefunden ist. Deshalb ist eine Kombination mehrerer Wörter, von uns "Mantra" genannt, wesentlich besser als ein einfaches Passwort. Ein verfeinerter Angriff könnte darin bestehen, einen Computer ein Lexikon mit berühmten Zitaten durcharbeiten zu lassen, um das Mantra zu finden. Eine leicht zu merkendes, aber schwer erratbares Mantra läßt sich bequem aus ein paar kreativ sinnlosen Sprüchen oder weithin unbekannten literarischen Zitaten zusammenstellen.
Weiteres hierzu steht im Abschnitt Öffentliche Schlüssel vor Manipulation schützen.
Zusammengefaßt: Wenn man einen öffentlichen Schlüssel für die Verschlüsselung einer Nachricht oder für die Prüfung einer Unterschrift verwenden will, muß sichergestellt sein, das er nicht gefälscht ist. Der Echtheit eines neu erhaltenen öffentlichen Schlüssels sollte man nur dann vertrauen, wenn man ihn unmittelbar, auf sicherem Weg, von seinem Besitzer erhalten hat, oder wenn seine Echtheit von jemandem bestätigt ist, dem man vertraut. Man muß auch dafür sorgen, daß kein Fremder Änderungen an dem eigenen öffentlichen Schlüsselbund vornehmen kann. Man braucht physikalische Kontrolle sowohl über den Bund mit öffentlichen Schlüsseln wie auch über den Bund mit geheimen Schlüsseln. Am besten aufgehoben sind diese beiden Dateien auf dem eigenen PC, um einiges schlechter auf einem am Ende auch noch räumlich weit entfernten Mehrplatz-Rechner. Auf jeden Fall sollte man Sicherheitskopien der beiden Schlüsseldateien haben (siehe auch Abschnitt BAKRING).
Nichts hindert eine unehrliche Benutzerin daran, die Einstellung von Datum und Zeit auf ihrem Computer zu ändern und bei dieser falschen Datumseinstellung ihre Schlüsselbestätigungen und Unterschriften zu erzeugen. So kann diese unehrliche Benutzerin es so erscheinen lassen, als habe sie eine Unterschrift viel früher oder später geleistet, als es tatsächlich der Fall ist, oder als habe sie ihr Paar von öffentlichem und geheimem Schlüssel zu einem anderen Zeitpunkt generiert. Dies kann von juristischem oder finanziellem Nutzen sein. Beispielsweise kann dadurch ein Schlupfloch entstehen, um eine Unterschrift nicht anerkennen zu müssen.
Abhilfe bieten könnten allgemein vertrauenswürdige Institutionen oder Notare, die notariell beglaubigte Unterschriften mit einer vertrauenswürdigen Zeitangabe machen können. Dies setzt nicht notwendigerweise eine zentrale Institution voraus. Unter Umständen kann jeder vertrauenswürdige Vermittler oder eine unbeteiligte dritte Person diese Aufgabe wahrnehmen, ähnlich öffentlich bestellten Notaren. Die Bestätigung eines öffentlichen Schlüssels könnte von dem Notar unterschrieben werden, und die Zeitmarke bei der Unterschrift des Notars könnte juristische Bedeutung erlangen. Der Notar könnte über solche Bestätigungen Protokoll führen. Das Protokoll wäre öffentlich einsehbar.
Der Notar könnte auch die Unterschrift anderer durch seine eigene Unterschrift bestätigen. Dies könnte als urkundliche, beweiskräftige Unterschrift gelten, so wie es "real existierende Notare" mit Unterschriften auf Papierdokumenten seit langem machen. Auch in diesem Fall würde der Notar über die Unterschriften Protokoll führen, indem er die von dem Textdokument abgetrennten Unterschriften archiviert. Die Unterschrift des Notars hätte eine vertrauenswürdige Zeitangabe, mit größerer Glaubhaftigkeit als die Zeitangabe der originalen Unterschrift. Eine Unterschrift würde durch die hinzukommende notarielle Unterschrift und das Protokoll des Notars "Beweiskraft" erhalten.
Das Problem notariell beglaubigter Unterschriften und glaubwürdiger Zeitmarken bedarf weiterer Diskussion. Eine gute Abhandlung hierüber ist der Aufsatz von Dorothy Denning in IEEE Computer 1983 (siehe Literaturverzeichnis). Die möglichen Verfahren für Bestätigung und Beglaubigung müssen noch viel detaillierter ausgearbeitet werden. Dies wird sich durch die zunehmende Nutzung von PGP ergeben und dadurch, daß bei anderen Programmen, die das Prinzip öffentlicher Schlüssel verwenden, andere Bestätigungsverfahren entwickelt werden.
Hierzu eine wahre Horrorgeschichte: Eine Freundin von mir, verheiratet und Mutter kleiner Kinder, hatte eine kurze und nicht sehr ernstzunehmende Liebesaffäre. Sie schrieb ihrem Liebhaber auf dem Computer einen Brief, und nachdem sie den Brief abschickte, löschte sie die Datei. Nachdem die Affäre schon vorbei war, ging die Diskette kaputt, auf der der Brief gespeichert war. Weil die Diskette einige andere wichtige Daten enthielt, bat sie ihren Ehemann, die Diskette zu reparieren. Der ließ die Diskette von einem Datenwiederherstellungsprogramm bearbeiten, wobei neben den von seiner Frau benötigten Dateien auch der besagte Brief wieder zu Tage kam, was eine Kette tragischer Ereignisse auslöste. (*)
Eine weitere Stelle, an der bei den meisten Betriebssystemen "Textspuren" verbleiben können, sind die "swap files" (auch Auslagerungsdateien genannt) bzw. Swap-Partitionen: Wenn ein Programm mehr Hauptspeicher benötigt, als real im Computer vorhanden ist, wird ein Teil des Hauptspeicherinhalts in diese Auslagerungsdatei bzw. -partition geschrieben, so daß der Hauptspeicher gewissermaßen auf die Festplatte "verlängert" wird. Auch in dieser "Auslagerungsdatei" können Teile eines Textes stehen. MS-DOS kennt keine Auslagerungsdateien - endlich mal ein Vorteil dieses Betriebssystems, wenn auch nur im Hinblick auf "Spurensicherheit". Aber schon Microsoft Windows benutzt eine Auslagerungsdatei, und zwar nicht zu knapp. d.Ü.Selbst wenn man den Klartext auf der Festplatte oder Diskette überschreibt, kann ein technisch gut ausgestatteter Angreifer die Daten wiedergewinnen. Geringe magnetische Spuren der Originaldaten bleiben auch nach einem Überschreiben auf der Festplatte oder Diskette. Diese Spuren können unter Umständen mittels spezieller Hardware gelesen werden.
Ein Schutz hiergegen fällt unter das allgemeine Thema des Schutzes gegen Viren. Es gibt einige relativ brauchbare kommerzielle Anti-Virus-Produkte, und es gibt "Hygienemaßnahmen", deren Beachtung das Risiko einer Virusinfektion erheblich reduzieren kann. Eine umfassende Abhandlung dieses Themas würde den Rahmen dieses Handbuchs sprengen. PGP selbst hat keinerlei inneren Schutz gegen Viren, es geht davon aus, daß der PC, auf dem es benutzt wird, eine "vertrauenswürdige Umgebung" ist. Falls es einmal so einen Spezialvirus für PGP geben sollte, ist zu hoffen, daß eine entsprechende Warnung schnell bekannt wird und viele Leute erreicht.
Ein ähnlicher Angriff könnte eine geschickte Imitation von PGP sein, die sich im Wesentlichen wie PGP verhält, aber nicht so arbeitet, wie anzunehmen wäre. Beispielsweise könnte diese Imitation absichtlich dahingehend verstümmelt sein, daß Unterschriften nicht mehr korrekt geprüft werden, so daß gefälschte Schlüssel nicht mehr erkannt werden können. Eine solche Version von PGP - ähnlich einem "Trojanischen Pferd" - ist von einem Angreifer verhältnismäßig einfach erstellt, weil der Quellcode von PGP weit verbreitet ist. Deshalb ist es kein Problem, den Quellcode dahingehend zu manipulieren, daß eine Imitation von PGP entsteht, die zwar echt aussieht, jedoch nur die Anweisungen ihres teuflischen Meisters ausführt. Dieses "Trojanische Pferd" von PGP könnte weit verteilt werden, mit dem Anschein, es käme von mir. Wie hinterhältig.
Die allgemeine Verfügbarkeit des Quellcodes von PGP hat aber auch einen anderen, vertrauensschaffenden Aspekt: Die entsprechenden Programmierkenntnisse vorausgesetzt, ist es nur noch eine Frage des Fleißes, den Quelltext auf obskure Stellen durchzusehen. Außerdem kann man das Programm neu übersetzen und sich so eine eigene Arbeitsversion erstellen. Der im nächsten Absatz erwähnte Vergleich mehrerer PGP-Versionen aus unterschiedlichen Bezugsquellen sollte aber zumindest für die selbst erstellte Version vorsichtig interpretiert werden: Selbst wenn der gleiche Compiler verwendet wird, besteht immer noch die Möglichkeit, daß die eigene PGP-Version mit der Compiler-Version 12.34a1 übersetzt wird, während das Entwicklerteam Version 12.34b3 verwendet hat. Unterschiede in den PGP-Versionen bedeuten deshalb nicht gleich das Schlimmste. Auf der anderen Seite heißt das aber auch, daß ein neu übersetztes PGP andere Benutzer verunsichern kann. Deshalb sollte man normalerweise besser die Originalversion weitergeben. d.Ü.Man sollte sich die Mühe machen, PGP von einer zuverlässigen Bezugsquelle zu erhalten, was auch immer das heißen mag. Oder man besorgt sich PGP von mehreren unabhängigen Quellen und vergleicht die einzelnen Versionen mit einem geeigneten Programm.
Mit Hilfe digitaler Unterschriften ergeben sich weitere Möglichkeiten festzustellen, ob an PGP herumgepfuscht wurde. Wenn eine Person, der man vertraut, eine digitale Unterschrift für die Datei mit dem ausführbaren PGP-Programm(*) leistet und damit garantiert, daß die Datei zum Zeitpunkt der Unterschrift nicht infiziert oder anderweitig verfälscht ist, kann man einigermaßen sicher sein, eine brauchbare Kopie zu haben. Mit Hilfe einer älteren, vertrauenswürdigen Version von PGP kann die Unterschrift für die neue, zunächst zweifelhafte Version kontrolliert werden. Dieser Test setzt natürlich voraus, daß der für die Kontrolle der Unterschrift verwendete öffentliche Schlüssel einen hohen Grad an Vertrauen hat.
Diese Art von Angriffen ist einfacher und billiger als ein kryptoanalytischer Angriff auf PGP.
Wer allerdings der Meinung ist, derartig ausfeilten Angriffen ausgesetzt zu sein, sollte sich ohnehin mit einem Sicherheitsberater in Verbindung setzen.
Aber mittlerweile gibt es PGP auch für Unix und VAX/VMS, also Mehrplatz-Betriebssysteme. Bei diesen Betriebssystemen besteht ein wesentlich höheres Risiko, daß Klartext-Dateien, Schlüssel oder Passworte offengelegt werden. Der Systemverwalter oder ein versierter Eindringling kann die Klartext-Dateien lesen und unter Umständen auch mittels spezieller Software heimlich die Tastatureingaben und die Bildschirmausgaben mitlesen. Unter Unix kann jede Benutzerin mit dem Kommando ps einiges an Informationen über die anderen Benutzer erhalten, beispielsweise alle Umgebungsvariablen.(*) Ähnliche Probleme gibt es für MS-DOS-Rechner, die in einem Netzwerk arbeiten. Das aktuelle Sicherheitsrisiko hängt von der jeweiligen Situation ab. Ein Mehrplatz-Rechner kann sicher sein, wenn man allen Benutzern traut oder wenn die Sicherheitsmechanismen ausreichen, um den Angriffen von Eindringlingen standzuhalten, oder auch, wenn es ganz einfach keine hinreichend interessierten potentiellen Eindringlinge gibt. Manche Unix-Systeme sind schon dadurch sicher, daß sie von nur einer Person benutzt werden - es gibt bereits Notebooks, die mit Unix arbeiten. PGP vollkommen von der Benutzung unter Unix auszuschließen, wäre unsinnig.
Möglicherweise hat eine Regierung auch geheimgehaltene Methoden, mit denen IDEA(TM), der bei PGP verwendete konventionelle Verschlüsselungsalgorithmus, geknackt werden kann. Das wäre der schlimmste Alptraum eines jeden Kryptographen. In der praktischen Kryptographie gibt es keine Garantie für absolute Sicherheit.
Doch nach wie vor ist etwas Optimismus gerechtfertigt. Die Entwickler von IDEA gehören zu den besten Kryptographen Europas. Die besten Kryptoanalytiker der nicht geheimen Welt haben IDEA einer ausgedehnten Analyse und eingehenden Überprüfung unterzogen. Einer differentiellen Kryptoanalyse, bei der DES fast geknackt worden wäre, scheint IDEA besser standzuhalten.
Aber selbst wenn IDEA die eine oder andere subtile Schwachstelle haben sollte, komprimiert PGP den Klartext vor der Verschlüsselung, was die von einer solchen Schwachstelle ausgehende Gefährdung um einiges reduzieren dürfte. Der für das Knacken erforderliche Rechenaufwand dürfte in den meisten Fällen um einiges höher sein als der Wert der entschlüsselten Nachricht.
Wenn man in einer Situation ist, in der die Furcht vor so einem Angriff größten Kalibers berechtigt ist, wäre es an der Zeit, die Dienste einer Sicherheitsberaterin in Anspruch zu nehmen, die auf die jeweilige Situation zugeschnittene Lösungen anbieten kann. Boulder Software Engineering bietet diese Leistungen an. Adresse und Telefonnummer stehen im Anhang.
Kurz gesagt, ein Gegner kann mühelos, sogar routinemäßig Datenkommunikation abhören, insbesondere, wenn ein Modem oder E-Mail benutzt wird, es sei denn, die Daten sind gut kryptographisch geschützt. Wenn man PGP verwendet und die erforderlichen Vorsichtsmaßnahmen beachtet, muß ein Angreifer erheblich mehr Arbeit und Kosten aufbringen, um in die Privatsphäre einzubrechen.
Wenn man sich vor einfachen Angriffen schützt und annehmen kann, daß man nicht einem entschlossenen und sehr gut ausgestatteten Angreifer gegenübersteht, dann dürfte die Verwendung von PGP sicher sein. PGP sorgt für eine prima geschützte Privatsphäre.