Bases et applications de la cryptographie
Dans des protocoles comme TLS 1.3, le secret partagé obtenu par un échange de clés ECDHE n'est pas utilisé directement comme clé de chiffrement : les clés sont produites en le faisant passer par une fonction de dérivation de clé (KDF) comme HKDF. Quelle en est une raison appropriée ?
- ALe passage par une fonction de dérivation de clé rend le secret partagé sûr même face aux ordinateurs quantiques
- BLa valeur issue de l'échange de clés est trop courte, si bien que l'on ralentit délibérément le calcul pour freiner la force brute
- CLa valeur issue de l'échange de clés n'est pas forcément uniformément aléatoire : on la transforme en une clé sans biais et l'on dérive une clé distincte pour chaque usage
Afficher la réponse et l'explication
Réponse : C. La valeur issue de l'échange de clés n'est pas forcément uniformément aléatoire : on la transforme en une clé sans biais et l'on dérive une clé distincte pour chaque usage
Le secret partagé obtenu par un échange de clés est par exemple la coordonnée d'un point d'une courbe elliptique, et tous ses bits ne sont pas forcément uniformément aléatoires. HKDF utilise HMAC pour d'abord extraire du secret partagé une clé pseudo-aléatoire sans biais (Extract), puis l'étendre avec des étiquettes comme « chiffrement du client vers le serveur » (Expand) afin de produire autant de clés de la longueur voulue que nécessaire. Utiliser des clés indépendantes pour chaque usage évite qu'un problème touchant une clé ne s'étende aux autres usages. PBKDF2 et Argon2, qui dérivent des clés de mots de passe, sont volontairement lents, alors que HKDF est une opération légère qui suppose une entrée d'entropie suffisamment élevée.
Continuer : 9 autres questions sur Bases et applications de la cryptographie