Opzich is er niks mis met PBKDF, maar m.i. is die niet bedoeld voor het beveiligen van wachtwoorden. Wel als je van een wachtwoord naar een encryptie sleutel wil gaan. PBKDF staat namelijk voor Password Based Key Derivation Function, dus van een wachtwoord naar een AES sleutel bijvoorbeeld. De 2 staat voor versie 2 die iets flexibeler is in zijn output, 1 kon alleen een vaste output size geven als ik mij niet vergis.
Dat wil niet zeggen dat PBKDF met voldoende iteraties niet werkt, het is in ieder geval al beter dan één SHA hash berekenen.
Ik zit even de paper over SCrypt te lezen (
http://www.tarsnap.com/scrypt/scrypt.pdf) en ik zie dat dit niet helemaal een juiste redenering is. SCrypt adverteert zichzelf ook als een key derivation function. Sterker nog het lijkt gewoon gebruik te maken van PBKDF2. Maar door extra geheugen te gebruiken voor de berekeningen is het een stuk duurder om specialistische hardware te bouwen wat efficient SCrypt kan kraken.
Tja en dan natuurlijk de vraag, hoe weet je zeker dat BCrypt en SCrypt cryptografisch veilig zijn. Simpel: dat weet je niet. In mindere mate geldt dit natuurlijk ook voor de SHA familie van hashes, die zijn ook niet gegarandeerd veilig. Het voordeel is wel dat die vrij streng beoordeeld zijn op hun cryptografische veiligheid.
Naar mijn weten zijn er geen aanvallen op zowel BCrypt als SCrypt die hun cryptografische 'strength' aantasten. Mocht dit in de toekomst wel zo blijken te zijn, dan zul je moeten migreren naar een ander hash algoritme. Maar dit geldt ook voor de SHA hashes natuurlijk, zodra die gekraakt worden is het ook tijd om te switchen.
Cloud schreef op dinsdag 10 september 2013 @ 15:09:
[...]
Alles is uiteindelijk onderuit te halen, gegeven genoeg tijd. Maar als je kijkt naar de toegenomen lengte (entropie!) zijn die wachtwoorden bestaande uit meerdere woorden toch echt veel sterker. Zelfs al zijn het allemaal woorden die in een simpele/kleine
dictionary voorkomen.
Dit is dus niet waar. De lengte van een wachtwoord bepaald maar gedeeltelijk de entropy die het heeft. De volgorde van letters is in taal voorspelbaarder dan random, dus extra lengte betekend niet automatisch +n bits entropy.
Uiteraard als je alleen naar bruteforce aanvallen kijkt, dan wel. Maar tegenwoordig is een goede password corpus en dictionary goed genoeg om binnen een week ongeveer 90% van de wachtwoorden te kraken.
Zie ook:
http://arstechnica.com/se...at-out-of-your-passwords/
[
Voor 8% gewijzigd door
HMS op 10-09-2013 15:33
]