No dia 30 de setembro, às 17:01, horário de Moscovo, expira o tempo de vida do certificado raiz da empresa IdenTrust (DST Root CA X3), que foi utilizado para a assinatura cruzada do certificado raiz da autoridade certificadora Let’s Encrypt (ISRG Root X1), controlada pela comunidade e que fornece certificados gratuitamente a todos os interessados. A assinatura cruzada garantiu a confiança nos certificados Let’s Encrypt em uma ampla gama de dispositivos, sistemas operacionais e navegadores durante o período de integração do seu próprio certificado raiz Let’s Encrypt nos repositórios de certificados raízes.
Inicialmente, estava previsto que, após a obsolescência do DST Root CA X3, o projeto Let’s Encrypt passaria a gerar assinaturas usando apenas seu próprio certificado raiz, mas tal passo resultaria na perda de compatibilidade com um grande número de sistemas antigos que não adicionaram o certificado raiz Let’s Encrypt em seus repositórios. Em particular, cerca de 30% dos dispositivos Android em uso não possuem informações sobre o certificado raiz Let’s Encrypt, cujo suporte só começou com a plataforma Android 7.1.1, lançada no final de 2016.
O Let’s Encrypt não planejava fazer um novo acordo de assinatura cruzada, uma vez que isso impõe responsabilidade adicional aos participantes do acordo, limita a autonomia e restringe a conformidade com todos os procedimentos e regras de outra autoridade certificadora. No entanto, devido ao surgimento de potenciais problemas em um grande número de dispositivos Android, o plano foi revisado. Um novo acordo foi firmado com a autoridade certificadora IdenTrust, no qual foi criado um certificado intermediário alternativo assinado cruzadamente do Let’s Encrypt. A assinatura cruzada será válida por três anos e permitirá manter o suporte a dispositivos Android a partir da versão 2.3.6.
No entanto, o novo certificado intermediário não cobre muitos outros sistemas obsoletos. Por exemplo, após a obsolescência do certificado DST Root CA X3 em 30 de setembro, os certificados Let’s Encrypt deixarão de ser reconhecidos em firmwares e sistemas operacionais já não suportados, nos quais a confiança nos certificados Let’s Encrypt exigirá a adição manual do certificado ISRG Root X1 ao repositório de certificados raiz. Os problemas se manifestarão em:
- OpenSSL até a versão 1.0.2 inclusive (o suporte para a versão 1.0.2 foi encerrado em dezembro de 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.
No caso do OpenSSL 1.0.2, o problema é causado por um erro que impede o processamento correto de certificados cruzados, caso um dos certificados raiz envolvidos na assinatura expire, mesmo que outras cadeias de confiança válidas permaneçam. O problema surgiu no ano passado após a expiração do certificado AddTrust, utilizado para assinatura cruzada nos certificados da autoridade certificadora Sectigo (Comodo). A essência do problema é que o OpenSSL tratou o certificado como uma cadeia linear, enquanto de acordo com o RFC 4158, o certificado pode representar um grafo cíclico direcionado distribuído com múltiplas âncoras de confiança que precisam ser consideradas.
Usuários de distribuições antigas ligadas ao OpenSSL 1.0.2 são oferecidos três alternativas de contorno para resolver o problema:
- Remover manualmente o certificado raiz IdenTrust DST Root CA X3 e instalar o certificado raiz ISRG Root X1 isolado (não cruzado).
- Ao executar os comandos openssl verify e s_client, pode-se especificar a opção "—trusted_first".
- Usar um servidor certificado assinado por um certificado raiz isolado SRG Root X1, sem assinatura cruzada. O método indicado resultará na perda de compatibilidade com antigos clientes Android.
Além disso, pode-se observar que o projeto Let’s Encrypt superou a marca de dois bilhões de certificados gerados. A marca de um bilhão foi alcançada em fevereiro do ano passado. Diariamente são gerados de 2,2 a 2,4 milhões de novos certificados. O número de certificados ativos totaliza 192 milhões (o certificado é válido por três meses) e abrange cerca de 260 milhões domínios (um ano atrás, 195 milhões de domínios estavam cobertos, dois anos atrás — 150 milhões, três anos atrás — 60 milhões). Segundo a estatística do serviço Firefox Telemetry, a participação global de requisições de páginas via HTTPS chega a 82% (um ano atrás — 81%, dois anos atrás — 77%, três anos atrás — 69%, quatro anos atrás — 58%).
Fonte: opennet.ru
