Elementi di Sicurezza informatica



Documenti analoghi
SECURE SOCKET LAYER FEDERICO REALI

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer

Corso di Sicurezza Informatica. Sicurezza Web. Ing. Gianluca Caminiti

Approfondimento di Marco Mulas

Comunicazioni sicure su Internet: https e SSL. Fisica dell Informazione

Sicurezza dei sistemi e delle reti 1. Lezione VI: IPsec. IPsec. La suite TCP/IP. Mattia Monga. a.a. 2014/15

La suite di protocolli SSL

Sommario. Introduzione alla Sicurezza Web

Programmazione in Rete

SETEFI. Marco Cantarini, Daniele Maccauro, Domenico Marzolla. 19 Aprile 2012

PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB

Secure socket layer (SSL) Transport layer security (TLS)

Meccanismi di autenticazione sicura. Paolo Amendola GARR-CERT

La sicurezza nel Web

INFN Sezione di Perugia Servizio di Calcolo e Reti Fabrizio Gentile Enrico Becchetti

La sicurezza nelle reti di calcolatori

Sicurezza nelle applicazioni multimediali: lezione 7, sicurezza dei protocolli. Sicurezza dei protocolli (https, pop3s, imaps, esmtp )

Servizio di Posta elettronica Certificata (PEC)

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Sicurezza interna alle applicazioni. Sicurezza esterna alle applicazioni. SSL: introduzione. Sicurezza nei Sistemi Informativi

RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it

Servizio di Posta elettronica Certificata (PEC)

Configurazione client di posta elettronica per il nuovo servizio

Informatica per la comunicazione" - lezione 13 -

Dettaglio attività e pianificazione. snamretegas.it. San Donato Milanese Aprile 2014

Configurazione client di posta elettronica per il nuovo servizio . Parametri per la Configurazione dei client di posta elettronica

La sicurezza del Web SSL

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Servizio di Posta elettronica Certificata (PEC)

Manuale per la configurazione di un account di PEC in Mozilla Thunderbird.

Introduzione alla Posta Elettronica Certificata (PEC): le regole tecniche

DEFINIZIONE MODALITÀ DI COMUNICAZIONE

Una Introduzione a TLSv1.0

Reti di Telecomunicazione Lezione 8

Manuale per la configurazione di un account di PEC in Mozilla.

La sicurezza nelle comunicazioni Internet

Servizio di Posta elettronica Certificata (PEC)

Configurazione client di posta elettronica per il nuovo servizio

Manuale Utente PEC e Client di Posta tradizionale

Protezione delle informazioni in SMart esolutions

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Configurazione di Outlook Express

GUIDA ALLA Rel. 4.2 SOMMARIO. 5) Aggiornamento Configurazione Mail Preesistente Pag.

Servizio di Posta elettronica Certificata (PEC)

RETI DI CALCOLATORI. Crittografia. La crittografia

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser.

OpenVPN: un po di teoria e di configurazione

Elements of Security Protocols Secure Socket Layer (SSL)

e-government La Posta Elettronica Certificata

Configurazione IMAP di una mediante il client Mozilla Thunderbird

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Informatica per la comunicazione" - lezione 8 -

SICUREZZA. Sistemi Operativi. Sicurezza

Sistemi Operativi SICUREZZA. Sistemi Operativi. D. Talia - UNICAL 14.1

Configurazione client di posta elettronica per il nuovo servizio . Parametri per la Configurazione dei client di posta elettronica

Protocolli applicativi: FTP

1) GESTIONE DELLE POSTAZIONI REMOTE

FORSETI BLOG. Readcast. Aprile 2014 Speciale Heartbleed.

Vallarino Simone. Corso di sicurezza A.A. 2003/2004 HTTPS

Le caselle di Posta Certificata attivate da Aruba Pec Spa hanno le seguenti caratteristiche:

Manuale per la configurazione di un account di PEC in Outlook Express.

Internet gratuita in Biblioteca e nei dintorni

