La suite di protocolli SSL



Documenti analoghi
Approfondimento di Marco Mulas

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

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

Elements of Security Protocols Secure Socket Layer (SSL)

Elementi di Sicurezza informatica

La sicurezza nelle reti di calcolatori

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

Sommario. Introduzione alla Sicurezza Web

SECURE SOCKET LAYER FEDERICO REALI

La sicurezza del Web SSL

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

La sicurezza nel Web

Programmazione in Rete

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

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

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

Meccanismi di autenticazione sicura. Paolo Amendola GARR-CERT

La sicurezza nelle comunicazioni Internet

THE&PROTOCOL& SSL& SNCS&

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

Sicurezza in rete SSL

PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB

Informatica per la comunicazione" - lezione 13 -

Applicazioni per l autenticazione Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

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

Protezione delle informazioni in SMart esolutions

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

SICUREZZA. Sistemi Operativi. Sicurezza

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

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

e-government La Posta Elettronica Certificata

Client - Server. Client Web: il BROWSER

REGOLAMENTO SUL TRATTAMENTO DEI DATI PERSONALI

Secure domande e risposte

Crittografia e sicurezza informatica. Sistema di voto elettronico

Cenni sulla Sicurezza in Ambienti Distribuiti

Acquisto con carta di credito. Acquisto con carta di credito

Principi di crittografia Integrità dei messaggi Protocolli di autenticazione Sicurezza nella pila di protocolli di Internet: PGP, SSL, IPSec

La sicurezza nelle reti di calcolatori

Procedure di utilizzo e di descrizione applicativa

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

Sicurezza a livello IP: IPsec e le reti private virtuali

Sicurezza nei Sistemi Distribuiti

Sicurezza nei Sistemi Distribuiti

Corso di Laurea in Informatica Reti e Sicurezza Informatica

StarShell. IPSec. StarShell

Elementi di Sicurezza e Privatezza Lezione 12 Web Security. Chiara Braghin. SSL e TLS

Sicurezza delle , del livello di trasporto e delle wireless LAN


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

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

Creare connessioni cifrate con stunnel

Internet Security: Secure Sockets Layer

Reti di Telecomunicazione Lezione 8

Una Introduzione a TLSv1.0

azienda, i dipendenti che lavorano fuori sede devono semplicemente collegarsi ad un sito Web specifico e immettere una password.

Il protocollo BitTorrent

Appendice C. C. Protocolli per comunicazioni sicure

IFInet Secure Webmail

DEFINIZIONE MODALITÀ DI COMUNICAZIONE

IL SECURE SOCKETS LAYER (SSL) E LA SICUREZZA NEL PROTOCOLLO TCP/IP

Una minaccia dovuta all uso dell SNMP su WLAN

OpenVPN: un po di teoria e di configurazione

Introduzione alla crittografia con OpenPGP

DOCUMENTI INFORMATICI, POSTA CERTIFICATA E DEMATERIALIZZAZIONE

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

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

Sicurezza in Internet

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

Posta Elettronica Certificata obbligo e opportunità per le Imprese e la PA

ARCHIVIAZIONE E. Obblighi & Opportunità. 8 Gennaio 2010

POSTA ELETTRONICA (TRADIZIONALE e CERTIFICATA) FIRMA DIGITALE PROTOCOLLO INFORMATICO. Maurizio Gaffuri 11 ottobre 2007

Gennaio. SUAP On Line i pre-requsiti informatici: La firma digitale

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Obiettivo: realizzazione di reti sicure TIPI DI ATTACCO. Politica di sicurezza: a) scelte tecnologiche b) strategie organizzative

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Le imprese di nuova costituzione dovranno dotarsi di certificata da subito, all atto della costituzione.

Sicurezza in Internet. Criteri di sicurezza. Firewall

RETI DI CALCOLATORI. Crittografia. La crittografia

Aruba Sign 2 Guida rapida

Figura 1 Schema di funzionamento Postaonline H2H. Collegamento

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

Transmission Control Protocol

L IDENTITY MANAGEMENT

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB

Sicurezza delle applicazioni di rete

Secure Simple Budget Manager

Protocolli di Comunicazione

Allegato A: Regole tecniche per la gestione dell identità.

ALLEGATO AL CONTRATTO DI FORNITURA DEL SERVIZIO LEGALMAIL

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo

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

La Fatturazione Elettronica

Standard di comunicazione

Introduzione ai certificati S/MIME e alla posta elettronica certificata...2 Procedura di installazione del certificato personale S/MIME rilasciato

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

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

La sicurezza delle reti

La firma digitale CHE COSA E'?

Transcript:

