SSL/TLS.

Slides:



Advertisements
Presentazioni simili
Elementi di Crittografia MAC e FUNZIONI HASH
Advertisements

Windows Server 2003 Active Directory Diagnostica, Troubleshooting e Ripristino PierGiorgio Malusardi IT Pro – Evangelist Microsoft.
ISA Server 2004 Enterprise Edition Preview. ISA Server 2004.
ISA Server 2004 Configurazione di Accessi via VPN
Visual Studio Tools For Office 2005 Fabio Santini. NET Senior Developer Evangelist Microsoft Italy.
Windows Server 2003 SP1 Security Configuration Wizard PierGiorgio Malusardi IT Pro Evangelist Microsoft.
Introduzione ad Active Directory
Microsoft Visual Basic MVP
Fatti e misfatti dei protocolli di autenticazione LM, NTLM e Kerberos
Configuring Network Access
| | Microsoft Certificate Lifecycle Manager.
Branch office update – SP2. Agenda Messa in esercizio degli uffici remoti Compressione HTTP Differentiated Services Cache di BITS.
Microsoft Message Management Services Infosecurity – Milano Febbraio 2005 Bruno Barbagli Sales Solution Specialist.
Sicurezza 2003/2004 Simone Vallarino
La sicurezza nelle Griglie
Sicurezza II Prof. Dario Catalano Security Handshake Pitfalls.
Autenticazione dei messaggi e funzioni hash
3-1 User Datagram Protocol: UDP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
Come programmare servizi di rete?
Gestione delle chiavi Distribuzione delle chiavi pubbliche
Per crittografia si intende la protezione
DNSSEC COME GARANTIRE LA PROTEZIONE DEL TRASFERIMENTO DEI DATI DEL DNS CON LAUSILIO DELLA CRITTOGRAFIA Seminario per il corso di Reti di calcolatori e.
Secure Shell Giulia Carboni
Università Degli Studi Di Perugia Sicurezza Informatica A.A. 2011/2012
UNIVERSITÀ DEGLI STUDI DI BOLOGNA
A.A. 2007/2008Corso: Sicurezza 1 © Danilo Bruschi Sicurezza dei calcolatori e delle reti Proteggere la rete: protocolli crittografici Lez. 12.
Sicurezza su Reti /2007 Commessa 1 : Protocollo di pagamento online utilizzato nella commessa.
Certification Authority Fase I : Setup e Configurazione Componenti del gruppo : Marino Pasquale Marra Maria Cristina Molaro Alfonso Rullo Esterino.
SSL (Secure Socket Layer)
1 Novità sul protocollo TLS. Seminario di : Calabrese Luca - estensione per il Wireless. - IC.
Elementi di sicurezza nelle reti
Introduzione alla Sicurezza Web
Prof. Zambetti -Majorana © 2008
Reti di Calcolatori IL LIVELLO RETE.
Network Security Gene Itkis
ICMP - PING - TRACEROUTE
Item Tracking in NAV 5.0 SOLUTIONS. Item Tracking Perchè cambiare Problemi delle release precedenti –Difficoltà di utilizzo –Non perfetta integrazione.
Un servizio di autenticazione per sistemi di rete aperti
Protocollo di autenticazione KERBEROS
Comunicazione sicura sulle reti
1 Applicazioni contabili
La sicurezza può essere fornita in ciascuno degli strati: applicazione, trasporto, rete. Quando la sicurezza è fornita per uno specifico protocollo dello.
> Remote Authentication Dial In User Service
Secure Socket Layer (SSL) Transport Layer Security (TLS)
Patrizio ANGELINI Alessio BROZZI Giulia MASSIMI Roberto TURCHETTI
INFORMATICA MATTEO CRISTANI. INDICE CICLO DELLE LEZIONI LEZ. 1 INTRODUZIONE AL CORSO LEZ. 2 I CALCOLATORI ELETTRONICI LEZ. 3 ELEMENTI DI TEORIA DELL INFORMAZIONE.
Cenni di Crittografia Il procedimento di crittografia consiste nel rendere illeggibile un testo in chiaro mediante l’uso di un determinato algoritmo e.
L’architettura a strati
IPSec Fabrizio Grossi.
Capitolo 8 La sicurezza nelle reti
Analisi e sperimentazione di una Certification Authority
RETI MOBILI E MULTIMEDIALI Università degli Studi di Roma “La Sapienza” Dipartimento INFOCOM Aldo Roveri Lezioni dell’ a.a Aldo Roveri Lezioni.
Directory Directory cos’e’? Directory qual’e’ il suo scopo?
Certificati e VPN.
La Crittografia nell’ambito del protocollo HTTP Classe: V istituto professionale (gestione aziendale) Obiettivo 1: Generazione di competenze e preparazione.
VPN Marco Sanlorenzo.
Sicurezza informatica
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Procedure di Sicurezza nella Soluzione UPMT per la Mobilità Verticale in Reti IP 1.
PKI e loro implementazione Corso di Sisitemi Informativi Teledidattico A.A. 2006/07
Reti di calcolatori e sicurezza “Configurare il web-server Apache” a cura di Luca Sozio.
Università “G. d’Annunzio” Corso di Laurea Specialistica in Economia Informatica SECURE PROGRAMMING Prof. Stefano Bistarelli SEMINARIO “Authentication.
1 Certificati a chiave pubblica strutture dati che legano una chiave pubblica ad alcuni attributi di una persona sono firmati elettronicamente dall’ente.
Agenda – Parte II La creazione del documento informatico e la firma digitale La classificazione del documento e il protocollo informatico La trasmissione.
La firma digitale. Che cosa é la firma digitale? La firma digitale è una informazione aggiunta ad un documento informatico al fine di garantirne integrità.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Crittografia e crittoanalisi Crittografia: tecnica che consente di rendere visibili o utilizzabili le informazioni solo alle persone a cui sono destinate.
Sicurezza dei Sistemi Informatici L.S. in Ingegneria Informatica Docente: Prof. Giuseppe Mastronardi CRITTOGRAFIA E CRITTOANALISI ATTACCHI AI SISTEMI DI.
Transcript della presentazione:

