La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Autenticazione dei messaggi e funzioni hash Cap. 11 William Stallings.

Presentazioni simili


Presentazione sul tema: "Autenticazione dei messaggi e funzioni hash Cap. 11 William Stallings."— Transcript della presentazione:

1 Autenticazione dei messaggi e funzioni hash Cap. 11 William Stallings

2 Autenticazione di un messaggio Lautenticazione di messaggio comporta: Protezione dellintegrità di un messaggio Controllo dellidentità di colui che lo ha prodotto Assenza di ripudio (risoluzione delle controversie) Sono usate tre principali tecniche: Cifratura di messaggio Message authentication code (MAC) Funzione hash

3 Requisiti di sicurezza Violazione (rilascio di dati a persone che non possiedono la chiave) Analisi del traffico Mascheramento (inserimento in rete di messaggi provenienti da una sorgente fasulla) Modifica del contenuto Variazione di sequenza ( inserimento, cancellazione, riordino) Modifica del timing (ritardo o ripetizione dei messaggi) Ripudio da parte del mittente Ripudio da parte del destinatario Possono essere identificati vari attacchi:

4 Cifratura di un messaggio La cifratura del messaggio fornisce una misura di autenticazione Se viene usata la cifratura simmetrica allora: Il receiver sa che il messaggio è stato creato dal preteso sender, perché solo lui ed il sender conoscono la chiave Il messaggio originale potrebbe essere sostituito da un opponent che non conosce la chiave. La funzione di decrittazione restituisce in tal caso una sequenza di bit priva di significato Per evitare tali attacchi lo spazio dei messaggi deve essere ristretto Non può essere alterato nemmeno se al messaggio si aggiunge un codice di rilevamento degli errori FCS (Frame Check Sequence) o checksum per rivelare qualsiasi cambiamento

5 Cifratura di un messaggio Se si facesse uso della encryption a chiave pubblica: Lencryption non darebbe alcuna confidenza circa il sender perché potenzialmente chiunque conosce la chiave pubblica Tuttavia se il sender firma il messaggio con la sua chiave privata e cifra il messaggio con la chiave pubblica del recipient si ottengono sia segretezza che autenticazione Il bisogno di riconoscere i messaggi corrotti si riflette nel costo che comporta lutilizzo di due sistemi a chiave pubblica sullo stesso messaggio

6 Impieghi della crittografia dei messaggi

7 Controllo degli errori interno e esterno Controllo interno degli errori Controllo esterno degli errori

8 Un segmento TCP

9 Codice generato da un algoritmo che crea piccoli blocchi di lunghezza fissa dipendenti dal messaggio e da una chiave A differenza dellencryption deve essere non reversibile Viene aggiunto al messaggio come una sorta di firma Colui che riceve effettua sul messaggio lo stesso calcolo e controlla la conformità del MAC MAC fornisce la certezza che il messaggio è inalterato e proviene da colui che lo ha firmato Message Authentication Code (MAC)

10 Message Authentication Code

11 Autenticazione e segretezza Autenticazione del testo in chiaro Autenticazione del testo cifrato

12 Message Authentication Code Il MAC fornisce la confidenzialità Possibile usare la encryption per la segretezza Generalmente si usano per ciascun compito chiavi separate Possibile calcolare il MAC prima o dopo la encryption Generalmente si ritiene preferibile farlo prima Perché usare un MAC ? Talvolta serve soltanto la autenticazione Talvolta si richiede che lautenticazione persista più a lungo della encryption (p.e. uso di archivio) Nota: un MAC non è una firma digitale

13 Requisiti per i codici MAC Il MAC è una checksum criptografica MAC = C k (M) -Crea un condensato di un messaggio con lunghezza variabile -Utilizza una chiave segreta K -Ottiene un autenticatore di lunghezza fissa È una funzione many-to-one -Potenzialmente molti messaggi hanno lo stesso MAC -Determinare un messaggio con dato MAC è estremamente difficile

14 Requirement per il MAC Tenendo presente i diversi tipi di attacchi il MAC deve avere le seguenti caratteristiche: 1. Conoscendo un messaggio ed il MAC corrispondente, è computazionalmente impossibile trovare un altro messaggio con lo stesso MAC 2.I MAC dovrebbero essere uniformemente distribuiti 3. I MAC dovrebbero dipendere in modo eguale da tutti i bit del messaggio