Network Security Elements of Security Protocols Secure Socket Layer (SSL) Architettura Il protocollo Record Il protocollo Handshake Utilizzo di SSL nei pagamenti elettronici Limiti di SSL Sicurezza nella pila TCP/IP HTTP SMTP FTP HTTP SMTP FTP SSL, TLS TCP TCP IP/IPSec IP Kerberos PGP SET SMTP HTTP UDP TCP IP a livello rete a livello trasporto a livello applicazione 2

La suite di protocolli SSL Applicazioni Protocollo Handshake Protocollo Change Cipher Protocollo Alert HTTP Protocollo Record TCP IP 3 Riferimenti Secure Socket Layer (SSL) Progettato da Netscape http://wp.netscape.com/eng/ssl3/ Transport Layer Security (TLS) basato su SSL v3.0 RFC 2246 ftp://ftp.rfc-editor.org/in-notes/rfc2246.txt 4

Sessione e connessione Sessione Cliente connessione Server La sessione è un'associazione logica tra Cliente e Server. Una sessione viene creata dal protocollo di Handshake e definisce un insieme di parametri crittografici che possono essere condivisi fra molteplici connessioni. La sessione evita la costosa rinegoziazione dei parametri di sicurezza per ciascuna connessione 5 Sessione e connessione Sessione Cliente connessione Server STATO DI UNA SESSIONE Identificatore di sessione (session identifier) Certificato del peer (X.509v3) Metodo di compressione (compression method) Cifrario ed algoritmo hash (cipher spec) Segreto principale (master secret) [48 bit] Questi valori definiscono lo stato di ciascun endpoint della sessione 6

Sessione e connessione Sessione Cliente connessione Server STATO DI UNA CONNESSIONE Server random number (nonce) Client random number (nonce) Server write MAC secret Client write MAC secret Server write key Client write key Initialization vectors Sequence numbers 7 Il Protocollo Record payload frammentazione compressione aggiunta del MAC cifratura Il Protocollo Record incapsula i dati spediti dai livelli superiori assicurando la confidenzialità e l integrità della comunicazione apposizione della intestazione 8

Il Protocollo Record La frammentazione frammenta i dati applicativi in blocchi di al più 2 14 byte La compressione deve essere senza perdita e non deve far aumentare le dimensioni di un blocco di più di 1024 byte (default = null) Il MAC utilizza il [Server Client] write MAC secret, il sequence number, il blocco compresso, pad, La cifratura utilizza la [Server Client] write key può essere a blocchi o a caratteri e non deve far aumentare le dimensioni di un blocco di più di 1024 byte 9 Il Protocollo Record Intestazione Tipo di payload (change cipher, alert, handshake, application) Versione principale Versione minore Lunghezza compressa ( 2 14 + 2048) 10

Tipi di payload 1byte 1byte 3byte 0byte 1 tipo lunghezza contenuto Protocollo Change Cipher Protocollo Handshake 1byte livello 1byte allarme 0byte Contenuto opaco Protocollo Alert Protocollo Applicativo (HTTP, ) 11 Il Protocollo Handshake Il protocollo Handshake permette di stabilire una sessione sicura e cioè permette al cliente ed al server di autenticarsi a vicenda; di negoziare la suite di cifratura (cipher suite) il metodo per lo scambio delle chiavi; l'algoritmo di cifratura (utilizzato nel Protocollo Record) l'algoritmo per il MAC (utilizzato nel Protocollo Record); di stabilire un segreto condiviso (master secret) Il protocollo Handshake viene eseguito prima di inviare qualunque dato applicativo ed è la parte più complessa di SSL perché deve garantire interoperabilità 12

Protocollo Handshake: schema di principio (1) client server RSA Encryption Network RSA Decryption pre-master secret (48 byte) utilizzato per cifrare le successive comunicazioni 13 Protocollo Handshake: schema di principio (2) client solo autenticazione del server server client nonce server nonce 1. client_hello 2. server_hello client nonce server nonce 3. certificate 4. server_hello_done pre-master secret RSA Encryption 5. client_key_exchange RSA Decryption pre-master secret 14

