La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Gestione delle chiavi Distribuzione delle chiavi pubbliche Uso dei protocolli a chiave pubblica per distribuire chiavi segrete.

Presentazioni simili


Presentazione sul tema: "Gestione delle chiavi Distribuzione delle chiavi pubbliche Uso dei protocolli a chiave pubblica per distribuire chiavi segrete."— Transcript della presentazione:

1 Gestione delle chiavi Distribuzione delle chiavi pubbliche Uso dei protocolli a chiave pubblica per distribuire chiavi segrete

2 Distribuzione delle chiavi pubbliche Annuncio pubblico Elenco pubblico Autorità di distribuzione Certificati

3 Annuncio pubblico Lutente rende di pubblico dominio la propria chiave pubblica Pubblicazione chiavi: –Tutti possono pubblicare la propria chiave Accesso: –Tutti possono accedere alle chiavi degli altri

4 Utente A K pub A Utente B K pub B Ad esempio: la chiave pubblica viene messa in allegato ai messaggi di posta elettronica

5 Annuncio pubblico Vantaggi –Semplice, veloce, non necessita di intermediari Svantaggi –Nessuna garanzia: lannuncio può essere facilmente alterato. Lintruso può pubblicare la propria chiave pubblica a nome di un altro utente !

6 Elenco pubblico (directory) Directory mantenuta da unentità fidata (authority) Pubblicazione chiavi: –Ogni partecipante registra la propria chiave presso lauthority (di persona o in modo sicuro) –Può aggiornarla nello stesso modo in qualsiasi momento

7 Utente A K pub A Utente B K pub B Elenco chiavi pubbliche

8 Elenco pubblico Accesso: –Pubblicazione periodica della directory (ad esempio su un periodico ad ampia diffusione) –Accesso diretto alla directory tramite comunicazione elettronica (occorre una comunicazione autenticata e sicura)

9 Elenco pubblico Vantaggi –Garantisce lidentità dei partecipanti che devono autenticarsi con lauthorithy per poter pubblicare una chiave. Svantaggi –Necessita di unentità fidata super-partes: authority –Necessita di protocolli di comunicazione sicuri per la pubblicazione e laccesso alle chiavi –La Directory può essere violata

10 Autorità di distribuzione Directory mantenuta da una Authority che ne ha laccesso esclusivo. Controllo più rigido sulla distribuzione delle chiavi rispetto alla tecnica dellelenco pubblico. Pubblicazione chiavi: –Le chiavi vengono registrate presso lAuthority in maniera sicura (es: di persona)

11 AB Autorità di distribuzione 1 req,t 1 2 K Aut (K pubB,req,t 1 ) 3 K PubB (ID A,N 1 ) 4 req,t 2 5 K Aut (K pubA,req,t 2 ) 6 K PubA (N 1,N 2 ) 7 K PubB (N 2 )

12 Autorità di distribuzione Vantaggi –Garantisce lidentità dei partecipanti e lattualità delle chiavi Svantaggi –Necessita di unentità fidata super-partes che va interpellata per ogni nuovo partecipante –La Directory può essere violata

13 Certificati Lautenticità delle chiavi è certificata da una Autorità Pubblicazione chiavi: –Linteressato riceve la certificazione della propria chiave pubblica tramite una comunicazione autenticata con lAuthority

14 AB Autorità di certificazione K PubA C A =K Aut (t 1,ID A, K pubA ) C A =K Aut (t 2,ID B, K pubB ) K pubB CACA 1 CBCB 2

15 Certificati Vantaggi –Garantisce lidentità dei partecipanti e lattualità delle chiavi (mitiga il problema del furto della chiave privata) –Elimina il collo di bottiglia determinato dallautorità di distribuzione. Svantaggi –Necessita di unentità fidata super-partes che possa certificare in maniera sicura

16 Distribuzione delle chiavi segrete Crittografia a chiave pubblica relativamente lenta Una volta distribuite le chiavi pubbliche le uso per distribuire le chiavi segrete

17 Un primo protocollo 1.A genera (K pubA, K privA ) A B: K pubA,ID A B genera Ks B A: K pubA (K s ) Si scartano (K pubA, K privA )

18 Garantisce riservatezza ma non autenticazione Es.: Man in the middle attack 1. A E: K pubA,ID A 2. E B: K pubE,ID A 3. B E: K pubE (K s ) 4. E A: K pubA (K s ) Un primo protocollo

