Eine Rainbow-Tabelle (deutsch: Regenbogentabelle) ist eine vorgefertigte Liste mit Hash-Werten und ihren ursprünglichen Klartextwerten. Sie dient dazu, Passwörter zu knacken, indem man den Hash eines gesuchten Passworts mit denen in der Tabelle vergleicht.
Funktionsweise
- Ein Hashwert wird mit Einträgen in der Rainbow-Tabelle abgeglichen
- Wird ein passender Eintrag gefunden, lässt sich das ursprüngliche Passwort ermitteln
- Die Tabellen nutzen spezielle Techniken wie Reduktionsfunktionen und Verkettungen, um den Speicherbedarf zu minimieren
Gefahren und Schutz
- Ohne Salt (Zufallswert vor dem Hashen) sind Passwörter mit Rainbow-Tabellen besonders angreifbar
- Salting macht Rainbow-Tabellen nahezu wirkungslos, da für jedes Passwort ein anderer Hash entsteht
- Sichere Hash-Algorithmen mit hoher Komplexität und zusätzlichem Schutz (z. B. bcrypt, Argon2) sind ebenfalls hilfreich
Einsatz und Verbreitung
- Rainbow-Tabellen werden häufig bei Offline-Angriffen auf gestohlene Datenbanken eingesetzt
- Sie lassen sich für bestimmte Hash-Algorithmen (z. B. MD5, SHA-1) leicht generieren
- Es existieren öffentliche und kommerzielle Rainbow-Tables für verschiedene Algorithmen