Il 2021 rischia di essere un cattivo anno per chi naviga su Internet con uno smartphone o un tablet Android un po’ datati: questo perché la società Let’s Encrypt ha annunciato che, a partire da settembre 2021, riuscirà a “stare in piedi da sola” in quanto non avrà più bisogno di IdenTrust come Certificate Authority (CA) su cui appoggiarsi per la validazione dei certificati TLS/SSL.
Che cosa vuol dire tutto ciò? Facciamo un passo indietro e spieghiamo anche ai non addetti ai lavori in che modo questo annuncio comporterà dei problemi per i detentori di uno smartphone o tablet Android non nuovissimo.
Indice degli argomenti
Che cosa sono i certificati TLS/SSL?
Transport Layer Security (TLS) e la sua versione precedente Secure Sockets Layer (SSL) sono i protocolli crittografici che rendono sicure le comunicazioni in un network di computer. Sono dunque i protocolli usati per rendere sicure le comunicazioni via Internet, siano queste il download di una pagina, l’invio di una mail o una chat istantanea di messaggistica come Signal.
Le comunicazioni tra client e server possono avvenire anche senza TLS, ossia in una modalità non sicura in cui è possibile carpire e intercettare informazioni e persino manometterle.
Quando un client richiede una comunicazione sicura con un server, il server procura al client un certificato digitale che lo identifica. Il certificato digitale contiene pertanto il nome del server, la chiave pubblica di cifratura del server stesso e la firma di una CA che valida l’autenticità di tale certificato.
Il ruolo della Certificate Authority
Una CA è un trusted third party che viene riconosciuto sia dal possessore del certificato (in questo caso il server) sia da chi si avvale di tale certificato (in questo caso il client). Sono dunque le CA che rendono possibile firmare e dunque validare i dati usati nel protocollo HTTPS che ci permettono di navigare in tutta sicurezza.
Le CA sono normalmente delle aziende che si fanno pagare dai cosiddetti supervisori di server per generare dei certificati che identificano in maniera sicura tali server, garantendo una valida chiave privata corrispondente alla chiave pubblica mostrata sul certificato stesso. Esistono anche delle CA che sono non-profit, ovvero che generano certificati gratuitamente. Tra queste Let’s Encrypt è una delle più famose.
Il caso Let’s Encrypt
Come detto sopra, Let’s Encrypt genera certificati per comunicazioni sicure con il protocollo TLS gratuitamente. Let’s Encrypt è gestita dalla Internet Security Research Group ed è attiva dall’aprile del 2016. Tra i maggiori sostenitori alle spalle di Let’s Encrypt troviamo Electronic Frontier Foundation, la Mozilla Foundation, OVH, Google Chrome, Cisco e Facebook.
Assieme ai certificati, Let’s Encrypt voleva anche essere una CA a sé stante. Ma una CA per essere tale deve guadagnarsi un certo livello di fiducia tra i clienti. In altre parole, quello che rende una potenziale CA una vera a propria CA è il fatto che quest’ultima è trusted.
E il processo per avere una CA completamente trusted è lunghissimo, nell’ordine di qualche anno.
Proprio per questo motivo, nel 2016, Let’s Encrypt si avvalse di una CA esterna, IdenTrust, che fornisse una cross-signature ai certificati di Let’s Encrypt in modo da fornirne la credibilità e dunque il trust necessario al loro utilizzo.
DST Root X3 è il nome del certificato di IdenTrust che, nel 2016, era in circolazione da anni e aveva già guadagnato la fiducia (ovvero il trust) di macOS, Windows, Linux, Android e iOS.
Contemporaneamente, Let’s Encrypt nel 2016 ha anche generato il suo proprio certificato, chiamato ISRG Root X1, al fine di avere un giorno la capacità di essere una CA a tutti gli effetti.
A settembre del prossimo anno il certificato di IdenTrust non sarà più valido e, allo stesso tempo, il certificato di Let’s Encrypt ISRG Root X1 ha guadagnato il trust necessario negli ultimi cinque anni per essere considerato a tutti gli effetti sufficiente alla validazione dei certificati generati da Let’s Encrypt.
In questo senso, lo scorso 6 novembre, Jacob Hoffman-Andrews, uno degli sviluppatori più anziani della Electronic Frontier Foundation per Let’s Encrypt, ha spiegato come ora i loro certificati potranno stare in piedi sulle loro proprie gambe.
Conseguenti problemi di accesso per i dispositivi Android
Il problema che segue all’annuncio sopra è che i dispositivi (smartphone e tablet) che utilizzano una versione di Android 7.1.1 Nougat (o addirittura una versione anteriore) non potrebbero più fidarsi dei certificati di Let’s Encrypt.
In generale, il problema sussisterebbe con tutti i device che utilizzano software e sistemi operativi che non vengono aggiornati dal 2016, ovvero da quando il certificato di Let’s Encrypt ha iniziato a circolare. Tali software non accetterebbero infatti ISRG Root X1 (di Let’s Encrypt) ma solo il certificato DST Root X3 di IdenTrust.
Però di fatto il problema vale solo per Android per le difficoltà di aggiornamento del sistema operativo, che dipendono da moltissimi fattori.
Si stima che il 34% dei dispositivi smartphone e tablet che utilizzano Android come sistema operativo non siano stati aggiornati a versioni successive alla 7.1.1. Questo comporterebbe che, a partire dal primo settembre 2021, questi dispositivi riceveranno errori di certificato in risposta quando proveranno a connettersi ai siti che utilizzano i certificati TLS di Let’s Encrypt.
Dato che sono oltre 220 milioni i siti che utilizzano Let’s Encrypt (e che quindi dall’anno prossimo avranno ISRG Root X1 come certificato) e che gli utenti che utilizzano Android sono circa 2.5 miliardi [2], questo diventa un “problema piuttosto ingombrante”.
Quali soluzioni
Che cosa possono fare dunque gli utenti Android per navigare in santa pace a partire dall’autunno prossimo? Come accennato sopra, non è detto che il device in possesso supporti l’ultima versione di Android, o almeno una versione che sia più recente di Android 7.1.1.
Se acquistare un nuovo smartphone o un nuovo tablet non è un’opzione allora è bene installare Mozilla Firefox Mobile che, almeno per ora, supporta la versione di Android 7.1.1 e tutte le antecedenti fino alla versione Android 5.0.