Rainbow Tables
Kurz: Rainbow Tables sind vorberechnete Nachschlagetabellen, mit denen man aus einem Passwort-Hash schnell das Passwort zurückrechnet. Salz macht sie unbrauchbar.
Genauer: Statt jedes Mal alle Passwörter durchzuprobieren, tauscht man Speicher gegen Rechenzeit: Man berechnet vorab Ketten aus Hash- und Reduktionsschritten und legt nur Anfang und Ende ab.
Im Detail
- Idee: Eine Kette
Passwort → Hash → Passwort' → Hash → …wird gespeichert als (Start, Ende). Beim Knacken wird die Kette vom Ziel-Hash nachgebildet, bis ein Endpunkt passt, und dann ab dem Start rekonstruiert. - Gegenmittel Salz: Ein zufälliger Zusatzwert pro Nutzer macht gleiche Passwörter zu verschiedenen Hashes. Tabellen müssten für jeden Salzwert neu berechnet werden. Siehe Passwörter sicher speichern.
- Langsame Verfahren: Argon2, bcrypt und scrypt machen jeden Versuch teuer.
- Heute: Gegen unsalzige Alt-Hashes (MD5, SHA-1, siehe MD5 und SHA-1) wirken sie noch. Für starke Passwörter sind GPU-Wörterbuchangriffe praktischer.
- Lehre: Nie Passwörter mit einem schnellen, unsalzigen Hash speichern.
Siehe auch: Hashing