14
Sistemi di elaborazione delle Sistemi di elaborazione delle informazioni informazioni CRITTOGRAFIA CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Embed Size (px)

Citation preview

Page 1: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

CRITTOGRAFIACRITTOGRAFIA

Alberto Rossi

Page 2: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

Cos’è?Cos’è?La parola crittografia deriva dall'unione di due parole greche La parola crittografia deriva dall'unione di due parole greche kryptósvkryptósv che significa che significa nascosto e nascosto e graphíagraphía che significa scrittura. La crittografia è la scienza che si occupa di che significa scrittura. La crittografia è la scienza che si occupa di proteggere delle informazioni rendendole incomprensibili a chi le dovesse intercettare, proteggere delle informazioni rendendole incomprensibili a chi le dovesse intercettare, in modo che possano essere lette e capite solo dal destinatario. Il messaggio da in modo che possano essere lette e capite solo dal destinatario. Il messaggio da proteggere viene detto testo in chiaro, mentre quello ``trasformato'' in modo da essere proteggere viene detto testo in chiaro, mentre quello ``trasformato'' in modo da essere incomprensibile viene detto testo cifrato; la trasformazione da testo in chiaro a testo incomprensibile viene detto testo cifrato; la trasformazione da testo in chiaro a testo cifrato si dice cifratura, mentre la trasformazione inversa si dice decifratura. La cifrato si dice cifratura, mentre la trasformazione inversa si dice decifratura. La trasformazione crittografica è detta algoritmo di cifratura, e specifica la procedura che trasformazione crittografica è detta algoritmo di cifratura, e specifica la procedura che trasforma il testo in chiaro in quello cifrato. La crittografia è attualmente molto trasforma il testo in chiaro in quello cifrato. La crittografia è attualmente molto importante, in quanto ci consente di rendere sicure le nostre comunicazioni (mail importante, in quanto ci consente di rendere sicure le nostre comunicazioni (mail criptate), i nostri dati (database criptati) e i nostri riconoscimenti (firma digitale).criptate), i nostri dati (database criptati) e i nostri riconoscimenti (firma digitale).

Page 3: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

Crittografia anticaCrittografia anticaLa necessità di trasmettere messaggi cifrati è antica quanto l’uomo, alcuni esempi di cifratura sono il metodo Atbash degli ebrei, la Scitala degli spartani e il cifrario di Cesare di Giulio Cesare.

L'atbash è un semplice cifrario in cui la prima lettera dell'alfabeto è sostituita con l'ultima, la seconda con la penultima, e così via, "invertendo" l'ordine alfabetico delle lettere.

Una scitala era una piccola bacchetta. Il messaggio veniva scritto su di una striscia di pelle arrotolata attorno ad essa. Una volta srotolata e tolta dalla scitala la striscia di pelle, era impossibile capire il messaggio. La decifrazione era invece possibile se si aveva una bacchetta identica alla scitala del mittente

Il cifrario di Cesare è un cifrario a sostituzione monoalfabetica in cui ogni lettera del testo in chiaro è sostituita nel testo cifrato dalla lettera che si trova un certo numero di posizioni dopo nell‘alfabeto. Ad esempio, usando il 3 come chiave ottengo:

Page 4: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

Crittografia modernaCrittografia modernaLa crittografia moderna nasce con la stesura da parte di Leon Battista Alberti del De Cifris, utilizzando un Disco Cifrante composto da due dischi concentrici contenenti uno l’alfabeto in chiaro, l’altro l’alfabeto cifrato, rotanti uno rispetto all’altro consentendo così la sostituzione polialfabetica con periodo irregolare.

Il cifrario di Vigenère Si basa sull'uso di un versetto per controllare l’alternanza degli alfabeti di sostituzione si può considerare una generalizzazione del cifrario di Cesare; invece di spostare sempre dello stesso numero di posti la lettera da cifrare, questa viene spostata di un numero di posti variabile ma ripetuto, determinato in base ad una parola chiave, da concordarsi tra mittente e destinatario, e da scrivere ripetutamente sotto il messaggio

Page 5: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

Crittografia moderna Crittografia moderna Per semplificare la cifratura, il Vigenère propose l'uso della seguente "matrice" quadrata, composta da alfabeti ordinati e spostati. Se si vuole cifrare, con la chiave dell'esempio precedente, la lettera "R" della parola rapporto basterà trovare la lettera "R" nella prima riga orizzontale, individuando la colonna verticale in cui sta la lettera cifrata. Basterà poi trovare la "V" di "verme" nella prima riga verticale per trovare la colonna orizzontale, individuando, tramite l'incrocio, la lettera corretta da usare.

