Getty Images/iStockphoto
Was sind die Unterschiede zwischen PAP, CHAP und MS-CHAP?
PAP, CHAP und MS-CHAP sind Authentifizierungsprotokolle, die sich beim Handshake unterscheiden. Die drei Methoden sind zwar noch verbreitet, gelten jedoch nicht mehr als sicher.
Sowohl das Password Authentication Protocol (PAP) als auch das Challenge Handshake Authentication Protocol (CHAP) dienen zur Authentifizierung von PPP-Sitzungen und lassen sich in vielen VPNs einsetzen.
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 mit 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 vertraulichen Information über die Leitung gesendet werden.
Betrachten wir nun genauer die Unterschiede zwischen PAP und CHAP und wie sie zusammenarbeiten können.
Wie funktioniert 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.
PAP ist ein einfacher Authentifizierungsmechanismus, der leicht zu implementieren ist, aber er hat ernsthafte Nachteile beim Einsatz 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.
Wie funktioniert 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.
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-Erfolgspaket. 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 parallel zur Authentifizierung eingesetzt werden. 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.
MS-CHAP
Von Microsoft stammt MS-CHAP für Windows-Betriebssysteme, das auf CHAP basiert. Es gibt zwei Versionen, MS-CHAPv1 (RFC 2433) und MS-CHAPv2 (RFC 2759), die nicht zueinander kompatibel sind und für unterschiedliche Zwecke entwickelt wurden. MS-CHAPv2 ist die relevantere Version, die bei VPNs zum Einsatz kommt. MS-Chapv2 gilt allerdings nicht mehr als sicher und wurde bereits geknackt. Es hat die selben Einschränkungen wie CHAP.
Sicherheitsprobleme
CHAP und MS-Chapv2 bieten zwar mehr Sicherheit als PAP, allerdings genügt die Verschlüsselung nicht mehr heutigen Ansprüchen. Beide sind anfällig für Man-in-the-Middle- (MITM) und Brute-Force-Angriffe. Zum Einsatz kommt außerdem eine veraltete Verschlüsselung. Moderne Sicherheitsmechanismen wie Multifaktor-Authentifizierung (MFA) oder digitale Zertifikate werden nicht unterstützt.
Sicherere Alternativen sind EAP (Extensible Authentication Protocol), RADIUS (Remote Authentication Dial-In User Service) und OAuth 2.0.