Cari lettori di R.I. alcune volte, mentre navighiamo, potremmo leggere accanto alla barra degli indirizzi dei nostri browser qualcosa del tipo: “sito non sicuro” e poi dopo, cliccandoci, visualizzare una info che ci spiega che i dati trasmessi sono in chiaro e che quindi è opportuno evitare di trasmettere dati sensibili a quel sito. Altre volte, invece, leggiamo che i dati sono sì criptati, ma che il certificato potrebbe essere inattendibile. Vediamo insieme di fare chiarezza.
Cos’è l’HTTPS?
L’HTTP (Hypertext Transfer Protocol) è il protocollo utilizzato per la comunicazione tra client e server sul Web. Ma mentre l’HTTP è una tecnologia essenziale per la navigazione sul Web, non è sempre sufficiente per garantire la sicurezza delle comunicazioni tra i client e i server.
Ecco dove entra in gioco l’HTTPS (HTTP Secure). L’HTTPS è una versione più sicura dell’HTTP che utilizza una connessione crittografata per proteggere i dati durante la trasmissione.
Per capire meglio come funziona l’HTTPS, è utile capire cosa significa crittografia. La crittografia è il processo di conversione di dati in un formato che può essere letto solo dal destinatario autorizzato. Ci sono diverse tecniche di crittografia, ma una delle più comuni è la crittografia a chiave pubblica.
La crittografia a chiave pubblica utilizza due chiavi: una chiave pubblica e una chiave privata. La chiave pubblica viene utilizzata per crittografare i dati, mentre la chiave privata viene utilizzata per decrittografare i dati. In questo modo, solo il destinatario autorizzato conosce la chiave privata e può decrittografare i dati. La criptazione può essere a sua volta certificato in due modi: o attraverso un’entità terza che ci fornisce, diciamo così, il suo timbro di garanzia ed è accreditata verso le autorità (spaziamo da entità che ci forniscono le proprie garanzie gratuitamente, come let’s encrypt a quelle a pagamento) e dunque il browser, riconoscendole, dà il proprio benestare, oppure, in alternativa, il certificato autoprodotto ovvero quello che potremmo produrre tecnicamente noi stessi, ma che non è accreditato da nessuna parte (a meno che non siano noi stessi entità autoritative preposte a farlo). In quest’ultimo caso il browser segnala la presenza della crittografia, ma ci dice che il certificato non è conosciuto, quindi ci mette in guardia per evitare possibili false sicurezze o truffe. I certificati autoprodotti sono comunque utili per utilizzi interni ai Team di lavoro, per accedere ai propri router domestici, ecc… forniscono cioè una sicurezza nella comunicazione dal punto A al punto B, a patto di fidarci e conoscere per altre vie, non ufficialmente certificate, chi li ha generati (noi stessi, il produttore del router, ecc…)
L’HTTPS utilizza la crittografia a chiave pubblica per creare una connessione sicura tra il client e il server. Quando un client richiede una pagina HTTPS, il server invia la sua chiave pubblica al client. Il client utilizza quindi la chiave pubblica del server per crittografare i dati che invia al server. Il server utilizza la sua chiave privata per decrittografare i dati ricevuti dal client.
L’HTTPS offre dunque molti vantaggi rispetto all’HTTP. In primo luogo, ricapitolando, la crittografia a chiave pubblica rende molto più difficile per gli hacker intercettare e decrittografare i dati trasmessi tra il client e il server. In secondo luogo, l’HTTPS garantisce che i dati trasmessi siano autentici e non manomessi. Ciò significa che i client possono essere certi che i dati che ricevono dal server sono quelli inviati dal server e non sono stati modificati durante la trasmissione.
Infine, l’HTTPS è diventato sempre più importante per i siti Web in quanto i browser moderni, come Chrome e Firefox, segnalano esplicitamente ai visitatori dei siti che non utilizzano l’HTTPS come “non sicuri”. Ciò significa che i siti Web che utilizzano l’HTTP rischiano di perdere visitatori a causa di problemi di sicurezza.
In conclusione, l’HTTPS è diventato un protocollo essenziale per garantire la sicurezza delle comunicazioni tra i client e i server sul Web. Grazie alla crittografia a chiave pubblica, l’HTTPS offre una connessione sicura e autenticata tra il client e il server. Sebbene l’HTTP continui ad essere utilizzato, l’HTTPS rappresenta il futuro della navigazione sicura sul Web.