Tartalomvédelem dinamikus titkosítással és kulcskézbesítéssel
AMS-webhely | Kódminták | Hibaelhárítási útmutató
Az Azure Media Services használatával biztonságossá teheti a médiatartalmat attól az időponttól kezdve, amikor a számítógépről a tárolás, a feldolgozás és a kézbesítés során elhagyja a számítógépet. A Media Services segítségével dinamikusan titkosíthatja élő és igény szerinti tartalmait az Advanced Encryption Standard (AES-128) vagy a három fő digitális jogkezelési (DRM) rendszer bármelyikével: Microsoft PlayReady, Google Widevine és Apple FairPlay.
A FairPlay Streaming egy Apple-technológia, amely csak az iOS-eszközökön, az Apple TV-ben és a MacOS Safariban HTTP Live Streaming (HLS) keresztül továbbított videókhoz érhető el. A Media Services emellett AES-kulcsokat és DRM-licenceket (PlayReady, Widevine és FairPlay) is biztosít a jogosult ügyfeleknek. Ha a tartalom titkosítva van egy AES clear kulccsal, és HTTPS-en keresztül van elküldve, az nem lesz tiszta, amíg el nem éri az ügyfelet.
A Media Services v3-ban egy tartalomkulcs van társítva a Streaming Locator szolgáltatással (lásd ezt a példát). Ha a Media Services kulcskézbesítési szolgáltatást használja, engedélyezheti, hogy az Azure Media Services létrehozza a tartalomkulcsot. A tartalomkulcsot saját maga kell létrehoznia, ha saját kulcskézbesítési szolgáltatást használ, vagy ha magas rendelkezésre állású forgatókönyvet kell kezelnie, ahol ugyanazt a tartalomkulcsot két adatközpontban kell használnia.
Ha egy lejátszó streamet kér, a Media Services a megadott kulccsal dinamikusan titkosítja a tartalmat az AES tiszta kulcsával vagy DRM-titkosítással. A stream visszafejtéséhez a lejátszó lekéri a kulcsot a Media Services kulcskézbesítési szolgáltatásából vagy a megadott kulcskézbesítési szolgáltatásból. Annak eldöntéséhez, hogy a felhasználó jogosult-e a kulcs lekérésére, a szolgáltatás kiértékeli a kulcshoz megadott tartalomkulcs-szabályzatot.
A REST API-t vagy egy Media Services-ügyfélkódtárat használhat a licencek és kulcsok engedélyezési és hitelesítési szabályzatainak konfigurálásához.
A Widevine nem érhető el a GovCloud régióban.
Megjegyzés
A Médiaszolgáltatások a KeyDelivery, a RESTv2, a streamvégpont és az élő esemény streamelési forrásának minden kérése esetében kikényszeríteni fogják a TLS 1.2-t. A meglévő TLS 1.0-s vagy 1.1-s használattal rendelkező fiókok mentesülnek a kényszerítés alól. Ha a TLS 1.2-t szeretné kikényszeríteni a médiaszolgáltatások végpontjaira irányuló összes kérése esetében, forduljon az AMS ügyfélszolgálatához.
A DRM-ügyfeleket támogató böngészők
A gyakori böngészők a következő DRM-ügyfeleket támogatják:
Böngésző | Titkosítás |
---|---|
Chrome | Widevine |
Microsoft Edge, Internet Explorer 11 | PlayReady |
Firefox | Widevine |
Opera | Widevine |
Safari | FairPlay |
Tartalomhozzáférés szabályozása
A tartalomkulcs-szabályzat konfigurálásával szabályozhatja, hogy ki férhet hozzá a tartalomhoz. A Media Services szolgáltatásban több különböző módot is beállíthat, amelyek segítségével a rendszer hitelesítheti a kulcskérelmet küldő felhasználókat. Az ügyfélnek (játékosnak) meg kell felelnie a szabályzatnak, mielőtt a kulcs kézbesíthető lenne az ügyfélnek. A tartalomkulcs-szabályzat rendelkezhet megnyitási vagy jogkivonat-korlátozásokkal .
Nyílt hozzáférésű tartalomkulcs-szabályzat akkor használható, ha engedély nélkül szeretne licencet kiadni bárkinek. Ha például a bevétele hirdetésalapú, és nem előfizetés-alapú.
Jogkivonat-korlátozott tartalomkulcs-szabályzat esetén a rendszer csak olyan ügyfélnek küldi el a tartalomkulcsot, amely érvényes JWT-jogkivonatot vagy egyszerű webes jogkivonatot (SWT) jelenít meg a licenc-/kulcskérelmekben. Ezt a jogkivonatot egy STS-nek kell kiállítania.
A Azure AD használata STS-ként
A Azure AD STS-ként is használható. Konfigurálva kell lennie egy, a megadott kulccsal aláírt jogkivonat létrehozásához, és ki kell adnia a jogkivonat-korlátozás konfigurációjában megadott jogcímeket. A Media Services licenc-/kulcskézbesítési szolgáltatás a kért licencet vagy kulcsot adja vissza az ügyfélnek, ha mindkét feltétel fennáll:
- A jogkivonat érvényes.
- A jogkivonat jogcímei megegyeznek a licenchez vagy kulcshoz konfigurált jogcímekkel.
A jogkivonat által korlátozott szabályzat konfigurálásakor meg kell adnia az elsődleges ellenőrzési kulcsot, a kiállítót és a célközönség paramétereit. Az elsődleges ellenőrzőkulcs tartalmazza azt a kulcsot, amellyel a jogkivonatot aláírták. A kiállító az STS, amely a jogkivonatot adja ki. A célközönség , más néven hatókör, leírja a jogkivonat szándékát vagy azt az erőforrást, amelyhez a jogkivonat hozzáférést engedélyez. A Media Services licenc-/kulcskézbesítési szolgáltatása ellenőrzi, hogy a jogkivonat értékei egyeznek-e a sablonban szereplő értékekkel.
Token-visszajátszás megakadályozása
A Token Replay Prevention funkcióval beállíthatja, hogy hányszor lehet ugyanazt a jogkivonatot használni kulcs vagy licenc igényléséhez. Hozzáadhat egy típusú urn:microsoft:azure:mediaservices:maxuses
jogcímet a jogkivonathoz, ahol az érték az a szám, ahányszor a jogkivonat felhasználható egy licenc vagy kulcs beszerzéséhez. Minden, a Kulcskézbesítéshez azonos jogkivonattal rendelkező kérés jogosulatlan választ ad vissza.
Megfontolandó szempontok
- Szabályoznia kell a jogkivonatok létrehozását. A jogcímet magában a jogkivonatban kell elhelyezni.
- A szolgáltatás használatakor a rendszer jogosulatlan válaszokkal utasítja el azokat a jogkivonatokkal rendelkező kérelmeket, amelyek lejárati ideje több mint egy óra a kérés beérkezésétől számítva.
- A jogkivonatokat az aláírásuk egyedileg azonosítja. A hasznos adatok módosítása (például a lejárati időre vagy a jogcímre való frissítés) megváltoztatja a jogkivonat aláírását, és olyan új jogkivonatnak számít, amellyel a Key Delivery még nem találkoztam.
- A lejátszás meghiúsul, ha a jogkivonat túllépte az
maxuses
értéket. - Az összes meglévő védett tartalomhoz használható (csak a kibocsátott jogkivonatot kell módosítani).
- JWT-vel és SWT-vel is működik.
Egyéni STS használata
Dönthet úgy, hogy egyéni STS-t használ a jogkivonatok megadásához. Ennek okai a következők:
Az identitásszolgáltató (IDP) nem támogatja az STS-t.
Előfordulhat, hogy az STS és az előfizetői számlázási rendszer integrálásához rugalmasabb vagy szigorúbb szabályozásra van szüksége.
Egy OTT-szolgáltató például több előfizetői csomagot is kínálhat, például prémium, alapszintű és sportcsomagokat. Előfordulhat, hogy az operátor a jogkivonatban szereplő jogcímeket egy előfizető csomagjával szeretné egyeztetni, hogy csak egy adott csomag tartalma legyen elérhető. Ebben az esetben az egyéni STS biztosítja a szükséges rugalmasságot és vezérlést.
Egyéni jogcímek belefoglalása a jogkivonatba, hogy különböző ContentKeyPolicyOptions- és különböző DRM-licencparaméterekkel ( például előfizetési licenc és bérleti licenc) között válasszon.
Olyan jogcím hozzáadása, amely annak a kulcsnak a tartalomkulcs-azonosítóját jelöli, amelyhez a jogkivonat hozzáférést biztosít.
Egyéni STS használata esetén két módosítást kell végrehajtani:
- Amikor licenckézbesítési szolgáltatást konfigurál egy eszközhöz, meg kell adnia az egyéni STS által történő ellenőrzéshez használt biztonsági kulcsot a Azure AD aktuális kulcsa helyett.
- JTW-jogkivonat létrehozásakor a rendszer biztonsági kulcsot ad meg a jelenlegi X509-tanúsítvány titkos kulcsa helyett Azure AD.
Kétféle biztonsági kulcs létezik:
- Szimmetrikus kulcs: Ugyanazt a kulcsot használja a JWT létrehozásához és ellenőrzéséhez.
- Aszimmetrikus kulcs: Az X509-tanúsítványban lévő nyilvános-privát kulcspárok titkos kulccsal titkosítják/generálják a JWT-t, és a nyilvános kulccsal ellenőrzik a jogkivonatot.
Megjegyzés
Ha fejlesztési platformként .NET-keretrendszer/C#-t használ, az aszimmetrikus biztonsági kulcshoz használt X509-tanúsítványnak legalább 2048-as kulcshosszúságúnak kell lennie. Ez a kulcshossz a System.IdentityModel.Tokens.X509AsymmetricSecurityKey osztály követelménye a .NET-keretrendszer. Ellenkező esetben a következő kivétel lép fel: IDX10630: Az aláíráshoz használt "System.IdentityModel.Tokens.X509AsymmetricSecurityKey" nem lehet kisebb, mint a "2048" bit.
A Media Servicesen kívüli licenc-/kulcskézbesítési szolgáltatás használata
Ha másik licenc-/kulcskézbesítési szolgáltatást szeretne használni, szerkesztheti a kulcsszabályzatsablonokat.
Útmutatók, oktatóanyagok és minták
A .Net Digital Rights Management minta bemutatja, hogyan valósíthat meg több DRM-rendszert a Media Services v3-tal a .NET használatával.
További tartalomvédelmi minták érhetők el a Node.JS és a Python esetében:
Node.JS | Python | Leírás |
---|---|---|
Node.JS HLS és DASH feltöltése és streamelése PlayReady és Widevine DRM használatával | Python – HLS és DASH feltöltése és streamelése a PlayReady és a Widevine DRM használatával | Bemutatja, hogyan kódolhat és streamelhet a Widevine és a PlayReady DRM használatával |
Node.JS Alapszintű Playready DRM-tartalomvédelem és -streamelés | Python Basic Playready DRM tartalomvédelem és streamelés | Bemutatja, hogyan kódolhat és streamelhet PlayReady DRM használatával |
Node.JS Basic Widevine DRM tartalomvédelem és streamelés | Python Basic Widevine DRM tartalomvédelem és streamelés | Bemutatja, hogyan kódolhat és streamelhet a Widevine DRM használatával |
Súgó és támogatás
Kérdéseivel kapcsolatba léphet a Media Services szolgáltatással, vagy követheti a frissítéseket az alábbi módszerek egyikével:
- Q & A
- Stack Overflow. Kérdések címkézése a következővel:
azure-media-services
. - @MSFTAzureMediavagy @AzureSupport használatával kérhet támogatást.
- Nyisson meg egy támogatási jegyet a Azure Portal keresztül.