Home Artigos técnicos Práticas recomendadas para implantar DRM em uma pilha OTT em grande escala
Applications

Práticas recomendadas para implantar DRM em uma pilha OTT em grande escala

About The Author

Outline

O gerenciamento de direitos digitais (DRM) é um padrão do setor que oferece 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 ao fluxo de trabalho e parecer transparente para os usuários. Se ele pode suportar recursos avançados, como reprodução offline, é muito melhor. Embora o DRM possa não ser uma prioridade para muitos operadores de serviços de streaming, seu impactos na experiência de reprodução do espetador não pode ser uma reflexão posterior.

O objetivo de qualquer sistema DRM é garantir que o conteúdo de vídeo seja armazenado e transmitido de forma criptografada para que apenas usuários e dispositivos autorizados possam reproduzir conteúdo de volta. O DRM é muitas vezes mal compreendido como pouco mais do que a criptografia AES (Advanced Encryption Standard) de 128 bits em camadas em uma plataforma de streaming. Na realidade, o DRM é um sistema completo para gerenciar o acesso a conteúdo. 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 evitar a reprodução em hardware não autorizado e controle de reprodução offline.

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

‍Proprietary DRMs

Os principais formatos de streaming de vídeo da ‍Today têm sua própria integração com o sistema DRM. Como as tecnologias DRM são proprietárias, elas geralmente são suportadas apenas em 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 da Web do Apple Safari 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 DRM no mercado, do ponto de vista prático, os serviços de streaming só precisam se preocupar com os três grandes 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 DRM abrange todos os navegadores da web Chrome e Firefox e dispositivos Android e Chromecast.
  • Microsoft PlayReady – O conteúdo protegido por esta solução DRM pode ser reproduzido em Roku, Xbox,
  • Navegadores Microsoft Edge e uma variedade de outras plataformas e smart TVs via SDKs.

A situação melhora um pouco quando você olha para a criptografia subjacente, onde os esforços de padronização estão em andamento para ajudar a simplificar a fragmentação do mercado de DRM. Tanto o Widevine quanto o PlayReady suportam criptografia comum (CENC) e MPEG-DASH, o que significa que você pode criptografar e empacotar seu conteúdo uma vez e descriptografar esses ativos usando qualquer sistema DRM. O Fairplay usa criptografia CBCS 128-AES (ou modo de amostra de encadeamento de blocos de cifra) e embalagem 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 suportadas por um longo tempo.

Desafios ‍Multi-DRM

‍In No caso da nossa plataforma, criptografamos o conteúdo imediatamente ao ingerir em vários formatos. Nossa embalagem e criptografia DASH padrão usam a criptografia total AES-CTR porque é a mais compatível entre dispositivos (mesmo que 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, eles 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 – pode ser de 15 ou mais segmentos diferentes para cada bloco de tempo de reprodução de 4 ou 2 segundos quando você considera todas as taxas de bits.

Esta situação está a melhorar lentamente. A indústria está se movendo em direção à ampla adoção de uma especificação chamada Common Media Application Format (CMAF) que poderia permitir que você alcance 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 players DASH e HLS. Onde faz sentido, podemos usar 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 esses conjuntos de arquivos torna-se um problema muito maior em escala. Resolvemos isso aproveitando a escalabilidade da nuvem. Quando nosso Slicer carrega um arquivo na taxa de bits mais alta, ele envia cada fatia para um corretor que faz o trabalho para um enorme cluster de codificação. Ao executar operações de codificação em paralelo, todos os arquivos necessários para cada taxa de bits, formato de contentor e combinação de algoritmo 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 usuário 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 SDKs associados, juntamente com as variações do sistema operacional
  • Em conformidade com os parâmetros de Proteção de Conteúdo Aprimorado (ECP) definidos pela MovieLabs e outros, para conteúdo premium e UHD
  • Monitoramento e adesão a contratos complexos de licenciamento e proteção, como mudança de tempo, visualização de captura, uso de DVR baseado na nuvem e reprodução offline

Para atender a esse 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. 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 diretiva DRM do Studio pode configurar facilmente essas políticas para cada usuário. As políticas são implementadas em servidores de licenciamento e podem abranger várias variáveis, como imposição de nível de segurança ou restrições de saída, duração da chave, duração da reprodução e se o aluguel offline é permitido. As opções de política também podem variar consideravelmente entre DRMs.

‍Key A gestão é fundamental

Tal como acontece com o gerenciamento de políticas, a plataforma deve lidar com todos os aspetos do gerenciamento de chaves e licenciamento para garantir que suas chaves sejam 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, você precisará de uma maneira de transmitir chaves de forma segura de codificadores para sua solução 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 conteúdo externamente e, em seguida, ser entregues aos servidores de licença. Manter tudo na mesma rede evita essa etapa e simplifica a implementação.

Uma vez que você tenha a infraestrutura DRM incorporada em seu fluxo de trabalho, o próximo grande desafio é a integração do player. É aqui que passamos um tempo significativo passando pelo 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 unir eventos ao vivo e canais ao vivo, esses anúncios não podem compartilhar a(s) mesma(s) chave(s) de criptografia de cada evento e canal ao vivo na plataforma. Para resolver esse problema, os anúncios devem ser criptografados com chaves individuais diferentes do fluxo no qual são inseridos, reempacotados em tempo real para cada fluxo exclusivo ou inseridos no fluxo sem criptografia.

Essas variações complicam a reprodução ao vivo. Por exemplo, alguns jogadores não têm suporte para trocar as teclas DRM midstream. 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 realizada antes que os quadros com a nova chave possam ser enfileirados. Fazer isso pode resultar em uma falha visível em algumas plataformas.

Esses desafios nos levaram a deixar anúncios sem criptografia para garantir melhor desempenho do jogador e evitar a necessidade de realizar uma mudança de chave sempre que houver um novo anúncio. Os anúncios não criptografados também levam a um melhor desempenho do servidor do que a recriptografia de anúncios em tempo real, pois não precisamos reempacotar cada anúncio com cada combinação de chaves de fluxo que talvez precisemos. O uso de anúncios não criptografados 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 ao longo dos últimos anos.

Também trabalhamos para simplificar a forma como os URLs de licença funcionam para torná-los mais convenientes para jogadores específicos. Conseguimos isso colocando primeiro URLs do servidor de licença no manifesto, então se um jogador tiver suporte para ler o URL, não precisamos fornecê-lo separadamente. Em seguida, codificamos todos os dados específicos da sessão na caixa 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 streams significa que a integração de reprodução DASH se torna extremamente simples em nossa plataforma.

‍Toward Integração DRM mais fácil

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