



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una panoramica completa del protocollo ssl/tls, spiegando nel dettaglio i suoi componenti principali: handshake protocol, ssl record protocol, change cipher spec protocol e alert protocol. vengono descritti i meccanismi di crittografia, autenticazione e integrità dei dati, con esempi concreti di messaggi scambiati tra client e server durante la fase di handshake. Utile per comprendere le basi della sicurezza informatica e le tecniche utilizzate per proteggere le comunicazioni online.
Tipologia: Appunti
1 / 6
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




SSL (Secure Socket Layer) è un protocollo sviluppato inizialmente da Netscape Communications per garantire la sicurezza delle comunicazioni su Internet. Successivamente, l' IETF ha revisionato le specifiche di SSL, creando lo standard TLS (Transport Layer Security). Questo protocollo opera nel livello di sessione del modello ISO/OSI , situandosi tra il livello di trasporto e il livello di applicazione (dove operano protocolli come HTTP, FTP, SMTP ). Progettato per garantire una comunicazione bidirezionale sicura tra client e server, SSL/TLS utilizza crittografia per proteggere i dati trasmessi e fornisce autenticazione del server tramite certificati digitali firmati elettronicamente. Grazie a queste caratteristiche, viene impiegato nei principali servizi di rete per garantire sicurezza e integrità delle informazioni.
Introduzione Il protocollo SSL/TLS garantisce tre aspetti fondamentali della sicurezza nelle comunicazioni:
1. Riservatezza della comunicazione Opera a livello di trasporto (livello 4 del modello OSI), posizionandosi sotto protocolli come HTTP, FTP e SMTP. Il suo scopo è proteggere i dati da attacchi come il packet sniffing (intercettazione di pacchetti) e il spoofing (furto d’identità), utilizzando algoritmi di crittografia a chiave simmetrica per garantire la privatezza del collegamento. 2. Autenticazione Verifica l’identità delle parti coinvolte attraverso certificati digitali e l’uso della crittografia a chiave pubblica. L’autenticazione può riguardare sia il server che, in alcuni casi, anche il client. 3. Integrità Assicura che i dati trasmessi non subiscano alterazioni durante la comunicazione. Il livello di trasporto utilizza un Message Authentication Code (MAC) , che si basa su funzioni hash come SHA e MD5 per generare impronte digitali, garantendo così l’integrità delle informazioni.
Struttura del protocollo SSL/TLS SSL/TLS è composto da due sotto-livelli principali che si inseriscono nel livello sessione:
SESSIONE La sessione rappresenta l'associazione tra un client e un server e viene stabilita attraverso il Protocollo Handshake. Durante questa fase:
Il SSL Record Protocol opera vicino al livello di trasporto e ha il compito di prendere i dati dai livelli superiori ( Handshake, Alert e Change Cipher Spec ) e sottoporli a trattamenti di sicurezza prima di trasmetterli al livello inferiore. Fornisce due principali servizi per la connessione SSL:
1. Confidenzialità Utilizza una chiave segreta e algoritmi di crittografia simmetrica , già negoziati durante la creazione della sessione tramite l' Handshake Protocol. 2. Integrità del messaggio Il Handshake Protocol definisce una chiave segreta condivisa , che SSL Record utilizza per calcolare un Message Authentication Code (MAC). Questo codice garantisce che i dati ricevuti non siano stati alterati durante la trasmissione.
Dopo questi passaggi, il pacchetto è pronto per essere inviato attraverso il livello di trasporto (TCP).
→ Length (3 byte) : Indica la lunghezza del messaggio in byte. → Content (≥ 0 byte) : Contiene i parametri associati a ciascun tipo di messaggio.
Esempi di messaggi di Handshake Durante la fase di Handshake Protocol , il client e il server si scambiano una serie di messaggi per negoziare la connessione sicura. Ecco alcuni esempi di messaggi e il loro ruolo:
hello_request (inviato dal server)
client_hello (inviato dal client)
server_hello (inviato dal server)
certificate (inviato dal server)
server_key_exchange (opzionale, inviato dal server)
certificate_request (opzionale, inviato dal server)
client_certificate (opzionale, inviato dal client)
client_key_exchange (inviato dal client)
certificate_verify (opzionale, inviato dal client)
change_cipher_spec (inviato da client e server)
finished (inviato da client e server)
Dopo questi scambi, la connessione è considerata sicura , e client e server possono iniziare a trasmettere dati a livello applicativo (es. richieste HTTPS).
PRIMA FASE Questa fase viene utilizzata per avviare una connessione logica e stabilire le specifiche di sicurezza che verranno applicate.
SECONDA FASE Questa fase è dedicata all' autenticazione del server e allo scambio delle chiavi. In questa fase, solo il server invia messaggi al client. Il server può inviare:
TERZA FASE Questa fase riguarda l' autenticazione del client (se richiesta dal server) e lo scambio delle chiavi. Il server invia sempre il proprio certificato , ma può anche richiedere il certificato del client per autenticarsi reciprocamente. Il client verifica la validità del certificato del server e i parametri del messaggio Server Hello. Se il certificato del server è valido e tutto è corretto, il client:
Metodi per lo scambio delle chiavi → Crittografia a chiave pubblica : il client cifra un valore segreto con la chiave pubblica del server. → Algoritmo di Diffie-Hellman : non si scambiano chiavi direttamente, ma parametri necessari per calcolarle in modo sicuro su entrambi i lati.