Dinamik şifreleme ve anahtar teslimi ile içerik koruması

Media Services logosu v3


Uyarı

Azure Media Services 30 Haziran 2024'de kullanımdan kaldırılacak. Daha fazla bilgi için bkz. AMS Kullanımdan Kaldırma Kılavuzu.

Azure Media Services'ı kullanarak medyanızın bilgisayarınızdan ayrıldığı zamandan itibaren depolama, işleme ve teslim işlemleri boyunca güvenliğini sağlayın. Media Services ile canlı ve isteğe bağlı içeriğinizi Gelişmiş Şifreleme Standardı (AES-128) veya üç büyük dijital hak yönetimi (DRM) sisteminden herhangi biriyle dinamik olarak şifrelenmiş olarak sunabilirsiniz: Microsoft PlayReady, Google Widevine ve Apple FairPlay.

FairPlay Streaming yalnızca iOS cihazlarda, Apple TV'de ve macOS üzerinde Safari'de HTTP Canlı Akışı (HLS) üzerinden aktarılan videolarda kullanılabilen bir Apple teknolojisidir. Media Services ayrıca yetkili istemcilere AES anahtarları ve DRM (PlayReady, Widevine ve FairPlay) lisansları teslim etmek için bir hizmet sağlar. İçerik bir AES şifresiz anahtarıyla şifrelenirse ve HTTPS üzerinden gönderilirse, istemciye ulaşana kadar net değildir.

Media Services v3'te, Akış Bulucu ile bir içerik anahtarı ilişkilendirilir ( bu örnğe bakın). Media Services anahtar teslim hizmetini kullanıyorsanız, içerik anahtarını sizin için Azure Media Services'in oluşturmasına izin vekleyebilirsiniz. Kendi anahtar teslim hizmetinizi kullanıyorsanız veya iki veri merkezinde aynı içerik anahtarına sahip olmanız gereken yüksek kullanılabilirlik senaryosunu işlemeniz gerekiyorsa içerik anahtarı kendiniz oluşturulmalıdır.

Bir yürütücü tarafından akış istendiğinde Media Services, AES clear key veya DRM şifrelemesi kullanarak içeriğinizi dinamik olarak şifrelemek için belirtilen anahtarı kullanır. Akışın şifresini çözmek için oynatıcı, anahtarı Media Services anahtar teslim hizmetinden veya belirttiğiniz anahtar teslim hizmetinden ister. Kullanıcının anahtarı alma yetkisi olup olmadığını belirlemek için hizmet, anahtar için belirttiğiniz içerik anahtarı ilkesini değerlendirir.

içerik koruma sistemi

Lisanslarınız ve anahtarlarınız için yetkilendirme ve kimlik doğrulama ilkelerini yapılandırmak için REST API'yi veya Media Services istemci kitaplığını kullanabilirsiniz.

Widevine, GovCloud bölgesinde kullanılamaz.

Not

Media services, KeyDelivery, RESTv2, Akış Uç Noktası ve Canlı Olay akış kaynaklarına yönelik tüm istekler için TLS 1.2'yi zorunlu kılacaktır. Mevcut TLS 1.0 veya 1.1 kullanımına sahip hesaplar bu zorlamadan muaf tutulur. Bu medya hizmetleri uç noktalarına yönelik tüm istekleriniz için TLS 1.2'yi zorunlu kılmak istiyorsanız lütfen AMS desteğine başvurun.

DRM istemcilerini destekleyen tarayıcılar

Yaygın tarayıcılar aşağıdaki DRM istemcilerini destekler:

Tarayıcı Şifreleme
Chrome Widevine
Microsoft Edge, Internet Explorer 11 PlayReady
Firefox Widevine
Opera Widevine
Safari FairPlay

İçerik erişimini denetleme

