Dérivation de Clé PBKDF2
Générer des clés cryptographiques sécurisées à partir de mots de passe
Documentation PBKDF2
PBKDF2 (Password-Based Key Derivation Function 2) est un standard cryptographique défini dans RFC 8018. Il transforme un mot de passe en clé cryptographique sécurisée par hachage itératif, rendant les attaques par force brute coûteuses en calcul.
PBKDF2 est largement adopté dans les protocoles de sécurité incluant le chiffrement WiFi WPA2, la protection des données iOS, macOS FileVault et de nombreux systèmes de stockage de mots de passe d'entreprise. Son statut approuvé par le NIST en fait le choix privilégié pour les applications sensibles à la conformité.
Fonctionnement de PBKDF2
PBKDF2 applique de manière itérative une fonction pseudo-aléatoire (HMAC-SHA256 par défaut) pour générer une clé dérivée :
- Prend un mot de passe, un sel, un nombre d'itérations et une longueur de clé désirée en entrée
- Applique HMAC avec le mot de passe comme clé et sel + compteur comme message
- Répète l'opération HMAC pour le nombre spécifié d'itérations
- Concatène les résultats intermédiaires pour produire la clé dérivée finale
Itérations Recommandées OWASP (2023)
L'Open Web Application Security Project (OWASP) fournit des directives minimales d'itération basées sur la force de l'algorithme de hachage. Ces valeurs sont calibrées pour assurer une protection adéquate contre les attaques matérielles modernes :
| Algorithme de Hachage | Itérations Minimum | Recommandé |
|---|---|---|
| PBKDF2-SHA256 | 310,000 | 600,000+ |
| PBKDF2-SHA384 | 210,000 | 500,000+ |
| PBKDF2-SHA512 | 120,000 | 210,000+ |
| PBKDF2-SHA1 | 1,300,000 | Non Recommandé |
Cas d'Utilisation Courants
- Dérivation de clés de chiffrement pour AES/ChaCha20 à partir de mots de passe utilisateur
- Stockage et vérification de mots de passe dans les systèmes d'authentification
- Génération de clés déterministes à partir de mots de passe maîtres (gestionnaires de mots de passe)
- Dérivation de clés pour le chiffrement de disque et les conteneurs sécurisés
Comparaison KDF : PBKDF2 vs Bcrypt vs Argon2
| Fonctionnalité | PBKDF2 | Bcrypt | Argon2 |
|---|---|---|---|
| Standard | RFC 8018 | OpenBSD | RFC 9106 |
| Memory-Hard | Non | Limité (4 Ko) | Oui |
| Résistance GPU | Faible | Modéré | Élevé |
| Meilleur Cas d'Utilisation | Conformité FIPS/NIST | Systèmes anciens | Nouvelles applications |
Bonnes Pratiques de Sécurité
- Toujours utiliser un sel cryptographiquement aléatoire d'au moins 16 octets (128 bits)
- Stocker le sel avec la clé dérivée - ce n'est pas un secret
- Augmenter les itérations annuellement pour suivre les progrès matériels
- Considérer Argon2id pour les nouveaux systèmes nécessitant une protection memory-hard contre les attaques GPU
Références Techniques
Outils Connexes
Générateur de hachage de mot de passe
Générer et vérifier des hachages de mot de passe sécurisés avec Bcrypt, Scrypt et Argon2
Générateur HMAC
Outil de génération HMAC en ligne supportant MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3 et RIPEMD-160
Cryptage/Décryptage AES
Crypter et décrypter du texte en toute sécurité à l'aide de l'algorithme AES
Générateur de hachage SHA
Outil en ligne de génération de hachage SHA supportant SHA-1, SHA-256, SHA-384, SHA-512