Message Authentication Codes

Introduzione

Un Message Authentication Code è un algoritmo che permette di verificare l'integrità dei dati. Un algoritmo MAC impiega una chiave segreta condivisa tra il mittente e il destinatario. Analogamente alla firma digitale, il mittente calcola tramite la chiave K il codice e lo trasmette assieme al messaggio. Lo stesso algoritmo viene applicato al messaggio tramite la stessa chiave e viene confrontato il codice risultante.

mac-v.png

Gli algoritmi MAC sono progettati per verificare l'integrità dei dati in modo più efficace rispetto alla somme di controllo (checksum), come il CRC32. Queste ultime sono progettate per rilevare modifiche accidentali dei dati, mentre gli algoritmi MAC sono volti a rilevare anche le modifiche intenzionali dei dati.

A differenza delle firme digitali, il codice MAC richiede la conoscenza di una chiave condivisa, e si ha una certezza inferiore che il mittente sia autentico.

Keyed-Hash Message Authentication Code (HMAC)

Vedi anche Hash Message Authentication Code

Il Keyed-Hash Message Authentication Code è uno standard [1] per l'autenticazione dei messaggi, che impiega una chiave ed un algoritmo di hash.

Cipher-based MAC (CMAC)

Vedi anche AES-CMAC, Data Authentication Algorithm

Un Cipher-based MAC è un algoritmo per l'autenticazione dei messaggi basato su un cifrario a blocchi.

Alcuni CMAC sono il Data Authentication Algorithm, che impiega l'algoritmo DES e gli algoritmi AES-CMAC (RFC 4493), AES-CMAC-96 (RFC 4494) e AES-CMAC-PRF-128 (RFC-4615), basati sull'algoritmo AES.

Bibliography
1. NIST, FIPS PUB 198a, "The Keyed-Hash Message Authentication Code (HMAC)", Sito web: http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf
2. NIST, FIPS PUB 113, "Computer Data Authentication", Sito web: http://www.itl.nist.gov/fipspubs/fip113.htm
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License