nu ik snap het nut van de $user_salt echter wel, zo is niet elke hash hetzelfde (ook niet als er gebruikers zijn met eenzelfde paswoord). Maar het nut ontgaat me toch een beetje. Aangezien ik bij de login het wachtwoord moet kunnen terugvinden, heb ik de $user_salt ook nodig. Dus als ik het goed begrijp, dan moet ik deze bijhouden in een DB, wat is dan nog het nu ?
Begrijp ik het nu fout of niet? Kan iemand me hier even duidelijkheid brengen?
?
Onbekende gebruiker
25-07-2009 15:58
De static salt (in dit geval $salt) kan je instellen in je config.php. De dynamic salt (in dit geval $user_salt) zal je samen met het wachtwoord van de gebruiker in de database moeten opslaan en iedere keer oproepen als iemand zich wil inloggen.
Het nut van een dynamic salt is dat een hacker dan wel een static salt kan verkrijgen, maar dan heeft de hacker nog altijd de dynamic salt nodig (die per gebruiker dus verschilt!!). Het geeft een extra dimensie aan de gegenereerde hash die dus uit een static en dynamic salt en het wachtwoord bestaat.
stel je laat als wachtwoord tekens A-Za-z0-9 toe (sha1 / md5 bestaan hier altijd uit).
Dan kan je dus alle overige tekens in ASCII (http://www.asciitable.com/)
random gebruiken om te salten op willekeurige plekken.
Met name 0-31 zijn hiervoor wellicht interesant.
Gezien jij de reeks salt tekens weet kan je die ook filteren.
sha1 en md5 zijn onomkeerbare algoritmes, maar wel de meest gebruikte ook. Er zijn heel veel algoritmes ook omkeerbare, als je iets verder gaat dan md5 en sha1 alleen ben je ook al een stuk veiliger wellicht..
md5 zijn via websites waar miljarden records in staan van de md5 hashes veel woorden nog wel terug te halen, zeker gewone taal. Als je je eigen salt maakt, en jij houd gewoon je hash voor jezelf, is er niemand die het gaat lukken om dat te kraken tenzij je guus geluk heet...
@Matthias, salting voegt een extra dimensie toe aan de hash. Bruteforcing met een woordenlijst zal dan dus niet meer lukken, omdat de hash nu ook bestaat uit X aantal onbekende tekens die van alles kunnen zijn.
Het enige wat nu kan optreden is hash-collision, wat inhoud dat een andere (veel simpelere) woord dezelfde hash kan opleveren als de hash die bestaat uit twee salts en het wachtwoord.
...
Het MOET mogelijk zijn er gwn achter te komen...
want je gaat mij niet wijsmaken dat Banken te hacken zijn maar een simpele salt codering niet...
Maar swat
idd is handig voor extra beveileging...
Maar als je nu vermoed dat iemand dat woordje teweten is gekomen..
En dit wilt veranderen...
Dan heb je ook zooi he...
?
Onbekende gebruiker
26-07-2009 15:53
:P Alles is mogelijk. Mij hoor je ook niet zeggen dat het helemaal onmogelijk is. Met een paar clusters aan computers is het makkelijk te doen, maar dat heeft een doorsnee wanna-be-hacker niet.