Einleitung
In diesem Dokument wird beschrieben, wie das Challenge Handshake Authentication Protocol (CHAP) die Identität eines Peers mittels eines Drei-Wege-Handshakes verifiziert.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
-
So aktivieren Sie PPP auf der Schnittstelle über das encapsulation ppp
aus.
-
Die Fehlermeldung debug ppp negotiation
Befehlsausgabe. Weitere Informationen finden Sie unter debug ppp negotiation-Ausgabe verstehen.
-
Wie wird eine Fehlerbehebung durchgeführt, wenn sich die LCP-Phase (Link Control Protocol) nicht im offenen Zustand befindet? Dies liegt daran, dass die PPP-Authentifizierungsphase erst beginnt, wenn die LCP-Phase abgeschlossen ist und sich im offenen Zustand befindet. Wenn die debug ppp negotiation
zeigt nicht an, dass das LCP geöffnet ist. Sie müssen dieses Problem beheben, bevor Sie fortfahren.
Hinweis: MS-CHAP (Version 1 oder Version 2) wird in diesem Dokument nicht behandelt.
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Konventionen
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Hintergrundinformationen
Das Challenge Handshake Authentication Protocol (CHAP) (definiert in RFC 1994) überprüft die Identität des Peers durch einen Drei-Wege-Handshake. Dies sind die allgemeinen Schritte in CHAP:
-
Nachdem die LCP-Phase (Link Control Protocol) abgeschlossen und CHAP zwischen beiden Geräten ausgehandelt wurde, sendet der Authentifizierer eine Challenge-Nachricht an den Peer.
-
Der Peer antwortet mit einem Wert, der durch eine unidirektionale Hashfunktion (Message Digest 5 (MD5)) berechnet wird.
-
Der Authentifikator vergleicht die Antwort mit seiner eigenen Berechnung des erwarteten Hashwerts. Wenn die Werte übereinstimmen, ist die Authentifizierung erfolgreich. Andernfalls wird die Verbindung beendet.
Diese Authentifizierungsmethode hängt von einem "Geheimnis" ab, das nur dem Authentifizierer und dem Peer bekannt ist. Der Schlüssel wird nicht über den Link gesendet. Obwohl die Authentifizierung nur in eine Richtung erfolgt, können Sie CHAP in beide Richtungen aushandeln, mithilfe desselben geheimen Satzes für die gegenseitige Authentifizierung.
Weitere Informationen zu den Vor- und Nachteilen von CHAP finden Sie in RFC 1994.
Konfigurieren von CHAP
Das Verfahren zum Konfigurieren von CHAP ist relativ einfach. Angenommen, Sie haben zwei Router, links und rechts, die über ein Netzwerk verbunden sind, wie in Abbildung 1 dargestellt.
Zwei Router in einem Netzwerk
Abbildung 1: Zwei Router in einem Netzwerk
Führen Sie die folgenden Schritte aus, um die CHAP-Authentifizierung zu konfigurieren:
-
Führen Sie auf der Schnittstelle den Befehl encapsulation ppp aus.
-
Aktivieren Sie die Verwendung von CHAP-Authentifizierung auf beiden Routern mit dem ppp authentication chap
aus.
-
Konfigurieren Sie die Benutzernamen und Kennwörter. Stellen Sie dazu den username username password password
-Befehls, wobei username der Hostname des Peers ist. Stellen Sie Folgendes sicher:
-
Kennwörter sind an beiden Enden identisch.
-
Der Name und das Passwort des Routers sind identisch, da bei ihnen die Groß- und Kleinschreibung beachtet wird.
Hinweis: Standardmäßig verwendet der Router seinen Hostnamen, um sich gegenüber dem Peer zu identifizieren. Dieser CHAP-Benutzername kann jedoch über den ppp chap hostname
aus. Weitere Informationen finden Sie unter PPP Authentication with the ppp chap hostname and ppp authentication chap callin Commands.
Einseitige und bidirektionale Authentifizierung
CHAP ist als unidirektionale Authentifizierungsmethode definiert. Sie verwenden jedoch CHAP in beide Richtungen, um eine bidirektionale Authentifizierung zu erstellen. Bei Zwei-Wege-CHAP wird also von jeder Seite ein separater Drei-Wege-Handshake initiiert.
In der Cisco CHAP-Implementierung muss der Angerufene standardmäßig den Anrufer authentifizieren (sofern die Authentifizierung nicht vollständig deaktiviert ist). Daher stellt eine vom angerufenen Teilnehmer initiierte unidirektionale Authentifizierung die minimal mögliche Authentifizierung dar. Der anrufende Teilnehmer kann jedoch auch die Identität des angerufenen Teilnehmers überprüfen, sodass eine bidirektionale Authentifizierung erfolgt.
Eine unidirektionale Authentifizierung ist häufig erforderlich, wenn Sie eine Verbindung mit Geräten von anderen Anbietern herstellen.
Konfigurieren Sie für die unidirektionale Authentifizierung die ppp authentication chap callin
auf dem anrufenden Router.
Tabelle 1 zeigt, wann die Anruffunktion konfiguriert werden muss.
Tabelle 1: Zeitpunkt der Konfiguration der Anruffunktion
Authentifizierungstyp |
Client (anrufend) |
NAS (angerufen) |
unidirektional |
ppp authentication chap callin |
ppp authentication chap |
Zweiwege (bidirektional) |
ppp authentication chap |
ppp authentication chap |
Weitere Informationen finden Sie unter PPP Authentication with the ppp chap hostname and ppp authentication chap callin Commands.
Befehle und Optionen für die CHAP-Konfiguration
In Tabelle 2 sind die CHAP-Befehle und -Optionen aufgeführt:
Tabelle 2: CHAP-Befehle und -Optionen
Command |
Beschreibung |
ppp authentication {chap | ms-chap | ms-chap-v2 | klatschen |pap} [anrufen] |
Mit diesem Befehl wird die lokale Authentifizierung des Remote-PPP-Peers mit dem angegebenen Protokoll aktiviert. |
ppp chap HostnameBenutzername |
Dieser Befehl definiert einen schnittstellenspezifischen CHAP-Hostnamen. Weitere Informationen finden Sie unter PPP Authentication with the ppp chap hostname and ppp authentication chap callin Commands. |
ppp chap KennwortKennwort |
Dieser Befehl definiert ein schnittstellenspezifisches CHAP-Kennwort. |
ppp richtungcallin | Beschwörung | dediziert |
Mit diesem Befehl wird eine Anrufrichtung erzwungen. Verwenden Sie diesen Befehl, wenn bei einem Router Zweifel bestehen, ob es sich um einen eingehenden oder ausgehenden Anruf handelt (z. B. wenn eine Back-to-Back-Verbindung oder eine Mietleitung besteht und die Kanaldiensteinheit oder die Datendiensteinheit (CSU/DSU) oder der ISDN-Terminaladapter (TA) für das Wählen konfiguriert sind). |
ppp chap reject [callin] |
Dieser Befehl deaktiviert die Remote-Authentifizierung über einen Peer (standardmäßig aktiviert). Mit diesem Befehl wird die CHAP-Authentifizierung für alle Anrufe deaktiviert, was bedeutet, dass alle Versuche des Peers, den Benutzer mithilfe von CHAP zur Authentifizierung zu zwingen, abgelehnt werden. Die Verbindungsoption gibt an, dass der Router sich weigert, vom Peer empfangene CHAP-Authentifizierungsherausforderungen zu beantworten. Der Peer muss jedoch weiterhin alle vom Router gesendeten CHAP-Probleme beantworten. |
ppp chap wait |
Mit diesem Befehl wird angegeben, dass sich der Aufrufer zuerst authentifizieren muss (standardmäßig aktiviert). Mit diesem Befehl wird angegeben, dass sich der Router bei einem Peer, der eine CHAP-Authentifizierung anfordert, erst dann authentifiziert, wenn sich der Peer beim Router selbst authentifiziert hat. |
ppp max-bad-auth-Wert |
Dieser Befehl gibt die zulässige Anzahl von Authentifizierungsversuchen an (der Standardwert ist 0). Mit diesem Befehl wird eine Point-to-Point-Schnittstelle so konfiguriert, dass sie sich nicht sofort nach einem Authentifizierungsfehler zurücksetzt, sondern eine bestimmte Anzahl von Authentifizierungswiederholungen zulässt. |
ppp chap splitnamen |
Dieser ausgeblendete Befehl ermöglicht verschiedene Hostnamen für eine CHAP-Abfrage und -Antwort (der Standardwert ist deaktiviert). |
ppp chap ignoreus |
Dieser ausgeblendete Befehl ignoriert CHAP-Herausforderungen mit dem lokalen Namen (der Standardwert ist aktiviert). |
Transaktionsbeispiel
Die Diagramme in diesem Abschnitt zeigen eine Reihe von Ereignissen, die während einer CHAP-Authentifizierung zwischen zwei Routern auftreten. Diese stellen nicht die tatsächlichen Nachrichten dar, die im debug ppp negotiation
Befehlsausgabe. Weitere Informationen finden Sie unter debug ppp negotiation-Ausgabe verstehen.
Anruf
Der Anruf geht ein
Abbildung 2: Der Anruf kommt herein
Abbildung 2 zeigt folgende Schritte:
-
Der Anruf wird an die Nummer 3640-1 weitergeleitet. Die eingehende Schnittstelle wird mit dem ppp authentication chap
aus.
-
LCP handelt CHAP und MD5 aus. Weitere Informationen zum Ermitteln dieses Problems finden Sie unter debug ppp negotiation-Ausgabe verstehen.
-
Für diesen Anruf ist eine CHAP-Abfrage von 3640-1 an den anrufenden Router erforderlich.
Herausforderung
CHAP Challenge-Paket wurde erstellt
Abbildung 3: Ein CHAP-Paket wird erstellt
Abbildung 3 veranschaulicht die folgenden Schritte bei der CHAP-Authentifizierung zwischen den beiden Routern:
-
Ein CHAP-Challenge-Paket wurde mit den folgenden Eigenschaften erstellt:
-
01 = Challenge Packet Type Identifier
-
ID = Sequenzielle Nummer, die die Herausforderung identifiziert.
-
random = eine vom Router generierte, relativ zufällige Zahl
-
3640-1 = der Authentifizierungsname des Herausforderers.
-
Die ID- und Zufallswerte werden auf dem angerufenen Router beibehalten.
-
Das Challenge-Paket wird an den anrufenden Router gesendet. Eine Liste der noch offenen Herausforderungen wird beibehalten.
Antwort
Empfang und MD5-Verarbeitung des Challenge-Pakets vom Peer
Abbildung 4: Empfang und MD5-Verarbeitung des Challenge-Pakets vom Peer
Abbildung 4 zeigt, wie das Challenge-Paket vom Peer empfangen und verarbeitet wird (MD5). Der Router verarbeitet das eingehende CHAP-Challenge-Paket wie folgt:
-
Der ID-Wert wird in den MD5-Hash-Generator eingespeist.
-
Der Zufallswert wird in den MD5-Hash-Generator eingespeist.
-
Der Name 3640-1 wird zum Nachschlagen des Kennworts verwendet. Der Router sucht nach einem Eintrag, der mit dem Benutzernamen der Herausforderung übereinstimmt. In diesem Beispiel wird Folgendes gesucht:
username 3640-1 password pc1
4. Das Kennwort wird in den MD5-Hash-Generator eingespeist.
Das Ergebnis ist die unidirektionale MD5-Hash-CHAP-Herausforderung, die in der CHAP-Antwort zurückgesendet wird.
Antwort (Fortsetzung)
An den Authentifizierer gesendetes CHAP-Antwortpaket wurde erstellt.
Abbildung 5: Das an den Authentifizierer gesendete CHAP-Antwortpaket wurde erstellt.
Abbildung 5 veranschaulicht, wie das an den Authentifizierer gesendete CHAP-Antwortpaket erstellt wird. Dieses Diagramm zeigt folgende Schritte:
-
Das Antwortpaket besteht aus den folgenden Komponenten:
-
02 = CHAP-Antwort-Pakettypkennung.
-
ID = aus dem Challenge-Paket kopiert.
-
hash = die Ausgabe des MD5-Hash-Generators (die Hash-Informationen des Challenge-Pakets).
-
766-1 = der Authentifizierungsname dieses Geräts Dies ist erforderlich, damit der Peer den Benutzernamen und das Passwort nachschlagen kann, die zur Verifizierung der Identität erforderlich sind (dies wird im Abschnitt CHAP verifizieren näher erläutert).
-
Das Antwortpaket wird dann an den Herausforderer gesendet.
CHAP überprüfen
Dieser Abschnitt enthält Tipps zur Verifizierung Ihrer Konfiguration.
Challenger verarbeitet das Antwortpaket
Abbildung 6: Der Challenger verarbeitet das Antwortpaket
Abbildung 6 zeigt, wie der Herausforderer das Antwortpaket verarbeitet. Bei der Verarbeitung des CHAP-Antwortpakets (auf dem Authentifizierer) sind folgende Schritte erforderlich:
-
Die ID wird verwendet, um das ursprüngliche Challenge-Paket zu finden.
-
Die ID wird in den MD5-Hash-Generator eingespeist.
-
Der ursprüngliche Zufallswert für die Herausforderung wird in den MD5-Hash-Generator eingespeist.
-
Der Name 766-1 wird verwendet, um das Passwort aus einer der folgenden Quellen nachzuschlagen:
-
Das Kennwort wird in den MD5-Hash-Generator eingespeist.
-
Der im Antwortpaket empfangene Hashwert wird dann mit dem berechneten MD5-Hashwert verglichen. Die CHAP-Authentifizierung ist erfolgreich, wenn der berechnete und der empfangene Hashwert gleich sind.
Ergebnis
Erfolgsmeldung wird an den anrufenden Router gesendet
Abbildung 7: Erfolgsmeldung wird an den anrufenden Router gesendet
Abbildung 7 zeigt die Erfolgsmeldung, die an den anrufenden Router gesendet wurde. Dies umfasst folgende Schritte:
-
Wenn die Authentifizierung erfolgreich ist, wird ein CHAP-Erfolgspaket aus den folgenden Komponenten erstellt:
-
03 = CHAP-Erfolgsnachrichtentyp.
-
ID = aus dem Antwortpaket kopiert.
-
"Willkommen in" ist eine einfache Textnachricht, die eine für den Benutzer lesbare Erklärung bietet.
-
Wenn die Authentifizierung fehlschlägt, wird ein CHAP-Fehlerpaket aus den folgenden Komponenten erstellt:
-
04 = CHAP-Fehlermeldungstyp.
-
ID = aus dem Antwortpaket kopiert.
-
"Authentifizierungsfehler" oder eine andere Textnachricht, die eine für den Benutzer lesbare Erklärung liefert.
-
Das Erfolgs- oder Fehlerpaket wird dann an den anrufenden Router gesendet.
Hinweis: Dieses Beispiel zeigt eine unidirektionale Authentifizierung. Bei einer bidirektionalen Authentifizierung wird dieser gesamte Vorgang wiederholt. Der anrufende Router initiiert jedoch die erste Herausforderung.
Fehlerbehebung bei CHAP
Weitere Informationen zur Fehlerbehebung bei Problemen finden Sie unter Troubleshoot PPP (CHAP or PAP) Authentication.
Zugehörige Informationen