- Authenticated Post Office Protocol
-
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.
Inhaltsverzeichnis
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)
Wikimedia Foundation.