O parte care cunoaște aceeași cheie poate recalcula sau verifica eticheta pentru a detecta modificări și a obține asigurarea că mesajul provine de la un deținător al cheii. Construcția, cheia, lungimea etichetei și regulile protocolului determină asigurarea reală.
MAC-urile sunt simetrice: fiecare verificator care deține cheia partajată poate crea și etichete valide. Construcțiile standard includ codul de autentificare a mesajelor cu hash cu cheie (HMAC) și codul de autentificare a mesajelor bazat pe cifru (CMAC). Un protocol trebuie să specifice exact ce octeți și context sunt autentificați și cum este verificată o etichetă primită.
Puncte esențiale
Date acoperiteAutentificați reprezentarea completă relevantă pentru securitate, inclusiv identificatori, lungimi, versiuni, algoritmi și context acolo unde este nevoie; codificarea ambiguă sau câmpurile omise pot permite substituția.
Utilizarea cheilorGenerați chei în siguranță, limitați-le distribuția, separați-le de criptare și scopuri fără legătură, rotiți-le conform politicii și tratați compromiterea ca afectând fiecare deținător.
Design de protocolFolosiți nonce-uri, numere de secvență, marcaje temporale sau altă stare când replay-ul sau reordonarea contează și comparați etichetele fără a scurge informații utile de timp.
Limitare importantăUn MAC nu furnizează confidențialitate și în mod obișnuit nici nerepudiere, pentru că orice deținător al cheii partajate poate crea o etichetă validă. Nu previne replay-ul de la sine, iar o etichetă verificată nu spune nimic despre dacă conținutul autentificat este sigur sau autorizat.