19 Un secondo protocollo: chiavi pubbliche già distribuite. Le chiavi pubbliche sono già state distribuite Per autenticazione: 1.A B: K pubB (ID A,N 1 ) 2.B A: K pubA (N 1,N 2 ) 3.A B: K pubB (N 2 )

20 Un secondo protocollo: chiavi pubbliche già distribuite. A genera K s e la spedisce a B: A B:K pubB (K privA (K s )) Vantaggi –Garantisce riservatezza ed autenticazione Svantaggi –Computazionalmente pesante

21 Uno schema ibrido Cè un Key Distribution Center che distribuisce le chiavi di sessione usando una Ks principale La chiave principale viene aggiornata usando un sistema a chiave pubblica Usato da alcuni mainframe IBM

22 Uno schema ibrido Vantaggi –Garantisce riservatezza ed autenticazione –Mantiene buone prestazioni anche con forte ricambio delle chiavi per molti utenti Svantaggi –Richiede la presenza di un KDC sicuro

23 Lunghezza delle chiavi Pesantezza dei protocolli dipende dalla lunghezza della chiave Chiave serve lunga per contrastare brute force attack Attenzione a non spedire con K pub messaggi troppo corti!

24 SSL Secure Socket Layer

25 SSL: applicazioni telematiche E-commerce Trading on-line Internet banking......

26 SSL Protocollo proposto dalla Netscape Communications Corporation Garantisce confidenzialità e affidabilità delle comunicazioni su Internet Protegge da intrusioni, modifiche o falsificazioni.

27 SSL Confidenzialità + Autenticazione. Sistema ibrido. Ibrido: Cifrari Simmetici + Cifrari Asimmetrici + Cerificati + MAC

28 Utente U: Client Sistema S: Server TCP/IP HTTP SSL HTTPS

29 SSL Handshake SSL Record SSL SSL Handshake crea un canale sicuro, affidabile e autenticato tra U e S entro il quale SSL record fa viaggiare i messaggi incapsulandoli in blocchi cifrati e autenticati.

30 SSL Handshake e SSL Record Handshake: definisce il canale ovvero una suite crittografica che contiene i meccanismi di cifratura e autenticazione e le relative chiavi. Record implementa il canale utilizzando la suite per cifrare e autenticare i blocchi prima di darli in pasto a TCP.

31 Client U Server S - Client hello - Pre-master secret - Cert. del Client - Finished - Scambio sicuro dati - Server hello - Cert. del Server - Rich. Cert. Client - Server hello done - Finished Handshake Record

32 Client hello U manda a S un msg richiedendo una connessione SSL. U specifica le prestazioni di sicurezza desiderate. –Versione del protocollo SSL supportato. –Lista di algoritmi di compressione supportati. –Cipher Suite: SSL_RSA_WITH_3DES_EDE_CBC_SHA RSA: scambio chiavi di sessione 3DES_EDE_CBC: cifratura simmetrica SHA: funzione hash one-way per MAC U allega una sequenza di byte casuali.

33 Server hello S riceve il msg (client hello) da U S selezione un algoritmo di compressione tra quelli elencati da U. S seleziona dalla cipher suite inviata da U una cipher suite comune (tra U e S). S invia a U un msg (server hello) contenente gli elementi selezionati e una nuova sequenza di byte casuali. Se U non riceve il msg server hello interrompe la comunicazione.

34 Scambio di Certificati S si autentica con U inviandogli il proprio certificato digitale (sequenza di certificati emessi da diverse CA). Se i servizi offerti da S devono essere protetti negli accessi, S può richiedere a U di inviargli il suo certificato (autenticazione di U con S).

35 Server hello done S invia il msg server hello done a U. server hello done sancisce la fine della fase in cui ci si accorda sulla cipher suite e sui parametri crittografici.

36 Autenticazione di S con U U controlla la validità della data del certificato ricevuto da S. U controlla che la CA che ha firmato il certificato sia tra quelle di cui si fida e che la firma sia autentica. Se S spedisce una lista di certificati si controlla lintera lista.

37 Invio del pre-master secret Costruzione del master secret U costruisce un pre-master secret P (nuova sequenza di byte casuali codificati con il cifrario a chiave pubblica concordato con S. Nellesempio U usa RSA e la chiave pubblica di S contenuta nel certificato) U spedisce P a S dopo averlo cifrato con la chiave pubblica di S contenuta nel certificato e lalgoritmo concordato. U combina P con alcune stringhe note + byte casuali contenuti in client hello e server hello e codifica il tutto con SHA e MD5 ottenendo il master secret M.