İçerik anahtarı ilkesini yapılandırarak içeriğinize kimlerin erişebileceğini denetleyebilirsiniz. Media Services, anahtar isteğinde bulunan kullanıcıları yetkilendirmenin birden çok yöntemini destekler. Anahtarın istemciye teslim edilebilmesi için önce istemcinin (oynatıcı) ilkeyi karşılaması gerekir. İçerik anahtarı ilkesinde açık veya belirteç kısıtlaması olabilir.

Yetkisi olmayan herkese lisans vermek istediğinizde açık kısıtlı içerik anahtarı ilkesi kullanılabilir. Örneğin geliriniz reklam tabanlıysa ve abonelik tabanlı değilse.

Belirteç kısıtlanmış içerik anahtarı ilkesiyle, içerik anahtarı yalnızca geçerli bir JWT belirteci veya lisans/anahtar isteğinde basit bir web belirteci (SWT) sunan bir istemciye gönderilir. Bu belirtecin bir STS tarafından verilmesi gerekir.

sts olarak Azure AD kullanma

sts olarak Azure AD kullanabilirsiniz. Belirtilen anahtarla imzalanmış bir belirteç oluşturmak ve belirteç kısıtlama yapılandırmasında belirttiğiniz talepleri vermek için yapılandırılmalıdır. Media Services lisans/anahtar teslim hizmeti, şu koşulların her ikisi de varsa istenen lisansı veya anahtarı istemciye döndürür:

  • Belirteç geçerli.
  • Belirteçteki talepler, lisans veya anahtar için yapılandırılan taleplerle eşleşilir.

Belirteç kısıtlanmış ilkesini yapılandırırken birincil doğrulama anahtarını, vereni ve izleyici parametrelerini belirtmeniz gerekir. Birincil doğrulama anahtarı, belirtecin imzalandığı anahtarı içerir. Veren, belirteci veren STS'dir. Bazen kapsam olarak da adlandırılan hedef kitle, belirtecin veya belirtecin erişim yetkisi verilen kaynağın amacını açıklar. Media Services lisans/anahtar teslim hizmeti, belirteçteki değerlerin şablondaki değerlerle eşleşdiğini doğrular.

Belirteç yeniden yürütme engellemesi

Belirteç Yeniden Yürütme Önleme özelliği, bir anahtar veya lisans istemek için aynı belirtecin kaç kez kullanılabileceğini belirlemenizi sağlar. Belirtecin türüne urn:microsoft:azure:mediaservices:maxuses sahip bir talep ekleyebilirsiniz; burada değer, belirtecin bir lisans veya anahtar almak için kaç kez kullanılabileceğini gösterir. Anahtar Teslimi'ne aynı belirteci içeren sonraki tüm istekler yetkisiz yanıt döndürür.

Dikkat edilmesi gerekenler

  • Belirteç oluşturma üzerinde denetiminiz olmalıdır. Talebin belirtecin kendisine yerleştirilmesi gerekir.
  • Bu özelliği kullanırken, süresi isteğin alındığı zamana bir saatten fazla uzaklıkta olan belirteçlere sahip istekler yetkisiz bir yanıtla reddedilir.
  • Belirteçler, imzalarıyla benzersiz olarak tanımlanır. Yükte yapılan herhangi bir değişiklik (örneğin, bitiş tarihine veya talepe güncelleştirin) belirtecin imzasını değiştirir ve Anahtar Teslimi'nin daha önce karşı karşıya gelmediği yeni bir belirteç olarak sayılır.
  • Belirteç değeri aştıysa maxuses kayıttan yürütme başarısız olur.
  • Var olan tüm korumalı içerik için kullanılabilir (yalnızca verilen belirtecin değiştirilmesi gerekir).
  • Hem JWT hem de SWT ile çalışır.

Özel STS kullanma

