Secure socket layer (ssl)

Soluzione a livello di trasporto per garantire la confidenzialita, l’autenticita e l’integrita tra due host che intendono comunicare

Nella suite SSL ci sono due protocolli:

Protocollo di handshake

Ha come scopo:

I parametri negoziati hanno validita per un intera sessione di comunicazione

sequenceDiagram participant client participant server client ->> server: client hello server ->> client: certificate server ->> client: server key exchange server ->> client: certificate request server ->> client: server hello done client ->> server: certificate client ->> server: client key exchange client ->> server: certificate verify client ->> server: change cypher spec client ->> server: finished server ->> client: change cypher spec server ->> client: finished client ->> server: dati server ->> client: dati

Sessione ssl

Una sessione e caratterizzata da uno stato definito da:

Connessione ssl

Parametri che definiscono uno stato di una connessione:

Messaggi di hello

In questa fase il client ed il server si dicono cosa sanno fare ed il client autentica il server, in questi messaggi le informazioni sono le seguenti:

Questi due messaggi hanno l’obiettivo di concordare quali meccanismi verranno utilizzati.

I metodi di scambio possibili sono i seguenti:

Scambio dei parametri

A seconda della modalita di cifratura i peer si scambiano parametri diversi:

Alla fine del protocollo di negoziazione i peer concordano un master secret che verrà utilizzato all’interno di una stessa sessione per le comunicazioni, dal master secret si derivano le chiavi utilizzate per ogni connessione

🔷 SSL non garantisce il non ripudio dei messaggi ma solo l’autenticazione del server (client opzionale)

Link map