Understanding Optimizations and Measuring Performances of PBKDF2

Password-based key derivation functions (KDFs) are used to generate secure keys of arbitrary length implemented in many security-related systems. The strength of these KDFs is the ability to provide countermeasures against brute-force/dictionary attacks. One of the most implemented KDFs is PBKDF2. In order to slow attackers down, PBKDF2 uses a salt and introduces computational intensive operations based on an iterated pseudorandom function. Since passwords are widely used to protect personal data and to authenticate users to access specific resources, if an application uses a small iteration count value, the strength of PBKDF2 against attacks performed on low-cost commodity hardware may be reduced. In this paper we introduce the cryptographic algorithms involved in the key derivation process, describing the optimization techniques used to speed up PBKDF2-HMAC-SHA1 in a GPU/CPU context. Finally, a testing activity has been executed on consumer-grade hardware, and experimental results are reported.

[1]  Andrea Visconti,et al.  Exploiting a Bad User Practice to Retrieve Data Leakage on Android Password Managers , 2017, IMIS.

[2]  Andrea Visconti,et al.  What Users Should Know About Full Disk Encryption Based on LUKS , 2015, CANS.

[3]  Andrea Visconti,et al.  Exploiting an HMAC-SHA-1 Optimization to Speed up PBKDF2 , 2020, IEEE Transactions on Dependable and Secure Computing.

[4]  Paulo S. L. M. Barreto,et al.  Lyra2: password hashing scheme with improved security against time-memory trade-offs. , 2017 .

[5]  Colin Percival STRONGER KEY DERIVATION VIA SEQUENTIAL MEMORY-HARD FUNCTIONS , 2009 .

[6]  Hooman Tahayori,et al.  Detecting misbehaving nodes in MANET with an artificial immune system based on type-2 fuzzy sets , 2009, 2009 International Conference for Internet Technology and Secured Transactions, (ICITST).

[7]  Stefan Lucks,et al.  Catena: A Memory-Consuming Password Scrambler , 2013, IACR Cryptol. ePrint Arch..

[8]  Andrea Visconti,et al.  On the Weaknesses of PBKDF2 , 2015, CANS.

[9]  Burton S. Kaliski,et al.  PKCS #5: Password-Based Cryptography Specification Version 2.1 , 2017, RFC.

[10]  Hugo Krawczyk,et al.  HMAC: Keyed-Hashing for Message Authentication , 1997, RFC.

[11]  Andrea Visconti,et al.  The Dangers of Rooting: Data Leakage Detection in Android Applications , 2018, Mob. Inf. Syst..

[12]  William E. Burr,et al.  Recommendation for Password-Based Key Derivation Part 1: Storage Applications , 2010 .

[13]  Air Force Air Force Materiel Command Hq FIPS-PUB-180-1 , 1995 .

[14]  Elaine B. Barker,et al.  The Keyed-Hash Message Authentication Code (HMAC) | NIST , 2002 .

[15]  Jeff Yan,et al.  Acceleration Attacks on PBKDF2: Or, What Is inside the Black-Box of oclHashcat? , 2016, WOOT.

[16]  Claude E. Shannon,et al.  Prediction and Entropy of Printed English , 1951 .

[17]  Hugo Krawczyk,et al.  Cryptographic Extraction and Key Derivation: The HKDF Scheme , 2010, IACR Cryptol. ePrint Arch..

[18]  Md Torikur Rahman,et al.  Proposal for SZRP protocol with the establishment of the salted SHA-256 Bit HMAC PBKDF2 advance security system in a MANET , 2014, 2014 International Conference on Electrical Engineering and Information & Communication Technology.

[19]  George Hatzivasilis,et al.  Password-Hashing Status , 2017, Cryptogr..

[20]  Hugo Krawczyk,et al.  Keying Hash Functions for Message Authentication , 1996, CRYPTO.