Was sind die Unterschiede zwischen PAP und CHAP?

PAP verwendet einen Zwei-Wege-Handshake zur Authentifizierung von Client-Sitzungen, CHAP einen Drei-Wege-Handshake. Beide Verfahren sind gängig, aber eines ist sicherer.

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 genutzt werden.

PAP funktioniert wie ein Standard-Anmeldeverfahren. Das entfernte System authentifiziert sich mit einer statischen Kombination aus Benutzernamen und Kennwort. Das Kennwort kann zur zusätzlichen Sicherheit einen verschlüsselten Tunnel durchlaufen, aber PAP ist zahlreichen Angriffen ausgesetzt. Da die Informationen statisch sind, ist es anfällig für das Ausspähen und Erraten von Passwörtern.

CHAP verfolgt einen ausgefeilteren und sichereren Ansatz zur Authentifizierung. Es erstellt für jede Authentifizierung eine eindeutige Sicherheitsfrage (Challenge Phrase), indem es eine zufällige Zeichenfolge generiert. Diese Challenge-Phrase wird mithilfe von Einweg-Hash-Funktionen mit den Host-Namen der Geräte kombiniert. Mit diesem Verfahren kann CHAP die Authentifizierung auf eine Weise vornehmen, bei der keine statischen Geheiminformationen über die Leitung gesendet werden.

Betrachten wir nun genauer die Unterschiede zwischen PAP und CHAP und wie sie zusammenarbeiten können.

Was ist PAP?

Von den beiden PPP-Authentifizierungsmethoden (Point-to-Point Protocol) ist PAP die ältere. Es wurde 1992 durch den IEEE Request for Comments 1334 (RFC 1334) standardisiert. PAP ist ein Client-Server-Authentifizierungsprotokoll auf Passwortbasis. Die Authentifizierung erfolgt nur einmal zu Beginn des Sitzungsaufbaus.

PAP verwendet ein Zwei-Wege-Handshake-Verfahren zur Authentifizierung, das die folgenden Schritte umfasst.

Schritt 1. Der Client sendet Benutzernamen und Passwort an den Server.

Der Client, der eine PPP-Sitzung mit einem Server aufbauen möchte, sendet eine Kombination aus Benutzernamen und Kennwort an den Server. Dies geschieht durch ein Authentifizierungs-Anfragepaket.

Schritt 2. Der Server akzeptiert die Anmeldedaten und überprüft sie.

Wenn der Server auf Authentifizierungsanfragen hört, akzeptiert er die Anmeldedaten für den Benutzernamen und das Kennwort und prüft, ob sie übereinstimmen.

Wenn die Anmeldeinformationen korrekt gesendet wurden, schickt der Server ein Antwortpaket (Authentication-ack) an den Client. Der Server baut dann die PPP-Sitzung zwischen dem Client und dem Server auf.

Bei falschen Anmeldeinformationen antwortet der Server mit einem Authentication-nak-Paket an den Client. Der Server baut aufgrund der negativen Quittierung keine Antwort auf.

Abbildung 1: PAP verwendet einen Zwei-Wege-Handshake, um Client-Sitzungen zu authentifizieren und zu initiieren.
Abbildung 1: PAP verwendet einen Zwei-Wege-Handshake, um Client-Sitzungen zu authentifizieren und zu initiieren.

PAP ist ein einfacher Authentifizierungsmechanismus, der leicht zu implementieren ist, aber er hat ernsthafte Nachteile bei der Verwendung in realen Umgebungen. Der größte Nachteil ist, dass PAP statische Benutzernamen und Passwörter im Klartext von den Clients an die Server sendet. Wenn böswillige Akteure diese Kommunikation mit Tools wie einem Packet Sniffer abfangen, können sie sich authentifizieren und eine PPP-Sitzung im Namen des Clients aufbauen.

Es ist möglich, PAP-Authentifizierungsanfragen durch bestehende verschlüsselte Tunnel zu senden. Wenn jedoch andere Authentifizierungsoptionen wie CHAP verfügbar sind, sollten IT-Teams eine alternative Methode verwenden.

Was ist CHAP?

CHAP verwendet ein Drei-Wege-Handshake-Verfahren, um das Authentifizierungskennwort vor böswilligen Benutzern zu schützen. Es funktioniert wie folgt.

Schritt 1. Der Client initiiert die Authentifizierung, und der Server generiert eine Abfrage (Challenge).

Der Client leitet die CHAP-Authentifizierung ein, indem er eine Ask Challenge an den Server sendet. Der Server antwortet mit einem zufällig generierten Challenge-String.

Abbildung 2: CHAP verwendet ein Drei-Wege-Handshake, um Client-Sitzungen zu authentifizieren und zu initiieren.
Abbildung 2: CHAP verwendet ein Drei-Wege-Handshake, um Client-Sitzungen zu authentifizieren und zu initiieren.

Schritt 2. Der Client führt eine Host-Namensuche durch.

Der Client führt einen Host-Namen-Lookup auf dem Server durch und verwendet das Passwort, das sowohl der Client als auch der Server kennen, um einen verschlüsselten Einweg-Hash zu erstellen.

Schritt 3. Der Server entschlüsselt den Hash und verifiziert ihn.

Der Server entschlüsselt den Hash und prüft, ob er mit der anfänglichen Challenge-String übereinstimmt. Wenn die Zeichenfolgen zusammenpassen, antwortet der Server mit einem Authentifizierungs-Erfolgs-Paket. Stimmen die Zeichenfolgen nicht überein, sendet der Server eine Authentifizierungs-Fehlermeldung als Antwort, und die Sitzung wird beendet.

Was sind die Unterschiede zwischen PAP und CHAP?

CHAP kam 1996 auf den Markt, vor allem als Reaktion auf die Authentifizierungsschwächen von PAP. Die beschriebenen Methoden und die ausgefeiltere Vorgehensweise von CHAP mit dem gemeinsamen geheimen Schlüssel (Shared Secret Key) tragen dazu bei, die Sicherheitslücken von PAP zu schließen.

Ein weiterer Unterschied ist, dass CHAP so eingerichtet werden kann, dass wiederholte Authentifizierungen zwischen den Sitzungen durchgeführt werden. Dies ist nützlich für bestimmte PPP-Sitzungen, die einen Port offen lassen, obwohl das entfernte Gerät die Verbindung getrennt hat. In diesem Fall könnte eine andere Person sonst die Verbindung mitten in der Sitzung wieder aufnehmen, indem sie eine physische Verbindung herstellt.

Können PAP und CHAP zusammenarbeiten?

PAP und CHAP können nicht per se zusammenarbeiten. Protokolle, die entweder PAP oder CHAP verwenden, können jedoch mit beiden Authentifizierungsmethoden interagieren, falls gewünscht.

So kann PPP beispielsweise entweder PAP oder CHAP zur Authentifizierung verwenden. Administratoren können das Kommunikationsprotokoll so konfigurieren, dass es zunächst versucht, sich über den sicheren Drei-Wege-Handshake von CHAP zu authentifizieren und dann auf den weniger sicheren Zwei-Wege-Authentifizierungsprozess von PAP zurückgreift.

Erfahren Sie mehr über Netzwerksicherheit

ComputerWeekly.de
Close