Разработчики http Toolkit, открытого инструментария для инспектирования HTTPS-трафика, обратили внимание на изменение способа обновления сертификатов удостоверяющих центров (CA) в будущем выпуске платформы Android 14. Сертификаты больше не будут привязаны к прошивке, а станут доставляться отдельным пакетом, обновляемым через Google Play.
С одной стороны, подобный подход упрощает поддержание актуальных сертификатов CA и удаление сертификатов скомпрометированных удостоверяющих центров, а также не позволяет производителям устройств манипулировать списком корневых сертификатов и делает процесс их обновления независимым от обновления прошивки. С другой стороны, новый способ доставки не позволяет пользователю вносить изменения в системные сертификаты, даже если он имеет root-доступ на устройстве.
Вместо каталога /system/etc/security/cacerts сертификаты в Android 14 загружаются из каталога /apex/com.android.conscrypt/cacerts, размещённого в отдельном контейнере APEX (Android Pony EXpress), содержимого которого доставляется через Google Palay, а целостность контролируется цифровой подписью Google. Таким образом, даже полностью контролируя систему с правами root пользователь не сможет изменить содержимое списка системных сертификатов. Новая схема хранения сертификатов может привести к трудностям у разработчиков, занимающихся обратным инжинирингом, инспектирование трафика или исследованием прошивок, а также потенциально может усложнить разработку проектов, развивающих альтернативные прошивки на базе Android, такие как GrapheneOS и LineageOS.
Изменение касается только системных CA-сертификатов, по умолчанию используемых во всех приложениях на устройстве, и не затрагивает обработку пользовательских сертификатов, позволяющих добавить дополнительные сертификаты для отдельных приложений (например, сохраняется возможность добавить дополнительные сертификаты для браузера), но не позволяющих организовать инспектирование трафика от всех приложений и самого устройства.