Home Technical Articles Melhores práticas para implantar o DRM em uma pilha OTT em grande escala
Applications

Melhores práticas para implantar o DRM em uma pilha OTT em grande escala

About The Author

Outline

A gestão de direitos digitais (DRM) é um padrão da indústria que dá aos proprietários de conteúdo opções para proteger conteúdo premium. Uma solução de DRM eficaz deve funcionar com a maioria dos dispositivos de reprodução, integrar-se facilmente no fluxo de trabalho e parecer transparente para os utilizadores. Se ele pode suportar recursos avançados como reprodução offline, é muito melhor. Embora o DRM possa não ser uma prioridade máxima para muitos operadores de serviços de streaming, o seu impactos na experiência de reprodução do espetador não pode ser uma reflexão posterior.

O objetivo de qualquer sistema de DRM é garantir que o conteúdo de vídeo seja armazenado e transmitido de forma encriptada para que apenas utilizadores autorizados e dispositivos possam reproduzir conteúdo. O DRM é muitas vezes mal entendido como pouco mais do que a criptografia de 128 bits AES (Advanced Encryption Standard) em camadas numa plataforma de streaming. Na realidade, o DRM é um sistema completo para gerir o acesso a conteúdos. O DRM fornece a distribuição segura de chaves de criptografia e descriptografia juntamente com servidores de licenciamento de back-end que adicionam funções como controle de políticas para impedir a reprodução em hardware não autorizado e controle de reprodução offline.

O DRM pode ser implementado de três maneiras. A primeira é assumir todo o desenvolvimento e integração. Embora isso seja muito intenso, permite o máximo de controlo e flexibilidade. A segunda é uma abordagem híbrida em que você integra a solução de DRM pré-empacotada de um provedor no seu fluxo de trabalho. A terceira opção utiliza uma solução de DRM como parte de um serviço de streaming gerido. A plataforma de mídia da Verizon oferece este tipo de solução de DRM. É integrado no nosso fluxo de trabalho de vídeo e ativado por uma simples ordem de serviço. Nós tomamos o fardo do desenvolvimento e da integração. Lembre-se que com as duas primeiras opções, o DRM é mais do que um projeto único – requer um programa contínuo para acompanhar a evolução dos padrões e tecnologias.

‍Proprietary DRMs

Os principais formatos de transmissão de vídeo da ‍Today têm a sua própria integração com o sistema de DRM. Como as tecnologias de DRM são proprietárias, elas geralmente são apenas compatíveis com produtos específicos de OEM, embora com um número crescente de exceções. Por exemplo, o Apple FairPlay é principalmente compatível com o navegador Safari da Apple e outros produtos de hardware e software da Apple. Do ponto de vista de um serviço de streaming, a falta de compatibilidade entre plataformas significa que você precisará adotar uma estratégia multi-DRM e fornecer conteúdo empacotado e criptografado em vários formatos se quiser cobrir uma ampla gama de dispositivos.

Embora existam muitos sistemas de DRM no mercado, de um ponto de vista prático, os serviços de streaming só precisam se preocupar com os três maiores para obter suporte para praticamente todos os navegadores, dispositivos e TVs da web:

  • Apple FairPlay Streaming (FPS) – O conteúdo FairPlay pode ser reproduzido principalmente em dispositivos Apple, incluindo plataformas Safari, iOS e Apple TV.
  • Google Widevine – Esta solução de DRM abrange todos os navegadores Chrome e Firefox e dispositivos Android e Chromecast.
  • Microsoft PlayReady – O conteúdo protegido por esta solução de DRM pode ser reproduzido em Roku, Xbox,
  • Navegadores Microsoft Edge e uma gama de outras plataformas e smart TVs via SDKs.

