PlayReady: cos'è, DRM di Microsoft e versioni

Autore: IT Sectr Pubblicato: 2026-05-24 Tempo di lettura: 8 min

PlayReady è una tecnologia DRM sviluppata da Microsoft per proteggere i contenuti su Windows, Xbox e altre piattaforme che supportano l'ambiente di esecuzione universale UWP. Il sistema utilizza un modello di sicurezza a tre livelli SL (Security Level) da SL150 a SL3000, dove il livello più alto richiede crittografia hardware tramite TPM. Secondo la documentazione Microsoft Docs (2025), PlayReady 4.0 supporta la crittografia 4K HDR e l'analisi avanzata dell'utilizzo dei contenuti.

Punti chiave

  • PlayReady è una soluzione DRM Microsoft con modello di sicurezza a tre livelli SL150, SL2000, SL3000.
  • Versione 4.0 supporta 4K HDR, crittografia hardware tramite TPM e telemetria avanzata.
  • Licenze PlayReady funziona tramite politiche: tempo, qualità, numero di dispositivi, protezione dell'output.
  • Multipiattaforma consente di utilizzare PlayReady su Windows, Xbox, Android, iOS e Smart TV.
  • PlayReady NMCR (Non-Media Content Receiver) protegge i dati non multimediali, inclusi documenti e giochi.

Cos'è PlayReady?

PlayReady è una tecnologia di gestione dei diritti digitali (DRM) sviluppata da Microsoft nel 2007 per proteggere contenuti multimediali e altri beni digitali. Ha sostituito WMDRM (Windows Media DRM) ed è diventata lo standard di protezione per Windows Media Center, Xbox Video e Microsoft Silverlight.

Il principale vantaggio di PlayReady è un sistema di licenze unificato per vari tipi di contenuti: video, audio, e-book, giochi e documenti. La tecnologia supporta modelli di distribuzione in abbonamento (Subscription), noleggio (Rental) e acquisto (Purchase), rendendola interessante per i servizi multimediali e le piattaforme educative.

Architettura di PlayReady

L'architettura di PlayReady è composta da tre componenti chiave: il runtime client PlayReady Device Porting Kit, il server di licenze PlayReady License Server e il packager di contenuti. Il runtime di PlayReady viene incorporato in un'applicazione o lettore e gestisce la decrittografia dei contenuti sul dispositivo.

Il server di licenze genera chiavi di licenza basate sulle politiche definite dal fornitore di contenuti. Il packager di contenuti crittografa i file multimediali utilizzando lo standard Common Encryption (CENC) e incorpora metadati per collegarli a una licenza specifica.

Come funziona PlayReady DRM?

Il processo di protezione PlayReady inizia nella fase di packaging, quando il contenuto multimediale viene crittografato con una chiave simmetrica, che viene poi protetta dalla chiave pubblica del server di licenze. Il contenuto impacchettato viene inserito su un CDN ed è disponibile per il download o lo streaming.

Quando un utente richiede contenuti protetti, il lettore avvia una richiesta di licenza al server di licenze. Il server verifica le credenziali dell'utente, i suoi diritti di accesso (abbonamento, noleggio, acquisto) ed emette una licenza contenente la chiave di decrittografia.

Protocollo di scambio licenze

PlayReady utilizza un protocollo di scambio basato su SOAP o JSON, dove la richiesta di licenza include l'ID del contenuto (Content ID), l'identificatore del dispositivo e la firma dell'applicazione. Il server restituisce la licenza in formato XML, crittografata con la chiave pubblica del dispositivo.

La licenza contiene la chiave di crittografia del contenuto (CEK), avvolta in una chiave del dispositivo (Device Key), e una serie di politiche. Le politiche possono limitare il tempo di riproduzione, la qualità video, il numero di dispositivi e il tipo di output (HDMI, composito).

Inizializzazione di una sessione PlayReady

csharp
var mediaProtectionManager = new MediaProtectionManager();
var properties = new PropertySet();
properties["Windows.Media.Protection.MediaProtectionSystemId"] =
    "9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e";

mediaProtectionManager.SetProtectionScheme(
    MediaProtectionSystemType.PlayReady,
    properties
);

var mediaSource = MediaSource.CreateFromUri(
    new Uri(contentUrl)
);
mediaPlayer.Play(mediaSource);

Versioni di PlayReady: 3.0 e 4.0

PlayReady 3.0, rilasciato nel 2014, ha introdotto il supporto alla crittografia hardware tramite TPM 2.0 e il livello di sicurezza SL3000 per contenuti 4K. Questa versione ha aggiunto la possibilità di vincolare una licenza a un dispositivo specifico tramite un meccanismo di Device Binding, impedendo il trasferimento di licenze tra dispositivi.

