Cesta k chráněnému médiu
Toto téma popisuje tři vzájemně související témata: chráněné prostředí, bránu interoperability médií a odvolání a obnovení.
- Chráněné prostředí (PE) je sada technologií, která umožňuje, aby chráněný obsah proudil z systému Windows Vista chráněným způsobem a prostřednictvím systému Windows Vista. Všechny komponenty v chráněném prostředí jsou důvěryhodné a proces je chráněný proti manipulaci.
- Cesta k chráněnému médiu (PMP) je spustitelný soubor, který běží v chráněném prostředí.
- Pokud dojde k ohrožení zabezpečení důvěryhodné komponenty v prostředí PE, po dokončení procesu bude odvolán. Společnost Microsoft však poskytuje mechanismus pro obnovení instalace novější důvěryhodné verze komponenty, jakmile bude k dispozici.
Informace o podepisování kódu chráněné součásti médií naleznete v dokumentu white paper Podepisování kódu pro chráněné součásti médií v systému Windows Vista.
Toto téma obsahuje následující části:
- chráněného prostředí
- návrh chráněného prostředí
-
cesta k chráněnému médiu
- certifikační autority pro vstup
- výstupních důvěryhodných autorit
- objekty zásad
- vytváření objektů v PMP
- přehled vyjednávání zásad
- odvolání a prodloužení platnosti
- ochrany výstupního propojení
- související témata
Chráněné prostředí
Ochrana obsahu zahrnuje více technologií, z nichž každý se snaží zajistit, aby se obsah nedá použít způsobem, který je nekonzistentní s záměrem vlastníka nebo poskytovatele obsahu. Mezi tyto technologie patří ochrana proti kopírování, ochrana propojení, podmíněný přístup a správa digitálních práv (DRM). Základem každého z nich je vztah důvěryhodnosti: Přístup k obsahu je udělen pouze softwarovým komponentám, které odpovídají podmínkám použití přiřazeným k danému obsahu.
Chcete-li minimalizovat hrozby proti chráněnému obsahu, windows Vista a Media Foundation Software umožňují spuštění důvěryhodného kódu v chráněném prostředí. PE je sada komponent, pokynů a nástrojů navržených pro zvýšení ochrany před pirátstvím obsahu.
Před bližším prozkoumáním pe je důležité pochopit hrozby, které je navržena tak, aby minimalizovala. Předpokládejme, že spouštíte aplikaci médií v procesu uživatelského režimu. Aplikace je propojená s různými knihovnami DLL (Dynamic Link Library), které obsahují moduly plug-in médií, jako jsou dekodéry. V uživatelském režimu běží také jiné procesy a do jádra se načítají různé ovladače. Pokud neexistuje žádný mechanismus důvěryhodnosti, existují následující hrozby:
- Aplikace může přistupovat k chráněným médiím přímo nebo hackovat paměť procesu.
- Moduly plug-in mají přístup k obsahu přímo nebo hackují paměť procesu.
- Jiné procesy mohou hackovat paměť mediálního procesu buď přímo, nebo vložením kódu.
- Ovladače jádra můžou hacknout paměť mediálního procesu.
- Obsah může být odeslán mimo systém přes nechráněné médium. (Ochrana propojení je navržená tak, aby se zmírnit proti této hrozbě.)
Návrh chráněného prostředí
Chráněné prostředí běží v samostatném chráněném procesu od aplikace médií. Funkce chráněného procesu systému Windows Vista zastaví přístup k chráněnému procesu jiným procesům.
Při vytvoření chráněného procesu identifikují základní komponenty jádra nedůvěryhodné komponenty a moduly plug-in, aby je chráněné prostředí mohly odmítnout načíst. Důvěryhodná komponenta je ta, která byla odpovídajícím způsobem podepsána Společností Microsoft. Jádro také sleduje moduly, které se do něj načítají, a umožňuje chráněnému prostředí zastavit přehrávání chráněného obsahu, pokud je načten nedůvěryhodný modul. Před načtením komponenty jádra jádro zkontroluje, jestli je důvěryhodná. Pokud tomu tak není, důvěryhodné komponenty již v prostředí PE odmítly zpracovávat chráněný obsah. Aby to bylo možné, komponenty PE pravidelně provádějí kryptograficky chráněné handshake s jádrem. Pokud existuje nedůvěryhodná komponenta režimu jádra, handshake selže a značí prostředí PE, že existuje nedůvěryhodná komponenta.
Pokud dojde k ohrožení důvěryhodné komponenty, může být po dokončení procesu odvolán. Společnost Microsoft poskytuje mechanismus obnovení pro instalaci novější důvěryhodné verze, pokud je k dispozici.
Cesta k chráněnému médiu
Cesta k chráněnému médiu (PMP) je primární spustitelný soubor PE pro Media Foundation. PmP je rozšiřitelný, aby bylo možné podporovat mechanismy ochrany obsahu třetích stran.
PmP přijímá chráněný obsah a přidružené zásady z jakéhokoli zdroje Media Foundation pomocí jakéhokoli systému ochrany obsahu, včetně těch, které poskytují třetí strany. Odesílá obsah do jakékoli jímky Media Foundation, pokud jímka splňuje zásady určené zdrojem. Podporuje také transformace mezi zdrojem a jímkou, včetně transformací třetích stran, pokud jsou důvěryhodné.
PmP běží v chráněném procesu izolovaném od aplikace médií. Aplikace má možnost vyměňovat příkazy a řídicí zprávy pouze s PMP, ale nemá přístup k obsahu po jeho předání do PMP. Tento proces znázorňuje následující diagram.
Stínovaná pole představují součásti, které mohou poskytovat třetí strany. Všechny komponenty vytvořené uvnitř chráněného procesu musí být podepsané a důvěryhodné.
Aplikace vytvoří instanci relace médií uvnitř chráněného procesu a obdrží ukazatel na relaci proxy médií, která zařazuje ukazatele rozhraní přes hranice procesu.
Zdroj médií lze vytvořit buď v rámci procesu aplikace, jak je znázorněno zde, nebo uvnitř chráněného procesu. Pokud je zdroj médií vytvořen uvnitř procesu aplikace, vytvoří zdroj proxy pro sebe v chráněném procesu.
Všechny ostatní součásti kanálu, jako jsou dekodéry a jímky médií, se vytvářejí v chráněném procesu. Pokud tyto objekty zpřístupňují všechna vlastní rozhraní pro aplikace, musí poskytnout proxy/zástupný kód DCOM pro zařazování rozhraní.
K vynucení zásad u chráněného obsahu při průchodu kanálem používá PMP tři typy komponent: certifikační autority vstupu (ITA), výstupní důvěryhodné autority (OTA) a objekty zásad. Tyto komponenty spolupracují na udělení nebo omezení práv k používání obsahu a k určení ochrany odkazů, které se musí použít při přehrávání obsahu, jako je ochrana digitálního obsahu s velkou šířkou pásma (HDCP).
Vstupní důvěryhodné autority
ITA je vytvořená důvěryhodným zdrojem médií a provádí několik funkcí:
- Určuje práva k používání obsahu. Práva mohou zahrnovat právo přehrávat obsah, přenášet ho do zařízení atd. Definuje uspořádaný seznam schválených systémů ochrany výstupu a odpovídajících výstupních zásad pro každý systém. ITA tyto informace ukládá do objektu zásad.
- Poskytuje dešifrovač potřebný k dešifrování obsahu.
- Vytvoří vztah důvěryhodnosti s modulem jádra v chráněném prostředí, aby se zajistilo, že ITA běží v důvěryhodném prostředí.
ITA je přidružená k jednotlivým datovým proudem, který obsahuje chráněný obsah. Stream může mít pouze jednu ITA a instanci ITA je možné přidružit pouze k jednomu datovému proudu.
Výstupní důvěryhodné autority
OTA je přidružen k důvěryhodnému výstupu. OTA zveřejňuje akci, kterou může důvěryhodný výstup provádět s obsahem, jako je přehrávání nebo kopírování. Jeho rolí je vynutit jeden nebo více systémů ochrany výstupu, které vyžaduje ITA. OTA se dotazuje objektu zásad poskytovaného ITA, aby určila, jaký systém ochrany musí vynutit.
Objekty zásad
Objekt zásady zapouzdřuje požadavky na ochranu obsahu ITA. Modul zásad ho používá k vyjednávání podpory ochrany obsahu s OTA. Objekty zásad dotazů OTA určují, jaké systémy ochrany musí vynucovat na každém výstupu aktuálního obsahu.
Vytváření objektů v PMP
Chcete-li vytvořit objekt v cestě k chráněnému médiu (PMP), MMFMediaSource volá MMFPMPHostApp::ActivateClassById, se zadaným vstupem IStream formátován následujícím způsobem:
Format: (All DWORD values are serialized in little-endian order)
[GUID (content protection system guid, obtained from Windows.Media.Protection.MediaProtectionSystemId)]
[DWORD (track count, use the actual track count even if all tracks are encrypted using the same data, note that zero is invalid)]
[DWORD (next track ID, use -1 if all remaining tracks are encrypted using the same data)]
[DWORD (next track's binary data size)]
[BYTE* (next track's binary data)]
{ Repeat from "next track ID" above for each stream }
Přehled vyjednávání zásad
Před zpracováním chráněného obsahu v PMP je nutné splnit tři základní požadavky. Za prvé, chráněný obsah musí být odeslán pouze do důvěryhodných výstupů. Za druhé, povolené akce musí být použity pouze u datového proudu. Za třetí musí být k přehrávání datového proudu použity pouze schválené systémy ochrany výstupu. Modul zásad koordinuje mezi ITA a OTA, aby se zajistilo splnění těchto požadavků.
Nejjednodušším způsobem, jak pochopit proces, je projít zjednodušeným příkladem, který identifikuje kroky potřebné k přehrávání obsahu rozšířeného systémového formátu (ASF) chráněného službou WMDRM (Windows Media Digital Rights Management).
Když uživatel spustí aplikaci přehrávače a otevře soubor ASF s chráněným zvukovým proudem a chráněným streamem videa, je nutné provést následující kroky:
- Aplikace vytvoří zdroj médií ASF a relaci cesty k chráněnému médiu (PMP). Media Foundation vytvoří proces PMP.
- Aplikace vytvoří částečnou topologii, která obsahuje zdrojový uzel zvuku připojený ke zvukovému rendereru a uzel zdroje videa připojený k vylepšenému rendereru videa (EVR). Pro renderery aplikace nevytvoří vykreslovací modul přímo. Místo toho aplikace vytvoří v nechráněném procesu objekt známý jako aktivační objekt. PmP používá aktivační objekt k vytvoření rendererů v chráněném procesu. (Další informace o aktivačních objektech najdete v tématu aktivační objekty.)
- Aplikace nastaví částečnou topologii v relaci PMP.
- Relace PMP serializuje topologii a předá ji hostiteli PMP v chráněném procesu. Hostitel PMP odešle topologii modulu zásad.
- Zavaděč topologie volá DATACENTERInputTrustAuthority::GetDecrypter na ITA a vloží dešifrovače do topologie bezprostředně podřízené odpovídajícím zdrojovým uzlům.
- Zavaděč topologie vloží dekodér zvuku a videa do podřízeného uzlu dešifrovacího modulu.
- Modul zásad naskenuje vložené uzly a určí, jestli některé implementují rozhraní TRUSTedOutput. EVR i audio renderer implementují DATACENTERTrustedOutput, protože odesílají data mimo PMP.
- Každá ITA potvrdí, že běží v chráněném procesu provedením kryptografického handshakeho s modulem jádra chráněného prostředí.
- Pro každý datový proud modul zásad vyjedná zásady získáním objektu zásad z ITA a jeho předáním do OTA. OTA poskytuje seznam systémů ochrany, které podporuje, a objekt zásad označuje, které systémy ochrany je třeba použít, spolu se správným nastavením. OTA pak tato nastavení použije. Pokud to nejde, obsah se zablokuje.
Odvolání a obnovení
Důvěryhodnou komponentu lze odvolat, pokud dojde k ohrožení zabezpečení nebo zjistí, že porušuje licenční smlouvy, podle kterých byla původně důvěryhodná. Existuje mechanismus obnovení pro instalaci novější, důvěryhodnější verze komponenty.
Důvěryhodné komponenty jsou podepsané pomocí kryptografického certifikátu. Microsoft publikuje globální seznam odvolaných certifikátů (GRL), který identifikuje odvolané součásti. GRL je digitálně podepsaný, aby se zajistila jeho pravost. Vlastníci obsahu můžou prostřednictvím mechanismu zásad zajistit, že aktuální verze GRL je na počítači uživatele.
Ochrana výstupního propojení
Když se zobrazí obsah videa úrovně Premium, dešifrované a nekomprimované snímky se přesunou přes fyzický konektor do zařízení pro zobrazení. Poskytovatelé obsahu můžou v tuto chvíli vyžadovat ochranu snímků videa, protože cestují přes fyzický konektor. Pro tento účel existují různé mechanismy ochrany, včetně High-Bandwidth ochrany digitálního obsahu (HDCP) a ochrany obsahu DisplayPort (DPCP). Video OTA vynucuje tyto ochrany pomocí nástroje Output Protection Manager (OPM). Správce ochrany výstupu odesílá příkazy grafickému ovladači a grafický ovladač vynucuje všechny mechanismy ochrany propojení, které zásady vyžadují.
Související témata
-
architektury Media Foundation
-
media session PMP