Widevine: ce este, DRM și niveluri de securitate

Autor: IT Sectr Publicat: 2026-05-24 Timp de citire: 8 min

Widevine — o tehnologie DRM dezvoltată de Google pentru protejarea conținutului video împotriva copierii neautorizate pe dispozitive mobile, Smart TV și platforme web. Criptarea conținutului se realizează prin modulul CDM, care este suportat pe 4 miliarde de dispozitive din întreaga lume. Tehnologia Widevine asigură compatibilitatea cu Android, iOS, Chrome și Smart TV, permițând serviciilor de streaming să protejeze conținutul premium pe orice platformă.

Principalele puncte

  • Widevine — soluție DRM de la Google pentru protejarea video în aplicații mobile și web.
  • Trei niveluri de securitate: L1 (criptare hardware), L2 (software), L3 (sigur doar în cloud).
  • CDM — Content Decryption Module, componenta cheie pentru decriptarea conținutului.
  • Licențierea este gestionată prin serverul de licențe Google, care emite chei pentru decodificare.
  • Compatibilitatea cu EME (Encrypted Media Extensions) permite funcționarea în orice browser.

Ce este Widevine?

Widevine — o tehnologie DRM proprietară achiziționată de Google în 2010, care a devenit standardul de facto pentru protecția conținutului video în ecosistemul Android. Este folosită de cele mai mari servicii de streaming, inclusiv Netflix, Amazon Prime Video, Disney+ și Hulu, pentru a preveni copierea și distribuirea neautorizată a conținutului.

Widevine suportă criptarea conform standardului AES-128 CBC folosind chei de conținut care sunt transmise doar dispozitivelor autorizate printr-un canal de licențiere securizat. Sistemul asigură protecție end-to-end de la momentul criptării pe server până la decodificarea pe dispozitivul utilizatorului.

Istoria și evoluția Widevine

Compania Widevine Technologies a fost fondată în 1999 și inițial dezvolta soluții pentru protecția conținutului pe platforme de televiziune prin cablu. După achiziționarea de către Google în 2010, tehnologia a fost adaptată pentru platforme mobile și integrată în sistemul de operare Android începând cu versiunea 4.4 KitKat. Din 2015, Widevine a devenit o componentă obligatorie a certificării Google Mobile Services.

În 2018, Google a introdus Widevine Modular DRM, care a permis producătorilor de dispozitive să implementeze diferite niveluri de protecție hardware fără a modifica codul sistemului de operare. Astăzi, Widevine Modular este suportat pe peste 4 miliarde de dispozitive și este principalul mecanism DRM pe Android.

Arhitectura Widevine

Arhitectura Widevine constă din trei componente cheie: Content Decryption Module (CDM), serverul de licențe și instrumentul de criptare a conținutului. CDM execută decriptarea pe partea clientului și interacționează cu Trusted Execution Environment (TEE) hardware pentru stocarea securizată a cheilor.

Serverul de licențe Google gestionează emiterea cheilor pe baza politicilor furnizorului de conținut, care definesc limitări de timp, număr de dispozitive și calitate a redării. Instrumentul de criptare pregătește conținutul pe partea furnizorului, împachetându-l în format MPEG-DASH sau HLS cu criptare CENC.

Cum funcționează Widevine DRM?

Procesul de protecție începe cu etapa de împachetare a conținutului, când fișierul media este criptat folosind cheia de conținut pe serverul furnizorului. Fluxul criptat este transmis pe dispozitivul utilizatorului prin CDN, unde CDM solicită o licență de la serverul de licențe.

Serverul de licențe verifică autenticitatea dispozitivului și dreptul de acces la conținut. Dacă verificarea are succes, serverul emite o licență cu cheia pe care CDM o folosește pentru decriptare. Licența poate conține limitări privind timpul de vizionare și rezoluția.

Protocolul de schimb de licențe

Schimbul de licențe în Widevine este implementat prin protocolul EME (Encrypted Media Extensions) în browsere sau prin SDK pe platforme mobile. Solicitarea de licență este generată de CDM și trimisă la serverul de licențe prin HTTPS, asigurând protecția împotriva interceptării cheilor în tranzit.

Serverul procesează solicitarea și returnează o licență care este, de asemenea, criptată și poate fi decriptată doar de CDM-ul dispozitivului. Legarea hardware a cheii de un anumit dispozitiv previne transferul acesteia pe alte platforme.

Suport pentru standarde de criptare

Widevine utilizează standardele Common Encryption (CENC) definite în ISO/IEC 23001-7, asigurând compatibilitatea cu formatele MPEG-DASH și HLS. Criptarea AES-128 în modul CTR sau CBC este aplicată pentru protejarea fluxurilor media.

Pentru derivarea cheilor se utilizează HKDF (HMAC-based Key Derivation Function), care permite generarea de chei unice pentru fiecare segment de conținut. Suportul pentru HLS în Widevine a fost adăugat începând cu versiunea Modular 2.0, extinzând compatibilitatea cu platformele Apple.

Exemplu de solicitare a licenței pe Android

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

Nivelurile de securitate Widevine: L1, L2, L3

Widevine definește trei niveluri de securitate care diferă prin modul de execuție a operațiilor criptografice și procesare a conținutului. Nivelul L1 asigură protecție maximă, L3 — minimă, L2 ocupă o poziție intermediară.

NivelTip de protecțieCerințe dispozitivRezoluție maximă
L1HardwareTEE la nivel de SoC4K Ultra HD
L2HibridTEE pentru chei, software pentru video1080p
L3SoftwareDoar CDM software720p

Nivelul L1 — criptare hardware

Nivelul L1 necesită prezența Trusted Execution Environment (TEE) la nivel hardware, unde sunt executate toate operațiile criptografice. Cheile de conținut nu părăsesc niciodată TEE, ceea ce exclude extragerea lor chiar și în cazul compromiterii sistemului de operare principal.

Dispozitivele cu certificare L1 pot reda conținut în calitate 4K și HDR, deoarece fluxul video decriptat este transmis direct la ieșirea video protejată fără acces din partea proceselor utilizatorului.

Nivelul L3 — criptare software

Nivelul L3 execută toate operațiile criptografice software în spațiul obișnuit al utilizatorului. Este cel mai puțin sigur mod, în care cheile pot fi extrase din memoria RAM a dispozitivului.

Widevine L3 limitează calitatea redării la 720p, făcându-l potrivit pentru vizionare pe dispozitive entry-level sau browsere desktop fără protecție hardware.

Verificarea nivelului de securitate pe dispozitiv

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

Integrarea Widevine în aplicații mobile

Integrarea Widevine în aplicații mobile se realizează prin API-uri standard MediaDrm (Android) și AVContentKeySession (iOS). În majoritatea cazurilor, dezvoltatorul nu trebuie să lucreze direct cu DRM — bibliotecile de redare precum ExoPlayer și AVPlayer gestionează licențierea automat.

Integrarea pe Android

Pe Android, Widevine se integrează prin clasa MediaDrm, care oferă acces direct la CDM. Pentru aplicații de streaming, se recomandă utilizarea ExoPlayer cu modulul DrmSessionManager, care gestionează automat solicitările de licență.

La inițializarea playerului, trebuie specificat UUID-ul schemei Widevine (`edef8ba9-79d6-4ace-a3c8-27dcd51d21ed`) și URL-ul serverului de licențe furnizat de furnizorul de conținut. ExoPlayer gestionează automat ciclul de solicitare și reînnoire a licențelor.

Configurarea ExoPlayer pentru Widevine

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

Integrarea cu playere web

Pe platformele web, Widevine funcționează prin Media Source Extensions (MSE) și Encrypted Media Extensions (EME). Browserele bazate pe Chromium suportă Widevine CDM încorporat, iar dezvoltatorul trebuie doar să inițializeze o sesiune EME cu configurația corectă.

Pentru a lucra cu Widevine în browser, trebuie specificat inițiatorul de licență cu tipul keySystem `com.widevine.alpha`. După crearea instanței MediaKeys, browserul gestionează automat solicitările de licență.

Gestionarea erorilor de licențiere

La integrarea Widevine, este importantă gestionarea corectă a erorilor de licențiere care apar la lipsa drepturilor de acces, expirarea abonamentului sau incompatibilitatea dispozitivului. Eroarea TYPE_EXPIRED_LICENSE necesită reînnoirea licenței printr-o solicitare repetată la server, iar TYPE_OUTPUT_NOT_ALLOWED indică incompatibilitatea ieșirii video cu politicile DRM.

