Tous les articles

PBKDF2 : le plus ancien standard d'étirement de clé

En 2022, la CNIL a publié une délibération technique précisant ce qu'elle considère comme des mesures acceptables pour le stockage des mots de passe : parmi les fonctions recommandées figure PBKDF2-HMAC-SHA256, à condition d'utiliser au moins 100 000 itérations — un chiffre concret que peu d'autorités de protection des données publient aussi explicitement.

Le principe de l'étirement de clé

Au lieu de hacher un mot de passe une seule fois, PBKDF2 applique une fonction de hachage de base (généralement HMAC-SHA256) plusieurs milliers de fois de suite, en utilisant le résultat de chaque itération comme entrée de la suivante. Cela ralentit volontairement le calcul d'un seul hachage, rendant la force brute massive nettement plus coûteuse pour un attaquant.

PBKDF2 dans le Wi-Fi : WPA2

L'un des usages les plus répandus de PBKDF2 dans le monde est la dérivation de la clé de chiffrement Wi-Fi à partir du mot de passe du réseau en WPA2-PSK : le mot de passe passe par PBKDF2-HMAC-SHA1 avec 4096 itérations, en utilisant le nom du réseau (SSID) comme sel, pour produire une clé de 256 bits. C'est pourquoi un mot de passe Wi-Fi court reste si vulnérable à une attaque par force brute hors ligne après la capture d'un seul "handshake".

Pourquoi cet outil exige HTTPS

Cet outil calcule PBKDF2 via la Web Crypto API native du navigateur plutôt qu'une implémentation JavaScript maison. Les navigateurs n'exposent crypto.subtle que dans un "contexte sécurisé" — HTTPS, ou localhost en développement — donc sans connexion chiffrée, cet outil et tous les autres outils cryptographiques du site ne fonctionnent tout simplement pas, quelle que soit la puissance de l'appareil.

Pourquoi c'est utile

  • Dériver des clés cryptographiques à partir de mots de passe pour le chiffrement (par exemple dans WPA2/WPA3 pour le Wi-Fi).
  • Maintenir la compatibilité avec des systèmes anciens utilisant PBKDF2 pour le stockage des mots de passe.
  • Comprendre pourquoi le nombre d'itérations recommandé ne cesse d'augmenter dans les nouvelles versions des standards.

Le choix de la fonction de hachage de base compte

Les anciennes implémentations de PBKDF2 utilisaient souvent HMAC-SHA1 par défaut — SHA-1 seul est considéré comme cryptographiquement affaibli pour un hachage direct, mais dans la construction HMAC, cette faiblesse ne constitue pas une vulnérabilité critique. Les recommandations actuelles conseillent néanmoins clairement HMAC-SHA256 ou HMAC-SHA512 — non pas à cause d'une menace directe liée à SHA-1, mais parce qu'une sortie plus longue et une fonction plus moderne offrent une meilleure marge de sécurité sans perte de vitesse notable.

Essayer l'outil