intro to ssl/tls network security gene itkis. 2 sicurezza in rete sicurezza a livello applicativo...
TRANSCRIPT
![Page 1: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/1.jpg)
Intro to SSL/TLS
Network Security
Gene Itkis
![Page 2: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/2.jpg)
2
Sicurezza in rete
• Sicurezza a livello applicativo– Pros: concepita ad hoc per le applicazioni– Cons: richiede l’utilizzo di più meccanismi
• Sicurezza a livello trasporto– Pros: fornisce interfacce comuni a tutti i servizi applicativi– Cons: richiede piccole modifiche alle applicazioni
• Sicurezza a livello rete– Pros: funziona con applicazioni che non si curano affatto della
sicurezza– Consente di attraversare in modo sicuro domini non sicuri– Cons: può richiedere modifiche a livello Sistema Operativo
![Page 3: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/3.jpg)
3
Meccanismi di sicurezza
• Network levevel– IPSec
• Transport levevel– SSL (Secure Socket Layer)
• Application levevel– S/MIME– PGP– Kerberos– SET
![Page 4: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/4.jpg)
4
![Page 5: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/5.jpg)
5
Modelli di sicurezza (1)
•Ci sono due modi per fornire un trasporto sicuro (cioè non intercettabile da orecchie maliziose durante la trasmissione):
– Usare un'infrastruttura di trasporto sicura• Il protocollo non cambia, ma ogni pacchetto
trasmesso nello scambio di informazioni viene gestito in maniera sicura dal protocollo di trasporto
– Usare un protocollo sicuro a livello applicazione• Si usa un protocollo anche diverso, che si occupa di
gestire la trasmissione delle informazioni.
![Page 6: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/6.jpg)
6
Modelli di sicurezza (2)
– HTTPS (RFC 2818)• Introdotto da Netscape, trasmette i dati in HTTP semplice su un
protocollo di trasporto (SSL) che crittografa tutti i pacchetti. • Il server ascolta su una porta diversa (per default la porta 443), e
si usa uno schema di URI diverso (introdotto da https:// )
– S-HTTP (RFC 2660)• Poco diffuso, incapsula richieste e risposte HTTP in un
messaggio crittografato secondo o un formato MIME apposito (MIME Object Security Services, MOSS), o un formato terzo (Cryptographic Message Syntax, CMS).
• E' più efficiente ma più complesso.
![Page 7: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/7.jpg)
7
Protocollo SSL
• Garantisce– Privatezza della comunicazione
• Cifratura a chiave simmetrica
– Autenticazione Server• Utilizzo di certificati digitali per scambio di chiavi
– (opzionale) Autenticazione Client– Integrità dei dati ( Mac dei record SSL )
![Page 8: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/8.jpg)
8
Architecture
IP
TCP
SSL
Application (HTTP)
![Page 9: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/9.jpg)
9
History
• 1993 – Mosaic (“browser #1”)• 1994 – Netscape Browser released
– SSL v1 design complete – never released– SSL v2 released in Navigator 1.1
• Badly broken (bad seeds for PRNG)
• 1995 – Explorer released– PCT (MS), SSL v3 (Netscape)
• 1996-1999 – TLS 1.0• 1999 – WTLS
![Page 10: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/10.jpg)
10
SSL choices
• Connection-oriented– SSL, TLS do not support UDP– But WTLS does
• No non-repudiation– But signatures are used for AKE
• “Only protects the pipe”– Attacks are mounted on data before and after
“the pipe”
![Page 11: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/11.jpg)
11
OpenSSL
• Software crittografico open source, basato sulla libreria SSLeay sviluppata da Eric A. Young e Tim J. Hudson
• Inizialmente (23/12/98) destinata alla diffusione come libreria per l’implementazione dei protocolli SSL e TLS, negli anni è stata integrata con funzionalità crittografiche avanzate che la rendono la più diffusa e utilizzata in ambito open souce ( e non…) per strumenti di firma, cifratura dati e comunicazioni sicure
• Disponibile sulla maggior parte delle piattaforme Unix proprietarie e open source (Linux, OpenBSD ecc…), nonché sui sistemi Microsoft
![Page 12: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/12.jpg)
12
Alternative architectures
• Separate Layer– Over TCP: SSL– Over IP: IPSec
• Application-Specific– SHTTP
• Parallel – Kerberos; Kerberos with TLS?
![Page 13: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/13.jpg)
13
Protocollo SSL
• Presentato nel 1994 da Netscape Communication Corporation che successivamente rilasciò nel 1996 la v3.
• SSL introduce un ulteriore livello nell'architettura ISO/OSI che si colloca tra il livello Applicazione e quello Trasporto
• Una variante, seppur minima, del protocollo è divenuta standard con il nome TLS (RFC 2246)
![Page 14: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/14.jpg)
14
Protocollo SSL
Garantisce:– Privatezza della comunicazione
• Cifratura a chiave simmetrica
– Autenticazione Server• Utilizzo di certificati digitali per scambio di chiavi
– (opzionale) Autenticazione Client– Integrità dei dati ( Mac dei record SSL )
![Page 15: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/15.jpg)
15
TLS/SSL in dettaglio
• E’ un protocollo di livello 5 (sessione) che opera quindi al di sopra del livello di trasporto
• E’ composto da due livelli:– TLS Record Protocol: opera a livello più basso,
direttamente al di sopra di un protocollo di trasporto affidabile come il TCP
• E’ utilizzato per incapsulare (offrendo servizi di sicurezza) protocolli del livello superiore, tra cui l’Handshake Protocol
– TLS Handshake Protocol: si occupa della fase di negoziazione in cui si autentica l’interlocutore e si stabiliscono le chiavi segrete condivise
![Page 16: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/16.jpg)
16
TLS: Architecture
• TLS definisce il Record Protocol per trasferire I dati dell’applicazione e del TLS
• La sessione viene stabilita utilizzando l’Handshake Protocol
TLS Record Protocol
Handshake Protocol
Alert Protocol
ChangeCipher Spec
![Page 17: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/17.jpg)
18
No lock symbol means no security and no encryption.No one knows to click here.
If anyone ever checked, the site business identity cannot be verified.
Standard way to access a Web site via non-secure connection.
Example: I want to book and buy a ticket on line.
![Page 18: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/18.jpg)
19
OK, I’m ready to purchase and give my credit card – to United right?
It really is United right?
Lock symbol appears because I am about to enter credit card info but unbeknownst to most everyone, it is clickable
Click-1 shows that this certificate was issued to www.itn.net. Who is this? And what do they have to do with United Airlines?
Click on the “Details” tab to dig deeper.
![Page 19: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/19.jpg)
20
You have to dig really deeply into crypto-arcanery to get to the identity information such as it is.
Click-2 gives access to the contents of the server’s digital certificate. The site business identity is still not available.
Click on the “Subject” field to dig deeper.
![Page 20: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/20.jpg)
21
We learn the hard way that this is actually not United at all. The Web pages still say United and yet its not United. How often is that going on? A lot!
Finally, after 3 clicks, the authenticated identity of the site business owner is available. It is right after the ‘O = ‘ and in this case it is GetThere.com, Inc. Intuitive and accessible… NOT. Really usable identity information…NOT.
AND IT IS NOT EVEN UNITED AIRLINES THAT I AM ABOUT TO GIVE MY CREDIT CARD TO.
![Page 21: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/21.jpg)
22
TLS: Overview
• Viene stabilita una sessione – Accordo sugli algoritmi– Calcolo del segreto comune– Autenticazione
• Vengono trasferiti i dati dell’applicazione– Viene garantita privacy e integrità
![Page 22: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/22.jpg)
23
TLS: Privacy
• Cifra il messaggio così da non poter essere letto da terzi
• Usa la convenzionale crittografia a chiave segreta– DES, 3DES– RC2, RC4– IDEA
AMessage Message
B$%&#!@
![Page 23: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/23.jpg)
24
TLS:Key Exchange
• Occorrono metodi sicuri per scambiare la chiave segreta
• Si usa la crittografia a chiave pubblica– “key pair” is used - either one can encrypt and
then the other can decrypt– slower than conventional cryptography– share one key, keep the other private
• Le scelte sono RSA o Diffie-Helmann
![Page 24: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/24.jpg)
25
TLS: Integrity
• Vengono calcolati Message Authentication Code (MAC) a lunghezza fissa– Include l’hash del messaggio– Include un segreto condiviso– Include un numero di sequenza
• Il MAC viene trasmesso assieme al messaggio
![Page 25: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/25.jpg)
26
TLS: Integrity
• Il destinatario ricalcola il MAC– deve essere identico al MAC trasmesso MAC
• TLS utilizza sia MD5 che SHA-1
A BMessage’
MAC’
MAC
=?
Message
MAC
![Page 26: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/26.jpg)
27
TLS: Authentication
• Verifica l’identità dei partecipanti
• L’autenticazione del Client e opzionale
• I certificati sono utilizzati per associare la chiave, o altri attributi al proprietario
ACertificate
B
Certificate
![Page 27: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/27.jpg)
28
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.
![Page 28: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/28.jpg)
29
TLS: Record Protocol
![Page 29: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/29.jpg)
30
TLS Record Protocol
• Riceve i dati dal livello superiore, li suddivide in blocchi, eventualmente li comprime, calcola il MAC, cifra il tutto e trasmette il risultato dell’elaborazione
• Tipi di dati consegnati al Record Protocol: “handshake protocol”, “alert protocol”, “change cipher spec protocol” e “application protocol”
• Il Record Protocol opera sempre all’interno di uno stato, che definisce gli algoritmi di compressione, cifratura e autenticazione e i parametri relativi (come le chiavi)– Vengono mantenuti 4 stati: gli stati di lettura (per i record ricevuti)
e scrittura (per l’invio dei record) correnti e gli stati di lettura e scrittura pendenti
![Page 30: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/30.jpg)
31
TLS Record Protocol
• Una volta che i parametri di sicurezza sono stati settati e le chiavi generate, gli stati della connessione possono essere istanziati rendendoli correnti
• Gli stati correnti devono essere aggiornati per ogni record elaborato e includono i seguenti elementi:– stato della compressione (stato corrente dell'algoritmo di
compressione)– stato della cifratura (comprende la chiave e altre informazioni
necessarie a definire lo stato dell'algoritmo, per esempio l'ultimo blocco nel caso di un cifrario a blocco in modalità CBC)
– MAC secret– numero di sequenza: valore incrementato dopo ogni record
![Page 31: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/31.jpg)
32
TLS Record Protocol
I parametri di sicurezza definiti per uno stato sono settati fornendo i seguenti valori:
• connection end: specifica se l’entità in questione è il client o il server• bulk encryption algorithm: indica l’algoritmo di cifratura e i relativi
parametri, come la lunghezza della chiave• MAC algorithm: indica l’algoritmo di autenticazione ed i parametri
relativi• compression algorithm: indica l’algoritmo di compressione e i relativi
parametri• master secret: sequenza di 48 byte condivisa tra i due interlocutori• client random: 32 byte casuali forniti dal client• server random: 32 byte casuali forniti dal server
![Page 32: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/32.jpg)
33
Handshake Protocol
• E’ costituito da tre sotto-protocolli (“change cipher spec”, “alert” e “handshake”) che permettono ai due interlocutori di negoziare i parametri di sicurezza e notificare condizioni di errore
• E’ responsabile della negoziazione di una sessione, che è costituita dai seguenti parametri:– session identifer: identificatore della sessione scelto dal server– peer certificate: certificato X.509 dell'interlocutore -- può mancare– compression method: algoritmo di compressione– cipher spec: algoritmi di cifratura e autenticazione e relativi
parametri crittografici– master secret– is resumable: flag che indica se la sessione può essere utilizzata
per iniziare nuove connessioni
![Page 33: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/33.jpg)
34
MAC in SSL record
• Ogni blocco viene numerato e autenticato con MAC.• MAC= H(blocco, numero, K, stringhe note)• numero = 64 bit. No ripetizioni all’interno della stessa
sessione !!!• Si previene così facendo l’uso 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.
![Page 34: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/34.jpg)
35
TLS: Handshake
• Negoziazione del Cipher-Suite Algorithms– Symmetric cipher to use– Key exchange method– Message digest function
• Calcola e condivide il master secret
• Opzionalmente consente di autenticare server e/o client
![Page 35: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/35.jpg)
36
Handshake Phases
• Messaggi di Hello
• Messaggi per lo scambio di Certificati and Chiavi
• Messaggi di Change CipherSpec e Finished
![Page 36: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/36.jpg)
37
TLS: ServerKeyExchange
Client
ClientHello
Server
ServerHello Certificate ServerKeyExchange
![Page 37: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/37.jpg)
38
TLS: Hello
• Client “Hello” – inizia la sessione– Propone la versione del protocollo– Propone la cipher suite– Il Server sceglie protocol e suite
• Il Client può richiedere l’uso di cached sessions– Il Server sceglie se accordare la richiesta
![Page 38: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/38.jpg)
39
Server hello
• S riceve il msg (client hello) da U• S seleziona 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.
![Page 39: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/39.jpg)
40
TLS: Key Exchange
• Il Server invia un certificato contenente la chiave publlica (RSA) o i parametri Diffie-Hellman
• Il Client invia il “pre-master” secret cifrato al server usando il messaggio Client Key Exchange
• Viene calcolato il Master secret – Si usano i valori random usati nei messaggi Client
and Server Hello
![Page 40: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/40.jpg)
41
Costruzione del master secret
• U costruisce un pre-master secret P (nuova sequenza di byte casuali)
• U spedisce P a S dopo averlo cifrato con la chiave pubblica di S contenuta nel certificato e l’algoritmo 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.
![Page 41: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/41.jpg)
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.
![Page 42: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/42.jpg)
43
TLS: Certificate Request
Client
ClientHello
Server
ServerHello Certificate ServerKeyExchange CertificateRequest
![Page 43: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/43.jpg)
44
TLS: Client Certificate
Client
ClientHello
ClientCertificate ClientKeyExchange
Server
ServerHello Certificate ServerKeyExchange CertificateRequest
![Page 44: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/44.jpg)
45
Come vengono usati i certificati• I certificati consentono ai Web server ed ai client
l’autenticazione prima di stabilire una connessione per mezzo delle chiavi pubbliche
• I certificati sono parte del protocollo SSL per l’utilizzo di connessioni sicure: per sfruttare connessioni SSL un Web server deve ottenere ed installare un certificato
• I certificati possono essere essere adottati sia dal client che dal server solo con SSL 3.0
![Page 45: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/45.jpg)
46
Public Key Certificates
• X.509 Certificate associano le chiavi all’identità deio possessori
• Certification Authority (CA) crea il certificato– Rispetta le politiche e verifica le identità– Firma i certificati – L’utente deve verificare che il Certificato sia
valido
![Page 46: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/46.jpg)
47
Validare un Certificate
• Bisogna riconoscere la CA fidata nella certificate chain– Ogni CA può essere certificata da un’altra CA
• Occorre verificare che il certificato non sia stato revocato– La CA pubblica la Certificate Revocation List
(CRL)
![Page 47: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/47.jpg)
48
X.509: Certificate Content
• Version
• Serial Number
• Signature Algorithm Identifier– Object Identifier (OID)
– e.g. id-dsa: {iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 1}
• Issuer (CA) X.500 name
• Validity Period (Start,End)
• Subject X.500 name
• Subject Public Key
– Algorithm
– Value
• Issuer Unique Id (Version 2 ,3)
• Subject Unique Id (Version 2,3)
• Extensions (version 3)– optional
• CA digital Signature
![Page 48: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/48.jpg)
49
Subject Names
• X.500 Distinguished Name (DN)
• Associato ad un nodo della gerarchia di directory (X.500)
• Ogni nodo ha un Relative Distinguished Name (RDN)– Un percorso per raggiungere il nodo padre– Un set unico di coppie attributo/valore
![Page 49: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/49.jpg)
50
Example Subject Name
• Country at Highest Level (e.g. US)
• Organization typically at next level (e.g. CertCo)
• Individual below (e.g. Common Name “Elizabeth” with Id = 1)DN = {
• C=US; • O=CertCo; • CN=Elizabeth, ID=1}
![Page 50: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/50.jpg)
51
Version 3 Certificates
• Version 3 X.509 Certificates supporta formati ed estensioni alternative per i nomi– X.500 names– Internet domain names– e-mail addresses– URLs
• Un Certificato può includere più di un nome
![Page 51: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/51.jpg)
52
Certificate Signature
• RSA Signature– Crea l’hash del Certificato– Lo cifra usando la chiave privata della CA
• Signature verification – Decifra la firma usando la chiave pubblica della
CA– Verifica l’hash
![Page 52: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/52.jpg)
53
TLS: Change Cipher Spec, Finished
Client
[ChangeCipherSpec] Finished
Application Data
Server
[ChangeCipherSpec] Finished
Application Data
![Page 53: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/53.jpg)
54
TLS: Change Cipher Spec/Finished
• Change Cipher Spec– Chiede di iniziare l’utilizzo della Cipher Suite
concordata
• Finished– Invia una copia dell’handshake ed apre una
nuova sessione– Permette la validazione dell’handshake
![Page 54: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/54.jpg)
55
U Finished
• U invia a S il msg finished protetto utilizzando M.
• Costruzione di finished:
• FU = M + tutti msg di handshake scambiati finora +identità di U
• U codificando FU con SHA e MD5 lo invia a S.
![Page 55: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/55.jpg)
56
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:• FS = M + tutti msg di handshake scambiati finora
(incluso il msg finished di U) +identità di S.• S codifica FS con SHA e MD5 e lo invia a U.• U verifica il msg finished ricevuo da S.
![Page 56: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/56.jpg)
57
TLS: Using a Session
Client
ClientHello (Session #)
[ChangeCipherSpec] Finished
Application Data
Server
ServerHello (Session #)
[ChangeCipherSpec] Finished
Application Data
![Page 57: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/57.jpg)
58
Changes from SSL 3.0 to TLS
• Fortezza rimossa
• Aggiunti messaggi di Alert
• Modifiche al calcolo dell’hash
• Nuova Protocol version 3.1 in ClientHello, ServerHello
![Page 58: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/58.jpg)
59
TLS: HTTP Application
• HTTP è la più comune applicazione di TLS – https://
• Richiede TLS-capable web server
• Richiede TLS-capable web browser– Netscape Navigator– Internet Explorer– Cryptozilla
• Netscape Mozilla sources with SSLeay
![Page 59: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/59.jpg)
60
Web Servers
• Apache-SSL
• Apache mod_ssl
• Stronghold
• Roxen
• iNetStore
![Page 60: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/60.jpg)
61
Other Applications
• Telnet
• FTP
• LDAP
• POP
• SSLrsh
• Commercial Proxies
![Page 61: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/61.jpg)
62
TLS: Implementation
• Cryptographic Libraries– RSARef, BSAFE
• TLS/SSL packages– SSLeay– SSLRef
![Page 62: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/62.jpg)
63
X.509 Certificate Issues
• Certificate Administration is complex– Hierarchy of Certification Authorities– Mechanisms for requesting, issuing, revoking
certificates
• X.500 names are complicated
• Description formats are cumbersome (ASN.1)
![Page 63: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/63.jpg)
64
X.509 Alternative: SDSI
– SDSI: Simple Distributed Security Infrastructure (Rivest, Lampson)
• Merging with IETF SPKI: Simple Public-Key Infrastructure in SDSI 2.0
• Eliminate X.500 names - use DNS and text
• Everyone is their own CA
• Instead of ASN.1 use “S-expressions” and simple syntax
![Page 64: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/64.jpg)
65
TLS “Alternatives”
• S-HTTP: secure HTTP protocol, shttp://
• IPSec: secure IP
• SET: Secure Electronic Transaction– Protocol and infrastructure for bank card
payments
• SASL: Simple Authentication and Security Layer (RFC 2222)
![Page 65: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/65.jpg)
66
Protocollo SSL
![Page 66: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/66.jpg)
67
Riassumendo• PGP fornisce sicurezza per una
specifica applicazione
• SSL opera sullo strato di trasporto; fornisce sicurezza ad ogni applicazione TCP
• SSL: usato fra WWW browsers, servers per e-commerce (shttp).
• SSL servizi offerti:
– Autenticazione server
– Codifica dati
– Autenticazione client (opzionale)
Autenticazione Server:
– browser con SSL include chiavi pubbliche per CA fidate
– Browser richiede certificato del server alla CA fidata
– Browser usa la chiave pubblica della CA per estrarre la chiave pubblica del server dal certificato
![Page 67: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/67.jpg)
68
Riassumendo
Sessione SSL crittata:• Browser genera chiave
simmetrica di sessione, la codifica con la chiave pubblica del server e invia la codifica al server
• Server decodifica la chiave di sessione con la sua chiave pubblica
• Browser e server concordano che messaggi futuri saranno crittati
• I dati inviati nel socket TCP sono codificati con la chiave di sessione
• SSL: base del livello di trasporto sicuro (Transport Layer Security, TLS).
• SSL può essere usato anche per altre applicazioni (non Web) ad es., IMAP.
• L’autentica del cliente può essere fatta in modo analogo (usando certificati del cliente)
• Uso di chiavi di sessione generate ad hoc permette di limitare l’uso della chiave pubblica (+ veloce, + sicuro)
![Page 68: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/68.jpg)
69
Handshake Protocol
• ClientHello– Messaggio con il quale il client indica quali algoritmi supporta in ordine
di preferenza e inserisce un valore casuale• ServerHello
– Risposta del server che indica quali algoritmi (compressione, cifratura, autenticazione) ha scelto, il codice identificativo della sessione e un numero casuale
• [Certificate]– Messaggio contenente il certificato del server
• ServerKeyExchange– Messaggio contenente la chiave pubblica RSA o un valore per effettuare
uno scambio Diffie-Hellman• [CertificateRequest]
– Il server può richiedere al client un certificato
![Page 69: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/69.jpg)
70
Handshake Protocol
• Change cipher spec– E’ un protocollo che consiste di un solo messaggio che viene
crittato e compresso in base allo stato corrente della connessione– Tale messaggio viene inviato sia dal client che dal server per
notificare che i record successivi verranno protetti con gli algoritmi e le chiavi di cifratura appena negoziati
• Alert– Messaggi di controllo ed errore per notificare all’interlocutore una
particolare situazione o un evento– Tipi di messaggi: chiusura della connessione, errore nella verifica
del MAC o nella decifratura, vari tipi di errore relativi ai certificati
![Page 70: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/70.jpg)
71
Cipher suite
Key exchange methods:– RSA: richiede il certificato del destinatario– Fixed DH: richiede che entrambi abbiano il
certificato– Ephemeral DH: vengono scambiate chiavi
ephemeral firmate, sono richiesti i certificati per ambo le parti
– Anonymous DH: non occorre autenticazione delle chiavi DH, vulnerabile all’attacco men-in-the-middle
– Fortezza: Fortezza key exchange
![Page 71: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/71.jpg)
72
Cipher suite
• CipherAlgorithm: RC4, RC2, DES, 3DES, DES40, IDEA, Fortezza
• MACAlgorithm: MD5 or SHA-1• CipherType: stream or block• IsExportable: true or false• HashSize: 0, 16 or 20 bytes• Key Material: used to generate write keys• IV Size: size of IV for CBC
![Page 72: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/72.jpg)
73
Possibili modi di utilizzo
• Porti dedicati per ogni applicazione che utilizza SSL– quello che avviene di fatto
• Uso del porto comune e negoziazione della sicurezza come parte del protocollo applicativo
• Uso di SSL negoziato durante l’apertura della normale connessione TCP/IP
![Page 73: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/73.jpg)
74
Porti
• https 443• ssmtp 465• snntp 563• sldap 636• spop3 995• ftp-data 889• ftps 990• imaps 991• telnets 992• ircs 993
![Page 74: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/74.jpg)
75
Differenze tls/ssl
• TLS usa HMAC, SSL usa un precursore
• TLS MAC utilizza un maggior numero di meccanismi di compressione rispetto a SSL MAC
• TLS definisce alert codes aggiuntivi
• Altre differenze minori
• TLS può implementare SSL
![Page 75: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/75.jpg)
76
SSL & ACL
• Con gli odierni server web, utilizzati con protocollo HTTPS (HTTP over SSL) è possibile definire delle ACL basate sui possibili dati presenti nei certificati degli utenti abilitati all’accesso, – Es: campo “Organization” del Distinguished Name del
certificato utente
oppure consentire l’accesso esclusivamente ad un sottoinsieme di utenti i cui certificati sono contenuti in un repository
![Page 76: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/76.jpg)
77
SSL & ACL• Vantaggi:
– Gestione di parte dell’autenticazione demandata alla CA• In caso di utente malevolo, la revoca da parte della CA del certificato ha
come effetto l’impossibilità di accedere a qualunque sistema ( che ha prelevato l’ultima CRL…)
– Obbligo di revisione delle credenziali di accesso alla scadenza del certificato utente
– Semplificazione delle procedure di registrazione: l’identificazione dell’utente è stata già fatta dalla CA
– Single Sign On– Possibile centralizzazione/semplificazione delle funzioni di
Autenticazione e Autorizzazione– …
![Page 77: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/77.jpg)
78
SSL con APACHE
• la Apache Software Foundation non include nel progetto Apache Httpd il modulo per il supporto di SSL
• esistono due progetti open source che si propongono di garantire il supporto di SSL :mod ssl e Apache-SSL , ed entrambi gestiscono le connessioni sicure appoggiandosi alle librerie del progetto OpenSSL
• esistono altre implementazioni commerciali di moduli SSL per Apache:"Covalent Raven SSL Module For Apache”, la distribuzione IBM di Apache "IBM Http Server".
![Page 78: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/78.jpg)
79
Direttive per l’uso di SSL•SSLSessionCache: imposta il tipo di memorizzazione della cache
•SSLEngine è la direttiva che abilita o disabilita le connessioni SSL
•SSLProtocol controlla la versione del protocollo che verrà usata durante le transazioni sicure. Es. SSLProtocol All -SSLv2
•SSLCertificateFile e SSLCertificateKeyFile contengono banalmente il path ai file certificato e chiave del server
•SSLRequireSSL :usata nelle sezioni "<directory>" ci consente di rendere accessibili alcune aree del nostro server solo attraverso connessioni sicure
•SSLCipherSuite permette di configurare gli algoritmi crittografici che il client può usare quando viene stabilita la connessione
![Page 79: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/79.jpg)
80
Così…
• SSL non garantisce l’identità delle parti. Permette la cifratura delle comunicazioni tra client e server
• La cosa più importanti nelle transazioni è: conchi ho a che fare?
• Come fare a garantire ciò sul web ?
![Page 80: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/80.jpg)
Commercio Elettronico
![Page 81: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/81.jpg)
82
Schema della doppia codifica
![Page 82: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/82.jpg)
83
Commercio elettronico
• A: acquirente, con accesso a Internet.• B: venditore, con catalogo elettronico in Internet.• A consulta il catalogo di B, sceglie la merce da acquistare e attiva la
transazione.• B fornisce ad A la propria chiave pubblica.• Il PC di A automaticamente:
– prepara l’ordine elettronico m;– genera una chiave k con cui codifica m m’;– codifica k con la chiave pubblica di B k’;– invia m’ e k’ a B.
• Il computer di B automaticamente:– decodifica k’ con la chiave privata di B;– con k decodifica m’ e ottiene l’ordine.
• B spedisce la merce.
problema del pagamento
![Page 83: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/83.jpg)
84
Pagamento con carta di credito (schema teorico)
• CC indichi la Società della Carta di credito.• A consulta il catalogo di B, sceglie la merce da acquistare, fornisce i dati
della propria Carta di credito e attiva la transazione.• Il PC di A compie automaticamente due operazioni:
– prepara l’ordine elettronico senza i dati della Carta di credito e lo invia a B;
– prepara la nota di debito con i dati della Carta di credito e con riferimento a B; codifica questa nota con un sistema di doppia codifica e la invia a CC.
• CC decodifica la nota di debito, effettua i controlli rituali, contabilizza l’addebito su A e l’accredito su B, comunica a B il buon esito contabile dell’operazione.
• B riceve il messaggio da CC ed evade l’ordine.• Sistema sicuro ma informaticamente complesso (2 collegamenti
indipendenti).
![Page 84: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/84.jpg)
85
Pagamento con carta di credito (schema reale 1a)
Protocollo SSL (Secure Socket Layer)
• Sviluppato da Netscape e utilizzato anche da Microsoft.• m contiene sia i codici della merce sia le coordinate della carta
di credito.• m viene cifrato da A con un sistema a doppia codifica.• m viene inviato a B.• L’inoltro delle coordinate della carta di credito a CC è a cura del
venditore B.
![Page 85: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/85.jpg)
86
Osservazioni sulla sicurezzaPro
• k viene generata presso il mittente A, cambia ad ogni transazione e non esce dal PC di A.
• A è sicuro di ordinare merce da un fornitore B affidabile, la cui garanzia è fornita indirettamente da CC.
• B è sicuro di ricevere tramite CC il corrispettivo della merce spedita.
Contro
• B viene a conoscere le coordinate della carta di credito di A: la sicurezza del sistema pertanto è anche in funzione dell’etica di B, non valutabile a priori.
![Page 86: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/86.jpg)
87
Pagamento con carta di credito (schema reale 1b)
Variante del precedente
• m contiene sia i codici della merce sia le coordinate della carta di credito.
• m viene cifrato da A con un sistema a doppia codifica.• m viene inviato a CC.• L’inoltro dell’ordine al venditore B è a cura di CC.
Scompaiono i contro.
![Page 87: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/87.jpg)
88
Pagamento con carta di credito (schema reale 2)
Protocollo SET (Secure Electronic Transaction)
• Sviluppato su iniziativa di Visa e Mastercard (CC).• Le coordinate della carta di credito sono prima codificate con
la chiave pubblica di CC poi affiancate ai codici della merce: il tutto forma il messaggio m, che viene codificato con hB .
• B al ricevimento di m’ estrae le coordinate della carta di credito - che sono cifrate - e le invia a CC.
• CC le decodifica e autorizza B a spedire la merce.
![Page 88: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/88.jpg)
89
Osservazioni sulla sicurezza
Pro
• A è sicuro di ordinare merce da un fornitore B affidabile, la cui garanzia è fornita indirettamente da CC.
• B è sicuro di ricevere il corrispettivo della merce spedita.• B non viene a conoscere le coordinate della carta di credito di A: la
sicurezza del sistema pertanto dipende solo dell’etica di CC, che si presume altissima.
Contro
• Sistema nuovo, complesso, in corso di diffusione.
![Page 89: Intro to SSL/TLS Network Security Gene Itkis. 2 Sicurezza in rete Sicurezza a livello applicativo –Pros: concepita ad hoc per le applicazioni –Cons: richiede](https://reader036.vdocuments.mx/reader036/viewer/2022062701/5542eb59497959361e8c4e20/html5/thumbnails/89.jpg)
90
Secure electronic transact. (SET)Limiti di SSL in applicazioni e-
commerce. Garanzie su
– validità carta di credito (rubata?)
– Autorizzazione azienda (per transazione)
SET• Progettato per transazioni con
carta di credito
• Fornisce sicurezza fra:
– cliente
– negoziante
– banca negoziante
• Tutti hanno certificati
• Il numero della carta di credito è fornito in modo crittato (negoz. non vede il numero in chiaro)
– Previene frodi da parte del negoziante
• Tre componenti software :
– Browser
– Server negoziante
– Gateway cliente