Desarrollo de un empaquetador de PlayReady
Hay varias consideraciones que debe examinar antes de empezar a incorporar PlayReady en el empaquetador para proteger el contenido. Tenga en cuenta que el desarrollo de un empaquetador que proporciona protección de PlayReady para el contenido que desea cifrar:
- No requiere un contrato de licencia de Microsoft.
- No hay cargos por Microsoft asociados con la inserción de PlayReady en el contenido.
- No hay pagos de regalías a Microsoft aplicables a codificadores o empaquetadores de PlayReady.
Por lo tanto, no es necesario asignar ningún tiempo ni presupuesto para estos elementos.
Nota
Algunos Microsoft PlayReady asociados pueden desarrollar un empaquetador de PlayReady para su empresa si no quiere desarrollarlo usted mismo.
Introducción al desarrollo
El tiempo de desarrollo para incorporar la funcionalidad de PlayReady en el empaquetador dependerá del desarrollo y las pruebas de los siguientes componentes:
Generador de claves: genera el valor de clave usado para cifrar el contenido (junto con su KeyID asociado). Si usa el mecanismo KeySeed, este generador debe implementar la función tal y como se define en la especificación de inicialización de clave de PlayReady .
Generador de encabezados de PlayReady: genera el objeto PlayReady (incluido el encabezado PlayReady o un almacén de licencias incrustado). Este encabezado de PlayReady incluye keyID o la lista de identificadores clave, la dirección URL predeterminada del servidor de licencias de PlayReady y cualquier valor personalizado que necesite para el contenido protegido. Esta función debe seguir los requisitos descritos en la Especificación de encabezado de PlayReady.
Empaquetador: empaqueta el contenido mediante el valor de clave proporcionado por el generador de claves y el objeto PlayReady creado por el generador de encabezados de PlayReady.
Sistema de administración de claves: almacena el valor de clave y su KeyId asociado (no es necesario si se usa el mecanismo KeySeed).
Desarrollo de un empaquetador de PlayReady
Si ha decidido desarrollar su propio Paqueter de PlayReady, tendrá que decidir cómo desea que funcione el empaquetador, en función de cómo desea que el contenido se almacene y entregue. En la lista siguiente se proporcionan los pasos necesarios para agregar la funcionalidad de PlayReady al empaquetador.
Elija el formato de cifrado. Se usan varios tipos diferentes de cifrado para proteger el contenido. Microsoft PlayReady sistemas usan el algoritmo de clave simétrica, Advanced Encryption Standard (AES). A partir de la versión 4.0, los sistemas PlayReady admiten claves AES 128 en los modos CBC (encadenamiento de bloques cifrado) y CTR (modo contador), tal como se define en el estándar ISO/IEC 23001-7. Los mecanismos de cifrado que se usan para proteger el contenido se encapsulan en un contenedor, de modo que los archivos se puedan examinar y descifrar eficazmente en una variedad de plataformas.
Cualquier formato de cifrado que use claves AES-128 usadas en el modo CTR o el modo CBC está permitido por las reglas de cumplimiento para productos playReady. Para obtener más información, consulte Modos de cifrado de contenido de PlayReady.
Elija cómo va a cifrar el contenido. Para obtener más información, consulte Uso de claves de cifrado.
Elija si desea descifrar el contenido con solo PlayReady o si desea admitir varios DRM. Para más información, consulte Uso de herramientas de cifrado.
Elija cómo va a generar y almacenar claves de contenido (valor de clave e identificador de clave).
El empaquetador debe incluir algún tipo de generador de claves que cree el valor de clave usado para cifrar y descifrar el contenido. El generador de claves debe asociar un identificador de clave al valor de clave. El valor de clave sigue siendo un secreto y el identificador de clave es público y se inserta en el encabezado PlayReady del contenido. Si el empaquetador no incluye un generador de claves, debe desarrollar o origen uno por separado.
Deberá desarrollar un sistema de administración de claves para almacenar varios valores de clave y sus identificadores de clave asociados, o bien licenciar uno de un tercero. El sistema de administración de claves podría ser una base de datos o cualquier otro tipo de sistema de almacenamiento, pero debe estar seguro para evitar que cualquier usuario acceda a los valores de clave sin autorización. Microsoft no proporciona un sistema de administración de claves con PlayReady. Como alternativa, puede usar el mecanismo KeySeed proporcionado con PlayReady en lugar del sistema de administración de claves (el mecanismo KeySeed debe incorporarse en el empaquetador y en el servidor playReady que proporciona las licencias para descifrar el contenido).
Elija cómo va a insertar un objeto PlayReady (incluido el encabezado PlayReady o el almacén de licencias insertado) en el contenido cifrado. Para obtener más información, vea Cómo generar un encabezado playReady.
Elija cómo va a proporcionar los valores de clave y los identificadores de clave a un servidor PlayReady, que luego distribuirá los valores de clave a los clientes de PlayReady.
Puede desarrollar su propio servidor de licencias de PlayReady (requiere una licencia de PlayReady; sin embargo, Microsoft no recopila ninguna tarifa o regalía para su desarrollo o uso de un servidor de PlayReady), o puede usar un servidor playReady proporcionado o operado por un tercero. Tanto si desarrolla su propio servidor playReady como si el servidor de PlayReady lo proporciona o opera un tercero, debe poder comunicar los valores de clave y los identificadores de clave al servidor de forma oportuna para que el cliente pueda reproducir el contenido de forma eficaz.
Elija cómo van a ponerse en contacto los clientes con el servidor de licencias de PlayReady para adquirir las claves de cifrado de contenido. Las aplicaciones cliente deben tener en cuenta la dirección URL del servidor de licencias de PlayReady (también conocida como URL de adquisición de licencias o URL de LA) cuando necesiten adquirir una licencia. Las aplicaciones cliente se pueden programar para que el valor de dirección URL de LA esté codificado de forma dura o recuperarlo dinámicamente desde el servidor. Si la aplicación cliente no tiene este valor de dirección URL de LA, usará el valor de la dirección URL de LA que se encuentra en el encabezado playReady del contenido, que es la dirección URL de LA predeterminada. Aunque no es necesario, es muy común que los servicios incluyan un valor de dirección URL de LA predeterminado en el encabezado playReady del contenido en tiempo de empaquetado.