Trin-for-trin implementering af DRM og sikker afspilning i Windows 11

  • Windows 11 kombinerer PlayReady HWDRM, TEE og outputbeskyttelse for sikker afspilning af HD- og UHD-indhold.
  • Licenser, OPL og HDCP-begrænsninger bestemmer, hvilke video- og lydudgange brugerne kan bruge.
  • Chrome, Edge og andre browsere integrerer Widevine og PlayReady, mens mobiler bruger Widevine og FairPlay.
  • Systemopdateringer og N-udgaver af Windows kan afbryde afspilningen, hvis vigtige multimediekomponenter mangler.

DRM og SafePlay i Windows 11

Beskyttelse af digitalt indhold i Windows 11 Det er baseret på et sæt DRM- og hardwaresikkerhedsteknologier, der har udviklet sig fra Windows 8.1 og Windows 10 til den nuværende version af systemet. Hvis du arbejder med premium video-, streaming-, Blu-ray- eller OTT-platforme, er det vigtigt at forstå, hvordan PlayReady, Trusted Execution Environment (TEE) og de forskellige outputbeskyttelseslag fungerer, for at undgå afspilningsfejl og få mest muligt ud af HD- og UHD-kvalitet.

I de følgende linjer vil vi se Sådan implementerer du DRM og Safe Play trin for trin i Windows 11Denne guide dækker, hvilke ændringer PlayReady-integrationen medfører, hvordan Chrome, Edge og andre browsere interagerer, hvilke begrænsninger der findes i specialudgaver som Windows N, og hvilke kendte problemer der er blevet opdaget med visse systemopdateringer. Målet er, at du ender med et komplet og praktisk overblik, fri for unødvendig teknisk jargon, men uden at udelade vigtige detaljer fra de officielle specifikationer.

Hvad er DRM, og hvorfor er det så vigtigt i Windows 11?

Digital Rights Management (DRM) Det er den mekanisme, der forhindrer en video i at afspilles, hvis klienten (enhed, browser eller app) ikke har den relevante nøgle eller licens. Typisk krypteres indholdet og dekrypteres kun, når afspilleren gennem en licens beviser, at den er autoriseret til at gøre det. I det moderne videoøkosystem kombineres dette med adaptiv streaming (DASH, HLS), almindelig kryptering (CENC) og forskellige DRM-systemer såsom PlayReady. Widevine eller FairPlay.

I Windows 11, Referencestandarden er Microsoft PlayReadyVi kan finde den på to måder:

  • ren software-DRM (SWDRM).
  • Hardwareforankret DRM (HWDRM), som udnytter en sikker videosti og nøgler beskyttet af selve GPU'en eller chipsættet.

Når det kommer til at afspille 1080p- eller UHD-indhold af høj værdi (film, serier, premiumsport), kræver stort set alle udbydere hardwarebaseret sikkerheds-DRM-understøttelse.

Ud over PlayReady sameksisterer det nuværende videoøkosystem i Windows 11 med Widevine (ejet af Google) og FairPlay (ejet af Apple)Dette er især vigtigt for at sikre kompatibilitet på tværs af browsere og mobile enheder. For 4K-indhold på Windows-pc'er er PlayReady dog ​​fortsat kernekomponenten, både i UWP-apps og i browsere, der understøtter det native eller integreret i platformen.

Implementering af PlayReady DRM i Windows

Hardwarebaseret PlayReady: nøgler, indhold og sikkerhed

Den store forskel i moderne versioner af systemet er Masseadoption af PlayReady HWDRMDenne model involverer den kryptografiske kerne og videostien, der kører i et sikkert område af hardwaren. Dette gør det muligt at lagre og behandle private nøgler, indholdsnøgler og alt tilhørende kryptografisk materiale uden at blive eksponeret for applikationens hukommelse eller operativsystemet i almindelig tekst.

Takket være denne arkitektur, Windows 11 kan afspille HD (1080p) og UHD-indhold på en bred vifte af enheder, så længe hardwarekæden (CPU, GPU, drivere, skærm/output) overholder PlayReady-overholdelsesregler. Disse er:

  • Brug af HDCP hvor det er nødvendigt.
  • Blokering af usikre analoge udgange.
  • Begrænsninger ved resolution.

