La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

AICA Corso IT Administrator: modulo 5 AICA © 2005 1 EUCIP IT Administrator Modulo 5 - Sicurezza Informatica 2 - Crittografia.

Presentazioni simili


Presentazione sul tema: "AICA Corso IT Administrator: modulo 5 AICA © 2005 1 EUCIP IT Administrator Modulo 5 - Sicurezza Informatica 2 - Crittografia."— Transcript della presentazione:

1 AICA Corso IT Administrator: modulo 5 AICA © 2005 1 EUCIP IT Administrator Modulo 5 - Sicurezza Informatica 2 - Crittografia

2 AICA Corso IT Administrator: modulo 5 AICA © 2005 2 Trasmissione sul canale in chiaro 11010010101 11010010101

3 AICA Corso IT Administrator: modulo 5 AICA © 2005 3 Crittografia

4 AICA Corso IT Administrator: modulo 5 AICA © 2005 4 Generalità sulla Crittografia Sicurezza Attiva: protezione dei dati Difficile ideare nuovi algoritmi Crittoanalisi: arte del decifrare, metodo principale è l'analisi delle sequenze ripetute Numeri Casuali e numeri Primi (divisibili solo per 1 e per sé stessi) sono elementi fondamentali Difficile generare numeri casuali, su computer solo numeri Pseudocasuali (se si è fortunati!) Testo + Chiave C Messaggio Cifrato Messaggio Cifrato + Chiave D Testo

5 AICA Corso IT Administrator: modulo 5 AICA © 2005 5 Obiettivi di sicurezza Integrità Determinare se un documento è rimasto integro durante la trasmissione Autenticità Determinare la sorgente di un documento Confidenzialità Protezione della comunicazione tra due soggetti nei confronti di un terzo Non ripudio Insieme di meccanismi che rendono una transazione informatica non ripudiabile Privacy Salvaguardia dei dati privati

6 AICA Corso IT Administrator: modulo 5 AICA © 2005 6 La Funzione EX-OR (XOR) operatore di confusione ideale se linput è casuale (probabilità 0 : 1 = 50 : 50%) allora anche loutput sarà casuale allo stesso modo disponibile su tutte le CPU tavola di verità: z = x y x y z

7 AICA Corso IT Administrator: modulo 5 AICA © 2005 7 OnTimePad Assolutamente Sicuro Chiave = Numero Casuale (!!) lungo quanto il messaggio Testo XOR Chiave = Messaggio Cifrato Messaggio Cifrato XOR Chiave = Testo

8 AICA Corso IT Administrator: modulo 5 AICA © 2005 8 OnTimePad Esempio Binario Testo: 1011010001 Chiave: 0110100011 Messaggio Cifrato: 1101110010 Se la Chiave è veramente Casuale, anche il Messaggio Cifrato è veramente Casuale, solo chi possiede la Chiave può ottenere il Testo originale

9 AICA Corso IT Administrator: modulo 5 AICA © 2005 9 OnTimePad Problema: Generare le Chiavi casuali lunghe a sufficienza Problema: Distribuire le Chiavi (una per ogni messaggio!) a chi deve ricevere il messaggio –Il problema della distribuzione delle Chiavi è comune a tutti gli algoritmi simmetrici, algoritmi che usano una sola chiave per cifrare e decifrare, o due chiavi semplicemente derivabili una dall' altra

10 AICA Corso IT Administrator: modulo 5 AICA © 2005 10 Algoritmi Crittografici Per cifrare un messaggio si usa –Un Algoritmo crittografico (pubblico !) –Una Chiave segreta (casuale) La sicurezza risiede nella bontà dell'algoritmo (verifica pubblica) e nella casualità della chiave

11 AICA Corso IT Administrator: modulo 5 AICA © 2005 11 OnTimePad Algoritmo crittografico : XOR Chiave segreta : stringa casuale di 0/1 lunga quanto il messaggio

12 AICA Corso IT Administrator: modulo 5 AICA © 2005 12 Cifrario di Cesare Algoritmo crittografico: sostituisci una lettera con la N-esima lettera successiva nell'alfabeto modulo 26 Chiave Segreta C: N e Chiave Segreta D: N Esempio: N=3 A => D, B => E,..., Z => C Crittoanalisi: dato un messaggio cifrato non breve, conta la frequenza di apparizione di ogni lettera e paragona con la frequenza nota in Italiano