Page 6: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

Crittografia simmetricaCrittografia simmetricaLe tecniche crittografiche descritte fin qui trattano tutte di crittografia simmetrica, ovvero quella tecnica di codifica nella quale i due interlocutori devono accordarsi precedentemente sulla chiave di lettura, in quanto una sola.

La robustezza degli algoritmi di cifratura dipende dalla lunghezza della chiave utilizzata, tanto è più lungo il testo della chiave, tanto più difficile sarà decifrare il messaggio. Una chiave di 40 bit ad esempio viene definita debole in quanto di facile decifratura, una di 128 invece è definita forte. Il problema nell’utilizzo della crittografia simmetrica comunque non è relativo all’algoritmo utilizzato, bensì alla difficoltà nella distribuzione della chiave, dovendo questa essere trasmessa in modo sicuro tra gli interlocutori. Oltre alla sicurezza si deve pensare che, se si gestisce un numero alto di utenti (pensiamo a un servizio bancario via internet) allora dovranno esistere N chiavi segrete, , le quali comportano elevati costi e tempi di amministrazione. Alcuni esempi di algoritmi di decodifica a chiave privata sono il DES, IDEA, 3DES, RC2

Page 7: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

Crittografia asimmetricaCrittografia asimmetricaIl problema dell’unica chiave è stato risolto in tempi relativamente recenti (anni Settanta) con l'invenzione della crittografia a chiave pubblica (crittografia asimmetrica). Con algoritmi di questo tipo ognuno ha due chiavi: una pubblica da distribuire a tutti quelli con cui vuole comunicare, e una privata da tenere segreta. Ciò che viene cifrato con la chiave pubblica (operazione che può essere fatta da chiunque) può essere decifrato solo con la chiave privata corrispondente (operazione che può essere fatta solo dal proprietario della chiave): in questo modo non c'è più il problema di comunicare segretamente la chiave, perché questa è nota a tutti; per comunicare in modo sicuro con una persona basta cifrare il messaggio con la sua chiave pubblica. Questa è la tecnica che si utilizza per le firme digitali.

Con questa crittografia si ovvia il problema logistico di distribuzione di più chiavi, sorge però il problema dovuto alla robustezza degli algoritmi utilizzati, in quanto la doppia codifica comporta procedimenti onerosi e lenti. Alcuni esempi di algoritmi a chiave pubblica sono il RSA, DSS, Diffie-Hellman, HFE

Page 8: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

Che crittografia adottare?Che crittografia adottare?Riassumendo :Riassumendo :

simmetricasimmetrica asimmetricaasimmetrica

propro Veloce, di facile utilizzoVeloce, di facile utilizzo Distribuzione delle chiavi non Distribuzione delle chiavi non impegnativaimpegnativa

controcontro Presenza della sola chiave Presenza della sola chiave privata, a rischio vulnerabilità;privata, a rischio vulnerabilità;Difficoltà nella distribuzione Difficoltà nella distribuzione delle chiavi in un sistema delle chiavi in un sistema multiutentemultiutente

Impegnativa dal punto di vista Impegnativa dal punto di vista computazionale e onerosa in termini computazionale e onerosa in termini di tempodi tempo

La soluzione maggiormente adottata è un sistema “La soluzione maggiormente adottata è un sistema “ibridoibrido” che si traduce nell’utilizzo ” che si traduce nell’utilizzo della crittografia asimmetrica per la trasmissione della chiave segreta, utilizzando poi della crittografia asimmetrica per la trasmissione della chiave segreta, utilizzando poi

la crittografia simmetrica per la trasmissione dei dati.la crittografia simmetrica per la trasmissione dei dati.

Page 9: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

