Integrità dei messaggi. Funzioni di Hash e codici MAC. Message digest. Message digest e funzioni di hash



Documenti analoghi
!"### "$ " Applicazioni. Autenticità del messaggio M Integrità del messaggio M. Stelvio Cimato DTI Università di Milano, Polo di Crema

RETI DI CALCOLATORI. Crittografia. La crittografia

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer

Applicazioni. Cosa si intende per sicurezza di uno schema di un MAC? Dobbiamo definire. Autenticità del messaggio M Integrità del messaggio M

da chi proviene un messaggio?

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

Lezione 7 Sicurezza delle informazioni

RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

Algoritmi e strutture dati. Codici di Huffman

! La crittoanalisi è invece la scienza che cerca di aggirare o superare le protezioni crittografiche, accedendo alle informazioni protette

Corso di Network Security a.a. 2012/2013. Soluzione dei quesiti sulla prima parte del corso

Crittografia e sicurezza delle reti. WEP: Wired Equivalent Privacy

metodi crittografici maurizio pizzonia sicurezza dei sistemi informatici e delle reti

Crittografia. Appunti a cura del prof. Ing. Mario Catalano

Approfondimento di Marco Mulas

Comunicazioni sicure su Internet: https e SSL. Fisica dell Informazione

Automazione Industriale (scheduling+mms) scheduling+mms.

Capitolo 8 La sicurezza nelle reti

Gennaio. SUAP On Line i pre-requsiti informatici: La firma digitale

risulta (x) = 1 se x < 0.

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link. Sicurezza ai livelli di rete e data link

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

I documenti di Gli ingredienti per l allenamento per la corsa LE RIPETUTE

Sicurezza dei dati. Xml Encryption e Digital Signature. Sicurezza dei dati. XML Encryption. Svantaggio di SSL. SSL (Secure Socket Layer)

Informatica per la comunicazione" - lezione 13 -

Scambio delle chiavi. mercoledì 7 dicembre 2011

Sicurezza: necessità. Roberto Cecchini Ottobre

Ottimizzazione delle interrogazioni (parte I)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Funzioni Hash e Network Security

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

CAPITOLO 10 I SINDACATI

Esponenziali elogaritmi

un protocollo è costituito da una serie di passi (step) e coinvolge due o più persone (parti, entità) allo scopo di svolgere un incarico

Autenticazione dei messaggi e funzioni hash

Corso di Calcolo Numerico

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini


Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo

Firma Digitale. dott. Andrea Mazzini

Analisi di programmi: Crittografia

Elementi di informatica

Informatica. Rappresentazione dei numeri Numerazione binaria

Linguaggi e Paradigmi di Programmazione

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Funzioni di hash sicure: MD5 e SHA-1

Sicurezza nei Sistemi Distribuiti

Sicurezza nei Sistemi Distribuiti

La sicurezza nelle reti di calcolatori

e-dva - eni-depth Velocity Analysis

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Alessandro Pellegrini

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 10. Angelo Bonomi

Fondamenti di Informatica 2. Le operazioni binarie

Corso di Matematica per la Chimica

Corrispondenze e funzioni

Elementi di Psicometria con Laboratorio di SPSS 1

Appunti sulla Macchina di Turing. Macchina di Turing

