View Single Post
Sitat av Dyret Vis innlegg
Mange forumvarianter gjør allerede dette. Problemet er når man vet algoritmen bak. Hvis jeg sitter med brukerdatabasen din og finner ut at algoritmen din er md5(md5(user)+md5(pass)) så vil du i beste fall redusere hastigheten min med en faktor på litt over 3. (Siden jeg blir nødt til å utføre 3 md5-kalkulasjoner, samt mellomlagre og addere disse). I verste fall kan jeg tweake algoritmene mine til å utnytte kollisjoner og feil som gjøres når md5-hashen brukes i serie på denne måten og få et resultat som er nesten like raskt som før.

Problemet er at md5/sha* er laget for å være ekstremt kjappe, mens f.eks. bcrypt kan tweakes til å ta akkurat så lang tid det måtte passe deg. Tar det plutselig 1 sekund å regne ut passordet så må en angriper bruke forferdelig mye tid på å brute-force. Likevel bruker utviklere md5 den dag i dag. Et annet problem er at folk flest har generelt ekstremt dårlige kunnskaper innenfor kryptografi og generell statistikk. Det er ikke rent sjeldent jeg ser folk kalkulere rand()*rand() for å "øke randomiseringen" f.eks.
Vis hele sitatet...

Du kan ikke med det mene at salting er ubrukelig. salting er for å beskytte seg mot normale time-memory tradeoff angrep og bruteforce angrep.

Og jeg vil uansett ikke si at å bare salte med brukernavn og id er den beste metoden, dette var bare et eksempel for at idèen skal bli forstått.

Uansett så hjelper det lite hvor kryptert basen er hvis angreperen phisher deg på et åpent wlan, fordi han ikke gidder å bruke tid på å cracke en hash.
eller gjør endringer på innlogging modulen til nettsiden, som laster opp brukerens input til en annen server/database idet brukere logger inn.

En ondsinnet person tar som regel raskeste/enkleste veien for å nå målet sitt.
Sist endret av LetMeBleedPLZ; 22. desember 2011 kl. 12:49.