38 Ricezione di P e costruzione di M S decifra il msg di U e ottiene P. S calcola M nello stesso modo con cui U aveva calcolato M a partire da P. Nota: S può farlo perché dispone delle stesse informazioni di cui dispone U.

39 Invio del certificato di U (opzionale) Quando richiesto da S, U gli invia il suo certificato. Se non lo possiede si interrompe il protocollo. Insieme al certificato U allega, e firma con la sua chiave privata, la SSL-history. S controlla il certificato e in caso di anomalie interrompe il protocollo.

40 U: Finished U invia a S il msg finished protetto utilizzando M. Costruzione di finished: F U = M + tutti msg di handshake scambiati finora + identità di U U codificando F U con SHA e MD5 e lo invia a S.

41 S: Finished S verifica il msg finished di U ricalcolando il tutto. S invia a U il suo msg finished protetto utilizzando M. Costruzione di finished: F S = M + tutti msg di handshake scambiati finora (incluso il msg finished di U) +identità di S. S codifica F S con SHA e MD5 e lo invia a U. U verifica il msg finished ricevuo da S.

42 A cosa serve M ? S e U utilizzano M per generare le chiavi (sia per il cifrario simmetrico sia per le funzioni MAC) e per altri scopi... Nota: Le chiavi utilizzate da S e U sono diverse ma note ad entrambi. Ciò rende il protocollo ancora più sicuro.

43 SSL record I dati vengono frammentati in parti di lunghezza opportuna. Ogni blocco viene numerato, compresso, autenticato con MAC, cifrato con chiave segreta e trasmesso usando il protocollo di trasporto sottostante (esempio: TCP). Il destinatario opera in modo inverso al mittente e restituisce il messaggio allapplicazione sovrastante (esempio: HTTP).

44 Client Hello e Server Hello In questa fase U e S si scambiano byte casuali (diversi ogni volta). M è funzione di queste sequenze di byte casuali. Lintruso non può riutilizzare i msg di handshake di sessioni precedenti per impersonare S in una successiva sessione con U (attacco di reply).

45 MAC in SSL record Ogni blocco viene numerato e autenticato con MAC. MAC= H(blocco, numero, K, stringhe note) numero = 64 bit. No ripetizioni allinterno della stessa sessione !!! Si previene così facendo luso fraudolento e iterato dello stesso blocco nella stessa sessione Se un blocco viene perduto i blocchi successivi vanno ricreati e rispediti. MAC sono cifrati insieme al messaggio con chiave simmetrica.

46 Autenticazione di S S si autentica con uso di certificato. No men in-the-middle attack. Il pre-master secret viaggia da U a S in modo sicuro in quanto U usa la chiave pubblica di S contenuta nel certificato.

47 Possibile autenticazione di U Se richiesto U può autenticarsi mediante invio del suo certificato. In pratica: Il sistema dispone di certificati mentre gli utenti di solito no. Quando richiesto per autenticare U si procede con login e password.

48 Messaggi Finished Questi messaggi vengono costruiti in base al master secret e contengono tutte le informazioni che i due partner si sono scambiati durante la fase di handshake. Permettono a U e S di effettuare un controllo ulteriore sulle comunicazioni avvenute e di accertarsi di possedere lo stesso master secret. Permettono a U e S di accertarsi che non ci sia stato un attacco di tipo man in-the -middle.

49 Generazioni Sequenze Casuali Sono contenute in client hello, server hello e pre- master secret. Da loro dipendono fortemente il master secret e quindi le chiavi segrete di sessione. La sequenza contenuta nel pre-master secret è inviata da U a S in modo cifrato e la sua impredicibilità è cruciale per la sicurezza del canale SSL. Se il generatore di sequenze pseudo-casuali non è di qualità lintero protocollo si indebolisce.

50 Conclusioni SSL è sicuro quanto la più debole cipher suite da esso supportata. Sarebbe meglio disabilitare nel proprio browser tutti i protocolli con chiavi troppo corte (esempio: cifrari simmetrici con chiavi a 40 bit e asimmetrici con chiavi fino a 512 bit) Non effettuare connessioni con sistemi anonimi perché si rischia che la propria password venga estorta !!!

51

52

53 PGP Pretty Good Privacy

54 PGP

55 PGP È un programma freeware (nella sua versione base) È basato su tecniche crittografiche sia di tipo simmetrico che asimmetrico (ibrido) Viene utilizzato principalmente per proteggere da occhi indiscreti le informazioni digitali (sia messaggi di posta elettronica che file residenti sul proprio PC) Permette la firma digitale.

