Wie angekündigt, geht es diesmal um das Problem, wie Sender und Empfänger an die benötigten öffentlichen Schlüssel ihrer jeweiligen Kommunikationspartner gelangen und dabei sicherstellen, dass wirklich die richtigen Schlüssel verwendet werden. Dabei ist der Austausch selbst kein Problem: Da der öffentliche Schlüssel nicht geheim gehalten werden muss, kann er problemlos z.B. per ungeschützter E-Mail verschickt oder in einem öffentlichen Verzeichnis bereit gehalten werden. Schwieriger ist die verlässliche Zuordnung von Benutzer und Schlüssel. Treffen sich die Kommunikationspartner persönlich, können sie die Identität ihres Gegenübers leicht prüfen und die Schlüssel danach direkt austauschen. Allerdings können sie dann auch ein effektiveres symmetrisches Verfahren verwenden. Ein Grund für die Entwicklung asymmetrischer Verfahren war ja gerade die Vereinfachung des Schlüsselaustauschs (siehe About Security #75). Also muss eine andere Methode gefunden werden, um Benutzer und Schlüssel sicher einander zuzuordnen.
Identitätsprüfung ohne vertrauenswürdigen Dritten
Eine Möglichkeit, das Problem zu lösen, ist das Interlock-Protokoll. Es kommt ohne vertrauenswürdige Dritte aus und ist auch vor einem aktiven Angreifer relativ sicher. Allerdings müssen sich die beiden Kommunikationspartner bereits kennen.
N E U ! Security aktuell
Täglich aktuelle Security-Infos!
Das Protokoll läuft folgendermaßen ab:
- Alice und Bob schicken sich gegenseitig ihre öffentlichen Schlüssel.
- Beide wählen je einen kurzen Text, an dem der jeweils andere
sie zweifelsfrei erkennen kann.
Der Text muss zwar nicht zwingend geheim sein, darf aber auch nicht einfach zu erraten sein. - Beide verschlüsseln ihren Text mit dem öffentlichen Schlüssel des jeweils anderem.
- Alice schickt einen nicht entschlüsselbaren Teil ihres Schlüsseltexts an Bob. Dies kann z.B. nur jedes zweite Zeichen des Schlüsseltextes oder nur sein Hashwert sein.
- Bob speichert die empfangene Teilnachricht und sendet seinerseits einen nicht entschlüsselbaren Teil seines Schlüsseltexts an Alice.
- Alice schickt nach dem Empfang von Bobs Teil den Rest ihres Schlüsseltexts an Bob.
- Bob schickt nach dem Empfang von Alices zweiten Teil den Rest seines Schlüsseltexts an Alice.
- Beide entschlüsseln die nun vollständigen Nachrichten und prüfen, ob der jeweilige Text wirklich vom jeweiligen Absender stammt.
Ein Man-in-the-Middle-Angriff scheitert daran, dass der Angreifer zwar die öffentlichen Schlüssel abfangen und einen oder beide austauschen könnte, die danach abgefangenen Teilnachrichten aber nicht entschlüsseln kann. Da beide den zweiten Teil ihres Schlüsseltexts erst nach Empfang des ersten Teils des Schlüsseltexts ihres Kommunikationspartners senden, kann der Angreifer sie nicht entschlüsseln und mit seinem ausgetauschten Schlüssel neu verschlüsseln. Er müsste also eigene "Erkennungstexte" raten. Die sollen aber gerade so gewählt werden, das dies einem Dritten nicht gelingt.
Identitätsprüfung mit vertrauenswürdigen Dritten
Das Interlock-Protokoll setzt voraus, dass die Kommunikationspartner sich kennen. Ist dies nicht der Fall, kann ein vertrauenswürdiger Dritter die Identität der Kommunikationspartner bestätigen. Dieser bescheinigt durch seine Signatur unter Name und öffentlichem Schlüssel, dass dieses Paar zusammengehört. Diese Kombination aus Name, öffentlichem Schlüssel und Signatur (plus einiger Verwaltungsinformationen) bilden ein so genanntes Zertifikat (dazu demnächst mehr). Alice kann sicher sein, das ein empfangener Schlüssel Bob gehört, wenn die Signatur unter dem Zertifikat korrekt ist. Vorausgesetzt, dass sie dem Aussteller des Zertifikats vertraut - und sicher ist, das die Signatur von ihm stammt. Um die Signatur zu prüfen, braucht sie den öffentlichen Schlüssel des Ausstellers. Dieser kann ebenfalls mit einem Zertifikat versehen sein, das von einem weiteren vertrauenswürdigen Dritten ausgestellt wurde. Um diese Signatur zu prüfen, braucht Alice... aber das hatten wir ja gerade schon.
Zur Lösung dieses Problems gibt es zwei Ansätze: Einen hierarchischen Aufbau und das so genannte "Web of Trust" oder Vertrauensnetz. Ein hierarchisches Zertifizierungssystem basiert auf Beglaubigungen durch vertrauenswürdige Autoritäten. Im normalen Leben entspricht ein Zertifikat dann einem Personalausweis: Er bestätigt die Identität des Inhabers und seine Unterschrift und enthält Angaben über die ausstellende Behörde. Diese hat die Daten und Unterschrift überprüft und bürgt für ihre Richtigkeit. Im Zweifelsfall kann ihre Berechtigung über die übergeordnete Behörde geprüft werden.
Das Web of Trust entspricht dem Vorgehen im Freundes- und Bekanntenkreis: Freunde stellen einem ihre Freunde vor, diese neuen Bekannten bringen ihrerseits ihre Freunde in den Kreis ein usw. Je nach sozialer Verbundenheit vertraut man dem einen mehr, dem anderen weniger. Dies könnte als "Wem ein guter Freund oder mehrere vertrauenswürdige Bekannte vertrauen, kann auch ich vertrauen" umschrieben werden.
Der genaue Aufbau dieser beiden Ansätze wird in der nächsten Woche beschrieben.
Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!
















