PlayReady: vad är det, DRM från Microsoft och versioner

Författare: IT Sectr Publicerad: 2026-05-24 Lästid: 8 min

PlayReady är en DRM-teknik utvecklad av Microsoft för att skydda innehåll på Windows, Xbox och andra plattformar som stöder den universella körningsmiljön UWP. Systemet använder en tre-nivåers säkerhetsmodell SL (Security Level) från SL150 till SL3000, där den högsta nivån kräver hårdvarukryptering via TPM. Enligt Microsoft Docs (2025) stöder PlayReady 4.0 4K HDR-kryptering och utökad analys av innehållsanvändning.

Huvudpunkter

  • PlayReady — Microsofts DRM-lösning med en tre-nivåers säkerhetsmodell SL150, SL2000, SL3000.
  • Version 4.0 stöder 4K HDR, hårdvarukryptering via TPM och utökad telemetri.
  • Licensiering PlayReady fungerar genom policyer: tid, kvalitet, antal enheter, skärmutmatning.
  • Plattformsoberoende gör det möjligt att använda PlayReady på Windows, Xbox, Android, iOS och Smart TV.
  • PlayReady NMCR (Non-Media Content Receiver) skyddar icke-media data, inklusive dokument och spel.

Vad är PlayReady?

PlayReady är en teknik för hantering av digitala rättigheter (DRM) utvecklad av Microsoft 2007 för att skydda mediainnehåll och andra digitala tillgångar. Den ersatte tekniken WMDRM (Windows Media DRM) och blev skyddsstandarden för Windows Media Center, Xbox Video och Microsoft Silverlight.

Den största fördelen med PlayReady — ett enhetligt licenssystem för olika typer av innehåll: video, ljud, e-böcker, spel och dokument. Tekniken stöder distributionsmodeller för prenumeration (Subscription), uthyrning (Rental) och köp (Purchase), vilket gör den attraktiv för medietjänster och utbildningsplattformar.

PlayReady-arkitektur

PlayReady-arkitekturen består av tre nyckelkomponenter: klientkörningsmiljön PlayReady Device Porting Kit, licensservern PlayReady License Server och innehållspaketeringsverktyget. PlayReady-körningsmiljön är inbäddad i applikationen eller spelaren och ansvarar för att dekryptera innehåll på enheten.

Licensservern genererar licensnycklar baserat på policyer som fastställts av innehållsleverantören. Innehållspaketeraren krypterar mediafiler med hjälp av standarden Common Encryption (CENC) och bäddar in metadata för att koppla till en specifik licens.

Hur fungerar PlayReady DRM?

Skyddsprocessen för PlayReady börjar med paketeringssteget, när mediainnehåll krypteras med en symmetrisk nyckel, som sedan skyddas med licensserverns publika nyckel. Det paketerade innehållet placeras på en CDN och är tillgängligt för nedladdning eller streaming.

När en användare begär skyddat innehåll initierar spelaren en licensförfrågan till licensservern. Servern verifierar användarens autentiseringsuppgifter, hans åtkomsträttigheter (prenumeration, uthyrning, köp) och utfärdar en licens som innehåller dekrypteringsnyckeln.

Licensutbytesprotokoll

PlayReady använder ett utbytesprotokoll baserat på SOAP eller JSON, där licensförfrågan innehåller innehållsidentifierare (Content ID), enhetsidentifierare och applikationssignatur. Servern returnerar licensen i XML-format, krypterad med enhetens publika nyckel.

Licensen innehåller innehållsnyckeln (CEK) inslagen i enhetsnyckeln (Device Key) och en uppsättning policyer. Policyerna kan begränsa uppspelningstid, videokvalitet, antal enheter och utmatningstyp (HDMI, komposit).

Initiera PlayReady-session

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);

PlayReady-versioner: 3.0 och 4.0

PlayReady 3.0, som släpptes 2014, introducerade stöd för hårdvarukryptering via TPM 2.0 och säkerhetsnivån SL3000 för 4K-innehåll. Denna version lade till möjligheten att binda licensen till en specifik enhet via Device Binding-mekanismen, vilket förhindrade överföring av licenser mellan enheter.

