SSL (Secure Sockets Layers, che può essere tradotto da livello di sockets sicuri) è una procedura di securizzazione delle transazioni effettuate via Internet. Lo standard SSL è stato elaborato da Netscape , in collaborazione con Mastercard, Bank of America, MCI e Silicon Graphics.
SSL Si basa su un processo di crittografia a chiave pubblica, per garantire la sicurezza della trasmissione dei dati su internet. Il suo principio consiste nello stabilire un canale di comunicazione sicuro (cifrato) tra due terminali (un client e un server) dopo una tappa di Autenticazione.
Il sistema SSL è indipendente dal protocollo usato, il che significa che può securizzare sia delle transazioni fatte sul web tramite il protocollo HTTP sia delle connessioni via protocollo FTP, POP o IMAP. In effetti, SSL agisce come un livello supplementare, permettendo di assicurare la sicurezza dei dati, situati tra il livello applicazione e il livello trasporto (protocollo TCP ad esempio).
In questo modo, SSL è trasparente per l'utente (cioè l'utente può ignorare che utilizza SSL). Ad esempio un utente che usa un browser internet per connettersi ad un sito di commercio elettronico sicuro via SSL invierà dei dati cifrati senza alcuna manipolazione necessaria da parte sua. La quasi totalità dei browser supportano ormai il protocollo SSL. Mozilla Firefox e Microsoft Internet Explorer visualizzano ad esempio un lucchetto chiuso per indicare la connessione ad un sito sicuro via SSL:
Mozilla Firefox | |
---|---|
Internet Explorer |
Un server web sicuro via SSL possiede un URL che comincia con https://, dove la "s" significa ovviamente secured (sicuro ). A metà del 2001, il brevetto di SSL che apparteneva fino ad allora a Netscape è stato comprato dall'IETF (Internet Engineering Task Force ) ed è stato ribattezzato per l'occasione TLS (Transport Layer Security).
La sicurezza delle transazioni via SSL è basata su uno scambio di chiavi tra client e server. La transazione sicura via SSL si fa secondo il modello seguente: in un primo tempo, il client si connette al sito commerciale sicuro via SSL e richiede l'autenticazione. Il client invia anche la lista dei crittosistemi che supporta, smistati per ordine decrescente secondo la lunghezza delle chiavi;
Alla ricezione della richiesta il server invia un certificato al client, contenente la chiave pubblica del server, firmata da un'autorità di certificazione (CA), nonché il nome del crittosistema in cima alla lista con il quale è compatibile (la lunghezza della chiave di codificazione - 40 bit o 128 bit - sarà quella del crittosistema comune con la chiave di più grandi dimensioni):
Il client verifica la validità del certificato (fra cui l'autenticità del commerciante), poi crea una chiave segreta aleatoria (più esattamente un blocco volutamente aleatorio), codifica questa chiave con la chiave pubblica del server, e gli invia il risultato (la chiave di sessione).
Il server è capace di decifrare la chiave di sessione con la sua chiave privata. Così, le due entità sono in possesso di una chiave comune che solo essi conoscono. Il resto delle transazioni può farsi attraverso una chiave di sessione che garantisce l'integrità e la confidenzialità dei dati scambiati.
SSL 3.0 punta ad autentificare il server rispetto al client e eventualmente il client rispetto al server.
Foto: © Pixabay.