Acquisizione licenze
Per riprodurre contenuto protetto, deve essere disponibile una licenza valida per il contenuto. Se non esiste una licenza valida per il contenuto, è necessario acquisire la licenza. Durante l'acquisizione di licenze, un client acquisisce la licenza da un server di licenza o da un server proxy. Il client di acquisizione delle licenze è un lettore multimediale in un dispositivo mobile, ad esempio un telefono o un tablet o su un computer personale. I client per l'acquisizione delle licenze si connettono direttamente a un server licenze e richiedono licenze per il contenuto acquisito.
Nel contesto dell'acquisizione delle licenze, il server licenze e il server di creazione pacchetti sono considerati server DRM. I dispositivi portatili e i computer personali in grado di acquisire licenze sono considerati client.
Interazioni server e client per l'acquisizione di licenze
In questa sezione vengono esaminate le interazioni dei componenti per l'acquisizione di licenze.
Sul lato server, PlayReady Server SDK offre funzionalità per:
- Generazione/rilascio di licenze
Il client nel dispositivo portatile o nel personal computer del consumer offre funzionalità per:
- Acquisizione delle licenze
- Applicazione delle regole di utilizzo
- Decrittografia del contenuto
Il supporto Domain, Metering, Secure Stop e Secure Delete è incluso anche con PlayReady Server SDK.
Acquisizione di licenze proattive e reattive
Esistono due modalità per l'acquisizione delle licenze:
- Acquisizione proattiva delle licenze : l'applicazione client avvia esplicitamente una richiesta di licenza prima dell'inizio della riproduzione. Questo è in genere uno scenario in cui il sistema è programmato in modo che l'applicazione abbia esplorato il contenuto e richiederà il tempo per acquisire "proattivamente" la licenza prima dell'avvio di qualsiasi sessione di riproduzione. Dopo aver ricevuto la licenza, la riproduzione può iniziare in qualsiasi momento. L'applicazione potrebbe avviare immediatamente la riproduzione oppure ci sono casi in cui la licenza verrebbe acquisita giorni prima che il contenuto venga effettivamente riprodotto, in genere in uno scenario di riproduzione offline.
- Acquisizione di licenze reattive : l'applicazione client non acquisisce in modo esplicito una licenza prima che il contenuto venga riprodotto. Dopo l'avvio della riproduzione, il lettore multimediale PlayReady cerca una licenza PlayReady esistente che può decrittografare questo contenuto. Se non trova alcuna licenza utilizzabile, usa automaticamente l'oggetto acquisizione licenze associato per acquisire la licenza prima di riprendere la riproduzione.
Nella figura seguente viene fornita una panoramica dell'architettura della protezione del contenuto e dell'acquisizione delle licenze.
L'acquisizione delle licenze segue questi passaggi, come illustrato nella figura:
Il provider di contenuto usa un valore di inizializzazione della chiave di licenza e un identificatore di chiave per generare una chiave.
Il provider di contenuto inserisce l'identificatore della chiave e l'URL del server di licenza nell'intestazione del contenuto e quindi protegge il file crittografandolo con la chiave.
Il provider di contenuto fornisce il file protetto all'utente.
Il lettore multimediale dell'utente esegue una query sul componente DRM del dispositivo dell'utente per determinare se è possibile riprodurre il file protetto.
Il componente DRM cerca l'Archivio licenze nel dispositivo dell'utente per una licenza valida per riprodurre il file.
Se il componente DRM non riesce a trovare la licenza necessaria, richiede una licenza dal server licenze. La richiesta di licenza usata per richiedere la licenza contiene l'intestazione del contenuto e le informazioni sul dispositivo dell'utente.
Il server licenze usa il seeding della chiave di licenza condivisa e l'identificatore della chiave per generare la stessa chiave di contenuto generata dal provider di contenuto nel passaggio 1. Il server licenze crittografa quindi la chiave.
Il server licenze crea una licenza, aggiunge la chiave di contenuto crittografata alla licenza e firma la licenza usando la chiave di firma privata.
Il server licenze fornisce la licenza firmata al dispositivo dell'utente.
Il componente DRM nel dispositivo dell'utente verifica la firma e la data di scadenza del certificato e inserisce la licenza nell'Archivio licenze.
Il componente DRM decrittografa i pacchetti del contenuto richiesto e li invia al lettore.
A questo punto, il giocatore avrà il contenuto in una forma utilizzabile. È possibile usare tutti i criteri abilitati dalla licenza. Ad esempio, se la licenza abilita "play", il client di acquisizione delle licenze può riprodurre il contenuto.
La figura seguente illustra i passaggi di base per acquisire in modo proattivo una licenza.
La figura seguente illustra i passaggi di base per acquisire in modo reattivo una licenza.
Dopo che un client recupera un file protetto, il client deve acquisire una licenza prima di poter eseguire azioni che usano tale contenuto. Le licenze archiviano le informazioni necessarie per accedere al contenuto associato e archiviare le regole a cui è possibile accedere a tale contenuto. Gli utenti devono acquisire le proprie licenze per riprodurre contenuto protetto, anche se il contenuto protetto è stato copiato da qualcuno che aveva già una licenza per esso. Le licenze contengono la chiave di crittografia per decrittografare il contenuto corrispondente o, nel caso delle licenze concatenati, contengono una chiave intermedia. Le licenze contengono anche diritti e altre proprietà che specificano l'uso del contenuto. Ad esempio, la licenza determina il numero di volte in cui è possibile riprodurre un file protetto e se la licenza scade mai. Queste proprietà sono configurate separatamente dalla licenza dal file protetto.
Ogni licenza contiene le informazioni seguenti:
- Chiave di crittografia del contenuto.
- Diritti della licenza.
- Le restrizioni corrette e i modificatori corretti, noti anche come condizioni della licenza.
Prima che un client possa decrittografare il contenuto associato a una licenza, deve recuperare i criteri dalla licenza. Le informazioni sulla protezione del contenuto all'interno della licenza vengono crittografate usando la chiave pubblica di un client o le informazioni di crittografia della chiave pubblica di un client. La licenza viene considerata "associata" al client o al dominio con la chiave privata per decrittografare le informazioni sulla protezione del contenuto.
I client acquisiscono licenze direttamente dai server licenze o tramite un server proxy.
Trasporto per l'acquisizione di licenze
Le acquisizioni di licenze PlayReady richiedono tutte una transazione tra il client e il server:
- Una sfida generata dal client e inviata al server.
- Risposta generata dal server e inviata al client.
Le transazioni si verificano in genere su Internet, tramite HTTP o HTTPS o in una rete chiusa. Il protocollo usato si basa su Simple Object Access Protocol (SOAP) e può essere personalizzato. Le transazioni possono essere implementate in modo asincrono, ad esempio con un client che registra la sfida in una posizione e un server che elabora questa sfida, generando una risposta e pubblicando tale risposta in un'altra posizione.
Nota
PlayReady non supporta la trasmissione delle licenze, ovvero server che inviano licenze ai client in una rete di trasmissione.