Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Представленная в версии 3.0 PlayReady, функция PlayReady Secure Stop позволяет устройству PlayReady уверенно заявлять службе потокового мультимедиа о том, что воспроизведение любого конкретного контента было остановлено. Эта возможность гарантирует, что службы потоковой передачи мультимедиа обеспечивают точное применение и отчеты об ограничениях использования на разных устройствах для данной учетной записи.
Обзор безопасной остановки
Событие Secure Stop передается клиенту на сервер Secure Stop, когда воспроизведение мультимедиа останавливается, либо в конце носителя, либо из-за того, что пользователь остановил презентацию мультимедиа где-то в середине. Когда сообщается о событии Secure Stop, и в тот момент, когда это событие регистрируется, клиент PlayReady гарантирует, что ключ содержимого стирается из памяти. Также сообщается о безопасной остановке при неожиданном завершении предыдущего сеанса (например, из-за сбоя системы или приложения).
Замечание
Безопасная остановка применяется только к непостоянным лицензиям.
Существует два основных сценария для отправки вызова «Безопасная остановка».
- Когда воспроизведение мультимедиа останавливается либо в конце, либо потому, что пользователь остановил презентацию мультимедиа где-то в середине.
- Когда предыдущий сеанс неожиданно завершается (например, из-за сбоя системы или приложения). Приложению потребуется при запуске или завершении работы выполнять запрос на все записи сеансов Secure Stop и отправлять вызовы отдельно от любого другого воспроизведения мультимедиа.
Сведения о безопасной остановке в приложениях UWP см. в разделе "Добавление безопасной остановки " статьи PlayReady DRM .
Безопасная остановка 2
Начиная с PlayReady версии 4.2, PlayReady Secure Stop 2 обеспечивает большую безопасность, применяя функции Безопасной остановки на клиенте в доверенной среде выполнения (TEE) на уровне безопасности 3000.
Служба может использовать функцию SecureStop для принудительного воспроизведения на нескольких клиентах, принадлежащих учетной записи одного пользователя. В зависимости от конфигурации конкретного клиента в этой учетной записи пользователя служба будет получать несколько разные сообщения от клиента.
В следующей таблице показана логика серверного приложения на разных уровнях безопасности клиента и версиях безопасной остановки.
| Версия клиента | Логика сервера SecureStop | Устойчивость |
|---|---|---|
| PlayReady версии 2.0+ SL2000 | Сервер не получает от клиента сообщение SecureStop. Используйте логику приложения для этого. | Низкий уровень |
| PlayReady версии 3.0+ SL3000 (например: приложение для Windows 10) | Сервер получает сообщение SecureStop1 от клиента. Надежность этого сообщения от атак выше простой логики приложения. | Средний |
| PlayReady версия 4.2+ SL3000 | Сервер получает от клиента сообщение SecureStop2. Чтобы отправить вредоносное сообщение SecureStop2 от этого клиента, потребуется атака в доверенной среде выполнения клиента (TEE). Надежность этого сообщения от атак выше, чем SecureStop1. | Высоко |
Чтобы воспользоваться преимуществами функции Secure Stop 2, серверное приложение должно включить функцию следующим образом:
- Задайте свойство SecureStop2AESKey в классе MediaLicense при выдаче лицензии с помощью Secure Stop. (Это можно сделать независимо от того, поддерживается ли клиент Secure Stop 2.)
- Создайте класс, реализующий интерфейс ISecureStop2Handler (аналогично любому другому обработчику), таким образом, что для любого заданного ОБЪЕКТА KID он возвращает тот же ключ, который использовался при настройке свойства SecureStop2AESKey в MediaLicense с этим КИД.
- После вызова GetSecureStopData запросите свойство SecureStop2VerifiedSession в классе SecureStopDataChallenge. Если для него задано значение Guid.Empty, клиент отправил сообщение SecureStop1. Если для него задан любой другой guid, клиент отправил сообщение SecureStop2. Возвращенный Guid — это идентификатор единственного сеанса в вызове SecureStop2, который можно подтвердить как не вредоносный (если Доверенная среда выполнения клиента (TEE) не была успешно атакована).