Gestion des clés
HMQV : Hashed MQV. « MQV haché », par analogie avec une serrure dont on renforce le mécanisme en ajoutant au trousseau un grain de sel propre à chaque visite. C'est une variante de MQV proposée par Hugo Krawczyk : un accord de clé authentifié où des valeurs de hachage liées aux identités et aux clés éphémères remplacent certaines étapes du calcul original.
Ce qui change par rapport à MQV : Les exposants qui mélangent clés statiques et éphémères sont obtenus en hachant la clé éphémère avec l'identité du correspondant. Ce lien explicite à l'identité vise à bloquer des attaques connues contre MQV.
Preuve de sécurité : HMQV a été publié avec une preuve de sécurité formelle, ce que MQV n'avait pas, et sans exiger de vérifier que chaque participant possède bien la clé privée de sa clé publique. Cette preuve a ensuite été discutée, notamment par Alfred Menezes, ce qui a conduit à des précisions sur les vérifications à conserver.
Coût : Il garde l'efficacité de MQV : pas de signature, un calcul à peine plus lourd qu'un Diffie-Hellman de base. Ses idées ont inspiré plusieurs protocoles ultérieurs d'échange authentifié.
Leçon de méthode : Une preuve de sécurité se lit avec ses hypothèses, pas seulement avec son titre. Vingt ans de métier apprennent que « prouvé sûr » en résumé devient « prouvé sûr si le groupe est vérifié » en annexe.
Ce qui arrive si on s'en passe
Sans accord de clé authentifié, un échange Diffie-Hellman nu laisse un intercepteur actif s'intercaler et négocier un secret séparé avec chaque partie, puis tout lire. Ce protocole ajoute l'authentification sans signature, mais seulement si ses hypothèses sont tenues. Les clés publiques statiques doivent être rattachées de façon fiable à leurs propriétaires, sinon un attaquant fait passer sa clé pour celle d'un autre. Les éléments de groupe reçus doivent être validés : sans ce contrôle, les attaques par petit sous-groupe peuvent révéler des informations sur les clés privées. Les identités doivent entrer dans le hachage exactement comme le prévoit la spécification, faute de quoi le lien entre le secret et les interlocuteurs disparaît.
Explication de la marmotte
Deux personnes veulent un secret commun et être certaines de parler à la bonne personne, sans échanger de signature. Chacune possède une identité permanente et un badge jetable pour la conversation. Dans cette version, avant de mélanger badges et identités, on passe chaque badge dans un hachoir mathématique avec le nom de l'autre personne. Le résultat sert de dosage pour le mélange. Ainsi, le secret final est fortement attaché à « qui parle à qui ». Un imposteur ne peut pas recycler un badge ou une identité pour tomber sur le même secret. Le tout a été accompagné d'une démonstration mathématique de sa solidité.