A situação melhora um pouco quando se olha para a encriptação subjacente, onde os esforços de normalização estão em curso para ajudar a simplificar a fragmentação do mercado de DRM. Tanto o Widevine como o PlayReady suportam a Criptografia Comum (CENC) e o MPEG-DASH, o que significa que você pode encriptar e empacotar o seu conteúdo uma vez e desencriptar esses ativos usando qualquer um dos sistemas de DRM. O Fairplay usa criptografia CBCS 128-AES (ou modo de amostra de encadeamento de blocos de criptografia) e empacotamento HLS. O CBCS também é suportado em alguns dispositivos de reprodução DASH mais recentes. O mercado parece convergir em CBCS para criptografia comum, mas outras criptografias precisarão ser apoiadas por muito tempo.

Desafios ‍Multi-DRM

‍In No caso da nossa plataforma, encriptamos o conteúdo imediatamente ao ingerir em vários formatos. A nossa embalagem e encriptação DASH padrão usam a encriptação total do AES-CTR porque é a mais compatível entre os dispositivos (mesmo que os dispositivos mais recentes possam suportar CBCS). Além disso, usamos o empacotamento de fluxo de transporte e a criptografia CBCS por padrão para o Fairplay porque é o mais compatível em toda a gama de dispositivos. Embora estes abranjam a maioria dos dispositivos e jogadores em todo o mundo, também adicionam complexidade e aumentam os custos de armazenamento. Tenha em mente que, com taxa de bits adaptativa (ABR), temos muito mais de dois ou três arquivos diferentes à mão – podem ser 15 ou mais segmentos diferentes para cada bloco de tempo de reprodução de 4 ou 2 segundos quando se considera todas as taxas de bits.

Esta situação está a melhorar lentamente. A indústria está a avançar para a ampla adoção de uma especificação chamada Common Media Application Format (CMAF) que poderia permitir que você alcançasse a maioria dos ecrãs dos consumidores com um único conjunto de arquivos habilitado para DRM. Atualmente, a CMAF já funciona em muitos dispositivos e leitores DASH e HLS. Onde faz sentido, podemos usar a lógica de geração de manifesto dinâmico para criar manifestos HLS com criptografia compatível com CMAF e CBCS para suportar dispositivos adicionais.

A codificação de todos estes conjuntos de ficheiros torna-se um problema muito maior em escala. Resolvemos isso aproveitando a escalabilidade da nuvem. Quando o nosso Slicer carrega um ficheiro com a taxa de bits mais alta, envia cada fatia para um corretor que distribui o trabalho para um enorme cluster de codificação. Ao realizar operações de codificação em paralelo, todos os arquivos necessários para cada taxa de bits, formato de contentor e combinação de algoritmos de criptografia podem ser criados rapidamente com latência mínima.

Compreender as nuances da codificação de criptografia, embalagem e superar os requisitos de armazenamento e processamento são apenas a ponta do iceberg em relação às complexidades envolvidas com uma implementação multi-DRM. Os desafios adicionais incluem:

  • Garantindo consistência nas experiências do utilizador em todos os dispositivos com a aquisição sem atrasos de chaves de servidores DRM
  • Manter-se no topo dos dispositivos clientes em constante mudança e dos SDKs associados, juntamente com as variações do sistema operativo
  • Em conformidade com os parâmetros de Proteção de Conteúdo Melhorada (ECP) definidos pelo MovieLabs, e outros, para conteúdo premium e UHD
  • Monitorizar e aderir a acordos complexos de licenciamento e proteção, tais como mudança de tempo, visualização de acompanhamento, utilização de DVR baseada na nuvem e reprodução offline

Para atender a este conjunto completo de requisitos e garantir que o conteúdo esteja protegido durante todo o fluxo de trabalho, você precisará desenvolver uma solução de gerenciamento de chaves, configurar servidores de licenças e definir e gerenciar políticas de segurança que determinem as condições em que o conteúdo pode ser reproduzido. A nossa plataforma, por exemplo, tem um conjunto padrão de políticas que são apropriadas para a maioria das circunstâncias. A ferramenta de configuração de política do Studio DRM pode facilmente configurar estas políticas para cada utilizador. As políticas são implementadas em servidores de licenciamento e podem cobrir várias variáveis, como restrições de aplicação do nível de segurança ou de saída, duração da chave, duração da reprodução e se o aluguer offline é permitido. As opções de política também podem variar consideravelmente entre DRMs.

‍Key A gestão é fundamental

