Zum Inhalt springen

Authenticated Post Office Protocol

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. März 2009 um 11:08 Uhr durch Trainspotter (Diskussion | Beiträge) (Literatur). Sie kann sich erheblich von der aktuellen Version unterscheiden.

APOP ist ein optionaler Befehl für POP3, der erstmals in RFC 1460 spezifiziert wurde. Normalerweise werden die Daten für die Authentifizierung mittels der USER/PASS-Befehle als Klartext übertragen. Diese Methode stellt ein großes Sicherheitsrisiko dar, weil das Passwort für einen Angreifer leicht auslesbar ist (z. B. durch Sniffing). Bei APOP wird stattdessen von dem Passwort mit Hilfe des MD5-Algorithmus ein Hashwert erzeugt und dieser übertragen. Voraussetzung ist allerdings ein Server, der dieses Kommando unterstützt.

Authentifizierung mittels APOP

1. Phase

Der Client verbindet sich mit dem POP3-Server (über TCP/IP auf Port 110). Der Server antwortet mit einer Begrüßung in der Form:

+OK [Text] <timestamp>

Server, die APOP unterstützen, senden dabei zusätzlich das <timestamp>-Feld. Die Syntax dieses Zeitstempels (<timestamp>) ist grundlegend festgelegt (Feld 'msg-id' in RFC 822). Das Feld könnte z. B. in der Form <pid.clock@hostname> sein, wobei pid die Prozess-ID, clock der aktuelle Wert der System-Uhr und hostname der vollständige Hostname des Servers ist. Der Timestamp muss bei jedem Verbindungsvorgang eines Clienten unterschiedlich sein.

2. Phase

Der Client generiert nun einen String (mit den spitzen Klammern) in der Form:

<timestamp>passwort

wobei passwort das Passwort des Benutzers ist.

Aus diesem String wird nun ein MD5-Hash berechnet, der dem Server mit dem APOP-Kommando mitgeteilt wird. Die Syntax ist:

APOP name digest

wobei digest der MD5-Hash und name der Benutzername (der normalerweise mit dem Befehl 'USER' übergeben werden würde) ist.

3. Phase

Der Server berechnet seinerseits ebenfalls den MD5-Hash in der oben angegebenen Form und vergleicht ihn mit dem vom Client. Sind sie identisch, ist die Authentifizierung erfolgreich gewesen und der Server sendet eine positive (in der Form +OK [Text]), ansonsten eine negative Antwort (in der Form -ERR [Text]).

MUAs mit APOP-Unterstützung

Die folgende Liste beinhaltet NICHT alle MUAs (Mail User Agents), die APOP unterstützen.

Name Lizenz Programmiersprache Toolkit/Framework
GNUMail GPL Objective-C GNUStep-Framework
Claws Mail GPL C GTK+
Sylpheed GPL C GTK+
KMail GPL C++ Qt
MH Public Domain C ncurses
Ezimail BSD C ncurses
Thunderbird MPL/LGPL/GPL C/C++ XPToolkit
Balsa GPL C GTK+
KShowmail GPL C++ Qt

Literatur

  • RFC 1460 (Post Office Protocol - Version 3)