Lo stack protocollare TCP/IP di Internet, diversamente dal modello ISO/OSI, non prevedeva meccanismi di sicurezza e ciò era dovuto a motivi storici legati all'uso principale della rete ai suoi primordi, ovvero al semplice scambio di dati tra ricercatori della comunità scientifica.
Con il tempo però il World Wide Web (WWW) cominciò ad essere sfruttato per effettuare pagamenti online e le transazioni con carta di credito iniziarono a diffondersi a dismisura.
Tutto questo implicò una maggiore attenzione sotto il profilo della sicurezza informatica, per la protezione di informazioni strettamente confidenziali.
Per sopperire a questo problema si pensò di inserire un nuovo layer nello stack protocollare TCP/IP di Internet chiamato Secure Sockets Layer (SSL), tra il livello di trasporto e il livello di applicazione.
Questo nuovo layer avrebbe garantito un canale di comunicazione sicuro per la lo scambio di dati tra un client e un server.
Cos'è SSL?
L'SSL è un protocollo crittografico adoperato per proteggere i dati tra due macchine attraverso l';uso della crittografia.
Il Transport Layer Security (TLS) è il protocollo successore di SSL ed è una sua versione migliorata.
Il funzionamento è simile a quello del SSL e per tale motivo, nell'industria, i due termini sono spesso usati come se fossero sinonimi.
Senza questo protocollo chiunque sia dotato delle giuste competenze sarebbe in grado di monitorare le informazioni personali inviate a un server, come le password e i numeri di carta di credito e qualsiasi altra informazione confidenziale.
I certificati SSL
Come detto in precedenza SSL funziona assicurando che qualsiasi dato trasferito tra due sistemi rimanga illeggibile a chi dovesse intercettarlo.
Per ottenere ciò, SSL utilizza algoritmi di crittografia per codificare i dati in transito (che vedremo nella prossima lezione) impedendo ai malintenzionati di leggerli. Per assicurare questo meccanismo, il server deve installare un certificato SSL.
Un certificato SSL è un tipo di certificato digitale visualizzabile nella barra degli indirizzi del browser che ci informa che il server visitato ha abilitato il protocollo SSL.
Quando è installato su un server Web attiva il protocollo HTTPS (HyperText Transfer Protocol over Secure Socket Layer) e il "lucchetto chiuso", visualizzabile nella barra degli indirizzi del nostro browser, e permette connessioni sicure da un server Web a un client.
In figura viene mostrato quanto detto per il sito di Html.it.
Un certificato SSL è particolarmente importante se il sito che si sta visitato supporta:
- Procedure di log-in.
- Form che raccolgono dati personali.
- Transazioni con carta di credito.
Inoltre, è essenziale per diversi aspetti, poichè racchiude le seguenti informazioni:
- Il nome del dominio per cui è stato emesso il certificato.
- A quale persona o organizzazione è stato rilasciato.
- Quale autorità di certificazione lo ha rilasciato.
- La firma digitale dell'autorità di certificazione.
- I sottodomini associati.
- Data di rilascio del certificato.
- Data di scadenza del certificato.
- La chiave crittografica pubblica (la chiave privata è tenuta segreta).
Tratteremo nelle successive lezioni alcuni di questi punti, come quello relativo alla crittografia asimmetrica e quello dell'autorità di certificazione che lo rilascia.
Tipi di certificati SSL
Non soffermiamoci per adesso su come ottenere un certificato SSL e consideriamo di averne ottenuto uno da una qualsiasi autorità di certificazione (CA).
In base ai requisiti di sicurezza e di budget di un privato o di una società, è possibile ottenere diverse tipologie di certificati SSL.
Dobbiamo pensare ai certificati SSL come a una sorta di contratto o di dichiarazione tra un server e un client che deve essere rispettato per tutta la durata della comunicazione: da quando si raggiunge il server digitando l'indirizzo nella barra degli URL del browser a quando si interrompe il flusso comunicativo.
Quindi, viene naturale pensare che esistano diversi livelli di sicurezza per i certificati SSL e, a seconda di quale si è scelto, di dover soddisfare e far rispettare diversi requisiti di convalida e di sicurezza.
È importante conoscere le diverse tipologie di certificati SSL in modo da essere in grado di scegliere quello che più si adatta per il proprio server Web.
Le diverse tipologie di certificati disponibili sul mercato sono le seguenti:
- Domain Validated Certificates (DV SSL).
- Organization Validated Certificates (OV SSL).
- Extended Validation Certificates (EV SSL).
Ora ci occuperemo di delineare le differenze tra i vari tipi di certificati SSL:
Domain Validated Certificates (DV SSL)
È il più basso livello di autenticazione utilizzato per convalidare i certificati SSL. È considerato il certificato SSL "di base" e viene emesso dall'ente certificatore (CA) dopo aver eseguito un semplice processo di verifica.
In pratica, l'unica cosa che deve essere verificata dall'ente certificatore è la proprietà del dominio per cui emettere il certificato.
Questo processo di verifica è molto semplice e avviene quasi sempre senza documentazione particolare (es: rispondendo all'ente certificatore tramite email).
Questi certificati sono utilizzati da piccoli siti Web che non gestiscono transazioni finanziarie o dati sensibili dell'utente.
L'Organization Validated Certificates (OV SSL)
Ha come obiettivo principale quello di cifrare le informazioni sensibili dell'utente durante la comunicazione con il server Web.
Per ottenere un certificato di questo tipo, a differenza di quello precedente, bisogna completare un processo di convalida abbastanza complesso con l'ente certificatore.
Esso infatti, esegue una serie di verifiche sul proprietario del server Web per assicurarsi che abbia effettivamente il diritto a possedere quel particolare dominio.
Visto che il processo di verifica del proprietario del certificato OV SSL impiega più tempo rispetto alla prima tipologia, sono più costosi.
L'Extended Validation Certificates (EV SSL)
È associato al più alto grado di fiducia e reputazione.
SSL EV richiede che il proprietario del server Web sia sottoposto a un processo standardizzato di verifica dell'identità per confermare di avere diritti esclusivi sul suo dominio.
Dato che i certificati SSL EV sono costosi e richiedono un processo di verifica parecchio approfondito e dispendioso in termini di tempo, sono maggiormente utilizzati per siti Web che richiedono lo scambio di parecchie informazioni personali o che raccolgono numerosi pagamenti online (es:banche, ospedali etc. etc).
Certificati SSL e domini/sottodomini
A queste tipologie di certificati si aggiungono quelli che si occupano di proteggere un certo numero di domini e sottodomini. Tra questi abbiamo:
- Wildcard SSL Certificate.
- Multi-Domain SSL Certificate (MDC).
- Unified Communications Certificate (UCC).
Nello specifico:
- I certificati SSL Wildcard sono disponibili sia per SSL OV che SSL DV e sono usati per proteggere un dominio di base e un numero illimitato di sottodomini.
- I certificati Multi-Domain SSL possono proteggere fino a 100 diversi nomi di dominio e sottodomini usando un singolo certificato. Ciò permette un notevole risparmio in termini sia di tempo che di denaro.
- I certificati Unified Communications (UCC) sono praticamente uguali ai certificati SSL multidominio e hanno i loro stessi vantaggi. Chiaramente gli UCC possono essere utilizzati in qualsiasi piattaforma server, ma sono stati appositamente progettati per lavorare negli ambienti server Microsoft Exchange e Office Communications. Questi server hanno caratteristiche, strumenti e opzioni particolari che l'UCC è in grado di gestire al meglio.
Conclusioni
Nella prossima lezione approfondiremo il funzionamento dei certificati SSL/TLS, soprattutto dal punto di vista crittografico.