SSL e TLS: come funzionano i protocolli di sicurezza

SSL e il suo successore TLS sono dei protocolli crittografici che permettono una comunicazione sicura end-to-end (dal sorgente al destinatario). Varie versioni dei protocolli vengono utilizzate in applicazioni come i browser, l’e-mail, la messaggistica istantanea e il voice over IP.

Lo stack protocollare TCP/IP di Internet, diversamente dal modello ISO-OSI, non prevede di per sé funzionalità di sicurezza per motivi storici legati all’uso principale della rete alla sua origine (che consisteva solamente in uno scambio di dati tra scienziati), e solo successivamente con l’apertura della Rete a fini pubblici le problematiche di sicurezza sono diventate col passare del tempo sempre più importanti da cui la necessità di inserire degli strati aggiuntivi che si occupino appunto di sicurezza.

Le prime implementazioni di SSL erano limitate a cifratura a chiave simmetrica di soli 40 bit a causa delle restrizioni imposte dal governo degli USA sull’esportazione di tecnologie crittografiche, per motivi di sicurezza nazionale. In realtà la limitazione della dimensione delle chiavi a 40 bit è stata esplicitamente imposta per rendere la cifratura abbastanza debole da potere essere forzata dalle autorità giudiziarie che volessero decifrare il traffico cifrato, ma comunque resistente agli attacchi da parte di entità con minori risorse tecnologiche. Dopo diversi anni di controversie pubbliche, cause e l’ammissione da parte del governo americano di disponibilità sul mercato di prodotti per la cifratura “migliori” in tutto il mondo, alcuni aspetti delle restrizioni sono stati modificati.

Le implementazioni moderne utilizzano chiavi per la cifratura simmetrica a 128 o più bit. Il protocollo TLS consente alle applicazioni client/server di comunicare attraverso una rete sicura in modo tale da prevenire la manomissione dei dati, la falsificazione e l’intercettazione. Nell’utilizzo tipico di un browser da parte di utente finale, l’autenticazione TLS è unilaterale: è il solo server ad autenticarsi presso il client (il client conosce l’identità del server ma rimane anonimo e non autenticato sul server).

L’autenticazione del server è molto utile per il software di navigazione e per l’utente. Il browser valida il certificato del server controllando che la firma digitale dei certificati del server sia valida e riconosciuta da una certificate authority conosciuta utilizzando una cifratura a chiave pubblica. Dopo questa autenticazione il browser indica una connessione sicura mostrando l’icona di un lucchetto. Questa autenticazione, però, non è sufficiente per garantire che il sito con cui ci si è collegati sia quello richiesto.

Per essere sicuri che il sito con cui ci si è collegati sia quello richiesto è necessario analizzare il contenuto del certificato rilasciato e controllarne la catena di certificazione. I siti che intendono ingannare l’utente non possono utilizzare un certificato del sito che vogliono impersonare perché non hanno la possibilità di cifrare in modo valido il certificato, che include l’indirizzo, in modo tale che risulti valido alla destinazione.

Solo le Autorità certificate possono generare certificati validi con un URL incorporato in modo che il confronto fra l’URL apparente e quella contenuta nel certificato possa fornire un metodo certo per l’identificazione del sito. Molto spesso questo meccanismo non è noto agli utenti di internet ed è causa di varie frodi dovute ad un uso non corretto del browser, non ad una debolezza del protocollo TLS. Il protocollo TLS permette anche un’autenticazione bilaterale, tipicamente utilizzata in applicazioni aziendali, in cui entrambe le parti si autenticano in modo sicuro scambiandosi i relativi certificati. Questa autenticazione (definita Mutual authentication) richiede che anche il client possieda un proprio certificato digitale cosa molto improbabile in un normale scenario.

Andrea

Andrea

Studente di Informatica All' IISS Ettore Majorana di Seriate (Bg, si detreggia abilmente tra Riff e assoli con le sue numerose chitarre, con pause rilassanti tra Musica, Videogiochi e tipico Humor Lombardo.
Andrea

Latest posts by Andrea (see all)