PlayReady: co to jest, DRM od Microsoft i wersje

Autor: IT Sectr Opublikowano: 2026-05-24 Czas czytania: 8 min

PlayReady to technologia DRM opracowana przez Microsoft do ochrony treści na Windows, Xbox i innych platformach obsługujących uniwersalne środowisko wykonawcze UWP. System wykorzystuje trójpoziomowy model bezpieczeństwa SL (Security Level) od SL150 do SL3000, gdzie najwyższy poziom wymaga sprzętowego szyfrowania przez TPM. Według dokumentacji Microsoft Docs (2025), PlayReady 4.0 obsługuje szyfrowanie 4K HDR i rozszerzoną analitykę wykorzystania treści.

Najważniejsze

  • PlayReady — rozwiązanie DRM Microsoft z trójpoziomowym modelem bezpieczeństwa SL150, SL2000, SL3000.
  • Wersja 4.0 obsługuje 4K HDR, sprzętowe szyfrowanie przez TPM i rozszerzoną telemetrię.
  • Licencjonowanie PlayReady działa poprzez polityki: czas, jakość, liczba urządzeń, wyjście ekranu.
  • Wieloplatformowość pozwala używać PlayReady na Windows, Xbox, Android, iOS i Smart TV.
  • PlayReady NMCR (Non-Media Content Receiver) chroni dane nie-medialne, w tym dokumenty i gry.

Co to jest PlayReady?

PlayReady to technologia zarządzania prawami cyfrowymi (DRM) opracowana przez Microsoft w 2007 roku do ochrony treści multimedialnych i innych zasobów cyfrowych. Zastąpiła technologię WMDRM (Windows Media DRM) i stała się standardem ochrony dla Windows Media Center, Xbox Video i Microsoft Silverlight.

Główną zaletą PlayReady jest jednolity system licencjonowania dla różnych typów treści: wideo, audio, e-booki, gry i dokumenty. Technologia obsługuje modele dystrybucji subskrypcyjnej (Subscription), wypożyczenia (Rental) i sprzedaży (Purchase), co czyni ją atrakcyjną dla serwisów medialnych i platform edukacyjnych.

Architektura PlayReady

Architektura PlayReady składa się z trzech kluczowych komponentów: środowiska wykonawczego klienta PlayReady Device Porting Kit, serwera licencji PlayReady License Server i narzędzia do pakowania treści. Środowisko wykonawcze PlayReady jest osadzone w aplikacji lub odtwarzaczu i odpowiada za deszyfrowanie treści na urządzeniu.

Serwer licencji generuje klucze licencyjne na podstawie polityk określonych przez dostawcę treści. Pakowacz treści szyfruje pliki multimedialne przy użyciu standardu Common Encryption (CENC) i osadza metadane do powiązania z konkretną licencją.

Jak działa PlayReady DRM?

Proces ochrony PlayReady rozpoczyna się od etapu pakowania, gdy treść multimedialna jest szyfrowana kluczem symetrycznym, który następnie jest chroniony kluczem publicznym serwera licencji. Zapakowana treść jest umieszczana na CDN i dostępna do pobrania lub streamingu.

Gdy użytkownik żąda chronionej treści, odtwarzacz inicjuje żądanie licencji do serwera licencji. Serwer weryfikuje dane uwierzytelniające użytkownika, jego prawa dostępu (subskrypcja, wypożyczenie, zakup) i wydaje licencję zawierającą klucz deszyfrowania.

Protokół wymiany licencji

PlayReady wykorzystuje protokół wymiany oparty na SOAP lub JSON, gdzie żądanie licencji zawiera identyfikator treści (Content ID), identyfikator urządzenia i podpis aplikacji. Serwer zwraca licencję w formacie XML, zaszyfrowaną kluczem publicznym urządzenia.

Licencja zawiera klucz treści (CEK) owinięty w klucz urządzenia (Device Key) oraz zestaw polityk. Polityki mogą ograniczać czas odtwarzania, jakość wideo, liczbę urządzeń i typ wyjścia (HDMI, kompozytowe).

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

Wersje PlayReady: 3.0 i 4.0

PlayReady 3.0, wydany w 2014 roku, wprowadził obsługę sprzętowego szyfrowania przez TPM 2.0 i poziom bezpieczeństwa SL3000 dla treści 4K. Ta wersja dodała możliwość przypięcia licencji do konkretnego urządzenia poprzez mechanizm Device Binding, co zapobiegło przenoszeniu licencji między urządzeniami.

