Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak dobrze hashowac hasla?
narvego
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.09.2010

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


Na wstepie przepraszam, jesli jakis podobny watek na ten temat istnieje - jednak przeszukalem forum i w ostatnich nie znalazlem.

Pytanie brzmi - jak dobrze zahashowac haslo? Od razu chce zaznaczyc, ze moja wiedza jest dosc amatorska. Dotychczas w przerobkach skryptow stosowalem podwojne hashowanie:

  1. sha1(md5($password));


Jednak w przypadku robienia sobie serwisu na ktorym spodziewam sie kilku tysiecy kont, chyba przydalyby sie lepsze zabezpieczenia... wymyslilem sobie zatem konstrukcje tego typu:


  1. md5(sha1(base64_encode($password)));


Smiga, dziala, rejestruje sie, loguje... roznica pomiedzy tym samym haslem zakodowanym w sha1+md5 a pomiedzy haslem dodatkowo zakodowanym tez w base64 istnieje, zatem to kodowanie rzeczywiscie mi dziala. Ale watpliwosci mam duze:

- czy potrojne kodowanie nie zuzywa przesadnie mocy obliczeniowej maszyny? hosting posiadam wykupiony, nie chcialbym, zeby admin dostal przeze mnie bialej goraczki gdy spojrzy na zuzycie procesorow (IMG:style_emoticons/default/smile.gif)

- czy jest w ogole sens kodowac potrojnie haslo?

Czy nie lepiej, abym uzyl jednego kodowania z moze samym base64? Czy to bedzie wystarczajace zabezpieczenie? Jaka jeszcze inna metode hashowania mozna polecic? Nie chce czegos przesadnie mocnego, ale cos jednak na miare dzisiejszych "standardow".
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Noidea -> co najwyżej serwer Ci spowolni, ale głupoty gadasz o tym wielokrotnym haszowaniu. Złożenie funkcji mieszającej H z samą sobą: H(H(x)) jest co najwyżej tak samo silne, jak H(x). H(x) mapuje nieskończoną liczbę tekstów na skończoną liczbę możliwych kluczy. Lecz jak zrobisz H(H(x)), mapujesz klucz na klucz. Jeśli kolizja kluczy zachodzi dla dwóch kluczy p oraz q generowanych przez teksty x oraz y, to zaczyna się zabawa, bo choć H(x) != H(y), to po podwójnym zahaszowaniu kolizja się już pojawia: H(H(x)) = H(H(x)). Ty myślisz, bym był na tyle głupi, by to brute forcem lecieć? Nieprawda, byłbym na tyle mądry i wręcz skorzystałbym jedynie z faktu, że mi 5 tysięcy razy mapujesz klucz na klucz, co mi tylko ułatwia znajdowanie cykli, posiedziałbym miesiąc analizując problem matematycznie, a później złamałbym to kilkakrotnie krócej, niż zwykłe MD5 (IMG:style_emoticons/default/smile.gif) .

Ogólnie polecam lekturę: http://www.zyxist.com/pokaz.php/wielokrotne_haszowanie czyli dlaczego amatorską kryptografię można rozbić o kant czterech liter.

Pomijam już aspekt praktyczny, że Tobie na domowym komputerze przy jednym żądaniu na 3 dni może się to liczyć szybko, ale jak przerzucisz na serwer i będziesz musiał weryfikować np. 5 haseł na sekundę, może okazać się, że serwer nic innego nie robi, tylko liczy hasze (IMG:style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post

Posty w temacie
- narvego   Jak dobrze hashowac hasla?   12.09.2010, 13:02:48
- - wookieb   Cytat(narvego @ 12.09.2010, 14:02:48 ...   12.09.2010, 13:12:50
- - narvego   Ok, udalo sie mi zrobic to tak - Dolaczylem funkc...   12.09.2010, 13:49:13
- - Pilsener   Wystarczy zwykłe md5 + sól, solenie haseł jest ist...   12.09.2010, 13:53:11
|- - uupah5   Cytat(Pilsener @ 12.09.2010, 14:53:11...   13.09.2010, 15:01:45
- - Quantum   sha1(str.salt) w zupełności wystarcza (umiejscowie...   13.09.2010, 15:11:35
- - everth   Akurat przeczytałem temat do którego odnosisz @Qua...   13.09.2010, 17:01:23
- - wookieb   Tylko, że RSA jest szyfrem dwukierunkowym (można d...   13.09.2010, 17:04:41
- - skowron-line   Najlepiej poczytaj o tych funkcjach jednokierunkow...   13.09.2010, 17:08:22
|- - piotr94   Cytat(skowron-line @ 13.09.2010, 18...   13.09.2010, 18:17:45
- - everth   @wookieb - to że chodzi o firmę RSA, to nie znaczy...   13.09.2010, 17:10:19
- - Quantum   Cytat(everth)W jednej z jego części dot. kodowania...   13.09.2010, 17:47:19
- - Noidea   Z wielokrotnym hashowaniem jest tak, że stosowanie...   13.09.2010, 17:58:59
- - yevaud   PBKDF2 przypomina raczej nakladanie funkcji miesza...   13.09.2010, 17:59:33
- - yevaud   tak na dobra sprawe zeby dobrze odpowiedziec na py...   13.09.2010, 18:37:00
- - everth   @yevaud - czyli jednak są rozbieżności. W PKCS zal...   13.09.2010, 18:38:58
|- - yevaud   Cytat(everth @ 13.09.2010, 19:38:58 )...   13.09.2010, 18:41:55
- - Zyx   Noidea -> co najwyżej serwer Ci spowolni, ale g...   13.09.2010, 19:17:51
- - everth   Ee tam, Zyx przesadzasz z tą kolizją - przecież pr...   13.09.2010, 20:07:45
- - flashdev   Cytat(narvego @ 12.09.2010, 14:02:48 ...   13.09.2010, 22:06:17
- - Novik102   A co myślicie o tym? [PHP] pobierz, plaintext fun...   14.09.2010, 04:18:09
- - nospor   Przypięty temat w tym dziale http://forum.php.pl/i...   14.09.2010, 06:16:30


Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 04:10