Tartalomvédelem dinamikus titkosítással és kulcskézbesítéssel

Media Services embléma v3


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.

tartalomvédelmi rendszer

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: