Widevine: nedir, DRM ve güvenlik seviyeleri açıklaması

Yazar: IT Sectr Yayınlanma: 2026-05-24 Okuma süresi: 8 dk

Widevine, mobil cihazlarda, Smart TV'lerde ve web platformlarında video içeriğini yetkisiz kopyalamaya karşı korumak için Google tarafından geliştirilen bir DRM teknolojisidir. İçerik şifreleme, dünya çapında 4 milyar cihazda desteklenen CDM modülü aracılığıyla gerçekleştirilir. Widevine teknolojisi, Android, iOS, Chrome ve Smart TV ile uyumluluk sağlayarak akış hizmetlerinin herhangi bir platformda premium içeriği korumasına olanak tanır.

Önemli Noktalar

  • Widevine — mobil uygulamalarda ve web'de videoları korumak için Google'ın DRM çözümü.
  • Üç güvenlik seviyesi: L1 (donanım şifreleme), L2 (yazılım), L3 (yalnızca bulutta güvenli).
  • CDM — Content Decryption Module, içeriğin şifresini çözmek için anahtar bileşen.
  • Lisanslama, kod çözme için anahtarlar yayınlayan Google lisans sunucusu aracılığıyla yönetilir.
  • EME (Encrypted Media Extensions) ile uyumluluk, herhangi bir tarayıcıda çalışmasına izin verir.

Widevine nedir?

Widevine, Google tarafından 2010 yılında satın alınan ve Android ekosisteminde video içeriğini korumak için fiili standart haline gelen tescilli bir DRM teknolojisidir. Netflix, Amazon Prime Video, Disney+ ve Hulu dahil olmak üzere büyük akış hizmetleri tarafından içeriğin yetkisiz kopyalanmasını ve dağıtılmasını önlemek için kullanılır.

Widevine, güvenli bir lisanslama kanalı aracılığıyla yalnızca yetkili cihazlara iletilen içerik anahtarlarını kullanarak AES-128 CBC şifrelemesini destekler. Sistem, sunucudaki şifrelemeden kullanıcının cihazındaki kod çözmeye kadar uçtan uca koruma sağlar.

Widevine'in tarihi ve gelişimi

Widevine Technologies 1999 yılında kuruldu ve başlangıçta kablolu televizyon platformlarında içerik koruması için çözümler geliştirdi. 2010 yılında Google tarafından satın alındıktan sonra teknoloji, mobil platformlar için uyarlandı ve Android işletim sistemine 4.4 KitKat sürümünden itibaren entegre edildi. 2015'ten bu yana Widevine, Google Mobile Services sertifikasyonunun zorunlu bir bileşeni haline gelmiştir.

2018'de Google, cihaz üreticilerinin işletim sistemi kodunu değiştirmeden donanımda farklı koruma seviyeleri uygulamasına olanak tanıyan Widevine Modular DRM'yi tanıttı. Bugün, Widevine Modular 4 milyardan fazla cihazda desteklenmektedir ve Android'deki birincil DRM mekanizmasıdır.

Widevine mimarisi

Widevine mimarisi üç temel bileşenden oluşur: Content Decryption Module (CDM), lisans sunucusu ve içerik şifreleme aracı. CDM, istemci tarafında şifre çözmeyi gerçekleştirir ve güvenli anahtar depolama için donanım Trusted Execution Environment (TEE) ile etkileşime girer.

Google lisans sunucusu, zaman, cihaz sayısı ve oynatma kalitesi konusunda kısıtlamalar tanımlayan içerik sağlayıcı politikalarına dayalı olarak anahtar yayınlamayı yönetir. Şifreleme aracı, içeriği sağlayıcı tarafında hazırlayarak CENC şifrelemesi ile MPEG-DASH veya HLS formatında paketler.

Widevine DRM nasıl çalışır?

