56
La Valutazione degli Algoritmi Crittografici Ing. Vincenzo Della Corte

valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Embed Size (px)

Citation preview

Page 1: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

La Valutazione degli Algoritmi

Crittografici

Ing. Vincenzo Della Corte

Page 2: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Contenuti

• Gli Algoritmi e la loro importanza per la

Sicurezza di un Sistema Crittografico

• Crittanalisi di Valutazione

Page 3: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

La Sicurezza di un Sistema

Crittografico

• Algoritmi crittografici

• Modi d’uso

• Implementazione

• Componenti di Protezione

• Interfaccia Utilizzatore

• Procedure d’uso

Page 4: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

ALGORITMI

• Il termine ALGORITMO deriva dal nome del matematico musulmano uzbeko Abū Jaʿfar Muhammad ibn Mūsā Khwārizmī che nacque a Corasmia o Baghdad nel 780 circa e visse fino all'anno 850 circa. “Al Khwarizmi” per primo introdusse nel mondo musulmano concetti acquisiti dalla cultura indiana nel periodo dell’espansione islamica nella penisola indiana.

Page 5: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

ALGORITMI

• Un Algoritmo può essere definito , informalmente,come un procedimento che risolve un determinato problema attraverso un numero finito di passi. Un problema risolvibile mediante un algoritmo si dice computabile. Al momento non esiste una definizione formale di algoritmo come invece è dato per strutture computazionali come la “macchina di Alan TURING”

Page 6: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

ALGORITMI

Proprietà fondamentali degli algoritmi • Dalla precedente definizione informale si evincono alcune proprietà

caratteristiche degli algoritmi:

• i passi costituenti devono essere "elementari", ovvero non ulteriormente scomponibili (atomicità);

• i passi costituenti devono essere interpretabili in modo univocodall'esecutore, sia esso umano o artificiale (non ambiguità);

• l'algoritmo deve essere composto da un numero finito di passi e richiedere una quantità finita di dati in ingresso (finitezza)

• l'esecuzione deve avere termine dopo un tempo finito (terminazione);

• l'esecuzione deve portare ad un risultato univoco (effettività);

• ad ogni un passo, il successivo deve essere uno ed uno solo, bendeterminato (determinismo). (fanno eccezione gli algoritmi randomizzatiche non interessano questa breve presentazione))

Page 7: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

CATOLOGAZIONE DEGLI ALGORITMI

Gli algoritmi vengono raggruppati e catalogati a seconda della loro funzione o delle tecniche utilizzate per

realizzarli, tuttavia una catalogazione rigorosa e completa è ormai diventata impossibile

Essenzialmente è possibile catalogarli come:• Algoritmi di ordinamento

•Algoritmi di ricerca•Algoritmi di compressione

•Genetici•Intelligence

•Ricorsivi

•Algoritmi combinatori•Codice automodificante

•Conversione e codifica

Page 8: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Algoritmi di codifica o crittografici

• Per le finalità di questa presentazione ci

soffermeremo in particolare sugli algoritmi di

codifica a blocchi. Pertanto è necessario

illustrarne i possibili tipi o modalità di

funzionamento. Le modalità di funzionamento

di un algoritmo a blocchi sono definibili come

le modalità di concatenazione del flusso dei

dati ( in blocchi ) sui quali viene applicato.

Page 9: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modi d’uso degli algoritmi

• Si applicano ai block cipher

• I modi d’uso con concatenazione proteggono

da alcuni attacchi

• La concatenazione può offrire servizi

aggiuntivi come l’autenticazione

• Non devono impedire il parallelismo nelle

cifranti ad alta velocità

Page 10: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modalità d’uso degli algoritmi a

blocchi

• Tutti gli algoritmi a blocchi utilizzano per

praticità e per velocizzare le operazioni delle

modalità di funzionamento che consentono di

cifrare quantità di dati molto maggiori delle

dimensioni del singolo blocco

(generalmente 64,128 o 256 bit)

Page 11: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modalità d’uso degli algoritmi a

blocchi

