Let’s Encrypt: cómo reemplazar el certificado de firmas cruzadas DST Root X3

Let’s Encrypt es una de las principales autoridades de certificación del mundo, y cuenta con aproximadamente el 30% de todos los dominios que utilizan sus certificados.

Todos los certificados emitidos hasta la fecha han sido firmados con el certificado de firmas cruzadas ‘DST Root X3’ de IdenTrust, presente en Windows, macOS, Android y la mayoría de las otras plataformas de software durante años.

Este certificado de firmas cruzadas le ha permitido a Lets Encrypt adquirir la confianza de muchas entidades y plataformas de software. Sin IdenTrust, es posible que Let’s Encrypt nunca hubiese existido. Es por ello que tras su expiración, Lets Encrypt ha decidido usar su propio certificado Root “ISRG Root X1” y solicitarle a las principales plataformas de software que confíen en él.

Lets Encrypt no planea entrar en otro acuerdo de firma cruzada con IdenTrust.

El certificado root de firmas cruzadas DST Root X3 caducará el 01 de septiembre de 2021. Esto implica que Lets Encrypt estaría listo para defenderse por su cuenta y confiar únicamente en su propio certificado root.

Aunque el acuerdo no finaliza hasta septiembre del próximo año, Let’s Encrypt detendrá las firmas cruzadas de forma predeterminada a partir del 11 de enero de 2021. La opción seguirá existiendo para que los sitios y servicios continúen generando certificados con firma cruzada, pero solo hasta septiembre.

Este cambio traerá aparejado algunos problemas de compatibilidad. Algunos software que no se han actualizado desde 2016 aún no confían en el certificado root ISRG Root X1. En particular, esto incluye versiones de Android anteriores a la 7.1.1, lo que significa que las versiones anteriores ya no confiarán en los certificados emitidos por Let’s Encrypt.

El sistema operativo Android tiene un problema de larga data y bien conocido con las actualizaciones del sistema operativo. Hay muchos dispositivos Android en el mundo que tienen sistemas operativos desactualizados.

Las causas son complejas y difíciles de solucionar: para cada teléfono, el fabricante y el operador de telefonía móvil suelen modificar el core del sistema operativo antes de que el usuario final lo reciba. Cuando hay una actualización de Android, tanto el fabricante como el operador de telefonía móvil deben incorporar esos cambios en su versión personalizada antes de enviarla. A menudo, los fabricantes deciden que no vale la pena el esfuerzo.

El resultado es malo para los usuarios que compran estos dispositivos ya que sus sistemas operativos quedan desactualizados por años.

Observando el siguiente gráfico, vemos el nivel de distribución de las diferentes versiones de Android:

Actualmente, el 66,2% de los dispositivos Android ejecutan la versión 7.1 o superior. El 33,8% restante de los dispositivos comenzarán a recibir errores de certificado cuando los usuarios visiten sitios que tienen Let’s Encrypt.

Es de esperar que estos números sean menores para cuando DST Root X3 expire el próximo año, pero el cambio puede no ser muy significativo.

¿Qué medidas podemos tomar al respecto?

Como se menciono anteriormente, es importante que los usuarios actualicen el sistema Android de sus teléfonos o actualicen el smartphone cada 4 años.

¿Podemos obtener otra firma cruzada?

Lets Encrypt ha explorado esta opción y parece poco probable. Es un gran riesgo para una CA (autoridad certificadora) firmar de forma cruzada el certificado de otra CA, ya que esta se hace responsable de todo lo que hace la CA. Eso también significa que el destinatario de la firma cruzada debe seguir todos los procedimientos establecidos por la CA de firma cruzada.

Además, el problema de la actualización de Android no parece desaparecer. Si Lets Encrypt se compromete a admitir versiones antiguas de Android, esto implicaría que ellos también se comprometerán a buscar firmas cruzadas de otras CA de forma indefinida, lo cual sería contraproducente.

Si obtenés certificados Let’s Encrypt a través de Baehost:

Cuando Let’s Encrypt haga el cambio de root (11 de enero) los certificados renovados/emitidos utilizaran el ISRG Root CA X1.

En dispositivos Android desactualizados (anteriores a Android 7.1.1 – 2016) es necesario instalar el navegador Firefox que utiliza su propio repositorio de certificados que incluye ISRG Root CA X1.

De momento, los certificados Let’s Encrypt seguirán utilizando el DST Root CA X3 en nuestros servicios de hosting compartidos.

Si utilizás una versión antigua de Android:

Si tenés una versión anterior de Android, te recomendamos que instales Firefox Mobile, que es compatible con Android 5.0 o superiores al momento de redactar este artículo.

¿Por qué debería instalar Firefox?

Para el navegador integrado de un teléfono Android, la lista de certificados root de confianza proviene del sistema operativo, que está desactualizado en estos teléfonos más antiguos. Sin embargo, Firefox es actualmente único entre los navegadores: viene con su propia lista de certificados root de confianza. Por lo tanto, cualquiera que instale la última versión de Firefox se beneficiará de una lista actualizada de autoridades de certificación confiables, incluso si tu sistema operativo no está actualizado.

De todas maneras, esto no evitará que las aplicaciones y otras funciones fuera del navegador se rompan.

Si sos un desarrollador de aplicaciones:

Si desarrollas aplicaciones de Android, podés aplicar una actualización que agregue ISRG Root X1 como certificado confiable dentro del contexto de tu aplicación. Hay una discusión sobre las formas de hacerlo en este hilo del foro y este caso de GitHub (en un repositorio de terceros).

Y recordá que si tenés duda, podés contactarnos mediante mail a soporte@baehost.com

Hasta la próxima!

Deja una respuesta