Koruma süreci, medya dosyasının sağlayıcının sunucusunda bir içerik anahtarı kullanılarak şifrelendiği içerik paketleme aşamasında başlar. Şifrelenmiş akış, CDN aracılığıyla kullanıcının cihazına iletilir ve burada CDM, lisans sunucusundan bir lisans talep eder.

Lisans sunucusu, cihazın kimliğini ve içeriğe erişim hakkını doğrular. Doğrulama başarılı olursa, sunucu CDM'nin şifre çözmek için kullandığı anahtar içeren bir lisans yayınlar. Lisans, izleme süresi ve çözünürlük konusunda kısıtlamalar içerebilir.

Lisans değişim protokolü

Widevine'de lisans değişimi, tarayıcılarda EME (Encrypted Media Extensions) protokolü veya mobil platformlarda SDK aracılığıyla uygulanır. Lisans talebi CDM tarafından oluşturulur ve HTTPS üzerinden lisans sunucusuna gönderilir, bu da aktarım sırasında anahtarların ele geçirilmesine karşı koruma sağlar.

Sunucu talebi işler ve yalnızca cihazın CDM'si tarafından şifresi çözülebilen şifrelenmiş bir lisans döndürür. Anahtarın belirli bir cihaza donanım bağlaması, diğer platformlara aktarılmasını önler.

Şifreleme standartları desteği

Widevine, ISO/IEC 23001-7'de tanımlanan Common Encryption (CENC) standartlarını kullanarak MPEG-DASH ve HLS formatlarıyla uyumluluk sağlar. Medya akışlarını korumak için CTR veya CBC modunda AES-128 şifrelemesi kullanılır.

Anahtar türetme için HKDF (HMAC-based Key Derivation Function) kullanılır ve içeriğin her bir bölümü için benzersiz anahtarlar oluşturulmasına olanak tanır. Widevine'de HLS desteği, Modular sürüm 2.0 ile eklenmiş ve Apple platformlarıyla uyumluluğu genişletmiştir.

Android'de lisans talebi örneği

kotlin
@Throws
fun requestLicense(): ByteArray {
    val drmSessionManager = mediaDrm.createSession(
        sessionId,
        List("keyRequestType", "init")
    )
    val request = mediaDrm.getKeyRequest(
        sessionId,
        schemeData.get("mimeType"),
        KeyType.STREAMING,
        mutableMapOf()
    )
    return licenseService.acquire(request.data)
}

Widevine güvenlik seviyeleri: L1, L2, L3

Widevine, kriptografik işlemlerin gerçekleştirilme ve içeriğin işlenme şekline göre farklılık gösteren üç güvenlik seviyesi tanımlar. L1 seviyesi maksimum koruma sağlar, L3 minimum koruma sağlar ve L2 orta konumdadır.

SeviyeKoruma türüCihaz gereksinimleriMaksimum çözünürlük
L1DonanımSoC düzeyinde TEE4K Ultra HD
L2HibritAnahtarlar için TEE, video için yazılım1080p
L3YazılımYalnızca yazılım CDM720p

L1 seviyesi — donanım şifreleme

L1 seviyesi, tüm kriptografik işlemlerin gerçekleştirildiği donanım düzeyinde bir Trusted Execution Environment (TEE) gerektirir. İçerik anahtarları TEE'den asla ayrılmaz, ana işletim sistemi tehlikeye girse bile bunların çıkarılmasını önler.

L1 sertifikasına sahip cihazlar, şifresi çözülmüş video akışı kullanıcı işlemlerinin erişimi olmadan doğrudan korumalı bir video çıkışına gönderildiğinden 4K kalitesinde ve HDR'de içerik oynatabilir.

L3 seviyesi — yazılım şifreleme

L3 seviyesi, tüm kriptografik işlemleri normal kullanıcı alanında yazılımla gerçekleştirir. Bu, anahtarların cihazın RAM'inden çıkarılabildiği en az güvenli moddur.

Widevine L3, oynatma kalitesini 720p ile sınırlar ve bu da onu düşük seviyeli cihazlarda veya donanım koruması olmayan masaüstü tarayıcılarda izlemek için uygun hale getirir.