I messaggi di Hello In questa fase il client ed il server si dicono cosa sanno fare ed il client autentica il server Messaggio client_hello e server_hello Versione di SSL Random: timestamp (32 bit) + random byte[28]; client e server generano quantità random diverse ID di sessione: in base al valore (1) viene creata una nuova sessione, (2) viene creata una connessione in una sessione esistente (3) vengono rinegoziati i parametri di una sessione esistente Suite di cifratura (Cipher suite) specifica la lista degli algoritmi di cifratura supportati dal cliente in ordine di gradimento; il server sceglie Metodo di compressione: lista dei metodi di compressione supportati dal client; il server sceglie 15 Cipher Suite La cipher suite specifica una lista di terne di algoritmi Scambio chiavi, Cifrario, MAC alcune di queste terne sono state standardizzate SSL_RSA_WITH_3DES_EDE_CBC_SHA I metodi di scambio delle chiavi supportati sono: RSA (encryption) Fixed Diffie-Hellman (i parametri pubblici sono fissi e certificati) Ephemeral Diffie-Hellman (i parametri pubblici sono creati di volta in volta e firmati) Anonymous Diffie-Hellman (senza autenticazione) I cifrari supportati sono: RC4, RC2, DES, 3DES, IDEA, I MAC supportati sono: MD5, SHA-1 16

Generazione delle chiavi lato server e lato client nei rispettivi messaggi di Hello dati predefiniti pre-master secret client nonce server nonce Pre-master secret è utilizzato come sorgente di entropia Hash Multi-step Server write MAC secret Client write MAC secret key block Server write key Client write key altro 17 Protocollo Handshake: schema di principio (3) client server client write key h() E() client nonce server nonce pre-master secret server certificate h() client_finished server_finished server write key change_cipher_spec client_finished client write key h() D() = client nonce server nonce pre-master secret server certificate client_finished server_finished h() = D() change_cipher_spec server_finished E() server write key 18

Autenticazione del client Il protocollo di Handshake autentica il server ma come fa il server ad autenticare il client? Una scelta tipica è quella di demandare l'autenticazione del client al livello applicativo sfruttando il canale sicuro instaurato da SSL per mezzo di user name e password, numero di carta di credito (!!), Quanto è sicuro il canale SSL? A causa delle restrizioni imposte dalla precedente normativa U.S. sulla esportazione di materiale crittografico, le vecchie versioni dei browser supportano solo chiavi di sessione a 40 bit (e chiavi pubbliche a 512 bit) invece dei 128 bit supportati dai browser più recenti I vecchi browser sono ancora in uso; molti utenti sono ignari del problema SSL supporta anche l'autenticazione del client rispetto al server 19 Autenticazione del client: schema di principio (3) client Il server richiede l'autenticazione del client con un messaggio certificate request dopo server_hello L'autenticazione è di tipo challenge-response client certificate server certificate client nonce server nonce pre-master secret h() challenge certificate server client private key Firma digitale (RSA) response certificate verify 20

Sicurezza I nonce contenuti in client hello e server hello Questi i nonce servono per costruire un master secret fresco ed evitare attacchi di tipo replay L utilizzo di certificati Protegge dal man-in-the-middle Le sequenze casuali Il pre-master secret ed i nonce in client hello e server hello devono essere impredicibili Il protocollo Record Numera il blocco in modo incrementale, lo autentica tramite il MAC e poi cifra tutto. Ciò evita replay, riordino e sostituzione in un blocco ma, se un blocco va perduto, i blocchi successivi devono essere ricreati e spediti nuovamente; Il cifrario protegge il MAC 21 Protocollo Handshake: formato dei messaggi TIPO CONTENUTO hello_request client_hello server_hello certificate server_key_exchange certificate_request server_hello_done certificate_verify client_key_exchange finished nessun paramentro Versione, random, ID di sessione, suite di cifratura, metodo di compressione Versione, random, ID di sessione, suite di cifratura, metodo di compressione Catena di certificati X.509v3 Parametri, firma Tipo, autorità Nessun parametro Firma Parametri, firma Valore hash 22

I protocolli Handshake: visione d insieme CLIENT Client hello Pre-master secret Certificato del client* Finished Scambio sicuro dei dati HANDSHAKE RECORD Server hello Certificato del server Richiesta del certificato del client* Server hello done Finished SERVER Scambio sicuro dei dati 23 Il Protocollo Handshake: visione d insieme Client messaggi opzionali Server client_hello server_hello certificate server_key_exchange certificate_request server_hello_done certificate client_key_exchange certificate_verify change_cipher_spec finished change_cipher_spec finished 1 round Definizione delle capacità di sicurezza 2 round Autenticazione del server 3 round Autenticazione del client 4 round Conclusione 24

Gli altri protocolli di SSL Il protocollo change cipher spec è costituito da un solo messaggio (in chiaro) che ha come obiettivo quello di rendere operativa la cipher suite negoziata Il protocollo alert è utilizzato per comunicare al peer i messaggi di allarme relativi a SSL: unexpected_message bad_record mac decompression_failure handshake_failure illegal_parameter no_certificate bad_certificate unsupported_certificate certificate_revoked certificate_expired certificate_unknown 25 Il certificato è quello giusto? www.affari.com xy45kz!? Redirect Alice (SSL) verifica con successo il certificato della banca, stabilisce la connessione ed invia la propria PWD alla banca www.bank.com 26

