Védett adathordozó elérési útja
Ez a témakör három egymáshoz kapcsolódó témakört tárgyal: védett környezetet, médiaközi átjárót, visszavonást és megújítást.
- A védett környezet (PE) olyan technológiák készlete, amelyek lehetővé teszik a védett tartalmak védett módon történő áramlását a Windows Vista-ból és azon keresztül. A védett környezetben lévő összes összetevő megbízható, és a folyamat védett az illetéktelen módosításokkal szemben.
- A védett adathordozó elérési útja (PMP) egy végrehajtható fájl, amely védett környezetben fut.
- Ha a pe-ben egy megbízható összetevő sérül, a megfelelő folyamat után a rendszer visszavonja. A Microsoft azonban egy megújítási mechanizmust biztosít az összetevő újabb megbízható verziójának telepítéséhez, amikor elérhetővé válik.
A védett médiaösszetevők kódaláírásával kapcsolatos további információkért lásd a Windows Vista védett médiaösszetevők kódaláírásátismertető tanulmányt.
Ez a témakör a következő szakaszokat tartalmazza:
- védett környezet
- Védett környezet tervezése
- védett adathordozó elérési útja
- Szabályzategyeztetés áttekintése
- visszavonási és megújítási
- Kimeneti kapcsolatvédelem
- Kapcsolódó témakörök
Védett környezet
A tartalomvédelem több technológiát is magában foglal, amelyek mindegyike arra törekszik, hogy a tartalom ne legyen olyan módon használható, amely nem felel meg a tartalom tulajdonosának vagy szolgáltatójának szándékának. Ezek a technológiák közé tartozik a másolásvédelem, a hivatkozásvédelem, a feltételes hozzáférés és a digitális jogkezelés (DRM). Mindegyik alapja a megbízhatóság: A tartalomhoz való hozzáférést csak az adott tartalomhoz rendelt használati feltételeknek eleget tevő szoftverösszetevők kapják meg.
A védett tartalommal szembeni fenyegetések minimalizálása érdekében a Windows Vista és a Media Foundation szoftver lehetővé teszi a megbízható kód védett környezetben való futtatását. A PE olyan összetevők, irányelvek és eszközök készlete, amelyek célja a tartalomkalózkodás elleni védelem növelése.
Mielőtt alaposabban megvizsgáljuk a pe-t, fontos tisztában lenni azzal, hogy milyen fenyegetéseket terveztünk minimalizálni. Tegyük fel, hogy felhasználó módban futtat egy médiaalkalmazást. Az alkalmazás a különböző dinamikus csatolási kódtárakhoz (DLL-ekhez) van csatolva, amelyek média beépülő modulokat, például dekódereket tartalmaznak. Más folyamatok is felhasználói módban futnak, és különböző illesztőprogramok töltődnek be a kernelbe. Ha nincs érvényben megbízhatósági mechanizmus, a következő fenyegetések állnak fenn:
- Az alkalmazás közvetlenül hozzáférhet a védett adathordozóhoz, vagy feltörheti a folyamat memóriáját.
- A beépülő modulok közvetlenül hozzáférhetnek a tartalomhoz, vagy feltörhetik a folyamat memóriáját.
- Más folyamatok közvetlenül vagy kód injektálásával feltörhetik a médiafolyamat memóriáját.
- A kernelillesztők feltörhetik a médiafolyamat memóriáját.
- Előfordulhat, hogy a tartalom nem védett adathordozón keresztül küldhető el a rendszeren kívül. (A kapcsolatvédelem célja, hogy elhárítsa ezt a fenyegetést.)
A védett környezet tervezése
A védett környezetek a médiaalkalmazástól eltérő védett folyamaton futnak. A Windows Vista védett folyamat funkciója megakadályozza, hogy más folyamatok hozzáférjenek a védett folyamathoz.
Védett folyamat létrehozásakor az alapvető kernelösszetevők azonosítják a nem megbízható összetevőket és beépülő modulokat, hogy a védett környezet megtagadhassa a betöltésüket. A megbízható összetevők a Microsoft által megfelelően aláírt összetevők. A kernel nyomon követi a betöltő modulokat is, így a védett környezet leállítja a védett tartalom lejátszását, ha egy nem megbízható modul betöltődik. A kernelösszetevő betöltése előtt a rendszermag ellenőrzi, hogy megbízható-e. Ha nem, akkor a pe-ben már megbízható összetevők nem hajlandók feldolgozni a védett tartalmakat. Ennek engedélyezéséhez a PE-összetevők rendszeresen végeznek kriptográfiailag védett kézfogást a kernellel. Ha nem megbízható kernelmódú összetevő van jelen, a kézfogás meghiúsul, és jelzi a PE-nek, hogy létezik nem megbízható összetevő.
Ha egy megbízható összetevő sérül, a megfelelő folyamat után visszavonható. A Microsoft egy megújítási mechanizmust biztosít egy újabb megbízható verzió telepítéséhez, ha elérhető.
Védett adathordozó elérési útja
A védett adathordozó elérési útja (PMP) a Media Foundation elsődleges PE-végrehajtható fájlja. A PMP bővíthető, így a külső tartalomvédelmi mechanizmusok támogatottak.
A PMP bármely Media Foundation-forrásból fogad el védett tartalmakat és kapcsolódó szabályzatokat bármilyen tartalomvédelmi rendszer használatával, beleértve a harmadik felek által biztosítottakat is. Tartalmat küld bármely Media Foundation-fogadónak, amennyiben a fogadó megfelel a forrás által megadott szabályzatoknak. Emellett támogatja a forrás és a fogadó közötti átalakításokat, beleértve a külső átalakításokat is, amennyiben megbízhatóak.
A PMP a médiaalkalmazástól elkülönített védett folyamatban fut. Az alkalmazás csak a PMP-vel tud parancsokat cserélni és vezérelni az üzeneteket, de a PMP-nek való továbbítás után nem fér hozzá a tartalomhoz. Az alábbi ábra ezt a folyamatot szemlélteti.
Az árnyékolt mezők olyan összetevőket jelölnek, amelyeket harmadik felek adhatnak meg. A védett folyamaton belül létrehozott összes összetevőnek alá kell írnia és megbízhatónak kell lennie.
Az alkalmazás létrehozza a média munkamenet egy példányát a védett folyamaton belül, és egy proxy media session-hez kap mutatót, amely a felület mutatóit a folyamat határán ássa át.
A médiaforrás az alkalmazás folyamatán belül, az itt látható módon, vagy a védett folyamaton belül hozható létre. Ha a médiaforrás az alkalmazásfolyamaton belül jön létre, a forrás proxyt hoz létre magának a védett folyamatban.
Minden más folyamatösszetevő, például a dekóderek és a médiaelnyelők a védett folyamatban jönnek létre. Ha ezek az objektumok bármilyen egyéni illesztőt tesznek elérhetővé az alkalmazásokhoz, egy DCOM-proxyt/csonkot kell biztosítaniuk a felület marsallásához.
A házirendnek a folyamaton áthaladó védett tartalomra való kényszerítéséhez a PMP három összetevőtípust használ: a bemeneti megbízhatósági hatóságokat (ITA-kat), a kimeneti megbízhatósági hatóságokat (OTA-kat) és a szabályzatobjektumokat. Ezek az összetevők együttműködve biztosítják vagy korlátozzák a tartalomhasználati jogosultságokat, és meghatározzák a tartalom lejátszása során alkalmazni kívánt hivatkozásvédelmet, például a nagy sávszélességű digitális tartalomvédelem (HDCP) használatát.
Bemeneti megbízhatósági hatóságok
Az ITA-t egy megbízható médiaforrás hozza létre, és több funkciót is végrehajt:
- Tartalomhasználati jogosultságokat ad meg. A jogosultságok magukban foglalhatják a tartalom lejátszásának, az eszközre való átvitelének és így továbbadásának jogát. Meghatározza a jóváhagyott kimeneti védelmi rendszerek és az egyes rendszerekhez tartozó kimeneti szabályzatok rendezett listáját. Az ITA ezt az információt egy szabályzatobjektumban tárolja.
- Megadja a tartalom visszafejtéséhez szükséges visszafejtőt.
- A védett környezetben a kernelmodullal való megbízhatóság kialakítása annak biztosítása érdekében, hogy az ITA megbízható környezetben fusson.
Az ITA egy védett tartalmat tartalmazó egyéni streamhez van társítva. A streamek csak egy ITA-val rendelkezhetnek, és egy ITA-példány csak egy streamhez társítható.
Kimeneti megbízhatósági hatóságok
Az OTA egy megbízható kimenethez van társítva. Az OTA olyan műveletet tesz közzé, amelyet a megbízható kimenet képes végrehajtani a tartalomon, például lejátszást vagy másolást. Feladata egy vagy több, az ITA által megkövetelt kimeneti védelmi rendszer kényszerítése. Az OTA lekérdezi az ITA által biztosított szabályzatobjektumot annak meghatározásához, hogy melyik védelmi rendszert kell kikényszerítenie.
Szabályzatobjektumok
A szabályzatobjektumok belefoglalják az ITA tartalomvédelmi követelményeit. A szabályzatmotor a tartalomvédelmi támogatás egyeztetésére szolgál egy OTA-val. Az OTA-k lekérdezik a szabályzatobjektumokat annak meghatározásához, hogy milyen védelmi rendszereket kell kikényszeríteniük az aktuális tartalom minden kimenetén.
Objektumok létrehozása a PMP-ben
Ha objektumot szeretne létrehozni a védett médiaútvonalon (PMP) az IMFMediaSource meghívja IMFPMPHostApp::ActivateClassById, a megadott bemeneti IStream a következő módon formázva:
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 }
A szabályzat egyeztetésének áttekintése
Három alapvető követelménynek kell teljesülnie ahhoz, hogy a védett tartalom feldolgozható legyen a PMP-ben. Először is a védett tartalmat csak megbízható kimeneteknek kell elküldeni. Másodszor, csak az engedélyezett műveleteket kell alkalmazni egy streamre. Harmadszor, csak jóváhagyott kimeneti védelmi rendszereket kell használni a streamek lejátszásához. A szabályzatmotor koordinálja az ita-k és az ota-k közötti koordinációt, hogy ezek a követelmények teljesüljenek.
A folyamat megértésének legegyszerűbb módja egy egyszerűsített példa végigjárása, amely azonosítja a Windows Media Digital Rights Management (WMDRM) által védett Advanced System Format (ASF) tartalom lejátszásához szükséges lépéseket.
Amikor egy felhasználó elindít egy lejátszóalkalmazást, és megnyitja a védett hangstreamet és védett videostreamet tartalmazó ASF-fájlt, a következő lépéseket kell végrehajtania:
- Az alkalmazás létrehozza az ASF-médiaforrást és a védett médiaútvonal (PMP) munkamenetet. A Media Foundation létrehoz egy PMP-folyamatot.
- Az alkalmazás létrehoz egy részleges topológiát, amely egy hangforrás-csomópontot tartalmaz, amely a hang renderelőhöz csatlakozik, és egy videoforrás-csomópontot, amely a továbbfejlesztett video rendererhez (EVR) csatlakozik. A renderelők esetében az alkalmazás nem hozza létre közvetlenül a renderelőt. Ehelyett az alkalmazás egy aktiválási objektumként ismert objektumot hoz létre a nem védett folyamatban,. A PMP az aktiválási objektummal hozza létre a renderelőket a védett folyamatban. (További információ az aktiválási objektumokról: Aktiválási objektumok.)
- Az alkalmazás beállítja a részleges topológiát a PMP-munkameneten.
- A PMP-munkamenet szerializálja a topológiát, és átadja a védett folyamat PMP-gazdagépének. A PMP-gazdagép elküldi a topológiát a szabályzatmotornak.
- A topológiabetöltő meghívja IMFInputTrustAuthority::GetDecrypter az ITA-kon, és beszúrja a visszafejtőket a topológiába közvetlenül a megfelelő forráscsomópontok alatt.
- A topológiabetöltő beszúrja a hang- és videodekódereket a visszafejtési csomópontok alsó részén.
- A szabályzatmotor megvizsgálja a beszúrt csomópontokat, hogy megállapítsa, implementálja-e az IMFTrustedOutput interfészt. Az EVR és a hangmegjelenítő egyaránt implementálja IMFTrustedOutput, mert a PMP-n kívül küldenek adatokat.
- Minden ita megerősíti, hogy védett folyamaton belül fut egy titkosítási kézfogással egy védett környezeti kernelmodullal.
- Minden egyes stream esetében a szabályzatmotor úgy tárgyalja le a szabályzatot, hogy lekért egy szabályzatobjektumot az ITA-ból, és átadja azt az OTA-nak. Az OTA felsorolja az általa támogatott védelmi rendszereket, és a szabályzatobjektum jelzi, hogy mely védelmi rendszereket kell alkalmazni a megfelelő beállításokkal együtt. Az OTA ezután alkalmazza ezeket a beállításokat. Ha ez nem lehetséges, a tartalom le lesz tiltva.
Visszavonás és megújítás
A megbízható összetevők visszavonhatók, ha veszélybe kerülnek, vagy azt észlelik, hogy megsértik az eredetileg megbízható licencszerződéseket. Létezik megújítási mechanizmus az összetevő újabb, megbízhatóbb verziójának telepítéséhez.
A megbízható összetevők titkosítási tanúsítvánnyal vannak aláírva. A Microsoft közzétesz egy globális visszavonási listát (GRL), amely azonosítja a visszavont összetevőket. A GRL digitálisan alá van írva annak hitelessége érdekében. A tartalomtulajdonosok a szabályzati mechanizmuson keresztül gondoskodhatnak arról, hogy a GRL aktuális verziója jelen legyen a felhasználó számítógépén.
Kimeneti kapcsolat védelme
Prémium szintű videótartalmak megtekintésekor a visszafejtetlen, tömörítetlen keretek egy fizikai összekötőn keresztül jutnak el a megjelenítési eszközre. Előfordulhat, hogy a tartalomszolgáltatók megkövetelik a videókeretek védelmét ezen a ponton, mivel a fizikai összekötőn áthaladnak. Erre a célra különböző védelmi mechanizmusok léteznek, például a High-Bandwidth Digital Content Protection (HDCP) és a DisplayPort Content Protection (DPCP). Az OTA videó ezeket a védelmet a Output Protection Manager (OPM) használatával kényszeríti ki. Az Output Protection Manager parancsokat küld a grafikus illesztőprogramnak, és a grafikus illesztőprogram kikényszeríti a szabályzat által megkövetelt csatolásvédelmi mechanizmusokat.
Kapcsolódó témakörök