• Le modalità di funzionamento degli algoritmi simmetrici di cifratura o codifica a blocchi) sono state definite inizialmente dal NIST (National Institute of Standards and Technology) degli USA nel documento FIPS 81 (Federal Information Processing Standard) intitolato "DES modes of operation" affinché l'algoritmo di cifratura DES potesse essere applicato ad una varietà di situazioni differenti.Queste modalità cercano dunque di considerare tutte le possibili applicazioni della crittografia per cui può essere utilizzato l'algoritmoDES; con la successiva comparsa di nuovi requisiti, il NIST ha espanso l'elenco delle modalità di funzionamento a cinque, nel documento Special Publication 800-38A.Tali modalità possono essere utilizzate con qualsiasi algoritmo di cifratura simmetrica a blocchi, tra cui Triple DES e più recentemente l’AES.

Page 12: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modalità d’uso degli algoritmi a

blocchi

• ELECTRONIC CODEBOOK (ECB)

• CIPHER BLOCK CHAINING (CBC)

• CIPHER FEEDBACK (CFB)

• OUTPUT FEEDBACK (OFB)

• COUNTER (CTR)

Page 13: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modalità d’uso degli algoritmi a

blocchi: Electronic Codebook

• La modalità ECB è la più semplice. Il testo in chiaro viene gestito 64 bit per volta; ognuno dei blocchi di 64 bit viene cifrato con la stessa chiave. Per messaggi più lunghi di 64 bit, si procede suddividendo il messaggio in blocchi di 64 bit, utilizzando, se necessario, bit di riempimento nell'ultimo blocco. Per una data chiave, esiste un unico testo cifrato per ogni blocco di testo in chiaro di 64 bit; in altre parole, se nel messaggio compare più volte lo stesso blocco di 64 bit di testo in chiaro, verrà prodotto sempre lo stesso testo cifrato. Per questo motivo, il metodo ECB è ideale per limitati volumi di dati (ad esempio, la trasmissione di una chiave di cifratura), poichéper messaggi più lunghi potrebbe essere insicuro: se si trattasse di dover cifrare un messaggio molto strutturato, l'analisi crittografica potrebbe sfruttarne le regolarità.

Page 14: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modalità d’uso degli algoritmi a

blocchi: Cipher Block Chaining

• In sintesi ogni blocco di testo cifrato viene

messo in X-OR con il blocco precedente in

chiaro.

• Quando non c’è ancora il testo in chiaro

precedente (1°blocco si usa il vettore di

inizializzazione IV)

Page 15: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modalità d’uso degli algoritmi a

blocchi: Cipher Block Chaining• Per superare i limiti di sicurezza di ECB, è necessario l'utilizzo di una

tecnica in cui lo stesso blocco di testo in chiaro, se ripetuto, produce blocchi di testo cifrato differenti. Questo è ciò che accade con la modalità CBC, in cui l'input dell'algoritmo di crittografia è il risultato dello XOR tra il blocco di testo in chiaro corrente e il blocco di testo cifrato precedente; per ciascun blocco viene utilizzata la stessa chiave.In fase di decifratura, ciascun blocco di testo cifrato passa attraverso l'algoritmo di decrittografia; il risultato subisce uno XOR con il blocco di testo cifrato precedente, per produrre il blocco di testo in chiaro. Per produrre il primo blocco di testo cifrato, lo XOR viene effettuato tra un vettore di inizializzazione detto IV e il primo blocco di testo in chiaro. In decifratura, l‘ IV subisce uno XOR con l'output dell'algoritmo di decifratura in modo da ottenere nuovamente il primo blocco di testo in chiaro.Il vettore di inizializzazione IV deve essere dunque noto non solo al mittente ma anche al destinatario, che tipicamente lo riceve assieme alla chiave; entrambi i valori vengono crittati in modalità ECB.In conclusione, questa modalità è la più appropriata per cifrare messaggi più lunghi di 64 bit.

• Inoltre, la modalità CBC può essere utilizzata anche per l'autenticazione.

Page 16: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modalità d’uso degli algoritmi a

blocchi: Cipher Feedback