Il certificato è quello giusto? www.grandiaffari.com Redirect xy45kz!? Alice (SSL) verifica con successo il certificato dell'avversario, stabilisce la connessione ed invia la propria PWD alla banca www.bamk.com 27 Il certificato è quello giusto? Il problema è che SSL opera ad un livello più basso di quello applicativo È l'applicazione che deve (indurre l'utente a) verificare che il nome richiesto sia uguale al nome contenuto nel certificato verificato ESEMPIO: Netscape Il browser notifica all'utente se l'url specificato dal browser e quello contenuto nel certificato del server sono diversi L'utente decide se proseguire la connessione oppure no (interfaccia utente!!!) In linea di principio non è detto che il controllo eseguito dal browser Netscape sia sufficiente per ogni tipo di applicazione Web-based 28

Acquisti in rete con SSL SSL nr. 5490 1234 5678 valid thru 00/00 Il numero della carta non è un'informazione segreta Il mittente è proprio Richard Croswell? Rogatorie internazionali Analisi dei log Spoofing, ping-pong, nr. 5490 1234 5678 valid thru 00/00 29 Acquisti in rete mediante carta di credito Decreto legislativo 22 maggio 1999, n. 185, di attuazione della direttiva 97/7/CE Art. 8 - Pagamento mediante carta 1. Il consumatore può effettuare il pagamento mediante carta ove ciò sia previsto tra le modalità di pagamento, da comunicare al consumatore al sensi dell'articolo 3, comma 1, lettera e), del presente decreto legislativo. 2. L'istituto di emissione della carta di pagamento riaccredita al consumatore i pagamenti dei quali questi dimostri l'eccedenza rispetto al prezzo pattuito ovvero l'effettuazione mediante l'uso fraudolento della propria carta di pagamento da parte del fornitore o di un terzo, fatta salva l'applicazione dell'articolo 12 del decreto-legge 3 maggio 1991, n. 143, convertito, con modificazioni, dalla legge 5 luglio 1991, n. 197. L'istituto di emissione della carta di pagamento ha diritto di addebitare al fornitore le somme riaccreditate al consumatore. 30

Acquisti in rete mediante carta di credito Gli istituti di emissione, cui compete l'autorizzazione dell'operazione di pagamento, nonché i soggetti che rendono tecnicamente possibile la transazione on-line, sono tenuti a controllare la correttezza del numero della carta e la data della sua scadenza ma non anche la corrispondenza tra il numero fornito e l'effettivo titolare Gli istituti di emissione verificano la corrispondenza tra numero della carta di credito comunicato per effettuare una transazione on-line ed il nominativo fornito da colui che la effettua. Ad esempio, l'address Verification Service (AVS) verifica che l'indirizzo di consegna sia quello con cui il possessore della carta è registrato In Europa il grado di sicurezza nelle transazioni on-line è minore e quindi il commercio elettronico è destinato ad incontrare resistenze anche da parte dei fornitori di che sopportano rischi elevati 31 Acquisti in rete mediante carta di credito Il fornitore di beni o servizi on-line è tenuto ad accollarsi il rischio della rivalsa degli istituti di emissione qualora, in caso di uso fraudolento delle carta, questi riaccreditano le corrispondenti somme al legittimo titolare. La legge non consente al fornitore di liberarsi dall obbligo della restituzione delle somme agli istituti di emissione qualora dimostri 1. di avere usato tutte le cautele necessarie e possibili ad evitare l uso fraudolento della carta di credito 2. che il fatto è stato causato dal caso fortuito. I fornitori dovranno usare tutte le cautele del caso per potere, nel caso di uso fraudolento di carte di credito, perlomeno rintracciare l illegittimo utilizzatore e rivalersi su questo. Le conseguenze derivanti dall addebito delle somme riaccreditate al titolare della carta potrebbero poi essere annullate contraendo una assicurazione a copertura dei danni (economici) derivanti da tale circostanza. 32

Acquisti in rete con SSL Foglio informativo sulle operazioni e servizi offerti alla clientela (cariprato) 33 Acquisti in rete con SSL 34

Limiti di SSL SSL è un protocollo sicuro ben progettato che utilizza algoritmi sicuri e robusti SSL però presenta i seguenti limiti l'utente ha l'onere di controllare le informazioni di sicurezza SSL è vulnerabile allo spoofing dei nomi SSL protegge solo la comunicazione 35