crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · crittografia a chiave...

69
Crittografia

Upload: others

Post on 13-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia

Page 2: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Definizione

● La crittografia serve per:● Celare il significato del messaggio● Garantire l’autenticità del messaggio● Identificare l’autore del messaggio● Firmare e datare il messaggio

Crittografia deriva dal greco = scrittura nascosta

Page 3: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittoanalisi● L’avversario vuole negare gli scopi della

crittografia; l'azione di un crittoanalista mirata a violare il crittosistema prende il nome di crittoanalisi.● Celare il significato del messaggio

– leggere il messaggio● Garantire l’autenticità del messaggio

– modificare il messaggio● Identificare l’autore del messaggio

– impersonare● Firmare e datare il messaggio

– ripudiare

Page 4: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Storia

● Scitala

● Cesare

● Leon Battista Alberti

Page 5: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Storia

● La tavola di Vigenère

Page 6: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Principio di Kerkhoffs

● Un sistema deve essere sicuro anche se l’intero sistema, eccetto la chiave, è pubblico

● Massima di Shannon Il nemico conosce il sistema

● Proverbio Sicurezza tramite segretezza non dà nessuna sicurezza

Page 7: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Enigma● Macchina militare tedesca:● Combinazione elettromeccanica di tutte le

tecniche precedenti● Primo utilizzo della matematica● Invenzione dei computer● Alan Turing

Page 8: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Cifrario di Vernam● Esiste uno ed un solo sistema perfettamente

sicuro:● One time pad - Come Vigenère, ma la chiave è

casuale e lunga quanto il testo in chiaro.

● Il cifrario di Vernam è l'unico sistema crittografico la cui sicurezza sia comprovata da una dimostrazione matematica e per questo si è guadagnato il titolo di "cifrario perfetto". La prima dimostrazione della sua inviolabilità fu pubblicata nel 1949 da Claude Shannon nell'articolo La teoria della comunicazione nei sistemi crittografici.

Page 9: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Algoritmi simmetrici

Page 10: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

DES

● Data Encryption Standard (1976)

● Combinazione elettronica delle tecniche precedenti ripetute 16 volte

● Sviluppato per l'IBM da Horst Feistel

● Riconosciuto dall'NSA

Page 11: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

DES

● DES è un algoritmo simmetrico a chiave segreta di 64 bit ma dei quali 8 sono di controllo. Tramite questa chiave l'algoritmo prevede 16 trasformazioni successive applicate a ogni blocco del messaggio.

● Il testo in chiaro (in bit....) viene suddiviso in blocchi da 8 byte (ogni parola è 8 bit...), quindi 64 bit.

● Ci sono 16 fasi identiche di processo dette round o cicli. Ci sono inoltre una permutazione iniziale ed una finale dette IP e FP.

Page 12: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

DES

● IP ed FP non hanno alcuna importanza per la cifratura ma sono state probabilmente aggiunte per facilitare il caricamento dei blocchi sull'hardware tipico degli anni '70.

Page 13: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

DES

● Il blocco è suddiviso in due sottoblocchi da 32 bit. Come si vede dalla figura il secondo sottoblocco subisce una trasformazione dalla funzione Feistel. Questo farà un OR esclusivo con il primo sottoblocco. Tutto ciò come si vede dalla figura si invertirà e ripeterà per 16 volte.

Page 14: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

DES

● La funzione Feistel opera su mezzo blocco (32 bit) per volta:

– Espansione - blocco di 32 bit è espanso fino a 48 bit utilizzando la permutazione di espansione contraddistinta con E nello schema, che duplica alcuni bit.

– Miscelazione con la chiave - il risultato è combinato con una sottochiave usando un'operazione di XOR.

Page 15: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

DES

– Sostituzione - il blocco viene diviso in 8 parti di 6 bit prima del processamento con le S-box. Ognuna delle 8 S-box sostituisce 6 bit in input con 4 bit in output mediante una trasformazione non lineare effettuata attraverso una tabella.

Page 16: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

DES

– Permutazione - infine, i 32 bit risultanti dalle S-box sono riordinati in base alle permutazioni fisse della P-box.

Page 17: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

DES

● Generatore di chiavi● I 56 bit iniziali vengono

processati mediante la funzione Permuted Choice 1 (PC-1). Questi poi vengono suddivisi in 2 metà di 28 bit.

Page 18: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

DES

● Negli step successivi i due blocchi vengono fatti shiftare verso sinistra di 1 o 2 bit e quindi vengono scelti 48 bit per la sottochiave mediante la funzione Permuted Choice 2 (PC-2) - 24 bit dalla metà di sinistra e 24 bit da quella di destra.

Page 19: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

S-box● Queste particolari strutture sfruttano il principio

della "Confusione e Diffusione" enunciato da Shannon.

● Confusione: rendere la relazione tra chiave e testo cifrato quanto più complessa possibile

● Diffusione: rendere la relazione tra testo in chiaro e testo cifrato quanto più complessa possibile

● Ad esempio, la cifratura monoalfabetica non ha alcuna diffusione, perché le caratteristiche statistiche di ogni carattere in chiaro si trasmettono inalterate al carattere cifrante.

Page 20: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

S-box

● Ne consegue che la modifica di anche un carattere del testo in chiaro dovrebbe implicare l’alterazione di tutto il testo cifrato (diffusione)

● Analogamente, la modifica di anche un solo carattere della chiave, dovrebbe implicare l’alterazione di tutto il testo cifrato (confusione)

● Questa proprietà è nota con il nome di "Criterio di avalanche" (effetto valanga)

Page 21: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

S-box

● Una Substitution Box (S-Box) è una funzione che sostituisce i bit di input con dei bit di output in modo da soddisfare il criterio di "avalanche".

● Il cambiamento di un singolo bit di input quindi deve influenzare circa la metà dei bit di output

● Una S-Box è un tipo particolare di cifratura a sostituzione

Page 22: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

P-box

● Una Permutation Box (P-Box) è una funzione che genera in output una permutazione dei bit di input. E’ quindi un caso particolare di cifratura a trasposizione.

Page 23: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

AES

● Advanced Encryption Standard (AES) è il primo standard approvato dall'NSA e tuttora non sono conosciuti attacchi in grado di violarlo.

● AES è un cifrario a blocchi da 128 bit con chiavi indipendenti l'una dall'altra a lunghezza variabile da 128, 192 o 256 bit.

Page 24: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

AES

● L'algoritmo consiste nel:

Prendere i blocchi da 128 (16 caratteri) e disporli in tabelle 4x4. Quindi a questo punto si procede alla codifica attraverso 10 round: ogni round è composto da 4 fasi.

Page 25: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

AES

● Substitute Bytes● Ogni byte viene

trasformato attraverso una permutazione non lineare. I bytes vengono mappati attraverso una tabella detta S-box.

Page 26: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

AES

● Shift Rows● La prima riga non

viene modificata, nella seconda avviene uno shift verso di sinistra di un posto, nella terza di due e nella quarta di tre.

Page 27: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

AES

● Mix columns● La matrice viene

trasformata moltiplicandola per una matrice generata da un polinomio.

Page 28: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

AES

● Add Round Key● Ogni byte viene

combinato tramite uno Xor il byte corrispondente della chiave.

Page 29: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Conclusioni

● In definitiva questi due algoritmi rispettano il principio di Kerckhoffs ed hanno un forte effetto valanga.

● Questi algoritmi sono abbastanza sicuri (infatti sono ancora usati nelle validazioni di password segrete), ma non possono essere usati sempre in quanto il mittente dovrebbe mandare insieme al messaggio la chiave.

Page 30: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia a chiave asimmetrica

● Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica, ma questa metodologia non è l'ideale per le transazioni su internet.

● La crittografia a chiave asimmetrica prevede l'utilizzo di due chiavi diverse:● Una pubblica per la criptazione● L'altra privata per la decriptazione

Page 31: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia a chiave asimmetrica

Page 32: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia a chiave asimmetrica

Page 33: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia a chiave asimmetrica

● modalità confidenziale: sono garantite la riservatezza e l'integrità del messaggio;

● modalità autenticazione: garantisce l'integrità e il non ripudio ma non viene garantita la riservatezza (il mittente ha posto la sua firma elettronica sul messaggio).

Page 34: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia a chiave asimmetrica● Supponiamo che l'utente A voglia inviare un

testo in chiaro T all'utente B: questo viene diviso in blocchi e ogni blocco viene trasformato in un numero M che lo rappresenta esattamente; quindi il problema si riduce a dover cifrare i numeri M e successivamente a inviarli a B.● Messaggio cifrato per l'utente B: (EB(M))

● Alla sua ricezione l'utente B applica la sua chiave privata ed effettua la decodifica del messaggio cifrato:● Messaggio decifrato dall''utente B: DB(EB(M)) = M

Page 35: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia a chiave asimmetrica

Page 36: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia a chiave asimmetrica

● In altre parole la funzione di decodifica D è l'inverso della funzione di codifica E che però non deve essere deducibile da essa: questo spinse la ricerca degli anni '70 a studiare l'aritmetica modulare per sviluppare un algoritmo in grado di permettere lo scambio delle chiavi su un canale non sicuro.

● Tutto questo garantisce riservatezza, autenticità e integrità del messaggio.

Page 37: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia a chiave asimmetrica● Di fatto avviene questo:

● Anna cifra il messaggio con la chiave pubblica di Bruno e quindi solo Bruno lo può leggere;

● contemporaneamente firma il messaggio con la propria chiave privata;

● alla sua ricezione Bruno, sapendo che il mittente del messaggio è Anna, lo decripta con la chiave pubblica di Anna e può autenticare Anna come mittente;

● Inoltre il messaggio è anche cifrato con la chiave pubblica di Bruno e quindi la trasmissione risulta inviolabile da chi non è in possesso delle chiave privata che solo Bruno detiene: è quindi garantita anche la riservatezza

Page 38: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia a chiave asimmetrica

● Inoltre prima di essere inviato viene generato un hash del messaggio stesso. Alla sua ricezione la verifica dell'hash (spiegheremo più avanti...) ci permette di scoprire se è integro oppure se è stato modificato.

Page 39: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA

● L'algoritmo RSA è stato descritto nel 1977 da Ronald Rivest, Adi Shamir e Leonard Adleman al MIT e fu brevettato nel 1983 negli Stati Uniti dal MIT.

● RSA lavora sfruttando i numeri primi e come chiave utilizza un numero n ottenuto proprio dal prodotto di due numeri primi p e q, cioè n=p*q.

Page 40: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA

● Un attuale utilizzo è quello di sfruttare RSA per codificare un unico messaggio contenente una chiave segreta, tale chiave verrà poi utilizzata per scambiarsi messaggi tramite un algoritmo a chiave segreta (ad esempio AES).

Page 41: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA

● Algoritmo (A invia a B):● B sceglie due numeri primi p e q molto grandi● B invia a A il numero n=p*q in chiaro● A usa questo numero per crittografare il messaggio● A manda il messaggio a B, che chiunque può

vedere ma non leggere● B riceve il messaggio e utilizzando i due fattori

primi, che solo lui conosce, decifra il messaggio

Page 42: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA● Generazione delle chiavi:

● Viene scelto un numero e, coprimo e più piccolo di (p - 1)(q - 1) (un numero a è coprimo di b se il MCD(a,b)=1).

● L'algoritmo di Euclide per il calcolo del MCD letto "al contrario" consente di esprimere il numero MCD(a,b) come combinazione lineare di a e b: permette di trovare due numeri interi r e s tali che:

ra + sb = MCD (a,b)

● Questa relazione, con semplici passaggi, ci permette di ottenere la seguente espressione che è alla base dell'algoritmo RSA:

d · e = 1 mod (p - 1)(q - 1)

● e chiamato esponente pubblico

Page 43: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA

● Facciamo un esempio per dimostrare:● Calcoliamo MCD(1789,1234) utilizzando l'algoritmo

di Euclide (risulta MCD(1789, 1234) = 1)

Page 44: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA

● A partire dal MCD possiamo esprimere ciascun x

i come combinazione lineare di x

i-2 e x

i−1

1 = 6 - (1 · 5)

5 = 59 - (9 · 6)

6 = 124 - (2 · 59)

59 = 555 - (4 · 124)

124 = 1234 - (2 · 555)

555 = 1789 − (1 · 1234)

Page 45: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA● Sostituendo a ritroso:

1 = 6 - (1 · 5)

