• Elementi di Crittografia • 31-05-2016 Certificati, Infrastrutture a Chiave Pubblica, SSL/TLS Barbara Masucci Dipartimento di Informatica Università di Salerno [email protected] http://www.di.unisa.it/professori/masucci Distribuzione chiavi pubbliche § Come vengono distribuite le chiavi pubbliche? § Chi ci assicura che una chiave pubblica è quella di un prefissato utente? Barbara Masucci - DI – Università di Salerno 1 Distribuzione chiavi pubbliche Alcune tecniche: § Annuncio pubblico § Directory pubblica § Autorità per le chiavi pubbliche § Certificati per le chiavi pubbliche Barbara Masucci - DI – Università di Salerno 2 • 1 • Elementi di Crittografia • 31-05-2016 Annuncio pubblico Pubblicizzare la propria chiave pubblica § Scambio diretto con la controparte § Sul sito web § In allegato alle e-mail § Bacheche elettroniche Problema § Possiamo fidarci dell’annuncio? 3 Barbara Masucci - DI – Università di Salerno Directory pubblica Entità fidata: § Gestisce la directory di chiavi pubbliche Public-key directory Ogni partecipante: § Registra la propria chiave pubblica § Di persona o in modo autenticato PKAlice PKBob § Può aggiornare la propria chiave § Se usata da troppo tempo o compromessa Alice Problema: § Se viene violata l’entità fidata… Bob Barbara Masucci - DI – Università di Salerno 4 Autorità per le chiavi pubbliche § Gestisce directory di chiavi pubbliche § Ha una chiave pubblica nota a tutti gli utenti § Ogni utente chiede la chiave pubblica desiderata, l’autorità la invia § Svantaggi: § server on-line § collo di bottiglia Barbara Masucci - DI – Università di Salerno 5 • 2 • Elementi di Crittografia • 31-05-2016 Certificati § Mondo fisico § Carta di identità § Un’autorità riconosciuta lega un nome ad una foto § Mondo digitale § Certificato digitale § Un’autorità riconosciuta lega un nome ad una chiave pubblica Questa chiave è di Alice A.C. Barbara Masucci - DI – Università di Salerno 6 Certificati PKA è la chiave pubblica di Alice Firmato Autorità di Certificazione Autorità di Certificazione: Terza parte fidata la cui firma garantisce il legame tra chiave ed identità Alcune proprietà dei certificati: § Ognuno può leggerli e determinare nome e chiave pubblica § Ognuno può verificarli ed assicurarsi dell’autenticità § Solo l’Autorità può crearli ed aggiornarli Barbara Masucci - DI – Università di Salerno 7 Certificati § Esempi di altri dati in un certificato: § periodo di validità chiave pubblica § numero seriale o identificatore chiave § info addizionali su chiave (ad es., algoritmi ed utilizzo) § info addizionali su utente § stato della chiave pubblica § Formato più diffuso: definito dallo standard internazionale ITU-T X.509 Barbara Masucci - DI – Università di Salerno 8 • 3 • Elementi di Crittografia • 31-05-2016 Public Key Infrastructure (PKI) Una PKI o infrastruttura a chiave pubblica è l’insieme di § hardware, software, personale, procedure e politiche Necessari per § creare, gestire, memorizzare, distribuire e revocare Certificati Digitali 9 Barbara Masucci - DI – Università di Salerno Entità coinvolte in una PKI § Certification Authority (CA) che rilascia e gestisce i certificati § Certificate holder che utilizzano i certificati per firmare, cifrare e identificarsi § Client che verificano firme digitali e certification paths § Repositories che forniscono certificati e Certificate Revocation List (CRL) 10 Barbara Masucci - DI – Università di Salerno Richiesta Certificati Ri i ch t es a r ce tif a ic , to tim r Ce t es tif am p Autorità di Certificazione oA at ic Alice Barbara Masucci - DI – Università di Salerno Ri Ce rt if ch ie ic at o B st a ce rt if ic at o, tim es ta mp Bob 11 • 4 • Elementi di Crittografia • 31-05-2016 Scambio Certificati Autorità di Certificazione CertificatoA Alice CertificatoB Bob Barbara Masucci - DI – Università di Salerno 12 Revoca di certificati § Che succede se la chiave privata viene compromessa? § L’utente può richiedere la revoca del certificato Barbara Masucci - DI – Università di Salerno 13 Revoca Certificati: Metodi § Data scadenza dentro un certificato § Certificati “a breve scadenza” § Notifica manuale § Informazione tramite canali speciali § Solo per sistemi piccoli o chiusi § File pubblico di chiavi revocate § Certificate Revocation List (CRL) § Certificato di revoca § Sostituisce certificato revocato nella directory Barbara Masucci - DI – Università di Salerno 14 • 5 • Elementi di Crittografia • 31-05-2016 Certificate Revocation List (CRL) § Lista firmata dalla CA contenente: § numeri seriali dei certificati emessi revocati § ma non ancora scaduti § quando è avvenuta la revoca § altro (per es., motivi) § La data della CRL indica quanto sia aggiornata 15 Barbara Masucci - DI – Università di Salerno Diverse CA CA1 CA2 A B B Alice Non so la chiave pubblica di CA2 Non posso verificare il certificato di Bob Bob 16 Barbara Masucci - DI – Università di Salerno Diverse CA CA1 CA2 A B A Alice Non so la chiave pubblica di CA1 Non posso verificare il certificato di Alice Barbara Masucci - DI – Università di Salerno Bob 17 • 6 • Elementi di Crittografia • 31-05-2016 Diverse CA CA1 <<CA2>> CA2 <<CA1>> CA1 X<<Y>> certificato per utente Y creato dalla Autorità X CA2 A B B Alice Non so la chiave pubblica di CA2 Non posso verificare il certificato di Bob Bob 18 Barbara Masucci - DI – Università di Salerno Diverse CA CA1 <<CA2>> CA2 <<CA1>> CA1 CA2 A B CA1 <<CA2>> B Alice CA1 <<CA2>> CA2 <<B>> Bob Posso verificare il certificato di Bob 19 Barbara Masucci - DI – Università di Salerno Diverse CA CA1 CA1 <<CA2>> CA2 <<CA1>> A CA2 CA2 <<CA1>> B A Alice CA2 <<CA1>> CA1 <<A>> Posso verificare il certificato di Alice Barbara Masucci - DI – Università di Salerno Bob 20 • 7 • Elementi di Crittografia • 31-05-2016 Vulnerabilità di TCP/IP Internet Alice Bob Problema: § I dati transitano “in chiaro” sulla rete e sono Barbaravisibili Masucci - da DI – tutti Università di Salerno 21 Secure Socket Layer (SSL) Internet SSL S SS SL L ? Alice Soluzione: Bob § I dati transitano in forma “protetta” Barbara Masucci - DI – Università di Salerno 22 Motivazioni § TCP/IP permette di leggere ed alterare i dati che vengono inviati in rete § Le informazioni scambiate tra due applicazioni su Internet passano attraverso vari nodi § Molti servizi richiedono il supporto delle stesse proprietà § Autenticazione, Integrità, Confidenzialità Barbara Masucci - DI – Università di Salerno 23 • 8 • Elementi di Crittografia • 31-05-2016 Il protocollo SSL § SSL = Secure Socket Layer § Socket = Network API § Fornisce strumenti di sicurezza alle applicazioni che usano il protocollo TCP/IP § Molti altri protocolli basano la propria sicurezza su SSL § HTTP, IMAP, SMTP, etc Barbara Masucci - DI – Università di Salerno 24 Caratteristiche di SSL § Garantisce l’autenticazione di entrambi gli endpoint di una comunicazione § Ad es., Server e Client § Cifra i dati prima di inviarli su un canale pubblico § Garantisce l’integrità dell’informazione § È stato progettato per essere efficiente § I principali algoritmi crittografici utilizzati vengono negoziati tra le parti Barbara Masucci - DI – Università di Salerno 25 Diffusione di SSL § Commercio elettronico § Ordinazioni: le form con cui si ordina un prodotto vengono inviate usando SSL § Pagamenti: quando viene inserito un numero di carta di credito, l’invio dei dati avviene usando SSL § Accesso ad informazioni sicure § Consultazione di informazioni accessibili solo da utenti qualificati § Invio di password o altri dati riservati Barbara Masucci - DI – Università di Salerno 26 • 9 • Elementi di Crittografia • 31-05-2016 Funzionalità di SSL § Cifratura simmetrica/asimmetrica § Firme digitali § Certificati digitali (X.509) § Negoziazione dei parametri al momento della connessione § Riutilizzo dei parametri negoziati in precedenza 27 Barbara Masucci - DI – Università di Salerno SSL e TCP/IP SSL e TCP/IP Barbara Masucci - DI – Università di Salerno SSL, TLS ed OpenSSL 28 11 Componenti di SSL § Alert protocol § Notifica situazioni anomale o segnala eventuali problemi § Handshake protocol § Permette alle parti di negoziare gli algoritmi necessari per la sicurezza delle transazioni § Consente l’eventuale autenticazione tra le parti § Change Cipher Spec protocol § Impone l’esecuzione di un nuovo handshake per rinegoziare i parametri di sicurezza e ripetere l’autenticazione § Record protocol § Si occupa della compressione, del MAC e della cifratura Barbara Masucci - DI – Università di Salerno 29 • 10 • Elementi di Crittografia • 31-05-2016 Ciphersuite di SSL § Algoritmo per lo scambio di chiavi § Algoritmo per l’autenticazione § Algoritmo per la cifratura simmetrica § Algoritmo per il message authentication code (MAC) § Esempio § KeyEx=RSA, Auth=RSA, Enc=3DES, MAC=SHA1 Barbara Masucci - DI – Università di Salerno 30 Sessione Sicura § Una sessione sicura è data da un insieme di valori che possono essere usati da SSL § Valori segreti calcolati durante l’handshake § Ciphersuite stabilita durante l’handshake § Stabilire tutti i parametri ad ogni connessione può essere inefficiente § Una sessione può essere attiva tra più connessioni Barbara Masucci - DI – Università di Salerno 31 OpenSSL § È uno strumento Open Source § Contiene § Librerie libssl e libcrypto per utilizzare il protocollo SSL e per implementare funzionalità di crittografia in C § Programmi di utilità per la crittografia § PKI Barbara Masucci - DI – Università di Salerno 32 • 11 • Elementi di Crittografia • 31-05-2016 Bibliografia § Introduction to Modern Cryptography by J. Katz e Y. Lindell (2nd ed.) § cap. 12 § SSL and TLS: Designing and Building Secure Systems by E. Rescorla (1st ed.) Barbara Masucci - DI – Università di Salerno 33 • 12