PBKDF2
PBKDF2 (Password-Based Key Derivation Function 2) est le KDF normalisé dans PKCS#5 qui dérive des clés de mots de passe via un HMAC itéré, largement utilisé pour le hachage de mots de passe et la dérivation de clés.
Objectif
Dérive une clé de haute entropie à partir d'un mot de passe de faible entropie, le nombre d'itérations multipliant le coût de la force brute.
Mécanisme
DK = T1 || T2 || ..., où Ti = U1 ⊕ ... ⊕ Uc, U1 = HMAC(P, salt || i), Uj = HMAC(P, U_{j-1}). Le nombre d'itérations c est typiquement ≥ 100000. Seulement CPU-difficile, ne résiste pas au parallélisme GPU/ASIC.
Cas d’usage
- Dérivation de clés WPA2/3 du Wi-Fi
- Sauvegardes de mots de passe iOS/Android
- Dérivation de clés de 1Password
- Stockage de clés PKCS#12
Exemples
- entrée
password, salt, c=600000Output256-bit derived keyOWASP 2023 recommends ≥ 600000
Erreurs courantes
- Iteration count too low (e.g., 1000)
- Use at least 600000 (OWASP 2023)
Termes associés
scrypt
scrypt est une fonction de dérivation de clés (KDF) à mémoire coûteuse conçue par Colin Percival : elle résiste à la force brute parallèle sur GPU/ASIC grâce à d'importants besoins mémoire et sert au hachage de mots de passe et à la dérivation de clés. GLOSSAIRE
Key Derivation
La dérivation de clés est le processus de génération de clés de chiffrement à partir de mots de passe à faible entropie ou de clés maîtresses à forte entropie, à l'aide de KDF (ex. PBKDF2, scrypt, Argon2) pour renchérir la force brute. GLOSSAIRE
Salt
Un sel est une valeur aléatoire ajoutée lors du hachage de mots de passe afin que des mots de passe identiques produisent des hachés différents, ce qui neutralise les tables arc-en-ciel et la détection de mots de passe identiques. GLOSSAIRE
HMAC
HMAC (code d'authentification de message fondé sur le hachage) est un code d'authentification combinant une fonction de hachage et une clé secrète, fournissant intégrité et authenticité. GLOSSAIRE