Se recomandă implementarea unui mecanism de reîncercare cu întârziere exponențială pentru erori temporare de rețea și afișarea unui mesaj inteligibil utilizatorului la refuzuri permanente de licențiere. Înregistrarea erorilor sesiunilor DRM ajută furnizorii de conținut să identifice problemele cu dispozitivele și să optimizeze politicile.

Widevine și DRM alternative

Widevine concurează cu FairPlay de la Apple și PlayReady de la Microsoft, formând cele trei soluții DRM principale pe piața platformelor mobile. Fiecare tehnologie are avantajele și limitările sale legate de ecosistemul platformei.

Compararea soluțiilor DRM

CaracteristicăWidevineFairPlayPlayReady
DezvoltatorGoogleAppleMicrosoft
Platforma principalăAndroid, ChromeiOS, tvOS, SafariWindows, Xbox, UWP
Nivel maximL1 (4K)Echivalent L1 (4K)SL3000 (4K)
Protecție hardwareTEESecure EnclaveTPM + TEE

Alegerea DRM pentru proiect

Alegerea DRM depinde de platformele țintă ale aplicației. Pentru proiecte Android-first, Widevine este alegerea naturală, deoarece este preinstalat pe toate dispozitivele certificate cu Google Mobile Services și nu necesită taxă de licență suplimentară.

Pentru proiecte cross-platform, este adesea utilizată abordarea multi-DRM cu agregatori de licențe precum Axinom, EZDRM și Vualto, care oferă un API unificat pentru lucrul cu toate cele trei sisteme DRM. Aceasta reduce complexitatea integrării și centralizează gestionarea licențelor.

Întrebări frecvente

Ce este Widevine DRM?

Widevine — o tehnologie DRM de la Google, destinată protejării conținutului video digital împotriva copierii neautorizate. Este folosită de serviciile de streaming pentru criptarea video și gestionarea accesului la acesta printr-un sistem de licențiere.

Ce niveluri de securitate Widevine există?

Widevine suportă trei niveluri de securitate: L1 cu criptare hardware în TEE, L2 cu abordare hibridă și L3 cu implementare complet software. L1 permite redarea conținutului în 4K, L3 este limitat la calitate 720p.

Cum se verifică nivelul Widevine pe Android?

Nivelul Widevine pe Android poate fi verificat prin clasa MediaDrm, solicitând proprietatea securityLevel. Pentru aceasta se creează o instanță MediaDrm cu UUID-ul Widevine și se apelează getPropertyString, sau se folosesc aplicații terțe precum DRM Info.

Cu ce se diferențiază Widevine de FairPlay?

Widevine a fost dezvoltat de Google pentru Android și Chrome, iar FairPlay — pentru iOS, tvOS și Safari. Ambele suportă criptare hardware și 4K, dar Widevine este mai răspândit pe dispozitivele Android, iar FairPlay este standardul de facto în ecosistemul Apple.

Este necesară o licență pentru utilizarea Widevine?

Pentru utilizarea Widevine într-o aplicație mobilă nu este necesară o licență separată — tehnologia este încorporată în dispozitivele Android certificate și Chrome. Taxa se percepe doar de la furnizorii de conținut pentru utilizarea serverului de licențe.

Rezumat

  • Widevine — mecanismul principal DRM pe Android, asigurând protecția conținutului video prin criptare hardware sau software.
  • Trei niveluri de securitate L1, L2, L3 determină calitatea maximă de redare și gradul de protecție a cheilor.
  • CDM (Content Decryption Module) execută decriptarea conținutului pe partea clientului folosind chei de licență.
  • Integrarea se realizează prin ExoPlayer, MediaDrm pe Android și EME pe platformele web.
  • Pentru iOS este necesar FairPlay, ceea ce face abordarea multi-DRM necesară pentru proiecte cross-platform.
  • Widevine Modular suportă criptarea CENC și este compatibil cu formatele MPEG-DASH și HLS.
  • Serverul de licențe Google gestionează accesul la conținut pe baza politicilor stabilite de furnizorul de conținut.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și