tice.de websiteproductions tice.de websiteproductions Main address:Julius-Ludowieg-Str. 84 21073 Hamburg, Germany Tel:+49 172 418 76 98E-mail:blog@tice.de
MD5 Verschlüsselung geknackt | CMS Hamburg

MD5 Verschlüsselung geknackt

Montag, 11. März 2013


Die mit MD5 verschlüsselten Passwörter sind nicht mehr sicher. Inzwischen ist es möglich eines der bekanntesten und beliebtesten Verschlüsselungsverfahren (MD5) zu knacken.



Genauer gesagt wird der Hash von MD5, eine "zerhakte" Ausgabe als Speicherform gewählt, die 3,4×1038 Versionen bei 128 Bit/ 16 Byte ausgibt gespeichert. Inzwischen ist es jedoch möglich den Hashwert (das Passwort) aus der kryptischen Zeichenfolge (Hash) zu ermittel.

Auch wenn die Speicherort der Hashwerte eine zusätzliche Hürde bieten, so ist die ursprünglich doppelte Geheimhaltung nun auf eine einfache reduziert. Zeit MD5 verschlüsselte Passwörter neu zu verschlüsselt, abzuspeichern und abzufragen.

Alternativ kann z.B. SHA1 eingesetzt werden. Doch auch die 160 bit Zeichenkette dürfte in absehbarer Zeit knackbar sein. Welche Alternativen gibt es?

Ein "Salted Hash", also ein Hashwert mit etwas Salz macht die Zeichensuppe würziger und lässt gängige Entschlüsselungstabellen draußen.

$hashedPassword = sha1(md5($password) . $salt . sha1($salt . $password));


Eine Kombination aus MD5 SHA1 und Salt (siehe oben) lässt sich verwenden. Je individueller die Zusammenstellung für den Hash, desto schwieriger wird die Entschlüsselung.

Der Salt-Wert kann hierbei eine kurze Zeichenkette sein, die eingestreut das Ergebnis extrem viel komplexer werden lässt, und so eine Entschlüsselung fast unmöglich macht.
$password = "geheim";
$md5password = md5($password);
$sha1password = sha1($password);
$hashedPassword = sha1(md5($password) . $salt . sha1($salt . $password));

ergibt:
MD5: e8636ea013e682faf61f56ce1cb1ab5c
SHA1: 906072001efddf3e11e6d2b5782f4777fe038739
SHA1 + MD5 + Salt: cd91af97a7fc05de21390cc1f5657be2a3181c55

Das Beispiel zeigt nur eine der möglichen Verschlüsselungsversionen, die aber zu entsprechend komplexen Ergebnissen führen.

Auch ist zu bedenken, dass die MD5 Entschlüsselung mit sogenannten Regenbogenbtabellen (rainbow tables) arbeitet, sprich, es müssen die Zeichenfolgen in sehr großen Tabellen bereits zusammen mit einem Hash gespeichert sein. Bis zu 6 Zeichen sind dabei in Sekunden zu finden (auch einige mehr durch Kombination).

Längere und komplexe Passwörter sind jedoch entsprechend schwer zu entschlüsseln und können Stunden bis Jahre dafür benötigen. Man muss aber immer davon ausgehen, dass Kunden kurze Passwörter wählen.