Zajmuję się tworzeniem aplikacji internetowych w Java i chcę, aby proces uwierzytelniania zabezpieczyć
za pomocą hashed haseł.Ile to jest wartości mieszania haseł w java dla bezpieczeństwa?
W mieszania
krok 1: bierzemy hasło podane przez użytkownika i dodać sól do niego.
krok 2: hash go za pomocą MessageDigest
i zapisać wartość hashed w bazie
Podczas uwierzytelniania użytkownika podczas procesu logowania powtarzamy zarówno same powyższe kroki, ale zamiast
przechowywania wartości hashed my porównaj ją z wartością obecną w bazie danych.
Teraz wybaczyć moją ignorancję ale to, co chcę powiedzieć, to jeśli haker uzyskuje dostęp do bazy danych za pomocą innych
środków, to może zapewnić bezpieczeństwo jako haker nie może uzyskać prawdziwy tekst hasła z Hashed
wartość tak łatwo.
ALE jaki może zapewnić ochronę przed innymi formami ataków jak Bruteforce attack, Rainbow attack, dictionary attack
itp jak używamy same kroki w celu uwierzytelnienia użytkownika do logowania?
Nie sądzę, hash hash teraz-a-dni wartość tyle.
Podaj mi kilka sugestii ..... jeśli się mylę.
Solenie ma * bardzo specyficzne zastosowanie *. Nie rozwiązuje wielu niepowiązanych problemów bezpieczeństwa, ale bardzo skutecznie rozwiązuje problem. Ten problem to ataki słownikowe na cały DB hashowanych haseł. Inne ataki (takie jak brutalne wymuszanie strony logowania) nie wchodzą w zakres tego, co solone hashy * próbują * zapobiegać. –
Celem kryptografii nie jest uczynienie danych niedostępnymi dla * wroga *, ale raczej uczynienie tego wystarczająco trudnym dla * wroga * aby zdać sobie sprawę z tego, że wymagany czas i wysiłek naprawdę nie są warte zachodu. – npinti
@mukund Mówisz, że dodasz sól do hasła w pierwszym kroku. Dokładniej opisz, czym jest ta sól. –