La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

IL Protocollo SSL Comunicazione sicura sulle reti.

Presentazioni simili


Presentazione sul tema: "IL Protocollo SSL Comunicazione sicura sulle reti."— Transcript della presentazione:

1 IL Protocollo SSL Comunicazione sicura sulle reti

2 Comunicazione sicura n TCP/IP non fornisce meccanismi di sicurezza. n Uso WWW ristretto a scambi di informazioni non confidenziali. n La proposta di Netscape : Secure Socket Layer (SSL)

3 SSL/TLS n SSL è diventato in poco tempo uno standard de facto nella Internet Community. n SSL è stato sottoposto allIETF per trasformarsi nello standard ufficiale Internet per il Transport Layer Security (TLS).

4 SSL : caratteristiche determinanti n SSL può essere sovrapposto a qualsiasi protocollo di trasporto (è indipendente da TCP/IP). n Può essere utilizzato con vari protocolli di applicazione (HTTP,FTP e TELNET).

5 SSL : relazioni con gli altri protocolli Application Software Internet Basic Transfer Protocol Encryption Algorithms Application Protocols SSLref SSL Protocol Client/Server Sw TELNETFTPHTTP RSA RC4 RC2 IDEA DESTriple DES

6 SSL: proprietà n Connessione privata. Dopo uniniziale handshake per definire una chiave segreta viene usata crittografia a chiave simmetrica (es. DES). n Autenticazione comunicanti. Lidentità dei comunicanti può essere autenticata usando crittografia a chiave pubblica (es. RSA). n Connessione affidabile. I messaggi contengono controllo di integrità usando un MAC (Message Authentication Code) calcolato con funzioni hash sicure (es. SHA,MD5).

7 SSL: obiettivi (in ordine di priorità) n Sicurezza crittografica n Interoperabilità. Programmatori indipendenti possono sviluppare applicazioni utilizzando SSLv.3 che potranno scambiarsi i dati crittografici senza conoscere i rispettivi codici (solo se su hw compatibili). n Estensibilità. Possibilità di inserire nuovi metodi a chiave pubblica e di crittografia a blocchi. n Relativa efficienza. Implementando un schema di caching per ridurre il numero di connessioni e lattività della rete.

8 SSL: Struttura del protocollo Handshake Protocol Record Protocol TCP/IP SSL Protocol n Handshake: mutua autenticazione di server e client. n Record: incapsulazione dei dati provenienti dai vari protocolli di più alto livello.

9 SSL: Handshake Protocol n È usato per negoziare gli attributi di sicurezza di una sessione. n Questi saranno inizialmente registrati in uno stato pending che soltanto successivamente diventerà effettivo. n Pertanto i messaggi dellhandshake allinizio sono messaggi in chiaro.

10 SSL: Handshake overview ClientServer Client hello server hello Certificate* ServerKeyExchange* CertificateRequest* ServerHelloDone Certificate* ClientKeyExchange CertificateVerify* ChangeCipherSpec Finished ChangeCipherSpec Finished Application data

11 SSL: Hello messages n Client Hello. Client_version random session_ID Cipher Suites (ES) Compression Methods EDH-RSA-DES-CBC-SHA

12 SSL: Hello messages n Server Hello. Server_version random session_ID Cipher Suite Compression Method

13 SSL: Server key exchange n Il tipo di parametri scambiati dipende dal metodo di cifratura definito nel Cipher Suite: –RSA –Diffie-Hellman n In entrambi i casi il server manda i parametri in chiaro e gli stessi parametri firmati con una funzione hash.

14 SSL: Server key exchange n RSA n Diffie-Hellman Parametri modulo esponente Parametri firmati Hash ( client.random + server.random + parametri) Parametri C M C^A mod M Parametri firmati Hash ( client.random + server.random + parametri) Dove + indica concatenazione e Hash è lalgoritmo scelto (MD5 oSHA)

15 SSL: Client key exchange n Il client genera un valore random di 46 bytes, il PreMasterSecret. n Lo cripta con la chiave pubblica (RSA o Diffie-Hellman) ottenuta dal server attraverso il certificato o con un server key exchange message e lo manda al server.

16 SSL: Il MasterSecret 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)); Con una computazione simile dal master secret, il server e il client generano un key_block che partizioneranno nelle chiavi segrete necessarie alla comunicazione. Generazione dal PreMasterSecret:

17 SSL: Il Master Secret n Generazione del key block: Key_block = MD5 (master_secret + SHA (A + master_secret + ServerHello.random + ClientHello.random)) + MD5 (master_secret + SHA (BB + master_secret + ServerHello.random + ClientHello.random)) + MD5 (master_secret + SHA (CCC + master_secret + ServerHello.random + ClientHello.random)) + […];

18 SSL: Il Master Secret n Esempio di partizionamento del key block: Client_write_MAC_secret = key_block[0..15] Server_write_MAC_secret = key_block[16..31] Client_write_key = key_block[32..36] Server_write_key = key_block[37..40] […]

19 SSL: Change Cipher Spec Protocol n Consiste di un singolo messaggio (Change Cipher Spec Message) di un solo byte di valore 1. n Serve per avvisare che i record successivi saranno protetti con i meccanismi negoziati nellhandshake. n È possibile mandare un CCSM solo in determinati punti della comunicazione. Un CCSM in un altro momento causa un Unespected_Message_Alert.

20 SSL: stato di una sessione n Include: –session id –peer certificate –compression method –cipher specification –premaster secret –is resumable

21 SSL: stato di una connessione n Una sessione include più connessioni. n Lo stato di una connessione include: –server and client random –server write_MAC_secret –client write_MAC_secret –server write_key –client write_key –initilization vector –sequence number

22 SSL: Finished Messages HASH (master_secret + pad2 + HASH (handshake_messages + Sender + master_secret + pad1)); HASH = MD5/SHA handshake_messages = tutti i messaggi a partire dal client hello fino a questo escluso.

23 SSL: Record Layer n Si occupa della –frammentazione –compressione dei blocchi –cifratura e delle operazioni inverse. n Usa gli algoritmi di compressione e di cifratura definiti nello stato corrente.

24 SSL: Record Layer (autenticazione) n Tutti i pacchetti vengono autenticati attraverso un Message Authentication Code (MAC): hash(MAC_write_secret + pad_2 + hash(MAC_write_secret + pad_1 + seq_num + SSLCompressed.type + SSLCompressed.length + SSLCompressed.fragment)); NOTA: il MAC viene calcolato prima della cifratura. Viene cifrato lintero blocco, incluso il MAC.

25 SSL: Record Layer (cifratura) SSLCompressed.fragment->SSLCipherText.fragment n Metodi di cifratura usati: –Stream Cipher –Cipher Block Chaining (CBC)

26 SSL: Alert Protocol n Uno dei tipi supportati dal record layer è il tipo alert. I messaggi di questo tipo comprendono –il livello di severità (warning, fatal,…) –la descrizione ( close_notify, unexpcted_message, bad_reccord_mac, decompression_failure, no/bad/unsupported_certificate, certificate_revoked/expired/unknown).

27 SSL: Analisi della sicurezza n Resiste agli attacchi passivi. n Debolezze con alcuni attacchi attivi: –Man-in-the-Middle (senza autenticazioni) –Key Exchange Algorithm rollback attacks –Version Rollback attacks n Debolezza a causa delle leggi degli USA sullesportazione della crittografia.

28 SSL: Conclusioni sulla sicurezza n Client & server systems, chiavi e applicazioni devono essere sicure. n Le implementazioni devono essere prive di errori e colmare le piccole debolezze del protocollo.

29 Unimplementazione: OpenSSL n È una realizzazione in forma di sw libero dei protocolli SSL e TLS. n Permette di incorporare le funzionalità dei protocolli SSL/TLS allinterno di programmi di comunicazione. n Comprende programmi di utilità per la gestione delle chiavi e dei certificati, arrivando anche alla gestione di unautorità di certificazione.

30 Riferimenti n > Transport Layer Security Working Group INTERNET-DRAFT (1996) n > David Wagner (University of California, Berkeley), Bruce Schneier (Counterpane Systems) (1997) n > Liisa Erkomaa, Faculty of Computer Science, Helsinki University of Technology(1997)


Scaricare ppt "IL Protocollo SSL Comunicazione sicura sulle reti."

Presentazioni simili


Annunci Google