![]() |
![]() |
![]()
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: Jednak w przypadku robienia sobie serwisu na ktorym spodziewam sie kilku tysiecy kont, chyba przydalyby sie lepsze zabezpieczenia... wymyslilem sobie zatem konstrukcje tego typu: 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". |
|
|
![]() |
![]()
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) . |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 04:10 |