• La modalità CFB è stata ideata per convertire idealmente una cifratura a blocchi in una cifratura a flusso. La cifratura a flussi non necessita di eseguire riempimenti e può inoltre operare in tempo reale.Nell'operazione di cifratura, l'input della funzione di crittografia è un registro a scorrimento a 64 bit che inizialmente viene impostato con un vettore di inizializzazione IV). Gli s bit più significativi (ovvero quelli piùa sinistra) dell'output subiscono uno XOR con il primo segmento di testo in chiaro P1 per produrre la prima unità di testo cifrato C1. Il contenuto del registro di scorrimento viene fatto scorrere a sinistra di sbit, e negli s bit meno significativi (quelli più a destra) del registro viene inserito C1. Il processo viene reiterato fino all'esaurimento di tutte le unità di testo in chiaro.All'atto della decifratura, si utilizza il medesimo schema, tranne per il fatto che le unità di testo cifrato ricevute sono sottoposte ad uno XOR con l'output della funzione di crittografia. Non si utilizza dunque la funzione di decrittografia

Page 17: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modalità d’uso degli algoritmi a

blocchi: Output Feedback

• La modalità OFB è molto simile alla CFB. Il

vantaggio della OFB è che non propaga gli

errori di trasmissione dei bit.

• Il suo svantaggio è che è più vulnerabile a un

attacco a modifica del flusso dei messaggi.

Page 18: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modalità d’uso degli algoritmi a

blocchi: Counter

• Questa quinta modalità è stata introdotta successivamente alle altre quattro, per poter essere applicata a ATM (AsynchronousTransfer Mode) e a IPsec (IP security).In questa modalità viene utilizzato un contatore corrispondente alle dimensioni del blocco di testo in chiaro. Il requisito essenziale è che il suo valore sia differente per ciascun blocco da cifrare; in genere viene inizializzato con un determinato valore e poi incrementato di un'unità per ogni blocco successivo (modulo 2b dove b corrisponde alle dimensioni del blocco).Per la cifratura, il contatore viene crittografato e poi si applica uno XOR col blocco di testo in chiaro per produrre il blocco di testo cifrato.Per la decifratura si utilizza la stessa sequenza di valori del contatore ai quali si applica lo XOR con i blocchi di testo cifrato.

Page 19: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Modalità d’uso degli algoritmi

a blocchi: Riepilogo

APPLICAZIONI TIPICHE

• ECB:Trasmissione sicura di singoli valori contenuti;

• CBC:Trasmissione sicura di blocchi,autenticazione;

• CFB:Trasmissione sicura di flussi e autenticazione;

• OFB:Trasmissione di flussi dati su canali rumorosi;

• CTR:Trasmissione di blocchi per alte velocità.

Page 20: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Nuove Modalità:XTS mode

• Recentemente il NIST ha pubblicato nel documento SP 800-38E una nuova modalità per l’AES : il modo XTS per la applicazioni di confidenzialità nei dispositivi di Mass Storage.

• XTS fa uso di due diverse chiavi, generalmente generate dividendo la chiave di blocco fornita a metà, senza aggiungere così nessuna sicurezza ulteriore , ma complicando il processo. A causa di ciò gli utilizzatori di AES 256 e/o AES 128 devono scegliere chiavi lunghe rispettivamente 512 bit e 256 bit .

Page 21: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

IL problema della confidenzialità

dei dati cifrati a riposo

• La cifratura dei dati su memorie di massa deve garantirne la confidenzialità

• La memorizzazione ed il recupero dei dati deve essere veloce;

• Il metodo di cifratura non deve sprecare memoria: quindi la quantità di memoria che serve per i dati cifrati non deve eccedere significativamente quella dei dati in chiaro;

Page 22: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Proprietà degli algoritmi per la

sicurezza crittografica

• Devono assicurare una resistenza

appropriata al livello di informazione da

proteggere (coerentemente con il modello di

minaccia – threat model)

• Devono essere utilizzati coerentemente con

la loro struttura in modo da non presentare

vulnerabilità non note in letteratura

Page 23: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Implementazione

• Deve essere formalmente corretta e deve avvenire in ambiente omologato ai fini dalla sicurezza)

• Deve assicurare un basso livello di emissioni compromettenti (Emission Security)

• Deve assicurare il livello di resistenza più adatto agli attacchi fisici (SPA, DPA, Timing attacks: attacchi nei quali l’osservazione dei parametri fisici può consentire di correlare informazioni utili)

• Deve avere la velocità adatta al canale di comunicazioni da cifrare

Page 24: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Componenti di protezione

• Devono rendere visibile ogni tentativo di

manomissione

dell’apparecchiatura(antitampering)

• Devono garantire la distruzione del materiale

di chiave ad ogni tentativo di manomissione

• Devono essere attive anche ad apparato

spento

Page 25: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Interfaccia Utilizzatore

• Deve dare un feedback chiaro all’operatore sulle operazioni eseguite

• Deve chiedere opportune conferme delle operazioni irreversibili

• Deve rendere impossibile confondere operazioni in chiaro e in cifra

•PER I PUNTI DI CUI SOPRA RISULTA NECESSARIO

•CERTIFICARE I COMPONENTI IT

Page 26: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Procedure d’utilizzo

• Devono prevedere opportune verifiche dell’identità degli operatori

• Devono essere coerenti con il modello di minaccia

• Devono fornire un livello di protezione complementare alle protezioni tecniche

• Devono garantire l’ambiente operativo in cui il sistema viene utilizzato

Page 27: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Crittanalisi di Valutazione

• Deve garantire l’adeguatezza dell’algoritmo al

modello di minaccia

• Parte da ipotesi sulle risorse tecnologiche

disponibili all’attaccante nel periodo d’uso

dell’algoritmo

• Tiene conto dei criteri di resistenza agli

attacchi noti

• Non mira a “rompere” ma a mettere in

evidenza i rischi di rottura

Page 28: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Criteri Comuni

• Base matematica di provata resistenza

• Lunghezza della chiave (resistenza

all’attacco esaustivo)

• Complessità della rappresentazione algebrica

• Ampio margine di sicurezza

• Indistinguibilità da sequenza aleatoria

• Per sicurezza a lungo termine : intrattabilità

con algoritmi quantistici

Page 29: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Base Matematica

• L’algoritmo deve basarsi su principi

matematici noti

• La struttura deve essere stata analizzata in

maniera approfondita

• Non devono essere noti attacchi alla struttura

o a strutture vicine

Page 30: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Lunghezza della chiave

• Un attacco esaustivo è sempre possibile

• E’ un attacco intrinsecamente parallelizzabile

• La sua complessità cresce con l’effettivo

spazio delle chiavi

• E’ importante verificare che non soltanto la

chiave sia di lunghezza sufficiente, ma anche

che sia utilizzata senza ridurre la sua entropia

Page 31: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Rappresentazione Algebrica

• Un attacco algebrico è sempre possibile

• Maggiore è il grado del sistema di equazioni

equivalente,

• Maggiore è il numero di termini presenti,

• Maggiore è la difficoltà di risolverlo

Page 32: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Ampio margine di sicurezza

• I parametri di sicurezza devono disporre di un

fattore di sicurezza confortevole

• Si deve ipotizzare che eventuali opponenti

abbiano un considerevole vantaggio rispetto

a quanto appare in letteratura

• Deve essere presa in conto la probabile

evoluzione tecnologica nel periodo di uso

Page 33: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Indistinguibilità da sequenza

aleatoria

• Attaccare un testo cifrato significa spesso

basarsi sulle sue ridondanze

• Una sequnza aleatoria, non comprimibile, ha

un bit di entropia per ogni bit della sequenza

• Un testo in chiaro ha poco più di 1 bit di

entropia per carattere

Page 34: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Sicurezza a lungo termine

• Gli algoritmi quantistici riducono circa a metà

la lunghezza effettiva della chiave per gli

algoritmi simmetrici

• Oggi appare un argomento puramente

teorico, ma si sta avanzando verso la

realizzazione di calcolatori quantistici

• Non possiamo escludere che prototipi siano

già operativi

Page 35: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Requisiti di robustezza degli

algoritmi

• In crittografia, confusione e diffusione sono due proprietà che un algoritmo di cifratura sicuro deve possedere per essere considerato più o meno robusto ovvero scarsamente attaccabile da un attacco di tipo crittoanalitico. Queste proprietà sono state identificate da Shannon nel suo lavoro La teoria della comunicazione nei sistemi crittografici pubblicato nel 1949.