Belirteçleri sağlamak için özel bir STS kullanmayı seçebilirsiniz. Nedenler şunlardır:

  • Kimlik sağlayıcınız (IDP) STS'yi desteklemiyor.

  • STS'yi abone faturalama sisteminizle tümleştirmek için daha esnek veya daha sıkı bir denetime ihtiyacınız olabilir.

    Örneğin, bir OTT hizmet operatörü premium, temel ve spor gibi birden çok abone paketi sunabilir. İşleç, yalnızca belirli bir paketteki içeriklerin kullanılabilir duruma getirebilmesi için belirteçteki talepleri abonenin paketiyle eşleştirmek isteyebilir. Bu durumda, özel bir STS gerekli esnekliği ve denetimi sağlar.

  • Farklı DRM lisans parametrelerine sahip farklı ContentKeyPolicyOptions arasında seçim yapmak için belirteçte özel talepler eklemek için ( örneğin, abonelik lisansı ve kiralama lisansı).

  • Belirtecin erişim iznini veren anahtarın içerik anahtarı tanımlayıcısını temsil eden bir talep eklemek için.

Özel sts kullandığınızda, iki değişiklik yapılmalıdır:

  • Bir varlık için lisans teslim hizmetini yapılandırırken, Azure AD geçerli anahtarı yerine özel STS tarafından doğrulama için kullanılan güvenlik anahtarını belirtmeniz gerekir.
  • JTW belirteci oluşturulduğunda, Azure AD'da geçerli X509 sertifikasının özel anahtarı yerine bir güvenlik anahtarı belirtilir.

İki tür güvenlik anahtarı vardır:

  • Simetrik anahtar: Bir JWT oluşturmak ve doğrulamak için aynı anahtar kullanılır.
  • Asimetrik anahtar: X509 sertifikasındaki ortak-özel anahtar çifti, bir JWT şifrelemek/oluşturmak için özel anahtarla ve belirteci doğrulamak için ortak anahtarla birlikte kullanılır.

Not

Geliştirme platformunuz olarak .NET Framework/C# kullanıyorsanız, asimetrik güvenlik anahtarı için kullanılan X509 sertifikasının anahtar uzunluğu en az 2048 olmalıdır. Bu anahtar uzunluğu, .NET Framework'de System.IdentityModel.Tokens.X509AsymmetricSecurityKey sınıfının bir gereksinimidir. Aksi takdirde, şu özel durum oluşturulur: IDX10630: İmzalama için 'System.IdentityModel.Tokens.X509AsymmetricSecurityKey', '2048' bitten küçük olamaz.

Media Services dışında bir lisans/anahtar teslim hizmeti kullanma

Farklı bir lisans/anahtar teslim hizmeti kullanmak istiyorsanız anahtar ilkesi şablonlarını düzenleyebilirsiniz.

Nasıl yapılır, öğreticiler ve örnekler

.Net Dijital Hak Yönetimi örneği , .NET kullanarak Media Services v3 ile çoklu DRM sistemi uygulamayı gösterir.

Node.JS ve Python için ek içerik koruma örnekleri vardır:

Node.JS Python Description
Node.JS PlayReady ve Widevine DRM ile HLS ve DASH'i karşıya yükleme ve akışla izleme PlayReady ve Widevine DRM ile Python'ı Karşıya Yükleme ve HLS ve DASH akışı yapma Widevine ve PlayReady DRM kullanarak kodlama ve akış yapmayı gösterir
Node.JS Temel Playready DRM içerik koruması ve akışı Python Basic Playready DRM içerik koruması ve akışı PlayReady DRM kullanarak kodlama ve akış yapmayı gösterir
Node.JS Basic Widevine DRM içerik koruması ve akışı Python Basic Widevine DRM içerik koruması ve akışı Widevine DRM kullanarak kodlama ve akış yapmayı gösterir

Yardım ve destek alma

Sorularınız için Media Services ile iletişime geçebilir veya aşağıdaki yöntemlerden birini kullanarak güncelleştirmelerimizi izleyebilirsiniz: