Widevine: bu nima, DRM va xavfsizlik darajalari

Muallif: IT Sectr Nashr etilgan: 2026-05-24 O'qish vaqti: 8 daq

Widevine — Google tomonidan mobil qurilmalar, Smart TV va veb-platformalarda video kontentni ruxsatsiz nusxalashdan himoya qilish uchun ishlab chiqilgan DRM texnologiyasi. Kontentni shifrlash dunyo bo'ylab 4 milliard qurilmada qo'llab-quvvatlanadigan CDM moduli orqali amalga oshiriladi. Widevine texnologiyasi Android, iOS, Chrome va Smart TV bilan moslikni ta'minlab, striming xizmatlariga premium kontentni istalgan platformada himoya qilish imkonini beradi.

Asosiy nuqtalar

  • Widevine — mobil ilovalar va vebda videoni himoya qilish uchun Google-dan DRM yechimi.
  • Uch daraja xavfsizlik: L1 (apparat shifrlash), L2 (dasturiy), L3 (faqat bulutda xavfsiz).
  • CDM — Content Decryption Module, kontentni shifrdan ochish uchun asosiy komponent.
  • Litsenziyalash Google litsenziya serveri orqali boshqariladi, dekodlash uchun kalitlarni beradi.
  • Moslik EME (Encrypted Media Extensions) bilan istalgan brauzerda ishlash imkonini beradi.

Widevine nima?

Widevine — 2010-yilda Google tomonidan sotib olingan va Android ekotizimida video kontentni himoya qilish uchun de-fakto standartga aylangan xususiy DRM texnologiyasi. U Netflix, Amazon Prime Video, Disney+ va Hulu kabi eng yirik striming xizmatlari tomonidan kontentni ruxsatsiz nusxalash va tarqatishning oldini olish uchun ishlatiladi.

Widevine faqat vakolatli qurilmalarga xavfsiz litsenziyalash kanali orqali uzatiladigan kontent kalitlari yordamida AES-128 CBC standarti bo'yicha shifrlashni qo'llab-quvvatlaydi. Tizim serverda shifrlash paytidan foydalanuvchi qurilmasida dekodlashgacha bo'lgan yakuniy himoyani ta'minlaydi.

Widevine tarixi va rivojlanishi

Widevine Technologies kompaniyasi 1999-yilda tashkil etilgan va dastlab kabel televidenie platformalarida kontentni himoya qilish uchun yechimlar ishlab chiqqan. 2010-yilda Google tomonidan sotib olingandan so'ng, texnologiya mobil platformalar uchun moslashtirilgan va Android 4.4 KitKat versiyasidan boshlab operatsion tizimga integratsiya qilingan. 2015-yildan boshlab Widevine Google Mobile Services sertifikatsiyasining majburiy komponentiga aylandi.

2018-yilda Google Widevine Modular DRM-ni taqdim etdi, bu qurilma ishlab chiqaruvchilariga operatsion tizim kodini o'zgartirmasdan turli xil himoya darajalarini apparat darajasida amalga oshirish imkonini berdi. Bugungi kunda Widevine Modular 4 milliarddan ortiq qurilmada qo'llab-quvvatlanadi va Android-da asosiy DRM mexanizmi hisoblanadi.

Widevine arxitekturasi

Widevine arxitekturasi uchta asosiy komponentdan iborat: Content Decryption Module (CDM), litsenziya serveri va kontentni shifrlash vositasi. CDM mijoz tomonida shifrni ochishni amalga oshiradi va kalitlarni xavfsiz saqlash uchun apparat Trusted Execution Environment (TEE) bilan o'zaro aloqada bo'ladi.

Google litsenziya serveri kontent provayderining siyosatlari asosida kalitlarni berishni boshqaradi, bu siyosatlar vaqt cheklovlari, qurilmalar soni va ijro sifatini belgilaydi. Shifrlash vositasi provayder tomonida kontentni tayyorlaydi, uni CENC shifrlashi bilan MPEG-DASH yoki HLS formatida paketlaydi.

