Il 30 settembre alle 17:01 ora di Mosca scade la vita del certificato root dell'azienda IdenTrust (DST Root CA X3), utilizzato per la cosiddetta firma incrociata del certificato root dell'autorità di certificazione Let’s Encrypt (ISRG Root X1), controllato dalla comunità e che fornisce certificati gratuitamente a chiunque lo richieda. La firma incrociata garantiva fiducia nei certificati Let’s Encrypt su un ampio spettro di dispositivi, sistemi operativi e browser durante il periodo di integrazione del proprio certificato root Let’s Encrypt nei depositi dei certificati root.
Inizialmente, si prevedeva che, dopo la precedente scadenza di DST Root CA X3, il progetto Let's Encrypt passasse alla generazione delle firme utilizzando esclusivamente il proprio certificato radice. Tuttavia, questa mossa porterebbe a una perdita di compatibilità con un numero significativo di sistemi obsoleti che non hanno aggiunto il certificato radice di Let's Encrypt nei loro archivi. In particolare, circa il 30% dei dispositivi Android in uso non dispone delle informazioni sul certificato radice di Let's Encrypt, il cui supporto è stato introdotto solo a partire dalla piattaforma Android 7.1.1, rilasciata alla fine del 2016.
Let’s Encrypt non intendeva stipulare un nuovo accordo di cross-signature, poiché ciò comporterebbe una responsabilità aggiuntiva per le parti coinvolte, priverebbe di autonomia e limiterebbe la capacità di rispettare tutte le procedure e le regole di un altro ente di certificazione. Tuttavia, a causa di potenziali problemi su un gran numero di dispositivi Android, il piano è stato riconsiderato. È stato stipulato un nuovo accordo con l'ente di certificazione IdenTrust, creando un certificato intermedio alternativo cross-firmato di Let’s Encrypt. La cross-firma sarà valida per tre anni e manterrà il supporto per i dispositivi Android, a partire dalla versione 2.3.6.
Tuttavia, il nuovo certificato intermedio non copre molti altri sistemi obsoleti. Ad esempio, dopo la scadenza del certificato DST Root CA X3 il 30 settembre, i certificati di Let’s Encrypt smetteranno di essere riconosciuti nelle versioni firmware e nei sistemi operativi già non supportati, nei quali sarà necessaria l'aggiunta manuale del certificato ISRG Root X1 nel trust store dei certificati radice per garantire la fiducia nei certificati di Let’s Encrypt. I problemi si manifesteranno in:
- OpenSSL fino alla versione 1.0.2 inclusa (il supporto della versione 1.0.2 è terminato a dicembre 2019);
- NSS < 3.26;
- Java 8 < 8u141, Java 7 < 7u151;
- Windows < XP SP3;
- macOS < 10.12.1;
- iOS < 10 (iPhone < 5);
- Android < 2.3.6;
- Mozilla Firefox < 50;
- Ubuntu < 16.04;
- Debian < 8.
Nel caso di OpenSSL 1.0.2, il problema è causato da un bug che impedisce il corretto trattamento dei certificati cross-signed, nel caso in cui uno dei certificati radice coinvolti nella firma diventi obsoleto, anche se altre catene di fiducia valide rimangono. Il problema è emerso per la prima volta lo scorso anno dopo l'obsolescenza del certificato AddTrust, utilizzato per la cross-signature nei certificati dell'autorità di certificazione Sectigo (Comodo). La questione è che OpenSSL interpretava il certificato come una catena lineare, mentre secondo l'RFC 4158 il certificato può rappresentare un grafo ciclico distribuito orientato con più ancore di fiducia che devono essere considerate.
Agli utenti delle vecchie distribuzioni legate a OpenSSL 1.0.2 vengono proposti tre workaround per risolvere il problema:
- Disinstallare manualmente il certificato radice IdenTrust DST Root CA X3 e installare il certificato radice ISRG Root X1 isolato (non cross-signed).
- Quando si eseguono i comandi openssl verify e s_client, è possibile specificare l'opzione «—trusted_first».
- Utilizzare su server un certificato firmato dal certificato radice SRG Root X1 isolato, che non ha una cross-signature. Questo metodo comporterà la perdita di compatibilità con i vecchi client Android.
Inoltre, si può notare che il progetto Let’s Encrypt ha superato il traguardo di due miliardi di certificati generati. Il traguardo di un miliardo è stato raggiunto a febbraio dello scorso anno. Vengono generati quotidianamente tra 2,2 e 2,4 milioni di nuovi certificati. Il numero di certificati attivi è di 192 milioni (il certificato ha una durata di tre mesi) e copre circa 260 milioni domini (un anno fa erano coperti 195 milioni di domini, due anni fa 150 milioni, tre anni fa 60 milioni). Secondo le statistiche del servizio Firefox Telemetry, la quota globale di richieste di pagine tramite HTTPS è dell'82% (un anno fa era dell'81%, due anni fa del 77%, tre anni fa del 69%, quattro anni fa del 58%).
Fonte: opennet.ru
