- CRAM-MD5
-
CRAM-MD5 (Challenge-Response Authentication Mechanism, Message Digest 5) ist ein Authentifizierungsverfahren nach dem Challenge-Response-Prinzip auf der Basis des MD5-HMAC-Algorithmus.
Es wird beispielsweise gerne zur Authentifizierung gegenüber SMTP- oder IMAP-Servern eingesetzt, da es die Übertragung des Passworts im Klartext vermeidet. Durch dieses Verfahren kann auch über unverschlüsselte Kanäle eine sichere Authentifizierung gegenüber einem Server erfolgen.
Verfahren
In RFC 2195 ist das Verfahren näher beschrieben:
- Der Server sendet einen String (Zahlen, Zeitstempel und voll qualifizierte Hostname des Servers) zum Client (Challenge).
- Der Client antwortet mit einem String aus Nutzernamen, Leerzeichen und einem „Digest“. Dieses Digest ist mehr oder weniger der MD5-Hash aus dem Passwort und dem Zeitstempel des Servers (Response).
- Der Server kann das erhaltene Digest überprüfen, indem er dieselbe Berechnung durchführt und das Ergebnis mit dem vom Client erhaltenen vergleicht. Dazu muss der Server allerdings das Passwort des Benutzers im Klartext separat vorliegen haben. Das ursprüngliche Passwort wurde ja im Schritt 2 durch das Hashing vom Client unkenntlich gemacht.
Die Berücksichtigung des Zeitstempels vom Server bei der Berechnung des Passwort-Hashs verhindert also, dass Angreifer über unsichere Verbindungen an die direkten Authentifizierungsmerkmale eines Benutzers gelangen können. Würde das Passwort des Benutzers lediglich gehasht, brauchte ein Angreifer nur diesen Hash abzugreifen und könnte sich damit gegenüber einem Server beliebig authentifizieren. Selbst unter Kenntnis des Zeitstempels, den der Server zum Client geschickt hat, gelingt einem Angreifer dies nicht mehr, weil sich der Zeitstempel vom Server bei jedem Authentifizierungsvorgang ändert, der Angreifer aber nicht im Besitz des Passwortes ist, um dieses inklusive des Zeitstempels hashen und selbst an den Server schicken zu können. Es besteht lediglich die Möglichkeit, den Zeitstempel des Servers und den daraus generierten Digest des Clients abzugreifen und mit verschiedenen kryptografischen Attacken, Brute-Force, Dictionary Attack, Rainbow Table usw., ausgehend von Hash und Zeitstempel wieder auf das Klartextpasswort zurück zu schließen. Da dies sehr aufwändige Prozesse sind, kann CRAM-MD5 durchaus als ausreichend sicher gelten.
Weblinks
Kategorien:- Netzwerkprotokoll
- Authentifizierungsprotokoll
- Abkürzung
Wikimedia Foundation.