Bir cihazda güvenlik seviyesini kontrol etme

kotlin
fun getSecurityLevel(): String {
    val mediaDrm = MediaDrm(UUID.fromString(
        "edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"
    ))
    val level = mediaDrm.getPropertyString(
        "securityLevel"
    )
    return level.ifEmpty { "L3" }
}

Widevine'in mobil uygulamalara entegrasyonu

Widevine'in mobil uygulamalara entegrasyonu, standart MediaDrm (Android) ve AVContentKeySession (iOS) API'leri aracılığıyla gerçekleştirilir. Çoğu durumda, geliştiricinin doğrudan DRM ile çalışması gerekmez — ExoPlayer ve AVPlayer gibi oynatıcı kitaplıkları lisanslamayı otomatik olarak halleder.

Android'de entegrasyon

Android'de Widevine, CDM'ye doğrudan erişim sağlayan MediaDrm sınıfı aracılığıyla entegre edilir. Akış uygulamaları için, lisans taleplerini otomatik olarak yöneten DrmSessionManager modülü ile ExoPlayer kullanılması önerilir.

Oynatıcı başlatılırken Widevine şeması UUID'si (`edef8ba9-79d6-4ace-a3c8-27dcd51d21ed`) ve içerik sağlayıcı tarafından sağlanan lisans sunucusu URL'si belirtilmelidir. ExoPlayer, lisans talep ve yenileme döngüsünü otomatik olarak yönetir.

Widevine için ExoPlayer yapılandırması

kotlin
val drmLicenseUrl = "https://license.service.com/wv"
val mediaItem = MediaItem.Builder()
    .setUri(Uri.parse(streamUrl))
    .setDrmKeyRequestUrl(drmLicenseUrl)
    .setDrmKeyRequestHeaders(
        mapOf("Authorization" to token)
    )
    .build()

val exoPlayer = ExoPlayer.Builder(context)
    .build()
exoPlayer.setMediaItem(mediaItem)
exoPlayer.prepare()

Web oynatıcılarla entegrasyon

Web platformlarında Widevine, Media Source Extensions (MSE) ve Encrypted Media Extensions (EME) aracılığıyla çalışır. Chromium tabanlı tarayıcılarda Widevine CDM yerleşiktir ve geliştiricinin yalnızca doğru yapılandırmayla bir EME oturumu başlatması gerekir.

Bir tarayıcıda Widevine kullanmak için keySystem türü `com.widevine.alpha` ile bir lisans başlatıcı belirtilmelidir. Bir MediaKeys örneği oluşturulduktan sonra tarayıcı, lisans taleplerini otomatik olarak yönetir.

Lisanslama hatalarını yönetme

Widevine entegre edilirken, erişim haklarının olmaması, aboneliğin sona ermesi veya cihaz uyumsuzluğu nedeniyle oluşan lisanslama hatalarının doğru şekilde yönetilmesi önemlidir. TYPE_EXPIRED_LICENSE hatası, sunucuya yeniden talep yoluyla lisansın güncellenmesini gerektirirken, TYPE_OUTPUT_NOT_ALLOWED video çıkışının DRM politikalarıyla uyumsuzluğunu gösterir.

Geçici ağ hataları için üstel geri alma ile yeniden deneme mekanizması uygulanması ve kalıcı lisanslama başarısızlıklarında kullanıcıya net bir mesaj gösterilmesi önerilir. DRM oturum hatalarının günlüğe kaydedilmesi, içerik sağlayıcılarının cihaz sorunlarını belirlemesine ve politikaları optimize etmesine yardımcı olur.

Widevine ve alternatif DRM'ler

Widevine, Apple'ın FairPlay'i ve Microsoft'un PlayReady'si ile rekabet ederek mobil platform pazarındaki üç ana DRM çözümünü oluşturur. Her teknolojinin platform ekosistemiyle ilgili kendi avantajları ve sınırlamaları vardır.

