Das Password Authentication Protocol (PAP) und das Challenge Handshake Authentication Protocol (CHAP) werden beide zur Authentifizierung von PPP-Sitzungen verwendet und können mit vielen VPNs verwendet werden.
PAP funktioniert wie ein Standard-Anmeldeverfahren. Das Remote-System authentifiziert sich mit einer statischen Kombination aus Benutzername und Kennwort. Das Passwort kann einen etablierten verschlüsselten Tunnel für zusätzliche Sicherheit passieren, aber PAP ist zahlreichen Angriffen ausgesetzt. Da die Informationen statisch sind, sind sie anfällig für das Erraten und Schnüffeln von Passwörtern.
CHAP verfolgt einen ausgefeilteren und sichereren Ansatz für die Authentifizierung. Es erstellt eine eindeutige Challenge-Phrase für jede Authentifizierung, indem eine zufällige Zeichenfolge generiert wird. Diese Challenge-Phrase wird mit Geräte-Hostnamen unter Verwendung von Einweg-Hash-Funktionen kombiniert. Mit diesem Prozess kann sich CHAP so authentifizieren, dass statische geheime Informationen nicht über die Leitung gesendet werden.
Lassen Sie uns tiefer in die Unterschiede zwischen PAP und CHAP eintauchen und wie sie zusammenarbeiten können.
Was ist PAP?
Von den beiden PPP-Authentifizierungsmethoden (Point-to-Point Protocol) ist PAP älter. Es wurde 1992 durch IETF Request for Comments 1334 standardisiert. PAP ist ein passwortbasiertes Client-Server-Authentifizierungsprotokoll. Die Authentifizierung erfolgt nur einmal zu Beginn eines Sitzungsaufbaus.
PAP verwendet einen bidirektionalen Handshake-Prozess zur Authentifizierung mit den folgenden Schritten.
Schritt 1. Der Client sendet Benutzername und Passwort an den Server.
Der Client, der eine PPP-Sitzung mit einem Server einrichten möchte, sendet eine Kombination aus Benutzername und Kennwort an den Server. Dies wird durch ein Authentifizierungsanforderungspaket durchgeführt.
Schritt 2. Server akzeptiert Anmeldeinformationen und überprüft.
Wenn der Server Authentifizierungsanforderungen überwacht, akzeptiert er die Anmeldeinformationen für Benutzername und Kennwort und überprüft, ob sie übereinstimmen.
Wenn die Anmeldeinformationen korrekt gesendet wurden, sendet der Server ein authentication-ack-Antwortpaket an den Client. Der Server stellt dann die PPP-Sitzung zwischen Client und Server her.
Wenn die Anmeldeinformationen falsch gesendet werden, sendet der Server ein authentication-nak-Antwortpaket an den Client. Der Server erstellt keine Antwort basierend auf der negativen Bestätigung.
PAP ist ein einfacher Authentifizierungsmechanismus und einfach zu implementieren, hat jedoch schwerwiegende Nachteile für die Verwendung in realen Umgebungen. Der größte Nachteil ist, dass PAP statische Benutzernamen und Kennwörter im Klartext von Clients an Server sendet. Wenn schlechte Akteure diese Kommunikation mit Tools wie einem Paket-Sniffer abfingen, konnten sie sich authentifizieren und eine PPP-Sitzung im Namen des Clients einrichten.
Es ist möglich, PAP-Authentifizierungsanforderungen über vorhandene verschlüsselte Tunnel zu senden. Wenn jedoch andere Authentifizierungsoptionen verfügbar sind, z. B. CHAP, sollten Teams eine alternative Methode verwenden.
Was ist KAP?
CHAP verwendet einen Drei-Wege-Handshake-Prozess, um das Authentifizierungskennwort vor schlechten Akteuren zu schützen. Es funktioniert wie folgt.
Schritt 1. Nachdem die Verbindung hergestellt wurde, sendet der Authentifikator eine Authentifizierungsherausforderung.
Der Netzwerkzugriffsserver führt eine Hostnamensuche auf dem Client durch und initiiert die CHAP-Authentifizierung, indem er eine „ask challenge“ an den Remotebenutzer sendet. Diese Herausforderung enthält eine zufällig generierte Herausforderungszeichenfolge.
Schritt 2. Der Client führt eine Hostnamensuche durch.
Der Client verwendet das Kennwort, das sowohl dem Client als auch dem Server bekannt ist, um einen verschlüsselten Einweg-Hash basierend auf der Challenge-Zeichenfolge zu erstellen.
Schritt 3. Server entschlüsselt Hash und überprüft.
Der Server entschlüsselt den Hash und überprüft, ob er mit der ursprünglichen Challenge-Zeichenfolge übereinstimmt. Wenn die Zeichenfolgen übereinstimmen, antwortet der Server mit einem Authentifizierungserfolgspaket. Wenn die Zeichenfolgen nicht übereinstimmen, sendet der Server eine Authentifizierungsfehlermeldung, und die Sitzung wird beendet.
Was sind die Unterschiede zwischen PAP und CHAP?
CHAP kam 1996 hauptsächlich als Antwort auf die Authentifizierungsschwächen von PAP auf den Markt. Anstelle eines bidirektionalen Handshakes verwendet CHAP einen Dreiwege-Handshake und sendet das Kennwort nicht über das Netzwerk. CHAP verwendet einen verschlüsselten Hash, für den sowohl der Client als auch der Server den gemeinsamen geheimen Schlüssel kennen. Dieser zusätzliche Schritt hilft, die in PAP gefundenen Sicherheitslücken zu beseitigen.
Ein weiterer Unterschied besteht darin, dass CHAP für wiederholte Midsession-Authentifizierungen eingerichtet werden kann. Dies ist nützlich für bestimmte PPP-Sitzungen, bei denen ein Port geöffnet bleibt, obwohl das Remotegerät die Verbindung getrennt hat. In diesem Fall könnte jemand anderes die Verbindungsmitte abholen, indem er eine physische Konnektivität herstellt.
Wie können PAP und CHAP zusammenarbeiten?
PAP und CHAP können per se nicht zusammenarbeiten. Protokolle, die entweder PAP oder CHAP verwenden, können jedoch auf Wunsch mit beiden Authentifizierungsmethoden interagieren.
PPP kann beispielsweise entweder PAP oder CHAP für die Authentifizierung verwenden. So könnten Administratoren das Kommunikationsprotokoll so konfigurieren, dass zuerst versucht wird, sich über den sicheren Drei-Wege-Handshake von CHAP zu authentifizieren, und dann auf den weniger sicheren Zwei-Wege-Authentifizierungsprozess in PAP zurückgreifen.