PlayReady 4.0, annunciato nel 2020, ha ampliato le funzionalità con tre innovazioni chiave: supporto alla telemetria avanzata dell'utilizzo dei contenuti, analisi migliorate per i fornitori di contenuti e ottimizzazione del consumo energetico sui dispositivi mobili.

Confronto delle versioni di PlayReady

VersioneAnnoCaratteristiche principaliSL max
PlayReady 2.02011Crittografia software, fino a 1080pSL2000
PlayReady 3.02014Crittografia hardware, 4K, Device BindingSL3000
PlayReady 4.02020Telemetria, efficienza energetica, HDRSL3000

Livelli di sicurezza di PlayReady

I livelli di sicurezza PlayReady determinano come vengono eseguite le operazioni crittografiche e la risoluzione massima dei contenuti. SL150 è un'implementazione completamente software, SL2000 richiede supporto hardware parziale, SL3000 è crittografia hardware completa con TPM.

I dispositivi con SL3000 possono riprodurre contenuti 4K HDR e le chiavi di decrittografia non lasciano mai l'area protetta del TPM. SL2000 è limitato a 1080p, SL150 è limitato a 720p ed è adatto solo per browser desktop senza protezione hardware.

Licenze e politiche di PlayReady

Il sistema di licenze PlayReady è uno dei più flessibili tra le soluzioni DRM. Supporta vari modelli di distribuzione: noleggio con scadenza temporale, acquisto con accesso perpetuo, abbonamento con aggiornamento periodico delle chiavi e anteprima con durata limitata.

Ogni licenza contiene una serie di politiche che il server di licenze applica alla chiave del contenuto. Le politiche possono includere: risoluzione video massima, tipo di output protetto (HDCP obbligatorio per 4K), numero di attivazioni, restrizioni temporali (assolute e relative).

Tipi di politiche di PlayReady

  • Time-based — restrizione temporale: data di scadenza assoluta o periodo relativo dalla prima riproduzione.
  • Output protection — restrizione del tipo di output video: HDCP obbligatorio per output digitali, output analogico vietato.
  • Resolution constraint — risoluzione massima: 720p, 1080p, 4K in base al livello di sicurezza del dispositivo.
  • Device count — numero massimo di dispositivi su cui una licenza può essere attivata.

Esempio di elaborazione licenza

csharp
public async Task AcquireLicenseAsync(MediaProtectionManager manager)
{
    var serviceRequest = new PlayReadyLicenseAcquisitionServiceRequest
    {
        ContentHeader = new PlayReadyContentHeader(
            contentKeyId,
            contentUrl,
            licenseServerUrl,
            null
        ),
        DomainServiceId = domainId
    };

    var result = await serviceRequest.BeginServiceRequest();
    if (result == PlayReadyLicenseAcquisitionResult.Success)
    {
        HandleLicenseAcquired(serviceRequest.GetLicenses());
    }
}

Integrazione di PlayReady su diverse piattaforme

PlayReady è supportato su un'ampia gamma di piattaforme, tra cui Windows (UWP, Win32), Xbox, Android (tramite PlayReady Porting Kit), iOS (limitato) e Smart TV (Samsung Tizen, LG webOS). Ogni piattaforma ha la propria implementazione di runtime e API.

Su Windows, l'integrazione viene effettuata tramite MediaProtectionManager e l'API PlayReady nel namespace Windows.Media.Protection.PlayReady. Su Android viene utilizzato PlayReady Porting Kit, che viene incorporato nell'applicazione tramite NDK e fornisce wrapper Java per lavorare con DRM.

Integrazione su Windows (UWP)

Nell'ambiente UWP, l'applicazione crea un'istanza di MediaProtectionManager, registra PlayReady come sistema di protezione e configura i gestori di eventi di licenza. Il lettore MediaPlayerElement gestisce automaticamente i flussi protetti se MediaProtectionManager è configurato correttamente.

Il server di licenze PlayReady può essere distribuito sia sull'infrastruttura Azure che su server propri. Microsoft fornisce soluzioni pronte di PlayReady License Server come parte di Azure Media Services, semplificando l'integrazione per i progetti cloud.

Integrazione su Android

Su Android, PlayReady viene integrato tramite la libreria NDK libplayready.so, che fornisce un'API C++ avvolta in classi Java. ExoPlayer supporta PlayReady proprio come Widevine tramite l'API standard MediaDrm con UUID PlayReady.