Corso di Laurea in Informatica Reti e Sicurezza Informatica

Cookie. Krishna Tateneni Jost Schenck Traduzione: Luciano Montanaro

Analysis of the Logjam attack

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.

Guida all'uso della Posta Elettronica Client Mail su sistema operativo Mac

Sicurezza dei dati. Xml Encryption e Digital Signature. Sicurezza dei dati. XML Encryption. Svantaggio di SSL. SSL (Secure Socket Layer)

Stampa unione -contratto di tirocinio. Documentazione

E-Post Office Manuale utente

Elementi di Sicurezza e Privatezza Lezione 13 Web Security - SSL/TLS

Appendice:: Spunti sulla sicurezza e Internet Materiale fuori programma dedicato rigorosamente solo ai curiosi. prof.

IFInet Secure Webmail

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Guida per la registrazione alla piattaforma di Gestione dei Corsi per il Consulente Tecnico Telematico

WINDOWS XP. Aprire la finestra che contiene tutte le connessioni di rete in uno dei seguenti modi:

Protocolli SSL e TLS. Alfredo De Santis. Maggio Dipartimento di Informatica Università di Salerno.

Crittografia. Appunti a cura del prof. Ing. Mario Catalano

Manuale per la configurazione di un account di PEC in Outlook 2003.

Manuale servizio

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Comunicazioni sicure tra server di posta elettronica

Dal protocollo IP ai livelli superiori

Configurazione gestore di posta elettronica Configurazione OUTLOOK EXPRESS POP3

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Analisi di programmi: Crittografia

MANUALE DI INSTALLAZIONE CERTIFICATO DIGITALE PER LA SICUREZZA CERTIFICATION AUTHORITY DEL SISTEMA PIEMONTE

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link. Sicurezza ai livelli di rete e data link

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Utilizzo di Certificati SSL e relative implicazioni

Servizio di Posta elettronica Certificata. Procedura di configurazione dei client di posta elettronica

Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000

Esercitazione 02. Sommario. Un po di background (1) Un certificato digitale in breve. Andrea Nuzzolese

Con.Te Gestione Console Telematici

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

MODALITÀ DI ACCESSO ALLA CASELLA DI POSTA ELETTRONICA CERTIFICATA

Coordinazione Distribuita

Transcript:

Elementi di Sicurezza informatica Secure Socket Layer Università degli Studi di Perugia

Indice 1 1.Introduzione 2 3

Perché SSL Funzionalità Storia di SSL Introduzione Introduzione Perché SSL; Funzionalità; La storia di SSL.

Perché SSL Funzionalità Storia di SSL Perché SSL TCP Il protocollo TCP fornisce un adabile e eciente canale di comunicazione tra due nodi e permette di: Individuare la perdita di pacchetti; Individuare pacchetti corrotti; Non tiene conto di dati trasmessi erroneamente più volte. Tuttavia.. Non garantisce l'autenticazione (è basato sull'autenticazione per indirizzo); Non fornisce garanzie di condenzialità (i dati passano in chiaro sul canale); Non fornisce garanzie di integrità.

Perché SSL Funzionalità Storia di SSL Perché SSL Soluzione.. Secure Socket Layer (SSL) nasce proprio per rimediare alle mancanze di TCP. In particolare SSL è un protocollo di due layer che si vanno ad inserire nel Internet Protocol, tra il livello di trasporto e il livello delle applicazioni. Questa specica ubicazione permette a SSL di ereditare le proprietà di TCP, senza dover trattare nello specico la gestione del trasporto dei dati. Figura: Stack del protocollo SSL

Perché SSL Funzionalità Storia di SSL Cosa Assicura Condenzialità I dati prima di essere inviati nel canale di comunicazione vengono cifrati attraverso algoritmi di crittograa a chiave simmetrica. Autenticazione Assicura l'identità dei soggetti o attraverso la crittograa a chiave pubblica, o attraverso l'uso di certicati. Integrità Il protocollo include un controllo di integrità sul messaggio basato su MAC, utilizzando funzioni hash sicure come SHA e MD-5.

