Compartir vía


Sistema sencillo de un extremo a otro

En uso típico, Microsoft PlayReady protege el contenido proporcionando licencias para archivos multimedia. No es necesario ocultar archivos, hacer que sean inaccesibles o poner protección especial en su lugar cuando los archivos se transmiten desde el sistema al sistema. En otras palabras, no se necesitan requisitos del sistema operativo ni mecanismos de transporte de archivos de alta seguridad. Sin embargo, copiar un archivo y darle a un amigo no permitirá que ese amigo use el archivo si está protegido por PlayReady. Para usar un archivo multimedia, los usuarios necesitan una licencia. Esta licencia es el medio principal de ejercer el control sobre el contenido (el archivo multimedia). Se concede una licencia a un solo cliente (como un reproductor multimedia) o a un dominio. La licencia no funcionará en otros clientes u otros dominios.

Cada licencia contiene derechos y restricciones, definiendo exactamente cómo se puede usar el contenido y en qué condiciones. Por ejemplo, una licencia de archivo de música puede habilitar un "derecho a reproducir" pero restringir el nivel de seguridad de la aplicación en la que se puede reproducir el contenido. La licencia podría ser válida durante el período comprendido entre el 1 de octubre de 2017 y el 1 de noviembre de 2017. Puede haber varias licencias para un único archivo. Un usuario podrá acceder y usar su contenido, siempre y cuando una de las licencias conceda los derechos adecuados y las restricciones no impidan el acceso.

Información general sobre un servicio de vídeo de un extremo a otro

La ilustración siguiente contiene un vistazo de alto nivel a un servicio de vídeo de un extremo a otro, incluido el back-end del servicio a la izquierda y a los clientes de la derecha.

Video Service Architecture

En el lado izquierdo de la ilustración puede ver que el servicio tiene algunos servidores para transmitir el vídeo (red de distribución de contenido). También hay algunos servidores que permiten a los usuarios examinar el contenido y elegir el contenido que quieren reproducir (interfaz de usuario). Además, hay algunos servidores que permiten a los usuarios iniciar sesión y autenticarse, así como pagar por contenido (autenticarse, pagar). Además, también hay un servidor de licencias de PlayReady.

En el lado derecho de la ilustración se encuentran los clientes. Los clientes pueden ser Windows aplicaciones, aplicaciones de smartphone o dispositivos específicos, como establecer cajas superiores, receptores de red, etc. Algunos de estos clientes pueden venir con un cliente integrado de PlayReady en sus reproductores, por ejemplo, el OEM puede haber integrado PlayReady en el sistema operativo o en el hardware. Otros podrían venir con un cliente integrado en la aplicación que se publica en la tienda de aplicaciones. Hay muchas opciones diferentes para que los jugadores integren PlayReady en el lado cliente.

Este tema se centrará en lo que Hace PlayReady para un servicio, como se muestra en la ilustración siguiente.

What PlayReady Does For The Service

Lo que proporciona PlayReady es una manera de que un cliente solicite licencias de un servidor, que luego entrega las claves que protegen el contenido en un formulario protegido a través de una red abierta. La segunda cosa que PlayReady hace es entregar derechos y restricciones correctas al cliente. Con PlayReady, el servicio tiene la capacidad de proporcionar una clave para la reproducción de contenido, pero, por ejemplo, solo permite al cliente usar esa clave durante dos días en un escenario de alquiler. Por lo tanto, PlayReady proporciona una manera de declarar derechos y restricciones correctas con la clave.

PlayReady también proporciona una manera más segura de almacenar la clave de contenido en el lado cliente para que el cliente pueda usar esa clave de cliente para descifrar el contenido para la representación, pero no permitir guardar contenido en la desactivación y compartirlo con otros usuarios.

Para asegurarse de que los clientes de PlayReady se comportan de forma correcta, PlayReady requiere implementaciones de hardware y software para seguir las reglas de cumplimiento y solidez. Estas reglas rigen cómo debe comportarse un cliente cuando descifra o procesa el contenido de PlayReady.  También requieren que los clientes procesen las restricciones encontradas en una licencia correctamente.  Por lo tanto, si un cliente recibe instrucciones para usar la clave de contenido durante no más de 48 horas, el cliente debe seguir esas instrucciones. Microsoft proporciona estas reglas en las reglas de cumplimiento y solidez, y es para el desarrollador cliente aplicar esas reglas en sus clientes.

Proceso básico de cifrado y licencias

En los pasos siguientes se muestra el proceso de cifrado y licencias de un extremo a otro para el contenido y cómo participa PlayReady en el proceso.

La ilustración siguiente contiene un recurso ( un archivo de audio y vídeo) que no se ha cifrado. El método que se usa para cifrar el contenido está completamente en el proveedor de contenido y no se proporciona como parte de PlayReady.

Encrypting the Content File

  1. Para cifrar este archivo, el servicio debe usar un generador de claves en el cifrador de contenido que genera una nueva clave de contenido que se usará para cifrar el contenido. Esta clave de contenido se entregará más adelante desde el servidor de licencias de PlayReady al cliente para permitir el descifrado del contenido y la representación para el usuario. Junto con la clave de contenido, que es un valor privado, los servicios de cifrado también asocian un identificador de clave (KeyID), que es un GUID, con la clave de contenido. KeyID es un valor público.

  2. La clave y KeyID están diseñadas en tiempo de cifrado y se almacenan en un sistema de administración de claves, que normalmente es algún tipo de base de datos. PlayReady no proporciona el sistema de administración de claves, por lo que es el servicio o asociado que crea el servicio con la emisora para proporcionar el sistema de administración de claves.

  3. Además de almacenar la clave y KeyID en el sistema de administración de claves, también tendrá que ajustar keyID a un empaquetador, que luego genera un encabezado. El servicio o asociado da formato a este encabezado según la especificación del encabezado PlayReady y, a continuación, se ajusta en la opción clear en el encabezado del archivo de contenido.

    En este momento, el audio y el vídeo se cifrarán con keyID y tendrá un archivo de contenido cifrado que esté listo para entregarse a un cliente.

    Authenticating the User

  4. Ahora, el cliente puede empezar a consumir el contenido. Lo primero que va a hacer el cliente es autenticar al usuario en el servicio, normalmente proporcionando un nombre de inicio de sesión y una contraseña, pero cualquier otro mecanismo para autenticar el usuario y el dispositivo está bien. Normalmente, se devuelve un token de sesión al cliente una vez comprobado el usuario. Tenga en cuenta que cualquier mecanismo que se use para la autenticación de usuario, está completamente al servicio cómo se autentica el usuario; PlayReady no proporciona esta tecnología.

    Content Delivery

  5. A continuación, el contenido se entrega al cliente (por ejemplo, el cliente ha empezado a descargar parte del flujo de datos que compone el contenido). A continuación, el cliente comienza a analizar este contenido y detecta que está cifrado y usa una clave desconocida, pero contiene un KeyID.

    License Acquisition

  6. En ese momento, el cliente enviará una solicitud de adquisición de licencias al servidor de licencias.

  7. A continuación, el servidor de licencias interactúa con el servicio de autenticación para comprobar el usuario. Normalmente, lo primero que hace el servidor de licencias es comprobar que el cliente o el usuario tiene el derecho para esa licencia en particular. Y de nuevo, PlayReady no proporciona ese diseño (autenticación), simplemente proporcionamos el servidor de licencias. Después, el servicio de autenticación responderá normalmente con sí o no, o tal vez sí con restricciones (por ejemplo, este usuario tiene el derecho para esta película en particular, pero solo con una menor calidad de vídeo porque el usuario no tiene el nivel de suscripción de mayor calidad, en función de la cantidad que paga el usuario al mes).

  8. A continuación, el servidor de licencias solicita el valor de la clave, en función del KeyID, del sistema de administración de claves que almacena las claves y el sistema de administración de claves responde a esa solicitud. Solo para repetir, PlayReady no proporciona los componentes del sistema de administración de claves, por lo que habrá una solicitud procedente del servidor de licencias de PlayReady a cualquier componente que el servicio haya creado para almacenar las claves.

  9. El servidor de licencias recibe la clave y el servidor de licencias puede entregar la licencia. La respuesta de licencia protegida de PlayReady incluye el valor de la clave y una lista de derechos y restricciones adecuadas para que el cliente aplique.

    Aunque esta demostración muestra el servidor de licencias de PlayReady solo entrega una clave, es posible que el servidor de licencias entregue una pila de licencias en una respuesta de licencia. Se pueden incluir varias licencias en una transacción, con cada licencia que proporciona una clave si el contenido está protegido con varias claves o si el servicio quiere entregar varias claves de antemano porque, por ejemplo, el servicio sabe que el usuario va a escuchar ocho pistas en una fila.

    License Store

  10. La otra parte de la tecnología que proporciona PlayReady es una manera de almacenar la clave y los derechos en el cliente, que se denomina Almacén de licencias.

    Normalmente, el Almacén de licencias se denomina HDS porque la estructura del Almacén de licencias es un almacén de datos con hash. Puede haber varios tipos de almacenes de licencias en un dispositivo: una aplicación podría contener su propio HDS solo para asegurarse de que el HDS de una empresa no esté en el mismo archivo que el HDS de otra empresa. Es totalmente el desarrollador cliente el que elige este diseño. Por ejemplo, con PlayReady en Windows, Microsoft eligió tener un HDS para Internet Explorer y otro para Microsoft Edge por sitio, así como uno para cada aplicación universal de Windows.

    El HDS se puede almacenar de forma persistente, como en el disco duro o en la memoria persistente del dispositivo, o se puede almacenar de forma no persistente, como en memoria no persistente. Por lo tanto, cuando el servidor de licencias emite una licencia, podría establecer una propiedad de la licencia que indica que la licencia no debe almacenarse en el disco duro del cliente, o en el caso de un cuadro superior o teléfono establecido, que no debe almacenarse en memoria persistente porque, como servicio, no desea tener sus licencias almacenadas en memoria persistente. En ese caso, simplemente almacene el HDS en memoria en el contexto de la aplicación del reproductor, de modo que tan pronto como el usuario cierre la aplicación del reproductor, la licencia y sus derechos desaparecerán.