Aracılığıyla paylaş


Korumalı Medya Yolu

Bu konuda birbiriyle ilişkili üç konu ele alınmaktadır: korumalı ortam, medya birlikte çalışabilirlik ağ geçidi ve iptal ve yenileme.

  • Korumalı ortam (PE), korumalı içeriğin Windows Vista'dan korumalı bir şekilde ve windows vista üzerinden akmasını sağlayan bir dizi teknolojidir. Korumalı bir ortamdaki tüm bileşenlere güvenilir ve işlem kurcalamaya karşı korunur.
  • Korumalı medya yolu (PMP), korumalı bir ortamda çalışan bir yürütülebilir dosyadır.
  • PE'deki güvenilir bir bileşenin güvenliği tehlikeye girerse, son işlemden sonra iptal edilir. Ancak Microsoft, kullanılabilir olduğunda bileşenin daha yeni bir güvenilen sürümünü yüklemek için bir yenileme mekanizması sağlar.

Kod imzalama korumalı medya bileşenleri hakkında bilgi için Windows Vista 'da Korumalı Medya Bileşenleri için Kod İmzalamateknik incelemesine bakın.

Bu konu aşağıdaki bölümleri içerir:

Korumalı Ortam

İçerik koruması, her biri içerik sahibinin veya sağlayıcının amacı ile tutarsız bir şekilde içeriğin kullanılamamasını sağlamaya çalışan birden çok teknolojiyi kapsar. Bu teknolojiler arasında kopyalama koruması, bağlantı koruması, koşullu erişim ve dijital hak yönetimi (DRM) yer alır. Her birinin temeli güvendir: İçeriğe erişim yalnızca söz konusu içeriğe atanan kullanım koşullarına uygun yazılım bileşenlerine verilir.

Windows Vista ve Media Foundation Software, korumalı içeriğe karşı tehditleri en aza indirmek için güvenilen kodun korumalı bir ortamda çalışmasını sağlar. PE, içerik korsanlığından korunmayı artırmak için tasarlanmış bileşenler, yönergeler ve araçlar kümesidir.

PE'yi daha yakından incelemeden önce, simge durumuna küçültmek için tasarlandığı tehditleri anlamak önemlidir. Bir medya uygulamasını kullanıcı modu işleminde çalıştırdığınızı varsayalım. Uygulama, kod çözücüler gibi medya eklentileri içeren çeşitli dinamik bağlantı kitaplıklarına (DLL' ler) bağlanır. Diğer işlemler de kullanıcı modunda çalışır ve çeşitli sürücüler çekirdekte yüklenir. Hiçbir güven mekanizması mevcut değilse, aşağıdaki tehditler vardır:

  • Uygulama korumalı medyaya doğrudan erişebilir veya işlem belleğini hackleyebilir.
  • Eklentiler içeriğe doğrudan erişebilir veya işlem belleğini hackleyebilir.
  • Diğer işlemler, medya işlem belleğini doğrudan veya kod ekleyerek hackleyebilir.
  • Çekirdek sürücüleri medya işlemi belleğini hackleyebilir.
  • İçerik, korumasız bir ortam üzerinden sistemin dışına gönderilebilir. (Bağlantı koruması bu tehditlere karşı azaltmak için tasarlanmıştır.)

Korumalı Ortamın Tasarımı

Korumalı ortam, medya uygulamasından ayrı bir korumalı işlemde çalışır. Windows Vista'nın korumalı işlem özelliği, diğer işlemlerin korumalı işleme erişmesini durdurur.

Korumalı bir işlem oluşturulduğunda, çekirdek çekirdek bileşenleri güvenilmeyen bileşenleri ve eklentileri tanımlar, böylece korumalı ortam bunları yüklemeyi reddedebilir. Güvenilir bileşen, Microsoft tarafından uygun şekilde imzalanmış olan bileşendir. Çekirdek ayrıca içine yüklenen modülleri de izler ve güvenilmeyen bir modül yüklenirse korumalı ortamın korumalı içeriğin kayıttan yürütülmesini durdurmasını sağlar. Çekirdek bileşeni yüklenmeden önce çekirdek, güvenilir olup olmadığını denetler. Değilse, PE'de zaten güvenilen bileşenler korumalı içeriği işlemeyi reddeder. Bunu etkinleştirmek için PE bileşenleri düzenli aralıklarla çekirdekle şifreleme korumalı bir el sıkışması gerçekleştirir. Güvenilmeyen bir çekirdek modu bileşeni varsa, el sıkışması başarısız olur ve PE'ye güvenilmeyen bir bileşenin var olduğunu gösterir.

Güvenilir bir bileşenin güvenliği tehlikeye girerse, son işlemden sonra iptal edilebilir. Microsoft, kullanılabilir olduğunda daha yeni bir güvenilir sürüm yüklemek için bir yenileme mekanizması sağlar.

Korumalı Medya Yolu

Korumalı medya yolu (PMP), Media Foundation için birincil PE yürütülebilir dosyasıdır. Üçüncü taraf içerik koruma mekanizmalarının desteklenmesi için PMP genişletilebilir.

PMP, üçüncü taraflar tarafından sağlananlar da dahil olmak üzere herhangi bir içerik koruma sistemini kullanarak herhangi bir Media Foundation kaynağından korumalı içeriği ve ilişkili ilkeleri kabul eder. Havuz kaynak tarafından belirtilen ilkelerle uyumlu olduğu sürece herhangi bir Media Foundation havuzuna içerik gönderir. Ayrıca, güvenilir oldukları sürece üçüncü taraf dönüşümleri de dahil olmak üzere kaynak ve havuz arasındaki dönüşümleri destekler.

PMP, medya uygulamasından yalıtılmış korumalı bir işlemde çalışır. Uygulama yalnızca PMP ile komut ve denetim iletileri alışverişi yapma özelliğine sahiptir, ancak PMP'ye geçirildikten sonra içeriğe erişimi yoktur. Aşağıdaki diyagramda bu işlem gösterilmektedir.

Korumalı medya yoludiyagramı

Gölgeli kutular, üçüncü taraflar tarafından sağlanabilecek bileşenleri temsil eder. Korumalı işlem içinde oluşturulan tüm bileşenler imzalı ve güvenilir olmalıdır.

Uygulama, korumalı işlem içinde Medya Oturumu'nun bir örneğini oluşturur ve arabirim işaretçilerini işlem sınırı boyunca sıralayan bir ara sunucu Medya Oturumu işaretçisi alır.

Medya kaynağı, burada gösterildiği gibi uygulama işlemi içinde veya korumalı işlemin içinde oluşturulabilir. Medya kaynağı uygulama işleminin içinde oluşturulursa, kaynak korumalı işlemde kendisi için bir ara sunucu oluşturur.

Kod çözücüler ve medya havuzları gibi diğer tüm işlem hattı bileşenleri korumalı işlemde oluşturulur. Bu nesneler uygulamalar için özel arabirimler sunuyorsa, arabirimi sıralamak için bir DCOM proxy/saplama sağlamaları gerekir.

PMP, korumalı içerik üzerinde işlem hattından geçerken ilkeyi zorunlu kılmak için üç tür bileşen kullanır: giriş güven yetkilileri (ITA), çıkış güven yetkilileri (OTA'lar) ve ilke nesneleri. Bu bileşenler, içeriği kullanma hakları vermek veya kısıtlamak ve yüksek bant genişliğine sahip Dijital İçerik Koruması (HDCP) gibi içerik yürütülirken kullanılması gereken bağlantı korumalarını belirtmek için birlikte çalışır.

Giriş Güveni Yetkilileri

BTA, güvenilir bir medya kaynağı tarafından oluşturulur ve çeşitli işlevler gerçekleştirir:

  • İçerik kullanma haklarını belirtir. Haklar içerik oynatma, bir cihaza aktarma gibi hakları içerebilir. Onaylı çıkış koruma sistemlerinin sıralı bir listesini ve her sistem için ilgili çıkış ilkelerini tanımlar. ITA bu bilgileri bir ilke nesnesinde depolar.
  • İçeriğin şifresini çözmek için gereken şifre çözücü sağlar.
  • ITA'nın güvenilir bir ortamda çalıştığından emin olmak için korumalı ortamda çekirdek modülüne güven oluşturur.

ITA, korumalı içerik içeren tek bir akışla ilişkilendirilir. Bir akışın yalnızca bir ITA'sı olabilir ve bir ITA örneği yalnızca bir akışla ilişkilendirilebilir.

Çıkış Güven Yetkilileri

OTA, güvenilir bir çıkışla ilişkilendirilir. OTA, güvenilir çıkışın içerik üzerinde kayıttan yürütme veya kopyalama gibi gerçekleştirebileceği bir eylemi kullanıma sunar. Rolü, ITA tarafından gerekli kılınan bir veya daha fazla çıkış koruma sistemini zorunlu kılmaktır. OTA, ita tarafından sağlanan ilke nesnesini sorgulayarak hangi koruma sistemini zorlaması gerektiğini belirler.

İlke Nesneleri

İlke nesnesi, BIR ITA'nın içerik koruma gereksinimlerini kapsüller. İlke altyapısı tarafından bir OTA ile içerik koruma desteği anlaşması yapmak için kullanılır. OTAs, geçerli içeriğin her çıkışında hangi koruma sistemlerini zorlaması gerektiğini belirlemek için ilke nesnelerini sorgular.

PMP'de Nesne Oluşturma

Korumalı medya yolunda (PMP) bir nesne oluşturmak için, IMFMediaSource, belirtilen giriş IStream aşağıdaki şekilde biçimlendirilmiş şekilde IMFPMPHostApp::ActivateClassByIdçağrısı yapar:

Format: (All DWORD values are serialized in little-endian order)
[GUID (content protection system guid, obtained from Windows.Media.Protection.MediaProtectionSystemId)]
[DWORD (track count, use the actual track count even if all tracks are encrypted using the same data, note that zero is invalid)]
[DWORD (next track ID, use -1 if all remaining tracks are encrypted using the same data)]
[DWORD (next track's binary data size)]
[BYTE* (next track's binary data)]
{ Repeat from "next track ID" above for each stream }

İlke Anlaşmasına Genel Bakış

Korumalı içeriğin PMP'de işlenebilmesi için karşılanması gereken üç temel gereksinim vardır. İlk olarak, korumalı içerik yalnızca güvenilen çıkışlara gönderilmelidir. İkincisi, bir akışa yalnızca izin verilen eylemlerin uygulanması gerekir. Üçüncü olarak, bir akışı yürütmek için yalnızca onaylı çıkış koruma sistemleri kullanılmalıdır. İlke altyapısı, bu gereksinimlerin karşılandığından emin olmak için ITA'lar ve OTA'lar arasında eşgüdüm sağlar.

İşlemi anlamanın en kolay yolu, Windows Media Digital Rights Management (WMDRM) tarafından korunan Gelişmiş Sistem Biçimi (ASF) içeriğini oynatmak için gereken adımları tanımlayan basitleştirilmiş bir örnek üzerinden geçmektir.

Kullanıcı bir oynatıcı uygulamasını başlattığında ve korumalı ses akışı ve korumalı video akışına sahip bir ASF dosyası açtığında aşağıdaki adımların gerçekleştirilmesi gerekir:

  1. Uygulama ASF medya kaynağını ve korumalı medya yolu (PMP) oturumunu oluşturur. Media Foundation bir PMP işlemi oluşturur.
  2. Uygulama, ses işleyicisine bağlı bir ses kaynağı düğümü ve gelişmiş video işleyiciye (EVR) bağlı bir video kaynak düğümü içeren kısmi bir topoloji oluşturur. İşleyiciler için uygulama doğrudan işleyiciyi oluşturmaz. Bunun yerine, uygulama korumasız işlemde etkinleştirme nesnesi olarak bilinen bir nesneyioluşturur. PMP, korumalı işlemde işleyicileri oluşturmak için etkinleştirme nesnesini kullanır. (Etkinleştirme nesneleri hakkında daha fazla bilgi için bkz. Etkinleştirme Nesneleri.)
  3. Uygulama, PMP oturumunda kısmi topolojiyi ayarlar.
  4. PMP oturumu topolojiyi serileştirir ve korumalı işlemde PMP konağına geçirir. PMP konağı topolojiyi ilke altyapısına gönderir.
  5. Topoloji yükleyicisi, ITA'larda IMFInputTrustAuthority::GetDecrypter çağırır ve şifre çözücüleri ilgili kaynak düğümlerin hemen aşağı akışına topolojiye ekler.
  6. Topoloji yükleyicisi, decrypter düğümlerinin ses ve video kod çözücülerinin aşağı akışını ekler.
  7. İlke altyapısı, eklenen düğümleri tarayarak IMFTrustedOutput arabirimini uygulayıp uygulamadığını belirler. EVR ve ses işleyicisi, PMP dışında veri gönderdiğinden IMFTrustedOutputuygular.
  8. Her ITA, korumalı bir ortam çekirdek modülüyle şifreleme el sıkışması gerçekleştirerek korumalı bir işlem içinde çalıştığını onaylar.
  9. her akış için ilke altyapısı, ITA'dan bir ilke nesnesi alıp OTA'ya geçirerek ilkeyi pazarlığa ekler. OTA, desteklediği koruma sistemlerinin listesini sağlar ve ilke nesnesi doğru ayarların yanı sıra hangi koruma sistemlerinin uygulanması gerektiğini belirtir. Ardından OTA bu ayarları uygular. Bunu yapamazsa içerik engellenir.

İptal ve Yenileme

Güvenilir bir bileşen tehlikeye girerse veya başlangıçta güvenildiği lisans sözleşmelerini ihlal ettiği tespit edilirse iptal edilebilir. Bileşenin daha yeni, daha güvenilir bir sürümünü yüklemek için bir yenileme mekanizması vardır.

Güvenilen bileşenler bir şifreleme sertifikası kullanılarak imzalı. Microsoft, iptal edilmiş bileşenleri tanımlayan bir genel iptal listesi (GRL) yayımlar. GRL, orijinalliğini sağlamak için dijital olarak imzalanır. İçerik sahipleri, ilke mekanizması aracılığıyla GRL'nin geçerli sürümünün kullanıcının bilgisayarında mevcut olduğundan emin olabilir.

Premium video içeriği görüntülendiğinde, şifresi çözülmüş, sıkıştırılmamış çerçeveler fiziksel bir bağlayıcı üzerinden görüntü cihazına geçer. İçerik sağlayıcıları, fiziksel bağlayıcı boyunca seyahat ettikleri için video çerçevelerinin bu noktada korunmasını gerektirebilir. Bu amaçla High-Bandwidth Dijital İçerik Koruması (HDCP) ve DisplayPort İçerik Koruması (DPCP) dahil olmak üzere çeşitli koruma mekanizmaları mevcuttur. Video OTA, Output Protection Manager (OPM) kullanarak bu korumaları uygular. Çıkış Koruma Yöneticisi grafik sürücüsüne komutlar gönderir ve grafik sürücüsü ilkenin gerektirdiği bağlantı koruma mekanizmalarını zorunlu tutmaktadır.

video ota ile opm arasındaki ilişkiyi gösteren bir diyagram .

Media Foundation Hakkında

Media Foundation Mimarisi

İçerik Koruma GPU-Based

Çıktı Koruma Yöneticisi

PMP Medya Oturumu