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

Siehe auch