Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Pomysł na solenie haseł
Forum PHP.pl > Forum > Przedszkole
mentoos
Piszę klasę do obsługi użytkowników m.in logowanie itp. Chcę jak najlepiej zabezpieczyć hasła użytkowników przed atakami brute force itp.
Chcę użyć takiego systemu solenia haseł do ich zabezpieczenia. Składałby się z ciągu liczb, który byłby dowolnie modyfikowany np 1,2,4,8,15 itd , funkcji uniqid() i microtime() , które generują unikalne ciągi oraz z tablicy ze znakami specjalnymi, które losowałbym.

Czy taki system solenia byłby skuteczny?

Jeszcze jedno.

Czy przechowywanie soli do hasła w bazie danych jest bezpieczne? W końcu muszę jakoś jej użyć żeby można było porównać hasło.
Fifi209
Cytat(mentoos @ 7.07.2010, 20:08:36 ) *
Piszę klasę do obsługi użytkowników m.in logowanie itp. Chcę jak najlepiej zabezpieczyć hasła użytkowników przed atakami brute force itp.
Chcę użyć takiego systemu solenia haseł do ich zabezpieczenia. Składałby się z ciągu liczb, który byłby dowolnie modyfikowany np 1,2,4,8,15 itd , funkcji uniqid() i microtime() , które generują unikalne ciągi oraz z tablicy ze znakami specjalnymi, które losowałbym.

Czy taki system solenia byłby skuteczny?

Jeszcze jedno.

Czy przechowywanie soli do hasła w bazie danych jest bezpieczne? W końcu muszę jakoś jej użyć żeby można było porównać hasło.

No gdzieś je przechowywać musisz. Zastosuj jedną losową sól i unikniesz dodatkowego pola w bazie.
#luq
No właśnie soli w bazie nie powinno się trzymać bo jeśli ktoś Ci wykradnie bazę z hashami hasła i widzi obok pole "salt" to sprawdza czy ktoś nie ma hasła takiego jak login, jeśli się takie trafi (a raczej się trafi przy dużej bazie) to kombinuje w jaki sposób jest sól doczepiana, kwestią czasu jak pozna, a jak pozna to sól w niczym nie przeszkadza.

Chyba najlepszym rozwiązaniem jest trzymanie elementów soli w plikach na serwerze, jakiś config, bo wtedy musisz mieć bazę + dostęp do serwera/hasło do FTP + następny element soli jest unikalny dla każdego użytkownika, jest to np. data jego rejestracji, bo jest niezmienna.

Cytat(fifi209 @ 7.07.2010, 20:16:13 ) *
No gdzieś je przechowywać musisz. Zastosuj jedną losową sól i unikniesz dodatkowego pola w bazie.


No ale zawsze gdzieś trzeba zapisać to co się wylosowało przy rejestracji, inaczej to się nie zalogujemy biggrin.gif
Fifi209
Cytat(#luq @ 7.07.2010, 20:26:43 ) *
No ale zawsze gdzieś trzeba zapisać to co się wylosowało przy rejestracji, inaczej to się nie zalogujemy biggrin.gif

Jeżeli raz ją wygenerujesz i podstawisz do pliku to nie będzie problemu. Wiesz mam na myśli rozwiązanie na sztywno.
Neo
Nie chodzi o solenie tylko o czas generowania hashu

Polecam Portable PHP password hashing framework
http://www.openwall.com/phpass/

Możesz dowolnie kod modyfikować:
http://www.webhostingtalk.pl/topic/22804-p...post__p__197323
smietek
A co do zabezpieczeń przed atakami BruteForce, to polecam dodać wymuszony odstęp pomiędzy kilkoma błędnymi logowaniami.
cojack
Pod UNIXem aż do dziś na linuxach jest wykorzystywany crypt, nikomu się nie opłacało tego łamać, więc i Twoje hasła w bazię będą g. warte, także nikomu się ich też nie będzie chciało łamać. A Brutem glutem to wszystko idzie złamać, tylko kwestia czasu, albo np blokada konta usera po 5 nie udanych próbach zalogowania. Czysta finezja zabezpieczenia użytkownika.
Fifi209
Cytat(cojack @ 7.07.2010, 21:29:54 ) *
Pod UNIXem aż do dziś na linuxach jest wykorzystywany crypt, nikomu się nie opłacało tego łamać, więc i Twoje hasła w bazię będą g. warte, także nikomu się ich też nie będzie chciało łamać. A Brutem glutem to wszystko idzie złamać, tylko kwestia czasu, albo np blokada konta usera po 5 nie udanych próbach zalogowania. Czysta finezja zabezpieczenia użytkownika.

To robisz skrypt, który będzie latał po bramkach proxy, odczekiwał czas etc. winksmiley.jpg

Przed brutal-force nie ma zabezpieczenia.
cojack
fifi tylko powiedz mi dlaczego TrueCrypta nawet FBI nie złamało?
Fifi209
Cytat(cojack @ 7.07.2010, 21:48:35 ) *
fifi tylko powiedz mi dlaczego TrueCrypta nawet FBI nie złamało?

Widocznie nie byli na tyle zdeterminowani co Polacy łamiący enigmę.
btw. skąd masz takie informacje? - pamiętaj nie o wszystkim się pisze, czasem trzeba zaprzeczać prawdzie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.