Обмен ключами PlayReady

Обмен ключами — это процесс, с помощью которого произвольные криптографические ключи (для поддерживаемых алгоритмов), защищенные PlayReady, отправляются клиенту с сервера лицензий. Это позволяет серверу выполнять криптографические операции с этими ключами (шифровать, расшифровывать, подписывать, проверять) и клиент выполнять соответствующую операцию (расшифровать, зашифровать, проверить, подписать) с теми же ключами.

Замечание

Эта функция поддерживается только в том случае, если клиент и сервер используют PlayReady версии 4.5 или более поздней.

Это важно

Данные, по которым выполняется криптографическая операция , не защищены PlayReady. PlayReady защищает только сами криптографические ключи.

Архитектура Обмена ключами

Ключи доставляются клиенту с помощью KeyExchangeLicense, уникального типа лицензии, которая может использоваться только для операций обмена ключами во время обычного приобретения лицензий.

Ключи защищены на клиенте PlayReady на том же уровне безопасности , что и ключи содержимого.

Это важно

Ключи, используемые для защиты самого содержимого, не должны отправляться клиенту через KeyExchangeLicense. Это нарушение правил соответствия и надежности PlayReady (CR&RR).

Лицензии На обмен ключами

Один keyExchangeLicense содержит следующее:

  • Один криптографический ключ
  • Политика, указывающая, какая уникальная криптографическая операция (алгоритм плюс тип, например расшифровка) может выполнять клиент.
  • Дополнительная политика, связанная с ключом, такая как абсолютный срок истечения

Криптография Обмена ключами

На сервере PlayReady Server SDK обычно создается и используется KeyExchangeLicense, по аналогии с MediaLicense, но с следующими основными различиями.

  • Криптографический ключ требует, чтобы его криптографическая операция была указана одновременно с указанным ключом.
  • Некоторые политики MediaLicense не поддерживаются, в первую очередь такие как уровни защиты выходных данных , которые относятся только к воспроизведению.

Для получения более подробной информации см. документацию KeyExchangeLicense Class.

На клиенте используется KeyExchangeLicense с помощью новых API-интерфейсов Drm_KeyExchange_*. Они позволяют клиенту выполнять следующие операции. Дополнительные сведения см. в документации по API, предоставленной в комментариях к связанному коду в PlayReady Device Porting Kit.

  • Привязка к лицензии KeyExchange, которая проверяет связанную политику лицензий
  • Выполните одну разрешенную криптографическую операцию с соответствующим ключом (многократно, по мере необходимости)