A
anonym
Gast
Hallo Leute,
ich implementiere gerade das POP3- Protokoll. Das ist notwendig, weil ich einen Mailserver brauche, der sich in ein vorhandenes Nutzerverwaltungssystem integriert und ich leider keine Implementierung finde, die mir das erlaubt.
Mein Problem ist folgendes:
POP3 kennt zwei Authentifizierungsmechnismen.
Der Erste (USER und PASS- Befehle) überträgt das Passwort in Klartext. In der Implementierung kein Problem, aber sicherheitsmäßig kritisch.
Der Zweite (APOP) erhält den Nuternamen und einen md5- Hash von Passwort und einem vorher vom Server festgelegten String (die RCF empfiehlt was aus Hostname, Prozessid und einem Timestamp zu bauen). Das wird dann verkettet als <[SERVERWERT]>[PASSWORT], also wenn das Passwort secret ist und der Server 1234567 (was nicht dem RFC- Vorschlag entspricht, es ist halt ein Beispiel) gesagt hat:
<1234567>secret
Das wird dann gehashed und zurückgesendet. RFC 1460 (POP3) schlägt vor, der Server möge diesen String seinerseits konstruieren und hashen, um ihn prüfen zu können.
Nun speichert der, wie gesagt vorhandene, Authentifizierungsmechnismus leider nur Hashwerte der Passwörter.
Wie kann ich den das jetzt verifizieren?
ich implementiere gerade das POP3- Protokoll. Das ist notwendig, weil ich einen Mailserver brauche, der sich in ein vorhandenes Nutzerverwaltungssystem integriert und ich leider keine Implementierung finde, die mir das erlaubt.
Mein Problem ist folgendes:
POP3 kennt zwei Authentifizierungsmechnismen.
Der Erste (USER und PASS- Befehle) überträgt das Passwort in Klartext. In der Implementierung kein Problem, aber sicherheitsmäßig kritisch.
Der Zweite (APOP) erhält den Nuternamen und einen md5- Hash von Passwort und einem vorher vom Server festgelegten String (die RCF empfiehlt was aus Hostname, Prozessid und einem Timestamp zu bauen). Das wird dann verkettet als <[SERVERWERT]>[PASSWORT], also wenn das Passwort secret ist und der Server 1234567 (was nicht dem RFC- Vorschlag entspricht, es ist halt ein Beispiel) gesagt hat:
<1234567>secret
Das wird dann gehashed und zurückgesendet. RFC 1460 (POP3) schlägt vor, der Server möge diesen String seinerseits konstruieren und hashen, um ihn prüfen zu können.
Nun speichert der, wie gesagt vorhandene, Authentifizierungsmechnismus leider nur Hashwerte der Passwörter.
Wie kann ich den das jetzt verifizieren?