Удаленная подготовка ключей (RKP) является частью AOSP с версии Android 12. В Android 14 представлен обновляемый модуль удаленной подготовки, который повышает устойчивость функций за счет повышения надежности API сервиса и сокращения времени на внесение в него любых улучшений.
Мотивация
Упростите услугу RKP, упаковав все в APEX.
До Android 14 RKP был разделен на приложение, RemoteProvisioner
и Keystore 2.0. Приложение RemoteProvisioner
отвечало за связь с бэкэндом RKP, а Keystore 2.0 отвечало как за хранение ключей, так и за связь с HAL. Это была не очень хорошая архитектура, поскольку ключи RKP значительно отличаются от ключей Keystore с точки зрения прикрепленных метаданных. Кроме того, это требовало неуклюжих изменений в коде фреймворка Keystore, чтобы оповещать RemoteProvisioner
о потенциальном нехватке ресурсов.
RKP как основной модуль призван улучшить эти моменты, аккуратно упаковав все в APEX.
Граница модуля
RKP Mainline APEX, com.android.rkpd
, содержит приложение Remote Key Provisioning Daemon (RKPD) и серверный компонент системы удаленной подготовки (создан с помощью Java).
Архитектура стека
На рисунке 1 показана архитектура стека RKP.
Рисунок 1. Архитектура стека RKP.
Внутренняя архитектура
На рисунке 2 показана внутренняя архитектура RKP.
Рисунок 2. Внутренняя архитектура RKP.
Дополнительная информация о внутренней архитектуре RKP:
Магистральная линия РКПД APEX —
com.android.rkpd
- Приложение RKPD (Java)
-
packages/modules/RemoteKeyProvisioning/app
-
- Фрагмент сервера системы РКПД (Java)
-
packages/modules/RemoteKeyProvisioning/system-server
-
- Приложение RKPD (Java)
Интерфейс/реализация HAL (Rust/C++)
-
IRemotelyProvisionedComponent
-
hardware/interfaces/security/keymint
-
-
Формат упаковки
Приложение и другие функции модуля упакованы в файл APEX com.android.rkpd
.
Зависимости
Модуль RKP по-прежнему зависит от существования реализаций IRemotelyProvisionedComponent
для предоставления ключей подтверждения и запросов сертификатов.
Стратегия тестирования
Версия AOSP приложения APEX содержит модульные тесты, которые могут выполнять OEM-производители.