DES (Data Encryption Standard)DES (Data Encryption Standard)L’algoritmo DES è stato messo a punto nel L’algoritmo DES è stato messo a punto nel 1974 dall’IBM. 1974 dall’IBM. Il DES è un cifrario a Il DES è un cifrario a blocchiblocchi, divide il testo in chiaro in blocchi , divide il testo in chiaro in blocchi separati e opera su ognuno di essi, separati e opera su ognuno di essi, indipendentemente, per produrre una indipendentemente, per produrre una sequenza di testo cifrato. I blocchi del DES sequenza di testo cifrato. I blocchi del DES sono di 64 bit, ad ogni blocco corrisponde sono di 64 bit, ad ogni blocco corrisponde una chiave di 56 bit ed è invertibile. La una chiave di 56 bit ed è invertibile. La struttura del DES è la seguente: dopo una struttura del DES è la seguente: dopo una fissata permutazione iniziale (IP) il blocco di fissata permutazione iniziale (IP) il blocco di 64 bit di testo in chiaro viene rotto in due 64 bit di testo in chiaro viene rotto in due metà da 32 bit ciascuno. Queste due metà metà da 32 bit ciascuno. Queste due metà passano quindi attraverso 16 iterazioni di passano quindi attraverso 16 iterazioni di una trasformazione dipendente dalla chiave una trasformazione dipendente dalla chiave per produrre un blocco di pre-output a 64 bit. per produrre un blocco di pre-output a 64 bit. Questo blocco viene sottoposto ad una Questo blocco viene sottoposto ad una permutazione finale per produrre un blocco permutazione finale per produrre un blocco di testo cifrato. di testo cifrato.

Page 10: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

Il Des con CrypToolIl Des con CrypTool

Page 11: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

RSARSAL’algoritmo RSA (prende il nome dalle iniziali dei tre sviluppatori Rivest, Shamir, L’algoritmo RSA (prende il nome dalle iniziali dei tre sviluppatori Rivest, Shamir,

Aldeman) è il più comune ed utilizzato in ambito di crittografia asimmetricaAldeman) è il più comune ed utilizzato in ambito di crittografia asimmetricaPer semplificare il funzionamento immaginiamo che A debba spedire un messaggio Per semplificare il funzionamento immaginiamo che A debba spedire un messaggio

segreto a B. Occorrono i seguenti passaggi:segreto a B. Occorrono i seguenti passaggi: B sceglie due numeri primi molto grandi (per esempio da 300 cifre) e li moltiplica B sceglie due numeri primi molto grandi (per esempio da 300 cifre) e li moltiplica

con il suo computer (impiegando meno di un secondo).con il suo computer (impiegando meno di un secondo).

B invia il numero che ha ottenuto ad A. Chiunque può vedere questo numero.B invia il numero che ha ottenuto ad A. Chiunque può vedere questo numero.

A usa questo numero per cifrare il messaggioA usa questo numero per cifrare il messaggio

A manda il messaggio cifrato a B, chiunque può vederlo ma non decifrarloA manda il messaggio cifrato a B, chiunque può vederlo ma non decifrarlo

B riceve il messaggio e utilizzando i due fattori primi che solo lui conosceva lo B riceve il messaggio e utilizzando i due fattori primi che solo lui conosceva lo decifra.decifra.

A e B hanno impiegato pochi secondi a cifrare e decifrare, ma chiunque avesse A e B hanno impiegato pochi secondi a cifrare e decifrare, ma chiunque avesse intercettato le loro comunicazioni impiegherebbe troppo tempo per scoprire i due intercettato le loro comunicazioni impiegherebbe troppo tempo per scoprire i due

fattori primi, con cui si può decifrare il messaggio.fattori primi, con cui si può decifrare il messaggio.

Page 12: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

RSA con CrypToolRSA con CrypTool

Page 13: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

Sono realmente sicuri?Sono realmente sicuri?Il DES si è dimostrato un sistema molto utilizzato, ma allo stesso tempo insicuro. Insicuro in quanto la lunghezza della chiave (solamente 56 bit) consente, tramite attacchi a forza bruta (ovvero tramite tentativi), di scovarla in maniera abbastanza rapida. Vi sono diversi sistemi creati per aggirare il DES (DES cracker, COPACOBANA)i quali sono comunque molto costosi partendo dagli 8.000€ arrivando ai 250.000€. Vi sono comunque algoritmi che utilizzano chiavi associate ad un numero maggiore di bit, tali da rendere più difficili l’attacco (3DES, IDEA ecc.).

Per quanto riguarda l’algoritmo RSA l’attacco a forza bruta (ovvero ottenere i due numeri primi usati per creare la chiave pubblica), è una procedura lentissima. L’attacco più veloce è durato 5 mesi utilizzando 80 processori da 2,2GHz, questi dati consentono di dire che l’algoritmo è sufficientemente sicuro.

Page 14: Sistemi di elaborazione delle informazioni CRITTOGRAFIA Alberto Rossi

Sistemi di elaborazione delle inforSistemi di elaborazione delle informazionimazioni

FONTIFONTI

wikipedia.orgwikipedia.org sicurezzainrete.comsicurezzainrete.com linux.itlinux.it itl.nist.govitl.nist.gov