Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Pomysł na solenie haseł
mentoos
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 5.09.2009

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
#luq
post
Post #3





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
Neo
post
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 9
Dołączył: 8.08.2009
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
smietek
post
Post #6





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

Ostrzeżenie: (20%)
X----


A co do zabezpieczeń przed atakami BruteForce, to polecam dodać wymuszony odstęp pomiędzy kilkoma błędnymi logowaniami.
Go to the top of the page
+Quote Post
cojack
post
Post #7





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


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.
Go to the top of the page
+Quote Post
Fifi209
post
Post #8





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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. (IMG:style_emoticons/default/winksmiley.jpg)

Przed brutal-force nie ma zabezpieczenia.
Go to the top of the page
+Quote Post
cojack
post
Post #9





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


fifi tylko powiedz mi dlaczego TrueCrypta nawet FBI nie złamało?
Go to the top of the page
+Quote Post
Fifi209
post
Post #10





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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.

Ten post edytował fifi209 7.07.2010, 21:11:00
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 08:49