Microsoft CHAP (MS-CHAP)
Für sein Tunneling-Protokoll PPTP hat Microsoft ein eigenes Authentifizierungsprotokoll entwickelt. MS-CHAP liegt in der Version 2 vor, nachdem in der Version 1 einige Sicherheitslücken enthalten waren.
MS-CHAP arbeitet wie ein 3-Wege-Handshake mit wechselseitiger
Authentifizierung. Also muss sich nicht nur der Client gegenüber
dem Host ausweisen, sondern auch der Host muss dem Client
beweisen, dass er auch wirklich über dessen Benutzerdaten
verfügt. Der Schlüssel zur Verschlüsselung wird vom Passwort und
vom Challenge String abgeleitet. Auf diese Weise kommt bei jeder
Verbindung ein anderer Schlüssel zum Einsatz. Und es wird in
beide Richtungen unterschiedliche Schlüssel verwendet.
Der Host, z. B. ein Remote-Access-Server (RAS) sendet an den
Client die Session Identifier und einen pseudozufälligen
Challenge String (Client Challenge String). Der Client schickt
dem Host seinen Benutzernamen, einen pseudozufälligen Challenge
String (Peer Challenge String) , einen Session Identifier und
einen SHA-1-Hash über den Peer Challenge String, den Session
Identifier und das Passwort. Der Host bestätigt oder verweigert
die Anmeldung und schickt dem Client einen SHA-1-Hash über
Client und Peer Challenge String, die verschlüsselte Antwort des
Clients und das MD4-gehashte Passwort. Der Client überprüft die
Angaben des Hosts und benutzt bei bestätigter Anmeldung die
Verbindung. Bei einer verweigerten Anmeldung beendet der Client
die Verbindung.