Tal como acontece com a gestão de políticas, a plataforma tem de lidar com todos os aspetos da gestão de chaves e do licenciamento para garantir que as suas chaves estão protegidas em todo o fluxo de trabalho. A segurança é facilmente conseguida com a plataforma totalmente integrada da Verizon Media, mas se você estiver usando serviços separados, precisará de uma maneira de transmitir chaves de forma segura de codificadores para a sua solução de DRM de terceiros. Isso envolve um trabalho considerável para implementar um padrão como o Secure Packager e o Encoder Key Exchange (SPEKE), para que as chaves possam codificar o conteúdo externamente e depois serem entregues aos servidores de licenças. Manter tudo na mesma rede evita este passo e simplifica a implementação.

Depois de ter a infraestrutura de DRM incorporada ao seu fluxo de trabalho, o próximo grande desafio é a integração de jogadores. Foi aqui que passámos um tempo significativo a percorrer o SDK de cada jogador para garantir que não havia soluços. Um desafio acabou por ser a inserção de anúncios no lado do servidor (SSAI). Como mantemos uma grande biblioteca de anúncios codificados separadamente para serem usados em eventos ao vivo e canais ao vivo, esses anúncios não podem todos compartilhar as mesmas chaves de criptografia de todos os eventos ao vivo e canais na plataforma. Para resolver este problema, os anúncios devem ser encriptados com chaves individuais diferentes do fluxo no qual são inseridos, reembalados em tempo real para cada fluxo único, ou inseridos no fluxo sem encriptação.

Estas variações complicam a transmissão ao vivo. Por exemplo, alguns jogadores não têm suporte para trocar as teclas de DRM no meio do stream. Mesmo com esse suporte, a comutação pode introduzir um efeito notável na experiência de reprodução. Um buffer de quadros pode precisar ser completamente drenado, e uma nova inicialização de chave será executada antes que os quadros com a nova chave possam ser enfileirados. Fazer isso pode resultar em uma falha visível em algumas plataformas.

Estes desafios levaram-nos a deixar os anúncios sem encriptação para garantir um melhor desempenho dos jogadores e evitar a necessidade de realizar uma mudança de chave sempre que houver um novo anúncio. Os anúncios não encriptados também levam a um melhor desempenho do servidor do que a reencriptação de anúncios em tempo real, uma vez que não temos de reempacotar cada anúncio com cada combinação de chaves de fluxo que possamos precisar. Usar anúncios não encriptados complica as coisas para os jogadores um pouco mais do que apenas usar a mesma chave. Ainda assim, muitos projetos de jogadores garantiram que este é um cenário de reprodução suportado nos últimos anos.

Também trabalhamos para simplificar a forma como as URLs de licença funcionam para torná-las mais convenientes para jogadores específicos. Conseguimos isso colocando primeiro as URLs do servidor de licenças no manifesto, portanto, se um jogador tiver suporte para ler a URL, não precisamos fornecê-la separadamente. Depois codificamos todos os dados específicos da sessão na caixa de cabeçalho específico do esquema de proteção (PSSH) no manifesto. Isso permite que os jogadores usem um URL de servidor de licença muito simples para solicitações de licença sem dados de cabeçalho ou parâmetros de URL extras. Usar o mesmo URL de licença para jogadores e fluxos significa que a integração de reprodução DASH se torna extremamente simples em nossa plataforma.

‍Toward Facilmente integração com o DRM

Um dos objetivos gerais da nossa plataforma é tornar o streaming mais simples e fácil para os fornecedores de serviços. Continuamos a expandir o nosso uso de leitores de código aberto, como o Shaka Player, uma biblioteca JavaScript de código aberto para reprodução de ABR. Também fizemos uma parceria com a Theoplayer, uma popular solução universal de vídeo player. Evoluímos continuamente a nossa plataforma para acompanhar as mudanças nos padrões de criptografia e nas tecnologias de DRM. Entendemos que muitas empresas não gostam de trabalhar com o DRM, por isso, quanto mais podemos fazer esta tarefa de segurança crítica como qualquer outro item numa lista de verificação, melhor.