Dopo avere introdotto il protocollo HTTPS, in questa lezione vedremo una delle fasi cruciali per la migrazione da HTTP ad HTTPS: l'ottenimento di un certificato SSL.
I certificati SSL sono file abbastanza leggeri, che includono una chiave di cifratura associata ai dettagli di una specifica autorità di certificazione (o Certification Authority, CA). Assumendo che tale autorità di certificazione sia affidabile, e senza addentrarci nella teoria, possiamo dire che tale certificato ci garantisce la sicurezza nelle comunicazioni cifrate per mezzo di tale chiave. Installare un certificato SSL su un web server ci permette di attivare il protocollo HTTPS, con tutto ciò che ne consegue dal punto di vista della sicurezza.
Esistono diverse opzioni per ottenere un certificato SSL, sia gratuite che a pagamento. Su GoGetSSL o SSLs.com, per esempio, è possibile acquistare un certificato a basso costo, per una cifra che oscilla tra i 4 e i 10 dollari statunitensi. In alternativa, su HTML.it abbiamo già parlato di Let's Encrypt, un servizio che permette di ottenere certificati SSL gratuiti, a patto che vengano rinnovati annualmente.
Tipologie di Certificati SSL
Al di là di quanto siamo disposti a spendere per un certificato, è lecito chiedersi perchè alcuni servizi offrano certificati gratuiti, mentre altri richiedano cifre non sempre indifferenti. In generale, infatti, possiamo distinguere i certificati SSL in tre principali tipologie:
- Domain Validation: può essere applicato ad un singolo dominio o a domini di secondo livello. In genere, questo genere di certificati si possono ottenere nel giro di pochi minuti e a prezzi molto contenuti, con una semplice verifica tramite mail (senza documenti cartacei o altra burocrazia);
- Business/Organization Validation: anche questo tipo di certificato può essere applicato ad un singolo dominio o a domini di secondo livello, ma richiede una verifica atta ad accertare l'identità della società richiedente il certificato. In genere, questo tipo di certificato richiede tra le 24 e le 72 ore per essere emesso, ma offre un maggior livello di sicurezza e affidabilità;
- Extended Validation: come il precedente, ma richiede procedure meno rapide e burocraticamente più "faticose", offrendo però un maggiore livello di sicurezza. I costi sono in genere più elevati, e l'emissione del certificato richiede tra i 2 ed i 7 giorni.
Per comprendere meglio la differenza tra la Business/Organization Validation e la Extended Validation, è utile dare uno sguardo alla barra degli indirizzi di un browser moderno come Mozilla Firefox o Google Chrome. Osserviamo la differenza tra le barre degli indirizzi delle home page di Google e PayPal:
Come si vede, in entrambi i casi Firefox ci mostra un indicatore visivo di affidabilità del sito web: nel caso di Google, l'indicatore consiste in un semplice lucchetto (a significare l'utilizzo di un certificato SSL di tipo Business/Organization Validation); nel caso di PayPal, invece, il lucchetto è accompagnato anche dal nome della società "proprietaria" del certificato (a significare l'utilizzo di un certificato SSL di tipo Extended Validation). Queste differenze, che possono sembrare banali, sono invece molto importanti dal punto di vista dell'utente: un sito di e-commerce sarà certamente reputato più affidabile se si affida ad un certificato SSL di tipo Extended Validation (che ha quindi un costo maggiore); in altri casi, dove ad esempio non si prevedono transazioni di denaro o scambi di informazioni sensibili, può essere sufficiente anche un certificato più semplice ed economico.
Nelle prossime lezioni vedremo come installare un certificato SSL.