HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Microsoft Secure Audio Path (SAP)



A Microsoft Secure Audio Path SDK – szoftverfejlesztő készlet a Windows XP SP1 alatt futó alkalmazásoknak teszi lehetővé a védett audio folyam használatát a Microsoft Digital Rights Management technológia használata nélkül. Cikkünkben bemutatjuk, hogy ezt hogyan teszi, és hogy mire jó mindez.

Néhány szó a DRM-ről
A DRM egy technológiai összeállítás, amellyel a digitális média (video, audio) tulajdonosok megvédhetik szerzői jogaikat azzal együtt, hogy közeli kapcsolatban maradnak a vásárlókkal. A legtöbb esetben a DRM egy rendszer, amely kódolja a média tartalmát, és korlátozza a hozzáférést azokra a felhasználókra, akik saját engedéllyel rendelkeznek azok lejátszására.
SAP, DRM, és audio lejátszó API-k
A SAP megvédi az audio tartalmat út közben az alkalmazás és az eszközök között azáltal, hogy összezavarja és kódolja azt, így ha elfogják, vagy lemásolják az audio folyamot az alkalmazás és a driver között, akkor használhatatlan adathalmazt kapnak.
A DRM megvalósításban az SAP-n keresztüli lejátszás egy feltétel, amely licensszel megszerezhető. Lejátszási időben, feltételezve, hogy az alkalmazásnak valódi engedélye van a fájlra, a DRM komponensek nyíltan engedik az SAP csomagolást a fájlon, mielőtt az olvasó-objektumhoz kerülne. A csomagolt fájl elküldhető az eszköznek bármely normális audio lejátszó API-n keresztül, mint amilyen a waveOut, Microsoft DirectSound vagy a Microsoft DirectShow.
Másként fogalmazva, amikor egy alkalmazás használja a DRM technológiát, akkor az SAP minden részletének használata az operációs rendszer és az SDK komponensek keze alatt történik. Az SAP API segítségével létrehozhatunk SAP folyamokat a DRM technológián kívül. Ilyenkor az alkalmazás az SAP API-k segítségével közvetlenül létrehoz egy adatfolyamot, előkészíti a fejléc-információkat, és kódolja az adatot. Az adat ezután továbbításra kerül az eszközökhöz bármely lejátszó API használatával.
Az SAP kernel módú alrendszer
Amikor a kernel audio tartalmat küld a kimeneti eszközre, a rendszer észleli, ha az SAP tartalom. Alapértelmezésben az első eszköz a stack-ben az SAP driver (drmk.sys), amely dekódolja a tartalmat, mielőtt az eszköz stack-be kerülne. Lehetséges, hogy más eszközök néhány esetben a SAP driver felett települnek, de ennek az eszköznek csak a kódolt folyamhoz van elérése. Az SAP eszköz képes ellenőrizni a driver-eket, amelyek követik őt a kimeneti sorban, hogy meghatározzák az ő biztonsági szintjüket, és hogy vajon tartalmaznak-e jelölt biztonsági tanúsítványt. Némely tartalom igényli valamelyiket, vagy mindegyiket ezek közül. Végül szükséges, hogy a kimeneti hardver ne tartalmazzon digitális kimeneti kaput.
Így a legtöbb biztonságos tartalom esetében az SAP rendszer lehetővé teszi az alkalmazásnak, hogy kódolja az audio adatot az alkalmazáson belül, elküldve azt a kernel-nek és az eszköz stack-nek, így bizonyosodva meg arról, hogy valamelyik driver a kimeneti sorban nagyon biztonságos ezzel az ellenőrzéssel egy digitálisan aláírt tanúsítványon keresztül.
Megjegyzés: Az SAP nem címezi meg a védett audio tartalom kimenetét az alkalmazáson belül, vagy mielőtt elküldésre kerülne a külső eszköznek.
Az SAP statikus könyvtár
Az SAP API-k használatához szükséges egy statikus könyvtár, amely egyedi az alkalmazásunkban, és ez a könyvtár elkülönül a DRM statikus könyvtártól. Ezeket a könyvtárakat a Microsoft-tól kell megszereznünk. Ahhoz, hogy kezdeményezzük a licensz igénylését, az alábbi oldalra kell ellátogatnunk:
http://www.microsoft.com/legal/sap/default.asp
Megjegyzés: A DRM komponens a Windows Media Format 9 Series SDK-ban ugyanezt a statikus könyvtárat használja audio folyamok kódolására SAP-n keresztül.
Az IMSSapStubObj Interface
Az IMSSapStubObj interfész metódusai használhatók a tartalomkódoláshoz. Az alábbi táblában található metódusokat alkalmazásból hívhatjuk meg. Ezt az interfészt az SAP statikus könyvtár valósítja meg. A statikus könyvtár belül számos műveletet hajt végre a biztonság érdekében, és hívásait az SAP operációs rendszer komponensen (MSSAP.DLL) keresztül küldi, amely végrehajtja az aktuális kódolást és azonosítást.
Metódus Leírás
CheckSecurity A stack-hez fordulást indít, és érvényesíti az eszköz biztonságát.
CreateInstance Létrehoz egy SAP objektumot és visszaad egy mutatót az IMSSapStubObj interfészhez.
CreateStream Kezdeti helyzetbe állít egy folyamatosztályt és létrehozza a folyamot.
DestroyStream Törli a folyamot a CreateStream-ből és felszabadítja a memóriát.
EncryptSamples Kódolja a beviteli puffer egy részét és előkészíti azt küldésre a kimenethez.
GetMSSAPFileName Lehetővé teszi az alkalmazásnak az MSSAP.DLL ellenőrzését (hogy megvédjen a manipulációtól).
GetStreamFormat Elkészíti a fejlécét az adatnak, amely az output-ra indul.
Init Kezdeti helyzetbe állítja az SAP objektumot.
SetParameters Megadja a DRM biztonsági leírásokat az aktuális átvitelhez.

Könyv
Ez a cikk megtalálható ebben a könyvben: Windows Software Offline 2003 évkönyv 508. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |