Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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. Tenha em mente que o desenvolvimento de um empacotador que fornece proteção PlayReady para o conteúdo que você deseja criptografar:
- Não requer um contrato de licenciamento da Microsoft.
- Não há taxas para a Microsoft associadas à inserção do PlayReady em seu conteúdo.
- Não há pagamentos de royalties à Microsoft aplicáveis a codificadores ou empacotadores PlayReady.
Portanto, você não precisa alocar nenhum tempo ou orçamento para esses itens.
Observação
Alguns Parceiros Microsoft PlayReady podem desenvolver um empacotador PlayReady para sua empresa se você não quiser desenvolvê-lo sozinho.
Visão geral do desenvolvimento
O tempo de desenvolvimento para incorporar a funcionalidade PlayReady no seu empacotador dependerá do desenvolvimento e teste dos seguintes componentes:
Key Generator — gera o valor da chave usada para criptografar o conteúdo (junto com seu KeyID associado). Se você usar o mecanismo KeySeed, esse gerador precisará implementar a função conforme definido na especificação PlayReady Key Seed .
PlayReady Header Generator — gera o objeto PlayReady (incluindo o cabeçalho PlayReady e/ou um repositório de licenças incorporado). Este cabeçalho PlayReady inclui o KeyID ou a lista de KeyIDs, o URL padrão do servidor de licenças PlayReady e qualquer valor personalizado necessário para o conteúdo protegido. Esta função deve seguir os requisitos descritos na especificação de cabeçalho PlayReady.
Packager — empacota o conteúdo usando o valor de 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 seu KeyId associado (não necessário se estiver usando o mecanismo KeySeed).
Desenvolvendo um PlayReady Packager
Se você decidiu desenvolver seu próprio PlayReady Packager, você precisará decidir como deseja que o empacotador funcione, com base em como você deseja que seu conteúdo seja armazenado e entregue. A lista a seguir fornece as etapas necessárias para adicionar a funcionalidade PlayReady ao seu empacotador.
Escolha o seu formato de encriptação. 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, Advanced Encryption Standard (AES). A partir da versão 4.0, os sistemas PlayReady suportam teclas AES 128 nos modos CBC (Cipher Block Chaining) e CTR (Counter Mode), conforme definido na norma 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 de forma eficiente em uma variedade de 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 PlayReady.
Escolha como você vai criptografar seu conteúdo. Para obter mais informações, consulte Usando chaves de criptografia.
Escolha se deseja descriptografar seu conteúdo usando apenas PlayReady ou se deseja oferecer suporte a vários DRMs. Para obter mais informações, consulte Usando ferramentas de criptografia.
Escolha como você vai gerar e armazenar chaves de conteúdo (Valor da Chave e ID da Chave).
Seu empacotador deve incluir algum tipo de gerador de chaves que crie o valor de chave usado para criptografar e descriptografar seu conteúdo. O gerador de chaves deve associar um ID de chave ao valor da chave. O Valor da Chave permanece um segredo, e o ID da Chave é público e é inserido no cabeçalho do PlayReady no seu conteúdo. Se o empacotador não incluir um gerador de chaves, você precisará desenvolver ou fornecer um separadamente.
Você precisará desenvolver um sistema de gerenciamento de chaves para armazenar vários Valores de Chave e seus IDs de Chave associados, 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 PlayReady. Como alternativa, você pode usar o mecanismo KeySeed fornecido com PlayReady no lugar do sistema de gerenciamento de chaves (o mecanismo KeySeed deve ser incorporado em seu empacotador e no servidor PlayReady que fornece as licenças para descriptografar o conteúdo).
Escolha como você vai inserir um objeto PlayReady (incluindo o cabeçalho PlayReady e/ou o armazenamento de licenças incorporado) em seu conteúdo criptografado. Para obter mais informações, consulte Como gerar um cabeçalho PlayReady.
Escolha como você vai fornecer os valores de chave e IDs de chave para um servidor PlayReady, que distribuirá os valores de chave para clientes PlayReady.
Você pode desenvolver seu próprio Servidor de Licenças PlayReady (requer uma licença da PlayReady — no entanto, nenhuma taxa ou royalties são cobrados pela Microsoft pelo seu desenvolvimento ou uso de um Servidor PlayReady), ou você pode usar um Servidor PlayReady fornecido ou operado por terceiros. Quer desenvolva o seu próprio PlayReady Server ou o PlayReady Server seja fornecido ou operado por terceiros, tem de ser capaz de comunicar os valores-chave e os IDs de chave ao servidor em tempo útil para que o cliente possa reproduzir o seu conteúdo de forma eficiente.
Escolha como os clientes entrarão em contato com o PlayReady License Server para adquirir as chaves de criptografia de conteúdo. Os aplicativos cliente devem estar cientes da URL do Servidor de Licenças PlayReady (também conhecida como URL de Aquisição de Licença ou URL LA) quando precisarem adquirir uma licença. Os aplicativos cliente podem ser programados para ter esse valor de URL LA codificado ou recuperá-lo dinamicamente do servidor. Se o aplicativo cliente não tiver esse valor de URL de LA, ele usará o valor de URL de LA encontrado no cabeçalho PlayReady do conteúdo, que é o URL de LA 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 no momento do empacotamento.