Une partie qui connaît la même clé peut recalculer ou vérifier la balise pour détecter les changements et obtenir l'assurance que le message provient d'un détenteur de la clé. La construction, la clé, la longueur de balise et les règles du protocole déterminent l'assurance réelle.
Les MAC sont symétriques : chaque vérificateur détenant la clé partagée peut aussi créer des balises valides. Les constructions standard incluent le message authentication code par hachage à clé (HMAC) et le message authentication code basé sur un chiffreur (CMAC). Un protocole doit spécifier exactement quels octets et quel contexte sont authentifiés et comment une balise reçue est vérifiée.
Points clés
Données couvertesAuthentifier la représentation complète pertinente pour la sécurité, y compris les identifiants, les longueurs, les versions, les algorithmes et le contexte lorsque nécessaire ; un encodage ambigu ou des champs omis peuvent permettre une substitution.
Usage des clésGénérer les clés de façon sécurisée, limiter leur distribution, les séparer du chiffrement et des finalités sans rapport, les renouveler selon la politique, et traiter la compromission comme affectant chaque détenteur.
Conception de protocoleUtiliser des nonces, des numéros de séquence, des horodatages ou un autre état lorsque le rejeu ou la réordonnance compte, et comparer les balises sans fuiter d'information de temps exploitable.
Limite importanteUn MAC ne fournit ni confidentialité ni, ordinairement, non-répudiation, car tout détenteur de la clé partagée peut créer une balise valide. Il n'empêche pas le rejeu à lui seul, et une balise vérifiée ne dit rien sur le fait que le contenu authentifié soit sûr ou autorisé.