Ora diamo un'occhiata al protocollo web sicuro, HTTPS. La "S" alla fine di HTTPS, ovviamente, indica "sicuro". HTTPS fornisce l'autenticazione del sito web e la crittografia della comunicazione. L'autenticazione del sito web assicura che stiate visitando effettivamente www.apple.com e non qualche sito clonato. Inizialmente, HTTPS veniva utilizzato per proteggere gli accessi e le transazioni online riservate come l'online banking e lo shopping online. Al giorno d'oggi, però, HTTPS è praticamente l'impostazione predefinita per tutto.
HTTPS si basa su una tecnologia chiamata crittografia a chiave pubblica. Per funzionare, il sito web necessita di una coppia di chiavi pubblica-privata certificata da un'autorità di certificazione. Non entrerò nei dettagli del funzionamento della crittografia a chiave pubblica.
Ora ripetiamo il nostro esempio, questa volta con HTTPS. Il passaggio 1 è uguale a quello precedente: digitiamo l'indirizzo o facciamo clic su un link.
Prima di poter passare al passaggio 2, dobbiamo inserire un nuovo passaggio che numererò come 1.5. In questo passaggio, il browser e il server web eseguono un processo crittografico, ovvero uno scambio di messaggi e alcuni calcoli davvero interessanti, utilizzando la coppia di chiavi pubblica-privata del server web, per autenticare il sito web e creare due nuove chiavi che sono chiamate chiavi di sessione: una per il client e una per il server. Queste chiavi di sessione vengono utilizzate per crittografare e decrittografare i messaggi.
Queste funzioni crittografiche vengono eseguite da un protocollo chiamato TLS (Transport Layer Security), che è il successore dell'ormai obsoleto SSL (Secure Sockets Layer).
Ora possiamo passare al passaggio 2, che funziona esattamente come prima, ma ora, dopo che il browser ha scritto il messaggio di richiesta, prima di poterlo inviare, utilizza la propria chiave di sessione per crittografarlo. Il messaggio crittografato viene quindi inviato al server web. Quindi, il server web, dopo aver ricevuto il messaggio, utilizza la propria chiave di sessione per decrittografare e leggere il messaggio.
Il passaggio 3 funziona in modo simile al messaggio di risposta. Dopo aver scritto il messaggio di risposta, il server web lo crittografa utilizzando la propria chiave di sessione e poi lo rimanda al browser. Quindi, il browser, dopo aver ricevuto il messaggio, utilizza la propria chiave di sessione per decrittografare e leggere il messaggio.
Infine, il passaggio 4 funziona come prima: il browser esegue il rendering della risposta e possiamo visualizzare la pagina web.
Tenete presente che l'icona del lucchetto indica una connessione sicura e l'autenticazione del sito web.
Forse vi starete chiedendo in che modo i messaggi di richiesta e risposta arrivano al server web e viceversa. La risposta è tramite il protocollo Internet, IP, che sarà l'argomento della prossima presentazione, Che cos'è un indirizzo IP?