DRM çözümlerinin karşılaştırması

ÖzellikWidevineFairPlayPlayReady
GeliştiriciGoogleAppleMicrosoft
Birincil platformAndroid, ChromeiOS, tvOS, SafariWindows, Xbox, UWP
Maksimum seviyeL1 (4K)L1'e eşdeğer (4K)SL3000 (4K)
Donanım korumasıTEESecure EnclaveTPM + TEE

Bir proje için DRM seçimi

DRM seçimi, uygulamanın hedef platformlarına bağlıdır. Android öncelikli projeler için Widevine doğal seçimdir çünkü Google Mobile Services ile tüm sertifikalı cihazlarda önceden yüklenmiş olarak gelir ve ek lisans ücreti gerektirmez.

Platformlar arası projeler için, üç DRM sistemiyle de çalışmak için birleşik bir API sağlayan Axinom, EZDRM ve Vualto gibi lisans toplayıcılarla çoklu DRM yaklaşımı sıklıkla kullanılır. Bu, entegrasyon karmaşıklığını azaltır ve lisans yönetimini merkezileştirir.

Sıkça Sorulan Sorular

Widevine DRM nedir?

Widevine, dijital video içeriğini yetkisiz kopyalamaya karşı korumak için tasarlanmış bir Google DRM teknolojisidir. Akış hizmetleri tarafından videoları şifrelemek ve bir lisanslama sistemi aracılığıyla erişimi yönetmek için kullanılır.

Widevine hangi güvenlik seviyelerine sahiptir?

Widevine üç güvenlik seviyesini destekler: TEE'de donanım şifrelemesi ile L1, hibrit yaklaşımla L2 ve tamamen yazılım uygulamasıyla L3. L1, 4K içerik oynatmaya izin verir, L3, 720p kalitesiyle sınırlıdır.

Android'de Widevine seviyesi nasıl kontrol edilir?

Android'de Widevine seviyesini MediaDrm sınıfı aracılığıyla securityLevel özelliğini isteyerek kontrol edebilirsiniz. Bunun için Widevine UUID'si ile bir MediaDrm örneği oluşturun ve getPropertyString çağırın veya DRM Info gibi üçüncü taraf uygulamaları kullanın.

Widevine, FairPlay'den nasıl farklıdır?

Widevine Google tarafından Android ve Chrome için geliştirilirken, FairPlay iOS, tvOS ve Safari içindir. Her ikisi de donanım şifrelemesini ve 4K'yı destekler, ancak Widevine Android cihazlarda daha yaygınken, FairPlay Apple ekosisteminde fiili standarttır.

Widevine kullanmak için lisans gerekli midir?

Mobil uygulamada Widevine kullanmak için ayrı bir lisans gerekli değildir — teknoloji sertifikalı Android cihazlara ve Chrome'a yerleşiktir. Ücretler yalnızca lisans sunucusunu kullanan içerik sağlayıcılardan alınır.

Özet

  • Widevine, donanım veya yazılım şifrelemesi aracılığıyla video içeriği koruması sağlayan Android'deki birincil DRM mekanizmasıdır.
  • Üç güvenlik seviyesi L1, L2, L3, maksimum oynatma kalitesini ve anahtar koruma derecesini belirler.
  • CDM (Content Decryption Module), lisans anahtarlarını kullanarak istemci tarafında içerik şifre çözmeyi gerçekleştirir.
  • Entegrasyon, Android'de ExoPlayer, MediaDrm ve web platformlarında EME aracılığıyla yapılır.
  • iOS için FairPlay gereklidir ve bu da platformlar arası projeler için çoklu DRM yaklaşımını gerekli kılar.
  • Widevine Modular, CENC şifrelemesini destekler ve MPEG-DASH ile HLS formatlarıyla uyumludur.
  • Google lisans sunucusu, içerik sağlayıcı tarafından belirlenen politikalara dayalı olarak içerik erişimini yönetir.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun