phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
Przesunięty przez: lui754
30-04-2009, 15:35
Ulepszenie kodowania hasel w bazie danych

Zgadzasz sie z Przemo?
Tak
44%
 44%  [ 39 ]
Nie
55%
 55%  [ 49 ]
Głosowań: 88
Wszystkich Głosów: 88

Autor Wiadomość
Przemo



Pomógł: 210 razy
Posty: 3148
Wysłany: 07-01-2006, 19:48   Ulepszenie kodowania hasel w bazie danych

Po bardzo burzliwej dyskusji na GG z Widmo i z FanFataL'em postanowilem napisac ten temat aby zapytac was o zdanie. Oni niestety nie byli w stanie wysunac konkretnego argumentu przeciwko mojemu pomyslowi, choc argumentów mieli kilka i bardzo są temu przeciwni.

Chodzi o kodowanie hasel userow w bazie danych, w tej chwili jest ono kodowane md5('haslo')
Rozkodowanie hasla 4-ro znakowego zajmuje kilka sekund, 5-cio znakowego znacznie dłużej ale też jest do złamania. Zagrożenie pojawia się, gdy baza danych dostanie się w niepowołane ręce, może to nastapić na skutek ataku, lub zwykłej kradzieży tabeli userów przez admina serwera, który ma zamiar np. za tydzień zwolnic się z pracy i postanawia sobie zaszaleć. Na pewno odkoduje kilkaset haseł, z czego wiele będzie takie samo jak np. do e-mail'a lub GG które jest w komórce obok, po wejsciu na skrzynke (gdy user nie kasuje emailow na serwerze) moze znalezc dalsze jego konta do atakowania. Generalnie skutki dla userow moga być fatalne.

Moj pomysl jest taki (i juz to zrobilem w wersji beta8) zeby zapisywac haslo w postaci md5 * 10000
Czas gerowania takiego hasla na celeronie 900 to 0.8 sekundy. Generowanie odbywa sie tylko w przypadku:
- Rejestracji
- Zmiany hasla
- Ręcznego logowania z formularza
Nie jest generowane podczas automatycznego logowania z ciastek gdyz w w nowych wersjach phpBB2 w ciastkach nie ma juz zapisywanego hasla w formie md5() tylko specialny unikalny klucz

Jakie byly argumenty przeciw:
1. Obciazenie serwera
2. Tak się nie robi
3. Wystąpienie kolizji

Ad1. Nie będzie obciążenia, jak pisałem trwa to ułamek sekundy i będzie używane średnio raz na 5 dni na usera
Ad2. A co mnie to obchodzi? Jakby kazdy tak myslal to nikt by nic nowego nie wymyslil :)
Ad3. No i co z tego??? Niech wystąpi kolizja jaki będzie jej objaw? Żaden.

Chciałbym się dowiedziec co Wy sądzicie na ten temat.

Dodatkowo zastanawiam się aby zamiast md5 użyć sha1 również razy 10000 Tutaj tez były argumenty przeciw lecz w tym przypadku się nie kłucę bo nie znam dobrze zasady działania sha1
Ostatnio zmieniony przez Widmo 07-01-2006, 20:10, w całości zmieniany 1 raz  
 
     
Gadatliwa Kasia 

   
nasedo



Pomógł: 318 razy
Posty: 1895
Wysłany: 07-01-2006, 19:57   

Przemo napisał/a:
1. Obciazenie serwera
ktos ma bardzo popularne forum, powiedzmy 100-200 zalogowanych online, wezmy z tego chocby 10%, ktore moze nie trzymac na kompie ciastek / jest nowe na forum i loguje sie pierwszy raz, czy tez wlasnie tych rejestrujacych sie dopiero. a 0.8s x 10 czy 20 to juz jest roznica.. i tym sposobem wracamy do punktu wyjscia, gdy to zapowiedzi o tym, ze 1.12 przestanie obciazac serwery i bedzie szybsza niz dotychczasowe wersje przestaja byc aktualne..
Przemo napisał/a:
beta8
czyli final na wielkanoc? :roll: moim zdaniem juz za duzo tych dodattkowych modow zapychajacych tylko kod, gdzie i tak 50-60% nowosci zostanie wylaczone.. :roll:
_________________
Wejdź na Najlepsze forum wielotematyczne. Skazzza czeka na Ciebie 8)
Pomoc tylko na forum. Nie pisz do mnie na gg/PW/e-mail chyba, że sam Cię o to poproszę.
 
     
Paszczak000


Pomógł: 317 razy
Posty: 2898
Wysłany: 07-01-2006, 19:57   

odpada. wtedy łamanie hashy za kasę pójdzie w niepamięć. :P