L'UUID PlayReady per MediaDrm è — 9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e. Quando si inizializza ExoPlayer con PlayReady, la configurazione è simile a Widevine: vengono specificati l'URL del server di licenze, le intestazioni di autenticazione e il tipo di DRM.

Affinché PlayReady funzioni correttamente su Android, è necessario che il runtime PlayReady sia installato, che di solito è preinstallato sui dispositivi Samsung, LG e altri marchi che utilizzano PlayReady Porting Kit. Su dispositivi senza runtime preinstallato, l'applicazione deve includere la libreria libplayready.so nell'APK.

Integrazione su Smart TV

PlayReady è il DRM dominante sulle piattaforme Smart TV, tra cui Samsung Tizen e LG webOS. Su queste piattaforme, il runtime integrato PlayReady fornisce protezione hardware a livello di chipset del televisore, consentendo la riproduzione di contenuti 4K HDR senza configurazione aggiuntiva.

L'integrazione su Smart TV viene effettuata tramite PlayReady Device Porting Kit per un SoC specifico (MediaTek, Realtek, Amlogic). I produttori di TV preinstallano il runtime PlayReady in fase di firmware e le applicazioni lo eseguono tramite l'API standard EME in un lettore web o applicazione nativa.

Per i fornitori di contenuti, è importante notare che non tutte le Smart TV supportano il livello più alto SL3000 — i modelli più vecchi possono essere limitati a SL2000 e qualità 1080p. La compatibilità HDCP è inoltre obbligatoria per l'output di contenuti 4K tramite HDMI.

Sicurezza e telemetria in PlayReady 4.0

PlayReady 4.0 ha introdotto la telemetria avanzata che consente ai fornitori di contenuti di ottenere informazioni dettagliate sull'utilizzo dei contenuti: tempo di visualizzazione, tentativi di accesso non autorizzato, tipo di dispositivo, versione del runtime. I dati di telemetria vengono raccolti tramite un canale sicuro e firmati digitalmente per prevenire manomissioni.

Il meccanismo di revoca in PlayReady 4.0 consente ai fornitori di contenuti di bloccare dispositivi compromessi o versioni di runtime in tempo reale. La lista di revoca viene distribuita tramite il server di licenze e aggiornata automaticamente a ogni richiesta di licenza, garantendo una risposta rapida alle vulnerabilità.

Domande frequenti

Cos'è PlayReady DRM?

PlayReady è una soluzione DRM Microsoft per proteggere i contenuti digitali. La tecnologia supporta la crittografia hardware e software, politiche di licenza flessibili e funziona su Windows, Xbox, Android e Smart TV.

Quali versioni di PlayReady esistono?

Le versioni principali di PlayReady: 3.0 (2014) con crittografia hardware e supporto 4K, 4.0 (2020) con telemetria ed efficienza energetica. Le versioni più recenti sono retrocompatibili con i contenuti impacchettati per le versioni precedenti.

Qual è la differenza tra SL150, SL2000 e SL3000?

SL150 — crittografia software (720p), SL2000 — parzialmente hardware (1080p), SL3000 — crittografia hardware completa tramite TPM (4K HDR). Il livello di sicurezza determina la qualità massima e il metodo di archiviazione delle chiavi.

Si può usare PlayReady su iOS?

Sì, PlayReady è supportato su iOS, ma limitatamente — tramite PlayReady Porting Kit per iOS. Tuttavia, sui dispositivi Apple, FairPlay rimane il DRM preferito poiché è completamente integrato nell'architettura hardware Secure Enclave.

Qual è la differenza tra PlayReady e Widevine?

PlayReady di Microsoft supporta Windows e Xbox, utilizza TPM per la crittografia hardware e fornisce telemetria avanzata. Widevine di Google è orientato ad Android e Chrome, utilizza TEE e non richiede una licenza a pagamento per gli sviluppatori.

Riepilogo

  • PlayReady — DRM di Microsoft con supporto per Windows, Xbox, Android, iOS e Smart TV tramite Porting Kit.
  • Tre livelli di sicurezza SL150, SL2000, SL3000 determinano la qualità massima e il tipo di crittografia.
  • Versione 4.0 ha aggiunto telemetria, analisi avanzate e supporto HDR per i fornitori di contenuti.
  • Politiche di licenza includono restrizioni temporali, protezione dell'output, limiti di qualità e numero di dispositivi.
  • Integrazione su Windows tramite MediaProtectionManager UWP, su Android tramite NDK e ExoPlayer.
  • PlayReady Server SDK è disponibile in Azure Media Services e per distribuzione locale.
  • NMCR estende PlayReady per proteggere dati non multimediali: documenti, giochi e applicazioni.

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche