Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

KDF (Key Derivation Function)

general

Définition

Une KDF (Key Derivation Function — Fonction de Dérivation de Clé) est un algorithme qui dérive une ou plusieurs clés cryptographiques à partir d'une valeur initiale (mot de passe, secret partagé, graine aléatoire). Les KDF sont conçues pour être à sens unique, rendre difficile l'attaque par force brute, et produire des clés avec les propriétés de distribution statistique requises pour les opérations cryptographiques. Il existe deux catégories principales de KDF selon leur contexte d'usage. Les KDF pour les mots de passe (Password-Based KDF ou PBKDF) sont intentionnellement lentes et intensives en ressources pour décourager les attaques par force brute : bcrypt, scrypt, Argon2id, PBKDF2. Elles intègrent un sel aléatoire pour prévenir les rainbow tables et un facteur de coût configurable pour s'adapter aux capacités matérielles futures. Les KDF pour l'expansion de clés (Key Expansion KDF) prennent une clé à entropie suffisante et dérivent plusieurs clés distinctes pour différents usages : HKDF (HMAC-based Key Derivation Function, RFC 5869), TLS 1.3 Key Schedule, Double Ratchet. Ces KDF sont rapides car leur entrée est déjà suffisamment aléatoire et l'objectif est la diversification, pas le renforcement contre la force brute. HKDF, le standard le plus utilisé pour l'expansion de clés, suit deux étapes : extract (concentre l'entropie de la source dans un pseudorandom key avec HMAC-Hash) et expand (dérive des clés de longueurs arbitraires). TLS 1.3 utilise HKDF-SHA384 pour dériver toutes les clés de session (early traffic key, handshake traffic key, application traffic key) à partir du secret partagé Diffie-Hellman. PBKDF2 (Password-Based Key Derivation Function 2, RFC 8018) est une KDF pour mots de passe basée sur HMAC-SHA256 avec un nombre configurable d'itérations. Bien que moins robuste qu'Argon2 (elle n'est pas intensive en mémoire), PBKDF2 est largement déployée dans les standards (PKCS#5, WPA2, iOS Keychain) et constitue un minimum acceptable si Argon2 n'est pas disponible.

HKDF — standard d'expansion de clés pour TLS et protocoles modernes

HKDF (RFC 5869) est la KDF de référence pour les protocoles cryptographiques modernes. Sa construction en deux étapes (extract-then-expand) permet de dériver des clés de n'importe quelle longueur avec des propriétés pseudoaléatoires garanties. TLS 1.3, Signal Protocol, WireGuard, Noise Protocol Framework, et les tokens JWT utilisent tous HKDF ou des variantes. L'implémentation est simple via les bibliothèques standard (hkdf en Python, crypto.hkdf en Node.js, javax.crypto.SecretKeyFactory en Java) et son comportement déterministe facilite les tests. La séparation des contextes (via le paramètre 'info') garantit que deux clés dérivées pour des usages différents sont cryptographiquement indépendantes.

PBKDF2 — usage dans les standards existants

PBKDF2 reste présent dans de nombreux standards critiques : WPA2/WPA3 Personal utilise PBKDF2-HMAC-SHA1 (WPA2) ou PBKDF2-HMAC-SHA256 (WPA3) avec 4096 itérations pour dériver la clé PMK depuis la passphrase Wi-Fi. iOS Keychain et Android Keystore utilisent PBKDF2 pour dériver les clés de chiffrement depuis le PIN. PKCS#12 (fichiers .pfx) protège les clés privées avec PBKDF2. Dans ces contextes standardisés, PBKDF2 est acceptable mais les paramètres d'itérations doivent être augmentés : l'OWASP recommande 1 300 000 itérations pour PBKDF2-HMAC-SHA256 en 2024, contre seulement 10 000 dans de nombreuses implémentations legacy.

KDF pour le chiffrement des données (BYOK/HYOK)

Dans les architectures de gestion des clés cloud (BYOK — Bring Your Own Key, HYOK — Hold Your Own Key), les KDF jouent un rôle central. Une clé maître (KEK — Key Encryption Key) stockée dans un HSM dérive via HKDF des clés de chiffrement des données (DEK — Data Encryption Key) spécifiques à chaque client, projet ou objet. Cette approche permet la révocation granulaire (effacer une DEK révoque l'accès aux données associées sans affecter les autres), la rotation des clés sans rechiffrement complet des données, et l'isolation cryptographique entre tenants dans les environnements multi-tenant cloud.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis