Nota di Copyright RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e ) sono di proprietà degli autori prof. Pier Luca Montessoro e ing. Davide Pierattoni, Università degli Studi di Udine. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori. L informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste slide. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali. 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 1 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 2 Argomenti della lezione Elementi di crittografia Proprietà necessarie alla sicurezza della comunicazione Elementi di crittografia 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 3 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 4 Sicurezza della comunicazione Proprietà desiderabili Segretezza Autenticazione Segretezza Il contenuto del messaggio può essere letto soltanto dal destinatario (proprietà banale) Può anche essere desiderabile la segretezza del fatto stesso che sia avvenuta una comunicazione tra due persone (proprietà meno ovvia) 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 5 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 6 1
Autenticazione Come faccio ad essere certo dell identità della persona con cui comunico? Come posso garantire che il messaggio ricevuto sia esattamente quello inviato (e non sia stato modificato da qualcuno?) Servono: Autenticazione del mittente Autenticazione del destinatario ti amo 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 7 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 8 Come posso garantire che il messaggio ricevuto sia esattamente quello inviato (e non sia stato modificato da qualcuno?) Sicurezza per chi? Utenti (persone) Apparati dell infrastruttura di rete (es. server DNS, router, ecc.) ti amo ti odio Falle nella sicurezza dell infrastruttura possono essere veicolo di attacchi alle attività degli utenti Trudy 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 9 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 10 Vulnerabilità della rete Broadcast di livello 2 Violazione della segretezza mediante sniffer Indirizzi IP non autenticati Incertezza del mittente (IP spoofing) Vulnerabilità della rete Informazioni trasmesse in Possibile alterazione dei messaggi 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 11 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 12 2
Vulnerabilità della rete DoS: Denial of Service Attacchi orientati ad impedire il normale funzionamento dei sistemi Esempi: SYN flooding (apertura connessioni TCP), smurf (ICMP echo con falsi IP sorgenti) Principi di crittografia Permette di ottenere: Segretezza Autenticazione 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 13 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 14 cifratura cifratura in in #^$& #^$& 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 15 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 16 Algoritmo segreto Esempio: Scambia ogni lettera in posizione i con quella in posizione (i 3 +3) mod m Cifratura void crypto (char s[]) int i, m = strlen (s); for (i = 0; i < m; i++) char t; int j; j = (i*i*i + 3) % m; t = s[i]; s[i] = s[j]; s[j] = t; return; 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 17 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 18 3
Decifratura void decrypto (char s[]) int i, m = strlen (s); for (i = m-1; i >= 0; i--) return; char t; int j; j = (i*i*i + 3) % m; t = s[i]; s[i] = s[j]; s[j] = t; Esempio: "Cara, credo che Trudy ci stia spiando" "art sausa eie aiocnodcrda y cc,e trlidchip" 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 19 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 20 Algoritmo segreto per Internet? NO: è necessario permettere lo sviluppo del software necessario algoritmi pubblici + CHIAVI in K A #^$& algoritmo di cifratura 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 21 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 22 KH#4 in? incomprensibile K B %&*# Trudy %&*# 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 23 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 24 4
Chiavi Chiavi Massima sicurezza: Stessa per crittografia e decrittografia len () > len (messaggio) chiavi sempre diverse Problema: Come scambiarsi le chiavi? 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 25 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 26 Cifrature monoalfabetiche (cifrario di Cesare) Schema di sostituzione fissa di ogni lettera con un altra Forzatura tramite analisi statistica delle ricorrenze Esempio: cifrario di Cesare a b c d e f g h i j k l m n o... f g e s j y z k r q p i t a v... ciao erfv 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 27 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 28 Cifrature polialfabetiche (cifrari di Vigenere) n cifrari di Cesare usati ciclicamente Esempio: cifrario di Vigenere a b c d e f g h i j k l m n o... k l m n o p q r s t u v w x y... e f g h i j k l m n o p q r s... y z a b c d e f g h i j k l m... k l m n o p q r s t u v w x y... e f g...... : key ciao mmyy 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 29 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 30 5
Tipologie di attacco Forza bruta (tutte le possibili chiavi) Analisi statistica (ricorrenze delle lettere, delle sillabe, ecc.) Analisi del crittogramma di cui è nota una parte del (es. intestazione standard) Analisi con in scelto DES: Data Encryption Standard Chiave a 56 bit Due fasi di permutazione 16 fasi di manipolazione ed EXOR con i bit della 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 31 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 32 Forzato nel 1997 Evoluzione: DES triplo (3DES) Chiavi pubbliche Due chiavi Chiave pubblica Chiave privata (segreta) 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 33 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 34 Chiavi pubbliche Chiavi e cifratura devono soddisfare la proprietà: d B (e B (m)) = m = e B (d B (m)) 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 35 Chiavi pubbliche d B (e B (m)) = m = e B (d B (m)) Dove: e B pubblica di, tipicamente usata per la cifratura d B privata di, tipicamente usata per la m messaggio 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 36 6
Crittografia a pubblica Crittografia a pubblica algoritmo di cifratura in pubblica di e B %&*# e B (m) privata di d B in d B (e B (m))=m %&*# e B (m) 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 37 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 38 Algoritmo RSA per cifratura a pubblica RSA (Ron Rivest, Adi Shamir, Leonard Adleman) Chiavi generate a partire da due numeri primi p e q molto grandi: p q dell ordine di 1024 bit (difficile scomposizione in fattori) Descrizione dell algoritmo a pag. 603 e seguenti del libro di Algoritmo RSA per cifratura a pubblica Problema: richiede calcolo di elevamento a potenza con numeri molto grandi Lungo tempo di elaborazione 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 39 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 40 Algoritmo RSA per cifratura a pubblica Possibile impiego: scambio di chiavi di sessione RSA chiavi di sessione DES contenuto dei messaggi Elementi di crittografia 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 41 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 42 7