Compartilhar via


Desenvolvendo um pacote do PlayReady

Há várias considerações que você deve examinar antes de começar a incorporar o PlayReady em seu empacotador para proteger o conteúdo. Observe que o desenvolvimento de um empacotador que fornece proteção do PlayReady para conteúdo que você deseja criptografar:

  • Não exige um contrato de licenciamento da Microsoft.
  • Não há taxas para a Microsoft associada à inserção do PlayReady em seu conteúdo.
  • Não há pagamentos de royalties à Microsoft aplicáveis a codificadores ou empacotadores do PlayReady.

Portanto, você não precisa alocar tempo ou orçamento para esses itens.

Observação

Alguns parceiros do Microsoft PlayReady podem desenvolver um empacotador PlayReady para sua empresa se você não quiser desenvolvê-lo por conta própria.

Visão geral do desenvolvimento

O tempo de desenvolvimento para incorporar a funcionalidade PlayReady em seu empacotador dependerá do desenvolvimento e teste dos seguintes componentes:

  • Gerador de chaves – gera o valor da chave usado para criptografar o conteúdo (juntamente com sua KeyID associada). Se você usar o mecanismo KeySeed, o gerador precisará implementar a função conforme definido na especificação de PlayReady Key Seed.

  • Gerador de Cabeçalho PlayReady – gera o objeto PlayReady (incluindo o cabeçalho PlayReady e/ou um Repositório de Licenças Incorporadas). Este cabeçalho PlayReady inclui o KeyID ou a lista de KeyIDs, a URL padrão do servidor de licenças do PlayReady e qualquer valor personalizado necessário para o conteúdo protegido. Essa função deve seguir os requisitos descritos na Especificação do Cabeçalho PlayReady.

  • Empacotador – empacota o conteúdo usando o valor da chave fornecido pelo gerador de chaves e o objeto PlayReady criado pelo gerador de cabeçalho PlayReady.

  • Sistema de Gerenciamento de Chaves – armazena o valor da chave e sua KeyId associada (não necessária se estiver usando o mecanismo KeySeed).

Desenvolvendo um pacote do PlayReady

Se você decidiu desenvolver seu próprio Pacote PlayReady, precisará decidir como deseja que o empacotador funcione, com base em como deseja que seu conteúdo seja armazenado e entregue. A lista a seguir fornece as etapas necessárias para adicionar a funcionalidade do PlayReady ao empacotador.

  1. Escolha o formato de criptografia. Vários tipos diferentes de criptografia são usados para proteger o conteúdo. Os sistemas Microsoft PlayReady usam o algoritmo de chave simétrica, AES (Advanced Encryption Standard). A partir da versão 4.0, os sistemas PlayReady dão suporte a chaves AES 128 nos modos CBC (Encadeamento de Blocos de Criptografia) e CTR (Modo de Contador), conforme definido no ISO padrão ISO/IEC 23001-7. Os mecanismos de criptografia usados para proteger o conteúdo são encapsulados em um contêiner, para que os arquivos possam ser navegados e descriptografados com eficiência em várias plataformas.

    Qualquer formato de criptografia que use chaves AES-128 usadas no modo CTR ou no modo CBC é permitido pelas Regras de Conformidade para Produtos PlayReady. Para obter mais informações, consulte Modos de Criptografia de Conteúdo do PlayReady.

  2. Escolha como você vai criptografar seu conteúdo. Para obter mais informações, consulte Como usar chaves de criptografia.

  3. Escolha se deseja descriptografar seu conteúdo usando apenas o PlayReady ou se deseja dar suporte a vários DRMs. Para obter mais informações, consulte Usando ferramentas de criptografia.

  4. Escolha como você vai gerar e armazenar chaves de conteúdo (Valor da Chave e ID da Chave).

    O empacotador deve incluir algum tipo de gerador de chave que cria o Valor da Chave usado para criptografar e descriptografar seu conteúdo. O gerador de chave deve associar uma ID de chave ao valor da chave. O Valor da Chave permanece um segredo, e a ID da chave é pública e é inserida no cabeçalho PlayReady em seu conteúdo. Se o empacotador não incluir um gerador de chave, você precisará desenvolver ou obter um separadamente.

    Você precisará desenvolver um sistema de gerenciamento de chaves para armazenar vários valores de chave e suas IDs de chave associadas ou licenciar um de terceiros. O sistema de gerenciamento de chaves pode ser um banco de dados ou qualquer outro tipo de sistema de armazenamento, mas deve ser seguro para impedir que qualquer pessoa acesse os valores de chave sem autorização. A Microsoft não fornece um sistema de gerenciamento de chaves com o PlayReady. Como alternativa, você pode usar o mecanismo KeySeed fornecido com o PlayReady no lugar do sistema de gerenciamento de chaves (o mecanismo KeySeed deve ser incorporado ao seu empacotador e no PlayReady Server que fornece as licenças para descriptografar o conteúdo).

  5. Escolha como você vai inserir um Objeto PlayReady (incluindo o cabeçalho PlayReady e/ou o repositório de licenças inserido) no conteúdo criptografado. Para obter mais informações, consulte Como gerar um cabeçalho PlayReady.

  6. Escolha como você fornecerá os valores de chave e as IDs de chave para um Servidor PlayReady, que distribuirá os valores de chave para clientes do PlayReady.

    Você pode desenvolver seu próprio Servidor de Licença do PlayReady (requer uma licença do PlayReady – no entanto, nenhuma taxa ou royalties são coletados pela Microsoft para o desenvolvimento ou o uso de um Servidor PlayReady) ou você pode usar um Servidor PlayReady fornecido ou operado por terceiros. Se você desenvolver seu próprio Servidor PlayReady ou o Servidor PlayReady for fornecido ou operado por terceiros, você deve ser capaz de comunicar os valores de chave e as IDs de chave para o servidor em tempo hábil para que o cliente possa reproduzir seu conteúdo com eficiência.

  7. Escolha como os clientes entrarão em contato com o Servidor de Licença do PlayReady para adquirir as chaves de criptografia de conteúdo. Os aplicativos cliente devem estar cientes da URL do Servidor de Licença do PlayReady (também conhecida como URL de Aquisição de Licença ou URL de LA) quando precisarem adquirir uma licença. Os aplicativos cliente podem ser programados para ter o valor de LA URL codificado ou recuperá-lo dinamicamente do servidor. Se o aplicativo cliente não tiver esse valor de LA URL, ele usará o valor da LA URL encontrado no Cabeçalho PlayReady do conteúdo, que é a LA URL padrão. Embora não seja necessário, é muito comum que os serviços incluam um valor de URL LA padrão no cabeçalho PlayReady do conteúdo durante o empacotamento.

Consulte também

Conteúdo de teste do PlayReady