PlayReady 4.0, som tillkännagavs 2020, utökade funktionaliteten med tre viktiga innovationer: stöd för utökad telemetri av innehållsanvändning, förbättrad analys för innehållsleverantörer och optimering av energiförbrukning på mobila enheter.

Jämförelse av PlayReady-versioner

VersionÅrNyckelfunktionerMaximal SL
PlayReady 2.02011Mjukvarukryptering, upp till 1080pSL2000
PlayReady 3.02014Hårdvarukryptering, 4K, Device BindingSL3000
PlayReady 4.02020Telemetri, energieffektivitet, HDRSL3000

Säkerhetsnivåer för PlayReady

Säkerhetsnivåerna för PlayReady bestämmer hur kryptografiska operationer utförs och den maximala upplösningen av innehåll. SL150 är en helt mjukvarubaserad implementering, SL2000 kräver delvis hårdvarustöd, SL3000 är fullständig hårdvarukryptering med TPM.

Enheter med SL3000 kan spela upp innehåll i 4K HDR, och dekrypteringsnycklarna lämnar aldrig TPM:s skyddade område. SL2000 är begränsad till 1080p, SL150 är begränsad till 720p och passar endast för stationära webbläsare utan hårdvaruskydd.

PlayReady-licensiering och policyer

Licenssystemet för PlayReady är ett av de mest flexibla bland DRM-lösningar. Det stöder olika distributionsmodeller: uthyrning med tidsbegränsning, försäljning med obegränsad åtkomst, prenumeration med regelbunden nyckelförnyelse och förhandsgranskning med begränsad varaktighet.

Varje licens innehåller en uppsättning policyer som licensservern tillämpar på innehållsnyckeln. Policyerna kan inkludera: maximal videoupplösning, typ av skyddad utmatning (HDCP obligatoriskt för 4K), antal aktiveringar, tidsbegränsningar (absoluta och relativa).

Typer av PlayReady-policyer

  • Time-based — tidsbegränsning: absolut utgångsdatum eller relativ period från första uppspelningen.
  • Output protection — begränsning av videoutmatningstyp: obligatorisk HDCP för digitala utgångar, förbud mot analog utgång.
  • Resolution constraint — maximal upplösning: 720p, 1080p, 4K beroende på enhetens säkerhetsnivå.
  • Device count — maximalt antal enheter som en licens kan aktiveras på.

Exempel på licensbearbetning

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());
    }
}

PlayReady-integration på olika plattformar

PlayReady stöds på ett brett spektrum av plattformar, inklusive Windows (UWP, Win32), Xbox, Android (via PlayReady Porting Kit), iOS (begränsat) och Smart TV (Samsung Tizen, LG webOS). För varje plattform finns en egen implementering av körningsmiljön och API.

På Windows sker integrationen via MediaProtectionManager och PlayReady API i namnrymden Windows.Media.Protection.PlayReady. På Android används PlayReady Porting Kit, som är inbäddat i applikationen via NDK och tillhandahåller Java-wrapper för att arbeta med DRM.

Integration på Windows (UWP)

I UWP-miljön skapar applikationen en instans av MediaProtectionManager, registrerar PlayReady som skyddssystem och konfigurerar händelsehanterare för licensiering. MediaPlayerElement-spelaren bearbetar automatiskt skyddade strömmar om MediaProtectionManager är korrekt konfigurerad.

Licensservern för PlayReady kan distribueras både på Azure-infrastruktur och på egna servrar. Microsoft tillhandahåller färdiga PlayReady License Server-lösningar inom Azure Media Services, vilket förenklar integrationen för molnprojekt.

Integration på Android

På Android integreras PlayReady via NDK-biblioteket libplayready.so, som tillhandahåller API i C++, inslaget i Java-klasser. ExoPlayer stöder PlayReady på samma sätt som Widevine, via standard MediaDrm API med PlayReadys UUID.

PlayReadys UUID för MediaDrm — 9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e. Vid initiering av ExoPlayer med PlayReady är konfigurationen analog med Widevine: licensserverns URL, autentiseringsrubriker och DRM-typ anges.

För att PlayReady ska fungera korrekt på Android krävs en installerad PlayReady-körningsmiljö, som vanligtvis är förinstallerad på enheter från Samsung, LG och andra märken som använder PlayReady Porting Kit. På enheter utan förinstallerad körningsmiljö måste applikationen inkludera libplayready.so-biblioteket i APK-filen.

