Samstag, 31. Juli 2010


Topthema

Donnerstag, 2. November 2006 | Topthema

About Security #79: Kryptographie — Identitätsprüfung

(Link zum Artikel: http://www.entwickler.de/php/kolumnen/032185)

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, erfahren Sie in dieser Folge. Der Austausch selbst ist dabei 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:

  1. Alice und Bob schicken sich gegenseitig ihre öffentlichen Schlüssel.
  2. Beide wählen je einen kurzen Text, an dem der jeweils andere sie zweifelsfrei erkennen kann.
    Der Text muss zwar nicht zwingend geheim, darf aber auch nicht einfach zu erraten sein.
  3. Beide verschlüsseln ihren Text mit dem öffentlichen Schlüssel des jeweils anderen.
  4. Alice schickt einen nicht entschlüsselbaren Teil ihres Schlüsseltexts an Bob. Dies kann z.B. nur jedes zweite Zeichen des Schlüsseltexts oder nur sein Hashwert sein.
  5. Bob speichert die empfangene Teilnachricht und sendet seinerseits einen nicht entschlüsselbaren Teil seines Schlüsseltexts an Alice.
  6. Alice schickt nach dem Empfang von Bobs Teil den Rest ihres Schlüsseltexts an Bob.
  7. Bob schickt nach dem Empfang von Alices zweiten Teil den Rest seines Schlüsseltexts an Alice.
  8. Beide entschlüsseln die nun vollständigen Nachrichten und prüfen, ob der jeweilige Text wirklich vom jeweiligen Absender stammt.
Interlock-Protokoll

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, dass 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 (siehe z.B. About Security #81/ #82). Alice kann sicher sein, dass 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, dass 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.

About Security: Die komplette Serie

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 Folge 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!

Carsten Eilers

About Security – Übersicht zum aktuellen Thema "Kryptographie – Anwendungen"

Kommentare

Folgende Links könnten Sie auch interessieren

  • IT-Sicherheit  [19.04.2007]
    [http://entwickler.de/zonen/portale/psecom,id,102,buch,616,.html]
  • Registrierung adé  [14.03.2005]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,677,.html]
  • Übersetzers Liebling  [05.01.2007]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,1062,.html]
  • Go Enterprise  [04.03.2003]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,323,.html]
  • Graphen mit den eZ Components  [12.03.2008]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,1559,.html]