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.
Bekannt gewordenes Mantra und bekannt gewordener geheimer
Schlüssel
Die wahrscheinlich einfachste Angriffsmöglichkeit ergibt sich,
wenn man das Mantra für den geheimen Schlüssel irgendwo
aufschreibt. Falls jemand dieses Mantra lesen kann und ihm dann noch
die Datei mit dem geheimen Schlüssel in die Hände
fällt, kann er alle verschlüsselten Nachrichten lesen und
mit dem geheimen Schlüssel gefälschte digitale
Unterschriften erzeugen.
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.
Fälschung des öffentlichen Schlüssels
Eine der gefährlichsten Angriffsmöglichkeiten besteht
darin, daß der öffentliche Schlüssel gefälscht
werden kann. Dies ist der wirklich bedeutende und ernsthafte
Ansatzpunkt für das Knacken einer Verschlüsselung mit
öffentlichen Schlüsseln, unter anderem deswegen, weil die
meisten Neulinge die Gefahr nicht sofort erkennen. Die Bedeutung der
Fälschbarkeit eines Schlüssels und geeignete
Gegenmaßnahmen sind detailliert im Abschnitt Öffentliche
Schlüssel vor Manipulation schützen beschrieben.
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).
Schutz gegen gefälschte Zeitangaben
Eine nicht ganz leicht verständliche Angreifbarkeit von PGP
betrifft unehrliche Benutzer, die gefälschte Zeitangaben
für die Bestätigung ihrer öffentlichen Schlüssel
und ihre Unterschriften verwenden. Leser, die PGP nur gelegentlich
benutzen und mit den Tücken öffentlicher Schlüssel
nicht sehr vertraut sind, können diesen Abschnitt
überspringen.
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.
Nicht richtig gelöschte Dateien
Ein weiteres potentielles Sicherheitsproblem entsteht durch die Art
und Weise, wie bei den meisten Betriebssystemen Dateien gelöscht
werden. Wenn man eine Klartext-Datei verschlüsselt und danach
löscht, löscht das Betriebssystem die Daten nicht
physikalisch. Es markiert nur diejenigen Datenblöcke der
Festplatte oder Diskette als "gelöscht", die den
Inhalt der "gelöschten" Datei enthalten, so daß
sie für die Speicherung anderer Daten freigegeben werden. Das
ist das gleiche, als würde man vertrauliche Papiere einfach zum
Altpapier legen, anstatt sie von einem Reißwolf
kleinhäckseln zu lassen.(*) Die Blöcke auf der Festplatte
enthalten nach wie vor die originalen vertraulichen Daten und werden
vielleicht unter Umständen demnächst mal irgendwann in
naher oder ferner Zukunft durch neue Daten überschrieben. Wenn
ein Angreifer diese "gelöschten" Datenblöcke kurz
nach ihrer Freigabe liest, hat er einige Aussicht, den kompletten
Klartext zu erhalten.
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.
"Sturmangriffe" (tempest attacks)
Eine andere Angriffsmöglichkeit für einen gut
ausgerüsteten Gegner ist die Auswertung der elektromagnetischen
Strahlung, die ein Computer aussendet. Ein solcher Angriff ist zwar
teuer und arbeitsintensiv, aber wahrscheinlich immer noch billiger
als eine richtige Kryptoanalyse. Ein entsprechend ausgerüsteter
Kleinbus könnte in der Nähe des abzuhörenden Computers
geparkt sein und jeden Tastendruck und jeden Bildschirminhalt
aufzeichnen. Das würde alle Passworte, Nachrichten usw.
offenlegen. Abwehren läßt sich dieser Angriff durch eine
geeignete Abschirmung des Computers, des Zubehörs (Drucker usw.)
und gegebenenfalls der Netzwerk-Verkabelung. Eine solche Abschirmung
ist unter dem Begriff "sturmsicher" bekannt, und wird von
einigen Regierungsbehörden und Rüstungsfirmen eingesetzt.
Es gibt Firmen, die diese Abschirmungen anbieten, allerdings ist der
Kauf möglicherweise genehmigungspflichtig. Woher das wohl kommt?
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.