Challenge Handshake Authentication Protocol

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 12. September 2007 um 00:33 Uhr durch Zwobot (Diskussion | Beiträge) (Bot: Automatisierte Textersetzung (-=+ *Weblink *=+ +== Weblinks ==)). Sie kann sich erheblich von der aktuellen Version unterscheiden.

CHAP (PPP Challenge Handshake Authentication Protocol) ist ein Authentifizierungsprotokoll, das im Rahmen von PPP eingesetzt wird. Es ist im RFC 1994 formal spezifiziert.

Im Gegensatz zu PAP wird hier mehr Wert auf die Sicherheit bei der Übertragung der Passwörter gelegt. Die Authentifizierung erfolgt in drei Schritten:

  1. Bei der Herstellung der Verbindung wird ein zufälliger Wert (die Challenge) an den Computer übertragen, der sich authentifizieren muss.
  2. Der Rechner bildet aus der Zufallszahl und dem Passwort einen Hashwert mittels einer one-way Hash-Funktion (z.B. MD5) und überträgt diesen an den Server. Aus dem übertragenen Hashwert lässt sich das Passwort nicht wieder errechnen.
  3. Der Server errechnet ebenfalls einen Hashwert aus der Zufallszahl und dem bei ihm (im Klartext) hinterlegten Passwort. Wenn dieser mit dem vom zu authentifizierenden Rechner gesendeten Wert übereinstimmt, ist die Authentifizierung erfolgreich.

Ein Angreifer, der die Kommunikation mithört, empfängt somit nur den zufälligen Wert und den Hashwert. Normalerweise kann er damit nichts anfangen, da das Passwort nicht übertragen wird. Dennoch kann ein Angreifer einen Man-In-The-Middle-Angriff durchführen, wenn auf Client-Seite sowohl CHAP als auch PAP aktiviert sind. Server und Client handeln zum Beispiel CHAPv2 aus, ein Angreifer könnte die Verbindung unterbrechen und dem Client sagen, dass der Server PAP erwartet. Der Client schickt daraufhin ein PAP-ACK an den Angreifer, und dieser ein CHAPv2-ACK an den Server. Im Folgenden wird ein Challenge-REQ vom Server geschickt und der Client schickt dem Angreifer User-ID und Passwort, von welchem dann die Challenge-RES kommt. Der Server nimmt dies entweder an oder lehnt es ab (ACK, NACK).

Grundsätzlich wird zwischen MS-CHAPv1 und MS-CHAPv2 (Microsoft) unterschieden.