Widevine DRM qanday ishlaydi?

Himoya jarayoni kontentni paketlash bosqichidan boshlanadi, media fayl provayder serverida kontent kaliti yordamida shifrlanadi. Shifrlangan oqim CDN orqali foydalanuvchi qurilmasiga uzatiladi, bu yerda CDM litsenziya serveridan litsenziya so'raydi.

Litsenziya serveri qurilmaning haqiqiyligini va kontentga kirish huquqini tekshiradi. Tekshirish muvaffaqiyatli bo'lsa, server CDM shifrni ochish uchun foydalanadigan kalit bilan litsenziya beradi. Litsenziya tomosha vaqti va rezolyutsiya bo'yicha cheklovlarni o'z ichiga olishi mumkin.

Litsenziya almashinuvi protokoli

Widevine-da litsenziya almashinuvi brauzerlarda EME (Encrypted Media Extensions) protokoli yoki mobil platformalarda SDK orqali amalga oshiriladi. Litsenziya so'rovi CDM tomonidan shakllantiriladi va HTTPS orqali litsenziya serveriga yuboriladi, bu kalitlarni uzatish paytida tutib qolishdan himoya qiladi.

Server so'rovni qayta ishlaydi va faqat qurilma CDM tomonidan shifrni ochish mumkin bo'lgan litsenziyani qaytaradi. Apparat bog'lanishi kalitning ma'lum bir qurilmaga bog'lanishini ta'minlab, uni boshqa platformalarga ko'chirishning oldini oladi.

Shifrlash standartlarini qo'llab-quvvatlash

Widevine ISO/IEC 23001-7 da belgilangan Common Encryption (CENC) standartlaridan foydalanadi, bu MPEG-DASH va HLS formatlari bilan moslikni ta'minlaydi. AES-128 shifrlashi CTR yoki CBC rejimida media oqimlarini himoya qilish uchun qo'llaniladi.

Kalit chiqarish uchun HKDF (HMAC-based Key Derivation Function) ishlatiladi, bu kontentning har bir segmenti uchun noyob kalitlarni yaratish imkonini beradi. HLS qo'llab-quvvatlashi Widevine-ga Modular 2.0 versiyasidan qo'shilgan, bu Apple platformalari bilan moslikni kengaytirdi.

Android-da litsenziya so'rovi namunasi

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 xavfsizlik darajalari: L1, L2, L3

Widevine uchta xavfsizlik darajasini belgilaydi, ular kriptografik operatsiyalarni bajarish usuli va kontentni qayta ishlash bilan farqlanadi. L1 darajasi maksimal himoyani ta'minlaydi, L3 — minimal, L2 esa oraliq o'rinni egallaydi.

DarajaHimoya turiQurilma talablariMaksimal rezolyutsiya
L1ApparatSoC darajasida TEE4K Ultra HD
L2GibridKalitlar uchun TEE, video uchun dasturiy1080p
L3DasturiyFaqat dasturiy CDM720p

L1 darajasi — apparat shifrlashi

L1 darajasi barcha kriptografik operatsiyalar bajariladigan apparat darajasida Trusted Execution Environment (TEE) mavjudligini talab qiladi. Kontent kalitlari hech qachon TEE-ni tark etmaydi, bu asosiy operatsion tizim buzilgan taqdirda ham ularni chiqarib olishni istisno qiladi.

L1 sertifikatiga ega qurilmalar kontentni 4K va HDR sifatida ijro etishi mumkin, chunki shifrdan ochilgan video oqimi foydalanuvchi jarayonlari kirishisiz to'g'ridan-to'g'ri himoyalangan video chiqishiga uzatiladi.

L3 darajasi — dasturiy shifrlash

L3 darajasi barcha kriptografik operatsiyalarni oddiy foydalanuvchi fazosida dasturiy ravishda bajaradi. Bu kalitlar qurilmaning operativ xotirasidan chiqarib olinishi mumkin bo'lgan eng kam xavfsiz rejimdir.

