PBKDF2 (Password-Based Key Derivation Function 2) ist eine Funktion, um von einem Passwort einen Schlüssel abzuleiten, der in einem symmetrischen Verfahren eingesetzt werden kann. PBKDF2 ist Bestandteil der Public-Key Cryptography Standards der RSA-Laboratorien (PKCS #5),[1] wurde auch von der Internet Engineering Task Force veröffentlicht[2] und im Dezember 2010 offiziell vom National Institute of Standards and Technology (NIST) empfohlen.[3]
Die Ableitung
Auf das Passwort wird eine pseudozufällige Funktion, wie zum Beispiel eine kryptologische Hashfunktion oder ein HMAC, zusammen mit einem Saltwert angewendet. Die Funktion wird danach mehrmals auf das Ergebnis angewendet. Diese Verkettung erschwert es, per Brute-Force-Methode aus dem Schlüssel auf das ursprüngliche Passwort zu schließen. Durch die Verwendung von Salt wird zusätzlich der Einsatz von Rainbow Tables stark erschwert. Durch Erhöhung der Anzahl der Durchgänge kann die Funktion auch der steigenden Leistung von Computern angepasst werden.
Anwendungen von PBKDF2
Kritik und Alternativen
PBKDF2 gilt als anfällig für Angriffe mit spezieller Hardware wie Grafikprozessoren, Field Programmable Gate Arrays und anwendungsspezifischen integrierten Schaltungen.[8][9] Durch die geringe Speicheranforderung kann die Funktion preiswert in entsprechender Hardware implementiert und so Wörterbuchangriffe oder Brute-Force-Methoden parallel ausgeführt werden. Diese Angriffsfläche gilt, wenn auch aufgrund der moderaten Speicheranforderungen weniger dramatisch, ebenfalls für bcrypt. Eine Schlüsselableitungsfunktion, die auch gegen Angriffe mit spezieller Hardware schützen soll, ist die Funktion Scrypt, die als Internet-Draft publiziert wurde, sowie das neuere Argon2.
Weblinks
- Implementierung in JavaScript
- Empfehlung des NIST (PDF; 123 kB)
Einzelnachweise
- ↑ Standard der RSA-Laboratorien
- ↑ Veröffentlichung der Internet Engineering Task Force
- ↑ Meltem Sönmez Turan, Elaine Barker, William Burr, Lily Chen: Recommendation for Password-Based Key Derivation. Part 1: Storage Applications. Veröffentlichung des NIST (pdf). (englisch)
- ↑ http://helpdesk.lastpass.com/security-options/password-iterations-pbkdf2/
- ↑ http://www.winzip.com/win/en/aes_info.htm#notes
- ↑ https://www.boxcryptor.com/de/technischer-%C3%BCberblick
- ↑ MediaWiki 1.24.0 released
- ↑ Markus Dürmuth, Tim Güneysu, Markus Kasper, Christof Paar, Tolga Yalcin, Ralf Zimmermann: Evaluation of Standardized Password-Based Key Derivation against Parallel Processing Platforms. In: Computer Security – ESORICS 2012, Springer-Verlag, Berlin Heidelberg 2012, ISBN 978-3-642-33166-4, S. 716-733.
- ↑ European Union Agency for Network and Information Security: Algorithms, key size and parameters report – 2014. S. 53. (pdf)