Un code d’authentification de message (Mac) est une somme de contrôle cryptographique appliquée à un message pour garantir son intégrité et son authenticité. Un Mac est utilisé dans les communications réseau pour confirmer qu’un message provient effectivement de l’expéditeur déclaré et n’a pas été modifié.
Les Mac sont utiles pour protéger les données, empêcher l’identification et détecter la falsification des messages. Ils s’assurent que le message transmis est originaire de l’expéditeur déclaré et n’a pas été modifié pendant la transmission, accidentellement ou intentionnellement. Pour ce faire, les Mac utilisent la cryptographie d’authentification dans le processus de vérification, garantissant que les données envoyées d’une partie à une autre sont légitimes et inchangées.
Un Mac est également appelé étiquetercar il s’agit d’un élément de données d’authentification plus court ajouté au message qu’il vérifie.
Comment fonctionne un Mac
Les techniques cryptographiques de clé symétrique sont utilisées pour générer des Mac pour les messages individuels. Le processus nécessite un algorithme MAC standard qui prend deux entrées: le message d’origine et une clé secrète connue uniquement de l’origine du message et de son destinataire prévu. L’image suivante donne un aperçu de la façon dont un expéditeur génère un Mac et de la façon dont il est vérifié par le récepteur.

La vérification des messages basée sur Mac nécessite que l’expéditeur et le récepteur abordent les étapes spécifiques suivantes pour garantir la crédibilité du message:
- L’expéditeur et le récepteur partagent une clé symétrique secrète.
- L’expéditeur exécute un algorithme standard pour créer le Mac. Comme entrée, l’algorithme prend le message d’origine et la clé secrète.
- L’algorithme combine le message et la clé secrète et génère une somme de contrôle de longueur fixe à partir de ce contenu, qui est utilisé pour créer le Mac.
- L’expéditeur ajoute le Mac au message et transmet à la fois le récepteur.
- Lorsque l’expéditeur reçoit le message et Mac, il exécute l’algorithme Mac à l’aide du message transmis et de la clé secrète partagée en entrée.
- L’algorithme combine le message et la clé secrète et, à partir de ce contenu, génère une somme de contrôle de longueur fixe qui est utilisée pour créer son propre Mac.
- Le récepteur compare le Mac de l’expéditeur à son propre Mac. S’ils correspondent, le récepteur accepte le message. Si les deux Mac ne correspondent pas, le récepteur rejette le message.
Lorsque les deux Mac correspondent, le récepteur sait que le message provient de l’expéditeur légitime et n’a pas été modifié lorsqu’il est transmis entre l’expéditeur et le récepteur. Si l’expéditeur et le récepteur n’utilisent pas la même clé secrète ou si le contenu du message est différent entre l’expéditeur et le récepteur, les valeurs Mac ne correspondent pas et le récepteur rejetera le message.
Bien qu’un Mac assure l’authenticité et l’intégrité, il ne protège pas les données de message elle-même. Ce n’est pas son but. Pour la protection des données, le message doit être chiffré dans un processus distinct.
Types de codes d’authentification des messages
Mac qui peut être classé en différents types, y compris les éléments suivants:
- Mac unique. Un Mac unique est conçu pour un seul message par clé et se caractérise normalement par une sécurité et un calcul rapide.
- Mac de hash clés. Un HMAC utilise une fonction de hachage cryptographique et deux touches pour générer un Mac.
- Mac universel basé sur le hachage. Un UHF-MAC Utilise des techniques de hachage universelles mathématiques pour authentifier et traiter un message. Il est remarquable pour sa vitesse.
- Carter-Wegman Mac. Ce Mac fournit un moyen d’authentifier les longs messages. Il peut traiter les parties d’un message en parallèle et n’a besoin d’appeler une fonction cryptographique une fois par message. Le Mac Carter-Wegman est un type spécifique d’UHF-MAC.
- Bloquer Mac basé sur Cipher. Ce type de Mac utilise un chiffre de bloc symétrique pour traiter les parties d’un message en blocs, ce qui est utile pour les messages plus longs.
- Mac parallélisable. Un PMAC est basé sur des chiffres de bloc et est conçu pour améliorer la vitesse et l’efficacité en permettant à chaque bloc d’être traité en parallèle. Il s’agit d’un type spécifique de Mac à base de chiffre de bloc.
Algorithmes de code d’authentification des messages approuvés
La génération MAC nécessite un algorithme à usage général qui peut générer en toute sécurité la somme de contrôle cryptographique nécessaire pour créer le Mac. Il existe plusieurs algorithmes disponibles pour la création de Mac; Cependant, l’Institut national des normes et de la technologie (NIST) n’a approuvé que les trois algorithmes suivants:
HMAC
La technique d’authentification cryptographique HMAC utilise une clé secrète en conjonction avec une fonction de hachage approuvée par les normes fédérales de traitement de l’information (FIPS). Étant donné que différentes fonctions de hachage peuvent être utilisées, de multiples implémentations de HMAC existent, telles que HMAC-SHA256 et HMAC-Sha3-256. Les protocoles de communication et de transfert multiples utilisent HMAC, y compris le protocole de transfert de fichiers de transfert sécurisé Hypertext Protocole Secure et Secure File Transfer Protocol.
Code d’authentification de message keccak
Une fonction de hachage clé basée sur Keccak, KMAC est une fonction de hachage cryptographique qui peut également être utilisée pour l’authentification, le chiffrement et la génération de nombres pseudo-aléatoires. Il existe deux variantes de Keccak, KMAC128 et KMAC256. Keccak est spécifié dans les fonctions de hachage FIPS 202, SHA-3: hachage basé sur la permutation et sorties extensibles.
Mode CMAC pour l’authentification
La norme de code d’authentification de message (CMAC) basé sur Cipher définit un algorithme MAC basé sur un bloc de chiffre pour assurer l’authenticité et l’intégrité. Selon NIST, CMAC peut être considéré comme un mode de fonctionnement du chiffre de bloc, fournissant un “algorithme pour la transformation cryptographique des données qui comporte un chiffre de blocs de clé symétrique”.
NIST fournit également des exigences de test et des listes de validation pour les algorithmes approuvés via son programme de validation de l’algorithme cryptographique.
Avantages des Mac pour les entreprises
Les MAC offrent plusieurs avantages, y compris les suivants:
- Intégrité des données. Les MAC aident à s’assurer que le code non autorisé n’a pas été ajouté à un message et que le message n’a pas été falsifié.
- Authentification. Les MAC vérifient qu’un message provient de l’expéditeur authentifié qui possède la clé secrète.
- Léger. Les Mac sont légers et efficaces, car ce sont de petites balises de code qui s’attachent à un message.
Défis et limites des Mac
Les Mac ont cependant les limites suivantes:
- Gestion clé complexe. Pour générer et vérifier un Mac, l’expéditeur et le destinataire doivent tous deux avoir la même clé secrète. Cela peut être complexe dans les systèmes à grande échelle.
- Aucune protection. Bien qu’un Mac assure l’authenticité et l’intégrité, il ne protège pas le message lui-même. Un processus de chiffrement distinct doit être utilisé pour la sécurité.
- Pas de répudiation. Mac n’offre pas de capacités de non-répudiation, ce qui signifie qu’il n’y a aucun moyen de prouver qui a créé le message d’origine.
Mac par rapport aux signatures numériques
Les codes d’authentification des messages et les signatures numériques sont similaires dans le concept, car les deux garantissent l’authenticité et l’intégrité des messages.
Cependant, la différence la plus notable est que les signatures numériques sont asymétriques, ce qui signifie qu’elles utilisent une paire de clés – l’expéditeur signe leur message avec une clé et que la partie de réception accède au message avec l’autre. Les Mac, en comparaison, utilisent une seule clé secrète partagée pour les deux parties.

Cela signifie également qu’une signature numérique offre une non-répudiation, qui fournit un enregistrement d’origine d’un document. Avec un Mac, il n’y a aucun moyen de prouver qui a créé le message d’origine.
Explorez comment Mac et HMAC Utilisez le cryptage de la fonction de hachage pour authentifier messages et le Différences entre le cryptage symétrique vs asymétrique algorithmes.