Widevine L3 ijro sifatini 720p bilan cheklaydi, bu uni past darajali qurilmalarda yoki apparat himoyasisiz ish stoli brauzerlarida tomosha qilish uchun mos qiladi.

Qurilmada xavfsizlik darajasini tekshirish

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

Widevine-ni mobil ilovalarga integratsiya qilish

Widevine integratsiyasi mobil ilovalarda standart MediaDrm (Android) va AVContentKeySession (iOS) API-lari orqali amalga oshiriladi. Ko'p hollarda dasturchi to'g'ridan-to'g'ri DRM bilan ishlashi shart emas — ExoPlayer va AVPlayer kabi pleer kutubxonalari litsenziyalashni avtomatik boshqaradi.

Android-da integratsiya

Android-da Widevine CDM-ga to'g'ridan-to'g'ri kirishni ta'minlovchi MediaDrm sinfi orqali integratsiya qilinadi. Striming ilovalari uchun litsenziya so'rovlarini avtomatik boshqaradigan DrmSessionManager moduli bilan ExoPlayer-dan foydalanish tavsiya etiladi.

Pleerni ishga tushirishda Widevine sxemasining UUID-si (`edef8ba9-79d6-4ace-a3c8-27dcd51d21ed`) va kontent provayderi tomonidan taqdim etilgan litsenziya serveri URL-i ko'rsatilishi kerak. ExoPlayer litsenziya so'rovi va yangilash siklini mustaqil boshqaradi.

Widevine uchun ExoPlayer konfiguratsiyasi

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()

Veb pleerlar bilan integratsiya

Veb-platformalarda Widevine Media Source Extensions (MSE) va Encrypted Media Extensions (EME) orqali ishlaydi. Chromium asosidagi brauzerlar Widevine CDM-ni ichki qo'llab-quvvatlaydi va dasturchi faqat to'g'ri konfiguratsiya bilan EME sessiyasini ishga tushirishi kerak.

Brauzerda Widevine bilan ishlash uchun keySystem turi `com.widevine.alpha` bo'lgan litsenziya boshlovchisi ko'rsatilishi kerak. MediaKeys namunasi yaratilgandan so'ng, brauzer litsenziya so'rovlarini avtomatik boshqaradi.

Litsenziyalash xatolarini qayta ishlash

Widevine integratsiyasida kirish huquqlarining yo'qligi, obuna muddati tugashi yoki qurilma nomuvofiqligi sababli yuzaga keladigan litsenziyalash xatolarini to'g'ri qayta ishlash muhimdir. TYPE_EXPIRED_LICENSE xatosi serverga qayta so'rov orqali litsenziyani yangilashni talab qiladi, TYPE_OUTPUT_NOT_ALLOWED esa video chiqishining DRM siyosatlariga nomuvofiqligini ko'rsatadi.

Vaqtinchalik tarmoq xatolari uchun eksponensial kechikish bilan qayta urinish mexanizmini amalga oshirish va doimiy litsenziyalash rad etilishida foydalanuvchiga tushunarli xabarni ko'rsatish tavsiya etiladi. DRM sessiyalari xato jurnali kontent provayderlariga qurilma muammolarini aniqlash va siyosatlarni optimallashtirishda yordam beradi.

Widevine va muqobil DRM

Widevine raqobatlashadi Apple-dan FairPlay va Microsoft-dan PlayReady bilan, mobil platformalar bozorida uchta asosiy DRM yechimini shakllantirib. Har bir texnologiya platforma ekotizimi bilan bog'liq o'z afzalliklari va cheklovlariga ega.

DRM yechimlarini taqqoslash

XususiyatWidevineFairPlayPlayReady
Ishlab chiqaruvchiGoogleAppleMicrosoft
Asosiy platformaAndroid, ChromeiOS, tvOS, SafariWindows, Xbox, UWP
Maksimal darajaL1 (4K)L1 ekvivalenti (4K)SL3000 (4K)
Apparat himoyasiTEESecure EnclaveTPM + TEE

Loyiha uchun DRM tanlash

DRM tanlovi ilovaning maqsadli platformalariga bog'liq. Android-first loyihalari uchun Widevine tabiiy tanlovdir, chunki u Google Mobile Services bilan sertifikatlangan barcha qurilmalarda oldindan o'rnatilgan va qo'shimcha litsenziya to'lovini talab qilmaydi.

Ko'p platformali loyihalar uchun ko'pincha Axinom, EZDRM va Vualto kabi litsenziya agregatorlari yordamida multi-DRM yondashuvi qo'llaniladi, ular har uch DRM tizimi bilan ishlash uchun yagona API taqdim etadi. Bu integratsiya murakkabligini kamaytiradi va litsenziya boshqaruvini markazlashtiradi.

Tez-tez so'raladigan savollar

Widevine DRM nima?

Widevine — raqamli video kontentni ruxsatsiz nusxalashdan himoya qilish uchun Google-dan DRM texnologiyasi. Striming xizmatlari tomonidan videoni shifrlash va litsenziyalash tizimi orqali unga kirishni boshqarish uchun ishlatiladi.

Widevine-ning qanday xavfsizlik darajalari mavjud?

Widevine uch daraja xavfsizlikni qo'llab-quvvatlaydi: TEE-da apparat shifrlashi bilan L1, gibrid yondashuv bilan L2 va to'liq dasturiy ta'minot bilan L3. L1 4K da kontent ijro etishga imkon beradi, L3 720p sifati bilan cheklangan.

Android-da Widevine darajasini qanday tekshirish mumkin?

Android-da Widevine darajasini MediaDrm sinfi orqali securityLevel xususiyatini so'rab tekshirish mumkin. Buning uchun Widevine UUID-si bilan MediaDrm namunasi yaratiladi va getPropertyString chaqiriladi yoki DRM Info kabi uchinchi tomon ilovalaridan foydalaniladi.

Widevine FairPlay-dan nimasi bilan farq qiladi?

Widevine Google tomonidan Android va Chrome uchun, FairPlay esa iOS, tvOS va Safari uchun ishlab chiqilgan. Ikkalasi ham apparat shifrlashi va 4K-ni qo'llab-quvvatlaydi, lekin Widevine Android qurilmalarida kengroq tarqalgan, FairPlay esa Apple ekotizimida de-fakto standartdir.

Widevine-dan foydalanish uchun litsenziya kerakmi?

Mobil ilovada Widevine-dan foydalanish uchun alohida litsenziya talab qilinmaydi — texnologiya sertifikatlangan Android qurilmalari va Chrome-ga o'rnatilgan. To'lov faqat litsenziya serveridan foydalanadigan kontent provayderlaridan olinadi.

Xulosa

  • Widevine — Android-da asosiy DRM mexanizmi, video kontentni apparat yoki dasturiy shifrlash orqali himoya qiladi.
  • Uch daraja L1, L2, L3 xavfsizligi maksimal ijro sifatini va kalitlarni himoya qilish darajasini belgilaydi.
  • CDM (Content Decryption Module) litsenziya kalitlaridan foydalanib, mijoz tomonida kontentni shifrdan ochadi.
  • Integratsiya Android-da ExoPlayer, MediaDrm va veb-platformalarda EME orqali amalga oshiriladi.
  • iOS uchun FairPlay talab qilinadi, bu ko'p platformali loyihalar uchun multi-DRM yondashuvini zarur qiladi.
  • Widevine Modular CENC shifrlashni qo'llab-quvvatlaydi va MPEG-DASH va HLS formatlari bilan mos keladi.
  • Google litsenziya serveri kontent provayderi tomonidan belgilangan siyosatlar asosida kontentga kirishni boshqaradi.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing