Internet Security: Secure Socket Layer

Documenti analoghi
Distribuzione delle chiavi pubbliche. Gestione delle chiavi. Distribuzione delle chiavi pubbliche

Internet Security: Secure Sockets Layer

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

Il protocollo SSL! Il protocollo SSL! (Secure Socket Layer)! "Uno dei protocolli più diffusi nelle comunicazioni sicure:!

Secure Socket Layer (SSL) Transport Layer Security (TLS)

Sicurezza nelle reti: protezione della comunicazione

Identificazione: Autenticazione: Firma digitale:

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli

Programmazione in Rete

La sicurezza nelle reti di calcolatori

Sicurezza dei calcolatori e delle reti. Le protezioni cripto in rete Lez. 10

La suite di protocolli SSL

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

Approfondimento di Marco Mulas

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

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

Secure Socket Layer. Sicurezza del livello Trasporto

Identificazione, Autenticazione e Firma Digitale. Firma digitale...

Sicurezza dei sistemi e delle reti 1

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

Elementi di Sicurezza informatica

Sommario. Introduzione alla Sicurezza Web

Sicurezza ai vari livelli

Tecnologie e applicazioni web Autenticazione

Livello Applicazioni Elementi di Crittografia

Parte prima Cifrature asimmetriche 21

Sicurezza. Ingegneria del Software e sicurezza. Alice, Bob, e Trudy. Sicurezza non si caratterizza in modo semplice

RETI DI CALCOLATORI II

Protocolli di Rete. Sabrina De Capitani di Vimercati. DEA - Università di Brescia. c Sabrina De Capitani di Vimercati p.

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

Esercitazione 2 Certificati

Esercitazione 2 Certificati

La crittografia nell infrastruttura di rete

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

La sicurezza del Web SSL

SECURE SOCKET LAYER FEDERICO REALI

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

Crittografia: Servizi richiesti

Sicurezza delle , del livello di trasporto e delle wireless LAN

Elementi di Sicurezza e Privatezza Lezione 15 Sicurezza della posta elettronica

Cenni sulla Sicurezza in Ambienti Distribuiti

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

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

Seminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. tecniche crittografiche e protocolli

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione

Side Channel Attack contro il protocollo SSL

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione

Elementi di Sicurezza e Privatezza Lezione 14 Web Security - IPSec

Corso di Sicurezza nelle reti a.a. 2009/2010. Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU

Crittografia per la sicurezza dei dati

Internet. Elementi di Sicurezza e Privatezza Lezione 12 Web Security (4) SSL/TLS e IPSec. Chiara Braghin.

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Sicurezza su reti Uso della crittografia simmetrica

Problemi legati alla sicurezza e soluzioni

Meccanismi di autenticazione sicura. Paolo Amendola GARR-CERT

Privacy e firma digitale

Overview. SSL, TLS e OpenSSL TCP/IP. Corso di Sicurezza su reti PARTE I: Il protocollo SSL

I protocolli di sicurezza usati nelle VPN

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Intercettazione dei dati. Uso della crittografia simmetrica

Http e Https. http usa la porta 80. Perciò è nato https - usa la porta 443

Corso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015. Lezione del 11 Maggio 2015

OpenVPN: un po di teoria e di configurazione

Appendice C. C. Protocolli per comunicazioni sicure

Sicurezza degli accessi remoti. La sicurezza degli accessi remoti

Elementi di Sicurezza e Privatezza Lezione 12 Web Security (4) SSL/TLS e IPSec

Università degli Studi di Brescia Corso di Laurea Magistrale in Ingegneria Informatica

Corso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015. Lezione del 18 Maggio 2015

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

ITC Mossotti - Novara. Verica di Informatica. Nome e Cognome:... 1) Nella cifratura convenzionale. 2) Nella crittograa a chiave pubblica

Crittologia. crittologia = kryptos + logos crittografia crittoanalisi. testo in chiaro (M) => testo cifrato (C) processo di cifratura (E)

RETI DI CALCOLATORI II