Perché SSL Funzionalità Storia di SSL Cosa Assicura Negoziazione Permette ad un server ed un client di negoziare gli algoritmi di cifratura e le funzioni hash che verranno utilizzati in base a quelli `noti' a ciascuno dei due. Riutilizzo Permette di riutilizzare i parametri negoziati in precedenza, velocizzando il funzionamento dello stesso.

Perché SSL Funzionalità Storia di SSL Storia di SSL La Genesi SSL fu creato da Netscape Communications Corporation con l'intento di assicurare gli obiettivi di sicurezza visti in precedenza. Versioni 1994 Prima versione di SSL. Essa presentava diversi problemi e non venne mai utilizzata; 1994 Seconda versione implementata in Netscape Navigator 1; 1996 Terza versione implementata in Netscape Navigator 3; 1999 TLS (Transport Layer Security) RFC2246 evoluzione di SSL proposta da IETF; 2002 TLS RFC3268 Ulteriore evoluzione che supporta anche AES e IDEA.

Perché SSL Funzionalità Storia di SSL Storia di SSL Figura: Screenshot di Netscape Navigator con la possibilità di scegliere tra SSL v2 o SSL v3.

Perché SSL Funzionalità Storia di SSL Utilizzo e-commerce SSL/TLS è utilizzato nel commercio elettronico per ordini o per pagamenti. Figura: Login su Amazon.co.uk con Google Chrome Figura: Ordine su Amazon.co.uk con Firefox

Perché SSL Funzionalità Storia di SSL Utilizzo Accesso `Sicuro' SSL/TLS è utilizzato per l'invio di password o altri dati riservati e per la consultazione di informazioni con restrizioni di accesso. Figura: Login su Ebay con Opera Figura: Login su SOL unipg con Firefox

Perché SSL Funzionalità Storia di SSL Utilizzo HTTPS e oltre Come si è potuto notare dalle immagini precedenti, TLS è un protocollo implementato da tutti i maggiori browser grazie ad HTTPS (Hypertext Transfer Protocol over Secure Socket Layer) che integra HTTP con SSL/TLS. Esso inoltre è applicabile anche ad altri protocolli come POP3, IMAP e FTP. Esiste anche una implementazione open source disponibile per i più diusi sistemi operativi chiamata OpenSSL la cui versione 1.0.0 è stata rilasciata il 29 Marzo 2010.

Perché SSL Funzionalità Storia di SSL Utilizzo Figura: OpenSSL disponibile su http://www.openssl.org/ Figura: Opzioni per SSL su Thunderbird

Il Protocollo 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol SSL Come è già stato detto in precedenta SSL incorpora in se due layer: uno a livello più basso e uno a livello più alto. Quest'ultimo è a sua volta composto da più protocolli. Nelle slides che seguono verranno analizzati nel dettaglio i due layer e i protocolli che li compongono.

Il Protocollo 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Di particolare importanza per la comprensione del protocollo risultano queste due denizioni: Connessione E' una connessione a livello trasporto che fornisce un certo tipo di servizi. Per SSL tali connessioni sono relazioni peer-to-peer. Ogni connessione è associata ad una sessione. Sessione Una sessione SSL è un associazione tra un client e un server. Le sessioni sono create attraverso il protocollo Handshake. Le sessioni deniscono una serie di parametri di sicurezza, che possono essere condivisi tra più connessioni. Le sessioni servono per evitare costose negoziazioni di nuovi parametri di sicurezza per ogni connessione.

SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Algoritmi per lo scambio delle chiavi E questi algoritmi per lo scambio delle chiavi: - RSA: Chiavi segrete cifrate con la chiave pubblica del ricevente, autenticate tramite certicato; - Fixed Die-Hellman: Algoritmo Die-Hellman in cui il certicato del server contiene i parametri pubblic Die-Hellman forniti da una CA (Certication Autority). Il client fornisce i propri parametri in un certicato oppure in un messaggio durante lo scambio di chiavi; - Ephemeral Die-Hellman: Viene utilizzato per creare chiavi segrete temporanee usando parametri pubblici one-time, scambiati e rmati usando RSA o simili. E' il metodo ritenuto più sicuro. - Anonymus Die-Hellman: Come Die-Hellman classico ma entrambe le parti spediscono i propri parametri pubblici senza autenticazione.

