Sicurezza dei dati in viaggio: il Secure Socket Layer
Abbiamo parlato della sicurezza a livello prettamente individuale, ora consideriamo il problema della sicurezza dei dati durante il loro viaggio. Ossia come rendere sicuro il collegamento e il "colloquio" tra il vostro computer e il resto del mondo.
Immaginate di essere un signore feudale ai tempi del Medio Evo. Dovete inviare importanti informazioni strategiche a un alleato, e pertanto un messo deve uscire dalle solide mura della vostra fortezza ed esporsi a un viaggio pieno di rischi tra strade infestate da pattuglie nemiche e briganti. Se il messo viene catturato, il nemico avrà accesso alle vostre informazioni. Per quanto possiate tutelarvi aggregando al messo un certo numero di cavalieri, il rischio di cattura è sempre alto. Quindi l'unico modo per essere certi che il nemico non abbia le informazioni, è quello di inviarle in codice. Questo prevede, naturalmente, che colui che riceve le informazioni conosca la chiave per decodificarle.
Torniamo ai nostri tempi. Ci sono due protocolli molto diffusi per l'invio di informazioni cifrate:
- HTTPS (Secure http)
- SSL (Secure Socket Layer)
Un browser si serve dell’http per richiedere (e ricevere) da un server web una pagina. La richiesta e l'invio normalmente viaggiano "in chiaro", ossia, chiunque si inserisca nel tragitto dei vostri dati può leggere (sniffare) facilmente ciò che entra e esce dal vostro PC.
L’hypertext transport protocol secure (HTTPS) permette la comunicazione cifrata sul www, tramite un nucleo fondamentale che è SSL.
HTTP (modalità in chiaro) e HTTPS (modalità cifrata) sono due protocolli differenti, e pertanto sfruttano porte diverse. Il primo è localizzato nella porta 80, mentre il secondo sulla porta 443.
Nella figura in basso possiamo vedere che il browser ci avvisa nel momento in cui entriamo in modalità sicura…
Un'icona a forma di lucchetto, solitamente posizionata nella barra di stato, ci indica che ci troviamo su pagine servite via HTTPS.