Page 36: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Requisiti di sicurezza degli algoritmi

• Nel documento di Shannon si definisce:

• la confusione il fatto che la relazione tra la chiave e il testo cifrato sia quanto più complessa e scorrelata possibile in modo tale che non si possa risalire ad essa a partire dal testo cifrato.

• la diffusione è la capacità dell'algoritmo di distribuire le correlazioni statistiche del testo lungo tutto l'alfabeto utilizzato dall'algoritmo di cifratura rendendo quanto più difficile possibile un attacco statistico.

• La diffusione è associata alla dipendenza dei bit di uscita da i bit di ingresso. In un algoritmo con un'ottima diffusione la variazione di un bit in ingresso dovrebbe cambiare tutte le uscite con probabilità del 50%.

• La sostituzione è la tecnica più utilizzata per eliminare le predominanze statistiche e quindi è il primo metodo da utilizzare per implementare una buona confusione (vedi S-box). La trasposizione viene utilizzata anch'essa per generare confusione anche se negli algoritmi moderni spesso si usano anche altre tecniche come le combinazioni lineari (AES). Il cifrario del prodotto usa alternativamente sostituzioni e trasposizioni iterando più volte i passaggi per ottenere confusione e diffusione.

Page 37: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Block Cipher

• Resistenza alla crittanalisi lineare

• Resistenza alla crittanalisi differenziale

• Dimensioni di blocco

• Inapplicabilità di attacchi specifici

Page 38: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Crittoanalisi lineare

• Consta di 2 fasi. La 1°fase consiste nel

trovare le equazioni lineari che legano testo

in chiaro, in cifra e bit di chiave. Nella

seconda fase, ottenuta l’ approssimazione

lineare, applicando un semplice algoritmo è

teoricamente possibile prevedere i valori dei

bit coinvolti nell’approssimazione. Affinchè un

tale attacco sia praticabile è necessario che

per tutte le “linear trails”l’indice di

correlazione sia tale che la somma sia:

• S >>2 elevato a n-1 ( n è la lunghezza del blocco)

Page 39: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Crittanalisi Lineare• Per resistere alla crittanalisi lineare, quindi ,un

algoritmo deve minimizzare la correlazione, definita

come:

Siano U e V spazi vettoriali su un campo C, sui quali sia

definito un prodotto interno, che indicheremo con il

simbolo · . Sia f : U → V una funzione. Per ogni u ∈ U e per ogni v ∈ V , definiamo la seguente quantità:

corr(u,v) = |{a∈U | u·a = v·f(a)}| . |{a∈U | u·a ≠ v·f(a) }|

Definiamo come correlazione di f:

correlazione = max(u,v)∈U×V \{ (0,0) } |corr(u,v) |/ |U|

Page 40: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Crittanalisi differenziale

• E’ di solito un attacco con testo in chiaro scelto. Si

usano coppie di testi in chiaro relazionate da differenza costante, si calcolano le differenze dei

corrispondenti testi cifrati sperando di intercettare

regole statistiche nella loro distribuzione.Taliproprietà statistiche derivano sempre dalla natura

degli S-Box(unico elemento non lineare). Se attuata con successo consente di di rompere la chiave più

velocemente dell’attacco esaustivo. Per poter praticare tale attacco è necessario una Prop-Ratio

significativamente superiore a 2 elevato a 1-n

Page 41: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Crittanalisi Differenziale

• Per resistere alla crittanalisi differenziale, un algoritmo deve minimizzare la proprazio, definita come :

Siano G, G’ gruppi (per i quali useremo la notazione additiva) e f : G → G’ una funzione. Per ogni x ∈ G e ogni y ∈ G’, definiamo il seguente insieme:

diff(x,y) = {(a,b) ∈ G × G | a - b = x and f(a) - f(b) = y }

e definiamo la seguente quantità:

ratio(x, y) = | diff(x, y) | / | G |

Dicesi propratio di f il massimo di queste quantità al variare di x ∈ G e di y ∈ G’, x e y non entrambi nulli:

propratio = max(x,y) ∈ G × G’ \{ (0,0) } ratio(x, y)

Page 42: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Dimensioni di Blocco