SSL/TLS

Applicazione di SSL/TLS Web Security Problemi Integrità Modifica dei dati, inserzione Confidenzialità Ascolto sulla rete Furti sulla macchina server SSL può risolvere alcuni problemi, ma misure di sicurezza fisica restano necessarie Autenticazione Impersonificazione Denial of service, Web server modificati Applicazione di SSL/TLS

SSL (Secure Socket Layer) Originariamente sviluppato da Netscape La versione 3 è disegnata contributi pubblici Standardizzazione presso IETF Comitato TLS (Transport Layer Security) formato TLS considerabile SSL v3.1 Compatibile con SSL v3

Due concetti di SSL Sessione SSL Connessioni SSL Un’associazione tra client e server Definisce un insieme di parametri crittografici creati dal protocollo di Handshake Può essere condivisa da diverse connessioni SSL Usata per evitare costose negoziazioni dei parametri criptografici per ogni connessione Connessioni SSL Un link di comunicazione sicuro, paritetico, transiente Associata con (derivata da) una sessione SSL Entrambe con diversi parametri che definiscono Session state Connection state

Stack di protocolli SSL Usa protocollo TCP: consegna dati affidabile Aggiunge funzioni di sicurezza SSL non è un protocollo singolo: protocollo a due livelli IP TCP SSL Record protocol SSL Handshake protocol SSL Change Cipher Spec protocol SSL Alert protocol HTTP

SSL Record protocol Dati applicativi Frammentazione Compressione Aggiunta MAC Cifratura Aggiunta header SSL Record protocol

Change Cipher Spec protocol Protocollo molto semplice: singolo comando tra client e server Il nuovo stato stabilito dal protocollo di handshake è uno stato di pending non ancora valido Il protocollo Change Cipher Spec rende attivo lo stato di pending: cambiano I parametri di connessione

Alert protocol Trasferisce gli alert collegati a SSL alle entità in connessione Reso sicuro con il Record protocol usando i parametri di connessione attuali Ogni messaggio è di due byte Un bite per la severità dell’alert Warning: connessione può essere ripristinata Fatal: connessione terminata Un bite per il tipo (alert code) Unespected message Bad record MAC Decompression failure Handshake failure Illegal parameter Close notify No certificate Bad certificate Unsupported certificate Certificate revoked Certificate expired Certificate unknown

Handshake protocol Consente a client e server Mutua autenticazione Negoziazione di crittatura e protocollo MAC Negoziazione delle chiavi crittografiche Stabilire uno state Eseguito prima di qualsiasi trasmissione di dati Eseguito anche se si riutilizza una sessione già esistente

Handshake protocol Tipo messagio Parametri Hello_request null Type 1byte Length 3 byte Content ≥ 0 byte Tipo messagio Parametri Hello_request null Client_hello Versione, random, id sessione, suite di cifratura, metodo di compressione Server_hello Certificate Catena dei certificati X.509 Server_key_exchange Parametri e firma Certificate_request Typo e CA Server_done Null Certificate_verify Firma Cleint_key_exchange Finished Valore hash 

Handshake protocol Client Server Tempo Fase 1 client_hello Definizione delle caratteristiche di sicurezza (numero di protocollo, ID sessione, suite cifratura, metodo di compressione, numeri random iniziali) client_hello server_hello certificate Fase 2 Invio del certificato del server, invio chiavi server, eventuale richiesta certificato client, fine fase di hello server_key_exchange certificate_request server_hello_done Tempo certificate Fase 3 Invio del certificato del client (se richiesto), invio chiavi client, invio verifica del certificato client_key_exchange certificate_verify change_cipher_spec Fase 4 Modifica della siute di cifratura e fine del protocollo di handshake finished change_cipher_spec finished

