160 likes | 313 Views
SSL (Secure Socket Layer). Alessio Mura. Introduzione. SSL v3.0 Netscape Communication Corporation Funzionalità fondamentali: Privatezza del collegamento Autenticazione Affidabilità (Message Authentication Code). Obiettivi. Sicurezza della crittografia Interoperabilità Ampliamento
E N D
SSL (Secure Socket Layer) Alessio Mura
Introduzione • SSL v3.0 • Netscape Communication Corporation • Funzionalità fondamentali: • Privatezza del collegamento • Autenticazione • Affidabilità (Message Authentication Code)
Obiettivi • Sicurezza della crittografia • Interoperabilità • Ampliamento • Efficienza
SSL • SSL Handshake Protocol • Contrattazione livello di sicurezza • Autenticazione con crittografia a chiave asimmetrica (RSA, DSS,…) • SSL Record Protocol • Cifratura dei messaggi e calcolo MAC • Uso di crittografia a chiave simmetrica (DES, RC4,…) e funzioni hash (SHA, MD5,…)
Pila TCP/IP H.T.T.P S.S.L. Handshake Prot. S.S.L Record Prot. T.C.P I.P.
Record Protocol (1) HTTP Frammentazione Compressione MAC Crittografia TCP
Record Protocol (2) Un pacchetto SSL può essere: • Change cipher spec • Alert • Fatal • Warning • Handshake • Application data Application data minor priorità
Record Protocol • MAC • MAC_write_secret • Funzione hash scelta Calcolato prima della cifratura
Handshake Protocol (1) Versione del protocollo Algoritmo di crittografia Autenticazione (opzionale) Generazione dati segreti
Handshake Protocol (2) • Client hello • Struttura Random • Numero di sessione • Lista algoritmi di crittografia (CipherSuite) • Lista algoritmi di compressione
Handshake Protocol (3) • Server hello Struttura uguale al client hello • Algoritmo di crittografia scelto • Algoritmo di compressione scelto • Server certificate • Server key exchange • Certificate Request
Handshake Protocol (4) • Server hello done Fine del server hello e relativi messaggi • Client certificate • Client key exchange
Handshake Protocol (5) • Master secret Generazione delle chiavi, altre stringhe per la crittografia e per il MAC • Pre-master secret generato dal client e criptato (metodi diversi a seconda dell’algoritmo scelto) • Calcolo del Master secret utilizzando • Funzioni hash • La struttura Random dei Server/Client hello • Pre-master secret
Handshake Protocol (6) • Change cipher spec Gli stati negoziati passano da “in attesa” a “operativi” • Finished Primo messaggio cifrato
Considerazioni finali • SSL agisce a livello di rete: non protegge da attacchi agli host • Problemi con l’uso dell’algoritmo RC4 (prime versioni chiavi a 40 bit) • Alcuni punti migliorabili (gestione degli errori)
Bibliografia • http://telemat.die.unifi.it/book/Internet/Security/elab3.htm • http://www.symbolic.it/presentazioni/ Presentazione_Bertoletti_webbit.pdf • Transport Layer Security Working Group - INTERNET-DRAFT