Certificato SSL e protocollo HTTPS, cosa sono e come usarli

16-02-2017

Vi siete mai chiesti cosa succederebbe se mentre state pagando con Bancomat al supermercato vi venisse clonata la tessera ed una telecamera riprendesse il vostro codice PIN? Anche questo può accadere nel mondo Internet, dove costanti sono gli inserimenti sui form di iscrizione alla newsletter, i form di acquisto, i form di login, i form di contatto.

Immaginiamo ora che qualche furbetto possa intromettersi nella comunicazione tra voi (o meglio, il vostro browser), che state tranquillamente inviando il vostro numero di carta di credito tramite modulo di pagamento, e un server che ospita il sito e-commerce nel quale state acquistando. Lo stesso furbetto ha ora il vostro codice in mano, e dato che il server non ha dichiarato nessun metodo di protezione, il codice che è riuscito a ricevere è mostrato in chiaro, senza cifratura. Ora potrà rubarvi tutti i risparmi di una vita.

Ma quindi, come possiamo proteggere il canale di comunicazione tra i nostri clienti e i nostri siti? Proprio da questo quesito nasce il protocollo HTTPS (conosciuto anche come HyperText Transfer Protocol over Secure Socket Layer/Transport Layer Security, italianizzando Protocollo per il Trasferimento di Ipertesti Sicuro), basato sul normale protocollo di scambio di informazioni HTTP, ma come dice il nome stesso con l’aggiunta di uno strato di sicurezza. Questo protocollo permette di scambiare dati su un canale sicuro attraverso la rete, e si può facilmente comprendere se un sito lo utilizza, notando le differenze nell’immagine sottostante.

Lo scambio di dati viene protetto in base ad un certificato, detto certificato SSL, che definisce come la cifratura deve avvenire, per poter scrivere e leggere il dato parlando una “lingua comune”, ma trasferirlo in rete senza che questa lingua venga riconosciuta.

 

Il funzionamento di una richiesta

Una comune richiesta tra client e server su protocollo HTTP può comprendere:

  • la richiesta stessa fatta tramite URL,
  • gli header di richiesta (come si vuole la pagina, con che browser si sta visitando il sito, ecc..)
  • i parametri di form e pagine mandati tramite richieste GET e POST
  • i cookies, strumenti per la memorizzazione di stato tra le diverse pagine che si visitano e che possono anche contenere dati personali

Ogni qualvolta questa richiesta avviene, il protocollo HTTPS fa si che client e server si accordino su un metodo di cifratura efficace, basato sul certificato SSL e sulla chiave pubblica del server, e definito ciò iniziano con lo scambio dati.

Per i meno tecnici, è possibile avere una visione più semplicistica di cosa accade con qualche immagine.

Per i più esperti invece specifichiamo che il metodo di codifica utilizzato è quello della Crittografia Asimmetrica con Firma Digitale, in cui il server genera:

  • una chiave pubblica messa a disposizione verso altri ed utilizzata per cifrare i contenuti da mandargli; è anche verificata da un’autorità esterna tramite certificato digitale
  • una chiave privata, che utilizza solo il server per decifrare i dati che arrivano dall’esterno

 

Autorità per la Certifica

Solitamente, per essere validi, i certificati vengono ottenuti tramite Certification Authority (CA), che sono autorità di terze parti e rispettano gli standard internazionali per la verifica del server ed il rilascio dei certificati in questione.
Esistono molteplici autorità, dislocate in tutto il territorio mondiale, ed offrono diverse soluzioni per certificare il proprio server.

 

Tipologie di Certificati SSL

Ogni certificato può avere differenti stadi di crittografia (definiti in bit), validità e garanzia in caso di danni per hacking differenti. Vediamo ora alcuni esempi di certificato SSL che possono essere richiesti, ognuno con costi differenti.

Certificato SSL semplice

E’ il più semplice dei certificati, e verifica un solo dominio, senza però controllare l’identità della società che l’ha richiesto. Nella barra degli indirizzi appare così:

Certificato SSL EV

Ad un livello più avanzato del precedente, questo certificato permette la validazione estesa del dominio, permettendo la verifica dell’azienda che lo richiede. Nella barra degli indirizzi appare in questa maniera:

Certificato SSL Wildcard

A differenza di un certificato per dominio singolo, questo permette di coprire più domini che abbiano ugual estensione. Ad esempio, sarà possibile certificare https://www.example.com, ma anche https://store.example.com e https://blog.example.com . La modalità di visualizzazione è la stessa di un certificato semplice, in quanto ad oggi non è possibile applicare validazioni estese per domini con wildcard.

Certificato SSL per Indirizzo IP

Questa tipologia di certificato copre un intero server identificato dall’indirizzo IP o un’intera zona coperta da quell’indirizzo IP.

 

SEO, dopo la sicurezza

Dal 2014 sembra che Google dia priorità in SERP agli indirizzi che risultano essere sicuri, proprio per promuovere l’utilizzo sempre più massivo dei protocolli standard per la sicurezza che sono stati messi a disposizione.

 

WebSolution è pronta anche per questa sfida, siamo in grado di assicurarti la messa in sicurezza della comunicazione tra il tuo sito e i tuoi clienti, per non farti rischiare troppo nella vasta rete. Contattaci per richiedere un preventivo!


About the author

Matteo Lazzarin

Fullstack Web Developer

Assetato di informatica e programmazione, ogni giorno lotta contro i cattivi per scrivere codice riusabile e well-formed. E' un assiduo tester di nuove funzionalità nel mondo di PHP, MySQL e Linux, HTML, CSS e Javascript, per riuscire ad essere sempre competitivo nell'infinito mondo della rete. Le sue vere passioni sono il buon cibo, soprattutto se italiano, e la buona musica.

Contatta l'autore di questo post