SSL Record Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol SSL Record Protocol E' il protocollo che materialmente prende i dati ai livelli superiori e li sottopone al trattamento di sicurezza, prima di passarli al livello sottostante. Esso fornisce: Condenzialità Si usano la chiave segreta e gli algoritmi di encryption concordati; Integrità del Messaggio Attraverso l'uso di MAC. La gura che segue riporta nel dettaglio come opera tale protocollo.

SSL Record Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Figura: Operazioni del Record Protocol

SSL Record Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Come Lavora I dati dai layer superiori del protocollo vengono prima frammentati in blocchi, poi compressi (se specicato), dopodiché viene calcolato il MAC sui dati compressi. A questo punto il messaggio compresso più il MAC vengono cifrati, e per ultimo viene apposto l'header del protocollo SSL Record. Il campo Content Type indica il tipo di dati contenuti nel frammento blocco, ovvero il protocollo che verrà usato per elaborare tali dati; il campo Compressed Length contiene la lunghezza del blocco di plaitext (compresso o meno) contenuto nel messaggio.

SSL Record Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Figura: Operazioni del Record Protocol

Alert Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Alert Protocol Il protocollo alert è usato per trasportare messaggi di allarme, compressi e cifrati. Ogni messaggio di questo protocollo consiste di due byte. Il primo byte rappresenta la gravità dell'allarme spedito (warning oppure fatal). Il secondo byte contiene un codice che indica la motivazione del messaggio. Nel caso in cui il livello di gravità sia fatal, la connessione SSL viene terminata immediatamente.

Change Cipher Spec Protocol SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Change Cipher Spec Protocol Il protocollo Change Cipher Spec è il più semplice dei protocolli utilizzati da SSL. Esso consiste in un singolo messaggio, costituito da un solo byte con valore 1. L'unica funzione di questo messaggio è fare in modo che siano aggiornate le informazioni riguardanti la suite di algoritmi di cifratura da utilizzare nella connessione, nel caso questi siano stati rinegoziati a livello di sessione tramite Handshake.

Handshake Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Handshake Protocol E' di gran lunga il più complesso e permette al server e al client di: Autenticarsi a vicenda, negoziando il metodo di autenticazione; Negoziare un algoritmo di encryption; Negoziare un algoritmo per calcolare il MAC; Stabilire le chiavi segrete usate per cifrare i dati contenuti nei record SSL, negoziando il metodo per farlo. Il protocollo Handshake viene usato prima della trasmissione dei dati delle applicazioni. Nelle slides seguenti analizzeremo nel dettaglio i possibili messaggi scambiati durante tale protocollo.

Handshake Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Prima Fase In essa vengono denite le speciche per la sicurezza. Questa fase è utilizzata per iniziare una connessione logica e stabilire le speciche di sicurezza che le saranno associate. Lo scambio è iniziato dal client, che spedisce un messaggio client-hello con cui informa il server sugli algoritmi di cifratura e di compressione supportati, e spedisce un identicatore di sessione: un valore diverso da zero di tale parametro indica la volontà del client di aggiornare i parametri di una connessione esistente o di avviarne una nuova, mentre un valore uguale a zero invece indica la volontà di stabilire una nuova connessione in una nuova sessione. Dopodiché attende dal server un messaggio server-hello, del tutto simile a quello spedito dal client. L'unica particolarità sta nell'identicatore di sessione: se quello del client era diverso da zero lo stesso sarà per questo identicatore, altrimenti esso conterrà il nuovo valore generato dal server per questa sessione;

