PlayReady и другие технологии защиты
Системы PlayReady могут взаимодействовать с другими системами защиты содержимого с помощью следующих функций, описанных в этом разделе:
Общее шифрование
PlayEnablers
CopyEnablers (поддерживается только в PlayReady 1.X и 2.X)
MoveEnablers (поддерживается только в PlayReady 1.X и 2.X)
Импорт и экспорт
Общее шифрование
Поставщик услуг может зашифровать файл содержимого один раз с помощью ключа содержимого (CK) и доставлять его разным клиентам с помощью разных технологий защиты содержимого. Таким образом, один защищенный ресурс можно обслуживать набор разнородных клиентов, который экономит затраты на хранение и сеть доставки содержимого (CDN) по сравнению с системой, где конкретное защищенное содержимое обслуживается каждому типу клиента.
Давайте рассмотрим пример службы, предоставляющей защищенное содержимое клиентам PlayReady (первая технология защиты содержимого) и клиентам DRM B (вторая технология защиты содержимого). Содержимое является сегментированным MP4-файлом (fMP4, ISOBMFF) или ресурсом адаптивной потоковой передачи на основе сегментированных MP4-файлов (таких как DASH, Smooth Streaming или HLS), а используемый формат шифрования — стандарт ISO/IEC 23001-7:2016.
Ниже приведен поток содержимого в общей системе:
Во-первых, служба создает ключ содержимого (CK) — обычно 128-разрядный ключ AES и режим шифрования, как правило, AESCTR или AESCBC, обычный или частичный— и идентификатор ключа (KID, обычно 128-разрядный GUID).
Служба упаковыт файл очистки:
Шифрует видео и аудиокадры с помощью CK и выводит защищенный файл.
Создает заголовок PlayReady, включая KID, на основе спецификаций PlayReady и включает его в заголовок защищенного файла.
Создает заголовок DRM B на основе спецификаций DRM B и включает его в заголовок защищенного файла.
Служба доставляет защищенный файл клиенту PlayReady:
Клиент PlayReady анализирует защищенное содержимое и обнаруживает заголовок PlayReady (среди других заголовков).
Клиент PlayReady использует сведения о заголовке PlayReady для запроса лицензии с сервера лицензирования PlayReady службы, который возвращает лицензию, содержащую CK.
Клиент PlayReady использует CK для расшифровки защищенного содержимого и его отрисовки.
Служба доставляет защищенный файл клиенту DRM B:
Клиент DRM B анализирует защищенное содержимое, обнаруживает заголовок DRM B (среди других заголовков).
Клиент DRM B использует сведения о заголовке DRM B для запроса лицензии с сервера лицензирования DRM B службы, который возвращает лицензию, содержащую CK.
Клиент DRM B использует CK для расшифровки защищенного содержимого и отрисовки его.
Дополнительные сведения о стандарте общего шифрования MPEG см. в следующих статье:
- Общее шифрование MPEG
- Схема защиты ISO Common Encryption ('cenc') для формата потока файлов базового носителя ISO
- Формат потока и инициализации инициализации ISO Common Encryption EME
--
- Общее шифрование MPEG
- Схема защиты ISO Common Encryption (CENC) для формата потока файлов базового носителя ISO
- Формат потока и инициализации инициализации ISO Common Encryption EME
Примечание
Этот механизм можно расширить до содержимого, зашифрованного с помощью нескольких ключей, например в содержимом с несколькими дорожками или многокачественный контент, где разные дорожки шифруются с помощью разных ключей содержимого, или в содержимом, в котором периодически изменяются ключи содержимого (смена ключей).
PlayEnablers
PlayEnabler представляет технологию, в которую разрешено воспроизводить содержимое из клиента PlayReady. Например:
- Клиент, который воспроизводит содержимое, защищенное PlayReady, и передает аудио-видео приемнику AirPlay с помощью защиты канала AirPlay.
- Клиент, который воспроизводит содержимое, защищенное PlayReady, и передает аудио-видео в неизвестный вывод.
- Клиент, который воспроизводит содержимое, защищенное PlayReady, и передает аудио-видео в сетевой приемник, защищенный с помощью DTCP-IP.
Объект PlayEnabler является необязательным правом, которое может содержать лицензия, если она задана поставщиком услуг при создании лицензии. Если он присутствует, клиент может воспроизводить и передавать звуковой или видео сигнал в соответствующие выходные данные. Обратите внимание, что PlayEnabler включает операцию экспорта, если передача в соответствующие выходные данные требует транскрибирования (то есть расшифровки PlayReady и повторного шифрования с другим ключом шифрования и форматом).
CopyEnablers
CopyEnabler представляет технологию, в которую разрешено копировать содержимое из клиента PlayReady.
Примечание
Это не операция копирования защищенного содержимого PlayReady из одного расположения в другое, что не требует никакого права. Это операция копирования защищенного содержимого и права или лицензии на его воспроизведение.
Например, клиент PlayReady может расшифровать содержимое PlayReady, чтобы повторно зашифровать его с помощью CSS и записать DVD-диск видео. Эта операция создает копию содержимого (исходный защищенный файл содержимого PlayReady по-прежнему существует на устройстве, но копия была создана на DVD-диске) и включает расшифровку (расшифровка PlayReady и повторное шифрование CSS).
Объект CopyEnabler является необязательным правом, которое может содержать лицензия. Если он присутствует, клиент может скопировать содержимое в соответствующий формат и хранилище. Обратите внимание, что CopyEnabler включает операцию экспорта, если для создания соответствующей копии требуется транскрибирование (то есть расшифровка PlayReady и повторное шифрование с другим ключом шифрования и форматом).
Примечание
CopyEnablers поддерживаются до PlayReady 2.X. Они больше не поддерживаются клиентами PlayReady версии 3.0 и выше.
MoveEnablers
MoveEnabler представляет технологию, на которую может перейти содержимое из клиента PlayReady.
Примечание
Это не операция перемещения защищенного содержимого PlayReady из одного расположения в другое, что не требует никакого права. Это операция перемещения защищенного содержимого и права или лицензии на его воспроизведение.
Например, клиент PlayReady может расшифровать содержимое PlayReady, чтобы повторно зашифровать его с помощью защиты содержимого для записываемого носителя (CPRM) и сохранить его на диске с поддержкой CPRM, а затем удалить исходное защищенное содержимое и лицензию PlayReady. Эта операция перемещает содержимое (исходный защищенный файл содержимого PlayReady больше не существует на устройстве, но копия была создана на диске с поддержкой CPRM) и включает расшифровку (расшифровка PlayReady и повторное шифрование CSS).
Объект MoveEnabler является необязательным правом, которое может содержать лицензия. Если он присутствует, клиент может переместить содержимое в соответствующий формат и хранилище. Обратите внимание, что MoveEnabler включает операцию экспорта, если для создания соответствующего целевого формата требуется транскрибирование (то есть расшифровка PlayReady и повторное шифрование с другим ключом шифрования и форматом).
Примечание
MoveEnablers поддерживаются до PlayReady 2.X. Они больше не поддерживаются клиентами PlayReady версии 3.0 и выше.
Импорт и экспорт
Некоторые системы устройств могут изменять формат защищенного содержимого и связанную с ней лицензию с одной технологии защиты содержимого на другую. Эта операция называется импортом или экспортом. Как правило, такая операция должна быть явно разрешена экспортируемой технологией (A).
Импорт PlayReady определяет операцию, в которой содержимое изначально защищено с помощью технологии защиты содержимого A, а затем защищено с помощью PlayReady, обычно в трансшифровке. Это означает, что ключи шифрования защищенного содержимого защищены в лицензии защиты содержимого A при получении на устройстве и защищены в лицензии PlayReady при выходе из этого устройства. Это может включать перешифровку содержимого (расшифровку содержимого и повторное шифрование содержимого с помощью разных ключей) или просто перепаковку ключей шифрования из формата лицензии Защиты содержимого A в формат лицензии PlayReady. Он также может включать транскрибирование прав и прав от технологии Защиты содержимого X для playReady расширяемых прав мультимедиа (XMR).
Экспорт PlayReady обозначает операцию, в которой содержимое изначально защищено с помощью PlayReady, а затем защищено с помощью технологии защиты содержимого Y, обычно в трансшифровке. PlayReady не разрешает экспорт защищенного содержимого по умолчанию, но позволяет экспортировать некоторые файлы через явные необязательные права, заданные в лицензии, известные как PlayEnablers, CopyEnablers и MoveEnablers.
Например, пользователь использует компьютер для получения содержимого подписки, защищенного с помощью PlayReady, а затем хочет передать это содержимое на устройство воспроизведения в сети, которая поддерживает только DTCP-IP. Чтобы воспроизвести содержимое, защищенное с помощью PlayReady на этом устройстве, необходимо экспортировать защищенное содержимое в DTCP-IP.
Чтобы включить этот сценарий, пакет SDK для Сервера PlayReady позволяет разработчикам указывать дополнительные форматы защиты содержимого для экспорта в инклюзивном списке. Этот инклюзивный список создается для каждой лицензии путем добавления идентификаторов GUID, соответствующих разрешенным форматам защиты содержимого (добавление GUIDв инклюзивный список выполняется с помощью класса PlayEnabler ). Эти идентификаторы GUIDи связанные с ними сопоставления прав определяются в правилах соответствия пакета SDK для сервера PlayReady, которые сопровождали лицензионное соглашение от Корпорации Майкрософт. Клиент, отправляя содержимое, может экспортировать содержимое только в эти системы защиты содержимого, указанные в списке инклюзивных лицензий.
Примечание
После экспорта в защиту содержимого B содержимое контролируется правилами защиты содержимого Б. То есть после экспорта из PlayReady в другую технологию она больше не распространяется на правила соответствия PlayReady и надежности.