• Il basso costo dei supporti di memorizzazione,

unito alla presenza di intestazioni standard che

consentono attacchi known plaintext rendono

possibile la ricerca della chiave a partire da pochi

blocchi cifrati di contenuto noto

• Una dimensione di blocco sufficiente (associata

ad un’opportuna lunghezza di chiave) rende

impossibile memorizzare un blocco di plaintext

cifrato con ogni chiave possibile

Page 43: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Attacchi specifici

• Non devono essere applicabili attacchi

sviluppati specificamente per strutture simili o

comunque vicine

• Deve essere analizzata la resistenza ad

attacchi known plaintext e adaptive chosen

plaintext

Page 44: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Stream Ciphers (cifrari a flusso)

• In crittografia un cifrario a flusso (anche cifrario a caratteri) è un cifrario simmetrico nel quale i simboli (i bit) che codificano il testo in chiaro sono cifrati indipendentemente l'uno dall'altro e nel quale la trasformazione dei simboli successivi varia con il procedere della cifratura. Un altro termine usato per tale cifrario è cifrario a stati, termine che ricorda che la cifratura di ogni simbolo dipende da uno stato corrente. Tipicamente nella pratica, i simboli sono singoli bit o byte.

Page 45: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Stream Ciphers ( cifrari a flusso)

• I cifrari a flusso costituiscono un approccio alla cifratura simmetrica differente da quello dei cifrari a blocchi: questi prevedono che si effettui su successivi estesi blocchi di simboli una determinata trasformazione che non cambia da blocco a blocco. Questa distinzione in realtà non è sempre netta: alcune modalità operative dei cifrari a blocchieffettuano una cifratura a blocchi primitiva in un modo tale che il suo effetto corrisponde a quello di un cifrario a flusso. Tipicamente i cifrari a flusso sono eseguiti a velocità superiori a quelle dei cifrari a blocchi e si servono di hardware meno complesso.

Page 46: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Stream Ciphers (cifrari a flusso)

• I cifrari a flusso possono essere visti come approssimazioni di un cifrario teoricamente non compromissibile, l' one-time pad(OTP), di cui un noto esempio è il cifrario di Vernam. L'OTP usa una sequenza chiave di simboli completamente casuali. La sequenza chiave è combinata con il testo in chiaro un simbolo alla volta per formare il testo cifrato. Claude E. Shannon ha dimostrato nel 1949 che questo sistema è teoricamente sicuro. Comunque, la sequenza chiave deve avere (almeno) la stessa lunghezza del testo in chiaro, e deve essere generata in maniera casuale. Questo rende il sistema molto oneroso da implementare in pratica, e di conseguenza l'OTP non èlargamente usato, tranne per applicazioni di importanza critica.

• Un cifrario a flusso usa una chiave molto più piccola e molto piùcomoda, 128 bit ad esempio. Sulla base di questa chiave, genera una sequenza chiave pseudo-casuale che può essere combinata con i simboli del testo in chiaro allo stesso modo dell'OTP. Però, questo ha un costo: poiché la sequenza chiave è solo pseudo-casuale, e non veramente casuale, la prova di sicurezza associata all'OTP non ha più valore: è anzi possibile che un cifrario a flusso sia completamente insicuro.

Page 47: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Problemi dei Cifrari a Flusso

• Per essere sicuro, il periodo della sequenza chiave, cioè il numero di simboli in uscita prima che la sequenza si ripeta, deve essere sufficientemente grande. Se la sequenza si ripete, allora i testi cifrati che si sovrappongono possono essere allineati uno contro l'altro "in profondità", e ci sono tecniche con cui in queste condizioni si può estrarre il testo in chiaro. Questo è un pericolo reale: ad esempio, il cifrario a blocchi Data Encryption Standard (DES) poteva inizialmente operare in una modalità (OFB) con parametri variabili. Però, per molte scelte di tali parametri, la sequenza risultante aveva un periodo di solo 232 — per molte applicazioni, questo periodo è troppo piccolo.

Page 48: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Impieghi dei Cifrari a Flusso

