PlayReady e altre tecnologie di protezione
I sistemi PlayReady sono in grado di interagire con altri sistemi di protezione del contenuto tramite le funzionalità seguenti illustrate in questo argomento:
Crittografia comune
PlayEnablers
CopyEnablers (supportato in PlayReady 1.X e solo 2.X)
MoveEnablers (supportato in PlayReady 1.X e solo 2.X)
Importazione ed esportazione
Crittografia comune
Un provider di servizi può crittografare un file di contenuto una volta con una chiave di contenuto (CK) e distribuire questo CK a client diversi usando tecnologie di protezione del contenuto diverse. A tale scopo, un singolo asset protetto può essere servito a un set di client eterogeni, che salva i costi di archiviazione e distribuzione del contenuto (rete CDN) rispetto a un sistema in cui viene servito contenuto protetto specifico a ogni tipo di client.
Si prenda l'esempio di un servizio che offre contenuto protetto ai client PlayReady (prima tecnologia di protezione del contenuto) e ai client B DRM (seconda tecnologia di protezione del contenuto). Il contenuto è un file MP4 segmentato (fMP4, ISOBMFF) o un asset di streaming adattivo basato su file MP4 segmentati (ad esempio DASH, Smooth Streaming o HLS) e il formato di crittografia usato è ISO/IEC 23001-7:2016 Standard.
Ecco il flusso di contenuto nel sistema complessivo:
In primo luogo, il servizio genera una chiave di contenuto (CK), in genere una chiave AES a 128 bit e una modalità di crittografia, in genere AESCTR o AESCBC, normale o parziale, e un identificatore di chiave (KID, in genere un GUID a 128 bit).
Il servizio esegue il pacchetto del file chiaro:
Crittografa i fotogrammi video e audio usando CK e restituisce il file protetto.
Genera un'intestazione PlayReady che include il KID, in base alle specifiche PlayReady e la include nell'intestazione del file protetto.
Genera un'intestazione DRM B, in base alle specifiche DRM B e la include nell'intestazione del file protetto.
Il servizio recapita il file protetto al client PlayReady:
Il client PlayReady analizza il contenuto protetto e individua l'intestazione PlayReady (tra le altre intestazioni).
Il client PlayReady usa le informazioni sull'intestazione PlayReady per richiedere una licenza dal server di licenza PlayReady del servizio, che restituisce una licenza contenente l'CK.
Il client PlayReady usa il CK per decrittografare il contenuto protetto e eseguirne il rendering.
Il servizio fornisce il file protetto al client DRM B:
Il client DRM B analizza il contenuto protetto, individua l'intestazione DRM B (tra le altre intestazioni).
Il client DRM B usa le informazioni sull'intestazione DRM B per richiedere una licenza dal server di licenza DRM B del servizio, che restituisce una licenza contenente il CK.
Il client DRM B usa il CK per decrittografare il contenuto protetto e eseguirne il rendering.
Per altre informazioni su MPEG Common Encryption Standard, vedere:
- Crittografia comune MPEG
- Schema di protezione ISO Common Encryption ('cenc') per il formato di flusso del file multimediale di base ISO
- ISO Common Encryption EME Stream Format and Initialization Data
--
- Crittografia comune MPEG
- Schema di protezione ISO Common Encryption (CENC) per il formato di flusso del file multimediale ISO
- ISO Common Encryption EME Stream Format and Initialization Data
Nota
Questo meccanismo può essere esteso ai contenuti crittografati con più chiavi, ad esempio in contenuto multi-track o multi-qualità in cui vengono crittografate tracce diverse con chiavi di contenuto diverse o nel contenuto in cui le chiavi di contenuto vengono modificate periodicamente (chiavi ruotanti).
PlayEnablers
Un PlayEnabler rappresenta una tecnologia a cui è consentito riprodurre il contenuto di un client PlayReady. Ad esempio:
- Un client che riproduce contenuto protetto da PlayReady e passa il video/audio a un ricevitore AirPlay, usando la protezione dei collegamenti AirPlay.
- Un client che riproduce contenuto protetto da PlayReady e passa il video/audio a un output sconosciuto.
- Un client che riproduce contenuto protetto da PlayReady e passa l'audio/video a un ricevitore di rete, protetto tramite DTCP-IP.
Un oggetto PlayEnabler è un diritto facoltativo che una licenza possa contenere, se impostata dal provider di servizi durante la creazione della licenza. Se è presente, il client è autorizzato a riprodurre e passare il segnale audio/video all'output corrispondente. Si noti che un PlayEnabler implica un'operazione di esportazione se passa all'output corrispondente richiede la trascrizione, ovvero la decrittografia PlayReady e la ricritcrittura con una chiave di crittografia e un formato diversi.
CopyEnablers
Un copyEnabler rappresenta una tecnologia in cui è consentito copiare il contenuto da un client PlayReady.
Nota
Non è l'operazione di copia del contenuto protetto da PlayReady da una posizione a un'altra, che non richiede alcun diritto. Si tratta dell'operazione di copia del contenuto protetto E del diritto o della licenza per eseguirla.
Ad esempio, un client PlayReady può decrittografare il contenuto PlayReady per crittografarlo nuovamente usando CSS e masterizzare un DVD video. Questa operazione crea una copia del contenuto (il file di contenuto protetto da PlayReady originale esiste ancora nel dispositivo, ma una copia è stata creata in un DVD) e implica la trascrizione (decrittografia PlayReady e la ricritcrittura CSS).
Un oggetto CopyEnabler è un diritto facoltativo che una licenza possa contenere. Se è presente, il client è autorizzato a copiare il contenuto nel formato e nell'archiviazione corrispondenti. Si noti che un copyEnabler implica un'operazione di esportazione se si effettua la copia corrispondente richiede la trascrizione, ovvero la decrittografia PlayReady e la ricritcrittura con una chiave e un formato di crittografia diversi.
Nota
CopyEnablers è stato supportato fino a PlayReady 2.X. Non sono più supportati dai client PlayReady 3.0 e versioni successive.
MoveEnablers
MoveEnabler rappresenta una tecnologia che consente lo spostamento da un client PlayReady.
Nota
Non è l'operazione di spostamento del contenuto protetto da PlayReady da una posizione a un'altra, che non richiede alcun diritto. Si tratta dell'operazione di spostare il contenuto protetto E il diritto o la licenza per eseguirlo.
Ad esempio, un client PlayReady può decrittografare il contenuto PlayReady per crittografarlo nuovamente usando Content Protection for Recordable Media (CPRM) e archiviarlo in un'unità abilitata per CPRM, quindi eliminare il contenuto e la licenza protetti da PlayReady originale. Questa operazione sposta il contenuto (il file di contenuto protetto playReady originale non esiste più nel dispositivo, ma una copia è stata creata nell'unità abilitata per CPRM) e implica la trascrizione (decrittografia PlayReady e la ricritcrittura CSS).
Un oggetto MoveEnabler è un diritto facoltativo che una licenza possa contenere. Se presente, il client è autorizzato a spostare il contenuto nel formato e nell'archiviazione corrispondenti. Si noti che un oggetto MoveEnabler prevede un'operazione di esportazione se il formato di destinazione corrispondente richiede la trascrizione, ovvero la decrittografia PlayReady e la ricritcrittura con una chiave e un formato di crittografia diversi.
Nota
MoveEnablers è stato supportato fino a PlayReady 2.X. Non sono più supportati dai client PlayReady 3.0 e versioni successive.
Importazione ed esportazione
Alcuni dispositivi possono modificare il formato del contenuto protetto E la relativa licenza associata da una tecnologia Content Protection a un'altra. Questa operazione è denominata importazione o esportazione. In generale, tale operazione deve essere consentita in modo esplicito dalla tecnologia di esportazione (A).
PlayReady Import designa un'operazione in cui il contenuto viene inizialmente protetto usando una tecnologia Content Protection A e quindi protetta usando PlayReady, in genere in un transcryptor. Ciò significa che le chiavi di crittografia del contenuto protetto sono protette in una licenza protezione contenuto Quando si trovano nel dispositivo e sono protette in una licenza PlayReady quando escono da tale dispositivo. Può comportare la transcrittura del contenuto (decrittografia del contenuto e ricritcrittura del contenuto usando chiavi diverse) o semplicemente ricompilare le chiavi di crittografia dal formato di licenza Protezione contenuto A nel formato di licenza PlayReady. Può anche comportare la trascrizione dei diritti e delle restrizioni corrette dalla tecnologia Content Protection X ai diritti multimediali estendibili PlayReady (XMR).
PlayReady Export designa un'operazione in cui il contenuto viene inizialmente protetto usando PlayReady e quindi protetto usando la tecnologia Content Protection Y, in genere in una transcryptor. PlayReady non consente l'esportazione del contenuto protetto per impostazione predefinita, ma consente di esportare tramite diritti facoltativi espliciti impostati nella licenza, noti come PlayEnablers, CopyEnablers e MoveEnablers.
Ad esempio, un utente usa un computer per acquisire il contenuto della sottoscrizione protetto con PlayReady e quindi vuole trasmettere il contenuto a un dispositivo di riproduzione in una rete che supporta solo DTCP-IP. Per riprodurre il contenuto protetto con PlayReady nel dispositivo, il contenuto protetto deve essere esportato in DTCP-IP.
Per abilitare questo scenario, PlayReady Server SDK consente agli sviluppatori di specificare altri formati di protezione dei contenuti per l'esportazione in un elenco inclusivo. Questo elenco inclusivo viene creato per licenza aggiungendo GUIDche corrispondono ai formati di protezione del contenuto consentiti (l'aggiunta di GUIDall'elenco inclusivo viene eseguita con la classe PlayEnabler ). Questi GUIDe i relativi mapping dei diritti associati sono definiti nelle regole di conformità di PlayReady Server SDK che hanno accompagnato il contratto di licenza da Microsoft. Il client che invia contenuto può esportare solo il contenuto in tali sistemi di protezione del contenuto specificati nell'elenco inclusivo delle licenze.
Nota
Dopo l'esportazione in una protezione del contenuto B, il contenuto viene controllato dalle regole della protezione del contenuto B. Vale a dire, dopo l'esportazione da PlayReady a un'altra tecnologia, non è più soggetta alle regole di conformità PlayReady e Robustness.