PlayReady 4.0, ogłoszony w 2020 roku, rozszerzył funkcjonalność o trzy kluczowe innowacje: obsługę rozszerzonej telemetrii wykorzystania treści, ulepszoną analitykę dla dostawców treści i optymalizację zużycia energii na urządzeniach mobilnych.

Porównanie wersji PlayReady

WersjaRokKluczowe możliwościMaksymalny SL
PlayReady 2.02011Szyfrowanie programowe, do 1080pSL2000
PlayReady 3.02014Szyfrowanie sprzętowe, 4K, Device BindingSL3000
PlayReady 4.02020Telemetria, efektywność energetyczna, HDRSL3000

Poziomy bezpieczeństwa PlayReady

Poziomy bezpieczeństwa PlayReady określają sposób wykonywania operacji kryptograficznych i maksymalną rozdzielczość treści. SL150 to w pełni programowa implementacja, SL2000 wymaga częściowego wsparcia sprzętowego, SL3000 to pełne szyfrowanie sprzętowe z TPM.

Urządzenia z SL3000 mogą odtwarzać treści w 4K HDR, a klucze deszyfrowania nigdy nie opuszczają chronionego obszaru TPM. SL2000 jest ograniczony do 1080p, SL150 do 720p i nadaje się tylko do przeglądarek desktopowych bez ochrony sprzętowej.

Licencjonowanie i polityki PlayReady

System licencjonowania PlayReady jest jednym z najbardziej elastycznych wśród rozwiązań DRM. Obsługuje różne modele dystrybucji: wypożyczenie z wygaśnięciem czasowym, sprzedaż z dostępem bezterminowym, subskrypcję z regularną aktualizacją kluczy oraz podgląd z ograniczonym czasem trwania.

Każda licencja zawiera zestaw polityk, które serwer licencji stosuje do klucza treści. Polityki mogą obejmować: maksymalną rozdzielczość wideo, typ chronionego wyjścia (HDCP wymagany dla 4K), liczbę aktywacji oraz ograniczenia czasowe (bezwzględne i względne).

Typy polityk PlayReady

  • Time-based — ograniczenie czasowe: bezwzględna data wygaśnięcia lub względny okres od pierwszego odtworzenia.
  • Output protection — ograniczenie typu wyjścia wideo: obowiązkowe HDCP dla wyjść cyfrowych, zakaz wyjścia analogowego.
  • Resolution constraint — maksymalna rozdzielczość: 720p, 1080p, 4K w zależności od poziomu bezpieczeństwa urządzenia.
  • Device count — maksymalna liczba urządzeń, na których może być aktywowana jedna licencja.

Przykład przetwarzania licencji

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

Integracja PlayReady na różnych platformach

PlayReady jest obsługiwany na szerokiej gamie platform, w tym Windows (UWP, Win32), Xbox, Android (przez PlayReady Porting Kit), iOS (ograniczone) i Smart TV (Samsung Tizen, LG webOS). Dla każdej platformy istnieje własna implementacja środowiska wykonawczego i API.

W systemie Windows integracja odbywa się przez MediaProtectionManager i PlayReady API w przestrzeni nazw Windows.Media.Protection.PlayReady. Na Androidzie używany jest PlayReady Porting Kit, który jest osadzany w aplikacji przez NDK i udostępnia opakowania Java do pracy z DRM.

Integracja na Windows (UWP)

W środowisku UWP aplikacja tworzy instancję MediaProtectionManager, rejestruje PlayReady jako system ochrony i konfiguruje procedury obsługi zdarzeń licencjonowania. Odtwarzacz MediaPlayerElement automatycznie przetwarza chronione strumienie, jeśli MediaProtectionManager jest poprawnie skonfigurowany.

Serwer licencji PlayReady może być wdrożony zarówno w infrastrukturze Azure, jak i na własnych serwerach. Microsoft udostępnia gotowe rozwiązania PlayReady License Server w ramach Azure Media Services, co upraszcza integrację dla projektów chmurowych.

Integracja na Android

Na Androidzie PlayReady jest integrowany przez bibliotekę NDK libplayready.so, która udostępnia API w C++, opakowane w klasy Java. ExoPlayer obsługuje PlayReady podobnie jak Widevine, poprzez standardowy MediaDrm API z UUID PlayReady.

UUID PlayReady dla MediaDrm — 9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e. Przy inicjalizacji ExoPlayer z PlayReady konfiguracja jest analogiczna do Widevine: podawany jest URL serwera licencji, nagłówki uwierzytelniania i typ DRM.

Do poprawnego działania PlayReady na Androidzie wymagane jest zainstalowane środowisko wykonawcze PlayReady, które zwykle jest preinstalowane na urządzeniach Samsung, LG i innych marek używających PlayReady Porting Kit. Na urządzeniach bez preinstalowanego środowiska aplikacja musi dołączyć bibliotekę libplayready.so w APK.

