La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

0 Considerazioni sulla sicurezza e relativa lentezza di alcune operazioni del software DES, hanno motivato i ricercatori a proporre un certo numero di.

Presentazioni simili


Presentazione sul tema: "0 Considerazioni sulla sicurezza e relativa lentezza di alcune operazioni del software DES, hanno motivato i ricercatori a proporre un certo numero di."— Transcript della presentazione:

1

2 0 Considerazioni sulla sicurezza e relativa lentezza di alcune operazioni del software DES, hanno motivato i ricercatori a proporre un certo numero di progetti di cifrature a blocchi alternativi a cominciare dalla fine degli anni '80 ed i primi anni '90software Esempi di tali sistemi sono: RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 e FEAL.RC5BlowfishIDEANewDESSAFERCAST5FEAL La maggior parte di questi progetti considerano blocchi a 64 bit come nel DES e chiavi di 64 o 128 bit. Il DES può essere migliorato utilizzando un procedimento di crittografia multipla mediante il quale lo stesso algoritmo viene applicato più volte.

3 1 Varianti del DES Double-DES: implica l'applicazione del DES tre volte con due chiavi diverse Triple DES (3DES): è stato analizzato e descritto nelle pubblicazioni ufficiali. Implica l'applicazione del DES tre volte con due o tre chiavi diverse.Triple DES DES-X: alternativa computazionalmente meno pesante che aumenta la lunghezza della chiave effettuando un'operazione di XOR con dei bit extra prima e dopo il l'applicazione del DES.DES-X GDES:altra variante del DES proposta per avere un'alternativa più veloce ma si è dimostrata debole nei confronti degli attacchi mediante crittanalisi differenziale.GDES

4 2 Nel 2001, dopo una competizione internazionale, il NIST ha selezionato un nuovo algoritmo di cifratura: l'Advanced Encryption Standard (AES), come sostituto.Advanced Encryption Standard Luso di varianti del DES ha comunque il vantaggio di conservare linvestimento esistente in termini di software e dispositivi

5 3 DES Doppio Cifratura lunghezza blocco = 64 bit 2 chiave (K 1, K 2 ) apparentemente lunga = 112 bit C=E[K 2,E(K 1,P)] DESDES testo cifrato testo in chiaro K1K1K1K1 K2K2K2K2

6 4 DES Doppio Cifratura Decifratura DESEDESE testo cifrato testo in chiaro K1K1K1K1 K2K2K2K2 testo cifrato K1K1K1K1 K2K2K2K2 DES - 1 D D P=D[K 1,D(K 2,C)] P X C C X P

7 5 DES Doppio Riduzione a ununica faseRiduzione a ununica fase mProposizione 2.1: Per ogni coppia di chiavi (k 1, k 2 ) non esiste alcuna chiave k 3 tale che DES k 2 (DES k 1 (X))=DES k 3 (X) per ogni testo in chiaro X. Se fosse stato vero il contrario, se cioè l'utilizzo di due chiavi fosse stato equivalente all'utilizzo di una sola chiave, allora la cifratura doppia, ed in generale la cifratura con un numero qualsiasi di passi (e di chiavi), sarebbe stata inutile