56 Un po di storia Nel 1991 al Senato americano approda un disegno di legge anticrimine che prevede lobbligo per i produttori di strumenti crittografici di inserire trap doors nei loro prodotti. Prima che la legge venga approvata, Philip R. Zimmermann scrive e distribuisce PGP.

57 Un po di storia Zimmermann viene accusato di aver violato le leggi sui brevetti in quanto in PGP viene utilizzato RSA. Inoltre il governo americano lo accusa di violare lITAR (International Traffic in Arms Regulations) che prevede il divieto di esportazione per le tecnologie crittografiche e quindi anche dei programmi software che le implementano Viene istituito un fondo per far fronte alle spese legali Le accuse vengono ritirate

58 PGP Creazione delle chiavi. Cifratura/decifratura e firma/verifica di documenti digitali (es. ). Gestione delle chiavi Creazioni di self-decrypting archives (SDAs) Cancellazione permanente di file, directory e spazio su disco Creazione di VPN (Virtual Private Network)

59 Chiavi PGP utilizza sia protocolli a chiave segreta che protocolli a chiave pubblica. Approssimativamente: –chiavi segrete 80 bit equivalenti chiavi pubbliche 1024 bit –chiavi segrete 128 bit equivalenti chiavi pubbliche 3000 bit Chiavi segrete a 56 bit non sicure Chiavi segrete a 128 bit sicure, ma non con calcolatori quantistici...che non esistono (e probabilmente non esisteranno mai) Chiavi segrete a 256 bit sicure comunque !!! Anche se

60 Passphrase Lerba del vicino è sempre più verde PGP Utente Passphrase: serve allutente quando si rende Necessario luso della chiave privata. Più facile Da ricordare. Da non dimenticare !!! Chiave privata certyunemcpo3456n3g6kg3636g6ng6 Chiave pubblica 7ecngnkwgmiml5g\h7kk7kikfkhlghk Memorizzata in modo sicuro.

61 Algoritmi usati in PGP Chiave privata (simmetrici): –CAST –Triple-DES –IDEA –Two Fish (AES) Chiave pubblica (asimmetrici): –DSS (digital Signature Standard) –RSA Hash: –SHA1 (Secure Hash Algorithm)

62 Codifica Mittente: 1.comprime il documento da spedire. 2.genera una chiave K s segreta che viene detta chiave di sessione. 3.codifica il documento compresso utilizzando K s. 4.si procura la chiave pubblica del destinatario K p 5.codifica K s usando K p 6.spedisce documento codificato con K s e la chiave segreta codificata con K p

63 Decodifica Destinatario: 1.usando la propria chiave privata accede alla chiave segreta di sessione. 2.usando la chiave segreta di sessione decodifica il messaggio. 3.decomprime il messaggio. Compressione e decompressione rafforzano il Protocollo !!!

64 Ciao, sono un file non compresso e sto per essere codificato 74c4cch Kc98xac S785Jc 44DBN Compressione e perdita di struttura! codifica Vantaggi: -No attacchi statistici -Minori dimensioni

65 Firma Mittente: 1.crea impronta del msg (digest) usando una funzione hash. 2.usa la propria chiave segreta K s per firmare il digest. 3.spedisce il msg + digest firmato

66 Verifica Destinatario: 1.usando la propria chiave pubblica K p decodifica il digest. 2.verifica la firma ricalcolando la funzione hash sul msg e confrontando il risultato con il digest appena decodificato.

67 Certificati digitali Problema: la chiave pubblica con la quale stiamo cifrando deve appartenere realmente al destinatario del messaggio. Si pone il problema dello scambio delle chiavi (man-in-the-middle attack). I certificati digitali vengono usati per evitare che qualcuno tenti di spacciarsi per unaltra persona sostituendone la chiave pubblica.

68 Certificati digitali Componenti principali di un certificato digitale. 1. La chiave pubblica di U 2. Informazioni inerenti allidentità di U (nome, cognome, data e luogo di nascita, …) 3. firma digitale di chi rilascia il certificato. Scopo del certificato: mettere in relazione U con la sua chiave pubblica.

69 Fotografia + Dati personali Timbri = Fidati ! La foto Corrisponde ai dati personali Certificati Cartacei

70 Distribuzione dei certificati 1.Manuale o di persona. Quasi mai realizzabile in pratica ! (passaporto: distribuzione manuale) 2.Generati, Custoditi e distribuiti da entità fidate. – Certificate servers – Public Key Infrastructures (PKI)

71 Certificate servers Database disponibili su rete. Permettono agli utenti di richiedere linserimento del proprio certificato nel database. richiedere il certificato di qualcuno. PGP ha un certificate server chiamato: PGP keyserver

72 PKIs Svolgono le funzioni dei certificate servers + emettono certificati; revocano certificati; gestiscono la fiducia sui certificati (trust) PKI = Registration Authority (RA) + Certification Authority (CA)

73 PKIs RA: esegue i controlli prima di emettere il certificato (entità fisiche, persone, …) CA: emette/genera il certificato (software)

74 Formato dei certificati PGP riconosce due formati di certificato: –Certificati in formato PGP –Certificati in formato X.509 (standard internazionale: tutte le applicazioni in linea teorica dovrebbero riconoscerlo e supportarlo anche se in pratica esistono molte varianti dello standard X.509 che lo rendono … non standard)

75 Certificato di U in formato X.509 Numero di versione dello standard X.509 utilizzato. Chiave pubblica di U. Caratteristiche della chiave (lunghezza, algoritmo con cui è stata creata, data di creazione, durata della chiave…) Numero del certificato. Serve ad esempio per la revoca (CRL) Distinguished name (DN): identificativo di U su tutta la rete. Periodo di validità del certificato (inizio e fine validità). Il nome di chi ha firmato il certificato (di solito una CA), la sua firma digitale e lalgoritmo usato per apporre la firma.

76 Gestione dei Certificati: Netscape

77

78

79 Certificato di U in formato PGP Numero di versione PGP. Chiave pubblica di U. Caratteristiche della chiave (lunghezza, algoritmo con cui è stata creata, data di creazione, durata della chiave…) Informazioni sullidentità di U: nome, cognome, luogo e data di nascita, foto, … Self-signature: chiave pubblica di U firmata con la chiave privata di U. Indicazione dellalgoritmo simmetrico di codifica preferito (Es: CAST, IDEA, Triple-DES). Altre firme…..

80 PGP Vs X.509 PGPX.509 U crea il proprio certificato U richiede alla CA di creare il suo certificato Identità di U multiplaIdentità di U singola Firme multiple per attestare la validità del certificato Firma singola per attestare la validità del certificato

81 Luciano Margara L. Margara Luciano L.M. Struttura di un certificato PGP

82 Come distinguere tra chiavi autentiche e chiavi false Certificati X.509: Per determinare se il certificato è autentico e quindi usabile occorre fidarsi della CA. La CA deve essere una entità fidata. Dobbiamo fidarci della validazione della chiave effettuata dalla CA Problema: CA = collo di bottiglia.

83 Come distinguere tra chiavi buone e chiavi false Certificati PGP: Per determinare se il certificato è autentico e quindi usabile occorre fidarsi di altri utenti che hanno validato la chiave. Ogni utente può essere visto come una CA. Dobbiamo fidarci della validazione della chiave effettuata da altri utenti. Problema: di quali utenti ci fidiamo ?

84 PGP: Validity and Trust Obiettivo: validare un certificato (una chiave pubblica) ovvero assegnare a un certificato un valore che misuri quanto io reputi vero quel certificato. Metodo: - controllo di persona in qualche modo. - mi fido di controlli fatti da altri soggetti (trusted).

85 PGP: Validity and Trust 1.Mi fido di me stesso (sono un soggetto Trusted)! Assegno alle chiavi che ho potuto controllare direttamente di persona il giudizio Valid. 2.Assegno un valore di fiducia (trust) agli utenti: – Trust – Marginal trust – No trust 3.PGP assegna ad una chiave un valore di validità: – Valid – Marginally valid – Invalid in base ai giudizi espressi da altri utenti su quella chiave e al valore di trust che io ho assegnato a quegli utenti. Non transitivo!!!

86 Francesco Certificato di Francesco Chiave Pubblica di Francesco Altre Informazioni INVALID Marco Trust Certificato di Francesco Chiave Pubblica di Francesco Altre Informazioni VALID

87 Francesco Martina Marginal trust Certificato di Francesco Chiave Pubblica di Francesco Altre Informazioni INVALID Alice Marginal trust Certificato di Francesco Chiave Pubblica di Francesco Altre Informazioni VALID


Scaricare ppt "Gestione delle chiavi Distribuzione delle chiavi pubbliche Uso dei protocolli a chiave pubblica per distribuire chiavi segrete."

Presentazioni simili


Annunci Google