[Postfixbuch-users] DIGEST-MD5 funktioniert nicht, CRAM-MD5 dagegen schon
Andreas Winkelmann
ml at awinkelmann.de
So Jan 28 20:16:04 CET 2007
On Sunday 28 January 2007 17:24, Andreas Pothe wrote:
> Was ist bei SASL bei Authentifizierung mittels DIGEST-MD5 anders als z. B.
> bei CRAM-MD5?
Nur mal so grob.
CRAM-MD5: Der Client sendet "AUTH CRAM-MD5" um zu signalisieren, welche
Methode er wünscht. Der Server antwortet mit einem zufälligen Wert. Der
Client verschlüsselt diesen Wert mit dem Benutzerpasswort und schickt das
Ergebnis zusammen mit dem Benutzernamen zurück an den Server. Dieser holt
sich das Passwort des Benutzers und verschlüsselt ebenfalls den
ursprünglichen Wert mit dem Passwort. Sind die beiden Ergebnisse gleich hat
die Authentifizierung geklappt. Wenn nicht, dann halt nicht.
DIGEST-MD5: Der Client sendet "AUTH DIGEST-MD5" um zu signalisieren, welche
Methode er wünscht. Der Server antwortet mit div. Daten. Zu diesen Daten
zählt ein nonce (ähnlich wie der Wert bei CRAM-MD5), einem realm (Meist der
Hostname des Servers), einem charset (meist/immer utf-8), einem
Verschlüsselungs-Algorithmus und noch ein paar Daten. Der Client
verschlüsselt den nonce (Wert wie bei CRAM-MD5) mit dem Passwort und sendet
den Benutzernamen, den Realm, das Ergebnis der Verschlüsselung, einen
zufälligen Wert sowie noch ein paar Daten zurück. Der Server verifiziert nun
die Daten und verschlüsselt den Wert vom Client mit dem Passwort und schickt
dieses zurück an den Client. Dadurch kann der Client auch erkennen, ob der
Server im Besitz des Passwortes ist. Das macht ihn noch etwas sicherer wie
CRAM-MD5. Ausserdem ist bei DIGEST-MD5, ähnlich wie bei PLAIN, die Übergabe
einer Authorisierungs-Id möglich.
> Während die Methoden CRAM-MD5, PLAIN und LOGIN bei mir
> einwandfrei funktionieren, ist die Authentifizierung per DIGEST-MD5 nicht
> möglich, es wird mit der Fehlermeldung "SASL authentication failure: realm
> changed: authentication aborted" abgebrochen:
Der in Step 1 vom Server an den Client gesendete Realm unterscheidet sich von
dem in Step 2 an den Server zurückgeschickte Realm vom Client. Ob das jetzt
definitiv falsch ist habe ich jetzt nicht finden können. Im RFC
steht "SHOULD" sollte gleich sein. Aber auf jedenfall ist es unüblich.
Was die Frage aufwirft, welchen MUA Du verwendest?
--
Andreas
Mehr Informationen über die Mailingliste Postfixbuch-users