PlayReady Secure Stop
Introdotta in PlayReady versione 3.0, PlayReady Secure Stop è una funzionalità che fornisce i mezzi per un dispositivo PlayReady per asserire in modo sicuro un servizio di streaming multimediale che la riproduzione multimediale è stata arrestata per qualsiasi dato contenuto. Per i tuoi servizi di streaming multimediale, questa funzionalità garantisce l'applicazione e la segnalazione accurate delle limitazioni di utilizzo su dispositivi diversi per un determinato account.
Panoramica dell'arresto sicuro
Un evento Secure Stop viene segnalato a un server di arresto sicuro dal client quando la riproduzione multimediale si arresta, alla fine del supporto o perché l'utente ha arrestato la presentazione multimediale in un punto intermedio. Quando viene segnalato un evento Di arresto sicuro e al momento della registrazione dell'evento Di arresto sicuro, il client PlayReady garantisce che la chiave simmetrica venga cancellata dalla memoria. Viene inoltre segnalato un arresto sicuro quando la sessione precedente termina in modo imprevisto , ad esempio a causa di un arresto anomalo del sistema o dell'applicazione.
Nota
L'arresto sicuro si applica solo alle licenze non persistenti.
Esistono due scenari principali per l'invio di una richiesta di arresto sicuro:
- Quando la riproduzione multimediale si arresta alla fine o perché l'utente ha arrestato la presentazione multimediale in un punto intermedio.
- Quando la sessione precedente termina in modo imprevisto, ad esempio a causa dell'arresto anomalo di un sistema o di un'app. L'app dovrà eseguire una query, all'avvio o all'arresto, per eventuali sessioni di arresto sicuro in sospeso e inviare richieste separate da qualsiasi altra riproduzione multimediale.
Per informazioni sull'arresto sicuro nelle app UWP, vedi la sezione Aggiungi arresto sicuro nell'articolo Drm PlayReady .
Arresto sicuro 2
A partire da PlayReady versione 4.2, PlayReady Secure Stop 2 offre maggiore sicurezza applicando la funzionalità di arresto sicuro nel client nell'ambiente di esecuzione attendibile (TEE) a livello di sicurezza 3000.
Un servizio può usare la funzionalità SecureStop per applicare la riproduzione tra più client appartenenti a uno stesso account utente. A seconda della configurazione di un determinato client nell'account utente, il servizio riceverà messaggi leggermente diversi dal client.
La tabella seguente illustra la logica dell'app server in versioni diverse di Sicurezza client e Arresto sicuro.
Versione del client | Logica del server SecureStop | Efficienza |
---|---|---|
PlayReady versione 2.0+ SL2000 |
Il server non riceve alcun messaggio SecureStop dal client. Usare la logica dell'app per eseguire questa operazione. | Basso |
PlayReady versione 3.0+ SL3000 (esempio: app Windows 10) |
Il server riceve un messaggio SecureStop1 dal client. L'affidabilità di questo messaggio contro gli attacchi è superiore alla semplice logica dell'app. |
Medio |
PlayReady versione 4.2+ SL3000 |
Il server riceve un messaggio SecureStop2 dal client. Un messaggio SecureStop2 dannoso da questo client richiede un attacco nell'ambiente di esecuzione attendibile del client. L'affidabilità di questo messaggio contro gli attacchi è superiore a SecureStop1. |
Alto |
Per sfruttare i vantaggi della funzionalità Di arresto sicuro 2, l'applicazione Server deve abilitare la funzionalità come indicato di seguito:
- Impostare la proprietà SecureStop2AESKey nella classe MediaLicense quando si rilascia una licenza con Secure Stop. Questa operazione può essere eseguita indipendentemente dal fatto che il client supporti l'arresto sicuro 2.
- Creare una classe che implementa l'interfaccia ISecureStop2Handler (simile a qualsiasi altro gestore) in modo che, per qualsiasi kid specificato, restituisce la stessa chiave usata durante l'impostazione della proprietà SecureStop2AESKey su un oggetto MediaLicense con tale KID.
- Dopo aver chiamato GetSecureStopData, eseguire una query sulla proprietà SecureStop2VerifiedSession nella classe SecureStopDataChallenge. Se è impostato su Guid.Empty, il client ha inviato un messaggio SecureStop1. Se è impostato su qualsiasi altro GUID, il client ha inviato un messaggio SecureStop2. Il Guid restituito è l'ID sessione della singola sessione all'interno della richiesta SecureStop2 che può essere verificata come non dannosa (presupponendo che l'ambiente di esecuzione attendibile del client non sia stato attaccato correttamente).