Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Перед началом включения PlayReady в упаковщик следует рассмотреть несколько рекомендаций, чтобы защитить содержимое. Обратите внимание, что создание упаковщика, обеспечивающего защиту PlayReady для содержимого, которое вы хотите зашифровать:
- Не требуется лицензионное соглашение от Корпорации Майкрософт.
- За внедрение PlayReady в ваше содержимое плата Microsoft не взимается.
- Нет платежей за роялти корпорации Майкрософт, применимых к кодировщикам PlayReady или упаковщикам.
Таким образом, вам не нужно выделять какое-либо время или бюджет для этих элементов.
Замечание
Некоторые партнеры Microsoft PlayReady могут разработать упаковщик PlayReady для вашей компании, если вы не хотите разрабатывать его самостоятельно.
Общие сведения о разработке
Время разработки для включения функций PlayReady в упаковщик будет зависеть от разработки и тестирования следующих компонентов:
Генератор ключей — создает значение ключа, используемое для шифрования содержимого (а также связанного ключа KeyID). Если вы используете механизм KeySeed, этот генератор должен реализовать функцию, как определено в спецификации KeySeed PlayReady.
Генератор заголовков PlayReady — создает объект PlayReady (включая заголовок PlayReady и /или внедренное хранилище лицензий). Этот заголовок PlayReady включает keyID или список ключей, URL-адрес сервера лицензий PlayReady по умолчанию и любое пользовательское значение, необходимое для защищенного содержимого. Эта функция должна соответствовать требованиям, описанным в спецификации заголовка PlayReady.
Packager — упаковывает содержимое, используя значение ключа, предоставленное генератором ключей, и объект PlayReady, созданный генератором заголовков PlayReady.
Система управления ключами — сохраняет значение ключа и соответствующий KeyId (не требуется, если используется механизм KeySeed).
Разработка пакета PlayReady
Если вы решили разработать собственный пакет PlayReady, вам потребуется решить, как будет работать упаковщик, в зависимости от того, как вы хотите хранить и доставлять содержимое. В следующем списке приведены необходимые действия, необходимые для добавления функций PlayReady в упаковщик.
Выберите формат шифрования. Для защиты содержимого используются несколько различных типов шифрования. Системы Microsoft PlayReady используют алгоритм симметричного ключа, расширенный стандарт шифрования (AES). Начиная с версии 4.0 системы PlayReady поддерживают ключи AES 128 в режимах CBC (цепочка блоков шифров) и CTR (режим счетчика), как определено в стандарте ISO ISO/IEC 23001-7. Механизмы шифрования, используемые для защиты содержимого, инкапсулируются в контейнере, чтобы файлы можно было эффективно просматривать и расшифровывать на различных платформах.
Любой формат шифрования, использующий ключи AES-128, используемые в режиме CTR или в режиме CBC, разрешены правилами соответствия для продуктов PlayReady. Дополнительные сведения см. в режимах шифрования содержимого PlayReady.
Выберите способ шифрования содержимого. Дополнительные сведения см. в разделе "Использование ключей шифрования".
Выберите, следует ли расшифровывать содержимое только с помощью PlayReady или поддерживать несколько DRM. Дополнительные сведения см. в разделе "Использование средств шифрования".
Выберите способ создания и хранения ключей содержимого (ключевое значение и идентификатор ключа).
Упаковщик должен включать в себя генератор ключей, который создает значение ключа, используемое для шифрования и расшифровки содержимого. Генератор ключей должен связать идентификатор ключа со значением ключа. Значение ключа остается секретом, а идентификатор ключа является открытым и вставляется в заголовок PlayReady вашего контента. Если пакетировщик не включает генератор ключей, необходимо разработать или создать один отдельно.
Необходимо разработать систему управления ключами для хранения нескольких ключевых значений и связанных с ними ID ключей или лицензировать систему у третьей стороны. Система управления ключами может быть базой данных или любой другой тип системы хранения, но должна быть безопасной, чтобы предотвратить доступ к значениям ключей без авторизации. Корпорация Майкрософт не предоставляет систему управления ключами с помощью PlayReady. Кроме того, можно использовать механизм KeySeed, предоставленный PlayReady вместо системы управления ключами (механизм KeySeed должен быть включен в упаковщик и на сервере PlayReady, который предоставляет лицензии для расшифровки содержимого).
Выберите способ вставки объекта PlayReady (включая заголовок PlayReady и /или внедренное хранилище лицензий) в зашифрованном содержимом. Дополнительные сведения см. в разделе "Создание заголовка PlayReady".
Выберите способ предоставления ключевых значений и идентификаторов ключей серверу PlayReady, который затем распределяет ключевые значения клиентам PlayReady.
Вы можете разработать собственный сервер лицензий PlayReady (требуется лицензия от PlayReady, однако плата или роялти не собираются корпорацией Майкрософт для разработки или использования сервера PlayReady), или вы можете использовать сервер PlayReady, предоставленный или управляемый сторонним поставщиком. Независимо от того, разрабатываете ли вы собственный сервер PlayReady или сервер предоставляется или управляется сторонней организацией, вы должны иметь возможность вовремя обмениваться значениями ключей и идентификаторами ключей с сервером, чтобы клиент мог эффективно воспроизводить ваш контент.
Выберите, как клиенты будут обращаться к серверу лицензий PlayReady, чтобы получить ключи шифрования содержимого. Клиентские приложения должны учитывать URL-адрес сервера лицензий PlayReady (также известный как URL-адрес приобретения лицензий или URL-адрес LA), когда им нужно получить лицензию. Клиентские приложения могут быть запрограммированы таким образом, чтобы значение URL-адреса LA было жестко закодировано или динамически извлекается с сервера. Если у клиентского приложения отсутствует значение URL-адреса LA, оно будет использовать значение, найденное в заголовке PlayReady, который является URL-адресом LA по умолчанию. Хотя это не обязательно, службы очень часто включают значение URL-адреса LA по умолчанию в заголовок PlayReady содержимого во время упаковки.