Se vuoi ritrovarci su facebook.
SSL
Ecco un altro stralcio di lavoro universitario.
L’SSL (Secure Sockets Layer ) si colloca al session layer dello stack ISO/OSI e nella sua versione 3 si estende su due livelli. Il livello più basso prende il nome SSL Record Protocol e si interfaccia con il livello di trasporto dello stack ISO/OSI tipicamente con protocolli orientati alla connessione (TCP). SSL Record Protocol si occupa di cifrare le informazioni dopo che è stata portata a termine un’autenticazione. Il livello più alto del protocollo, denominato SSL Handshake Protocol, consente agli attori (client, server) di autenticarsi a vicenda, di negoziare l’algoritmo di crittografia da utilizzare e poi si interfaccia con l’application layer per iniziare la comunicazione vera e propria.
Una volta stabilita la connessione il protocollo SSL è potenzialmente sicuro ma attacchi di tipo man in the middle possono essere condotti nella fase di Handshake. Analizziamo da vicino questo protocollo di Handshake. Il client si presenta al server con un messaggio di tipo client hello e il server risponde con un messaggio di tipo server hello. Se non c’è risposta del server l’autenticazione fallisce. In questa fase vengono scambiate le informazioni sulla versione del protocollo, sulla crittografia e sulla compressione da utilizzare nella successiva sessione. Scambiati questi due messaggi è il momento della presentazione del certificato x.509. Se il server deve autenticarsi invia il certificato al client. Questo può essere usato come chiave di crittografia o semplicemente come firma digitale. In questo ultimo caso, o se non è previsto alcun certificato, il server può decidere di inviare un messaggio di key exchange. Se il server ha inviato il suo certificato ha facoltà di chiederne uno al client. Il client risponderà solo dopo aver ricevuto dal server il messaggio server hello done con il quale il server indica che la fase di hello è terminata. Se il server ha richiesto un certificato, il primo messaggio di risposta del cliente sarà del tipo client certificate. Ad ogni modo viene inviato al server un messaggio di tipo client key exchange. Altri messaggi inviati dal client sono certificate verify, change cipher spec e finished.
