Home / Glossar / Rainbow-Tabellen

Rainbow-Tabellen sind eine spezielle Art von Vorberechnungstabellen, die verwendet werden, um Hash-Funktionen zu brechen, indem sie Passwörter aus ihrem Hash-Wert zurückgewinnen. Sie sind eine Optimierung von herkömmlichen „Kollisionstabellen“ oder „Hash-Tabellen“, die in der Kryptographie und IT-Sicherheit genutzt werden, um Passwort-Hashes schnell und effizient zurückzurechnen.

Wie funktionieren Rainbow-Tabellen?

  1. Hash-Funktionen: Wenn ein Passwort in einem System gespeichert wird, wird es normalerweise nicht im Klartext abgelegt, sondern durch eine Hash-Funktion umgewandelt. Diese Funktion erzeugt aus einem Passwort einen scheinbar zufälligen Hash-Wert.
  2. Vorberechnete Tabellen: Anstatt bei einem Angriff jedes mögliche Passwort auszuprobieren und den entsprechenden Hash-Wert zu berechnen (Brute-Force-Methode), werden in Rainbow-Tabellen bereits viele mögliche Passwörter und deren Hash-Werte vorab berechnet und gespeichert.
  3. Kettenbildung: Rainbow-Tabellen verwenden eine Technik, bei der mehrere Passwort-Hash-Wert-Paare in sogenannten „Ketten“ gespeichert werden. Dadurch können sie weniger Speicherplatz benötigen als herkömmliche Hash-Tabellen. Jede Kette beginnt mit einem Klartext (z.B. einem Passwort), das dann in eine Reihe von Hashes umgewandelt wird.
  4. Reduktionsfunktionen: Zwischen den Hash-Schritten wird eine Reduktionsfunktion angewendet, die einen Hash-Wert in ein neues (möglicherweise anderes) Passwort umwandelt, um so die nächste Berechnung in der Kette zu starten.
  5. Angriff mit Rainbow-Tabellen: Wenn ein Angreifer Zugriff auf eine Liste von Hash-Werten hat, versucht er, diese Werte mit Hilfe der Rainbow-Tabelle zu finden. Wenn ein Hash in der Tabelle enthalten ist, kann er den ursprünglichen Klartext (z.B. das Passwort) schnell ableiten, ohne jeden Wert einzeln durch Brute-Force ausprobieren zu müssen.

Vorteile von Rainbow-Tabellen:

  • Effizienter als Brute-Force-Angriffe: Sie sparen enorm viel Zeit, da nicht jedes Passwort und sein Hash-Wert neu berechnet werden muss.
  • Reduziert den Speicherbedarf: Durch die Verwendung von Ketten und Reduktionsfunktionen benötigen sie weniger Speicherplatz als herkömmliche Hash-Tabellen.

Nachteile von Rainbow-Tabellen:

  • Nur gegen schwache Hash-Funktionen effektiv: Wenn Passwörter mit zusätzlichen Sicherheitsmechanismen wie Salting (Zufallswert, der zum Passwort hinzugefügt wird) geschützt sind, werden Rainbow-Tabellen nutzlos. Salt verhindert, dass der gleiche Hash-Wert für zwei identische Passwörter generiert wird.
  • Erstellen und Speichern der Tabellen: Das Erstellen der Rainbow-Tabellen ist zeitaufwendig und erfordert erheblichen Speicherplatz für große Passwortlisten.

Schutz vor Rainbow-Tabellen-Angriffen:

  • Salt-Verfahren: Indem man für jedes Passwort einen individuellen Salt-Wert verwendet, wird verhindert, dass gleiche Passwörter immer den gleichen Hash-Wert erzeugen.
  • Verwendung sicherer Hash-Algorithmen: Algorithmen wie bcrypt, scrypt oder Argon2 sind resistenter gegen Rainbow-Tabellen-Angriffe, da sie langsamer und rechenintensiver sind und oft bereits integrierte Salt-Mechanismen nutzen.

Rainbow-Tabellen sind ein mächtiges Werkzeug für Angreifer, jedoch lassen sich Systeme durch entsprechende Sicherheitsmaßnahmen effektiv dagegen schützen.