Удаленная инициализация ключей

Удаленная инициализация ключей (RKP) входит в AOSP с версии Android 12. В Android 14 появился обновляемый модуль удаленной инициализации, который повышает устойчивость функций за счет улучшения надежности API сервиса и сокращения времени на его улучшение.

Мотивация

Упростить сервис RKP, упаковав все в APEX.

До выхода Android 14 RKP был разделен на приложение,RemoteProvisioner и хранилище ключей 2.0. Приложение RemoteProvisioner отвечало за связь с сервером RKP, а Keystore 2.0 – за хранение ключей и связь с HAL. Это не самая удачная архитектура, поскольку ключи RKP значительно отличаются от ключей Keystore с точки зрения прикрепленных метаданных. Кроме того, для оповещения RemoteProvisioner о потенциальной нехватке ресурсов потребовалось внести неудобные изменения в код фреймворка Keystore.

Модуль RKP для Mainline призван устранить эти недостатки, поскольку все необходимые компоненты упакованы в APEX.

Граница модуля

RKP Mainline APEX (com.android.rkpd) содержит приложение Remote Key Provisioning Daemon (RKPD) и компонент сервера удаленной инициализации (созданный на Java).

Архитектура стека

На рисунке 1 показана архитектура стека RKP.

Архитектура стека RKP

Рисунок 1. архитектуру стека RKP;

Внутренняя архитектура

На рисунке 2 показана внутренняя архитектура RKP.

Внутренняя архитектура RKP

Рисунок 2. Внутренняя архитектура RKP.

Дополнительная информация о внутренней архитектуре RKP:

  • RKPD Mainline APEX - com.android.rkpd

    • Приложение RKPD (Java)
      • packages/modules/RemoteKeyProvisioning/app
    • Фрагмент системного сервера RKPD (Java)
      • packages/modules/RemoteKeyProvisioning/system-server
  • Интерфейс/реализация HAL (Rust/C++)

    • IRemotelyProvisionedComponent
      • hardware/interfaces/security/keymint

Формат пакета

Приложение и другие функции модуля упакованы в файл APEX com.android.rkpd.

Связанные запросы

Модуль RKP по-прежнему зависит от наличия реализаций IRemotelyProvisionedComponent, которые предоставляют ключи подтверждения и запросы сертификатов.

Стратегия тестирования

Версия APEX-файла приложения для AOSP содержит модульные тесты, которые могут запускать OEM-производители.