WikiDer > Regenbogentisch
EIN Regenbogentisch ist einfach simple Tabelle mit allen möglichen Passwörter und der hashes dieser Passwörter. Es wird verwendet, um Passwörter auf Sicherheit zu testen oder sie zu knacken. Die Technologie ist um ein Vielfaches schneller als die Brute-Force-Technik, wo die Hashwerte der Passwörter noch berechnet werden müssen. Der Regenbogentisch ist nach Philippe Oechslins zusammengestellt schnellere Zeit-Speicher-Trade-off-Technik. Das Erstellen einer solchen Tabelle kostet zwar viel Rechenzeit und Speicherkapazität, aber ist die Tabelle einmal berechnet, lässt sich ein Passwort-Hash schnell in das verwendete Passwort umwandeln.
Beispiel
Ein Beispiel für einen Hash ist der LM-Hash, der in älteren Versionen von . für Benutzerpasswörter verwendet wird Microsoft Windows. Ein LM-Hash ist beispielsweise CD76B79FAAD7028D. Das ursprüngliche Passwort dieses Hashs ist Wiki.
Ein Nachteil des LM-Hashs ist, dass er mit bis zu sieben Zeichen langen Passwörtern funktioniert. Wenn ein Passwort zwischen 7 und 14 Zeichen lang ist, werden zwei Hashes mit jeweils bis zu sieben Zeichen verwendet.
Passwort festlegen ist Wikipedia. Dann wird der erste Hash von 82537CDC85403482 (von Wikipedia) und den zweiten Hash 5E153EE0AE0FFBAF (von ia). Dies führt also zu einer Schwachstelle in der Sicherheit eines Systems für Passwörter bis zu 14 Zeichen. Ab 15 Zeichen verwendet Windows die NTLM-hash, das einteilig und sicherer ist.
Verteidigung gegen einen Rainbowtable-Angriff
Rainbow Tables können zum Knacken von Passwörtern verwendet werden. Eine effiziente Methode dem entgegenzuwirken ist der sogenannte Salt (Salt). Dies ist das Hinzufügen einer zufälligen Zeichenfolge zum Passwort, bevor es gehasht wird. Der Salt wird zusammen mit dem Hash hinzugefügt. of das Passwort.
Ein Beispiel (wenn ' ' es Verkettungszeichen ist):
Anstatt von
PasswortHash=hash(Passwort)Leute benutzen
SaltPasswordHash=hash(PasswortSalz-)oder
SaltPasswordHash=hash(hash(Passwort)Salz-)Der Vorteil dieser Abwehr ist, dass ein Hacker für jedes Salt eine eigene Rainbow-Tabelle erstellen muss, was sehr viel Rechenaufwand erfordert. Dazu muss für jedes Passwort ein anderer Salt verwendet werden.
Es kann auch ein globaler Salt hinzugefügt werden, der für jedes Passwort gleich ist. Wenn dieser Salt an anderer Stelle gespeichert wird (zum Beispiel im Quellcode), fügt dies eine zusätzliche Sicherheitsebene hinzu, da der globale Salt auch zum Bruteforce der Hashes abgerufen werden muss.
Ein Salt kann bestimmt werden, indem man (Teil eines Hashs) eines beliebigen Strings nimmt.