Videoen, både komprimeret og ukomprimeret, bevæger sig langs en beskyttet sti til den kompatible skærm.

Det er vigtigt at forstå det PlayReady i Windows 11 er ikke længere en AppX-komponent separat fra hvad der var tilfældet i Windows 8.x, men snarere en indbygget komponent i selve operativsystemet. Navneområdet ændrede sig fra Microsoft.Media.PlayReadyClient a Windows.Media.Protection.PlayReady, og fejlkoderne er defineret i specifikke headere i Windows SDK'et (f.eks. Windows.Media.Protection.PlayReadyErrors.h y PlayReadyResults.h).

Vigtige nye funktioner i PlayReady til Windows 10/11 inkluderer Proaktiv licensanskaffelse, ikke-persistente licenskæder, realtidsudløb (LDL), adskillelse af lyd- og videolicenser og HEVC/H.265-understøttelse Når du bruger CENC v2. Alt dette er designet til at reducere tiden til første frame og muliggøre problemfri streamingoplevelser, selv når indholdet er stærkt beskyttet.

Sådan fungerer det betroede udførelsesmiljø (Windows TEE)

For at aktivere HWDRM er Windows 11 afhængig af en Trusted Execution Environment (TEE), kendt i dokumentationen som Windows TrEE. Selvom de interne detaljer ikke er udtømmende offentliggjort, gives der en overordnet forklaring for at forstå opkaldsflowet.

Windows implementerer en OEM proxy-lag Den modtager serialiserede PRITEE (PlayReady TEE) kald og omdirigerer dem til en brugertilstandsdriver i Windows Media Foundation-undersystemet. Derfra kan udførelsen dirigeres til systemets egen TrEE-driver eller til en OEM-grafikdriver, afhængigt af hvordan hardwaren er implementeret.

Fra UWP-udviklerens synspunkt, Det er ikke nødvendigt at implementere TEE fra bunden.Det er dog vigtigt at forstå, at alle udgående beskyttelser, herunder HDCP og opløsningsbegrænsninger, administreres "inden for" det sikre miljø, når HWDRM bruges. Hvis en virksomhed ønsker at implementere en dedikeret TEE-port til Windows PlayReady, tilbyder Microsoft direkte kontakt via de kanaler, der er beskrevet i den officielle dokumentation.

Windows DRM

Krav og overvejelser ved brug af hardware-DRM

Når en UWP-app eller streamingtjeneste beslutter sig for at bruge HWDRM, skal den tage højde for en række strenge krav vedrørende licenser og nøglerHvis disse betingelser ikke er opfyldt, er klienten ikke forpligtet til at bruge hardwareruten. Derfor kan indholdet afspilles under SWDRM eller direkte fejle i henhold til de pålagte politikker.

For at sikre at HWDRM anvendes, Videolicensen skal angive et minimumssikkerhedsniveau på 3000Lyden skal krypteres med en separat indholdsnøgle, og den tilhørende licens kræver et minimumssikkerhedsniveau på 2000. Alternativt kan lyden forblive i almindelig tekst, hvis leverandørens politik tillader det. Alle rene SWDRM-scenarier fungerer med sikkerhedsniveauer på 2000 eller lavere.

Der begrænsninger vigtig:

  • Klassisk PMP (Protected Media Path) understøttes ikke.
  • VC-1 (Windows Media Video) codec understøttes heller ikke i HWDRM.
  • Permanente licenser har problemer i miljøer med flere GPU'er.

I sidstnævnte tilfælde bruger PlayReady et separat hash-datalager (HDS) til hvert grafikkort. Det betyder, at hvis brugeren installerer en ny GPU, kan de persistente licenser, der er knyttet til den integrerede, "forsvinde" fra applikationens perspektiv.

Dette kræver, at appen kan Genanskaffe permanente licenser, når der registreres en ændring i grafikhardwaren Eller i det mindste være forberedt på at håndtere supporthændelser, når brugeren skifter GPU'er, og indholdet stopper med at afspille. Det er ikke et almindeligt scenarie, men det kan ske.

Udgangsbeskyttelse, OPL og forskelle mellem SWDRM og HWDRM

