Challenge Handshake Authentication Protocol

Das Challenge Handshake Authentication Protocol (CHAP) ist ein ursprünglich für die Nutzung mit dem Point to Point Protocol (PPP) vorgesehenes Verfahren zur Authentisierung.

Das Prinzip von CHAP basiert darauf, dass der zu authentisierende Benutzer ein Geheimnis (eine geheime Bytefolge) besitzt, die auch dem System bekannt ist. Das System sendet dem Benutzer eine Challenge, die eine zufällige Bytefolge enthält. Der Benutzer wendet ein kryptographisches Hash-Verfahren (siehe Kryptographie) auf die Bytefolge an, die sich ergibt, wenn der Identifier (siehe unten), die geheime Bytefolge und die Challenge konkateniert werden. Er sendet das Resultat als Response an das System zurück. Das System vergleicht die Response mit dem erwarteten Resultat.


Formate

Für Challenge, Response und zwei weitere Pakettypen ist folgendes Format festgelegt:

• Code (1 Byte), der Pakettyp (Challenge = 1, Response = 2, Success = 3, Failure = 4),
• Identifier (1 Byte), identifiziert zusammengehörige Pakete,
• Length (2 Bytes), die Länge des Pakets inklusive Code, Identifier, Length und Data und
• Data, der Inhalt dieses Felds hängt vom Pakettyp ab.


Im Falle eines Challenge oder Response Pakets besteht das Data Feld aus folgenden Teilfeldern:

• Value Size (1 Byte), Länge des Werts,
• Value, eine Bytefolge (die Challenge oder das Ergebnis des Hashs),
• Name, der Name des Senders des Pakets.


Bei einem Success oder Failure Paket enthält das Data Feld eine erläuternde Nachricht.


Nachrichtenabfolge

Das System sendet ein Challenge Paket, daraufhin antwortet der Benutzer mit einem Response Paket. Abschließend signalisiert das System den Ausgang der Authentisierung mit einem Success oder Failure Paket.



Quelle

http://www.ietf.org/rfc/rfc1994.txt