Integracja na Smart TV

PlayReady jest dominującym DRM na platformach Smart TV, w tym Samsung Tizen i LG webOS. Na tych platformach wbudowane środowisko wykonawcze PlayReady zapewnia ochronę sprzętową na poziomie chipsetu telewizora, co pozwala odtwarzać treści w 4K HDR bez dodatkowych ustawień.

Integracja na Smart TV odbywa się przez PlayReady Device Porting Kit dla konkretnej SoC (MediaTek, Realtek, Amlogic). Producenci telewizorów preinstalują środowisko wykonawcze PlayReady na etapie oprogramowania układowego, a aplikacje uruchamiają je przez standardowy EME API w odtwarzaczu internetowym lub natywnej aplikacji.

Dla dostawców treści ważne jest, aby uwzględnić, że nie wszystkie Smart TV obsługują najwyższy poziom SL3000 — starsze modele mogą być ograniczone do SL2000 i jakości 1080p. Zgodność z HDCP jest również obowiązkowa do wyjścia treści w 4K przez HDMI.

Bezpieczeństwo i telemetria w PlayReady 4.0

PlayReady 4.0 wprowadził rozszerzoną telemetrię, która pozwala dostawcom treści uzyskać szczegółowe informacje o wykorzystaniu treści: czas oglądania, próby nieautoryzowanego dostępu, typ urządzenia, wersję środowiska wykonawczego. Dane telemetryczne są zbierane przez chroniony kanał i podpisywane podpisem cyfrowym w celu zapobieżenia fałszerstwom.

Mechanizm unieważniania (revocation) w PlayReady 4.0 pozwala dostawcom treści blokować skompromitowane urządzenia lub wersje środowiska wykonawczego w czasie rzeczywistym. Lista unieważnień jest rozpowszechniana przez serwer licencji i aktualizowana automatycznie przy każdym żądaniu licencji, co zapewnia szybką reakcję na podatności.

Często zadawane pytania

Co to jest PlayReady DRM?

PlayReady to rozwiązanie DRM Microsoft do ochrony treści cyfrowych. Technologia obsługuje sprzętowe i programowe szyfrowanie, elastyczne polityki licencjonowania i działa na Windows, Xbox, Android i Smart TV.

Jakie wersje PlayReady istnieją?

Główne wersje PlayReady: 3.0 (2014) ze sprzętowym szyfrowaniem i obsługą 4K, 4.0 (2020) z telemetrią i efektywnością energetyczną. Nowsze wersje są wstecznie zgodne z treścią zapakowaną dla poprzednich wersji.

Jaka jest różnica między SL150, SL2000 i SL3000?

SL150 — szyfrowanie programowe (720p), SL2000 — częściowo sprzętowe (1080p), SL3000 — pełne szyfrowanie sprzętowe przez TPM (4K HDR). Poziom bezpieczeństwa określa maksymalną jakość i sposób przechowywania kluczy.

Czy można używać PlayReady na iOS?

Tak, PlayReady jest obsługiwany na iOS, ale ograniczenie — przez PlayReady Porting Kit dla iOS. Jednak na urządzeniach Apple preferowanym DRM pozostaje FairPlay, ponieważ jest w pełni zintegrowany z architekturą sprzętową Secure Enclave.

Czym PlayReady różni się od Widevine?

PlayReady od Microsoft obsługuje Windows i Xbox, używa TPM do sprzętowego szyfrowania i zapewnia rozszerzoną telemetrię. Widevine od Google jest przeznaczony na Android i Chrome, używa TEE i nie wymaga płatnej licencji dla programistów.

Podsumowanie

  • PlayReady — DRM od Microsoft z obsługą Windows, Xbox, Android, iOS i Smart TV przez Porting Kit.
  • Trzy poziomy bezpieczeństwa SL150, SL2000, SL3000 określają maksymalną jakość i typ szyfrowania.
  • Wersja 4.0 dodała telemetrię, rozszerzoną analitykę i obsługę HDR dla dostawców treści.
  • Polityki licencjonowania obejmują ograniczenia czasowe, ochronę wyjścia, ograniczenie jakości i liczby urządzeń.
  • Integracja na Windows odbywa się przez MediaProtectionManager UWP, na Androidzie przez NDK i ExoPlayer.
  • PlayReady Server SDK jest dostępny w Azure Media Services i do lokalnego wdrożenia.
  • NMCR rozszerza zastosowanie PlayReady do ochrony danych nie-medialnych: dokumentów, gier i aplikacji.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również