Tęczowe tablice
Ten artykuł od 2012-01 wymaga zweryfikowania podanych informacji. |
Tęczowe tablice (ang. rainbow tables) – baza skrótów wykorzystywana w łamaniu haseł zakodowanych jednokierunkową funkcją skrótu. Pozwala na zaoszczędzenie mocy obliczeniowej koniecznej do złamania hasła metodą brute force. Jednym z pionierów tej techniki był Philippe Oechslin z Politechniki w Lozannie.
Zwykłe bazy danych skrótów zajmują setki gigabajtów, przez co są nieefektywne. Tęczowa tablica jest tworzona przez zapisywanie łańcuchów (ang. chains) ze skrótów z możliwych haseł. Dzięki temu zapisywany jest jeden skrót na kilkaset, a nawet kilka tysięcy wygenerowanych. Czas łamania hasła skraca się przez to do kilkudziesięciu sekund na potężnych komputerach.
Tęczowe tablice pozwalają na złamanie większości popularnych funkcji skrótu, w tym MD5, SHA-1, NTLM czy Cisco Pix.
Obrona
[edytuj | edytuj kod]Dobrym sposobem na zabezpieczenie się przed tego typu atakiem jest stosowanie soli (ang. salt), czyli losowo generowanej wartości dodawanej jako argument funkcji skrótu i zapisywanej obok wartości skrótu. Sprawia to, że dla każdej soli funkcja skrótu jest inna. Żeby złamać taki skrót cracker musiałby posiadać tęczową tablicę dla każdej możliwej soli, co jest niepraktyczne.
Większość dystrybucji GNU/Linuksa i systemów BSD wykorzystuje sól do zapisywania haseł użytkowników, funkcja ta jest oferowana przez pakiet shadow.