Технология удаленного предоставления ключей (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
-
- Фрагмент системного сервера RKPD (Java)
-
packages/modules/RemoteKeyProvisioning/system-server
-
- Приложение RKPD (Java)
Интерфейс/реализация HAL (Rust/C++)
-
IRemotelyProvisionedComponent-
hardware/interfaces/security/keymint
-
-
Формат упаковки
Приложение и другие функции модуля упакованы в файл APEX com.android.rkpd .
Зависимости
Модуль RKP по-прежнему зависит от наличия реализаций IRemotelyProvisionedComponent для предоставления ключей аттестации и запросов на сертификаты.
Стратегия тестирования
В версии приложения APEX для AOSP содержатся модульные тесты, которые могут запускать производители оборудования.