7.3 Schlüsselmanagement

Alle Verfahren klingen, wenn man sie theoretisch analysiert, wie ein Schlaraffenland für Anwender. Methoden so sicher wie Fort Knox, kein Gegner hat ein reale Chance, an geheime Nachrichten heranzukommen. Aber wie jedes Schlaraffenland ist auch dieses von einem Wall aus Hirsebrei umgeben.

Dieser Wall ist das Problem, die Schlüssel zuverlässig zu verteilen und zu verwalten.

Einer der Grundsätze in der Kryptologie ist, dem Gegner alle Information des benutzten, allgemeinen Systems zuzutrauen - außer der Kenntnis des benutzten Schlüssels.

Bei symmetrischen Verfahren bedeutet Schlüsselverwaltung, daß nicht ständig dieselben Schlüssel, womöglich in derselben Reihenfolge, benutzt werden. Schlüsselverteilung bedeutet, daß die Sitzungsschlüssel auf sicherem Wege rechtzeitig zum Empfänger gelangen.

Schlüsselverwaltung (key management) besteht aus Schlüsselverteilung (key distribution), Schlüsselbenutzung und Authentikation der Schlüssel.

Wir werden sehen, daß die ganze Sicherheit der Schlüsselverwaltung im Endeffekt auf Vertrauen basiert. Auf Vertrauen gegenüber den Verfahren, auf Vertrauen gegenüber den Implementationen, auf Vertrauen gegenüber den benutzten Kanälen und - natürlich - auf Vertrauen gegenüber allen Beteiligten.

Wenn Alice and Bob eine geheime Nachricht mit Hilfe eines public key-Systems verschickt, so ist der einfachste Angriff, den öffentlichen Schlüssel von Bob abzufangen, bevor Alice ihn erhält. Wenn Alice Bobs öffentlichen Schlüssel nicht vorher schon kennt, muß er über irgendeinen Kanal erforscht werden. Das kann beispielsweise über das Datennetz per e-mail geschehen. Wenn nun eine bösartige Systemverwalterin Eve die Antwort, die Bobs Schlüssel enthält, vor der Weiterleitung an Alice so verändert, daß diese stattdessen Eves Schlüssel enthält, kann Alice nichts davon merken.

Sie wird die Nachricht irrtümlich mit Eves öffentlichem Schlüssel verschlüsseln und an Bob senden. Eve fängt nun wiederum die Nachricht ab, bevor sie zu Bob gelangt, dechiffriert sie mit ihrem geheimen Schlüssel und nimmt davon Kenntnis. Die entschlüsselte Nachricht wird nun mit Bobs Schlüssel, den Eve ja kennt, verschlüsselt und an Bob weitergeschickt. Bob kann davon nichts merken. Auch eine merkliche zeitliche Verzögerung tritt nicht ein, denn das kann alles automatisch geschehen.

Wenn es sogar gelingt, den gefälschten öffentlichen Schlüssel von Bob mit Bobs Benutzerkennung zu verknüpfen (beispielsweise in einer Schlüsseldatenbank), so kann Eve von nun an Unsinn nach Lust und Laune treiben.

Um so etwas zu verhindern muß man dafür sorgen, daß mit öffentlichen Schlüsseln kein Mißbrauch getrieben werden kann. Das ist aber leichter gesagt als getan. Die sicherste Methode ist natürlich, den öffentlichen Schlüssel direkt auszutauschen. Aber dann wäre einer der Hauptvorteile asymetrischer Verfahren, spontane Übermittlung geheimer Nachrichten ohne vorherige Absprache, wieder neutralisiert, man könnte gleich ein symmetrisches Verfahren benutzen.

Deswegen gibt es noch ein paar andere Möglichkeiten, die fast so gut sind wie ein direkter, persönlicher Austausch der Schlüssel.