15 Requirement per il MAC Tenendo conto dei diversi tipi di attacco il MAC deve avere le seguenti prestazioni: Conoscendo un messaggio ed il MAC, deve essere computazionalmente impossibile trovare un altro messaggio con lo stesso MAC I MAC devono essere uniformemente distribuiti nel loro spazio Il MAC deve dipendere egualmente da tutti i bit del messaggio

16 Uso dei cifrari simmetrici Si può usare qualsiasi sistema cifrario a blocco in chaining mode e prendere il blocco finale come MAC Il Data Authentication Algorithm (DAA) è un algoritmo basato sul DES-CBC che è stato largamente usato Fa uso di un vettore di inizializzazione IV = 0 e padding con zeri sul blocco finale Cifra il messaggio usando il DES in modo CBC(Cipher Block Chaining) Invia come MAC il blocco finale Oppure gli M bit più a sinistra (16 M 64) Oggi è però ritenuto troppo debole

17 Data Authentication Algorithm

18 Vari tipi di MAC -È sicuro per messaggi di qualsiasi lunghezza ed ha unefficienza ottimizzata -NIST B Recommendation for Block Cipher Modes of Operation: -The CMAC Mode for Authentication -Per usare il CMAC, bisogna scegliere un block cipher E e una tag length t -CMAC is equivalent to OMAC1 -Sostanzialmente un modo di funzionamento di un block cipher

19 Hash Functions Condensano un messaggio di lunghezza arbitraria in uno di lunghezza fissa h = H(M) Usualmente si assume che la hash function sia pubblica e priva di chiave A differenza del MAC non è dotato di chiave per rivelare i cambiamenti del messaggio Può essere usata in vari modi con il messaggio Usata molto spesso per creare una firma digitale

20 Hash Functions & Digital Signatures

21 Requirements for Hash Functions 1. Può essere applicata a messaggi M di qualsiasi lunghezza 2. Produce unuscita di lunghezza fissa h 3. È facile calcolare h = H(M) per qualsiasi messaggio M 4. Ad input uguali corrispondono sempre output uguali (coerenza) 5. Dato h è computazionalmente impossibile determinare un M tale che H(M) = h (proprietà one-way cioè non invertibile) 6. Per qualsiasi dato blocco x è computazionalmente impossibile trovare un y F x tale che H(y) = H(x) weak collision resistance 7. È computazionalemente impossibile trovare una coppia (x, y) tale che H(x) = H(y) (univocità) strong collision resistance 8. Output uniformemente distribuito (casualità)

22 Simple Hash Functions Esistono diverse proposte per funzioni semplici basate sull XOR di blocchi di messaggio Non risultano sicure perché è possibile manipolare qualsiasi messaggio non cambiando lhash o anche cambiando pure lhash Servono delle funzioni criptografiche forti

23 Birthday Attacks

24

25 Lopponent genera 2 m/2 pure variazioni del messaggio fraudolento desiderato I due insiemi sono confrontati per trovare una coppia con lo stesso hash Supposto che lo user abbia firmato il messaggio valido, si provvede a sostituirlo con quello fraudolento con lo stesso valore di hash Conclusione: Bisogna usare un hash con una lunghezza m tale che non si possano calcolare 2 m/2 hash in un tempo ragionevole

26 Block Ciphers as Hash Functions Potremmo pensare di usare i block cipher come hash function Usare un blocco iniziale e fare il padding H 0 = 0 del blocco finale con 0 Calcolare ( ) H i = E M i,H i-1 Usare il blocco finale come valore di hash Simile al CBC ma senza chiave Lhash che ne risulta è troppo piccolo Suscettibile al birthday attack Suscettibile al man-in-the-middle attack Anche altre varianti sono suscettibili di attacco

27 Hash Functions & MAC Security Come cifrari a blocco presentano: Possibilità di attacchi a forza bruta Un hash con strong collision resistance ha un costo 2 m/2 Vi è una proposta per un cracker h/w per MD5 Gli hash con 128 bit appaiono vulnerabili; preferibile 160 bit MAC con coppie message-MAC note Possibile attaccare il keyspace (key search) o il MAC Per avere sicurezza servono MAC con almeno 128 bit

28 Hash Functions & MAC Security Attacchi criptanalitici sfruttano la struttura algoritmica Il termine di paragone delle hash functions è dato dai block ciphers Esiste una quantità di attacchi analitici sulle funzioni di hash iterate Gli attacchi sfruttano proprietà delle funzioni di round Come i block cipher sono spesso formati da rounds Tipicamente si punta a collisioni nella funzione di round


Scaricare ppt "Autenticazione dei messaggi e funzioni hash Cap. 11 William Stallings."

Presentazioni simili


Annunci Google