Tęczowe tablice
| Ten artykuł od 2012-01 wymaga uzupełnienia źródeł podanych informacji. Możliwe, że ten artykuł w całości albo w części zawiera informacje nieprawdziwe. Informacje bez źródeł w każdej chwili mogą zostać zakwestionowane i usunięte. Pomóż Wikipedii i dodaj przypisy do materiałów opublikowanych w wiarygodnych źródłach. |
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]
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.