Che materia stai cercando?

Hash crittografiche

Appunti di Sicurezza informatica sulle hash crittografiche basati su appunti personali del publisher presi alle lezioni del prof. Naldi dell’università degli Studi di Tor Vergata - Uniroma2, facoltà di ingegneria, Corso di laurea in ingegneria informatica. Scarica il file in formato PDF!

Esame di Sicurezza informatica docente Prof. M. Naldi

Anteprima

ESTRATTO DOCUMENTO

destinazione si può decifrare semplicemente la parte dell’hash, si ottiene l’hash e lo si può

confrontare con l’hash calcolato sul messaggio ricevuto.

Nel terzo meccanismo non viene fatto l’hash del messaggio ma il messaggio viene concatenato

con un valore segreto; poi si fa l’hash del messaggio + valore segreto e dopo si concatena il

messaggio e si invia. A destinazione il destinatario estrae il messaggio ed estrae l’hash fatto sul

messaggio + valore segreto; dal messaggio lo riconcatena con il valore segreto facendo la stessa

operazione fatta all’inizio e lo si confronta con l’hash. . Il valore segreto deve essere condiviso tra

mittente e destinatario. Questo è l’unico schema in cui non c’è nessuna operazione di cifratura

nell’invio.

Nel quarto meccanismo di applicano contemporaneamente concatenzione, hash e cifratura. Quello

che si manda è una cifratura del messaggio concatenato con l’hash del messaggio + valore

segreto.

I modi a e b forniscono una confidenzialità del messaggio.

Il modo b è molto veloce.

Il modo c è più veloce di b ma non fornisce una autenticazione del valore di hash però richiede la

condivisione del valore segreto.

Preferiamo ricorrere ai modi b e c perché il software di cifratura è lento ed l’hardware di cifratura è

costoso. Quest’ultimo è ottimizzato per lavorare con blocchi molto grandi.

Una maniera per fare l’autenticazione dei messaggi è quella di usare il MAC.

MAC (Message Authentication Code): sono i codici di autenticazione dei messaggi. Si tratta di una

funzione hash che viene applicata ad una chiave segreta ed ad un blocco dati: per questo motivo

viene chiamata funzione di hash con chiave.

Viene utilizzato per una comunicazioni di 2 utenti che condividono una chiave segreta.

Il MAC rientra nella famiglia dei dispositivi che usano una cifratura simmetrica.

Se l’attaccante non conosce la chiave segreta non può alterare il valore del MAC perché dovrebbe

cifrarlo con la chiave segreta.

Il mittente applica l’algoritmo di MAC all’unione del messaggio e della chiave segreta; genera il

codice e lo appende al messaggio. A destinazione, il ricevente estrae il messaggio, con la chiave

segreta applica l’algoritmo di MAC e riottiene il MAC e può confrontarlo con quello ricevuto. In

questa maniera si accorge se il messaggio è stato modificato perché se è stato modificato allora il

MAC a cui da luogo è diverso da quello che è stato ottenuto per il messaggio originario.

Un'altra grande applicazione per cui usiamo le funzioni di hash è quello della firma digitale. Nella

firma digitale si vuole assicurare che il messaggio sia quello inviato dal mittente; in questo caso si

usa una cifratura del valore di hash con una chiave privata e chi ha la chiave pubblica dell’utente

può verificare che il messaggio non è stato cambiato. Qui a differenza del MAC è che mentre nel

MAC stavamo nel campo dei meccanismi a chiave simmetrica qui siamo nel campo dei

meccanismi a chiave asimmetrica.

I problemi di sicurezza legati alle funzioni hash sono:

- Legati alle Preimmagini: questo perché visto che le funzioni hash sono funzioni molti ad

uno si può avere ambiguità delle preimmagini;

- Legati alle collisioni: si verifica quando due blocchi in ingresso hanno lo stesso valore di

hash e non ci si accorge di una serie di variazioni.

I requisiti di sicurezza delle funzioni hash sono:

- Resistente alle preimmagini: se non è possibile invertire la funzione di hash cioè dal valore

di hash non è possibile risalire alla preimmagine.

- Resistente alla seconda preimmagine: se avendo già un blocco di ingresso ed il valore di

hash, non si riesce a trovare un altro blocco di ingresso (ossia un’altra preimmagine) che

ha lo stesso valore di hash.

- Resistente alle collisioni: se, partendo da zero, non si trovano 2 preimmagini che hanno lo

stesso valore di hash (ossia 2 preimmagini che collidono).

- Una funzione di hash è crittografica se è resistente alle collisioni;

Attacchi a forza bruta: sono attacchi diretti alla prima preimmagine e alla seconda preimmagine.

L’obiettivo è quello di ottenere una collisione.

Quale è il numero minimo di tentativi affinchè la probabilità di successo sia maggiore a 0,5? Può

essere riconducibile al problema dei compleanni.

Dato un valore di hash, la probabilità che considerando un’altra pre immagine si riottenga lo stesso

valore di hash è 1/n perché abbiamo n possibilità.

Se consideriamo la probabilità che sia diverso si fa il complemento ossia 1-(1/n). k

Se consideriamo con k tentativi indipendenti la probabilità che nessuno di questi riesca è [1-(1/n)]

m

Il numero di combinazioni possibili se il valore hash è un valore ad m bit è 2 (m-1)

Numero medio di tentativi per avere una probabilità di successo maggiore del 50% è 2

Se vogliamo valutare la capacità di resistere ad attacchi di tipo collisione l’obiettivo non è di trovare

una preimmagine a partire dall’hash, ma è di trovare direttamente due ingressi (preimmagini che

danno lo stesso valore di hash): si ha un hash range [1-n].

La probabilità che sia diverso al secondo tentativo è (n-1)/n

Su k tentativi la probabilità di non trovare match ossia di avere tutti i valori hash generati diversi tra

loro è (n-k+1)/n.  per l’attaccante questa è la probabilità di insuccesso

La probabilità di successo per l’attaccante è 1 – [(n-k+1)/n].

Il procedimento di attacchi alle collisioni a forza bruta è il seguente:

Il mittente vuole firmare un messaggio; per mettere la sua firma fa l’hash del messaggio e lo cifra

con la sua chiave privata in modo da aver garantito che è lui che ha creato quell’hash. L’attaccante

genera un numero di variazioni del messaggio originario con lo stesso significato; prende questi

messaggi che ha generato e ne calcola il valore di hash e lo memorizza; poi prepara un messaggio

fraudolento dove desidera che A sia il firmatario generando una serie di variazioni su quel

messaggio e per ogni variazione si calcola l’hash; poi continua fino a quando non trova un match


PAGINE

6

PESO

139.12 KB

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
A.A.: 2017-2018

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Daniele9292 di informazioni apprese con la frequenza delle lezioni di Sicurezza informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Tor Vergata - Uniroma2 o del prof Naldi Maurizio.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Sicurezza informatica

Cifrari Crittografia
Appunto
Operazioni con i blocchi
Appunto
Diffie Hellman
Appunto
MAC (Massage Auth Code)
Appunto