CHAP ist - ähnlich wie PAP - ein Authentisierungsprotokoll.
Bei CHAP erfolgt die Authentisierung
allerdings in drei Phasen. Das Password wird hierbei nur verschlüsselt übertragen.
Wie aus der Grafik erkennbar ist stellt der Client (CHAP-Peer) zunächst
eine Verbindung zu seinem Zugangsserver (CHAP-Authenticator) her (Initialisierungsphase).
Dieser sendet nun den
sog.
CHAP-Challenge über
die Leitung. Dieser Challenge besteht aus einer Zufallszahl (x) und
seiner Kennung (z.B.
Gerätenamen).
Der Client berechnet nun aus dem Wer x und seinem Password
mittels MD5 einen Hash-Wert (H,
bzw. Hclient) mit der Länge 128 bit. Dieser Hash-Wert wird
- gemeinsam mit der User-Id - zurück an den Server gesendet
(CHAP-Response). Anhand der User-Id kann der Server nun in seiner User- bw.
Password-Database das zugehörige
Password nachschlagen. Damit kann er dieselbe Rechenoperation wie zuvor
der Client durchführen (Errechnen des Hash-Werts aus x und
dem Password mittels MD5) und schließlich
beide Hash-Werte (also Hclient und Hserver) miteinander
vergleichen. Sind diese identisch, erfolgt die Annahme des Requests (ACK =
Verbindung kann aufgebaut
werden),
andernfalls
die
Ablehnung (NACK).

Da das Password nicht im Klartext,
sondern nur als Hash-Wert über die
Leitung übertragen wird, ist CHAP als deutlich sicherer als PAP einzustufen.
Als zusätzliches Feature ist es bei CHAP möglich, diese Operation
auch während einer Session (z.B. in einem festen Zeitintervall)
durchzuführen. Damit kann die Prüfung der Authentizität auch
während einer bestehenden Verbindung erfolgen.
Nachteilig bei CHAP ist, dass es für Tokenverfahren ungeeignet ist, da bein diesem das Password im Klartext in einer Password-Database vorliegen muss.
CHAP ist im RFC
1994 beschrieben/ definiert.
Desweiteren existiert noch eine von Microsoft adaptierte Version (MS-CHAP bzw. MS-CHAP
v2)
| [zurück zur Security-Seite] | (Diese
Seite wurde am 25.9.2003 erstellt, |