PlayReady definerer udgangsbeskyttelsesniveauer (OPL)Disse regler specificerer, hvad der er tilladt med indhold på forskellige udgange: komprimeret digital video, ukomprimeret digital video, analoge udgange (komponent, komposit, VGA), Miracast osv. Windows 10 og 11 implementerer disse regler i overensstemmelse med PlayReady Compliance & Robustness Rules.

En fundamental forskel er, at med HWDRM alle outputbeskyttelser anvendes fra Windows TEEDette resulterer i en anden adfærd sammenlignet med SWDRM. Hvis brugeren har to skærmeDen ene skærm har HDCP, og den anden har ikke, og licensen kræver HDCP. Under HWDRM vil afspilning mislykkes, selvom indholdet kun vises på den kompatible skærm; systemet styres af "den mindst kapable skærm". Med SWDRM er afspilning dog tilladt, så længe indholdet kun gengives på den skærm, der understøtter HDCP.

Et andet vigtigt punkt er håndteringen af ​​OPL 270 til ukomprimeret digital videoHvis HDCP ikke kan aktiveres i SWDRM, kan systemet nedskalere og begrænse den effektive opløsning til cirka 520.000 pixels pr. billede, hvilket muliggør afspilning. I HWDRM understøtter den sikre sti ikke reduktion af opløsningen på denne måde. Hvis HDCP ikke kan aktiveres for den tilsvarende OPL, blokeres afspilning på HDMI/DVI-porte.

For HD-indhold af høj værdi, der udsættes for HWDRM, anbefales det at etablere OPL af ukomprimeret digital video over 270 og tilføj HDCP-typebegrænsningen i licenserne (HDCP 2.2 eller nyere på Windows 10/11). Derudover behandles Miracast som en anden digital udgang, hvilket tillader afspilning, så længe HDCP 2.0 eller nyere er opfyldt.

På lydniveau er der specifikke OPL'er til Komprimeret digital lyd, ukomprimeret lyd og analoge eller USB-udgange.

Miracast

DRM- og HEVC/AES128CBC-hardwarekompatibilitetsdetektion

For at finde ud af, hvad systemet understøtter, leverer PlayReady metoden PlayReadyStatics.CheckSupportedHardware, som giver dig mulighed for at kontrollere specifikke funktioner, såsom generel HWDRM-kompatibilitet, HEVC/H.265-understøttelse eller hardware-AES128CBC-kryptering.

Optællingen PlayReadyHardwareDRMFeatures inkluderer værdier som f.eks. HardwareDRM, HEVC o Aes128CbcFor eksempel kan du køre:
bool isFeatureSupported = PlayReadyStatics.CheckSupportedHardware(PlayReadyHardwareDRMFeatures.HEVC); for at kontrollere, om hardwaren understøtter den pågældende codec under HWDRM. Derudover egenskaben PlayReadyStatics.PlayReadyCertificateSecurityLevel Returnerer klientcertifikatets sikkerhedsniveau: kun hvis det er større end eller lig med 3000, er enheden individualiseret og klar til at bruge HWDRM.

I versioner før Windows 10, version 1709, hvis du markerer Aes128Cbc uden først at verificere tilstedeværelsen af ​​kontrakten Hvis den tilsvarende API bruges, vil der opstå en undtagelse. Derfor anbefaler Microsoft at bruge ApiInformation.IsApiContractPresent med version 5 af Windows.Foundation.UniversalApiContract før du ringer CheckSupportedHardware for denne funktion.

Ugyldiggør HWDRM og tving software PlayReady

Ikke alt indhold er kompatibelt med HWDRM. For eksempel, bestemt "cocktail"-indhold, HEVC-streams på systemer, der ikke understøtter den pågældende codec under hardware eller enhver stream med en anden video-codec end H.264 eller HEVC kan kræve, at applikationen tilmelder sig PlayReady-software.

For at "deaktivere" HWDRM på UWP-appniveau kan du bruge de lokale indstillinger. sæt nøglen SoftwareOverride til 1 i en indstillingscontainer kaldet "PlayReady" i ApplicationData.LocalSettingsDet er vigtigt at gøre dette, før du opretter PlayReady-objekter, da mellemliggende adfærd ikke er garanteret.

Ligeledes brugen af softwarebeskyttelseslag via MediaProtectionManager, indstilling:
mediaProtectionManager.properties = true; Dette tvinger appen til at bruge SWDRM, selvom systemet understøtter HWDRM.

En praktisk måde at tjekke på Hvilken type DRM bruges under kørsel? er at inspicere mappen:
C:\Users\<usuario>\AppData\Local\Packages\<nombreAplicacion>\LocalCache\PlayReady\Hvis filen er mspr.hdsVi arbejder med SWDRM; hvis en anden fil med filtypenavnet vises .hdsDette er HWDRM. Hvis du sletter denne mappe og afspiller den igen, tvinges PlayReady til at regenerere butikken.

Legeklar

Integrering af PlayReady i UWP-applikationer

Sådan tilføjer du PlayReady-beskyttet indhold til en UWP-app på Windows 11Der er en række grundlæggende trin, der starter med migrering fra Windows 8.x-modellen. Ændring af navneområdet til Windows.Media.Protection.PlayReady Det kræver opdatering af referencer og brug af de korrekte WinMD'er, der er inkluderet i Windows SDK (primært windows.media.winmd y windows.foundation.universalappcontract.winmd).

Med hensyn til MediaProtectionManagerTypisk konfiguration omfatter indstilling af beskyttelsessystem-id'et, indholdssystem-tilknytning og PlayReady-container-GUID'et. Et almindeligt mønster ser nogenlunde sådan ud:

var mediaProtectionManager = new Windows.Media.Protection.MediaProtectionManager();
mediaProtectionManager.Properties = "{F4637010-03C3-42CD-B932-B48ADF3A6A54}";
var cpsystems = new Windows.Foundation.Collections.PropertySet();
cpsystems = "Windows.Media.Protection.PlayReady.PlayReadyWinRTTrustedInput";
mediaProtectionManager.Properties = cpsystems;
mediaProtectionManager.Properties = "{9A04F079-9840-4286-AB92-E65BE0885F95}";

For at afspille beskyttet HD- og UHD-indhold skal appen understøtte det korrekt. HWDRM, ugyldiggøre den, når det er nødvendigt, og administrere licensanskaffelse. både vedvarende og ikke-vedvarende.

Proaktiv erhvervelse af ikke-persistente licenser

En vigtig forbedring af PlayReady i Windows 10/11 er muligheden for at proaktivt erhverve ikke-permanente licenser. Det vil sige, før afspilningen begynder. I ældre versioner kunne disse licenser kun opnås reaktivt. Dette øgede ventetiden for videoens opstart.

Det anbefalede flow består af:

  1. Opret én først afspilningssession igennem MediaProtectionPMPServer.
  2. Forbind det med en PlayReadyLicenseSession.
  3. Generer en licensserviceanmodning (LAServiceRequest) derfra.

Efter afslutningen af ​​erhvervelsen gemmes licensen i sessionen og linkes til multimediekilden via configureMediaProtectionManager før afspilningen starter.

ISTypeUnderstøttet

Tjek beskyttelsesfunktioner med IsTypeSupported

Siden Windows 10, version 1703, kan udviklere bruge klassen ProtectionCapabilities for at kontrollere, hvilke kombinationer af codec, opløsning, billedhastighed og DRM-funktioner der rent faktisk understøttes på en given enhed.

Hvordan fungerer metoden? IsTypeSupportedFørst modtager den en streng med MIME-typen og parametre som f.eks. codec, bits pr. pixel, opløsning eller fpsog derefter en anden streng med nøglesystemet (for eksempel "com.microsoft.playready"). Afhængigt af svaret (Probably, Maybe o NotSupported), kan appen beslutte, om UHD-video skal sættes i kø under HWDRM, forringes kvaliteten eller kasseres bestemt indhold.

Denne tilgang er især nyttig i scenarier med Adaptiv streaming med PlayReadyDet giver dig mulighed for dynamisk at justere kvalitetsprofiler, der er kompatible med enheden, og undgå afspilningsfejl forårsaget af forsøg på at bruge en codec + DRM-kombination, som hardwaren ikke understøtter.

Sikker stop: Sikring af afslutningen af ​​afspilningen

Funktionaliteten af Sikker stop (Safe Stop) blev tilføjet, så en PlayReady-enhed pålideligt kan informere en streamingtjeneste om, at afspilningen af ​​bestemt indhold er stoppet, enten fordi videoen er nået til slutningen, eller fordi brugeren manuelt har stoppet sessionen.

