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

Media Services embléma v3


Figyelmeztetés

Az Azure Media Services 2024. június 30-án megszűnik. További információkért lásd az AMS kivezetési útmutatóját.

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 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álisjog-kezelési (DRM) rendszer bármelyikével: Microsoft PlayReady, Google Widevine és Apple FairPlay.

A FairPlay Streaming egy Olyan Apple-technológia, amely csak az iOS-eszközökön, az Apple TV-n és a Safariban macOS-en HTTP Live Streaming (HLS) keresztül továbbított videókhoz érhető el. A Media Services emellett AES-kulcsok és DRM-licencek (PlayReady, Widevine és FairPlay) továbbítására is kínál szolgáltatást a jogosult ügyfeleknek. Ha a tartalom titkosítva van egy AES tiszta kulccsal, és HTTPS-en keresztül van elküldve, nem lesz tiszta, amíg el nem éri az ügyfelet.

A Media Services v3-ban egy tartalomkulcs van társítva a Streamelési lokátorhoz (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 tartalomkulccsal kell rendelkeznie két adatközpontban.

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ásbó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 a Media Services ügyfélkódtárat használhatja 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 TLS 1.2-t kényszerítik a KeyDelivery, a RESTv2, a streamvégpont és az élő esemény streamelési forrásának minden kéréséhez. A meglévő TLS 1.0- vagy 1.1-használattal rendelkező fiókok mentesülnek a kényszerítés alól. Ha szeretné kikényszeríteni a TLS 1.2-t a médiaszolgáltatások végpontjaira irányuló összes kérése esetében, forduljon az AMS ügyfélszolgálatához.

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 (lejátszónak) meg kell felelnie a szabályzatnak, mielőtt a kulcs kézbesíthető lenne az ügyfélnek. A tartalomkulcs-szabályzat nyitott vagy jogkivonat-korlátozással rendelkezhet.

Egy 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érelemben. 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ó. Úgy kell konfigurálni, hogy létrehozhasson egy, a megadott kulccsal aláírt jogkivonatot, és a jogkivonat-korlátozás konfigurációjában megadott jogcímeket adjon ki. A Media Services licenc-/kulcskézbesítési szolgáltatás visszaadja a kért licencet vagy kulcsot 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 jogkivonat alá lett írva. A kibocsátó az STS, amely a jogkivonatot bocsátja ki. A célközönség , más néven hatókör, leírja annak a jogkivonatnak vagy erőforrásnak a szándékát, amelyhez a jogkivonat hozzáférést engedélyez. A Media Services licenc-/kulcskézbesítési szolgáltatás ellenőrzi, hogy a jogkivonat értékei egyeznek-e a sablonban szereplő értékekkel.

Jogkivonat-visszajátszás megakadályozása

A Token Replay Prevention funkcióval megadhatja, 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 jogkivonatban, ahol az érték az a szám, ahányszor a jogkivonat használható licenc vagy kulcs beszerzéséhez. Minden, a Key Deliverynek azonos jogkivonattal rendelkező további 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álaszsal elutasítja azokat a jogkivonatokkal rendelkező kéréseket, amelyek lejárati ideje több mint egy óra a kérelem beérkezésétől számítva.
  • A tokeneket 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, amelyet a Key Delivery még nem látott.
  • A lejátszás meghiúsul, ha a jogkivonat túllépte az maxuses értéket.
  • Minden meglévő védett tartalomhoz használható (csak a kiadott 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 rugalmasabb vagy szigorúbb szabályozásra van szüksége az STS és az előfizetői számlázási rendszer integrálásához.

    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 szeretné egyeztetni a jogkivonatban szereplő jogcímeket az előfizető csomagjával, 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.

  • Ha egyéni jogcímeket szeretne belefoglalni a jogkivonatba, hogy különböző ContentKeyPolicyOptions elemek közül válasszon különböző DRM-licencparaméterekkel, például egy előfizetési licenc és egy bérleti licenc között.

  • Olyan jogcím belefoglalá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 objektumhoz, 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-titkos kulcspárok titkos kulccsal titkosítják/generálják a JWT-t, valamint 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 .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 használatával 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 Description
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ódolhatja é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ódolhatja és streamelhet a 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ódolhatja és streamelhet a Widevine DRM használatával

Súgó és támogatás

Kérdéseket tehet fel a Media Serviceshez, vagy kövesse a frissítéseket az alábbi módszerek egyikével: