Aquisição de licença
Para reproduzir o conteúdo protegido, uma licença válida para o conteúdo deve estar disponível. Se não houver nenhuma licença válida para o conteúdo, a licença deverá ser adquirida. Durante a aquisição de licença, um cliente adquire sua licença de um Servidor de Licença ou de um Servidor Proxy. O cliente de aquisição de licença é um player de mídia em um dispositivo móvel, como um telefone ou tablet, ou em um computador pessoal. Os clientes para aquisição de licença se conectam diretamente a um Servidor de Licenças e solicitam licenças para o conteúdo adquirido.
No contexto de aquisição de licença, o Servidor de Licença e o Servidor de Empacotamento são considerados servidores DRM. Dispositivos portáteis e computadores pessoais capazes de aquisição de licença são considerados clientes.
Interações de servidor e cliente para aquisição de licença
Esta seção examina as interações de componente para aquisição de licença.
No lado do servidor, o SDK do PlayReady Server fornece funcionalidade para:
- Geração/emissão de licença
O cliente no dispositivo portátil ou no computador pessoal do consumidor fornece funcionalidade para:
- Aquisição de licença
- Imposição de regras de uso
- Descriptografia de conteúdo
O suporte a Domínio, Medição, Parada Segura e Exclusão Segura também está incluído no SDK do Servidor PlayReady.
Aquisição de licença proativa e reativa
Há dois modos para aquisição de licença:
- Aquisição proativa de licença — O aplicativo cliente inicia explicitamente uma solicitação de licença antes do início da reprodução. Normalmente, esse é um cenário em que o sistema é programado de modo que o aplicativo tenha navegado conteúdo e levaria tempo para adquirir "proativamente" a licença antes que qualquer sessão de reprodução seja iniciada. Depois que a licença for recebida, a reprodução poderá ser iniciada a qualquer momento. O aplicativo pode iniciar a reprodução imediatamente ou há casos em que a licença seria adquirida dias antes de o conteúdo ser reproduzido, normalmente em um cenário de reprodução offline.
- Aquisição de licença reativa — O aplicativo cliente não adquire explicitamente uma licença antes que o conteúdo seja reproduzido. Depois que a reprodução é iniciada, o player de mídia do PlayReady procura uma licença existente do PlayReady que pode descriptografar esse conteúdo. Se ele não encontrar nenhuma licença utilizável, ele usará automaticamente o objeto de adquirente de licença associado para adquirir a licença antes de retomar a reprodução.
A figura a seguir fornece uma visão geral arquitetônica da proteção de conteúdo e da aquisição de licenças.
A aquisição de licença segue estas etapas, conforme ilustrado na figura:
O provedor de conteúdo usa uma semente de chave de licença e um identificador de chave para gerar uma chave.
O provedor de conteúdo coloca o identificador de chave e a URL do Servidor de Licença no cabeçalho de conteúdo e, em seguida, protege o arquivo criptografando-o com a chave.
O provedor de conteúdo fornece o arquivo protegido para o usuário.
O player de mídia do usuário consulta o componente DRM do dispositivo do usuário para determinar se o arquivo protegido pode ser reproduzido.
O componente DRM pesquisa no Repositório de Licenças no dispositivo do usuário uma licença válida para reproduzir o arquivo.
Se o componente DRM não encontrar a licença necessária, ele solicitará uma licença do Servidor de Licença. O desafio de licença usado para solicitar a licença contém o cabeçalho de conteúdo e as informações sobre o dispositivo do usuário.
O Servidor de Licença usa a semente da chave de licença compartilhada e o identificador de chave para gerar a mesma chave de conteúdo que foi gerada pelo provedor de conteúdo na etapa 1. Em seguida, o Servidor de Licença criptografa a chave.
O Servidor de Licença cria uma licença, adiciona a chave de conteúdo criptografado à licença e assina a licença usando a chave de assinatura privada.
O Servidor de Licença entrega a licença assinada para o dispositivo do usuário.
O componente DRM no dispositivo do usuário verifica a assinatura e a data de validade do certificado e coloca a licença no Repositório de Licenças.
O componente DRM descriptografa pacotes do conteúdo solicitado e os envia ao player.
Neste ponto, o jogador terá o conteúdo em uma forma utilizável. Qualquer política habilitada pela licença pode ser usada. Por exemplo, se a licença habilitar "reproduzir", o cliente de aquisição de licença poderá reproduzir o conteúdo.
A figura a seguir mostra as etapas básicas para adquirir proativamente uma licença.
A figura a seguir mostra as etapas básicas para adquirir uma licença reativamente.
Depois que um cliente recupera um arquivo protegido, esse cliente precisa adquirir uma licença antes de executar ações que usam esse conteúdo. As licenças armazenam as informações necessárias para acessar o conteúdo associado e armazenar as regras pelas quais esse conteúdo pode ser acessado. Os usuários devem adquirir suas próprias licenças para reproduzir conteúdo protegido, mesmo que o conteúdo protegido tenha sido copiado de alguém que já tinha uma licença para ele. As licenças contêm a chave de criptografia para descriptografar o conteúdo correspondente ou, no caso de licenças encadeadas, contêm uma chave intermediária. As licenças também contêm direitos e outras propriedades que especificam o uso do conteúdo. Por exemplo, a licença determina o número de vezes que um arquivo protegido pode ser reproduzido e se a licença expira. Essas propriedades são configuradas na licença separadamente do arquivo protegido.
Cada licença contém as seguintes informações:
- A chave de criptografia de conteúdo.
- Os direitos da licença.
- As restrições corretas e os modificadores corretos, também conhecidos como as condições da licença.
Antes que um cliente possa descriptografar o conteúdo associado a uma licença, ele deve recuperar a política da licença. As informações de proteção de conteúdo dentro da licença são criptografadas usando a chave pública de um cliente ou as informações de criptografia de chave pública do domínio do cliente. A licença é considerada "associada" ao cliente ou domínio que tem a chave privada para descriptografar as informações de proteção de conteúdo.
Os clientes adquirem licenças diretamente dos Servidores de Licença ou por meio de um Servidor Proxy.
Transporte para aquisição de licença
As aquisições de licença do PlayReady exigem uma transação entre o cliente e o servidor:
- Um desafio gerado pelo cliente e enviado ao Servidor.
- Uma resposta gerada pelo servidor e enviada ao cliente.
As transações normalmente ocorrem na Internet, por meio de HTTP ou HTTPS ou em uma rede fechada. O protocolo usado baseia-se no SOAP (Simple Object Access Protocol) e pode ser personalizado. As transações também podem ser implementadas de forma assíncrona, por exemplo, com um cliente postando o desafio em um local e um servidor processando esse desafio, gerando uma resposta e postando essa resposta em algum outro local.
Observação
O PlayReady não dá suporte à transmissão de licenças, o que significa que os servidores enviam licenças para clientes em uma rede de difusão.