Dette gør det muligt for tjenesterne at anvende brugsbegrænsninger og samtidighedskontrol med større præcision. Dette forhindrer sessioner i at "sætte sig fast" og låse brugeren ude. Det dækker også tilfældet, hvor appen eller systemet går ned. Ved næste opstart skal applikationen kontrollere for ventende Secure Stop-sessioner og sende de tilsvarende udfordringer til serveren.

Microsoft giver et praktisk eksempel i filen securestop.cs inden for PlayReady-eksempelprojekterne.

Brug af PlayReady på Xbox One og sikkerhedsovervejelser

På Xbox One kan UWP-apps også drage fordel af det LegeklarDet eneste krav er, at Partner Center-kontoen skal være godkendt til at bruge denne DRM. Dette opnås ved at kontakte Microsoft eller sende kontooplysningerne til de angivne e-mailadresser, hvorefter godkendelse gives. DeviceCapability angivet i app-manifestet.

Manifestet skal blandt andet indeholde <Capabilities>, en post <DeviceCapability Name="6a7e5907-885c-4bcb-b40a-073c067bd3d5" />som tilføjes manuelt ved at redigere filen Package.appxmanifest som XML. Uden dette trin vil appen ikke have tilladelse til at bruge PlayReady på Xbox.

En anden relevant detalje er, at Xbox One-udviklingssæt er begrænset til SL150 (Sikkerhedsniveau 150). Det betyder, at de ikke kan afspille SL2000- eller SL3000-indhold. Kommercielle enheder understøtter højere sikkerhedsniveauer, men til test i devkits skal SL150-indhold bruges. Dette kan gøres med testmaterialer eller med logik, der kun giver licenser på lavere niveau til testkonti.

Browser DRM: Widevine, PlayReady og FairPlay

I browsernes verden involverer den nuværende strategi brug MPEG-DASH + CENC kombineret med den native DRM, der er tilgængelig på hver platform. Brightcove understøtter for eksempel Widevine, PlayReady og FairPlay og vælger dynamisk den passende version baseret på browser og operativsystem.

På computeren fungerer Chrome og Firefox typisk på Windows og macOS med Widevine til DASHDe kan også benytte HLS med Widevine i visse scenarier. Safari på macOS bruger HLS med FairPlay. Den nye Microsoft Edge (baseret på Chromium) tilføjer understøttelse af både Widevine og PlayReady i visse versioner af Windows, især fra og med Windows 10.

For mobile enheder er situationen delt op mellem HLS + FairPlay på iOS og tvOSog MPEG-DASH + CENC med modulært Widevine på Android (inklusive Android TV, Amazon Fire TV og Chromecast i visse tilfælde). Derudover understøtter native video-SDK'er til iOS og Android typisk offline-afspilning med DRM ved hjælp af henholdsvis FairPlay og Widevine.

En interessant detalje er, at udbydere som Brightcove har en tendens til at Skjul automatisk MP4-kilder Når DRM er aktiveret, eksponeres kun repræsentationer, der er beskyttet via HLS eller DASH. De kræver typisk også, at kontoen er specifikt aktiveret til DRM eller HLS med kryptering. I nogle tilfælde kræver de yderligere licenser for at bruge FairPlay, Widevine eller PlayReady.

Chrome og springet til PlayReady med hardwareunderstøttelse i Windows 11

En betydelig ændring finder sted i Windows 11. Google Chrome forbereder sig på at integrere PlayReady Med hardwareunderstøttelse, udover det traditionelle Widevine, vil Chrome kunne afspille indhold, der er beskyttet med den samme hardwaresikkerhed som Edge, hvilket åbner døren for 4K-afspilning og premium-indhold, der tidligere var begrænset af Widevine i visse konfigurationer.

PlayReady er den DRM, der bruges af platforme som f.eks. Netflix for sine mest efterspurgte titler Med hensyn til sikkerhed har integrationen i Chrome på Windows 11 til formål at tilbyde udbydere større fleksibilitet og forbedre streamingoplevelsen. Google planlægger at opretholde samtidig understøttelse af Widevine og PlayReady og vælge den mest passende baseret på indhold og enhed.

