Da HTTP a HTTPS: tutta la verità.

Share this:

HTTP ed HTTPS. Sono giorni duri per chi si occupa di siti web: tutti i maggiori browser, infatti, hanno raccolto l’invito di Google a considerare in primo piano le connessioni sicure, basate sul protocollo HTTPS.

Cosa significa HTTPS?

Risposta: significa che stai trasmettendo e ricevendo informazioni leggibili solamente da te e dal sito web che visiti.

Ovviamente, è più complesso di così, ma per un primo livello di lettura, questo è quello che ci serve sapere. Vediamo quindi cosa succede visitando un sito web tramite connessione HTTP che mostra un form di login con l’ultima versione di Firefox.

Connessione HTTP, Login di WordPress - Avvisi su Firefox
Firefox 52 mostra un avviso di sicurezza sui campi di login se non si usa una connessione sicura

Brrr. Che paura. L’avviso sembra fatto apposta per spaventarci. Il temibile H4CK3RZz (hacker) dall’altra parte del muro ruberà tutte le nostre password di certo! Lasciando da parte per un attimo gli scherzi, vediamo cosa significa collegarsi ad un sito web in HTTP.

La connessione HTTP: siamo tutti amici

Il protocollo HTTP è nato nel 1991. Allora, molte cose erano diverse

HTTP: una connessione in chiaro non sicura
HTTP è nato quando ci si fidava di tutti, perché sul web c’erano quattro gatti!

Quando ci colleghiamo ad un sito web tramite connessione HTTP, facciamo una richiesta ad un server tramite l’indirizzo che stiamo visitando. Ad esempio, se ci colleghiamo a:

  • https://sito.express/site/portfolio/

Non facciamo altro che assistere a questo dialogo:

  • Browser: ‘Caro Server che rispondi al nome sito.express, piacere di conoscerti! Mi passeresti tutti i dati del portfolio che devo farli vedere a qualcuno interessato?’
  • Server: ‘Ciao Browser! Il piacere è tutto mio! Ecco qui i dati del portfolio che mi chiedi.’

E li browser li visualizza.

Ora, su HTTP questa comunicazione avviene in chiaro. Cioè: se immaginassimo la rete come un condominio, sarebbe come se server e browser comunicassero fra loro parlandosi dalla finestra. Chiunque, con un orecchio fine, può mettersi in ascolto!

La connessione HTTPS: fidarsi è bene…

Non findarsi è meglio. Il protocollo HTTPS è nato nel 1994.

HTTPS: la connessione è sicura
Tramite HTTPS, è possibile parlare una lingua conosciuta solo da Browser e Server. In questo modo, chi si mette in ascolto non capisce niente!

Quando ci colleghiamo ad un sito tramite protocollo HTTPS, invece, il dialogo fra browser e server diventa più complesso. Decidono che lingua parlare sulla base di una chiave contenuta in un certificato (che potremmo definire come il ‘manuale’ della lingua). Riprendendo l’esempio di prima, funzionerebbe più o meno in questo modo:

  • Browser: ‘Caro server di sito.express, piacere di conoscerti! Avrei delle cose da chiederti, che lingua parliamo?’
  • Server: ‘Ciao Browser! Ci vede spesso ultimamente. Adesso parlo questa lingua qui’ (Il server passa il certificato al browser)
  • Browser: ‘Fantastico, Server, capito tutto! Allora, quello che mi serviva (/)(/98N)( /(Y(/Nomè9è;P)NUp 8/(PY /o( P(Uà é( /YP &TP/(8″
  • Server: ‘OK, ecco ()89″)( 892UMà”);0U87u89P£(.à:”PUy(£/ò-)(7896y)£0è98)/”

Ora, siccome solo il Server ed il Browser conoscono questa lingua (la lingua viene cambiata ad ogni connessione) solo loro possono tradurre e visualizzare le informazioni trasmesse. È un po’ come due bambini che parlano un farfallese avanzato, per non farsi capire dai compagni nella classe. Ne consegue che:

  • Le informazioni trasmesse sono più sicure
  • L’accesso alle informazioni da parte di terzi è molto più difficile
  • La privacy delle parti è maggiormente garantita

Ecco perché Google ha deciso di promuovere HTTPS

L’obiettivo è avere un web più sicuro, in automatico, con una misura tutto sommato semplice

I problemi di sicurezza in questo caso non riguardano i piccoli blogger, i micrositi e chi più ne ha più ne metta. Anche loro beneficeranno sul lungo periodo del passaggio graduale ad HTTPS. Il problema è, più in generale, quello di avere un web più sicuro, in poco tempo.

C’è chi muove delle critiche a questo riguardo, perché ad esempio la maggior parte dei certificati costano – si va da un minimo di 10€ ad anche migliaia per i più sicuri – e questo potrebbe favorire i big, far fare soldi a palate a chi li vende, e ridurre la visibilità dei piccoli.

Tuttavia, è anche vero che chi è ‘piccolo’ ha diverse alternative per passare ad HTTPS senza essere penalizzato, né dai motori di ricerca, né da avvisi spaventevoli sui browser:

  • Ci sono certificati economici per qualsiasi hosting (dai, su, 10€ l’anno, davvero è un problema?)
  • Ci sono certificati gratuiti (qualcuno ha detto Let’s Encrypt!?) per i server che li supportano
  • Ci sono certificati gratuiti anche per i server che non li supportano (come CloudFlare, anche se il livello di sicurezza è più basso)

HTTP e HTTPS, come andrà a finire?

Il risultato di tutto sarà una maggiore consapevolezza, anche disinteressata, del problema sicurezza: questo è un innegabile vantaggio. Tutti, grandi e piccoli, dovranno adeguarsi, finché HTTP verrà probabilmente deprecato fra qualche lustro, oppure relegato ad usi marginali: ad esempio, connessioni locali all’interno della stessa LAN (che, comunque, espone a dei rischi di sicurezza).

Non è possibile che il web sia controllato dai certificatori?

Crediamo sia molto difficile. Il web è per sua natura resiliente: nel caso si generasse un oligopolio di player in mala fede, questo verrebbe bilanciato molto velocemente da soluzioni libere.

Diversi influencer del mercato (come WordPress) hanno stabilito che consiglieranno solo hosting con supporto a HTTPS di default. Per sé, però, hanno adottato certificati SSL gratuiti. Per cui è molto più credibile immaginare che tutta la web industry favorirà policy in grado di garantire la sicurezza, senza oneri aggiuntivi: ora c’è Let’s Encrypt! e domani ce ne saranno molti altri!

Per cui, per come la vediamo noi, passate ad HTTPS e dormite sonni tranquilli! 🙂

Share this:

Lascia un commento