Digital Rights Management (DRM) è uno standard del settore che offre ai proprietari di contenuti opzioni per proteggere i contenuti premium. Una soluzione DRM efficace deve funzionare con la maggior parte dei dispositivi di riproduzione, integrarsi facilmente nel flusso di lavoro e apparire trasparente per gli utenti. Se è in grado di supportare funzioni avanzate come la riproduzione offline, è molto meglio. Anche se il DRM potrebbe non essere una priorità assoluta per molti operatori di servizi di streaming, il suo impatto sull’esperienza di riproduzione dello spettatore non può essere un ripensamento.
L’obiettivo di qualsiasi sistema DRM è garantire che i contenuti video vengano archiviati e trasmessi in forma crittografata in modo che solo gli utenti e i dispositivi autorizzati possano riprodurre i contenuti. Il DRM viene spesso frainteso come poco più della crittografia AES (Advanced Encryption Standard) a 128 bit su una piattaforma di streaming. In realtà, DRM è un sistema completo per la gestione dell’accesso ai contenuti. DRM fornisce la distribuzione sicura delle chiavi di crittografia e decrittografia insieme a server di licenza back-end che aggiungono funzioni come il controllo dei criteri per impedire la riproduzione su hardware non autorizzato e il controllo della riproduzione offline.
DRM può essere implementato in tre modi diversi. Il primo è affrontare da soli tutto lo sviluppo e l’integrazione. Sebbene ciò richieda molto tempo, garantisce il massimo controllo e flessibilità. Il secondo è un approccio ibrido in cui è possibile integrare la soluzione DRM preconfezionata di un provider nel flusso di lavoro. La terza opzione utilizza una soluzione DRM come parte di un servizio di streaming gestito. Verizon Media Platform offre questo tipo di soluzione DRM. È integrato nel nostro flusso di lavoro video e attivato da un semplice ordine di assistenza. Ci assumiamo l’onere dello sviluppo e dell’integrazione. Ricordate che con le prime due opzioni, il DRM è più di un progetto una tantum: Richiede un programma continuo per stare al passo con gli standard e le tecnologie in evoluzione.
Proprietary DRM
I principali formati di streaming video di Today hanno la propria integrazione con il sistema DRM. Poiché le tecnologie DRM sono proprietarie, in genere sono supportate solo su prodotti OEM specifici, anche se con un numero crescente di eccezioni. Ad esempio, Apple FairPlay è principalmente compatibile con il browser Web Apple Safari e altri prodotti hardware e software Apple. Dal punto di vista di un servizio di streaming, la mancanza di compatibilità multipiattaforma comporta la necessità di adottare una strategia multi-DRM e fornire contenuti confezionati e crittografati in più formati se si desidera coprire una gamma completa di dispositivi.
Sebbene sul mercato siano presenti molti sistemi DRM, da un punto di vista pratico, i servizi di streaming devono solo occuparsi dei tre principali sistemi per ottenere supporto praticamente per tutti i browser Web, i dispositivi e i TV:
- Apple FairPlay streaming (FPS): I contenuti FairPlay possono essere riprodotti principalmente su dispositivi Apple, tra cui piattaforme Safari, iOS e Apple TV.
- Google Widevine – questa soluzione DRM copre tutti i browser Web Chrome e Firefox e i dispositivi Android e Chromecast.
- Microsoft PlayReady – i contenuti protetti da questa soluzione DRM possono essere riprodotti su Roku, Xbox,
- Browser Microsoft Edge e una vasta gamma di altre piattaforme e smart TV tramite SDK.
La situazione migliora leggermente se si considera la crittografia sottostante, in cui sono in corso sforzi di standardizzazione per semplificare la frammentazione del mercato DRM. Sia Widevine che PlayReady supportano la crittografia comune (CENC) e MPEG-DASH, il che significa che puoi crittografare e imballare i tuoi contenuti una sola volta e decrittografare tali risorse utilizzando entrambi i sistemi DRM. Fairplay utilizza la crittografia CBC 128-AES (o modalità campione concatenamento blocchi cifratura) e il packaging HLS. I CBC sono supportati anche in alcuni dispositivi di riproduzione DASH più recenti. Il mercato sembra convergere sui CBC per la crittografia comune, ma altre crittografia dovranno essere supportate per molto tempo.
Sfide Multi-DRM
In nel caso della nostra piattaforma, crittografiamo immediatamente i contenuti in più formati al momento dell’acquisizione. Il packaging e la crittografia DASH predefiniti utilizzano la crittografia completa AES-CTR perché è la più compatibile tra i dispositivi (anche se i dispositivi più recenti possono supportare I CBC). Inoltre, per Fairplay utilizziamo il packaging Transport Stream e la crittografia CBC per impostazione predefinita, poiché è il più compatibile sull’intera gamma di dispositivi. Sebbene coprano la maggior parte dei dispositivi e dei lettori in tutto il mondo, aggiungono complessità e aumentano i costi di storage. Tenete presente che con la velocità di trasferimento adattiva (ABR) abbiamo a disposizione più di due o tre file diversi: Possono essere 15 o più segmenti diversi per ogni blocco di 4 o 2 secondi di tempo di riproduzione quando si tiene conto di tutti i bit rate.
La situazione sta lentamente migliorando. Il settore si sta muovendo verso un’ampia adozione di una specifica chiamata Common Media Application Format (CMAF) che potrebbe consentire di raggiungere la maggior parte degli schermi dei consumatori con un unico set di file abilitato per DRM. Attualmente, CMAF funziona già su molti dispositivi e lettori DASH e HLS. Laddove ha senso, possiamo utilizzare la logica dinamica di generazione dei manifesti per creare manifesti HLS con crittografia conforme a CMAF e CBC per supportare dispositivi aggiuntivi.
La codifica di tutti questi set di file diventa un problema molto più grande in scala. Abbiamo risolto questo problema sfruttando la scalabilità del cloud. Quando la nostra affettatrice carica un file alla velocità di trasmissione più elevata, invia ogni sezione a un broker che estrae il lavoro a un enorme cluster di codifica. Eseguendo le operazioni di codifica in parallelo, tutti i file necessari per ciascuna combinazione di velocità di trasmissione, formato contenitore e algoritmo di crittografia possono essere creati rapidamente con una latenza minima.
Comprendere le sfumature della codifica di crittografia, del packaging e del superamento dei requisiti di archiviazione ed elaborazione è solo la punta dell’iceberg per quanto riguarda le complessità associate all’implementazione di un sistema multi-DRM. Altre sfide includono:
- Garantire la coerenza delle esperienze utente su tutti i dispositivi con l’acquisizione senza ritardi delle chiavi dai server DRM
- Essere sempre aggiornati sui dispositivi client in continua evoluzione e sugli SDK associati, oltre alle variazioni del sistema operativo
- Conformità ai parametri ECP (Enhanced Content Protection) definiti da MovieLabs e altri per i contenuti premium e UHD
- Monitoraggio e rispetto di complessi accordi di licenza e protezione, come il time shift, la visualizzazione di “catch-up”, l’utilizzo di DVR basati su cloud e la riproduzione offline
Per soddisfare questa serie completa di requisiti e garantire che i contenuti siano protetti in tutto il flusso di lavoro, è necessario sviluppare una soluzione di gestione delle chiavi, configurare server di licenza e definire e gestire policy di sicurezza che determinano le condizioni in cui i contenuti possono essere riprodotti. La nostra piattaforma, ad esempio, dispone di una serie predefinita di policy appropriate per la maggior parte delle circostanze. Lo strumento di configurazione dei criteri DRM di Studio può configurare facilmente questi criteri per ciascun utente. Le policy vengono implementate sui server di licenza e possono riguardare varie variabili, come l’applicazione del livello di sicurezza o le restrizioni di output, la durata della chiave, la durata della riproduzione e l’eventuale possibilità di noleggio offline. Anche le opzioni di policy possono variare notevolmente tra le unità DRM.
La gestione di Key è fondamentale
Come per la gestione delle policy, la piattaforma deve gestire tutti gli aspetti della gestione delle chiavi e delle licenze per garantire che le chiavi siano protette in tutto il flusso di lavoro. La sicurezza è facilmente raggiungibile con la piattaforma completamente integrata di Verizon Media, ma se si intende utilizzare servizi separati, è necessario un modo per trasmettere le chiavi in modo sicuro dagli encoder alla soluzione DRM di terze parti. Ciò comporta un notevole lavoro per implementare uno standard come Secure Packager e encoder Key Exchange (SPEKE), in modo che le chiavi possano codificare il contenuto esternamente e quindi essere consegnate ai server di licenza. Mantenere tutto sulla stessa rete evita questo passaggio e semplifica l’implementazione.
Una volta integrata l’infrastruttura DRM nel flusso di lavoro, la prossima grande sfida è l’integrazione dei giocatori. Questo è il momento in cui abbiamo passato molto tempo a passare attraverso l’SDK di ogni giocatore per garantire che non ci fossero singhiozzi. Una sfida si è rivelata essere l’inserimento di annunci lato server (SSAI). Poiché disponiamo di un’ampia libreria di annunci codificati separatamente per inserirli in eventi live e canali live, questi annunci non possono condividere tutte le stesse chiavi di crittografia di ogni evento live e canale sulla piattaforma. Per risolvere questo problema, gli annunci devono essere crittografati con chiavi individuali diverse dal flusso in cui vengono inseriti, reimballati al volo per ogni flusso univoco o inseriti nel flusso senza crittografia.
Queste variazioni complicano la riproduzione in live streaming. Ad esempio, alcuni lettori non supportano la commutazione delle chiavi DRM a metà flusso. Anche con questo supporto, la commutazione può avere un effetto notevole sull’esperienza di riproduzione. Potrebbe essere necessario svuotare completamente il buffer dei frame e eseguire una nuova inizializzazione della chiave prima che i frame con la nuova chiave possano essere messi in coda. In questo modo si può verificare un errore visibile su alcune piattaforme.
Queste sfide ci hanno portato a lasciare gli annunci non crittografati per garantire migliori prestazioni dei giocatori ed evitare la necessità di eseguire un cambiamento chiave ogni volta che c’è un nuovo annuncio. Gli annunci non crittografati migliorano anche le prestazioni del server rispetto alla ricrittografia immediata degli annunci, poiché non è necessario reimballare ogni annuncio con ogni combinazione di chiavi di flusso di cui potremmo aver bisogno. L’uso di annunci non crittografati complica le cose per i giocatori, un po’ di più dell’uso della stessa chiave. Tuttavia, molti progetti di giocatori hanno garantito che questo scenario di riproduzione fosse supportato negli ultimi anni.
Abbiamo inoltre lavorato per semplificare il funzionamento degli URL delle licenze per renderli più convenienti per giocatori specifici. Questo è stato ottenuto inserendo prima gli URL del server di licenza nel manifesto, quindi se un giocatore ha il supporto per la lettura dell’URL, non è necessario fornirlo separatamente. Quindi, codifichiamo tutti i dati specifici della sessione nella casella PSSH (Protection Scheme Specific Header) del manifesto. Ciò consente ai giocatori di utilizzare un URL del server di licenza molto semplice per le richieste di licenza senza ulteriori dati di intestazione o parametri URL. Utilizzare lo stesso URL di licenza per i lettori e i flussi significa che l’integrazione della riproduzione DASH diventa estremamente semplice sulla nostra piattaforma.
Toward integrazione DRM semplificata
Uno degli obiettivi generali della nostra piattaforma è rendere lo streaming più semplice e semplice per i provider di servizi. Stiamo continuando ad espandere l’uso di lettori open source come Shaka Player, una libreria JavaScript open source per la riproduzione ABR. Abbiamo inoltre collaborato con THEOplayer, una popolare soluzione di lettori video universali. La nostra piattaforma è in continua evoluzione per stare al passo con i mutevoli standard di crittografia e le tecnologie DRM. Sappiamo che molte aziende non amano lavorare con DRM, quindi più possiamo rendere questo compito di sicurezza fondamentale come qualsiasi altro elemento di una lista di controllo, meglio è.