8 6 DES Doppio Unencryption DES è un mapping da un blocco di 64 bit ad un altro Con una data chiave ad un blocco di 64 bit viene associato uno dei 2 64 possibili blocchi in modo univoco. Vi sono 2 64 ingressi possibili quindi vi sono mapping diversi DES definisce un mapping per ogni chiave, quindi 2 56 < Il DES con due chiavi diverse può produrre un mapping non prodotto da una singola applicazione del DES (la dimostrazione è stata data nel 1992 da Campbell che dimostrò che DES non è un gruppo Il Double-DES è un miglioramento rispetto al DES

9 7 Sicurezza DES doppio Quanto è sicuro il DES doppio?

10 8 DES Doppio: attacco meet in the middle Lattacco meet in the middle è stato proposto da Diffie ed Hellman nel 1997 Tale algoritmo, non dipende dalla particolare struttura del DES, e pertanto può essere usato per attaccare un qualunque cifrario a blocchi. Si basa sullosservazione che, se: (vedi figura) C = E( K2(E(K1,P)) allora X = E(K1,P) = d(K2,P)

11 9 DES Doppio: attacco meet in the middle Supponiamo di conoscere una particolare coppia (P, C), dove P è il testo in chiaro e C il testo cifrato, e di voler determinare la coppia di chiavi (K1, K2) utilizzate per cifrare P. 1 Cifriamo P utilizzando tutte le 2 56 possibili chiavi K1 e memorizziamo i testi cifrati in una tabella ordinata per valori di X 2 Decifriamo C usando tutte le 2 56 possibili chiavi K2 Confrontiamo i valori ottenuti nel passo due con quelli presenti nella tabella costruita nel passo1 Se si trova una corrispondenza allora le due chiavi corrispondenti potrebbero formare la coppia cercata

12 10 DES Doppio: attacco meet in the middle Non è detto,, che la coppia trovata sia effettivamente quella corretta perché, in realtà, possono esistere diverse chiavi che dallo stesso testo in chiaro P generano lo stesso testo cifrato C. In particolare, per ogni testo in chiaro P, il Doppio DES può produrre 2 64 possibili valori di testo cifrato. Poiché il Doppio DES usa una chiave a 112 bit, le chiavi possibili sono Peranto, se scegliamo a caso una coppia (P, C), il numero di di chiavi da 112 bit che trasformano P in C è in media /2 64 = 2 48 L'attacco considerato produce cioé circa 2 48 collisioni sulla coppia (P, C). Allora scegliamo a caso un'altra coppia (P', C') di testo in chiaro-testo cifrato (indipendente dalla prima) tale che C' sia prodotto da P' utilizzando la stessa coppia di chiavi (K1, K2). Con tale scelta il numero di falsi allarmi diminuisce riducendosi a = Il risultato è che lattacco avrebbe successo con uno sforzo computazionale pari a 2 56 ;

13 11 DES Doppio: attacco meet in the middle Known Plaintext Attack Input: x, y = DESk´(DESk(x) ) Costruisci tabella for for k 2 {0,1}56 do do z = DES-1k2(y) if if per qualche k1, (k1, z) è nella tabella thenreturn then return la chiave è (k1,k2) DESDES testo cifrato testo in chiaro K1 K2 x yz

14 12 3DES mstandardizzato per le applicazioni finanziarie nel 1985, dal 1999 incorporato nello standard DES mtre esecuzioni del DES secondo uno schema EDE mstessa resistenza del DES alla crittoanalisi mtre chiavi da 56 bit equivalenti a una da 168 bit

15 13 DES Triplicato Cifratura mlunghezza blocco = 64 bit mchiave (k1, k2,k3) lunga = 168 bit DESDESDES testo cifrato testo in chiaro k1 k2k3

16 14 DES Triplo Cifratura mlunghezza blocco = 64 bit 2 mchiave (k1, k 2 ) lunga = 112 bit mspesso chiamato EDE k1,k 2 ( acronimo per Encrypt Decrypt Encrypt ) madottato negli standard X9.17 e ISO 8732 DES DES -1 DES testo cifrato testo in chiaro k1 k2k1

17 15 Compatibilità DES Triplo e DES Se k 1= k2 il DES triplo è equivalente al semplice DES DES DES -1 DES testo cifrato testo in chiaro k1 k2k2k2k2 k1 DES testo cifrato

18 16 Decifratura DES Triplo Cifratura Decifratura DES DES -1 DES testo cifrato testo in chiaro k1k2k1 DES -1 DES k1k2k1 testo cifrato testo in chiaro

19 17 DES Triplicato: attacco meet in the middle Complessità Known Plaintext Attack Ricerca esaustiva su tutte le chiavi Equivalente ad un cifrario con una chiave di 112 bit, e non 168 bit

20 18 DES Triplicato: attacco meet in the middle Known Plaintext Attack Input: x, y = DESk´´(DESk´(DESk((x))) Costruisci tabella for for k3 {0,1}56 do do z = DES-1k3(y) if if per qualche k1,k2, (k1k2, z) è nella tabella thenreturn then return la chiave è (k1,k2,k3) DESDESDES testo cifrato testo in chiaro k k´k´´ xzy

21 19 Modalità operative del DES Come cifrare testi più lunghi di 64 bit? Electronic codebook chaining (ECB) Cipher block chaining (CBC) Cipher feedback (CFB) Output feedback (OFB) Counter (CTR)

22 20 Modalità operative del DES Il messaggio è suddiviso in blocchi indipendenti che sono poi criptati singolarmente Si tratta a tutti gli effetti di un cifrario a sostituzione E il metodo più semplice ma anche meno affidabile, E il metodo più semplice ma anche meno affidabile, ideale per la trasmissione di brevi quantità di dati Un crittoanalista può rompere tale cifrario abbastanza facilmente poiché è possibile applicare unanalisi di frequenza. Inoltre un attaccante che si inserisce a metà del canale di trasmissione (man in the middle attack) può sostituire parti del testo cifrato senza che il ricevente possa accorgersi facilmente della sostituzione. Un crittoanalista può rompere tale cifrario abbastanza facilmente poiché è possibile applicare unanalisi di frequenza. Inoltre un attaccante che si inserisce a metà del canale di trasmissione (man in the middle attack) può sostituire parti del testo cifrato senza che il ricevente possa accorgersi facilmente della sostituzione. Electronic Codebook (ECB)

23 21 Modalità operative del DES Electronic Codebook (ECB)

24 22 Modalità operative del DES Svantaggi della modalità ECB La ridondanza del plaintext viene riportata nel ciphertext Blocchi uguali di plaintext in tempi diversi produrranno blocchi analoghi di ciphertext Se il messaggio è strutturato (header comune) si possono ottenere copie di testo in chiaro/testo cifrato su cui lavorare La modalità ECB viene utilizzata per linvio di piccole quantità di dati tipo una chiave di cifratura

25 23 Modalità operative del DES Cipher Block Chaining (CBC) Il plaintext è diviso in parole di 64 bit Tali parole sono però collegate tra loro durante la criptazione Ciascun blocco cifrato è concatenato (tramite uno XOR) col successivo blocco di plaintext Il primo blocco di plaintext fa uso di un vettore di inizializzazione (IV): La modalità CBC viene usata per la criptazione di grosse quantità di dati

26 24 Modalità operative del DES Cipher Block Chaining (CBC)

27 25 Modalità operative del DES Cipher Block Chaining (CBC)

28 26 Modalità operative del DES Modalità CBC: vantaggi e svantaggi Ciascun blocco di ciphertext dipende da tutti i precedenti blocchi di plaintext Un cambiamento in un singolo blocco ha effetto su tutti i blocchi cifrati seguenti Cè bisogno di un vettore di inizializzazione (IV) noto al trasmettitore e al ricevitore – IV tuttavia non può essere inviato in chiaro – IV deve essere inviato in forma criptata (ad esempio con modalità ECB) o deve assumere un valore fisso e noto

29 27 Modalità operative del DES Cipher FeedBack (CFB )

30 28 Modalità operative del DES Cipher FeedBack (CFB)

31 29 Modalità operative del DES Message padding Alla fine del messaggio possibile presenza di un blocco più breve del blocco del cipher p.e. [ b1 b2 b ] significa avere 3 bytes di dati, quindi 5 bytes di pad+count Ciò può richiedere un intero blocco aggiuntivo a quelli propri del messaggio Possibile padding con valori non-data (p.e. null) noti oppure possibile un padding dellultimo blocco con un contatore del padding Esistono altri modi più sofisticati che evitano la presenza del blocco aggiuntivo

32 30 Modalità operative del DES Output Feedback (OFB) Output Feedback (OFB) in questo caso il collegamento avviene tra l'output del blocco precedente ed il blocco corrente. Questo dovrebbe garantire un procedimento più veloce. Questo modello viene utilizzato nelle comunicazioni ad elevata velocità come ad esempio i satelliti. Output Feedback (OFB) in questo caso il collegamento avviene tra l'output del blocco precedente ed il blocco corrente. Questo dovrebbe garantire un procedimento più veloce. Questo modello viene utilizzato nelle comunicazioni ad elevata velocità come ad esempio i satelliti. Esistono sistemi crittografici che cercano di combinare i modelli a blocchi sopra illustrati.

33 31 Modalità operative del DES Output FeedBack (OFB)

34 32 Modalità operative del DES Advantages and Limitations of OFB mused when error feedback a problem or where need to encryptions before message is available msuperficially similar to CFB mbut feedback is from the output of cipher and is independent of message ma variation of a Vernam cipher –hence must never reuse the same sequence (key+IV) msender and receiver must remain in sync, and some recovery method is needed to ensure this occurs moriginally specified with m-bit feedback in the standards msubsequent research has shown that only OFB-64 should ever be used

35 33 Modalità operative del DES Counter (CTR)

36 34 Modalità operative del DES Counter (CTR)

37 Stream Ciphers Cifrario a flusso (stream cipher): trasforma, uno o pochi alla volta, i bit del testo da cifrare e da decifrare. Protezione dei singoli bit di una trasmissione seriale WEP, GSM Due tipi di cifrario a flusso flusso sincrono: Il flusso dei bit di chiave è generato in modo indipendente dal flusso dei bit di testo Autosincronizzazione: il flusso dei bit di chiave dipende dal flusso dei bit di testo cifrato

38 Stream Ciphers CIFRATURA c i = m i k i i= 1, 2, 3,.. DECIFRAZIONE c i k i = (m i k i ) k i = m i i= 1, 2, 3,.. FLUSSO DI CHIAVE lungo quanto il testo formato da bit pseudocasuali periodo lunghissimo sequenza scelta in segreto e a caso PRNG seed PRNG seed sincronismo mimi kiki cici cici kiki mimi

39 Stream Ciphers SicurezzaSicurezza La sicurezza dei cifrari a flusso è concentrata nella realizzazione di una stringa di bit di valore aleatorio lunga quanto il testo. In realtà i bit sono pseudocasuali con un periodo p > Per cifrare e decifrare un messaggio entrambi gli utenti devono Inizializzare due generatori di flusso di chiave (che garantiscono la sincronizzazione del flusso di dati) con un seme (seed) segreto di piccole dimensioni.

40 Stream Ciphers ATTACCHIFLUSSO SINCRONOAUTOSINCR. Cancellazione di bit propagazione derroretransitorio perdita di sincronizzaz.non rilevabile Inserzione di bit propagazione derroretransitorio perdita di sincronizzaz.non rilevabile Replica di bit propagazione derroretransitorio perdita di sincronizzaz.non rilevabile Modifica di bit non propagazione transitorio non rilevabilerilevabile

41 Stream cipher realizzato della RSA Data Security Inc. Progetto semplice ma efficiente Funzionamento byte-oriented Lunghezza di chiave variabile Largamente usato: web SSL/TLS, WLAN WEP e WPA Chiave genera permutazione casuale di tutti i valori a 8 bit Usa quella permutazione per lelaborazione dellinformazione Era rimasto protetto dal segreto commerciale finché qualcuno spedì il codice sorgente di un algoritmo "equivalente" a RC4 nelle Usenet New Cifratura a flussi:RC4

42 RC4 S costituisce linternal state del keystream generator Inizialmente array S di numeri da 0 a 255 Chiave usata per mescolare bene i 256 numeri Per un byte da cifrare viene selezionato un byte dello state Dopo di ciò nuova permutazione for i = 0 to 255 do S[i] = i T[i] = K[i mod keylen] j = 0 for i = 0 to 255 do j = (j + S[i] + T[i]) (mod 256) swap (S[i], S[j])

43 RC4 La encryption continua mescolando i valori dellarray Somma di una coppia mescolata seleziona dalla permutazione lo stream key Per criptare/decriptare si fa lo XOR con il successivo byte del messaggio i = j = 0 for each message byte Mi i = (i + 1) (mod 256) j = (j + S[i]) (mod 256) swap(S[i], S[j]) t = (S[i] + S[j]) (mod 256) Ci = Mi XOR S[t]

44 RC4

45 RC4 Il risultato finale è fortemente non lineare RC4 è uno stream cipher, quindi non si deve riusare la chiave Esiste un problema noto con il WEP, ma è dovuto al sistema di gestione della chiave e non ad RC4 Il governo USA ha approvato l'esportazione di RC4 con chiavi di 40 bits: chiavi cosi piccole possono essere facilmente forzate da istituzioni come il governo, l'esercito etc SSL, versione export, che usa RC4 con chiavi di 40, bits è stato recentemente forzato da almeno due gruppi indipendenti in circa otto giorni di attività. Qualche tempo dopo lo stesso attacco è stato effettuato con successo in soli 35 minuti

46 RC4 Inizialmente i sistemisti Microsoft utilizzavano per la cifratura l 'algoritmo RC4. A causa di qualche problema i programmatori Microsoft implementarono una versione dell'RC4 leggermente Microsoft implementarono una versione dell'RC4 leggermente modificata a livello di codice, ma completamente stravolta a livello di funzionalità. Con semplici operazioni di X0R e di traslazione e grazie a numerosi programmi freeware si possono decodificare tutte le password contenute nel file.PWL. Un esempio di programma per le password contenute nel file.PWL. Un esempio di programma per attaccare le password è PWL-TOOL. Questo tool è immediato da utilizzare grazie alla sua interfaccia grafica friendly ed è scaricabile dal sito La software house evidentemente non ha ritenuto opportuno dedicare sufficiente attenzione alla implementazione di un algoritmo sicuro per la protezione delle password di sistema per la protezione delle password di sistema

47 A5 Forse il più diffuso stream cipher Usato dal GSM per la encryption della voce/dati Mai reso pubblico, quindi noto solo in modo non ufficiale Due varianti A5/1 ad alta sicurezza A5/1 a bassa sicurezza A5/2 GSM trasmette un frame ogni 4,6 ms, formato da 228 bit 114 in un senso e 114 in quello opposto Una conversazione è criptata con una chiave di sessione K di 64 bit 10 bit sono uguali a 0, sicché la chiave effettiva è di 54 bit GSM

48 A5 La chiave K è unita ad un frame counter Fn di 22 bit noto al pubblico e il risultato è lo stato iniziale del generatore di un keystream con unità di 228 bit Lunità di keystream di 228 bit è XORed dalle due parti A e B con i bit di plaintext per produrre i bit di ciphertext Lunità di keystream di 228 bit è generata usando tre Linear Feedback Shift Register (LFSR) R1 (19 bit), R2 (22 bit) e R3 (23 bit), più un quarto LSFR R4 (17) I registri sono Maximal Length

49 A5

50 A5 Funzionamento del meccanismo di clocking R4 controlla il clocking di R1, R2 e R3 Dovendo effettuare il clocking di R1, R2 e R3 si iniettano nella Clocking unit i bit R4[3], R4[7] e R4[10 ] La Clocking unit calcola la majority function su questi 3 bit maj(a,b,c) = a· b b · c c · a R1, R2 e R3 sono clocked, se e solo se, rispettivamente R4[1], R4[3] e R4[7] è uguale alla majority Dopo queste operazioni R4 è clocked

51 A5 Senza funzionamento stop/go, il periodo della somma dei tre LSFR è dato da ( )( )( ) Tenendo conto dello stop/go si si ha un periodo di circa 4 ( ) / 3 Allavvio i registri sono inizializzati a 0 Per 64 cicli di clock si provvede ad aggiungere la chiave

52 A5 Nel ciclo i si aggiunge al bit meno significativo di ciascun registro il bit i-esimo della chiave usando unXOR R(0) = R(0) K(i) Dopo lXOR si invia il clock Similmente in 22 cicli di clock si aggiunge il frame number Si effettuano 100 cicli di clock a vuoto, ossia senza prendere luscita A questo punto il keystream generator è pronto


Scaricare ppt "0 Considerazioni sulla sicurezza e relativa lentezza di alcune operazioni del software DES, hanno motivato i ricercatori a proporre un certo numero di."

Presentazioni simili


Annunci Google