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 SSL Record 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
Record Protocol (1) Frammentazione Compressione MAC Crittografia HTTP 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 Server certificate 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 Client certificate 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 Finished 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