Handshake Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Seconda Fase In essa avviene l'autenticazione del server e lo scambio delle chiavi. E' una fase in cui solo il server spedisce messaggi. Inizia con un messaggio certicate, necessario solo se si utilizza un metodo di negoziazione della chiave diverso da Anonymous Die-Hellman. A questo punto segue un messaggio server-key-exchange, che non è richiesto solo nel caso in cui sia stato mandato un messaggio certicate con i parametri Fixed Die-Hellman oppure venga usato RSA per lo scambio di chiavi. La rma contenuta in questo messaggio è ottenuta calcolando un valore hash sui parametri di Die-Hellman o RSA e sui nonce presenti nei messaggi hello iniziali (per evitare attacchi di tipo replay), e cifrando tale valore con la chiave privata del server. Quello che segue è un messaggio di certicate-request, per richiedere l'autenticazione del client e può essere spedito solo da un server che non usi Anonymous Die-Hellman. Inne viene spedito un messaggio server-hello-done, che chiude la seconda fase.

Handshake Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Terza Fase In questa fase avviene l'autenticazione del client e lo scambio delle chiavi. In questa fase il client procede alla verica della validità del certicato del server e dei parametri del messaggio server-hello. Se tutto va bene il client spedisce un messaggio certicate, nel caso sia stato richiesto. Dopodiché spedisce un client-key-exchange, per lo scambio della chiave: esso contiene i parametri necessari, a seconda del tipo di algoritmo utilizzato. Vediamo alcuni esempi: - Se l'algoritmo usato è RSA il client genera un pre-master secret e lo cifra con la chiave pubblica del certicato del server o con la chiave temporanea RSA appartenente al messaggio server-key-exchange. Il suo utilizzo verrà trattato in seguito; - Se l'algoritmo è Ephemeral o Anonymous Die-Hellman, vengono spediti i parametri necessari; - Se l'algoritmo è Fixed Die-Hellman, i parametri necessari vengono spediti in un messaggio certicate, quindi questo messaggio è vuoto.

Handshake Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Terza Fase Continua Inne il client può trasmettere un messaggio certicate-verify per fornire la verica esplicita del proprio certicato. Questo messaggio contiene una rma, costituita dalla cifratura di un valore hash calcolato sui precedenti messaggi, con la propria chiave privata, in modo che sia possibile vericare che la chiave privata appartiene al certicato del client. Nel calcolare il valore hash viene utilizzato un valore chiamato master secret. Master Secret Il master secret condiviso è un valore temporaneo a 48 bit calcolato durante lo scambio delle chiavi. La sua creazione avviene in due passi. Prima viene scambiato un pre-master secret (Fase 3). Dopodiché entrambe le parti ottengono il master secret concatenando tre valori hash calcolati sul pre-master secret e sui due nonce scambiati inizialmente.

Handshake Protocol 1.Introduzione SSL Record Protocol Alert Protocol Change Cipher Spec Protocol Handshake Protocol Quarta Fase Questa fase completa la creazione di una connessione sicura. Il client spedisce un messaggio change-cipher-spec, agganciando le speciche riguardo ai metodi di encryption usati (CipherSpec), contenute anche nella Suite di cifrature del messaggio client-hello (server-hello), secondo quanto concordato in precedenza. Dopodiché manda un messaggio nished per terminare la comunicazione. Tale messaggio contiene la concatenazione di due valori hash, calcolati sul master secret e sui messaggi precedenti, uno con SHA-1 e l'altro con MD-5. Il server, come risposta, fa le stesse cose e termina lo scambio di messaggi. A questo punto la connessione è stabilita.

Gracamente Protocollo La gura nella slide che segue rappresenta a grandi linee le azioni del protocollo SSL Handshake, mentre le slides successive analizzano nel dettaglio un possibile scambio di messaggi dello stesso protocollo.

HandShake

Hello-Client

Server-Hello, Certicate, Server-Done

Client-Key-Exchange, ChangeCipherSpec, Finished

Server-ChangeCipherSpec, Finished

Sicuri!

Grazie!