Filippo Bergamasco ( DAIS - Università Ca Foscari di Venezia Anno accademico:

Security protocols: : TLS

Sicurezza in rete SSL

Sicurezza delle applicazioni di rete

Sicurezza dei sistemi e delle reti 1

Sicurezza delle reti. Monga TLS/SSL. A livello di trasporto. Sicurezza perimetrale

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:

Reti di Calcolatori:

IPSEC. le applicazioni che utilizzano IP.

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

Sicurezza delle applicazioni di rete. Sicurezza di canale. Sicurezza di messaggio (o dei dati) Antonio Lioy - Politecnico di Torino ( ) 1

Crittologia. Obiettivi della crittografia. Autenticazione dell utente (1.) Riservatezza dei dati

Elementi di Sicurezza e Privatezza Lezione 5 Protocolli Crittografici (1)

CRITTOGRAFIA, CERTIFICATI DIGITALI E PROTOCOLLI DI SICUREZZA

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

Kerberos & Proxy. Gregorio D Agostino. 9 giugno 2016

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

Protezione dei Dati Digitali: Scenari ed Applicazioni

Cifratura Asimmetrica

Crittografia a chiave pubblica

Message Authentication Code

La firma digitale, o firma elettronica qualificata, basata sulla tecnologia della crittografia a chiavi asimmetriche, è un sistema di autenticazione d

Elementi di Sicurezza e Privatezza Lezione 5

Autenticazione, firme digitali e certificati digitali

IPSec. Internet Protocol Security. Mario Baldi. Synchrodyne Networks, Inc. mbaldi[at]synchrodyne.com. IPSec - 1 M. Baldi: nota a pagina 2

Introduzione Kerberos. Orazio Battaglia

Transcript:

Introduction Internet Security: Secure Socket Layer! Security in the Internet: " at which (OSI, TCP/IP) level? Ozalp Babaoglu ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA Babaoglu 2001-2007 Sicurezza 2 Introduction Introduction! Security at the application level " Pros: designed for application requirements " Cons: requires multiple security mechanisms! Security at the transport level " Pros: provides common interface to security services " Cons: requires (minor) modification to applications! Security at the network level " Pros: # works also with security-ignorant applications # can extend secure enclave across insecure areas " Cons: may require modifications at the OS level! Security at the network level " IPSec! Security at the transport level " SSL (Secure Socket Layer)! Security at the application level " S/MIME " PGP " Kerberos " SET Babaoglu 2001-2007 Sicurezza 3 Babaoglu 2001-2007 Sicurezza 4

SSL: Secure Socket Layer SSL! Protocollo proposto dalla Netscape Communications Corporation! Garantisce confidenzialità e autenticazione delle comunicazioni su Internet! Protegge da intrusioni, modifiche o falsificazioni! Crittografia ibrido " Cifrari Simmetici " Cifrari Asimmetrici " Cerificati " MAC Babaoglu 2001-2007 Sicurezza 5 Babaoglu 2001-2007 Sicurezza 6 SSL SSL: Applicazioni Client Server HTTP HTTPS HTTP! E-commerce! On-line trading SSL SSL! Internet banking TCP/IP TCP/IP! Any application where confidential data (password, credit card number) needs to be sent to a remote host Babaoglu 2001-2007 Sicurezza 7 Babaoglu 2001-2007 Sicurezza 8

SSL: Implementation SSL: Handshake e Record! SSL Handshake crea un canale sicuro, affidabile e autenticato tra client e server entro il quale...!... SSL Record fa viaggiare i messaggi incapsulandoli in blocchi cifrati e autenticati HTTP SMTP IMAP! Handshake: definisce il canale ovvero una suite crittografica che contiene i meccanismi di cifratura e autenticazione e le relative chiavi! Record: implementa il canale utilizzando la suite per cifrare e autenticare i blocchi prima di darli in pasto a TCP Babaoglu 2001-2007 Sicurezza 9 Babaoglu 2001-2007 Sicurezza 10 SSL: Handshake e Record SSL Sessions and Connections Client U Server S - Client hello - Pre-master secret - Cert. del Client - Finished - Server hello - Cert. del Server - Req. Cert. Client - Server hello done - Finished - Scambio sicuro dati - Scambio sicuro dati Handshake Record! SSL Session " A long-lasting association between a client and a server " Created by the Handshake Protocol " Associated to a set of security parameters " Used to avoid the expensive negotiation of new security parameters! SSL Connection " A transport connection between a client and a server " Connections are transient " Every connection is associated with one session Babaoglu 2001-2007 Sicurezza 11 Babaoglu 2001-2007 Sicurezza 12

SSL Sessions and Connections SSL Sessions and Connections! Between any pair of parties " There may be multiple connections " Normally there is a single session! Session state " Session identifier: arbitrary byte sequence to identify an active session " Peer certificate: an X509.v3 certificate of the peer; may be null " Compression method: used to compress data prior to encryption " Cipher spec: specifies the data encryption algorithm " Master secret: 48 byte secret shared between client and server Babaoglu 2001-2007 Sicurezza 13 Babaoglu 2001-2007 Sicurezza 14 SSL Sessions and Connections SSL Record Protocol! Connection State " Client/Server random: Random byte sequences used as identifier chosen by the client and the server at each connection " Client/Server write MAC secret key: Secret key used in Message Authentication Code (MAC) operations on data sent by the client/server " Client/Server write secret key: Encryption key for data encrypted by the client/server and decrypted by the server/client " Sequence Numbers! SSL Record Protocol provides " Confidentiality: The Handshake Protocol defines a shared secret key used for conventional encryption of SSL payloads " Integrity: The Handshake Protocol defines a shared secret key used to generate Message Authentication Code Babaoglu 2001-2007 Sicurezza 15 Babaoglu 2001-2007 Sicurezza 16

Client hello Server hello! U manda a S un msg richiedendo una connessione SSL! U specifica le prestazioni di sicurezza desiderate " Versione del protocollo SSL sopportato " Lista di algoritmi di compressione sopportati " Cipher Suite: SSL_RSA_WITH_3DES_EDE_CBC_SHA # RSA: scambio chiavi di sessione # 3DES_EDE_CBC: cifratura simmetrica # SHA: funzione hash one-way per MAC! U allega una sequenza di byte casuali! S riceve il msg ( client hello ) da U! S selezione un algoritmo di compressione tra quelli elencati da U! S seleziona dalla cipher suite inviata da U una cipher suite comune (tra U e S)! S invia a U un msg ( server hello ) contenente gli elementi selezionati e una nuova sequenza di byte casuali! Se U non riceve il msg server hello interrompe la comunicazione Babaoglu 2001-2007 Sicurezza 17 Babaoglu 2001-2007 Sicurezza 18 Scambio di Certificati Server hello done! S si autentica con U inviandogli il proprio certificato digitale (sequenza di certificati emessi da diverse CA)! Se i servizi offerti da S devono essere protetti negli accessi, S può richiedere a U di inviargli il suo certificato (autenticazione di U con S)! S invia il msg server hello done a U! Server hello done sancisce la fine della fase in cui ci si accorda sulla cipher suite e sui parametri crittografici Babaoglu 2001-2007 Sicurezza 19 Babaoglu 2001-2007 Sicurezza 20

Autenticazione del server al client Altrimenti...! S si autentica con uso di certificato! No man-in-the-middle attack! U controlla la attualità del certificato ricevuto da S! U controlla che il certificato sia firmato da una CA tra quelle di cui si fida e che la firma sia autentica! Se S spedisce una lista di certificati si controlla l intera lista Babaoglu 2001-2007 Sicurezza 21 Babaoglu 2001-2007 Sicurezza 22 Pre-master secret, Master secret Costruzione di M al server! U costruisce un pre-master secret P come una 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 (nell esempio U usa RSA)! 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! S decifra il msg di U e ottiene P! S calcola M nello stesso modo con cui U aveva calcolato M a partire da P! Nota: S può farlo perché dispone delle stesse informazioni di cui dispone U Babaoglu 2001-2007 Sicurezza 23 Babaoglu 2001-2007 Sicurezza 24

Autenticazione del Client Invio del certificato di U (opzionale)! 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! Quando richiesto da S, U gli invia il suo certificato! Se non lo possiede, si interrompe il protocollo! Insieme al certificato, U allega e firma con la sua chiave privata, la SSL-history! S controlla il certificato e in caso di anomalie interrompe il protocollo Babaoglu 2001-2007 Sicurezza 25 Babaoglu 2001-2007 Sicurezza 26 Messaggi Finished Client Finished! Questi messaggi vengono costruiti in base al master secret e contengono tutte le informazioni che i due partner si sono scambiati durante la fase di handshake! Permettono a U e S di effettuare un controllo ulteriore sulle comunicazioni avvenute e di accertarsi di possedere lo stesso master secret! Permettono a U e S di accertarsi che non ci sia stato un attacco di tipo man-in-the-middle! U invia a S il msg finished protetto utilizzando M! Costruzione di finished F U = M + tutti msg di handshake scambiati finora + identità di U! U codifica F U con SHA e MD5 e lo invia a S Babaoglu 2001-2007 Sicurezza 27 Babaoglu 2001-2007 Sicurezza 28

Server Finished Client Hello e Server Hello! S verifica il msg finished di U ricalcolando il tutto! S invia a U il suo msg finished protetto utilizzando M! Costruzione di finished : F S = M + tutti msg di handshake scambiati finora (incluso il msg finished di U) + identità di S! S codifica F S con SHA e MD5 e lo invia a U! U verifica il msg finished ricevuo da S! In questa fase U e S si scambiano byte casuali (diversi ogni volta)! M è funzione di queste sequenze di byte casuali! L intruso non può riutilizzare i msg di handshake di sessioni precedenti per impersonare S in una successiva sessione con U (replay attack) Babaoglu 2001-2007 Sicurezza 29 Babaoglu 2001-2007 Sicurezza 30 SSL record protocol SSL record protocol Application Data! I dati vengono frammentati in parti di lunghezza opportuna! Ogni blocco viene numerato, compresso, autenticato con MAC, cifrato con chiave segreta e trasmesso usando il protocollo di trasporto sottostante (TCP)! Il destinatario opera in modo inverso al mittente e restituisce il messaggio all applicazione sovrastante (HTTP, SMTP, IMAP, etc.) Fragment Compress Add MAC Encrypt Append SSL Record Header Babaoglu 2001-2007 Sicurezza 31 Babaoglu 2001-2007 Sicurezza 32

MAC in SSL record Generazioni Sequenze Casuali! Ogni blocco viene numerato e autenticato con MAC! MAC= H(blocco, numero, K, stringhe note)! numero = 64 bit quindi 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! Sono contenute il client hello, server hello e pre-master secret! Da loro dipendono fortemente il master secret e quindi le chiavi segrete di sessione! La sequenza contenuta nel pre-master secret è inviata da U a S in modo cifrato e la sua impredicibilità è cruciale per la sicurezza del canale SSL! Se il generatore di sequenze pseudo-casuali non è di qualità, l intero protocollo si indebolisce Babaoglu 2001-2007 Sicurezza 33 Babaoglu 2001-2007 Sicurezza 34 Conclusioni SSL in practice! SSL è sicuro quanto la più debole cipher suite da esso sopportata! Sarebbe meglio disabilitare nel proprio browser tutti i protocolli con chiavi troppo corte (esempio: cifrari simmetrici con chiavi a 40 bit e asimmetrici con chiavi fino a 512 bit)! Non effettuare connessioni con sistemi anonimi perché si rischia che la propria password venga estorta!!! Babaoglu 2001-2007 Sicurezza 35 Babaoglu 2001-2007 Sicurezza 36

SSL in practice Babaoglu 2001-2007 Sicurezza 37