CoderTools

Dérivation de clé HKDF

Dérivation de clé Extract-Expand basée sur HMAC RFC 5869

🔒 100% Traitement localLes données que vous saisissez sont traitées entièrement dans votre navigateur et ne sont envoyées à aucun serveur.
Format de sortie

Documentation HKDF

HKDF (Fonction de dérivation de clé Extract-and-Expand basée sur HMAC) est définie dans RFC 5869. Elle fournit une méthode robuste pour dériver des clés cryptographiques à partir de matériel de clé d'entrée en utilisant un processus en deux étapes : Extraction et Expansion.

HKDF est largement adopté dans les protocoles de sécurité modernes, notamment TLS 1.3, Signal Protocol, Noise Protocol Framework et SSH. Sa séparation claire des phases d'extraction et d'expansion le rend particulièrement adapté à la dérivation de hiérarchies de clés.

Phase d'extraction : HKDF-Extract(salt, IKM) → PRK

La phase d'extraction concentre l'entropie potentiellement dispersée du matériel de clé d'entrée (IKM) en une clé pseudo-aléatoire (PRK) de longueur fixe :

  • Prend le sel (optionnel, par défaut HashLen zéros) et l'IKM en entrée
  • Calcule PRK = HMAC-Hash(sel, IKM)
  • La longueur du PRK égale la longueur de sortie du hachage (32 octets pour SHA-256)
  • Le sel agit comme clé pour HMAC, renforçant l'extraction

Phase d'expansion : HKDF-Expand(PRK, info, L) → OKM

La phase d'expansion étire le PRK en matériel de clé de sortie (OKM) de la longueur souhaitée :

  • Prend le PRK, l'info (contexte/label) et la longueur de sortie souhaitée L
  • Calcule itérativement T(i) = HMAC-Hash(PRK, T(i-1) | info | compteur)
  • Concatène les résultats : OKM = T(1) | T(2) | ... | T(N)
  • La longueur maximale de sortie est 255 × HashLen octets

Cas d'utilisation courants

  • Planification de clés TLS 1.3 : dérivation des secrets de trafic, clés de handshake et clés d'application
  • Signal Protocol : dérivation des clés de chaîne et clés de message à partir de secrets partagés
  • Échange de clés SSH : dérivation des clés de chiffrement et d'intégrité post-ECDH
  • Hiérarchie de clés : dérivation de plusieurs clés à usage spécifique à partir d'un secret maître

HKDF vs PBKDF2

Caractéristique HKDF PBKDF2
Standard RFC 5869 RFC 8018
Type d'entrée Secrets partagés, sorties DH Mots de passe utilisateur
Itérations Passage unique Nombreuses (10K-1M)
Vitesse Rapide Intentionnellement lent
Paramètre Info Oui (liaison de contexte) Non
Cas d'utilisation principal Entrée haute entropie Mots de passe faible entropie

Considérations de sécurité

  • HKDF suppose que l'IKM contient déjà suffisamment d'entropie ; ne pas utiliser avec des mots de passe faibles
  • Le paramètre info doit identifier de manière unique l'utilisation prévue de la clé (séparation de contexte)
  • Le sel est optionnel mais recommandé pour extraire plusieurs clés du même IKM
  • Le PRK ne doit jamais être utilisé directement ; toujours utiliser la phase d'expansion pour dériver les clés finales

Références techniques

Outils Connexes

Menu Rapide

Aucun outil récent