Wenn beide, Alice und Bob, einer dritten Person, Chris, wechselseitig vertrauen, so könnte der Austausch mit Chris' Hilfe stattfinden. Chris könnte die ihm vorliegende (korrekte) Kopie von Alice Schlüssel mit seinem geheimen Schlüssel unterschreiben und sie so zertifiziert an Bob weiterreichen. Chris steht dann gerade für die Integrität des Schlüssels von Alice. Dasselbe kann umgekehrt geschehen; Chris kann eine zertifizierte Kopie von Bobs öffentlichem Schlüssel an Alice weiterreichen. Natürlich benötigt man, um die Zertifizierung zu prüfen, eine korrekte Kopie von Chris' öffentlichem Schlüssel. Das klingt auf den ersten Blick genauso wie das erste Problem; aber Chris kann, im Gegensatz zu den beiden eigentlichen Kommunikationspartnern, leichter erreichbar sein.

Die zertifizierte Version beider Schlüssel kann nun auch in einer öffentlichen Datenbank stehen, ohne daß die Möglichkeit besteht, an dem Schlüssel etwas zu ändern (denn dazu bräuchte man Chris' geheimen Schlüssel).

So kann eine Person, der viele Benutzer vertrauen, eine ganze Reihe von Schlüsseln zertifizieren. Man nennt solche Stellen "Certifying Authority", manchmal auch "key server". Der öffentliche Schlüssel des "key servers" muß in seiner authentischen Form weitverbreitet sein, damit man das Zertifikat überprüfen kann.

Die Struktur solcher "key server" kann durchaus variieren; von einem einzigen, zentralen Server, über eine Hierarchie von Servern bis hin zu verteilten, unabhängigen Servern, bei denen man parallel anfragen kann.

In großen, hierarchischen Strukturen (Behörden, Firmen, ...) ist ein zentraler "key server" durchaus angebracht. Allerdings muß man sich darüber im Klaren sein, daß der zentrale Server auch ein zentrales Ziel für Angriffe ist. Angefangen bei der baulichen Absicherung und weiteren, physikalischen Sicherungseinrichtungen (Alarmanlage, Notstromaggregat, Hardwaresicherungen, etc.) über Softwareschutzmechanismen bis hin zur Mitarbeiterüberwachung ist ein riesiger Aufwand notwendig, um bei den Kunden das Vertrauen zu sichern, das sie in eine solche zentrale Instanz setzen.

Diese zentralen "key server" können dann auch gleich als Zertifizierungsinstanz arbeiten, das heißt, sie generieren, verteilen und bewahren die Schlüssel nicht nur auf, sie zertifizieren als vertrauenswürdige Stelle gleich alle Schlüssel. Die Telekom baut in Telesec solch ein Trust-Center auf. <$&A07-04[v]>

Man kann sich denken, daß hier massive Probleme auftreten können, wenn das Trust-Center geknackt wird - von außen oder von innen. Dann sind sofort alle Schlüssel wertlos.

Eine Methode, die deswegen in freien Netzen dem zentralistischen Modell einer "Certifying Authority" vorgezogen wird, ist das dezentrale Modell vieler kleiner unabhängiger "key server". Jeder zertifiziert nur die Schlüssel in seiner unmittelbaren, von ihm kontrollierbaren Umgebung, beispielsweise die Schlüssel der lokalen Freunde oder Geschäftspartner. Dieser eher deinstituionalisierte Zugang ist unter der Bezeichnung "web of trust" bekannt. Dieses Modell spiegelt eher die kommunikativen und sozialen Zusammenhänge wieder und jeder kann frei wählen, wem er vertraut und wem nicht.

Wie man spätestens hier merkt, ist dieses Thema die eine, echte Schwachstelle, die das sonst so elegante System mit einem gehörigen Schuß Wermuth versieht. Eine Menge Forschungsarbeit wird zur Lösung des Problems investiert, und viel Aufwand wird getrieben, um die Hürde in der Praxis überwindbar zu machen.

Abb. 7.5: Aufgaben eines Trust Centers

Als Merkregeln sollte man beachten:

Mehr praktische Hinweise finden sich in der Anleitung zum Programm PGP [D], mehr theoretische Deatils beispielsweise in [33].

Und wenn sie bisher nie Anleitungen gelesen haben, dieses eine Mal sollte Sie das tun, um ihrer und der anderen Sicherheit Willen. Lesen Sie die Anleitung für PGP gründlich und sorgen Sie dafür, daß Sie alles verstanden haben. Wenn Sie nur einen Fehler machen, können schlimmere Dinge passieren als durch den Verlust einer Kreditkarte (und schon dadurch kann man Haus und Hof verlieren).