Challenge Handshake Authentication Protocol
aus Wikipedia, der freien Enzyklopädie
Das Challenge Handshake Authentication Protocol (CHAP) ist ein Authentifizierungsprotokoll, das im Rahmen von Point-to-Point Protocol (PPP) eingesetzt wird. PPP ist auf der Netz-Zugangsschicht in der Internetprotokollfamilie angesiedelt.
CHAP ist im RFC 1994 spezifiziert. Im Gegensatz zum Vorläufer Password Authentication Protocol (PAP) wird beim CHAP mehr Wert auf die Sicherheit bei der Übertragung der Passwörter gelegt. Die Authentifizierung erfolgt in 3 Schritten:
- Ein Client initiiert eine Verbindung zu einem Einwahlserver und dieser verlangt eine Authentifizierung mittels CHAP. Dabei wird ein zufälliger Wert (die Challenge) an den Client übertragen, der sich authentisieren muss.
- Der Client bildet aus der Zufallszahl und dem Passwort einen Hashwert mittels einer one-way Hash-Funktion (z.B. MD5) und überträgt diesen an den Einwahlserver. Aus dem übertragenen Hashwert lässt sich das Passwort nicht wieder errechnen.
- Der Einwahlserver 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.
In einem zufälligem Abstand sendet der Einwahlserver erneut einen zufälligen Wert (die Challenge) an den Client und die Schritte 1 - 3 werden wiederholt.
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).
Neben der im RFC beschrieben CHAP-Implementation existieren noch die Varianten MS-CHAPv1 und MS-CHAPv2 der Firma Microsoft.
[Bearbeiten] Weblinks
- RFC 1994 – PPP Challenge Handshake Authentication Protocol
- Beschreibung auf TCP/IP-Info (mit detaillierter Grafik)