Rockchip · AI & Linux Hub

Android и BSP

Rockchip Android Widevine: подготовка L1 и получение Keybox

Rockchip Android Widevine: подготовка L1 и получение Keybox — Android / Rockchip

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

Справочный материал для разработчиков ArmSoM. Источник: cover V1.0 / revision table V2.0. Перед применением сопоставьте SoC, Android SDK/BSP, конфигурацию ядра и инструменты с платой. Исходник не подтверждает поддержку конкретной платы ArmSoM или версии ядра. Проверка на оборудовании ArmSoM не выполнялась; примеры и снимки взяты из исходника.

Версия и область применения

Это историческое руководство по запуску проекта Rockchip Android Widevine. На обложке указано V1.0, а в таблице изменений — V2.0 с добавлением заявки Keybox. Сохранены обе метки и весь технический текст. Конкретные SoC, выпуск SDK и версия ядра не названы. Для L1 требуются TrustZone и соответствующий Android SDK Widevine L1. Материал не подтверждает текущие условия лицензирования, работу портала, сертификацию или допуск продуктов ArmSoM. Доступна только китайская PDF; ее схемы, частично с английскими надписями, используются во всех языках.

1 Обзор

1.1 Widevine

Исходник описывает Widevine как DRM Google, появившуюся после Android 3.0. На сайте Widevine доступны сведения о продукте, технологиях, документации, Keybox и поддержке. В исходнике различаются три уровня безопасности.

Уровень Защищенный загрузчик Подготовка ключей Защитное оборудование / TEE Обработка Keybox и видеоключей Видеотракт
L1 Да На заводе Да Открытые ключи не доступны основному CPU Аппаратно защищенный видеотракт
L2 Да На заводе Да Открытые ключи не доступны основному CPU Открытый видеопоток передается рендереру
L3 Да При эксплуатации Нет Открытые ключи доступны основному CPU Открытый видеопоток передается декодеру

Исходная таблица уровней безопасности

Исходная таблица уровней безопасности — Исходный рисунок из китайского PDF, p. 4.

Из-за небольшого спроса на L2 руководство в основном рассматривает L1 и L3. L3 обеспечивает базовую защиту контента и Keybox без специальных требований к чипу или решению, если поставщик контента не предъявляет особых требований. L1 использует аппаратную защиту Rockchip TrustZone для Keybox, ключей шифрования/дешифрования и расшифрованных потоков. Он нужен, когда поставщик контента требует TrustZone и Secure Video Path.

1.2 Рабочий процесс Widevine

Обмен данными подготовки, контента и лицензий

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

  1. Сервер шифрования шифрует открытый контент и сохраняет его в библиотеке. Обычный HTTP-сервер передает зашифрованный контент клиентам.
  2. Provisioning Server выдает уникальный сертификат устройства. В исходнике этот шаг назван необязательным, повышающим безопасность. Устройство использует Keybox как корень доверия для получения сертификата; приложение запрашивает лицензию с RSA-подписанным сертификатом, а не с самим Keybox.
  3. Клиент обращается к Licence Server. После проверки устройства сервер возвращает подписанную и зашифрованную лицензию. Доступ к DRM-контенту разрешен только после ее получения.

2 Разработка Widevine L1

2.1 Участники проекта

Связи Google, Rockchip и производителя устройств

Связи Google, Rockchip и производителя устройств — Исходный рисунок из китайского PDF, p. 6.

По схеме Google предоставляет Keybox, Rockchip — SDK и исправления Widevine; производитель устройства интегрирует оба компонента.

2.2 Последовательность разработки

Схема разработки проекта L1

Схема разработки проекта L1 — Исходный рисунок из китайского PDF, p. 7.

  1. Выберите платформу Rockchip с TrustZone для L1.
  2. Получите Android SDK Rockchip с поддержкой Widevine L1.
  3. Установите деловые отношения с Widevine и запросите плагин CDM.
  4. Для Level 1 запросите Keybox.
  5. Получите соответствующие исправления Rockchip.
  6. Интегрируйте исправления Level 1 и Widevine CDM Client в SDK.
  7. Выполните разработку и тестирование.
  8. Запишите Keybox при заводском производстве.

2.3 Получение Keybox

Процесс получения Keybox и производства

Процесс получения Keybox и производства — Исходный рисунок из китайского PDF, p. 8.

Синие блоки исходной схемы обозначают действия OEM:

  1. Создайте Google-аккаунт с корпоративной почтой.
  2. Создайте PGP-ключ: в исходнике указан 2048-bit RSA cipher key.
  3. Зарегистрируйтесь на Integration Platform.
  4. Войдите на платформу.
  5. Добавьте устройство.
  6. Укажите Model, Make и другие данные для белого списка Google.
  7. Вручную создайте DeviceId и загрузите его.
  8. Платформа создаст Keybox по этим данным.
  9. Скачайте и проверьте Keybox.
  10. Проверьте Widevine Level 1 на устройстве.
  11. Выпускайте устройства Level 1/2 с записанным Keybox.

3 FAQ

3.1 Widevine_DRM_Getting_Started

При заявке производителя на Widevine L1 Google обычно предоставляет Getting Started. В исходнике приведены такие ориентиры:

  1. Запросите Widevine CDM Client — плагин Android-интеграции; разные версии Android используют разные плагины.
  2. Запросите учетные данные организации. Widevine Cloud License Services допускает доступ только с такими данными; исходник описывает ключ, связываемый с сертификатами при обмене.
  3. При выпуске Android-продукта с Widevine порядок согласования зависит от конечного приложения и может включать серверные белые списки. Для Google Apps (Play Store, Gmail, YouTube) указан Android Partnership; для AOSP без Google Apps — Widevine.
  4. Исторический текст требует лицензионного соглашения и сообщает об отсутствии лицензионной платы Widevine за продукты/услуги. Это сведения источника, не подтверждение нынешних коммерческих или юридических условий.
  5. Вопросы предлагается направлять через сайт Widevine.

3.2 Widevine_DRM_Getting_Started_Device_Management

Раздел ориентирован прежде всего на AOSP; для ATV-сертификации действуют требования ATV. Исходник рекомендует обращаться за содействием Rockchip, если Keybox не получен более месяца. При заявке на L1 Keybox Google обычно предоставляет Device Management. Процесс:

  1. Устройства и Keybox управляются через Integration Platform. Создайте и зарегистрируйте аккаунт, передайте запрошенный публичный PGP-ключ. Войти можно после одобрения.
  2. После создания Google-аккаунта попросите Widevine зарегистрировать его в Integration Platform.
  3. Войдите на Integration Platform.
  4. В Devices → Management доступны добавление устройства, изменение записи и создание Keybox для существующего устройства. В источнике кнопка написана как GENERATEKEYBOXS.

Интерфейс Device Management

Интерфейс Device Management — Исходный рисунок из китайского PDF, p. 11.

3.3 Замечания по соглашению Google

По исходнику команда Widevine может запросить сведения о компании, количестве сотрудников, доле R&D, обслуживаемых брендах, будущих продуктах и собственной марке. Вопросы безопасности касаются защиты ключей, secure boot и защиты от несанкционированной перепрошивки; источник предлагает помощь Rockchip при подготовке ответов. Также приведено требование: после письменного запроса Google лицензиат может быть обязан в течение семи (7) дней письменно, включая email, подтвердить соответствие Robustness Requirements. Это исторические формулировки; их нужно сверять с соглашением конкретного проекта.

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

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