• I cifrari a flusso sono spesso utilizzati in applicazioni in cui il testo in chiaro ha una lunghezza sconosciuta a priori - ad esempio, in una rete wireless. Se un cifrario a blocchi venisse usato in questo tipo di applicazioni, il progettista dovrebbe scegliere tra l'efficienza della trasmissione e la complessità dell'implementazione, poiché i cifrari a blocchi non possono lavorare naturalmente su blocchi più piccoli della dimensione prefissata di un blocco. Per esempio, se un cifrario a blocchi a 128-bits ricevesse delle raffiche separate di testo in chiaro a 32-bit, tre quarti dei dati trasmessi sarebbe aggiunta per espandere il testo alla lunghezza necessaria (padding). I cifrari a blocchi devono essere utilizzati nelle modalità ciphertext stealing o residual block termination per evitare il padding, mentre i cifrari a flusso eliminano il problema operando naturalmente sull'unità più piccola trasmissibile (generalmente bytes).

Page 49: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Impieghi dei Cifrari a Flusso

• I cifrari a flusso trovano applicazione anche nella crittografia militare perchè il flusso delle chiavi di cifra può essere generato in una unità fisica separata che può essere sottoposta a misure di sicurezza stringenti e essere fornito ad altri dispositivi, ad es. ad un apparecchio radio, che, tra le sue altre funzioni, si fa carico dell'esecuzione della operazione XOR. Un tale dispositivo a valle può essere progettato e tenuto in esercizio secondo modalità di sicurezza meno stringenti.

Page 50: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

In sintesi : gli Stream Ciphers

Devono possedere:Periodo elevato

Complessità lineare altaImmunità da Correlazione

Distanza elevata da approssimazione lineareNon linearità del caricamento iniziale

Stato interno ampio

Page 51: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Periodo Elevato

• In uno stream cipher è di importanza vitale non riutilizzare la stessa sequenza di cifratura (keystream)

• Pertanto il periodo di cifratura dovrà essere superiore all’insieme delle informazioni che potranno essere cifrate con una stessa chiave

• Se questo vincolo non viene rispettato èpossibile eliminare con uno XOR il keystreame ottenere la sovrapposizione dei due dataset

Page 52: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Complessità Lineare

• La complessità lineare di uno stream cipher è

la lunghezza del registro a scorrimento a

retroazione lineare (Linear Feedback Shift

Regiter o LFSR) equivalente

• Esistono algoritmi come Berklamp-Massey

estremamente efficienti nel ricostruire un

LFSR a partire da un frammento della

sequenza generata, lungo il doppio dell’LFSR

Page 53: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Immunità da Correlazione

• La presenza di correlazione tra bit di uno

specifico registro e bit dell’output permette di

applicare specifici attacchi

• Gli attacchi possono essere estremamente

efficaci se la correlazione è sensibile o se i

polinomi di feedback sono sparsi

• L’immunità da Correlazione (Correlation

Immunity) esprime la resistenza a questi

attacchi

Page 54: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Distanza da approssimazione

lineare

• In molte situazioni è sufficiente all’attaccante

ricostruire un’approssimazione abbastanza

vicina allo stream cipher attaccato (p. es.

cifratura della voce)

• Se la componente non lineare dell’algoritmo è

abbastanza vicina ad una componente

lineare, l’attacco all’algoritmo sarà

grandemente facilitato ricercando la

componente lineare quasi equivalente

Page 55: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Caricamento Iniziale

• Il caricamento iniziale combina una quantità

ignota (chiave) con una quantità nota (vettore

di inizializzazione)

• Tale combinazione deve essere altamente

non lineare per impedire una facile

separazione delle due componenti a partire

dal keystream e quindi l’identificazione della

chiave

Page 56: valutazione algoritmi crittografici (2)mastersicurezza.di.uniroma1.it/mastersicurezza/images/materiali/...•Algoritmi di compressione •Genetici •Intelligence •Ricorsivi •Algoritmi

Stato Interno

• Un attacco esaustivo può essere portato non

soltanto alla chiave, ma anche allo stato

interno di uno stream cipher

• E’ quindi importante che nel passaggio dalla

chiave allo stato interno, e nell’evoluzione

dell’ stato interno, vengano prese tutte le

misure atte a non ridurne la variabilità.