Eliminación segura de PlayReady
Introducida en la versión 4.0 de PlayReady, La eliminación segura de PlayReady es una característica que permite a los proveedores de servicios recibir una confirmación segura cuando la aplicación elimina una licencia persistente en el cliente. Anteriormente, cuando se eliminó una licencia, los proveedores de servicios no se notificaron cuando se completó la eliminación. Con PlayReady Secure Delete, se pueden realizar las siguientes operaciones.
Los proveedores de servicios pueden realizar un seguimiento de qué licencias se almacenan actualmente y qué licencias se han eliminado, en un equipo cliente determinado. Los proveedores de servicios pueden emitir un número específico de licencias persistentes a un cliente y realizar un seguimiento del recuento de licencias en el equipo de ese cliente. La característica Eliminación segura también cumple el requisito de especificación de Extensiones multimedia cifradas (EME), tal como se define en septiembre de 2017, que especifica que se debe enviar un registro de eliminación de licencias al servidor tras la eliminación de licencias.
En la ilustración siguiente se muestra un flujo de eliminación segura.
Antes de que se produzca la eliminación segura, la aplicación o el cliente crean primero una instancia de un módulo de descifrado de contenido (CDM) de PlayReady y adquieren una licencia persistente del servidor (pasos 1-7 en la ilustración anterior).
A continuación, PlayReady almacena la licencia en el almacén de datos (HDS, datos hash Storage), junto con un registro del blob de sesión de licencia, que se compone de un identificador de sesión (SessionId) y uno o varios identificadores clave (KID). Cuando la aplicación o el cliente inician una solicitud de eliminación de licencias, llamará a las API adecuadas para quitar las licencias asociadas al KID del almacén de datos. Durante un proceso de eliminación de licencias que no sea seguro, PlayReady quita las licencias del almacén de datos sin ninguna acción adicional. Con Eliminación segura, PlayReady no solo quita las licencias asociadas al KID del almacén de datos, sino que también genera un desafío de eliminación segura que contiene sessionId y KID(s) (pasos 12-13 en la ilustración anterior).
A continuación, la aplicación o el cliente envían el desafío Eliminación segura al servidor de eliminación segura, que luego procesa el desafío.
Después de procesar el desafío eliminación segura, el servidor de eliminación segura envía una respuesta de eliminación segura sin cifrar y sin firmar que contiene un SessionId codificado en base 64 a la aplicación (o cliente).
Por último, una vez que el cliente recibe la respuesta De eliminación segura, PlayReady valida que el sessionId contenido en la respuesta de eliminación segura coincide con el sessionId que se usó para generar el desafío de eliminación segura. Si la validación se realiza correctamente, PlayReady quita el registro de la sesión de licencia del almacén de datos.