13 AICA Corso IT Administrator: modulo 5 AICA © 2005 13 Tipi di Algoritmi Algoritmi Simmetrici: stessa o (semplicemente deducibile una dall'altra) chiave C e D Algoritmi Asimmetrici o a Chiave Pubblica: è in pratica impossibile ottenere la chiave C dalla chiave D in un tempo ragionevole Algortimi di Hash o Digest: data una stringa di lunghezza arbitraria generano una stringa unica di lunghezza fissa Notazioni: E K (M)=C D K (C)=M

14 AICA Corso IT Administrator: modulo 5 AICA © 2005 14 Algoritmi Simmetrici Il testo cifrato deve dipendere da tutti i bit della chiave e del testo originale Cambiando 1 bit nel testo o nella chiave, ogni bit del testo cifrato può cambiare con la stessa probabilità Cambiando 1 bit nel testo cifrato, ogni bit del testo decifrato può cambiare con la stessa probabilità Tipi: –Blocchi ECB (Electronic CodeBook), CBC (Cipher.Block Chaining) –Caratteri (Stream)

15 AICA Corso IT Administrator: modulo 5 AICA © 2005 15 Algoritmi Simmetrici BLOCCHI: il testo è diviso in blocchi di lunghezza fissa (spesso pari alla lunghezza della chiave) e produce blocchi della stessa lunghezza –ECB (Electornic Code Book): ogni blocco è cifrato in modo indipendente –CBC (Cipher Block Chaining): ogni blocco ha un riporto dal blocco precedente, il primo blocco ha un IV (Initial Value) noto

16 AICA Corso IT Administrator: modulo 5 AICA © 2005 16 Algoritmi Simmetrici ECB: Errori Ripetizioni CBC: Errori Ripetizioni Caratteri (Stream): ogni carattere è trasformato singolarmente (più veloce)

17 AICA Corso IT Administrator: modulo 5 AICA © 2005 17 Algoritmi Simmetrici Più noti: DES, 3 DES, AES, IDEA, RC4,... DES (Data Encryption System): blocco di 64bit, chiave di 56bit (non più sicuro) meglio in hardware 3DES: applicazione ad ogni blocco di DES per 3 volte con 3 chiavi diverse (la seconda volta in decifrazione) –blocco 64bit, chiave 168 o 112 bit –sicuro (non tutte le chiavi sono buone) AES (Advanced Encryption Standard): blocco 128 bit, chiave di 128, 192 o 256 bit

18 AICA Corso IT Administrator: modulo 5 AICA © 2005 18 Algoritmi Simmetrici IDEA (International Data Encryption Algorithm): blocco 64bit, chiave 128bit – molto sicuro ma Proprietario RC4: Stream, 10 volte più veloce di DES, chiave di almeno 40bit (in pratica molto di più) Proprietario

19 AICA Corso IT Administrator: modulo 5 AICA © 2005 19 Lunghezza delle chiavi segrete Sotto le seguenti ipotesi: –lalgoritmo di crittografia è stato ben progettato –le chiavi - lunghe N bit - sono tenute segrete Allora lunico attacco possibile è: –Attacco esaustivo (o brute force) che richiede un numero di tentativi pari a 2 N

20 AICA Corso IT Administrator: modulo 5 AICA © 2005 20 Lunghezza delle chiavi segrete

21 AICA Corso IT Administrator: modulo 5 AICA © 2005 21 Sfide DES 2 56 = 72.057.594 miliardi di chiavi possibili DES challenge I –inizio=18-feb-1997, fine=17-giu-1997 –17.731.000 miliardi di chiavi provate (25%) –circa 15.000 computer in rete DES challenge II –inizio=13-gen-98, fine=23-feb-98 –63.686.000 miliardi di chiavi provate (87%) –circa 20.000 computer in rete

22 AICA Corso IT Administrator: modulo 5 AICA © 2005 22 Sfide DES DES challenge III –inizio=13-lug-98, fine=15-lug-98 –17.903.000 miliardi di chiavi provate (25%) –sistema special-purpose (DEEP CRACK) –sviluppato dalla EFF col costo di 250.000 $ E quindi possibile costruire una macchina che decifri un generico messaggio DES, ma: –bisogna conoscere il tipo di dati (es. ASCII) –La macchina non riesce a decifrare messaggi 3DES –il DES non è intrinsecamente debole, ha solo una chiave corta!

23 AICA Corso IT Administrator: modulo 5 AICA © 2005 23 Sfide DES DES challenge IV –inizio=18-gen-1999, fine=dopo 22h 15m –16.017.000 miliardi di chiavi provate (22%) –1 sistema di elaborazione special-purpose sviluppato dalla EFF (costo=250.000 $) più alcune migliaia di workstation di vario genere –potenza di picco: 250 Gkey/s –potenza media: 199 Gkey/s

24 AICA Corso IT Administrator: modulo 5 AICA © 2005 24 Dopo il DES IETF cambia tutti gli RFC sconsigliando luso del DES e suggerendo luso del triplo DES banca tedesca condannata per una truffa fatta tramite un sistema basato su DES il 15-gen-1999 il FIPS ha ritirato il DES (46/2) e lha rimpiazzato col 3DES (46/3) il governo USA ha iniziato la procedura di selezione per un nuovo algoritmo simmetrico: –AES (Advanced Encryption Standard) chiave da almeno 256 bit blocchi da almeno 128 bit

25 AICA Corso IT Administrator: modulo 5 AICA © 2005 25 Algoritmi Simmetrici USO: Poiché sono veloci si usano per cifrare i dati e le comunicazioni, possono anche essere usati come Hash o per autenticazione PROBLEMI: La distribuzione delle Chiavi, che va ripetuta spesso poiché ogni chiave può essere usata solo per cifrare una quantità massima di dati

26 AICA Corso IT Administrator: modulo 5 AICA © 2005 26 Algoritmi Asimmetrici Si basano su difficili problemi matematici: –Fattorizzazione in numeri Primi, Logaritmi Discreti Esempio: dato un numero grande che è il prodotto di due numeri Primi grandi, è computazionalmente difficile trovare i due numeri Primi (fattori) RSA (Rivest, Shamir, Adleman): –Scegli due numeri primi molto grandi p e q –Scegli un numero (casuale) e relativamente primo a (p-1)(q-1) Sia n=pq

27 AICA Corso IT Administrator: modulo 5 AICA © 2005 27 Algoritmi Asimmetrici Data la Chiave Pubblica ed il messaggio m posso de/cifrare con la formula c = m e mod n Data la Chiave Privata ed il messaggio c posso de/cifrare con la formula m = c d mod n ATTENZIONE: un messaggio cifrato con una delle due chiavi viene decifrato con l'altra chiave! L'uso delle chiavi è simmetrico, ma una chiave è Privata, l'altra è Pubblica

28 AICA Corso IT Administrator: modulo 5 AICA © 2005 28 Algoritmi Asimmetrici La Chiave Pubblica D è la coppia (e,n) La Chiave Privata C è: (e,p,q) o (d,n) ove d = e-1 mod (p-1)(q-1) Dalla Chiave Pubblica è impossibile in pratica ottenere quella privata poiché non si conoscono p e q (se questi sono sufficientemente grandi)

29 AICA Corso IT Administrator: modulo 5 AICA © 2005 29 Algoritmi Asimmetrici RSA è circa 1000 volte più lento di DES in HW e circa 100 volte in SW Chiavi sicure oggi sono di 1024, 2048 o 4096 bit! ElGamal, DSA (solo per Firme Digitali) usano i Logaritmi Discreti USO: Poiché sono lenti si usano per lo più per autenticazione e scambio di Chiavi Simmetriche (cifratura di dati piccoli)

30 AICA Corso IT Administrator: modulo 5 AICA © 2005 30 Lunghezza delle chiavi pubbliche 256 bit sono attaccabili in alcune settimane 512 bit sono attaccabili in alcuni mesi 1024 bit offrono una sicurezza ragionevole per vari secoli Esempio di sfide risolte: –10-apr-1996, risolta sfida RSA-130 con 1000 MIPS-years –2-feb-1999, risolta sfida RSA-140 (circa 465 bit) con 2000 MIPS- years –Con nuove tecniche sarebbero risolvibili in 500 e 1500 MIPS-years

31 AICA Corso IT Administrator: modulo 5 AICA © 2005 31 Distribuzione delle chiavi per crittografia asimmetrica Chiave privata mai divulgata! Chiave pubblica distribuita il più ampiamente possibile Problema: chi garantisce la corrispondenza tra chiave pubblica ed identità della persona? Scambio di chiavi out-of-band Distribuzione della chiave pubblica allinterno di un certificato a chiave pubblica (= certificato didentità digitale) –formato del certificato? –fiducia nellemettitore del certificato?

32 AICA Corso IT Administrator: modulo 5 AICA © 2005 32 Diffie-Hellman Primo algoritmo a chiave pubblica inventato Solitamente usato per concordare su una chiave segreta ( key agreement ) Brevettato negli USA ma il brevetto è scaduto il 29 aprile 1997 Se lattaccante può manipolare i dati allora è possibile un attacco man-in-the-middle; in questo caso richiede pre- autenticazione

33 AICA Corso IT Administrator: modulo 5 AICA © 2005 33 Diffie-Hellman Alice e Bob scelgono due interi grandi n e g tali che 1 < g < n Alice, scelto un numero a caso x, calcola: X = g x mod n Bob, scelto un numero a caso y, calcola: Y = g y mod n Alice e Bob si scambiano (pubblicano) X e Y Alice calcola k = y x mod n Bob calcola k = x y mod n k = k = g xy mod n

34 AICA Corso IT Administrator: modulo 5 AICA © 2005 34 Algoritmi di Hash Trasforma una stringa di lunghezza arbitraria in una di lunghezza fissa detta Impronta (Hash o Digest) Data un'Impronta non è possibile ricostruire la stringa o documento originario E' statisticamente impossibile che due documenti (di lunghezza sufficiente) generino la stessa Impronta Una piccola modifica di un documento genera una grande modifica dell'Impronta

35 AICA Corso IT Administrator: modulo 5 AICA © 2005 35 Algoritmi di Hash Algoritmi più comuni: –MD5, SHA1, RIPEMD160 Operano su blocchi di 64Byte Generano un'Impronta di 128bit (MD5) e 160bit (SHA1 e RIPEMD160)

36 AICA Corso IT Administrator: modulo 5 AICA © 2005 36 MAC Message Authentication Code (MAC): in generale è un codice che permette di stabilire l'autenticità di un documento H-MAC: MAC basati sull'uso di un HASH insieme ad una chiave segreta (RFC2104) Caso più semplice: concatenare una chiave segreta al documento e poi calcolarne la Impronta, solo chi conosce la chiave segreta può verificarla e solo chi ha la chiave segreta può averla fatta

37 AICA Corso IT Administrator: modulo 5 AICA © 2005 37 Cifrare Messaggi con Algoritmi Simmetrici 1.Scegliere 1 Chiave Simmetrica per ogni messaggio da cifrare di lunghezza opportuna 2.Ricordarsi a Memoria, o tenere in luogo sicuro, tutte le chiavi (NON su di un computer) 3.PROBLEMA: creazione e gestione di tutte le chiavi Garantisce: Confidenzialità

38 AICA Corso IT Administrator: modulo 5 AICA © 2005 38 Scambiare Messaggi con Algoritmi Simmetrici 1.Scegliere 1 Chiave Simmetrica per ogni messaggio da cifrare e per ogni corrispondente di lunghezza opportuna 2.Inviare la Chiave in modo sicuro al proprio corrispondente! 3.Ricordarsi a Memoria, o tenere in luogo sicuro, tutte le chiavi (NON su di un computer) 4.PROBLEMA: creazione e distribuzione di tutte le chiavi

39 AICA Corso IT Administrator: modulo 5 AICA © 2005 39 Scambiare Messaggi con Algoritmi Simmetrici Garantisce: Confidenzialità ed Autenticità –(se la chiave segreta è nota solo ai due corrispondenti, un messaggio decifrato con quella chiave è stato cifrato dall'altro corrispondente ed è sicuro poiché è cifrato)

40 AICA Corso IT Administrator: modulo 5 AICA © 2005 40 Scambiare Messaggi con Algoritmi Simmetrici Se al messaggio concateniamo anche il suo Hash prima della cifratura, otteniamo anche l'integrità Garantisce: Confidenzialità, Autenticità ed Integrità –se sono in grado di provare che quella chiave apparteneva al mio corrispondente, allora posso ottenere anche il Non Ripudio

41 AICA Corso IT Administrator: modulo 5 AICA © 2005 41 Scambiare Messaggi con Algoritmi Asimmetrici 1.A(lice) vuole inviare un messaggio cifrato a B(ob) 2.A si procura la chiave Pubblica di B 3.A cifra il messaggio con la chiave Pubblica di B (solo B ha la corrispondente chiave Privata perciò solo B può decifrare il messaggio) 4.A invia il messaggio cifrato a B 5.B decifra il messaggio con la sua chiave Privata

42 AICA Corso IT Administrator: modulo 5 AICA © 2005 42 Scambiare Messaggi con Algoritmi Asimmetrici Si Cifra con la Chiave Pubblica del destinatario (Bob) Garantisce: solo Confidenzialità –autenticità mittente manca del tutto, chiunque può inviare il messaggio usando la chiave Pubblica di B

43 AICA Corso IT Administrator: modulo 5 AICA © 2005 43 Cifrare Messaggi con Algoritmi Asimmetrici 1.A cifra il documento con la propria chiave Pubblica 2.A mantiene la propria chiave Privata in un posto molto sicuro (Smart Card ???) 3.Per decifrare il documento è necessaria la chiave Privata di A, che A deve quindi proteggere bene!

44 AICA Corso IT Administrator: modulo 5 AICA © 2005 44 Confronto Chiave Simmetrica: molto veloce, immediato ottenere Autenticità oltre Confidenzialità, facile Integrità (non Ripudio ?) Problema: Distribuzione Chiavi Chiave Asimmetrica: facile distribuire chiavi, nella modalità di base solo Confidenzialità (vedremo come ottenere il resto) Problema: Lentissimo !!!

45 AICA Corso IT Administrator: modulo 5 AICA © 2005 45 Firma Digitale Autenticità con Algoritmi Asimmetrici 1. A genera un'Impronta del documento che vuole inviare a B 2. A cifra l' Impronta con la propria chiave Privata (solo A può fare questo) 3. A invia il messaggio e l'Impronta cifrata a B 4. B si procura la chiave Pubblica di A

46 AICA Corso IT Administrator: modulo 5 AICA © 2005 46 Firma Digitale 5.B decifra l'Impronta inviata da A con la chiave Pubblica di A 6.B calcola indipendentemente l'Impronta del messaggio ricevuto da A e la confronta con quella ricevuta da A Se le due Impronte coincidono si ha Autenticità ed Integrità

47 AICA Corso IT Administrator: modulo 5 AICA © 2005 47 Firma Digitale Per la Firma Digitale bisogna cifrare (l'Impronta) con la Chiave Privata del Mittente

48 AICA Corso IT Administrator: modulo 5 AICA © 2005 48 Firma Digitale

49 AICA Corso IT Administrator: modulo 5 AICA © 2005 49 Solo Autenticazione Bob Chi sei? Ciao Bob Alice Non ci credo

50 AICA Corso IT Administrator: modulo 5 AICA © 2005 50 Solo Autenticazione 1.A si connette a B 2.B ha la chiave Pubblica di A, B vuole essere sicuro di parlare con A 3.B invia ad A un numero casuale in chiaro (nonce) 4.A cifra il numero casuale con la propria chiave Privata

51 AICA Corso IT Administrator: modulo 5 AICA © 2005 51 Solo Autenticazione 5.A invia il numero casuale cifrato a B 6.B decifra il numero con la chiave Pubblica di A, se il numero è uguale a quello inviato, B è sicuro di parlare con A (in alternativa, B cifra il numero casuale con la Chiave Pubblica di A; A lo decifra con la sua Chiave Privata ed invia a B un'impronta del numero; B verifica che le impronte corrispondano.)

52 AICA Corso IT Administrator: modulo 5 AICA © 2005 52 Mettiamo tutto insieme !!! 1.A vuole inviare un lungo messaggio a B 2.A si procura la chiave Pubblica di B ed ha pronta la propria chiave Privata 3.A appone una Firma Digitale al documento con la propria chiave Privata 4.A sceglie un Algoritmo Simmetrico e genera una Chiave simmetrica detta Di Sessione (casuale)

53 AICA Corso IT Administrator: modulo 5 AICA © 2005 53 Mettiamo tutto insieme !!! 5.A cifra il messaggio per B con l'Algoritmo Simmetrico e la Chiave simmetrica scelta 6.A cifra la Chiave Simmetrica con la Chiave Pubblica di B (solo B può decifrare!) 7.A concatena al messaggio cifrato con la chiave Simmetrica, la chiave Simmetrica stessa cifrata con la chiave Pubblica di B 8.A invia il tutto a B

54 AICA Corso IT Administrator: modulo 5 AICA © 2005 54 Mettiamo tutto insieme !!! Struttura del messaggio cifrato:

55 AICA Corso IT Administrator: modulo 5 AICA © 2005 55 Mettiamo tutto insieme !!! 9.B riceve il messaggio 10.B con la propria Chiave Privata decifra la chiave Simmetrica (di sessione) 11.B con la Chiave Simmetrica decifra il messaggio e la Firma Digitale 12.B calcola l'impronta del messaggio 13.B usa la chiave Pubblica di A per decifrare la Firma Digitale 14.B confronta le due impronte, se sono uguali ha ottenuto Confidenzialità, Autenticità e Integrità

56 AICA Corso IT Administrator: modulo 5 AICA © 2005 56 Applicazioni Troppe... alcuni esempi: Siti Web Siti Web: SSL/TSL con Certificati Digitali per autenticare il sito stesso, + Firma Digitale per non ripudio degli ordini EBanking SSH: connettività remota e trasferimento documenti (rimpiazzo di telnet, ftp ecc.) PGP: confidenzialità, autenticità e integrità posta elettronica

57 AICA Corso IT Administrator: modulo 5 AICA © 2005 57 Applicazioni Ma anche: IPSEC: tunnel sicuri per connettere sedi remote o elaboratori remoti via Internet (o rete non sicura) su IPv4 o IPv6 S/MIME: altro protocollo per la posta elettronica sicura...

58 AICA Corso IT Administrator: modulo 5 AICA © 2005 58 Considerazioni La crittografia si basa –Robustezza dellalgoritmo di crittografia –Lunghezza delle chiavi GLI ALGORITMI SONO NOTI Il software open source può essere analizzato (DIFFICILE) per verificare la corretta implementazione dellalgoritmo

59 AICA Corso IT Administrator: modulo 5 AICA © 2005 59 Esempi di progetti open source OpenSSL OpenCA Open Source PKI Mozilla Open LDAP MUSCLE GnuPG....

60 AICA Corso IT Administrator: modulo 5 AICA © 2005 60 Protocollo SSH Due attori –Client : attiva la richiesta di collegamento –Server : cui è indirizzata la richiesta Esistono due versioni del protocollo tra loro non interoperabili (ver 1, ver 2) –Ver 1: meno recente, supportata da tutti i prodotti –Ver 2: nuovo, non supportata da tutti i prodotti

61 AICA Corso IT Administrator: modulo 5 AICA © 2005 61 Schema SSH 1.Il client stabilisce una connessione col server, il server risponde con una stringa del tipo SSH-1.99-OpenSSH_2.3.0

62 AICA Corso IT Administrator: modulo 5 AICA © 2005 62 Schema SSH 2.Il server genera un numero casuale di 64 bit (cookie), cui concatena –Dimensione e dati della chiave pubblica del server Rigenerata ogni ora –chiave pubblica dellhost (fissa dallinstallazione) Identifica univocamente quellhost 3.Il client verifica che la chiave pubblica dellhost coincida con quanto memorizzato in precedenza, se no interrompe la comunicazione 4.Il client genera due oggetti: –MD5 a 128 bit di : chiave host + chiave server + cookie –Chiave di sessione : numero casuale a 256 bit

63 AICA Corso IT Administrator: modulo 5 AICA © 2005 63 Schema SSH –Viene eseguito lXOR tra identificativo sessione e i primi 128 bit della chiave di sessione prima generata –Viene cifrata con la chiave pubblica del server e poi con quella pubblica dellhost –Si invia il tutto al server 5.Il server decifra i dati ricevuti, estrae la chiave di sessione che verrà usata per lo scambio di dati (algoritmo simmetrico) Stabilita la connessione inizia la fase di autenticazione –User e password nel caso più semplice Poco sicura (password semplici)

64 AICA Corso IT Administrator: modulo 5 AICA © 2005 64 Schema SSH –Autenticazione RSA o DSA Più sicura 1.Il client indica al server qual è la chiave che vorrà utilizzare 2.Il server genera un challenge (casuale) di 256 bit, lo cifra con la chiave pubblica dellutente e invia il tutto al client 3.Il client usa la chiave privata per decifrare il challenge –Viene di solito chiesta la password allutente che non viene trasmessa, ma usata per la decrittazione della chiave privata dellutente (viene salvata cifrata) –Calcola un digest MD5 del challenge –Lo invia al server

65 AICA Corso IT Administrator: modulo 5 AICA © 2005 65 Schema SSH 4.Il server confronta il digest ricevuto con quello calcolato, se corrispondono considera autenticato lutente

66 AICA Corso IT Administrator: modulo 5 AICA © 2005 66 Problemi con SSH Utilizzo di una crittografia simmetrica debole Mai usare autenticazione basata su nome e password Aggiornare sempre i programmi (preferibile la versione 2)

67 AICA Corso IT Administrator: modulo 5 AICA © 2005 67 Tool SSH Linux, Windows, MacOSX –OpenSSH ssh, ssh-keygen, sshd Google......

68 AICA Corso IT Administrator: modulo 5 AICA © 2005 68 Creare una chiave con OpenSSH Autenticazione tramite crittografia asimmetrica (RSA) Ogni utente deve avere una copia di chiavi (pubblica e privata) e deve fornire la chiave pubblica al server Generazione tramite OpenSSH

69 AICA Corso IT Administrator: modulo 5 AICA © 2005 69 Connessione

70 AICA Corso IT Administrator: modulo 5 AICA © 2005 70 PGP Pretty Goog Privacy : ideato nel 1991 da Phil Zimmerman –Servizi offerti per la posta elettronica Firma elettronica Confidenzialità Compressione Conversione in base 64 GnuPG : versione open source –www.gnupg.org

71 AICA Corso IT Administrator: modulo 5 AICA © 2005 71 PGP 1.Il mittente scrive un messaggio 2.Il mittente crea un hash del messaggio 3.Il mittente cifra lhash con la sua chiave privata 4.Il mittente inserisci lhash cifrato prima del messaggio e trasmette entrambi 5.Il destinatario riceve la posta 6.Il destinatario decifra lhash con la chiave pubblica del mittente 7.Il destinatario rigenera lhash 8.Il destinatario confronta lhash calcolato con quello ricevuto 9.Se i due hash coincidono il messaggio non è stato modificato

72 AICA Corso IT Administrator: modulo 5 AICA © 2005 72 PGP e confidenzialità 1.Il mittente scrive un messaggio 2.Il prog. di trasmissione crea un numero casuale usato per cifrare quel singolo messaggio (chiave di sessione) 3.Il prog. di trasmissione cifra il messaggio con un alg. Simmetrico usando la chiave di sessione 4.La chiave di sessione viene cifrata con la chiave pubblica del destinatario e premessa al messaggio 5.Il messaggio cifrato è inviato al destinatario 6.Il destinatario decifra la chiave di sessione usando al sua chiave privata (solo lui puo farlo) 7.Il destinatario decifra il messaggio

73 AICA Corso IT Administrator: modulo 5 AICA © 2005 73 PGP firma digitale 1.Il mittente scrive un messaggio 2.Il mittente lo firma con il procedimento visto in precedenza Hash + messaggio 3.Il mittente cifra tutto il messaggio con il metodo della confidenzialità 4.Invio al destinatario 5.Il destinatario decifra il messaggio e verifica limpronta

74 AICA Corso IT Administrator: modulo 5 AICA © 2005 74 GnuPG Tool openSource che implementa quanto visto su PGP Diverse versioni Software a linea di comando

75 AICA Corso IT Administrator: modulo 5 AICA © 2005 75 Generare una nuova coppia di chiavi

76 AICA Corso IT Administrator: modulo 5 AICA © 2005 76 Generare una nuova coppia di chiavi GnuPG è in grado di creare diversi tipi di coppie di chiavi, –L'opzione 1 crea in realtà due coppie di chiavi: una coppia di chiavi di tipo DSA che rappresenta la coppia di chiavi primaria ed è utilizzabile solo per firmare; una coppia di chiavi subordinata di tipo ElGamal, usata per criptare. –L'opzione 2 è simile alla precedente ma crea solo una coppia di chiavi DSA. –L'opzione 4[1]crea una singola coppia di chiavi ElGamal utilizzabile sia per firmare che per criptare. In tutti i casi è possibile in un secondo momento creare sotto-chiavi addizionali per cifrature e firme.[1]

77 AICA Corso IT Administrator: modulo 5 AICA © 2005 77 Generare una nuova coppia di chiavi È necessario anche scegliere la dimensione della chiave. –La dimensione di una chiave DSA deve essere compresa fra 512 e 1024 bit –La chiave ElGamal può essere di qualsiasi dimensione. GnuPG richiede che le chiavi non siano più piccole di 768 bit.

78 AICA Corso IT Administrator: modulo 5 AICA © 2005 78 Generare una nuova coppia di chiavi

79 AICA Corso IT Administrator: modulo 5 AICA © 2005 79 Scambiarsi le chiavi

80 AICA Corso IT Administrator: modulo 5 AICA © 2005 80 Esportare una chiave pubblica Per spedire una chiave pubblica ad un corrispondente è necessario prima esportarla. Si usa l'opzione a linea di comando --export. Essa necessita di un ulteriore argomento che identifichi la chiave pubblica da esportare. Così come con l'opzione --gen-revoke, sia l'ID della chiave che ogni altra parte dello User ID possono servire per identificare la chiave da esportare.

81 AICA Corso IT Administrator: modulo 5 AICA © 2005 81 Esportare una chiave pubblica La chieve è esportata in un formato binario –sconveniente quando la chiave viene spedita per posta elettronica o pubblicata in una pagina web. l'opzione a linea di comando --armor[1][1] –forza l'output ad essere generato in un formato protetto da un'armatura ASCII

82 AICA Corso IT Administrator: modulo 5 AICA © 2005 82 Importare una chiave pubblica

83 AICA Corso IT Administrator: modulo 5 AICA © 2005 83 Cifrare e decifrare documenti Opzione --encrypt. È necessario possedere le chiavi pubbliche dei destinatari a cui si intende spedire il messaggio. Il programma si aspetta il nome del documento da cifrare come ingresso –se omesso, legge lo standard input. Il risultato cifrato è stampato sullo standard output oppure dove specificato con l'opzione --output. Il documento, oltre ad essere criptato, viene compresso per ragioni di maggior sicurezza.

84 AICA Corso IT Administrator: modulo 5 AICA © 2005 84 Cifrare e decifrare documenti L'opzione --recipient viene utilizzata una sola volta per ogni destinatario e richiede un argomento extra che specifichi con quale chiave pubblica debba essere criptato il documento. Tale documento può essere decriptato solo da qualcuno in possesso di una chiave privata che complementi una delle chiave pubbliche dei destinatari. In particolare non è possibile decifrare un documento criptato da voi stessi, a meno che non abbiate incluso la vostra chiave pubblica nella lista dei destinatari.

85 AICA Corso IT Administrator: modulo 5 AICA © 2005 85 Cifrare e decifrare documenti Per decriptare un messaggio si usa l'opzione --decrypt. È necessario possedere la chiave privata con la quale era stato cifrato il messaggio. Analogamente al processo di cifratura, il documento da decifrare è l'ingresso e quello decifrato è l'uscita.

86 AICA Corso IT Administrator: modulo 5 AICA © 2005 86 Add-on Enigmail è un "plugin" del client di posta di Mozilla –Permette di automatizzare le operazioni per cifrare, decifrare, firmare la posta –Si appoggia ad una versione command line di GnuPG o PGP. Il plugin è distrubuito sotto licenza GPL ed è liberamente scaricabile all'indirizzo enigmail.mozdev.org.

87 AICA Corso IT Administrator: modulo 5 AICA © 2005 87 Enigmail

88 AICA Corso IT Administrator: modulo 5 AICA © 2005 88 Enigmail Qui potrete configurare l'indirizzo di posta da usare come mittente di default e selezionare la modalità di invio standard delle mail. Potete optare tra: –non utilizzare Enigmail come default (la posta sarà in chiaro e non firmata) –firmare tutti i messaggi in uscita –firmare tutti i messaggi e cifrarli se la chiave pubblica del destinatario è disponibile. La configurazione che sceglierete tra queste verrà utilizzata per decidere cosa fare di default all'invio di ogni singolo messaggio. Potrete inoltre decidere se e per quanto tempo la passphrase che avete inserito per sbloccare la vostra chiave segreta debba essere memorizzata dal sistema: sarebbe opportuno settare questo valore a 0 in modo che la passphrase non venga memorizzata in alcun modo (soprattutto se il computer e' in rete). Questo però costringe potenzialmente a dover inserire la passphrase ogni volta che viene spedita una mail e questo può diventare fastidioso. Da questa finestra è anche possibile disinstallare il programma oppure aggiornarlo automaticamente.

89 AICA Corso IT Administrator: modulo 5 AICA © 2005 89

90 AICA Corso IT Administrator: modulo 5 AICA © 2005 90 Enigmail Inserire il percorso per raggiungere l'eseguibile del vostro programma di cifratura. Cambiare la configurazione del keyserver indicando "keyserver.autistici.org" invece del valore di default (www.keyserver.org), questo vi permetterà di interfacciare direttamente Enigmail con il keyserver di autistici.org.

91 AICA Corso IT Administrator: modulo 5 AICA © 2005 91 Generare Le Chiavi menù di enigmail e selezionate "genenate key". Vi sarà presentata una finestra che vi permette di scegliere l'account per cui generare le chiavi (dovete aver quindi già configurato correttamente il vostro client di posta) e inserire la passphrase (è anche possibile non inserirla, ma, a meno che non siate tassativamente ed assolutamente certi che nessuno possa accedere in alcun modo al vostro computer, il consiglio è non abilitare mai questa possibilità che e' altamente insicura e deprecata.). Una volta terminato l'inserimento dei dati la chiave verrà creata e automaticamente inserita nel vostro keyring. E' comunque consigliabile creare la chiave utilizzando il software di cifratura su cui avete scelto di basarvi, avrete più controllo sul tipo di chiave che andrete a creare e sulla sua dimensione.

92 AICA Corso IT Administrator: modulo 5 AICA © 2005 92 Utilizzo Integrato nell'interfaccia del client di posta di Mozilla. Il menù contestuale alla finestra di lettura delle e-mail presenta le seguenti voci relative alla gestione della posta (da qui è possibile inoltre accedere ai menu di configurazione e all'help):

93 AICA Corso IT Administrator: modulo 5 AICA © 2005 93 Utilizzo Decrypt/Verify: permette di decifrare o verificare la firma di un messaggio ricevuto; Import Public Key: permette di importare una chiave pubblica contenuta in un messaggio ricevuto (in formato Armored PGP); Save decrypted Message: decifra e salva un messaggio cifrato; --------------------- Automatically Decrypt/Verify: se abilitata questa funzione fa si' che i messaggi vengano decifrati e verificati in maniera automatica non appena vengono aperti, richiedendo, se necessario, la passphrase per sbloccare la chiave privata; --------------------- Clear saved passphrase: serve a cancellare dalla cache di sistema la passphrase appena inserita.

94 AICA Corso IT Administrator: modulo 5 AICA © 2005 94 S/MIME S/MIME (Secure/Multipurpose Internet Mail Extensions) è una proposta di standard per la crittografazione e firma dei messaggi di posta elettronica. Utilizza RSA, RC2 e MD5 per la crittografazione e firma e certificati digitali nel formato X.509. La versione 2 è descritta in due documenti: –RFC 2311: S/MIME Version 2 Message Specification. –RFC 2312: S/MIME Version 2 Certificate Handling. Le implementazioni reperibili, dovendo sottostare alle restrizioni di esportazione dagli Stati Uniti, fanno uso di chiavi di lunghezza inadeguata (512 bit per RSA e 40 bit per RC2). (In un report di alcuni eminenti crittografi, Minimal Key Lenghts for Symmetric Ciphers to Provide Adequate Commercial Security, una chiave di 40 bit viene dichiarata decrittabile in una settimana facendo uso di un comune PC). Per questo motivo non sembra probabile che la versione 2 venga accettata come standard IETF (è in preparazione la versione 3). Dopo la pubblicazione dei sorgenti di Netscape Communicator v5 sono disponibili versioni (al momento per alpha, sun, linux e windows) con algoritmi prima riservati al mercato USA. (Sarebbe possibile anche con la versione 4.04, ma è necessaria una modifica dell'eseguibile, proibita dalla licenza d'uso).

95 AICA Corso IT Administrator: modulo 5 AICA © 2005 95 Operatività Netscape Communicator (4.x) e Microsoft Outlook (fornito con Internet Explorer 4) sono entrambi in grado di generare messaggi di questo tipo (compatibili tra di loro). L la crittazione e decrittazione viene eseguita in modo trasparente, come pure la gestione dei certificati dei destinatari, che vengono automaticamente scaricati dai messaggi ricevuti. Manca una gestione automatica delle CRL (è prevista invece, almeno per Netscape, per i certificati dei server web). Sebbene le chiavi generate da Communicator siano di 512 bit, è possibile utilizzarne di prodotte esternamente da 1024 bit (tramite SSLeay); lo stesso non sembra possibile con Outlook (per ulteriori dettagli vedere il documento specifico).

96 AICA Corso IT Administrator: modulo 5 AICA © 2005 96 Operatività Il problema principale, prescindendo dalla bassa sicurezza, è legato alla necessità dell'esistenza di un certificato per ogni destinatario. Fintanto che tutti i possibili destinatari non saranno certificati da una qualche CA (situazione per ora ben lontana dall'essere realizzata) questo metodo si presta bene solo per la corrispondenza all'interno di una singola organizzazione, che può abbastanza facilmente organizzarsi come CA.

97 AICA Corso IT Administrator: modulo 5 AICA © 2005 97 Operatività Un ipotetico scenario di utilizzo è il seguente: –L'utente scarica nel propio browser il certificato della CA INFN (interattivamente, o, se paranoico, con altri metodi). –L'utente richiede interattivamente il proprio certificato, che gli viene spedito per e-mail. Una volta che lo ha caricato nel proprio browser (Netscape 4.x) è pronto per inviare mail firmati e crittografati ad altri corrispondenti muniti di un certificato (non necessariamente della stessa CA: in questo caso è necessario procurarsi anche il certificato della CA). –Lo scarico dei certificati dei corrispondenti può avvenire interattivamente (se certificati dalla CA INFN o inseriti in una delle directory LDAP include nel browser) o automaticamente alla ricezione del primo mail firmato dallo stesso.

98 AICA Corso IT Administrator: modulo 5 AICA © 2005 98 SSL (Secure Socket Layer) Proposto da Netscape Communications Protocollo di trasporto sicuro (circa livello sessione): – autenticazione (server, server+client) – riservatezza dei messaggi – autenticazione ed integrità dei messaggi – protezione da replay e da filtering Applicabile a HTTP, SMTP, NNTP, FTP, TELNET,... – HTTP sicuro (https://....) = TCP/443 – NNTP sicuro = TCP/563 Dettagli : http://telemat.die.unifi.it/book/Internet/Security/elab3.htm

99 AICA Corso IT Administrator: modulo 5 AICA © 2005 99 Porte SSL nsiiops 261/tcp # IIOP Name Service over TLS/SSL https 443/tcp # http protocol over TLS/SSL smtps 465/tcp # smtp protocol over TLS/SSL (was ssmtp) nntps 563/tcp # nntp protocol over TLS/SSL (was snntp) imap4-ssl 585/tcp # IMAP4+SSL (use 993 instead) sshell 614/tcp # SSLshell ldaps 636/tcp # ldap protocol over TLS/SSL (was sldap) ftps-data 989/tcp # ftp protocol, data, over TLS/SSL ftps 990/tcp # ftp protocol, control, over TLS/SSL telnets 992/tcp # telnet protocol over TLS/SSL imaps 993/tcp # imap4 protocol over TLS/SSL ircs 994/tcp # irc protocol over TLS/SSL pop3s 995/tcp # pop3 protocol over TLS/SSL (was spop3) msft-gc-ssl 3269/tcp # MS Global Catalog with LDAP/SSL

100 AICA Corso IT Administrator: modulo 5 AICA © 2005 100 SSL - autenticazione e integrità Apertura del canale: –Il server si autentica presentando la propria chiave pubblica (certificato X.509) e subendo un challenge asimmetrico –Lautenticazione del client (con chiave pubblica e certificato X.509) è opzionale Autenticazione e integrità dei dati scambiati: –keyed digest (MD5 o SHA-1) –MID per evitare replay e cancellazione

101 AICA Corso IT Administrator: modulo 5 AICA © 2005 101 SSL - riservatezza il client genera una session key utilizzata per la cifratura simmetrica dei dati (RC2, RC4, DES, 3DES o IDEA) la chiave viene comunicata al server cifrandola con la chiave pubblica del server (RSA, Diffie Hellman o Fortezza-KEA)

102 AICA Corso IT Administrator: modulo 5 AICA © 2005 102 SSL - handshake


Scaricare ppt "AICA Corso IT Administrator: modulo 5 AICA © 2005 1 EUCIP IT Administrator Modulo 5 - Sicurezza Informatica 2 - Crittografia."

Presentazioni simili


Annunci Google