Mam problem ze zrozumieniem celu hasła do hasła. Rozumiem, że podstawowym zastosowaniem jest powstrzymanie ataku na tęczowy stół. Jednak metody, które widziałem, aby to zaimplementować, nie utrudniają problemu.
Widziałem wiele samouczków sugerujących, że sól powinna być używana w następujący sposób:
$hash = md5($salt.$password)
Powodem jest to, że skrót obecnie mapuje nie oryginalne hasło, ale kombinację hasła i soli. Ale powiedzieć, $salt=foo
i $password=bar
i $hash=3858f62230ac3c915f300c664312c63f
. Teraz ktoś ze stołem tęczowym może odwrócić skrót i wymyślić „foobar”. Następnie mogli wypróbować wszystkie kombinacje haseł (f, fo, foo, ... oobar, obar, bar, ar, ar). Otrzymanie hasła może potrwać kilka milisekund, ale niewiele więcej.
Innym zastosowaniem, które widziałem, jest mój system Linux. W / etc / shadow hashowane hasła są przechowywane razem z solą. Na przykład, sól „foo” i hasło „bar” byłoby hash do tego: $1$foo$te5SBM.7C25fFDu6bIRbX1
. Jeśli haker zdołałby jakoś zdobyć ten plik, nie wiem, do czego służy sól, ponieważ te5SBM.7C25fFDu6bIRbX
wiadomo , że zwrotny skrót zawiera „foo”.
Dzięki za każde światło, które każdy może rzucić na to.
EDYCJA : Dzięki za pomoc. Podsumowując to, co rozumiem, sól sprawia, że zaszyfrowane hasło jest bardziej złożone, przez co znacznie mniej prawdopodobne jest, że będzie ono istniało we wstępnie obliczonej tabeli tęczy. To, co wcześniej źle zrozumiałem, to to, że zakładałem, że istnieje stół tęczy dla WSZYSTKICH skrótów.