Обмен ключами PlayReady
Обмен ключами — это процесс, с помощью которого произвольные криптографические ключи (для поддерживаемых алгоритмов), защищенные PlayReady, отправляются клиенту с сервера лицензирования. Это позволяет серверу выполнять криптографические операции с этими ключами (шифровать, расшифровывать, подписывать, проверять), а клиенту — выполнять соответствующие операции (расшифровка, шифрование, проверка, подпись) с теми же ключами.
Примечание
Эта функция поддерживается только в том случае, если клиент и сервер используют PlayReady версии 4.5 или более поздней.
Важно!
Данные, на которых выполняется криптографическая операция, не защищены PlayReady. PlayReady защищает только сами криптографические ключи.
Архитектура обмена ключами
Ключи доставляются клиенту через KeyExchangeLicense, уникальный тип лицензии, который можно использовать только для операций обмена ключами, во время обычного приобретения лицензии.
Ключи защищены на клиенте с помощью PlayReady на том же уровне безопасности , что и сами ключи содержимого.
Важно!
Ключи, используемые для защиты самого содержимого, не должны отправляться клиенту через KeyExchangeLicense. Это является нарушением правил соответствия и надежности PlayReady (CR&RR).
Лицензии Key Exchange
Одна лицензия KeyExchangeLicense содержит следующее:
- Один криптографический ключ
- Политика, указывающая, какую уникальную криптографическую операцию (алгоритм плюс тип, например "расшифровка") может выполнять клиент.
- Дополнительная политика, связанная с ключом, например абсолютный срок действия
Шифрование обмена ключами
На сервере keyExchangeLicense обычно создается и используется в пакете SDK PlayReady Sever , например MediaLicense, со следующими основными отличиями.
- Криптографический ключ требует, чтобы его криптографическая операция была указана одновременно с указанным ключом
- Некоторые политики MediaLicense не поддерживаются, в первую очередь такие как уровни защиты выходных данных , которые относятся только к воспроизведению.
Дополнительные сведения см. в документации по классу KeyExchangeLicense .
На клиенте keyExchangeLicense используется через новые API Drm_KeyExchange_*. Они позволяют клиенту выполнять следующие операции. Дополнительные сведения см. в документации по API, предоставленной в комментариях к связанному коду в комплекте для переноса устройств PlayReady .
- Привязка к лицензии KeyExchange, которая проверяет связанную политику лицензий
- Выполнение одной разрешенной криптографической операции со связанным ключом (по желанию)