Rockchip · AI & Linux Hub

Android и BSP

Rockchip Android Device ID Attestation: запись и проверка

Rockchip Android Device ID Attestation: запись и проверка — Android / Rockchip

· ArmSoM Editorial · Rockchip source documentation · 3 мин чтения

Справочный материал для разработчиков ArmSoM. Источник: RK-YH-YF-780 V1.0.0. Перед применением сопоставьте SoC, Android SDK/BSP, конфигурацию ядра и инструменты с платой. Исходник не подтверждает поддержку конкретной платы ArmSoM или версии ядра. Проверка на оборудовании ArmSoM не выполнялась; примеры и снимки взяты из исходника.

Область применения исходника

V1.0.0 охватывает RK3399, RK3326, RK3562, RK3568, RK3588 и RK3576 с Android 14 и новее. SDK, TEE и производственные инструменты должны поддерживать этот процесс. Доступна только китайская PDF; ее три рисунка используются во всех языках.

1 Обзор

ID attestation позволяет устройству подтверждать аппаратные идентификаторы, например серийный номер или IMEI. Подтверждение личности устройства повышает безопасность полностью автоматического удаленного развертывания: удаленная сторона может убедиться, что общается с нужным устройством, а не с подменой.

До выпуска создается копия аппаратных идентификаторов, доступная только доверенной среде выполнения (TEE). Пользователь может разблокировать загрузчик, изменить ПО и идентификаторы Android framework, но не может таким способом изменить копию в TEE. Аттестация подтверждает исходные аппаратные идентификаторы и препятствует подмене личности. Руководство описывает запись, проверку и ограничения.

2 Запись и проверка

2.1 Аппаратные идентификаторы

Поддерживаемые идентификаторы:

  1. Марка: Build.BRAND
  2. Имя устройства: Build.DEVICE
  3. Имя продукта: Build.PRODUCT
  4. Производитель: Build.MANUFACTURER
  5. Модель: Build.MODEL
  6. Серийный номер
  7. IMEI каждого радиомодуля
  8. MEID каждого радиомодуля

Первые шесть идентификаторов есть у всех Android-устройств и необходимы для функции. При наличии встроенных сотовых радиомодулей требуется подтверждать также IMEI или MEID. Длина каждого свойства ограничена 32 байтами; учитывайте это при настройке продукта и заполнении сведений для GMS.

2.2 Последовательность записи

Типовая последовательность настройки keybox и ID attestation

Типовая последовательность настройки keybox и ID attestation — Исходный рисунок из китайского PDF, p. 4.

Серийный номер, записанный через RKDevInfoWriteTool, должен совпадать с номером в ID attestation того же устройства. Инструменты можно адаптировать через соответствующие интерфейсы Rockchip. Следующий рисунок показывает пример последовательности записи.

Пример производственного процесса записи

Пример производственного процесса записи — Исходный рисунок из китайского PDF, p. 5.

Зависимости:

  • Для RKP CSR необходимо свойство серийного номера; сначала запишите номер.
  • Служба генерации RKP CSR запускается после нормальной загрузки Android.

CSR создается, когда пустое хранилище серийного номера получает значение либо сохраненный номер отличается от номера при предыдущей генерации CSR.

2.2.1 Запись ID attestation

Используйте RKDevInfoTool-for-IDATTE-V1.0.0 или rk_vendor_storage.

Диалог ID attestation в RKDevInfoTool

Диалог ID attestation в RKDevInfoTool — Исходный рисунок из китайского PDF, p. 6.

Ниже приведен пример команды; использование инструмента описано в vendorstorage-tutorial. Все свойства ID attestation записываются одновременно одной операцией; раздельная запись за несколько операций не допускается.

rk_vendor_storage.exe -w -i 21 -v "rockchip;rk3562_tgo;rk3562_tgo;rockchip;rk3562_tgo;rk83991906;;;"

2.2.2 Проверка ID attestation

Описаны два способа. Первый — проверка последовательного журнала:

write_id_attestation_to_secure_storage size=288
write id attestation : ret=0

Второй способ — тест VTS:

data/local/tmp/VtsAidlKeyMintTargetTest --gtest_filter=PerInstance/AttestKeyTest.EcdsaAttestationID/0_android_hardware_security_keymint_IKeyMintDevice_default

Соберите VtsAidlKeyMintTargetTest командой mm в каталоге исходников hardware/interfaces/security/keymint/aidl/vts/functional. В исходнике путь исполняемого файла не начинается с /; это сохранено, а переносы PDF внутри параметра и имени теста объединены. Проверьте фактический путь на устройстве.

Для защиты от пользовательского изменения ID attestation нельзя менять после записи. Повторная запись дает следующее исходное сообщение:

id attestation already exsit,you cannot update it!

Если изменение необходимо, исходник требует выполнить Erase All инструментом прошивки и затем записать данные заново. Это удаление данных, а не обычное обновление свойства.

3 Приложение

В исходном приложении только пустые пункты 1. и 2. без ссылок или технического содержания. Дополнительный материал не придуман.

Официальная документация: ArmSoM · Rockchip

Другие статьи по теме → · Учебные маршруты →