Integration på Smart TV

PlayReady är den dominerande DRM:n på Smart TV-plattformar, inklusive Samsung Tizen och LG webOS. På dessa plattformar tillhandahåller den inbyggda körningsmiljön PlayReady hårdvaruskydd på TV:ns chipsetnivå, vilket möjliggör uppspelning av innehåll i 4K HDR utan ytterligare inställningar.

Integration på Smart TV sker via PlayReady Device Porting Kit för specifik SoC (MediaTek, Realtek, Amlogic). TV-tillverkare förinstallerar PlayReady-körningsmiljön i firmware-fasen, och applikationer startar den via standard EME API i webbläsarspelaren eller inbyggda applikationen.

För innehållsleverantörer är det viktigt att beakta att inte alla Smart TV stöder den högsta SL3000-nivån — äldre modeller kan vara begränsade till SL2000 och 1080p-kvalitet. HDCP-kompatibilitet är också obligatorisk för utmatning av innehåll i 4K via HDMI.

Säkerhet och telemetri i PlayReady 4.0

PlayReady 4.0 introducerade utökad telemetri som gör det möjligt för innehållsleverantörer att få detaljerad information om innehållsanvändning: tittartid, försök till obehörig åtkomst, enhetstyp, körningsmiljöversion. Telemetridata samlas in via en säker kanal och signeras digitalt för att förhindra förfalskning.

Återkallningsmekanismen (revocation) i PlayReady 4.0 gör det möjligt för innehållsleverantörer att blockera komprometterade enheter eller körningsmiljöversioner i realtid. Återkallningslistan distribueras via licensservern och uppdateras automatiskt vid varje licensförfrågan, vilket säkerställer snabb reaktion på sårbarheter.

Vanliga frågor

Vad är PlayReady DRM?

PlayReady — Microsofts DRM-lösning för att skydda digitalt innehåll. Tekniken stöder hårdvaru- och mjukvarukryptering, flexibla licenspolicyer och fungerar på Windows, Xbox, Android och Smart TV.

Vilka versioner av PlayReady finns?

De viktigaste PlayReady-versionerna: 3.0 (2014) med hårdvarukryptering och 4K-stöd, 4.0 (2020) med telemetri och energieffektivitet. Nyare versioner är bakåtkompatibla med innehåll paketerat för tidigare versioner.

Vad är skillnaden mellan SL150, SL2000 och SL3000?

SL150 — mjukvarukryptering (720p), SL2000 — delvis hårdvara (1080p), SL3000 — fullständig hårdvarukryptering via TPM (4K HDR). Säkerhetsnivån bestämmer maximal kvalitet och hur nycklar lagras.

Kan PlayReady användas på iOS?

Ja, PlayReady stöds på iOS, men begränsat — via PlayReady Porting Kit för iOS. På Apple-enheter är dock den föredragna DRM:n fortfarande FairPlay, eftersom den är fullt integrerad i Secure Enclaves hårdvaruarkitektur.

Hur skiljer sig PlayReady från Widevine?

PlayReady från Microsoft stöder Windows och Xbox, använder TPM för hårdvarukryptering och tillhandahåller utökad telemetri. Widevine från Google är inriktad på Android och Chrome, använder TEE och kräver ingen betald licens för utvecklare.

Sammanfattning

  • PlayReady — DRM från Microsoft med stöd för Windows, Xbox, Android, iOS och Smart TV via Porting Kit.
  • Tre nivåer av säkerhet SL150, SL2000, SL3000 bestämmer maximal kvalitet och typ av kryptering.
  • Version 4.0 lade till telemetri, avancerad analys och HDR-stöd för innehållsleverantörer.
  • Licenspolicyer inkluderar tidsbegränsningar, utmatningsskydd, kvalitets- och enhetsbegränsningar.
  • Integration på Windows via MediaProtectionManager UWP, på Android via NDK och ExoPlayer.
  • PlayReady Server SDK finns tillgängligt i Azure Media Services och för lokal distribution.
  • NMCR utökar tillämpningen av PlayReady för att skydda icke-media data: dokument, spel och applikationer.

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också