Android tiene un pequeño problema que solo aparece una vez cada luna azul, pero cuando lo hace, causa algo de pánico. Afortunadamente, Google tiene una solución en Android 14 que corta este problema de raíz. El problema es que el almacén de certificados raíz del sistema Android (root store) solo se podía actualizar a través de una actualización inalámbrica (OTA) durante la mayor parte de la existencia de Android. Si bien los OEM y los operadores han mejorado a la hora de enviar actualizaciones con mayor rapidez y frecuencia, las cosas aún podrían mejorar. Es por eso que Google ha ideado una solución para que la tienda raíz de Android se pueda actualizar a través de Google Play, a partir deAndroid 14.

Cuando te conectas a Internet todos los días, confías en que el software de tu dispositivo esté configurado correctamente para indicarte los servidores correctos que alojan los sitios web que quieres visitar. Establecer la conexión correcta es importante para no terminar en un servidor que pertenece a alguien con malas intenciones, pero establecer esa conexión de forma segura también es importante para que todos los datos que envíes a ese servidor estén cifrados en tránsito (TLS) y, con suerte, no puedan ser espiados fácilmente. Sin embargo, tu sistema operativo, navegador web y aplicaciones solo establecerán conexiones seguras con servidores en Internet (HTTPS) si confían en el certificado de seguridad (TLS) del servidor.

Sin embargo, como hay muchísimos sitios web en Internet, los sistemas operativos, los navegadores web y las aplicaciones no mantienen una lista de todos los certificados de seguridad de los sitios en los que confían. En cambio, buscan ver quién firmó el certificado de seguridad emitido para el sitio: ¿fue autofirmado o firmado por otra entidad (una autoridad de certificación [CA]) en la que confían? Esta cadena de validaciones puede tener varias capas de profundidad hasta llegar a una CA raíz que emitió el certificado de seguridad utilizado para firmar el certificado que finalmente firmó el certificado emitido para el sitio que está visitando.

La cantidad de CA raíz es mucho, mucho menor que la cantidad de sitios web que tienen certificados de seguridad emitidos por ellas, ya sea directamente o a través de una o más CA intermediarias, lo que hace posible que los sistemas operativos y los navegadores web mantengan una lista de certificados de CA raíz en los que confían. Android, por ejemplo, tiene una lista de certificados raíz confiables que se envían en la partición del sistema de solo lectura del sistema operativo en /system/etc/security/cacerts. Si las aplicaciones nolimitan los certificados en los que confiar, una práctica llamada fijación de certificados, entonces usan de manera predeterminada el almacén raíz del sistema operativo al decidir si confiar en un certificado de seguridad. Dado que la partición del "sistema" es de solo lectura, el almacén raíz de Android es inmutable fuera de una actualización del sistema operativo, lo que puede representar un problema cuando Google desea eliminar o agregar un nuevo certificado raíz.

A veces, un certificado raíz estáa punto de caducar, lo que puede provocar que los sitios y servicios dejen de funcionar y que los navegadores web muestren advertencias sobre conexiones inseguras. En algunos casos, sesospecha que la CA que emitió un certificado raíz es maliciosa o está comprometida. O surge unnuevo certificado raízque debe agregarse al almacén raíz de cada sistema operativo principal antes de que la CA pueda comenzar a firmar certificados. El almacén raíz de Android no necesita actualizarse con tanta frecuencia, pero sucede lo suficiente como para que el ritmo relativamente lento de actualizaciones de Android se convierta en un problema.

Sin embargo, a partir de Android 14, la tienda raíz de Android sepuede actualizar a través de Google Play. Android 14 ahora tiene dos directorios que contienen la tienda raíz del sistema operativo: la ubicación /system/etc/security/cacerts antes mencionada, inmutable fuera de OTA, y el nuevo directorio /apex/com.[google].android.conscrypt/security/cacerts, que se puede actualizar. Este último se encuentra dentro del módulo Conscrypt, un módulo de Project Mainline introducido en Android 10 que proporciona la implementación de TLS de Android. Dado que el módulo Conscrypt se puede actualizar a través de las Actualizaciones del sistema de Google Play, eso significa que la tienda raíz de Android también lo será.

Además de hacer que la tienda raíz de Android sea actualizable, Android 14 también agrega y elimina algunos certificados raíz como parte de la actualización anual de Google a la tienda raíz del sistema.

Los certificados raíz que se han agregado a Android 14 incluyen:

  1. SERVIDORES SEGUROS FNMT-RCM ROOT AC
  2. CA raíz del servidor seguro ANF
  3. Autoridad de Certificacion Firmaprofesional CIF A62634068
  4. Ciertamente Root E1
  5. Ciertamente Root R1
  6. Certificado EC-384 CA
  7. CA raíz de confianza de Certum
  8. CA raíz D-TRUST BR 1 2020
  9. CA raíz EV de D-TRUST 1 2020
  10. DigiCert TLS ECC P384 Raíz G5
  11. DigiCert TLS RSA4096 Raíz G5
  12. Confía en Global Trust 2020
  13. GlobalSign Root E46
  14. GlobalSign Root R46
  15. CA raíz HARICA TLS ECC 2021
  16. CA raíz RSA HARICA TLS 2021
  17. CA raíz HiPKI - G1
  18. Raíz ISRG X2
  19. Comunicación de seguridad ECC RootCA1
  20. Comunicación de seguridad RootCA3
  21. CA raíz de Telia v2
  22. CA raíz global de Tugra ECC v3
  23. CA raíz global de Tugra RSA v3
  24. CA raíz de TunTrust
  25. CA raíz de ECC de vTrus
  26. CA raíz de vTrus

Los certificados raíz que se han eliminado en Android 14 incluyen:

  1. Cámaras de Comercio Root - 2008
  2. Raíz global de Cybertrust
  3. CA raíz DST X3
  4. CE-ACC
  5. Autoridad de certificación primaria de GeoTrust - G2
  6. Cámara Global de Comercio Raíz 2008
  7. GlobalSign
  8. Instituciones académicas y de investigación griegas RootCA 2011
  9. Autoridad de certificación de soluciones de red
  10. Autoridad de certificación raíz de QuoVadis
  11. Sonera Clase 2 CA
  12. CA raíz EV del estado de los Países Bajos
  13. CA raíz del estado de los Países Bajos - G3
  14. Certificado ECA-1 de TrustCor
  15. Certificado raíz CA-1 de TrustCor
  16. Certificado raíz CA-2 de TrustCor
  17. CA raíz de Trustis FPS
  18. Autoridad de certificación raíz universal de VeriSign

Para obtener una explicación más detallada de los certificados TLS, debe leerel artículo de mi colega Adam Conway aquí. Para un análisis más completo de cómo funciona el almacén raíz actualizable de Android 14 y por qué surgió, consulteel artículo que escribí anteriormentesobre el tema.