= 6 − 1 · (59 − 9 · 6) = −(1 · 59) + (10 · 6)

= −1 · 59 + 10 · (124 − 2 · 59) = (10 · 124) − (21 · 59)

= 10 · (124 − 21 · (555 − 4 · 124) = (−21 · 555) + (94 · 124)

= −21 · 555 + 94 · (1234 − 2 · 555) = (94 · 1234) − (209 · 555)

= 94 · 1234 − 209 · (1789 − 1 · 1234) = (−209 · 1789) + (303 · 1234)

● Dunque: −209 · 1789 + 303 · 1234 = 1

cioè: 303 · 1234 = 1 − 209 · 1789

e nella sua forma più generale: 303 · 1234 = 1 + k(1789)

303 · 1234 = 1 mod 1789

Page 46: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA

● A partire da n = p q e dalla relazione ottenuta dall'algoritmo di Euclide l'algoritmo RSA procede calcolando un numero d (chiamato esponente privato) tale che:

● d · e = 1 mod (p - 1)(q – 1)● Da questo:

● la chiave pubblica composta dalla coppia (e, n);● la chiave privata composta dalla coppia (d, n).

Page 47: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA

● Prendiamo ad esempio come numeri RSA p = 3, q = 11

● Calcoliamo

n = p · q = 33 e (p - 1)(q - 1) = 2 · 10 = 20

● Come numero coprimo minore di 20 scegliamo e = 7 e da questo individuiamo d tale che:

d · e = 1 mod (p - 1)(q – 1)

● Per calcolare d a questo punto usiamo il metodo di Eulero esteso oppure andiamo per tentativi.....

Page 48: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA

● la chiave pubblica è (7,33)● la chiave privata è (3,33)

Page 49: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA

● Algoritmo crittografico● Il messaggio m dovrà essere trasformato in

numero e preso per blocchi (< di n).● Il crittogramma c viene codificato calcolando

come c = me mod n (c risulta minore di n)● Volendo trasmettere il messaggio m = 9 con le

chiavi precedenti, pubblica (7,33) e privata (3, 33)

● otteniamo:

c = mcifrato

= 97 = 4.782.969 = 15(mod33)

Page 50: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

RSA

● La decifrazione del messaggio avviene calcolando:

m = cd mod n● Utilizziamo come chiave privata (3,33)

otteniamo:

● mchiaro

= 153 = 3365 = 9(mod33)

Page 51: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia ibrida

● In realtà questo sistema non è molto rapido e veloce. Quindi mittente e destinatario di un messaggio si scambieranno le chiavi usando la crittografia asimmetrica e poi useranno la simmetrica per comunicare.

Page 52: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia ibrida

● In un sistema ibrido utilizziamo la chiave pubblica soltanto per comunicare la chiave segreta (che in questi casi viene chiamata chiave di sessione) che poi verrà usata per una normale comunicazione basata su cifrati a chiave segreta.

Page 53: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia ibrida

● Così facendo non ci sono problemi di sicurezza in quanto la chiave che viene trasferita è di modeste dimensioni, inoltre è trasmessa una sola volta e, quando è stata ricevuta, può innescare un sistema di cifratura simmetrico tra i due interlocutori.

Page 54: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia ibrida

Page 55: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Crittografia ibrida

Page 56: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Firma digitale

● La firma digitale usa sempre la crittografia asimmetrica ma "al contrario"....

Page 57: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Firma digitale

● sottoscrizione di un documento informatico;● verifica, da parte dei destinatari, dell'identità del

soggetto sottoscrittore;● certezza che l'informazione contenuta nel

documento non sia stata alterata.

Page 58: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Firma digitale

● L'utente possiede un dispositivo di firma sicuro (smart card o token USB o Business Key)

Page 59: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Firma digitale

● Durante l'apposizione della firma il file viene "incapsulato" in una "busta crittografica" e il risultato è un nuovo file, con estensione .p7m:

Page 60: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Firma digitale

● Per la legge italiana un dispositivo di firma idoneo è "un apparato elettronico programmabile solo all'origine, facente parte del sistema di validazione, in grado almeno di conservare in modo protetto le chiavi private e generare al suo interno firme digitali. Il dispositivo di firma è il supporto candidato alla conservazione della chiave privata e deve dunque essere non riproducibile e, in parte, non modificabile. La chiave deve inoltre essere protetta da una procedura di identificazione del titolare (tipicamente l'inserimento di un PIN) e deve essere fatta in modo da non lasciare alcuna traccia della chiave privata sul sistema di validazione"

Page 61: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Firma digitale

● La smart card risponde ai requisiti appena detti.

● Chiave pubblica e privata vengono generati all'interno della card: solo la pubblica verrà resa nota e distribuita, mentre la privata non uscirà mai dal dispositivo.

Page 62: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Firma digitale● Per rendere più efficiente il meccanismo si

utilizza una funzione di hash attraverso la quale si calcola una stringa identificativa del messaggio, detta finger-print (impronta digitale) o message digest composta da un numero limitato di caratteri.

Page 63: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Firma digitale● Passi della procedura:

● Da un documento si estrae l'impronta in chiaro● L'impronta viene cifrata con la chiave privata● L'impronta crittografata viene allegata al messaggio

in chiaro● Il certificato del mandatario viene inviato in allegato

al messaggio in chiaro● Il destinatario decripterà l'impronta con la chiave

pubblica.

● Così sarà possibile verificare l'integrità del messaggio in quanto se il fingerprint calcolato in ricezione non corrisponde a quello inviato questo non risulta autenticato.

Page 64: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

md5

● Tra gli algoritmi di hash ricordiamo "md5" (Ronald Rivest nel 1991).

● Ritorna una stringa risultante di 128 bit a partire da qualsiasi input.

● I passi sono:– Aggiunta bit riempimento di zeri preceduti da un uno fino

a raggiungere un multiplo di 512– Aggiunta della lunghezza a 64 bit del messaggio originale– Inizializzazione del buffer MD, cioè 4 word a 32 bit– Elaborazione del messaggio da parte di 4 funzioni....

Page 65: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

md5

● L'md5 è usato nello sviluppo di pagine web in php. Cioè è buona norma salvare la password di un dato utente all'interno del db; in realtà non si va a salvare il suo valore in chiaro ma la sua impronta attraverso md5. Quando l'utente digita la password questa verrà trasformata sempre tramite md5 e confrontata con il valore presente nel db: solo se il confronto restituirà true sarà possibile accedere all'area riservata.

Page 66: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Certificato● Come facciamo a esser certi che chi ci ha

inviato il messaggio sia proprio chi dice di essere?

● Cioè se una persona X ci invia il messaggio con la sua chiave pubblica come facciamo a sapere che sia proprio X?

● In realtà la chiave viene racchiusa all'interno di un certificato digitale che oltre a essa contiene le informazioni sul mittente.

● Questo certificato deve essere a sua volta validato da un ente certificatore che garantisce l'identità del proprietario del certificato firmandone le chiavi pubblica e privata con la propria chiave privata.

Page 67: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Certificato● Il certificato contiene:

– dati del proprietario, tra cui il nome, cognome e data di nascita del titolare e la chiave pubblica;

– dati del certificato, tra cui la data di scadenza e il numero di serie del certificato;

– dati della Certification Authority, ovvero la ragione sociale del certificatore, il codice identificativo del titolare presso il certificatore e la firma digitale.

● La Registration Authority svolge le necessarie indagini e attiva le relative procedure per l'identificazione certa del richiedente.

● La Certification Authority gestisce la sua pubblicazione online e relativa manutenzione.

Page 68: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Certificato

● L'insieme costituito da utenti e Authority, nonché dalle tecnologie che queste utilizzano è detto PKI (Public Key Infrastructure).

● I PKI gestiscono un repository dei certificati dove memorizzano e pubblicano i certificati e le liste di quelli revocati.

Page 69: Crittografiastekandaloro.altervista.org/.../reti-crittografia1.pdf · Crittografia a chiave asimmetrica Tutti gli algoritmi che abbiamo appena esaminato sono a chiave simmetrica,

Riferimenti normativi

● "Gli atti, dati e documenti formati dalla pubblica amministrazione e dai privati con strumenti informatici o telematici i contratti stipulati nelle medesime forme, nonché la loro archiviazione e trasmissione con strumenti informatici, sono validi a tutti gli effetti di legge".

● L. 15/3/1997, n. 59 (art. 15, comma 2)