Detención segura de PlayReady
Introducida en la versión 3.0 de PlayReady, La detención segura de PlayReady es una característica que proporciona los medios para que un dispositivo PlayReady aserte con confianza a un servicio de streaming multimedia que la reproducción multimedia se ha detenido para cualquier elemento de contenido determinado. Esta funcionalidad garantiza que los servicios de transmisión por secuencias de multimedia proporcionen una aplicación precisa e informes de limitaciones de uso en diferentes dispositivos de una cuenta determinada.
Introducción a la detención segura
El cliente notifica un evento Secure Stop a un servidor de detención seguro cuando se detiene la reproducción multimedia, ya sea al final del medio o porque el usuario detuvo la presentación multimedia en algún lugar del medio. Cuando se notifica un evento Secure Stop y, en el momento en que se registra el evento Secure Stop, el cliente playReady garantiza que la clave de contenido se borra de la memoria. También se notifica una detención segura cuando la sesión anterior finaliza inesperadamente (por ejemplo, debido a un bloqueo del sistema o de la aplicación).
Nota:
Secure Stop solo se aplica a licencias no persistentes.
Hay dos escenarios principales para enviar un desafío de detención segura:
- Cuando la reproducción multimedia se detiene al final o porque el usuario detuvo la presentación multimedia en algún lugar del medio.
- Cuando la sesión anterior termina inesperadamente (por ejemplo, debido a un bloqueo del sistema o la aplicación). La aplicación tendrá que consultar, ya sea durante el inicio o el apagado, para las sesiones de detención segura pendientes y enviar desafíos independientes de cualquier otra reproducción multimedia.
Para obtener información sobre la detención segura en aplicaciones para UWP, consulta la sección Agregar detención segura en el artículo DRM de PlayReady .
Detención segura 2
A partir de la versión 4.2 de PlayReady, PlayReady Secure Stop 2 proporciona más seguridad aplicando la funcionalidad Detención segura en el cliente en el entorno de ejecución de confianza (TEE) en el nivel de seguridad 3000.
Un servicio puede usar la característica SecureStop para aplicar la reproducción en varios clientes que pertenecen a una misma cuenta de usuario. Según la configuración de un cliente determinado en esa cuenta de usuario, el servicio recibirá mensajes ligeramente diferentes del cliente.
En la tabla siguiente se muestra la lógica de la aplicación de servidor en diferentes versiones de nivel de seguridad de cliente y Detención segura.
Versión del cliente de | SecureStop Server Logic | Solidez |
---|---|---|
PlayReady versión 2.0+ SL2000 |
El servidor no recibe ningún mensaje SecureStop del cliente. Use la lógica de la aplicación para hacerlo. | Bajo |
PlayReady versión 3.0+ SL3000 (ejemplo: aplicación Windows 10) |
El servidor recibe un mensaje SecureStop1 del cliente. La solidez de este mensaje frente a ataques es mayor que la lógica de aplicación simple. |
Media |
PlayReady versión 4.2+ SL3000 |
El servidor recibe un mensaje SecureStop2 del cliente. Un mensaje SecureStop2 malintencionado de este cliente requeriría un ataque en el entorno de ejecución de confianza (TEE) del cliente. La solidez de este mensaje contra ataques es mayor que SecureStop1. |
Alto |
Para aprovechar la característica Secure Stop 2, la aplicación Server debe habilitar la característica de la siguiente manera:
- Establezca la propiedad SecureStop2AESKey en la clase MediaLicense al emitir una licencia con Secure Stop. (Esto se puede hacer independientemente de si el cliente admite o no Secure Stop 2).
- Cree una clase que implemente la interfaz ISecureStop2Handler (similar a cualquier otro controlador) de modo que, para cualquier KID determinado, devuelve la misma clave que se usó al establecer la propiedad SecureStop2AESKey en un MediaLicense con ese KID.
- Después de llamar a GetSecureStopData, consulte la propiedad SecureStop2VerifiedSession en la clase SecureStopDataChallenge. Si se establece en Guid.Empty, el cliente envió un mensaje SecureStop1. Si se establece en cualquier otro GUID, el cliente envió un mensaje SecureStop2. El GUID devuelto es el identificador de sesión de la sesión única dentro del desafío SecureStop2 que se puede comprobar que no es malintencionado (suponiendo que el entorno de ejecución de confianza (TEE) del cliente no se ha atacado correctamente).