Aller au contenu

GMAC : Galois Message Authentication Code

Cryptographie

GMAC : Galois Message Authentication Code. « Code d'authentification de message de Galois », par analogie avec le sceau de cire qui ne cache rien de la lettre mais trahit toute ouverture.

Principe : GMAC est AES-GCM utilisé sans rien chiffrer : toutes les données passent comme données authentifiées associées (AAD) et seul le tag est produit. Il réutilise la fonction GHASH et le chiffrement par bloc sous-jacent.

Nonce obligatoire : Contrairement à HMAC, GMAC exige un nonce unique par message sous une même clé. Réutiliser un nonce permet de retrouver la clé d'authentification interne et de forger des tags à volonté ; on aurait tort d'y voir une subtilité réservée aux théoriciens.

Usages : On le rencontre là où l'intégrité suffit sans confidentialité, par exemple dans certains modes d'IPsec ou d'authentification de trames réseau. Sa rapidité vient des instructions matérielles dédiées à la multiplication dans les processeurs récents.

Ce qui arrive si on s'en passe

Sans code d'authentification, un message transmis en clair peut être modifié en chemin sans que le destinataire s'en aperçoive : valeurs changées, commandes altérées, trames réinjectées. Avec GMAC mal employé, le risque change de forme sans disparaître : si le même nonce sert deux fois sous la même clé, un attaquant qui observe les deux messages peut retrouver la clé d'authentification interne et fabriquer des tags valides pour des messages de son choix. La génération des nonces doit donc garantir l'unicité, par compteur ou par construction, pour toute la durée de vie de la clé.

Explication de la marmotte

Quand on envoie un message qui n'a rien de secret, on veut quand même être sûr que personne ne l'a modifié en route. On y ajoute alors une petite empreinte calculée avec une clé partagée entre l'expéditeur et le destinataire. À l'arrivée, le destinataire refait le calcul : si l'empreinte ne correspond pas, le message a été trafiqué. Cette méthode-là est très rapide, mais elle demande de ne jamais réutiliser un certain numéro unique pour deux messages différents.

Où ce terme est utilisé

← Tout le glossaire