Message authentication code: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
ehii |
|||
(21 versioni intermedie di 11 utenti non mostrate) | |||
Riga 1:
In [[crittografia]] un '''
Il valore MAC protegge dunque sia l'[[integrità dei dati]] del messaggio sia la sua autenticità permettendo al destinatario dello stesso (che deve anch'egli possedere la chiave segreta) di rilevare qualsiasi modifica al messaggio: ecco perché dovrebbe essere chiamato ''Message Authentication and Integrity Code'', MAIC.
Come si desume quindi dalla descrizione, l'algoritmo MAC protegge solo da [[integrità dei dati]], [[autenticità]] del mittente del messaggio, ma non dalla [[confidenzialità]] delle informazioni contenute nello stesso.▼
Può però essere utilizzato insieme
▲In [[crittografia]] un '''Message Authentication Code (MAC)''' è un piccolo blocco di dati utilizzato per l'[[autenticazione]] di un messaggio digitale e per verificarne l'integrità da parte del destinatario, generato secondo un meccanismo di [[crittografia simmetrica]]: un [[algoritmo]] MAC accetta in ingresso una [[chiave crittografica|chiave segreta]] ed un messaggio da autenticare di lunghezza arbitraria, e restituisce un MAC (alle volte chiamato anche ''tag''). In ricezione il destinatario opererà in maniera identica sul messaggio pervenuto in chiaro ricalcolando il MAC con lo stesso algoritmo e la stessa chiave: se i due MAC coincidono si ha autenticazione e integrità del messaggio inviato.
Verrà poi crittografato con un [[algoritmo]] di [[crittografia simmetrica]] (usando la chiave <math>K'</math>) il messaggio <math>M</math>
Verranno quindi inviati al destinatario: <math>E_{K'}(M)</math>, <math>MAC(E_{K'}(M),K)</math> e <math>E_{K'}(M, MAC(M,K))</math>
▲Il valore MAC protegge dunque sia l'[[integrità dei dati]] del messaggio sia la sua autenticità permettendo al destinatario dello stesso (che deve anch'egli possedere la chiave segreta) di rilevare qualsiasi modifica al messaggio: ecco perché dovrebbe essere chiamato ''Message Authentication and Integrity Code'', MAIC.
▲Come si desume quindi dalla descrizione, l'algoritmo MAC protegge solo da [[integrità dei dati]], [[autenticità]] del mittente del messaggio, ma non dalla [[confidenzialità]] delle informazioni contenute nello stesso.
▲Può però essere utilizzato insieme ad un [[algoritmo]] di [[crittografia simmetrica]] che crittografa tutto il messaggio M con una chiave K' , verrà effettuato quindi il MAC del messaggio M crittografato con K' usando la chiave K.
▲Verrà poi crittografato con un [[algoritmo]] di [[crittografia simmetrica]] (usando la chiave K') il messaggio M ed il suo MAC preparato con chiave K.
Le due chiavi <math>K'</math> (usata nella crittografia simmetrica) e <math>K</math> (usata nella creazione del MAC) non dovranno però essere uguali.▼
Gli algoritmi di MAC possono essere realizzati anche partendo da altre primitive crittografiche, come le [[funzione crittografica di hash|funzioni crittografiche di hash]] (vedi l'[[HMAC]])
▲Le due chiavi K' (usata nella crittografia simmetrica) e K (usata nella creazione del MAC) non dovranno però essere uguali.
== Message integrity code ==
▲Gli algoritmi di MAC possono essere realizzati anche partendo da altre primitive crittografiche, come le [[hash|funzioni crittografiche di hash]] (vedi l'[[HMAC]]) od i [[cifrario a blocchi|cifrari a blocchi]] ([[OMAC (crittografia)|One-key MAC]], [[CBC-MAC]] e [[PMAC (crittografia)|PMAC]]).
L'espressione "[[message integrity code]]" (MIC) è usata frequentemente come sinonimo di MAC, soprattutto nell'ambito delle [[telecomunicazioni]],<ref>{{cita pubblicazione|editore=[[IEEE-SA]]|titolo=IEEE 802.11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications|data=12 giugno 2007|lingua=en|doi=10.1109/IEEESTD.2007.373646|url=http://standards.ieee.org/getieee802/download/802.11-2007.pdf|urlmorto=sì|accesso=16 luglio 2018|urlarchivio=https://www.webcitation.org/61Ab8YqC9?url=http://standards.ieee.org/getieee802/download/802.11-2007.pdf|dataarchivio=24 agosto 2011}}</ref> dove l'acronimo MAC tradizionalmente si riferisce all'[[indirizzo MAC]] del dispositivo.
Tuttavia, alcuni autori<ref>{{cita web|lingua=en|url=http://www.cs.cornell.edu/courses/cs513/2005fa/NL20.hashing.html|autore=Fred B. Schneider|titolo=Hashes and Message Digests|editore=[[Cornell University]] - Dipartimento di informatica|accesso=16 luglio 2018|urlarchivio=https://web.archive.org/web/20171126003323/http://www.cs.cornell.edu/courses/cs513/2005fa/NL20.hashing.html|dataarchivio=26 novembre 2017|urlmorto=no}}</ref> usano "MIC" per indicare un ''message digest'', che è differente da un MAC, poiché non usa chiavi segrete ed è ottenuto tramite [[funzione crittografica di hash]]. Questo tipo di codifica non fornisce autenticazione e, in linea di principio, neppure l'integrità dei dati (poiché chiunque può generare un digest di un messaggio differente tramite la stessa funzione di hash). L'integrità è garantita solo se l'algoritmo MIC viene usato assieme a una funzione crittografica (come AES), che però a sua volta richiede l'utilizzo di una chiave. D'altro canto, un MAC, che di per sé già utilizza una chiave segreta, non necessita di essere cifrato per offrire lo stesso livello di sicurezza del MIC.
Nella RFC 4949 della [[IETF]] si sconsiglia l'utilizzo dell'espressione "message integrity code" e si raccomanda invece di usare termini più specifici come "[[checksum]]", "[[Rilevazione e correzione d'errore|error detection code]]", "hash", "[[HMAC|keyed hash]]", "message authentication code" o "protected checksum".<ref>{{cita web|url=https://tools.ietf.org/html/rfc4949|titolo=Internet Security Glossary, Version 2|opera=RFC 4949|editore=IETF|autore=R. Shirey|data=agosto 2007|accesso=16 luglio 2018|lingua=en}}</ref>
==
Nonostante le funzioni di MAC siano simili alle [[Funzione crittografica di hash|funzioni crittografiche di hash]], esse hanno differenti requisiti di sicurezza. Per essere ritenuta sicura, una funzione di MAC deve resistere alla [[falsificazione esistenziale]] quando viene sottoposta
== Firme digitali ==
I MAC differiscono dalle [[
Per questa ragione i MAC non forniscono la proprietà del
== Esempio ==
[[File:MAC-it.svg|center|500px]]
Il mittente deve inviare un messaggio
Stabilita la chiave, utilizza una funzione di MAC
▲Il mittente deve inviare un messaggio ad un destinatario. Prima di effettuare l'operazione si accorda col destinatario su una chiave segreta.
== Note ==
▲Stabilita la chiave, utilizza una funzione di MAC (''Algoritmo MAC'') per calcolare il MAC del messaggio ed infine invia entrambi al destinatario. Questi calcola il MAC del messaggio ricevuto e poi lo confronta con il MAC allegato al messaggio stesso: se coincidono, il messaggio è integro, altrimenti qualcosa è andato storto.
<references/>
== Voci correlate ==
*[[Modulo SAM]]
*[[Cifratura autenticata]]
== Altri progetti ==
==Collegamenti esterni==▼
{{interprogetto}}
▲== Collegamenti esterni ==
{{Portale|crittografia|Sicurezza informatica}}▼
* {{cita web|url=http://www.rsasecurity.com/rsalabs/node.asp?id=2177|titolo=FAQ sui MAC sul sito di RSA|urlmorto=sì|urlarchivio=https://web.archive.org/web/20061020212439/http://www.rsasecurity.com/rsalabs/node.asp?id=2177|dataarchivio=20 ottobre 2006|lingua=en}}
* {{cita web|url=http://web.mit.edu/6.857/OldStuff/Fall97/lectures/lecture3.pdf|titolo=Lecture 3|data=11 settembre 1997|autore=Ron Rivest|editore=[[Massachusetts Institute of Technology]]|accesso=16 luglio 2018|lingua=en|urlarchivio=https://web.archive.org/web/20160304073859/http://web.mit.edu/6.857/OldStuff/Fall97/lectures/lecture3.pdf|dataarchivio=4 marzo 2016|urlmorto=no}}
{{Hash e MAC}}
{{Controllo di autorità}}
[[Categoria:Codici di autenticazione dei messaggi| ]]
|