Rainbow table (tablica tęczowa) to specjalna struktura danych zawierająca wstępnie obliczone skróty dużej liczby haseł, która pozwala szybko odwrócić hash na hasło w postaci jawnej. Jest kompromisem między czasem obliczeń a zajętą pamięcią.
Jak działa rainbow table?
Zamiast przechowywać wszystkie pary „hasło – skrót”, tablica zapisuje łańcuchy, z których można odtworzyć wiele wpisów. Atakujący porównuje skrót z wycieku z tablicą i odczytuje hasło w ułamku czasu, jaki zajęłoby obliczanie od zera.
Jak się bronić?
Skuteczną obroną jest sól, bo unikalny losowy ciąg dla każdego hasła sprawia, że gotowa tablica nie pasuje do żadnego skrótu. Dodatkowo stosuje się wolne funkcje hashujące przeznaczone do haseł, takie jak bcrypt czy Argon2, zamiast szybkich MD5 lub SHA-1.
Czy to zagrożenie dziś?
Dla systemów, które poprawnie solą hasła, tablice tęczowe są nieskuteczne. Problem dotyczy starych baz, w których hasła zapisano jako zwykły MD5 lub SHA-1 bez soli.
Zobacz w praktyce
Jak bezpiecznie przechowywać hasła użytkowników w bazie danych
Ochrona przed atakami brute force – jak zabezpieczam logowanie na stronie i serwerze
Jak naprawić błędy certyfikatu SSL i mixed content