Nelle lezioni precedenti abbiamo spiegato come i certificati SSL consentano ai siti Web di adottare il protocollo HTTPS che è nettamente più sicuro rispetto all'HTTP poiché permette di instaurare un canale di comunicazione che assicura non soltanto la cifratura dei messaggi, ma anche l'autenticazione tra i soggetti comunicanti.
Un certificato SSL è essenzialmente un file di dati ospitato nel server in cui risiede un sito Web. Al suo interno è presente la chiave pubblica del sito Web e informazioni ad esso correlate.
I dispositivi che comunicano con un server fanno riferimento a questo file per ottenere la chiave pubblica e verificare l'identità del server. La chiave privata verrà invece mantenuta sempre segreta e al sicuro.
Caratteristiche dei certificati SSL gratuiti
Affinché un certificato SSL sia valido deve essere rilasciato da un'autorità di certificazione (CA). Una CA è un'organizzazione esterna, una terza parte fidata, che genera e distribuisce certificati SSL.
La CA firmerà digitalmente il certificato con la propria chiave privata, in modo da permettere ai vari dispositivi di verificarne la paternità e quindi l'origine.
La maggior parte delle CA, in genere, richiede il pagamento di una determinata cifra per l'emissione di un certificato SSL. Esiste, però, una tipologia di certificati SSL che è gratuita e che ha lo scopo di rendere disponibile un certificato SSL, e quindi l'accesso all'HTTPS, per tutti i siti Web.
I certificati SSL gratuiti si dividono in due categorie:
- Certificati autofirmati, quelli per i quali non è necessaria la firma di un'autorità di certificazione. Sono quindi firmati dall'emittente stesso.
- Certificati firmati da un'autorità di certificazione (sottolineiamo il fatto che per quanto riguarda il livello di crittografia, un certificato SSL gratuito fornisce lo stesso livello di crittografia di quelli a pagamento).
La differenza principale tra un certificato a pagamento e uno gratuito risiede nel fatto che i certificati SSL gratuiti sono disponibili solo nella tipologia di Domain Validation (DV).
Maggiori informazioni circa le diverse tipologie di certificati SSL sono riportate nella prima lezione di questa guida.
I certificati DV sono utilizzati solo per fornire un livello di autenticazione base e in genere vengono utilizzati per piccoli siti Web e blog.
I certificati SSL gratuiti non prevedono le opzioni Organization Validation (OV) ed Extended Validation (EV). I certificati SSL a pagamento, al contrario, sono dotati delle opzioni OV ed EV, che sono spesso necessari per proteggere i siti Web aziendali di medie e grandi dimensioni.
Un'altra differenza importante, riguarda il livello di validazione attuato per i verificare i dati aziendali del proprietario di un sito Web prima di rilasciare un certificato.
I certificati gratuiti rilasciati da una CA vengono convalidati unicamente dall'identità del proprietario del sito, mentre nel caso dei certificati SSL a pagamento la verifica dell'identità del proprietario del sito Web è d'obbligo prima del rilascio.
Nel caso dei certificati OV ed EV, l'autorità di certificazione effettua una verifica molto approfondita dell'azienda richiedente.
I certificati a pagamento garantiscono per il proprietario un'assistenza completa 24 ore su 24 da parte delle autorità di certificazione o dai rivenditori di certificati. D'altra parte, i certificati gratuiti non godono di questo servizio.
Infine, i certificati SSL gratuiti forniti dalle CA sono rilasciati per periodi temporali predefiniti (in genere 30-90 giorni). Ne consegue che il proprietario del sito Web deve rinnovare il certificato SSL alla fine del periodo definito dalla CA.
I certificati a pagamento possono essere rilasciati invece per periodi più lunghi.
Dove trovare i certificati gratuiti SSL
Ottenere un certificato gratuito è molto semplice, chiunque può creare il proprio certificato SSL generando una coppia di chiavi pubblica-privata e includendo tutte le informazioni caratteristiche di un certificato SSL che riportiamo di seguito.
- Il nome di dominio per cui viene emesso il certificato.
- La persona, l'organizzazione o il dispositivo a cui è stato rilasciato.
- L'autorità di certificazione che lo ha rilasciato.
- La firma digitale dell'autorità di certificazione.
- Sottodomini associati.
- Data di emissione del certificato.
- Data di scadenza del certificato.
- La chiave pubblica (la chiave privata viene mantenuta segreta).
Il problema di questo primo approccio, però, è che non è presente alcuna autorità esterna che possa verificare che il server di origine sia quello che si dichiara di essere.
I browser attuali comunque non considerano affidabili i certificati autofirmati e possono contrassegnare i siti che ne sono provvisti come "non sicuri", nonostante la presenza dell'https://
nell'URL.
Per tale motivo, qualora si volesse adoperare un certificato SSL gratuito, sarebbe auspicabile utilizzare siti Web che eroghino tale servizio come per esempio
- Let's Encrypt: Let's Encrypt è un progetto a cui collabora la Linux Foundation ed è una nuova autorità di certificazione sponsorizzata da Mozilla, Akamai, SiteGround, Cisco, Facebook, ecc. che offre un certificato SSL/TLS gratuito.
- SSL For Free: SSL For Free utilizza in backend il servizio di Let's Encrypt per fornire un certificato. È gratuito al 100% e i certificati vengono rilasciati in pochi minuti.
- ZeroSSL: con ZeroSSL è possibile ottenere un certificato SSL gratuito in pochi minuti. Si inizia inserendo i dati richiesti e si ultima il tutto con un rapido processo di verifica. Il certificato gratuito erogato ha una validità di 90 giorni ed è possibile ottenere fino a 3 certificati gratuiti.
- Cloudflare: Cloudflare è una società che protegge e garantisce l'affidabilità di molti siti popolari, tra cui Reddit, Yelp, Mozilla, StackOverflow, ecc. Esso eroga per tutti i sui clienti, anche per quelli che possiedono il piano gratuito, dei certificati SSL gratuiti.
Ottenere un certificato con SSL For Free
Tra i siti Web sopra elencati, mostriamo come ottenere un certificato SSL gratuito mediante il servizio offerto da SSL For Free.
- Rechiamoci su https://www.sslforfree.com.
- Nella barra di testo inseriamo il nome del dominio del nostro sito Web, ad esempio "www.provaprova.it" e clicchiamo il pulsante "Create Free SSL Certificate".
- A questo punto dovrete registrarvi al sito.
- Dopo aver completato la registrazione, vi ritroverete davanti alla dashboard di SSL For Free.
- Cliccate sul pulsante "New Certificate".
- Inserite nuovamente il vostro dominio e cliccate su "Validy".
- Selezionate 90-Day Certificate (molto importante, perchè è questa l'opzione che vi permetterà di generare un certificato gratuito).
- Completate gli step rimanenti per ottenere il certificato gratuito.
Conclusioni
In questa lezione abbiamo studiato le caratteristiche dei certificati gratuiti, le loro differenze con quelli a pagamento e come ottenerne uno tramite il servizio gratuito SSL For Free.
Nelle prossime continueremo ad analizzare SSL e in particolare il protocollo HTTPS.