Handshake fase 1 client_hello (lista delle preferenze del client) versione: la maggiore supportata dal client Numero random del client Incluso il time stamp per evitare attacchi di replay ID di sessione ≠ 0 richiesta di sessione già esistente per aprire la nuova connessione = 0 il client vuole aprire una nuova sessione Metodo di compressione supportato dal client Suite di cifratura Lista degli algoritmi di crittazione supportati dal client in ordine di preferenza Ogni elemento è un algoritmo di scambio delle chiavi

Handshake fase 1 server_hello (risposte alle richieste del client) versione: quella proposta dal client se supportata, se no massima supportata dal server Numero random del server ID sessione Se l’offerta fatta dal client è ancora supportata  uguale a quello del client Nuovo ID assegnato dal server Metodo di compressione scelto dalla lista del client Suite di cifratura scelta dalla lista del client

Metodi di scambio delle chiavi Prima è scambiato un pre-master secret Da questo si deriva un master secret Le altre chiavi sono derivate dal master secret

Scambio del pre-master secret RSA Server manda il proprio certificato con chiave pubblica del server Client cripta il pre-master secret con la chiave pubblica del server e lo invia Diffie-Hellman (DH) a parametri fissi I parametri DH di server e client sono fissi e scambiati con i certificati Ephemeral DH I certificati server e client contengono le chiavi RSA Server crea i parametri DH (one-time) e li firma digitalmente Anonymous DH Nessun certificato, nessuna autenticazione, invio dei soli parametri DH  vulnerabile ad attacchi MITM

Parametri di cifratura Algoritmi RC4, RC2, DES, 3DES, DES40 (40-bit DES), IDEA Algoritmi di hashing per MAC MD5 o SHA-1 Tipo di cifratura A stream o a blocchi Dimensione dei vettori di inizializzazione

Handshake fase 2 certificate (server) server_key_exchange Necessario per autenticare il server Con DH a parametri fissi si hanno tutte le informazioni per lo scambio di chiavi  non serve la fase di scambio delle chiavi server_key_exchange Non serve per DH a parametri fissi e RSA (se RSA non è solo per firma) Contenuto del messaggio dipende dal metodo scelto Anonymous-DH: parametri DH pubblici e chiave pubblica del server Ephemeral DH: come sopra più firma su scambio chiave RSA Firma contiene valori numerici scambiati nella fase di hello

Handshake fase 2 certificate_request server_hello_done Il server può chiedere il certificato client (non usuale) mutua AuthN Due campi: Tipo di certificato (DH a parametri fissi, ephemeral DH, solo firma) Lista delle CA accettate dal server server_hello_done Server si mette in attesa della risposta del client

Handshake fase 3 Dopo server_hello_done client verifica il certificato server e i parametri hello certificate (client) Inviato solo se richiesto dal server client_key_exchange Contenuto funzione del metodo concordato RSA: pre-master secret (48-byte) criptato con chiave RSA del server DH a parametri fissi: sono nel certificato client  messaggio null Anonymous o ephemeral DH Parametri e chiave pubblica inviati senza firma non c’è autenticazione del client!

Handshake fase 3 In questa fase non c’è autenticazione del client Chiunque può inviare il messaggio client_key_exchange certificate_verify Metodo di autenticazione del client Client firma con la propria chiave privata un messaggio contenente master secret e messaggi di handshake Eccetto per DH a parametri fissi che non ha chiave di firma E per DH a parametri fissi? Nessuna autenticazione Un attacante non può produrre le chiavi pre-master e master se non conosce le chiavi DH private

Handshake fase 4 change_cipher_spec finished Attiva le informazioni di cifratura scambiate e la connessione finished Un MAC creato sui messaggi di handshake usando il master secret Per verificare che la fase di handshake è andata a buon fine e che entrambe le parti hanno la stessa master secret finished del client verificato dal server e viceversa

Creazione del master secret Master secret: valore di 48-byte generato per sessione Creazione in due fasi pre-master secret scambiato durante handshake Con RSA: client crea, cifra e invia  server decifra) Con DH: entrambi calcolano lo stesso valore master secret è calcola a partire da pre-master secret e stringhe random master_secret = MD5(pre_master_secret + SHA('A' + pre_master_secret + ClientHello.random + ServerHello.random)) + MD5(pre_master_secret + SHA('BB' + pre_master_secret + ClientHello.random + ServerHello.random)) + MD5(pre_master_secret + SHA('CCC' + pre_master_secret + ClientHello.random + ServerHello.random));

TLS (Transport Layer Security) TLS definito in RFC 2246 Simile a SSL v3 con alcune differenze: Numero versione: 3.1 MAC: TLS usa HMAC con pad in XOR (SSL appende i pad) Alert code aggiuntivi Suite di cifratura uguali a SSL ad esclusione di Fortezza Client con ephemeral DH non sono accettati in TLS Ci sono differenza nel calcolo di certificate_verify e finished Usata una diversa funzione di generazione di numeri pseudo-random

© 2005 Microsoft Corporation. All rights reserved © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.