[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