Point-To-Point Protocol (PPP)

Das Point to Point Protocol (PPP) findet gegenwärtig vielfachen Einsatz. Es arbeitet mit drei Teilprotokollen:

  • Das Data Link Layer Protocol ermöglicht die Übertragung (Encapsulation) von Datengrammen über serielle Verbindungen mit Hilfe von HDLC.

  • Das Link Control Protocol (LCP) steuert Aufbau, Konfiguration und Test der Verbindung.

  • Das Network Control Protocol (NCP) ermöglicht die Übertragung von Konfigurationsdaten für verschiedene Protokolle der Vermittlungsschicht.

PPP ist geeignet für den simultanen Einsatz verschiedener Protokolle der Vermittlungsschicht, es ist also ein so genanntes "Multi-Protokoll-Protokoll". Es ist ein zustandsorientiertes Protokoll:

PPP ist ein verbindungsorientiertes Protokoll und unterscheidet drei Phasen Verbindungsaufbau, Datenübertragung und Verbindungsabbau. Die Realisierung dieser Phasen unter Berücksichtigung der Teilprotokolle von PPP zeigt das Bild unten.

  1. Der anrufende PPP-Knoten sendet LCP-Rahmen zum Aufbau und zur Konfiguration der Verbindung (Data Link). Die LCP-Pakete verfügen über ein Feld mit Konfigurations-Optionen. Zu diesen Optionen zählen beispielsweise die Maximum Transmission Unit (MTU). Hierbei handelt es sich um die Angabe, ob bestimmte PPP-Felder komprimiert werden, oder das Link äuthentication Protocol (LAP).

  2. In einer optionalen Phase wird überprüft, ob die Qualität der Verbindung für den Aufbau einer Übertragung der Pakete der Vermittlungsschicht ausreicht.

  3. Es folgt eine Authentifizierungsphase.

  4. Der anrufende PPP-Knoten sendet NCP-Rahmen zur Auswahl und Konfiguration des zu übertragenden Protokolls der Vermittlungsschicht.

  5. Nun können die Daten übertragen werden.

  6. Die Verbindung bleibt bis zur Beendigung durch LCP- oder NCP-Rahmen bestehen oder bis ein externes Ereignis auftritt. Zu diesen kann eine Unterbrechung durch den Anwender, der Abbruch der Übertragung oder der Ablauf eines "Inactivity Timers" zählen.

PPP unterstützt verschiedene Protokolle zur Authentifizierung. Dabei realisieren alle Protokolle nur eine einseitige Authentifizierung. Dies bedeutet, dass sich der anrufende Knoten bzw. dessen Anwender authentifizieren und der angerufene Knoten diese Authentifizierung überprüfen muss. Der angerufene Knoten authentifiziert sich durch seine Verfügbarkeit unter dieser physischen Verbindung. Die wichtigsten Authentifizierungsprotokolle sind:

  • das Password Authentication Protocol (PAP),

  • das Shiva Password Authentication Protocol(SPAP),

  • das Challenge Handshake Authentication Protocol (CHAP) sowie

  • eine Variante des CHAP, das Microsoft-CHAP (MS-CHAP), das in zwei Versionen vorliegt.

Die Authentifzierungsprotokolle mit der größten Verbreitung sind PPP und CHAP. Auch MS-CHAPv2 ist recht häufig anzutreffen. Die meisten ISPs fragen beim einwählenden Host zunächst CHAPan.

PAP unterstützt ein so genanntes Zwei-Wege-Handshake. Die Kombination "Username/Password" wird vom anrufenden Knoten so lange übertragen, bis die Authentifizierung bestätigt oder abgelehnt wird. Im Falle der Ablehnung wird die Verbindung abgebrochen. Dieses Vorgehen bietet allerdings nur eine geringe Sicherheit: Das Passwort wird unverschlüsselt übertragen. Es ist eine beliebige Anzahl von Wiederholungen möglich. Und schließlich werden Häufigkeit und Geschwindigkeit der Versuche vom anrufenden Knoten bestimmt, so dass ein Brute-Force-Angriff möglich wird.

CHAP bietet ein erhöhtes Sicherheitsniveau im Rahmen eines so genannten Drei-Wege-Handshakes. Der anrufende Knoten darf erst die Authentifizierung beginnen, wenn er vom angerufenen Knoten dazu aufgefordert wurde. Auf diese Weise werden Häufigkeit und Geschwindigkeit der Versuche vom angerufenen Knoten bestimmt. Zusätzlich wird die Kombination "Username/Password" nur im Rahmen einer Ein-Wege-Hash-Funktion (Message Digest 5, MD5) übertragen. Die Überprüfung kann also nicht nur beim Verbindungsaufbau, sondern auch periodisch während der Verbindung stattfinden.