Derudover vil Chrome inkorporere en privatlivsindikator i adresselinjen At underrette brugere, når et websted tilgår indhold, der er beskyttet af PlayReady. Dette giver brugeren mulighed for at tillade eller blokere sådan adgang. Målet er at skabe balance mellem sikkerhed, gennemsigtighed og kontrol for slutbrugeren.

Begrænsninger i Windows 10/11 N og Media Feature Pack

N-udgaverne af Windows 10 og 11 fjerner centrale multimediekomponenterDette påvirker direkte afspilningen af ​​lyd- og videoindhold, samt funktionaliteten af ​​DRM og visse applikationer. Selvom Media Feature Pack kan installeres for at gendanne en stor del af funktionaliteten, advarer Microsoft om, at ikke alt er fuldt gendannet.

Blandt de berørte karakteristika er Alarmer og ur (lyde), appsynkronisering, Cortana med stemme-, lyd- og videofunktioner i OneNote, Edge, Fotos, OneDrive og andre systemappsHvis brugeren forsøger at åbne en video, der er gemt i OneDrive, med den native app i en N-udgave uden mediepakken, vil afspilningen simpelthen ikke fungere.

De er også berørt Microsoft Teams (lyd-/videoopkald), fortæller med stemmenavigation, afspilning af videoer i Microsoft Store og forhåndsvisning af multimedieindhold.Snipping Tool mister skærmoptagelse, videoredigeringsprogrammet holder op med at virke, stemmeindtastning og webcam svigter, og Windows Mixed Reality understøttes ikke. Selv funktioner som trådløs visning, synkronisering af mobile enheder, spil-DVR og Xbox Game Bar hæmmes.

Alt dette antyder, at for en Minimalt seriøs implementering af DRM og sikker afspilning i Windows 11 NDet er praktisk talt obligatorisk at installere Media Feature Pack og teste specifikt på disse udgaver, da oplevelsen kan være meget anderledes end i en standard Windows-version.

Andre DRM-udbydere, Android/iOS-sikkerhed og understøttelse af tværplatforme

Brugen af ​​DRM er ikke begrænset til Microsofts økosystem. Platforme som Brightcove tilbyder Pakke-, licens- og afspilningsløsninger, der kombinerer PlayReady, Widevine og FairPlay afhængigt af enheden. På desktopbrowsere er de afhængige af MPEG-DASH med CENC for at bruge native DRM og reducere antallet af gengivelser, der er nødvendige for at dække alle tilfælde.

På Android definerer Widevine tre sikkerhedsniveauer (L1, L2, L3)Kun L1-kryptering garanterer, at nøglerne i klartekst kun er synlige for en sikker processor, og at der findes en beskyttet videosti; L2- og L3-kryptering ofrer noget af denne beskyttelse, hvilket resulterer i begrænsninger i streamingkvaliteten for beskyttet indhold. For eksempel er afspilning af beskyttet HD-video fra Widevine-servere ikke tilladt på enheder, der kun er L3-krypterede.

På iOS tilbyder FairPlay Streaming over HLS En optimeret løsning til batteriforbrug og kompatibilitet med iPhone, iPad og Apple TVDerudover understøtter de native afspilnings-SDK'er download og offline visning med DRM, hvilket er en stigende efterspørgsel blandt brugere, der rejser eller har ustabile forbindelser.

Hvad angår PlayReady, eksisterer det stadig. PlayReady til problemfri streaming og PlayReady til MPEG-DASHMange aftaler med Microsoft inkluderer samtidighedsgrænser, som tjenester skal overholde. Hvis antallet af tilladte samtidige afspilninger overskrides, mislykkes nye sessioner som følge af designet, hvilket gør korrekt Secure Stop og sessionsafslutning endnu vigtigere.

I betragtning af alt ovenstående involverer den trinvise implementering af DRM og Safe Play i Windows 11 en kombination af Godt licensdesign, HWDRM-understøttelse med PlayReady, korrekt integration i UWP-apps og -browsere, exit-kontroller og grundig testning på rigtig hardwareDette inkluderer specialudgaver som Windows N og scenarier med flere skærme eller GPU'er. Kun på denne måde kan HD- og UHD-video leveres sikkert uden at gå for meget på kompromis med slutbrugeroplevelsen.

Løs hurtigt lydproblemer i Windows 11
relateret artikel:
Løs hurtigt lydproblemer i Windows 11

Tilføj som foretrukken kilde