a po co razy 1000? nie lepiej zrobić może:
Kod:
md5(base64($haslo))

hasło test:
base64: dGVzdA==
i juz base zawiera znaki specjalne, duże małe literki :) i md5 praktycznie nie do złamania.

a może z md5() przejść na inny szyfr?
 
     
przecinek



Pomógł: 272 razy
Posty: 890
Wysłany: 07-01-2006, 20:01   

0,8s, jak sobie wyobrażasz aktualizację istniejących forów mających kilkanaście tysięcy użytkowników? I po co 10000, lepiej liczbę z zakresu 1-10000 zapisaną w config.php i ustalaną przy zakładaniu/aktualizacji — wtedy ktoś, kto dostanie się tylko do bazy, nie będzie jej znał.
Ostatnio zmieniony przez przecinek 07-01-2006, 20:03, w całości zmieniany 1 raz  
 
     
MakArios


Pomógł: 105 razy
Posty: 818
Wysłany: 07-01-2006, 20:02   

IMO rozwiązanie Paszczaka byłoby lepsze, ale nie wyznaję się aż tak na zabezpieczeniach ;) . Tak czy inaczej obciążenie faktycznie by wzrosło, szczególnie przez pierwsze kilka dni po aktualizacji do 1.12.0, a więc zgadzam się z przedmówcami, Widmem i FanFatalem.
 
     
niczeq


Pomógł: 17 razy
Posty: 171
Wysłany: 07-01-2006, 20:04   

ja bylbym za :roll:
bezpieczenstwo userów to podstawa :twisted: :twisted: :twisted:
_________________
ważny jest skutek, lecz ważniejsza przyczyna...

Potrzebujesz porządnego hostingu??? Skontaktuj się ze mną przez PW
 
     
Paszczak000


Pomógł: 317 razy
Posty: 2898
Wysłany: 07-01-2006, 20:04   

Przemo, pamiętaj, że jesteś kompatybilny z phpBB. Jak zrobisz deinstalację do czytsego phpBB? Będziesz zamieniał md5()*1000 na md5()? No chyba, że wywalasz deinstalator.... a update z czystego do Twojej wersji, to o czym pisze przecinek?

BUSTED :P
 
     
Widmo



Pomógł: 180 razy
Posty: 2435
Wysłany: 07-01-2006, 20:06   

Przemo napisał/a:
Rozkodowanie hasla 4-ro znakowego zajmuje kilka sekund, 5-cio znakowego znacznie dłużej ale też jest do złamania


tak, jezeli dzialasz systemem
wez string, zakoduj kilka razy MD5 jezeli wynik == hashowi -> podaj haslo
ale dla 5,6 znakow nie bedzie juz tak prosto.

juz na wstepie mowie: jestem za zrobieniem podwójnego hashowania md5.
mądry admin ustawi minimalna ilosc znakow w hasle na 6 i bedzie spokoj.

Przemo chce zastosować md5 10 tysiecy razy. Nie ma to najmniejszego sensu...
Uwazam ze uzycie tyle razy md5 mimo wszystko obciazy serwer.
po drugie - po co - efekt bedzie ten sam co przy uzyciu dwóch md5...

Przemo napisał/a:
Na pewno odkoduje kilkaset haseł, z czego wiele będzie takie samo jak np. do e-mail'a lub GG które jest w komórce obok, po wejsciu na skrzynke (gdy user nie kasuje emailow na serwerze) moze znalezc dalsze jego konta do atakowania. generalnie skutki dla userow moga być fatalne.


po co mialo by mu sie chciec? - nie wazne

dlatego to USER powienien dbac o swoje dobrze dobrane haslo - i jezeli ktos mu sie wlamie to powinien miec pretensje tylko do siebie...

Podsumowywyjąc - dla mnie jest to zbyt innowacyjne (10.000 razy md5)
i poniekad nieprzewidywalne...
_________________
Potrzebujesz pomocy?
 
     
niczeq


Pomógł: 17 razy
Posty: 171
Wysłany: 07-01-2006, 20:07   

Paszczak000 napisał/a:
Przemo, pamiętaj, że jesteś kompatybilny z phpBB. Jak zrobisz deinstalację do czytsego phpBB? Będziesz zamieniał md5()*1000 na md5()? No chyba, że wywalasz deinstalator.... a update z czystego do Twojej wersji, to o czym pisze przecinek?

BUSTED :P


kto normalny (nie obrazajac nikogo;-)) bedzie chcial zrezygnowac z wersji by Przemo ? :roll: :P :D :twisted:
_________________
ważny jest skutek, lecz ważniejsza przyczyna...

Potrzebujesz porządnego hostingu??? Skontaktuj się ze mną przez PW
 
     
Przemo



Pomógł: 210 razy
Posty: 3148
Wysłany: 07-01-2006, 20:07   

nasedo, odnosnie obciążenia to nawet nie ma o czym mówić, gdzie masz forum gdzie w czasie 5 minut loguje się ręcznie 20 osób? Chyba tylko fora giganty tupu phpbb.com moge zrobić 5000 w razie czego

Paszczak000, wbrew pozorom to nie utrudnia wogóle :) Zwiększa tylko czas łamania o 100% podobnie jak md5() * 2

przecinek, to tez pozory :) Po tej zmianie nikt nie odczuje różnicy :) Podczas logowania jesli haslo usera jest pojedynczym md5() zostanie w bazie zastapione nowym * 10000 Problem jest tylko w przypadku odinstalowywania modyfikacje, wtedy uzytkownicy beda musieli korzystac z generowania nowych hasel, ale mysle, ze nie ma co brac tego za bardzo pod uwage.
 
     
Trucker

Posty: 18
Wysłany: 07-01-2006, 20:08   

ja jestem przeciw; jak ktos ma wolnego kompa to te procesy mogą zająć wieki wieków :?
_________________
Wejdź na nowe forum o grze "Hard Truck: 18 Wheels of Steel" :D
 
     
Widmo



Pomógł: 180 razy
Posty: 2435
Wysłany: 07-01-2006, 20:09   

Paszczak000 napisał/a:
hasło test:
base64: dGVzdA==
i juz base zawiera znaki specjalne, duże małe literki i md5 praktycznie nie do złamania.


sensowne - nawet bardzo!
przecinek napisał/a:
0,8s, jak sobie wyobrażasz aktualizację istniejących forów mających kilkanaście tysięcy użytkowników? I po co 10000, lepiej liczbę z zakresu 1-10000 zapisaną w config.php i ustalaną przy zakładaniu/aktualizacji — wtedy ktoś, kto dostanie się tylko do bazy, nie będzie jej znał.


utworzysz configa od nowa i co - nie bedziesz pamietal ej liczby i cale logowanie idzie sie kochać...

[ Dodano: 07-01-2006, 20:11 ]
dodalem ankiete...
_________________
Potrzebujesz pomocy?
 
     
Przemo



Pomógł: 210 razy
Posty: 3148
Wysłany: 07-01-2006, 20:11   

Widmo napisał/a:
ale dla 5,6 znakow nie bedzie juz tak prosto.
Czas łamania hasła jest dokładnie tyle razy większy ile razy powtórzyłeś md5() Ty chcesz zastosowac tylko dwa razy aby zwiększyć trudnośc łamania haseł 5-6 znaków a ja chce zastosować 10000 razy aby uniemożliwić całkowicie łamanie haseł 4 i więcej znaków
 
     
nasedo



Pomógł: 318 razy
Posty: 1895
Wysłany: 07-01-2006, 20:12   

Przemo napisał/a:
nasedo, odnosnie obciążenia to nawet nie ma o czym mówić, gdzie masz forum gdzie w czasie 5 minut loguje się ręcznie 20 osób? Chyba tylko fora giganty tupu phpbb.com moge zrobić 5000 w razie czego
no wlasnie te giganty np, czy warezy (chociaz zadko kiedy stoja na phpbb, i jesli ma mi sie strona 20s generowac to im sie nie dziwie :P ) chocby byl to 1% wszystkich uzytkownikow, to chcesz ich sobie odpuscic, niech wracaja na zwykle phpbb?
Trucker napisał/a:
ja jestem przeciw; jak ktos ma wolnego kompa to te procesy mogą zająć wieki wieków :?
omg.. chodzi o serwer, nie o Twojego kompa..
_________________
Wejdź na Najlepsze forum wielotematyczne. Skazzza czeka na Ciebie 8)
Pomoc tylko na forum. Nie pisz do mnie na gg/PW/e-mail chyba, że sam Cię o to poproszę.
 
     
Gadatliwa Kasia 

   
Paszczak000


Pomógł: 317 razy
Posty: 2898
Wysłany: 07-01-2006, 20:13   

Przemo, nie utrudnia? nie rozumiem. skoro phpBB hashuje raz... a Ty przykładowo 1000 razy.. to odinstalowując modyfikację musisz hasło (które jest zahashowane 1000 razy) podać w formie zahashowanej 1 raz. Ja nie umiem rozhashować 999 razy ciągu znaków długości 32 ;]
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,1 sekundy. Zapytań do SQL: 15
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

serwis laptopów

phpbb

Polisy Ubezpieczeniowe TU Europa

Design Cart - Tworzenie sklepu internetowego

dnirozwoju.pl

Ranking Hostingów HostingOnline.pl

• Zamów reklamę