CHAP (Challenge-Handshake Authentication Protocol)

Was ist CHAP (Challenge-Handshake Authentication Protocol)?

CHAP (Challenge-Handshake Authentication Protocol) ist eine Challenge- und Response-Authentifizierungsmethode, die PPP-Server (Point-to-Point Protocol) verwenden, um die Identität eines Remotebenutzers zu überprüfen. Die CHAP-Authentifizierung beginnt, nachdem der Remotebenutzer eine PPP-Verbindung initiiert hat.

CHAP ermöglicht Remotebenutzern, sich bei einem Authentifizierungssystem zu identifizieren, ohne ihr Kennwort preiszugeben. Mit CHAP verwenden Authentifizierungssysteme ein gemeinsames Geheimnis – das Kennwort -, um einen kryptografischen Hash mithilfe des MD5-Message-Digest-Algorithmus zu erstellen.

CHAP verwendet einen Drei-Wege-Handshake, um die Identität des Benutzers zu überprüfen und zu authentifizieren, während das Password Authentication Protocol (PAP) einen Zwei-Wege-Handshake für die Authentifizierung zwischen dem Remote-Benutzer und dem PPP-Server verwendet.

CHAP wurde für die Verwendung mit PPP zur Authentifizierung von Remotebenutzern entwickelt und wird während einer Remotesitzung regelmäßig angewendet, um den Benutzer erneut zu authentifizieren. PAP und CHAP sind in erster Linie für Remote-Verbindungen über Wählleitungen oder Schaltkreise sowie für dedizierte Verbindungen vorgesehen.

PAP und CHAP werden üblicherweise zum Aushandeln einer Netzwerkverbindung mit einem Internetdienstanbieter verwendet. KAP ist in Request for Comments 1994 spezifiziert.

Wie funktioniert CHAP?

So funktioniert CHAP:

  1. Nachdem die Verbindung hergestellt wurde, sendet der Server eine Herausforderungsnachricht an den Verbindungsanforderer.
  2. Der Anforderer antwortet mit einem Wert, der mithilfe einer Einweg-Hash-Funktion namens MD5 ermittelt wird.
  3. Der Server überprüft die Antwort, indem er sie mit seiner eigenen Berechnung des erwarteten Hashwerts vergleicht. Stimmen die Werte überein, wird die Authentifizierung quittiert, andernfalls wird die Verbindung in der Regel beendet.

Der Server kann während der Sitzung zufällig eine neue Herausforderung an den Anforderer senden, um den Anforderer erneut zu authentifizieren. Die Schritte 1 bis 3 werden dann wiederholt.

Der Server kann die verbundene Partei jederzeit auffordern, eine neue Herausforderungsnachricht zu senden. Da CHAP-Bezeichner häufig geändert werden und die Authentifizierung jederzeit vom Server angefordert werden kann, bietet CHAP mehr Sicherheit als PAP.

 CHAP Three-Way-Handshake
CHAP verwendet ein Three-Way-Handshake-Protokoll, um Benutzer über PPP-Sitzungen zu authentifizieren.

Typen von CHAP-Paketen

PPP überträgt CHAP-Pakete zwischen dem Authentifikator und dem Anforderer. CHAP-Pakete bestehen aus einem Header, der Folgendes enthält:

  • Codefeld, das einen Acht-Bit-Code enthält, der den Typ des gesendeten CHAP-Pakets identifiziert – gültige Werte sind 1 bis 4;
  • Identifikatorfeld, das eine beliebige Acht-Bit-ID ist, die das Paket als zu einer Authentifizierungssequenz gehörend identifiziert;
  • Längenfeld, das die Anzahl der Bytes im CHAP-Paket enthält; und
  • Datenfeld, das alle Daten enthält, die angefordert gesendet und Werte abhängig von der Art des CHAP-Pakets, in dem es ausgeführt wird.

Weiterführende Literatur

CHAP und PAP gehörten zu den ersten Versuchen, sicheren Fernzugriff zu implementieren, und das Verständnis der Unterschiede zwischen CHAP und PAP ist nur der erste Schritt.

CHAP lässt sich in das RADIUS-Protokoll (Remote Authentication Dial-In User Service) integrieren. Kerberos bietet ein ausgefeilteres und sichereres Tool für die Remotebenutzerauthentifizierung.

