Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Un orologio attendibile PlayReady è un termine generale per un orologio usato per applicare limitazioni basate sul tempo impostate sul contenuto protetto PlayReady nei client PlayReady. Qualsiasi client che implementa un orologio attendibile garantisce che un client che limita la riproduzione a una data e un'ora di inizio, una data e un'ora di scadenza o una data e un'ora dopo la prima riproduzione non possono essere manomessi utilizzando strumenti di hacking a un livello definito nelle regole di affidabilità per i prodotti PlayReady.
Microsoft non richiede agli sviluppatori client di usare un orologio attendibile. Tuttavia, i client senza un orologio attendibile non potranno gestire le licenze con criteri basati sul tempo, inclusa la scadenza. Poiché questo scenario è molto comune nel settore ,ad esempio noleggio o sottoscrizione, Microsoft consiglia di implementare un orologio attendibile PlayReady in ogni client.
Gli sviluppatori client possono scegliere tra due tipi di clock attendibili PlayReady nella loro progettazione. Entrambi consentono di gestire le licenze con criteri basati sul tempo:
- Orologio sicuro PlayReady
- Orologio anti-rollback PlayReady
Orologio sicuro PlayReady
Un orologio sicuro PlayReady è "un orologio in tempo reale hardware progettato per resistere all'accesso non autorizzato a livello definito nelle regole di affidabilità", come definito nel documento Condizioni definite per le regole di conformità e affidabilità per i prodotti PlayReady.
In base ai requisiti delle regole di conformità per i prodotti PlayReady, un orologio sicuro PlayReady deve usare un servizio orologio sicuro per impostarne il valore. Microsoft gestisce alcuni servizi di clock sicuri PlayReady che gli autori di dispositivi possono usare a questo scopo.
Ora del server licenze
A partire da PlayReady 4.5, il servizio orologio protetto può essere il server di acquisizione delle licenze stesso in cui PlayReady Server SDK fornisce il tempo durante l'acquisizione delle licenze.
Per usare questa funzionalità, è necessario soddisfare i requisiti seguenti:
- Sia il server che il client (incluso TEE e REE) devono usare PlayReady 4.5 o versione successiva.
- Sia il server che le applicazioni client devono essere consapevoli della funzionalità.
- Il client (in TEE e REE) deve includere la funzionalità Tempo di sicurezza in fase di compilazione e implementare i metodi di OEM_TEE associati, come documentato nei commenti di codice nel Kit di conversione dei dispositivi PlayReady.
- L'applicazione client deve comunicare solo con i server di acquisizione delle licenze che supportano e abilitano questa funzionalità OPPURE deve essere in grado di comunicare con un servizio di clock protetto esterno.
- Il server deve disporre di un certificato License Server Time fornito da Microsoft.
- Se vengono usate più istanze del server di acquisizione delle licenze a scopo di scalabilità, i tempi del sistema operativo devono essere sincronizzati tra loro.
- Se le licenze persistenti con restrizioni basate sul tempo sono state acquisite prima dell'abilitazione della funzionalità (ad esempio, il client viene aggiornato da una versione precedente di PlayReady a PlayReady 4.5), il client e il server devono abilitare la riacquisizione di tali licenze dopo l'uso della funzionalità.
Un server abilita questa funzionalità come indicato di seguito:
- Costruire un'istanza della classe LicenseServerTimeCertificate con il certificato LicenseServerTime fornito da Microsoft e la coppia di chiavi corrispondente.
- Impostare la proprietà LicenseServerTimeCertificate della classe LicenseResponse su tale istanza. Nota: l'impostazione di questa proprietà non ha alcun effetto se il client non supporta la funzionalità, quindi non è necessario biforcare il codice dell'applicazione in base al supporto client.
- (Facoltativo) Se la proprietà di sola lettura LicenseServerTimeRequested della classe LicenseAcquisitionChallenge restituisce true, la risposta alla richiesta di licenza può, facoltativamente, non includere alcuna licenza.
- (Facoltativo) Se la proprietà di sola lettura LicenseRequested della classe PlayReadyHeader restituisce false, il client ha indicato che non viene richiesta alcuna licenza e la logica dell'applicazione server può decidere di agire su queste informazioni. Ciò significa che l'intestazione PlayReady v4.3.0.0 inviata dal client ha l'attributo facoltativo AGGIUNTIVO LICENSEREQUESTED nel nodo PROTECTINFO impostato su false.
Un client abilita questa funzionalità come indicato di seguito:
- Includere (in TEE e REE) la funzionalità Tempo di sicurezza in fase di compilazione/collegamento e implementare i metodi di OEM_TEE associati, come documentato nei commenti di codice nel Kit di conversione PlayReady.
- Quando un'API PlayReady restituisce DRM_E_SECURETIME_CLOCK_NOT_SET, eseguire l'acquisizione delle licenze per impostare l'orologio sicuro.
- Quando un'API PlayReady restituisce DRM_E_LICENSESERVERTIME_MUST_REACQUIRE_LICENSE, eseguire l'acquisizione della licenza per riacquisire una licenza permanente invalidata. Ciò si verifica solo se le licenze persistenti con restrizioni basate sul tempo sono state acquisite prima dell'abilitazione della funzionalità (ad esempio, il client è stato aggiornato da una versione precedente di PlayReady a PlayReady 4.5).
- (Facoltativo) Quando si esegue l'acquisizione di licenze esclusivamente allo scopo di impostare l'orologio sicuro, l'applicazione può scegliere di usare un'intestazione PlayReady v4.3.0.0 con l'attributo facoltativo aggiuntivo LICENSEREQUESTED nel nodo PROTECTINFO impostato su false per indicare che non è necessaria alcuna licenza. Per ulteriori informazioni, vedere la PlayReady Header Specification.
Orologio anti-rollback PlayReady
Un orologio anti-rollback PlayReady è "un orologio in tempo reale che viene verificato periodicamente dal prodotto finale PlayReady per verificare l'avanzamento", come definito nel documento dei Termini definiti delle Regole di conformità e robustezza per i prodotti PlayReady
In base ai requisiti delle regole di conformità per i prodotti PlayReady, un orologio anti-rollback PlayReady può usare qualsiasi origine di tempo per impostarne il valore. L'affidabilità nell'orologio viene fornita dal meccanismo di anti-rollback integrato nell'infrastruttura a chiave pubblica. È inoltre consentito usare un servizio di clock sicuro PlayReady per impostarne il valore. Microsoft gestisce alcuni servizi di sincronizzazione temporale PlayReady sicuri che i produttori di dispositivi possono usare a questo scopo.