Documenti cartacei e digitali. Autenticità. Cosa si vuole garantire? Riservatezza. Integrità 11/12/2012. PA digitale: documenti e firme (I.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Esercizio 1: trading on-line

Introduzione alla Crittografia

Sicurezza dei sistemi informatici Firma elettronica E-commerce

ALGEBRA DELLE PROPOSIZIONI

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

YOUR EASY SOLUTION FOR COSTING

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Gestione della memoria centrale

Vendere online. Andrea Marin. Università Ca Foscari Venezia SVILUPPO INTERCULTURALE DEI SISTEMI TURISTICI SISTEMI INFORMATIVI PER IL TURISMO

Dispense di Informatica per l ITG Valadier

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Sicurezza a livello IP: IPsec e le reti private virtuali

Statistica. Lezione 6

Rappresentazione dei numeri in un calcolatore

OSSERVAZIONI TEORICHE Lezione n. 4

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Database. Si ringrazia Marco Bertini per le slides

Progettazione : Design Pattern Creazionali

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

Una breve introduzione ai

Corso di Informatica

CALCOLO COMBINATORIO

Codifiche a lunghezza variabile

Circuiti amplificatori

4 3 4 = 4 x x x 10 0 aaa

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

Crittografia e sicurezza delle reti

Soluzione dell esercizio del 2 Febbraio 2004

Firma digitale: aspetti tecnologici e normativi. Milano,

Transcript:

Sicurezza nei Sistemi Informativi Integrità dei messaggi Funzioni di Hash e codici MAC una persona che intercetti una comunicazione cifrata non può leggerla...... ma può modificarla in modo imprevedibile! Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania O.Tomarchio Sicurezza nei sistemi informativi 2 Message digest Message digest e funzioni di hash È un riassunto del messaggio da proteggere deve essere: veloce da calcolare difficile da invertire spesso usato per evitare di lavorare sul messaggio completo quando questo è molto grosso (es. perché la crittografia a chiave pubblica è molto lenta) digest calcolabili in molti modi, ma solitamente tramite una funzione di hash O.Tomarchio Sicurezza nei sistemi informativi 3 O.Tomarchio Sicurezza nei sistemi informativi 4

Classificazione Classificazione Funzioni hash Senza chiave: Modification Detection Code (MDC) Senza chiave Con chiave oppure Message Integrity Code (MIC) Obiettivo: integrità dei messaggi Funzioni Hash One-Way (OWHFs) Funzioni Hash Collision Resistant (CRHFs) Altre applicazioni MIC (o MDC) Altre applicazioni MAC Con chiave: Message Authentication Code (MAC) Obiettivo: autenticazione e integrità dei messaggi One Way Hash Functions Collision Resistant Hash Functions Non richiedono ulteriori meccanismi O.Tomarchio Sicurezza nei sistemi informativi 5 O.Tomarchio Sicurezza nei sistemi informativi 6 Funzioni di hash: definizioni Funzioni di hash: proprietà Una (one-way) hash function h (anche detta message digest function), è una funzione che realizza una corrispondenza univoca tra un insieme M di stringhe binarie di lunghezza arbitraria (finita), e un insieme D di stringhe binarie, ciascuna di lunghezza n fissata (la dimensione dell hash) Il valore d = h(m) può essere visto come una rappresentazione compatta di m h può essere applicata a un blocco di dati di qualsiasi dimensione h produce un output di lunghezza fissa La probabilità che l immagine attraverso h di un m scelto a caso sia un dato d deve essere 2 -n Efficienza computazionale: dato m dev essere relativamente semplice calcolare d=h(m) O.Tomarchio Sicurezza nei sistemi informativi 7 O.Tomarchio Sicurezza nei sistemi informativi 8

Funzioni di hash: proprietà Obiettivi di sicurezza per un MDC non invertibilità: one-way hash (detta anche preimage resistance) Dato d = h(m), dev essere computazionalmente difficile risalire a m, cioè trovare un m tale che d=h(m) weak collision resistance (detta anche 2 nd preimage resistance) Dato un x, dev essere computazionalmente difficile trovare x1 x tale che h(x1)=h(x) strong collision resistance Dev essere computazionalmente difficile trovare due messaggi distinti che collidano Due messaggi x e y, con x y, collidono se h(x)=h(y) Obiettivo per un MDC (relativamente alla strong collision resistance): Fare in modo che per trovare, con probabilità 0.5, due valori che producono lo stesso output si debbano calcolare O(2 n/2 ) hash n = dimensione in bit dell hash Un MDC viene considerato sicuro se verifica questa proprietà (insieme alla preimage resistance) NOTA: la collision resistance non garantisce la preimage resistance! O.Tomarchio Sicurezza nei sistemi informativi 9 O.Tomarchio Sicurezza nei sistemi informativi 10 Lunghezza valore hash Lunghezza valore hash La resistenza di una funzione hash contro gli attacchi a forza bruta dipende esclusivamente dalla lunghezza del codice hash prodotto dall algoritmo L impegno richiesto è proporzionale a: 2 n monodirezionalità (preimage resistance) 2 n weak collision resistance 2 n/2 strong collision resistance Attacco a compleanno Attacco per trovare collisioni h: X Z funzione hash, X = m e Z = n Scelgo a caso diversi messaggi Verifico se ottengo almeno due valori hash uguali Quanti messaggi per avere una buona probabilità di successo? n numero dei diversi valori hash t numero messaggi da scegliere ε probabilità di successo O.Tomarchio Sicurezza nei sistemi informativi 11 O.Tomarchio Sicurezza nei sistemi informativi 12

Paradosso del compleanno Quante persone scegliere a caso affinchè, con probabilità 0.5, ci siano almeno due con lo stesso compleanno? Risposta: bastano 23 persone! O.Tomarchio Sicurezza nei sistemi informativi 13 Paradosso del compleanno Scegliamo a caso elementi in un insieme di cardinalità n. Quanti elementi scegliere se si vuole che la probabilità che ci siano almeno due elementi uguali sia ε? Se ε = 0.5 allora t 1.17 n t 1 n 2ln 1 ε Applicazione: n = 365 e ε = 0.5 allora t = 22.3 Che relazione c è con le funzioni hash? O.Tomarchio Sicurezza nei sistemi informativi 14 Attacco del compleanno Sicurezza hash 128 bit 160 bit Scegliere t elementi a caso e calcolarne i valori hash. Quanti elementi scegliere per avere almeno una collisione? Assumiamo che tutte le classi di equivalenza abbiano più o meno la stessa cardinalità, caso migliore per chi sceglie h Per una fissata probabilità ε, t è circa Se n = 2 80 allora t 2 40 Se n = 2 160 allora t 2 80 n MD5: hash a 128 bit Costo di un attacco per computare collisioni: 2 64 2. 10 19 valutazioni della funzione Attacco <1mese e $10.000.000 P. van Orschot e M. Wiener [1994] Su un codice hash a 160 bit la stessa macchina impiegherebbe 4000 anni!!! O.Tomarchio Sicurezza nei sistemi informativi 15 O.Tomarchio Sicurezza nei sistemi informativi 16

Esistenza delle one-way hash function Modello base: funzioni di hash iterative OWHF: funzione hash con la proprietà della non invertibilità Ad oggi tutte le OWHF sono solo candidate: non è possibile dimostrare, senza ipotesi, la loro non invertibilità È solo possibile mostrare la difficoltà computazionale dell operazione di inversione Le owhf di oggi, per costruzione, sono difficili da iivertire quanto sono difficili da risolvere i problemi della classe NP-completa Se si dimostrasse l esistenza delle OWHF, si sarebbe anche dimostrato che P!= NP Viceversa, se si dimostrasse che le OWHF non esistono, si sarebbe vicini alla dimostrazione che P = NP (e molte delle ipotesi di base della crittografia moderna crollerebbero ) Fase preparatoria Si concatena il messaggio originale con un numero binario che indica la lunghezza del messaggio stesso Padding, per ottenere, da una lunghezza originaria del messaggio arbitraria (j), un multiplo del blocco base q sul quale opera la funzione di compressione f La funzione di compressione f accetta come input un blocco di q bit (blocco del messaggio originale) più una variabile di stato di n bit, e produce un valore di n bit t iterazioni della funzione di compressione, con il risultato intermedio r i =f(x i,r i-1 ), r 0 =IV IV può essere fisso, funzione di m, o casuale (nel qual caso dev essere trasmesso con m) La trasformata finale g è opzionale O.Tomarchio Sicurezza nei sistemi informativi 17 O.Tomarchio Sicurezza nei sistemi informativi 18 Modello base: note Funzioni hash ottenute dai cifrari a blocchi Ciò che distingue le varie funzioni di hash basate su questo modello sono: Il meccanismo seguito per eseguire il pre-processing (padding) La struttura della f Numero di round (anche detti pass, in questo contesto) che la f esegue per processare ciascun blocco (o gruppo di blocchi) di plaintext Le costanti usate per generare le varie matrici di trasformazione che compongono la f Le operazioni elementari che compongono ciascun round interno alla f Il numero di bit che la f accetta in ingresso (q) e il numero di bit che la f genera in uscita (n) Il metodo Matyas-Meyer-Oseas: E k f I vari r i vengono usati come chiave per la E k, un algoritmo simmetrico, previa riduzione/espansione (se necessario) al numero corretto di bit necessari, tramite la funzione w r i =x i XOR E k (x ), i k=w(r i-1 ) x i viene messo in XOR con il risultato, per prevenire attacchi di tipo meet-in the-middle Ci sono altri meccanismi simili O.Tomarchio Sicurezza nei sistemi informativi 19 O.Tomarchio Sicurezza nei sistemi informativi 20

Problemi con gli MDC che derivano f da una E k simmetrica La dimensione dell hash (d) dipende da b (la dimensione del blocco usato da E k ) Ci sono meccanismi simili per ottenere funzioni di hash con d=n b, ma diventano rapidamente complessi, e quindi lenti La complessità computazionale, e quindi la lentezza di esecuzione, sono molto più grandi per gli algoritmi crittografici simmetrici, rispetto a funzioni di hash con f specificamente progettate all uopo Ovviamente un vantaggio di questo approccio è che rende possibile ottenere una funzione di hash partendo da un algoritmo simmetrico, senza dover progettare una funzione di compressione f specifica MD5 (Message Digest 5) Progettato da Rivest nel 1991 [RFC 1321] Successore di MD4 Genera un hash di 128 bit Molto veloce, ma: Basato su una funzione (MD4) che è stata compromessa nel 1995 (sono state trovate collisioni) Non è sicuro in alcuni casi patologici : anche MD5 è stata compromessa, nel 1996 (Dobbertin) Oggi, inizia ad essere anche vulnerabile ad attacchi a compleanno (complessità 2 64 ) O.Tomarchio Sicurezza nei sistemi informativi 21 O.Tomarchio Sicurezza nei sistemi informativi 22 MD5: caratteristiche SHA-1 m di lunghezza qualsiasi, n = 128 bit, q = 512 bit Padding Al messaggio originale viene aggiunto un blocco composto da: Un bit impostato a 1 Una stringa di 0, lunga m mod(512) -1-64 Il numero m mod(2 64 ), codificato in 64 bit Il risultato è una stringa di bit la cui dimensione è un multiplo intero t di 512 bit Funzione di compressione f Lavora su blocchi di 512 bit (q = 512) Composta da 4 pass: ciascun blocco da 512 bit viene processato da f in quattro distinte fasi Produce un digest da 128 bit SHA sta per Secure Hash Algorithm Introdotto nel 1993, [RFC 3174] Standard del Governo americano dal 1993 Modificato nel luglio 1994, denotato SHA-1 m di lunghezza minore di 2 64 bit, n = 160, q = 512 Decisamente più lento di MD5, ma più sicuro Altre versioni, derivate da SHA-1 SHA-256, SHA-384, and SHA-512 O.Tomarchio Sicurezza nei sistemi informativi 23 O.Tomarchio Sicurezza nei sistemi informativi 24

SHA-1: caratteristiche SHA-256, SHA-512, SHA-384 Padding: come per MD5 (senza mod(2 64 )) Funzione di compressione f Lavora su blocchi di 512 bit (q = 512) Composta da 5 pass: ciascun blocco da 512 bit viene processato da f in cinque distinte fasi Produce un digest da 160 bit (riduce la probabilità di un birthday attack, rispetto a MD5) Stessi principi di MD5, SHA-1 SHA-256 Messaggio diviso in blocchi di 512 bit Parole da 32 bit SHA-512 Messaggio diviso in blocchi di 1024 bit Parole da 64 bit SHA-384 Valore hash = primi 384 bit di SHA-512, con costanti iniziali cambiate O.Tomarchio Sicurezza nei sistemi informativi 25 O.Tomarchio Sicurezza nei sistemi informativi 26 MAC - Message Authentication Code Utilizzo MAC messaggio M chiave segreta K MAC MACK (M) chiave privata K messaggio M Y MAC K (M) chiave privata K Applicazioni M, y Autenticità del messaggio M Integrità del messaggio M Alice Bob? Y = MAC K (M) O.Tomarchio Sicurezza nei sistemi informativi 27 O.Tomarchio Sicurezza nei sistemi informativi 28

MAC + confidenzialità MAC fornisce solo autenticazione Se si vuole confidenzialità, si può cifrare prima/dopo con una diversa chiave condivisa K CBC-MAC Cipher Block Chaining (con IV=0) Uno dei più usati (FIPS PUB 113 e ANSI X9.17) Testo X = X 1 X 2 X n diviso in blocchi di 64 bit E K (M), MAC K (E K (M)) IV x 11 x 22 x nn Alice oppure E K (M,MAC K (M)) Bob k k k DES DES DES MAC Valore troncato: da 16 a 64 bit più a sinistra O.Tomarchio Sicurezza nei sistemi informativi 29 O.Tomarchio Sicurezza nei sistemi informativi 30 MAC basati su Funzioni Hash Vantaggi uso funzioni hash Sono più veloci dei cifrari a blocchi, in genere Sono incluse nelle funzioni di libreria, in genere Non ci sono restrizioni sull esportazione dagli USA Attenzione alla costruzione! I meccanismi più ovvi e intuitivi non funzionano (sono attaccabili facilmente). Metodo del segreto suffisso Sia g() un generico MDC() (una funzione hash) Suffix-only: d=mac k (m)=g(m k) Problema: conoscendo m e m tali che d=d, dove d=g(m) e d =g(m ) si sarà anche sicuri che MAC k (m)=mac k (m ) Il problema è dovuto che la k, per costruzione, viene usata solo nell ultima iterazione della f() usata dalla g() Attacco in pratica: qualcuno vi fa firmare m, ed in seguito potrà sostenere che voi abbiate firmato m Il fatto di riuscire a montare un birthday attack sulla g() porta a un attacco alla relativa MAC k () (e un birthday attack di questo tipo si può fare off-line, e senza conoscere k ) O.Tomarchio Sicurezza nei sistemi informativi 31 O.Tomarchio Sicurezza nei sistemi informativi 32

Metodo del segreto prefisso HMAC Prefix-only: d=mac k (m)=g(k m) Problema: conoscendo d=mac k (m) è semplice ricavare d =MAC k (m x), senza conoscere k Si può usare d come valore r i nella f della particolare MDC usata La cosa diventa più complicata con MDC che usano padding/lunghezza del messaggio, ma è sempre fattibile (in questo caso il messaggio falsificato non sarà (m x), bensì (m pad l x) ) Esercizio: trovare una soluzione (semplice) al problema Attacco in pratica: osservando un d=mac k (m) è possibile generare un d valido di una qualunque estensione di m HMAC - Hash-based MAC: metodo per utilizzare un MDC qualunque per ottenere un MAC (si parla di HMAC-MD5, HMAC-SHA1, ) RFC 2104, HMAC: Keyed-Hashing for Message Authentication, Febbraio 1997 ANSI X9.71 Keyed Hash Message Authentication Code, 2000 FIPS 198, The Keyed-Hash Message Authentication Code (HMAC), pubblicato 6 marzo 2002 Standard effettivo dal 6 agosto 2002 Draft pubblicato 5 gennaio 2001, review e commenti pubblici Funzioni Hash usate come black-box Utilizzo delle funzioni hash senza modifiche Facile cambio della funzione hash (più veloci e più sicure) Facile utilizzo e gestione di chiavi O.Tomarchio Sicurezza nei sistemi informativi 33 O.Tomarchio Sicurezza nei sistemi informativi 34 HMAC Primo meccanismo di MAC basato su MDC per il quale si sia dimostrata la sicurezza, basandosi su ipotesi relativamente blande sull MDC di partenza L applicazione di HMAC risolve anche i problemi di bassa collisionresistance di MD5 Gli autori hanno dimostrato, tra le altre proprietà di HMAC, che esso è altrettanto sicuro di quanto è sicuro l MDC sottostante. In breve, semplificando: Ipotesi: MDC sia collision-resistant Tesi: HMAC-MDC è sicura, ossia: È collision-resistant: è computazionalmente impossibile trovare x e y, con x y, tali che HMAC-MDC k (x) = HMAC-MDC k (y) È computazionalmente impossibile trovare il corretto HMAC-MDC k (x), se non si conosce k, anche osservando un numero arbitrario di HMAC-MDC k (y), con x y Prestazioni: praticamente le stesse della funzione di hash usata come base Morale: usate HMAC O.Tomarchio Sicurezza nei sistemi informativi 35 chiave K HMAC chiave K opad 0x5c ripetuto 64 64 volte hash ipad 0x36 ripetuto 64 64 volte messaggio M hash H ( K opad, H(K ipad,m) ) O.Tomarchio Sicurezza nei sistemi informativi 36

HMAC: il miglior attacco possibile Tipologia: birthday attack a) Trudy osserva un numero sufficiente di coppie <m i,d i > (scambiate tra Alice e Bob) finchè non ne trova due, m 1 e m 2, tali che d 1 =d 2 b) Trudy crea m 3 =m 1 x, con scelto x a suo piacimento e chiede ad Alice di generare d 3 =MAC k (m 3 ) c) Trudy può ora calcolare d 4 =MAC k (m 4 ), dove m 4 =m 2 x Tale attacco avrà una probabilità significativa di riuscire solo se l attaccante, statisticamente, riesce ad osservare un numero di coppie <m i,d i > maggiore o uguale a 2 n/2 (dimostrazione banale tramite il birthday problem) Con HMAC-MD5, ciò significa osservare almeno 2 64 blocchi da 512 bit, tutti generati con la stessa chiave, cioè almeno 2 73 bit. Su un canale da 10 Gb/s, questo richiederebbe circa 25mila anni di osservazione (!) Con HMAC-SHA1 la cosa diventa ancora meno fattibile Si tratta quindi, in pratica, di un attacco poco probabile O.Tomarchio Sicurezza nei sistemi informativi 37