2.3 TLS(RFC 2246)

 

Gli scopi principali del protocollo TLS(Transport Layer Security) è di garantire privacy e integrità dei dati tra due applicazioni che comunicano. IL protocollo è composto da due livelli: TLS Record Protocol e TLS Handshake Protocol.

Al livello più basso il TLS si allaccia con un protocollo di trasporto (ad esempio TCP), attraverso il  TLS Record Protocol.

Il TLS Record Protocol garantisce connessioni sicure che hanno due proprietà basilari:

·        La connessione è privata. Per la cifratura è utilizzata la crittografia simmetrica (ad esempio DES,RC4 etc.) Le chiavi per la crittografia simmetrica vengono generate unicamente per ogni connessione e sono basate su un segreto negoziato con un’altro protocollo (es. TLS Handshake Protocol). Il Record Protocol può essere anche usato senza la crittografia.

·         La connessione è affidabile. I Messaggi del livello di trasporto includono un messaggio contenente la chiave per il MAC. Per il calcolo del MAC sono usate funzioni hash sicure (ad esempio SHA, MD5 etc.). Il Record Protocol può operare senza il MAC.

 

IL TLS Record Protocol è incapsulato in protocolli di livello più alto. Uno di questi protocolli è il TLS Handshake Protocol, che permette al server e al client di autenticarsi e negoziare un algoritmo di cifratura e le eventuali chiavi, prima che vengano trasmessi eventuali dati.

Il TLS Handshake Protocol dà garanzia di connessioni sicure che hanno tre proprietà basilari:

·         L’identità del client e del server può essere autenticata usando la crittografia asimmetrica, o a chiavi pubbliche (ad esempio RSA, DSS eccetera). Questa può essere opzionale, ma in genere è richiesta da almeno un peer.

·         La negoziazione di un segreto condiviso è sicura: la negoziazione di segreti non deve permettere ad eventuali attaccanti di impersonare uno dei peer.

·         La negoziazione è affidabile: nessun attaccante può modificare la comunicazione delle parti che effettuano la negoziazione.