Das Erlernen der Unterschiede zwischen CHAP und Extensible Authentication Protocol, Lightweight Extensible Authentication Protocol und Wi-Fi Protected Access Version 2 Protocol hilft IT-Profis, die beste Entscheidung zu treffen.

CHAP arbeitet mit vier verschiedenen Pakettypen. Jedes Paket wird wie folgt durch den Wert seines Codefelds identifiziert:

  1. Das Authentifizierungssystem – normalerweise ein Netzwerkzugriffsserver oder Switch – sendet ein CHAP-Challenge-Paket, um den Authentifizierungsprozess zu starten. Nachdem eine PPP-Sitzung initiiert wurde, kann das System oder Netzwerk, auf das zugegriffen wird, die Authentifizierung des Remotebenutzers verlangen. Die Herausforderung umfasst den Hostnamen des Authentifikators.
  2. Das System des Remotebenutzers muss als Antwort auf eine Herausforderung ein CHAP-Antwortpaket senden. Das Remote-System sendet einen sicheren Hash basierend auf dem Kennwort des Remote-Benutzers im Antwortpaket. Der Authenticator vergleicht den Hash des Kennworts des Benutzers mit dem erwarteten Wert. Der Remotebenutzer wird authentifiziert, wenn er übereinstimmt.
  3. Das Authentifizierungssystem – der Netzwerkzugriffsserver – sendet ein CHAP-Erfolgspaket, wenn der Hash des Remotebenutzers mit dem vom Server erwarteten Hash übereinstimmt.
  4. Das Authentifizierungssystem sendet ein CHAP-Fehlerpaket, wenn der Kennworthash des Remote-Benutzers nicht mit dem vom Benutzer gesendeten Wert übereinstimmt.

Wenn das Remote-System nicht auf ein Challenge-Paket reagiert, kann der Authenticator den Vorgang wiederholen. Der Authenticator beendet den Zugriff des Remotebenutzers, wenn er sich nicht authentifizieren kann.

KAP vs. PAP

CHAP ist ein sichereres Verfahren zum Verbinden mit einem System als PAP.

Die Authentifizierungsschemata PAP und CHAP wurden ursprünglich beide für die Authentifizierung von Remotebenutzern spezifiziert, die sich über PPP mit Netzwerken oder Systemen verbinden. Das Drei-Wege-Handshake-Protokoll von CHAP bietet einen stärkeren Schutz vor Passwortraten und Abhörangriffen als der Zwei-Wege-Handshake von PAP.

 CHAP vs. PAP
CHAP und PAP unterscheiden sich in mehrfacher Hinsicht, vor allem, dass CHAP sicherer ist als PAP.

Für die Authentifizierung mit PAP muss der Remotebenutzer seinen Benutzernamen und sein Kennwort angeben, und das Authentifizierungssystem erlaubt oder verweigert dem Benutzer dann den Zugriff basierend auf diesen Anmeldeinformationen.

 PAP bidirektionaler Handshake
PAP ist ein einfacher bidirektionaler Handshake zur Authentifizierung von Remotebenutzern.

CHAP sichert den Authentifizierungsprozess mithilfe eines ausgefeilteren Protokolls. CHAP implementiert ein Drei-Wege-Handshake-Protokoll, das verwendet wird, nachdem der Host eine PPP-Verbindung mit der Remote-Ressource hergestellt hat.

PAP definiert einen bidirektionalen Handshake für einen Remotebenutzer, um den Remotezugriff zu initiieren:

  1. Das Remote-System sendet einen Benutzernamen und ein Kennwort und wiederholt die Übertragung, bis der Netzwerkzugriffsserver antwortet.
  2. Der Netzwerkzugriffsserver sendet eine Authentifizierungsbestätigung, wenn die Anmeldeinformationen authentifiziert sind. Wenn die Anmeldeinformationen nicht authentifiziert sind, sendet der Netzwerkzugriffsserver eine negative Bestätigung.

Während PAP als minimales Protokoll verwendet werden kann, um einem Remotebenutzer das Initiieren einer Netzwerkverbindung zu ermöglichen, bietet CHAP ein sichereres Authentifizierungsprotokoll.

Leave a Reply