Dark ITSec
Authentisierungsprotokolle
Durch die Authentifizierung wird die wahre Identität eines Nutzers/Person/Rechners/Programms an Hand eines bestimmten Merkmals, z.B. dem Fingerabdruck oder Passwort überprüft.
Motivation
PPP Point to Point Protokoll
S/Key Einmalige Schlüsselverwaltung
RADIUS (Remote Authentication Dial-In User Service) Loginverwaltung bei
RAS-Einwählen
Kerberos
TACACS+
PPP
Das Point-to-Point Protocol (PPP) ist ein Protokoll zum Verbindungsaufbau
über Wählleitungen (zumeist über Modem oder ISDN).
Das Protokoll PPP hat sich im WAN
bezüglich der Einkapselung gegenüber dem HDLC-Verfahren durchgesetzt.
Es wird meistens zur Kapselung von Datagrammen (Paketen) in
Punkt-zu-Punkt-Verbindungen eingesetzt.
PPP besitzt drei Komponenten:
1. Methode zur Kapselung von Datagrammen über serielle Verbindungen (z.B.
Einwahl in ISP)
2. Ein Link Control Protocol (LCP) für Einrichtung, Konfiguration und
Test der Daten-Link-Verbindung
3. Eine Suite von Network Control Protocols (NCP) zur Einrichtung und
Konfiguration von Protokollen für verschiedene Netzwerkschichten
Zur Einrichtung der Kommunikation muss jedes Ende einer PPP-Verbindung zunächst LCP-Pakete senden, um die Datenverbindung während der Einrichtungsphase zu konfigurieren. Nachdem die Verbindung etabliert wurde, ist eine optionale Authentisierungsphase vorgesehen, bevor es mit der Netzwerkschicht-Protokollphase weitergeht. Wird diese Authentisierung gewünscht, so wird während der Verbindung die Konfigurationsoption für das Authentisierungsprotokoll (z.B. PAP, CHAP, …) festgelegt. Solche Protokolle arbeiten hauptsächlich auf Hosts und Routern, sind aber ebenfalls auf Standleitungen möglich.
PAP - Authentifikation (Password
Authentication Protocol)
Bei dieser Methode der Authentifikation wird nur der Anrufer
authentifiziert und Kennwörter im Klartext über die bestehende Verbindung
gesendet und zwar nur am Anfang der Verbindung.
PAP bietet ebenfalls keinen Schutz gegen Playback und wiederholte
Try-and-Error-Angriffe. Dabei hat der Router die Kontrolle über Häufigkeit und
zeitliche Abfolge der Versuche.
CHAP - Authentifikation (Challenge Handshake Protocol)
CHAP wird hingegen eingesetzt, um kontinuierlich die Identität eines Hosts oder
Endbenutzers über ein Dreiwege-Handshake zu überprüfen. Dies wird beim
Verbindungsaufbau vorgenommen und kann danach jederzeit wiederholt werden.
Das Passwort wird als MD4 Hasch übertragen.
Entgegen PAP ermöglicht CHAP den Schutz gegen Playback-Angriffe durch die
Verwendung eines inkrementell geänderten Kennzeichens und eines variablen
Challenge-Wertes.
Die Verwendung wiederholter Challenge-Nachrichteninhalte soll die Dauer des
Risikos von Einzelattacken weiter begrenzen.
Der RAS hat die Kontrolle über Häufigkeit und den zeitlichen Ablauf der
Challenge-Nachricht.
PAP & CHAP
PAP und CHAP sind Methoden zur Authentisierung einer PPP-Verbindung.
Gegenüber PAP ist CHAP sicherer, da das eigentliche Kennwort nicht über die
PPP-Verbindung geschickt wird.
PAP ist jedoch weiter verbreitet als CHAP.
In der nächsten Abbildung sieht
man den Router, der in diesem Szenario ebenfalls versucht sich beim RAS
anzumelden. CHAP erreicht die Netzwerksicherheit allerdings dadurch, dass allen
Routern gemeinsame Geheiminformationen im Klartext zur Verfügung gestellt
werden. Diese Geheiminformationen werden dabei niemals über die Leitung
übertragen.
Nach Beendigung der Verbindungsaufbauphase sendet die Authentisierungsstelle RAS
eine Challenge-Nachricht an den Router. Diese Nachricht besteht aus einer ID,
einer Zufallszahl und entweder dem Hostnamen des lokalen Geräts oder dem Namen
des Benutzers am Remote Device (in diesem Fall der Name des RAS; siehe Bild).
Der Router berechnet anschließend einen Wert mit Hilfe einer
Einweg-Hash-Funktion. Die ID, Zufallszahl und das gemeinsame Geheimpasswort
PLEASE werden zusammengefasst und als Eingabe für die Einweg-Hash-Funktion
verwendet.
Anschließend sendet der Router
die Challenge-Antwort, die aus dem Hash-Wert und entweder dem Hostnamen des
Remote Remote Device oder dem Namen des Benutzers am Remote Device besteht.
Wenn der RAS die Challenge-Antwort erhält, verifiziert er das Geheimpasswort,
indem er auf den Namen aus der Antwort dieselbe Verschlüsselungsoperation
anwendet. Das Ergebnis wird durch Vergleich mit dem selben Hash-Wert
kontrolliert. Wenn die Werte übereinstimmen, bestätigt der RAS die
Authentisierung und sendet eine Erfolgsmeldung, worauf das Link Control Protocol
LCP die Verbindung etabliert.
. Die geheimen Passwörter auf den jeweiligen Geräten müssen natürlich identisch
sein. Da diese Information nicht übermittelt wird, können andere Geräte die
Passwörter nicht abhören, um sich illegalen Zugang zum System zu verschaffen.
MSCHAP
Microsoft Challenge-Handshake Authentication-Protokoll ist ein
verschlüsseltes Authentisierungsverfahren, das ähnlich wie CHAP arbeitet. Auch
hier sendet man eine Herausforderung (Challenge), bestehend aus einer
Sitzungs-ID und einem zufälligen Herausforderungsstring, an den Remote-Client.
Der Remote-Client muss den Benutzernamen und ein Hash, bestehend aus dem
Herausforderungsstring, der Sitzungs-ID und dem MD4-hashcodierten Kennwort,
zurückgeben. Diese Konstruktion, bei der ein Hash des hashcodierten Kennwortes
bearbeitet wird, schafft eine zusätzliche Sicherheitsstufe, da so auf dem Server
hashcodierte Kennwörter anstelle von Klartext- Kennwörtern gespeichert werden
können.
MS-CHAP bietet auch weitere Fehlercodes, einschließlich eines "Kennwort
abgelaufen“- Codes, und zusätzliche verschlüsselte Client-Server-Meldungen, die
es Benutzern ermöglichen, das Kennwort zu ändern. In MS-CHAP erzeugen Client und
RAS unabhängig voneinander einen Anfangsschlüssel für die spätere
Datenverschlüsselung durch MPPE. Daher ist MS-CHAPAuthentisierung eine
notwendige Voraussetzung für die MPPEbasierte Datenverschlüsselung. In Phase 2
der Konfiguration der PPP-Verbindung sammelt der RAS die Authentisierungsdaten.
Anschließend überprüft er sie mit seiner eigenen Benutzerdatenbank oder mit
einem zentralen Authentisierungsdatenbankserver, wie er beispielsweise von einem
primären Domänencontroller (PDC) für Microsoft vorliegt.
PPP Ablauf
PPP kapselt IP, IPX und NetBEUI-Pakete in PPP-Rahmen und überträgt dann die
PPP-gekapselten Pakete über eine Punkt-zu-Punkt-Verbindung. PPP wird zwischen
einem DFÜ-Client und einem Access-Server, z.B. eines Unternehmens, eingesetzt.
In einer PPP-basierten DFÜ-Sitzung werden vier Aushandlungsphasen unterschieden.
Alle vier müssen erfolgreich beendet worden sein, bevor die PPP-Verbindung
Benutzerdaten übertragen kann:
1. Herstellen der PPP-Verbindung
2. Benutzerauthentisierung
3. PPP-Rückrufsteuerung
4. Starten der NCP
TACACS+ (RFC 1492)
. TACACS (Terminal Access Controller Access Control System) ist ein einfaches
Zugangssteuerungsprotokoll auf UDP-Basis, welches ursprünglich von Bolt, Beranek
und Newman (BBN Inc.) für das Military Network (MILNET) entwickelt wurde.
. TACACS verwendet inzwischen TCP zum Datentransport. Der zugewiesene Login-Port
für UDP bzw. TCP besitzt die Nummer
49 und sollte auf den Befehl listen reagieren.
. TACACS+, die jüngste Generation von TACACS, ist ein Client/Server-Protokoll,
welches sich normalerweise in ein RAS (Client) und Dämonprozess auf einem Unix-
oder NT/2000-Computer (Server) aufteilt.
. Dabei werden grundsätzlich Authentisierung, Autorisierung und Accounting (AAA)
voneinander getrennt. Dies ermöglicht, einen Austausch der Authentisierung mit
beliebigen Inhalten und beliebiger Länge. Dadurch kann jeder
Authentisierungsmechanismus mit dem TACACS-Client verwendet werden. Dazu zählen
beispielsweise PPP-PAP, PPPCHAP, Token-Typen und Kerberos.