Wojciech Potocki ...
konto usunięte
Temat: Opcja przypomnij hasło
Generują nowe hasło i ślą je na maila. Czasami dodatkowo/albo jest link do kliknięcia, który potwierdza tą operację.konto usunięte
Temat: Opcja przypomnij hasło
Można również trzymać w bazie danych hasło, takie jakie zostało wprowadzone podczas rejestracji.Krzysztof Gendig edytował(a) ten post dnia 08.06.08 o godzinie 21:01konto usunięte
Temat: Opcja przypomnij hasło
Krzysztof Gendig:
Można również trzymać w bazie danych hasło, takie jakie zostało wprowadzone podczas rejestracji.Krzysztof Gendig edytował(a) ten post dnia 08.06.08 o godzinie 21:01
W sam raz by zły hacker po włamaniu się do bazy mógł sobie to hasło wyświetlić?
I wykorzystać fakt że większość ludzi ma to samo hasło do X usług?
konto usunięte
Temat: Opcja przypomnij hasło
Krzysztof Gendig:
Można również trzymać w bazie danych hasło, takie jakie zostało wprowadzone podczas rejestracji.
Od razu zakończyłbym korzystanie z takiego serwisu ... toż to amatorszczyzna na maksa.
konto usunięte
Temat: Opcja przypomnij hasło
Ja trzymam sha1(md5('hasło')) w bazie danych, a podczas wykorzystania opcji przypominania hasla generuje nowe i generuje link aktywacyjny wysylany na maila, gdzie po potwierdzeniu (trzeba zabezpieczyc tez link jakims sprawdzaniem, zeby byle kto nie mogl byle kogo hasla zmienic) zmienia sie to w bazie (rowniez na np. sha1(md5()) ).Grzegorz M. www.avatec.pl
Temat: Opcja przypomnij hasło
Moim zdaniem samo md5 wystarczy, a jak masz formularz do przypomnienia hasła, klient podaje e-mail, to sprawdzasz czy jest- jeżeli jest ślesz maila z wygenerowanym nowym hasłem dla tego konta.Jeżeli jednak chcesz dbać o swoich internautów, proponuje wymyśleć swój "prosty algorytm" :P i zamieszać to razem z md5 :-) np. md5(email+haslo) - z tym, że troche sobie utrudnisz życie wtedy. Z tego co wiem, ale mogę się mylić, sha1 złamać to można na jakiejś tam stronie w necie (testowałem i działa), z md5 jest większy problem :-)
Stanisław P. Software designer
Temat: Opcja przypomnij hasło
Grzegorz Miśkiewicz:No tak... nie rozumiem tego pomysłu z sha1(md5(...)) - przecież wtedy będzie możliwych hashy tyle samo, albo mniej niż generuje gorszy z tych algorytmów. Nie ma po co kombinować w ten sposób - lepiej używać salt'a dla userów.
Moim zdaniem samo md5 wystarczy
Z tego co wiem, ale mogę się mylić, sha1 złamać to można na jakiejś tam stronie w necie (testowałem i działa), z md5 jest większy problem :-)Nie do końca tak jest. Znajdywanie kolizji sha1, to dalej nie zadanie dla domowych komputerów. Raczej na żadnej stronie tego nie znajdziesz. A md5? Jest http://md5oogle.com ale to też opiera się tylko na dużej bazie danych. Dobrego hasła, ani losowego stringa tam nie odhashujesz. Jak się ktoś boi już o sha-1, to może sha-256 używać.
Dariusz
Siedlecki
Rockstar Frontend
Developer
Temat: Opcja przypomnij hasło
SHA-1 też jest - http://md5.rednoize.com/sha1(md5()) na pewno jest lepszym pomysłem, niż samo md5()/sha1(). A co do saltów, to też może być chybiony pomysł, przynajmniej w wypadku krótkich stringów.
Bo załóżmy, że hacker będzie miał bazę z hasłami. Wrzuci 100 haseł do wyszukiwarki i na trzy dostanie odpowiedź:
111vjkfy349ko
mamavjkfy349ko
darek1vjkfy349ko
Zgadnijmy jaki tu jest salt...
Jasne, że to nie załatwia całej sprawy. Ale już ma o wiele prościej. Teraz wystarczy, że sam wygeneruje hashe dla stringów składających się z pięciu znaków + salt, i już ma 10-20% haseł.
Najprostsze i najbezpieczniejsze rozwiązanie to dla każdego będzie coś innego. Ja osobiście w tej chwili używam (czegoś w stylu, bo nie dokładnie takiego rozwiązania ;), md5(md5( $pass )), z czego pierwszy MD5 jest poprzemieszany z czasem rejestracji (np. co drugi znak kolejna cyfra). Dla niektórych to typowy overkill, który niczemu nie służy i rozumiem ich, ale nie mam po co zmieniać tego sposobu, skoro działa.
konto usunięte
Temat: Opcja przypomnij hasło
md5(pass):salt i to jest trzymane w bazie, przy czym salt jest inny przy kazdym hasle.A 'przypomnij haslo' najczesciej dziala z tego co wiem tak jak juz to ktos opisal - jesli email i np. pytanie pomocnicze (zdefiniowane przy rejestracji) pasuje - generujesz nowe haslo, ale nie przepisujesz dotychczasowego tylko wysylasz majla z linkiem aktywujacym. Dopiero po aktywowaniu hasla nastepuje przepisanie hasla tymczasowego na normalne, a link przeslany emailem przestaje byc aktywny.
Warto tez w formularzu 'przypomnij haslo' nei roznicowac odpowiedzi skryptu w zaleznosci od tego czy jest w bazie email czy nie, by nie dawac komukolwiek mozliwosci sprawdzenia czy dany email jest zarejestrowany czy nie.
konto usunięte
Temat: Opcja przypomnij hasło
Stanisław Pitucha:
Nie do końca tak jest. Znajdywanie kolizji sha1, to dalej nie zadanie dla domowych komputerów. Raczej na żadnej stronie tego nie znajdziesz. A md5? Jest http://md5oogle.com ale to też opiera się tylko na dużej bazie danych. Dobrego hasła, ani losowego stringa tam nie odhashujesz. Jak się ktoś boi już o sha-1, to może sha-256 używać.
Są całe słowniki, tylko trzeba znać kogoś kto nam w maszynce sprawdzi ;)
Stanisław P. Software designer
Temat: Opcja przypomnij hasło
Michał Wujas:
Są całe słowniki, tylko trzeba znać kogoś kto nam w maszynce sprawdzi ;)
Są i rainbow tables... ale to tak jak ze słownikami -> jak masz hasło ~10 znaków losowych, to jesteś bezpieczny (jeśli chodzi tylko o ten atak oczywiście).
Dariusz Siedlecki:Nt. saltów, już dostałeś odpowiedź - pomysł jest sprawdzony i działający - po prostu o złej implementacji myślałeś.
sha1(md5()) na pewno jest lepszym pomysłem, niż samo md5()/sha1(). A co do saltów, to też może być chybiony pomysł, przynajmniej w wypadku krótkich stringów.
A co do hash1(hash2(...)) - nie jest "na pewno" lepszym pomysłem. Po pierwsze - złożenia hashy nie są badane tak często jak same hash'e - więc po prostu zgadujesz, że to bezpieczniejsze. No, chyba, że potrafisz to udowodnić ;) Po drugie, sha1(md5()) daje Ci potencjalnie tyle samo możliwości co wartości md5(), lub mniej, bo niektóre hashe md5() mogą mieć kolizję po hashowaniu sha1(). Już lepiej w drugą stronę - md5(sha1()), bo obcinasz wynik 160b sha1 do 128b md5 - a nie odwrotnie.
Podobne tematy
Następna dyskusja: