[Seminarthemen WS08/09] [ < ] [ > ] [Übersicht]
Das Needham-Schroeder-Protokoll ist ein kryptographisches Protokoll, welches die Nutzer authenti&64257;ziert und einen Schlüssel sicher überträgt. Es wurde 1978 Roger Needham und Michael Schroeder verö&64256;entlicht. (vgl. [NS78])
In dem Protokoll gibt es drei Parteien:
Jeder Netzwerkteilnehmer hat einen geheimen Schüssel K. Dieser ist jeweils nur dem Teilnehmer und dem Authenti&64257;kation-Server AS bekannt.
Folgende 5 Pakte werden bei dem Needham-Schroeder-Protokoll gesendet. Nach diesem 5 Paketen weiß A das es eine Verbindung mit B aufgebaut hat und B weiß das die Anfrage von A kommt. Außerdem ist der Sitzungsschlüssel nur A, B und dem vertrauenswürdigen Server AS bekannt.
Ks bezeichnet einen zufälligen Sitzungsschlüssel. f(NB) ist eine beliebige, vorher festgelegte Funktion ist die einen Wert in Abhängigkeit von NB berechnet. Needham und Schroeder schlagen f(x) = x− 1 vor. (vgl. [NS78, S. 995])
Die erste Nachricht signalisiert dem AS, dass A eine Verbindung mit B aufbauen will. In dem Paket ist eine zufällige Nouce enthalten. Der AS sucht sich denn die Schlüssel von A und B aus der Datenbank und generiert einen Sitzungsschlüssel. Der Schlüssel wird zusammen mit der Zeichenkette „A“ mit dem Schlüssel von B verschlüsselt. Zusätzlich wird der Schlüssel und die Nouce mit dem Schlüssel von A verschlüsselt.
A ist in der Lage den Schlüssel und den Nouce zu entschlüsseln. Der Teil der Nachricht, welche mit dem Schlüssel von B verschlüsselt ist kann A hingegen nicht lesen. Da nur A und AS den Schlüssel KA kennen muss die Nachricht von AS kommen. A sendet nun an B den mit KB verschlüsselten Teil weiter.
B kann den Teil entschlüsseln und erhält so Ks. Da KB nur B und AS bekannt sind muss die Nachricht von AS verschlüsselt worden sein. Da auch ein „A“ in dem Paket enthalten ist, kann B sich sicher sein das nur B und ASKs kennen.
Die Nachrichten 4 und 5 sind notwendig um sicherzustellen, dass Nachricht 3 nicht eine aufgezeichnete Nachricht ist, welche erneut von einem Angreifer gesendet wird (Replay). B verschlüsselt nun eine Nouce mit Ks. Und erhält eine Antwort die in Beziehung zu der Nouce steht, z. B. NB− 1. Da nur A den Schlüssel Ks kennen kann, muss die Antwort von A sein.
Dorothy E. Denning und Giovanni Maria Sacco haben 1981 ein Angri&64256; beschrieben bei dem ein Angreifer eine fremde Identität annehmen, wenn er den Sitzungsschlüssel kompromittieren kann. Der Sitzungsschlüssel kann durch Brute-Force, Protokollfehler oder Einbruch in ein System in die Hände eines Angreifers kommen. (vgl. [DS81, S. 534])
Wenn er im Besitz des Sitzungsschlüssel, sendet er die Aufgezeichnete Nachricht 3 an B und kann die Nachricht 5 berechnen.
Der Angreifer X gibt sich gegenüber B als A aus und sendet die aufgezeichnete Nachricht 3 erneut. B kann nicht unterscheiden ob es sich um eine alte Nachricht handelt und antwortet an A mit einer neuen Nouce. Da die Antwort von B auf dem Transport verloren gegangen sein kann, darf B auch nicht die bisherigen Nachrichten von A oder die dazugehörigen Sitzungschlüssel speichern und vergleichen.
X fängt die Nachricht an A ab und kann sie entschlüsseln, da ihm Ks bekannt ist. Der Angreifer kann nun die Antwort an B berechnen und verschlüsseln. Es hilft auch nicht für jeden Netzwerkteilnehmer eine eigene Funktion f(x) zu de&64257;nieren, da das Funktionsaustauschproblem dasselbe wie das Schlüsselaustauschproblem ist. (vgl. [DS81, S. 534])
Nach diesen Pakten würde B glauben das er von A aufgerufen wird und nicht von X. X kann nun Operationen durchführen die eigentlich nur A darf.
Als Gegenmaßnahme empfehlen Denning und Sacco Zeitstempel in den Pakten zu nutzen. Dadurch lässt sich zusätzlich das Protokoll auf 3 Pakete verkürzen. B ist in der Lage zu erkennen, dass das Paket von A ein Replay ist und kann davon ausgehen eine neue Verbindung mit A zu haben.
Da der Zeitstempel in dem durch den privaten Schlüssel von B geschützen Bereich enthalten ist, kann B erkennen wenn das Paket zu alt ist. So lassen sich Replay-Angri&64256;e leicht erkennen. Wenn ein Paket empfangen wird dessen Zeitstempel älterer ist als eigentlich benötigt wird, soll es verworfen werden.
[Seminarthemen WS08/09] [ < ] [ > ] [Übersicht]