Widevine: ano ito, DRM at mga antas ng seguridad

May-akda: IT Sectr Nai-publish: 2026-05-24 Oras ng pagbabasa: 8 min

Widevine — isang teknolohiyang DRM na binuo ng Google upang protektahan ang video content mula sa hindi awtorisadong pagkopya sa mga mobile device, Smart TV at web platform. Ang pag-encrypt ng nilalaman ay isinasagawa sa pamamagitan ng CDM module, na sinusuportahan sa 4 bilyong device sa buong mundo. Ang teknolohiyang Widevine ay nagsisiguro ng compatibility sa Android, iOS, Chrome at Smart TV, na nagpapahintulot sa mga streaming service na protektahan ang premium content sa anumang platform.

Mga Pangunahing Punto

  • Widevine — DRM solusyon mula sa Google para sa proteksyon ng video sa mga mobile app at web.
  • Tatlong antas ng seguridad: L1 (hardware encryption), L2 (software), L3 (ligtas lamang sa cloud).
  • CDM — Content Decryption Module, ang pangunahing bahagi para sa pag-decrypt ng nilalaman.
  • Paglisensya ay pinamamahalaan sa pamamagitan ng lisensyang server ng Google na naglalabas ng mga susi para sa pag-decode.
  • Compatibility sa EME (Encrypted Media Extensions) ay nagbibigay-daan sa paggana sa anumang browser.

Ano ang Widevine?

Widevine — isang pagmamay-aring teknolohiyang DRM na nakuha ng Google noong 2010 at naging de facto standard para sa proteksyon ng video content sa ecosystem ng Android. Ito ay ginagamit ng pinakamalalaking streaming service, kabilang ang Netflix, Amazon Prime Video, Disney+ at Hulu, upang maiwasan ang hindi awtorisadong pagkopya at pamamahagi ng nilalaman.

Sinusuportahan ng Widevine ang pag-encrypt ayon sa AES-128 CBC standard gamit ang mga susi ng nilalaman na ipinapadala lamang sa mga awtorisadong device sa pamamagitan ng isang secure na channel ng paglisensya. Ang sistema ay nagbibigay ng end-to-end na proteksyon mula sa sandali ng pag-encrypt sa server hanggang sa pag-decode sa device ng user.

Kasaysayan at pag-unlad ng Widevine

Ang kumpanyang Widevine Technologies ay itinatag noong 1999 at orihinal na bumuo ng mga solusyon para sa proteksyon ng nilalaman sa mga cable television platform. Pagkatapos makuha ng Google noong 2010, ang teknolohiya ay inangkop para sa mga mobile platform at isinama sa OS Android simula sa bersyon 4.4 KitKat. Mula noong 2015, ang Widevine ay naging mandatoryong bahagi ng Google Mobile Services certification.

Noong 2018, ipinakilala ng Google ang Widevine Modular DRM, na nagbigay-daan sa mga manufacturer ng device na magpatupad ng iba't ibang antas ng proteksyon sa hardware nang hindi binabago ang code ng OS. Ngayon, ang Widevine Modular ay sinusuportahan sa mahigit 4 bilyong device at ito ang pangunahing DRM mechanism sa Android.

Arkitektura ng Widevine

Ang arkitektura ng Widevine ay binubuo ng tatlong pangunahing bahagi: Content Decryption Module (CDM), lisensyang server, at tool sa pag-encrypt ng nilalaman. Ang CDM ay nagsasagawa ng decryption sa client side at nakikipag-ugnayan sa hardware Trusted Execution Environment (TEE) para sa secure na pag-iimbak ng mga susi.

Ang lisensyang server ng Google ay namamahala sa paglalabas ng mga susi batay sa mga patakaran ng content provider, na tumutukoy sa mga limitasyon sa oras, bilang ng device, at kalidad ng playback. Ang tool sa pag-encrypt ay naghahanda ng nilalaman sa provider side, na nagpe-pack nito sa MPEG-DASH o HLS format na may CENC encryption.

Paano gumagana ang Widevine DRM?

Ang proseso ng proteksyon ay nagsisimula sa yugto ng pag-iimpake ng nilalaman, kapag ang media file ay na-encrypt gamit ang susi ng nilalaman sa server ng provider. Ang naka-encrypt na stream ay ipinapadala sa device ng user sa pamamagitan ng CDN, kung saan humihiling ang CDM ng lisensya mula sa lisensyang server.

Bini-verify ng lisensyang server ang pagiging tunay ng device at ang karapatang ma-access ang nilalaman. Kung matagumpay ang pag-verify, ang server ay naglalabas ng lisensya na may susi na ginagamit ng CDM para sa decryption. Ang lisensya ay maaaring maglaman ng mga limitasyon sa oras ng panonood at resolution.

Protocol ng pagpapalitan ng lisensya

Ang pagpapalitan ng lisensya sa Widevine ay ipinatutupad sa pamamagitan ng EME protocol (Encrypted Media Extensions) sa mga browser o sa pamamagitan ng SDK sa mga mobile platform. Ang kahilingan ng lisensya ay nabubuo ng CDM at ipinapadala sa lisensyang server sa pamamagitan ng HTTPS, na nagsisiguro ng proteksyon laban sa panghihimasok ng mga susi habang nagbiyahe.

Pinoproseso ng server ang kahilingan at nagbabalik ng lisensya na naka-encrypt din at maaari lamang i-decrypt ng CDM ng device. Ang hardware binding ng susi sa isang partikular na device ay pumipigil sa paglipat nito sa ibang mga platform.

Suporta para sa mga standard ng encryption

Gumagamit ang Widevine ng Common Encryption (CENC) standards na tinukoy sa ISO/IEC 23001-7, na nagsisiguro ng compatibility sa MPEG-DASH at HLS formats. Ang AES-128 encryption sa CTR o CBC mode ay inilalapat para sa proteksyon ng media streams.

Para sa key derivation, ginagamit ang HKDF (HMAC-based Key Derivation Function) na nagbibigay-daan sa pagbuo ng mga natatanging susi para sa bawat segment ng nilalaman. Ang suporta sa HLS sa Widevine ay idinagdag mula sa bersyon Modular 2.0, na nagpalawak ng compatibility sa mga platform ng Apple.

Halimbawa ng kahilingan ng lisensya sa 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)
}

Mga antas ng seguridad ng Widevine: L1, L2, L3

Tatlong antas ng seguridad ang tinutukoy ng Widevine na nagkakaiba sa paraan ng pagsasagawa ng cryptographic operations at pagproseso ng nilalaman. Ang antas L1 ay nagbibigay ng maximum na proteksyon, L3 — minimal, L2 ay sumasakop sa gitnang posisyon.

AntasUri ng proteksyonMga kinakailangan ng deviceMaximum na resolution
L1HardwareTEE sa antas ng SoC4K Ultra HD
L2HybridTEE para sa mga susi, software para sa video1080p
L3SoftwareTanging software CDM720p

Antas L1 — hardware encryption

Ang antas L1 ay nangangailangan ng pagkakaroon ng Trusted Execution Environment (TEE) sa antas ng hardware, kung saan isinasagawa ang lahat ng cryptographic operations. Ang mga susi ng nilalaman ay hindi umaalis sa TEE, na pumipigil sa pagkuha ng mga ito kahit na makompromiso ang pangunahing OS.

Ang mga device na may L1 certification ay maaaring mag-play ng content sa 4K quality at HDR, dahil ang decrypted video stream ay direktang ipinapadala sa protektadong video output nang walang access mula sa mga proseso ng user.

Antas L3 — software encryption

Ang antas L3 ay nagsasagawa ng lahat ng cryptographic operations sa software sa ordinaryong user space. Ito ang pinaka-hindi ligtas na mode, kung saan ang mga susi ay maaaring makuha mula sa RAM ng device.

Nililimitahan ng Widevine L3 ang kalidad ng playback sa 720p, na ginagawang angkop para sa panonood sa mga entry-level na device o desktop browser na walang hardware protection.

Pagsusuri ng antas ng seguridad sa device

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

Pagsasama ng Widevine sa mga mobile app

Ang pagsasama ng Widevine sa mga mobile app ay isinasagawa sa pamamagitan ng standard APIs MediaDrm (Android) at AVContentKeySession (iOS). Sa karamihan ng mga kaso, hindi kailangang direktang magtrabaho ang developer sa DRM — ang mga library ng player tulad ng ExoPlayer at AVPlayer ay awtomatikong humahawak sa paglisensya.

Pagsasama sa Android

Sa Android, ang Widevine ay isinama sa pamamagitan ng class MediaDrm na nagbibigay ng direktang access sa CDM. Para sa mga streaming app, inirerekomendang gamitin ang ExoPlayer na may DrmSessionManager module na awtomatikong namamahala ng mga kahilingan ng lisensya.

Kapag nag-i-initialize ng player, dapat tukuyin ang UUID ng Widevine scheme (`edef8ba9-79d6-4ace-a3c8-27dcd51d21ed`) at URL ng lisensyang server na ibinigay ng content provider. Awtomatikong pinangangasiwaan ng ExoPlayer ang cycle ng kahilingan at pag-renew ng lisensya.

Configuration ng ExoPlayer para sa 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()

Pagsasama sa mga web player

Sa mga web platform, gumagana ang Widevine sa pamamagitan ng Media Source Extensions (MSE) at Encrypted Media Extensions (EME). Ang mga browser na batay sa Chromium ay may built-in na suporta sa Widevine CDM, at kailangan lang ng developer na mag-initialize ng EME session na may tamang configuration.

Upang magtrabaho sa Widevine sa browser, dapat tukuyin ang lisensyang initiator na may keySystem type `com.widevine.alpha`. Pagkatapos lumikha ng MediaKeys instance, awtomatikong hinahawakan ng browser ang mga kahilingan ng lisensya.

Pangangasiwa ng mga error sa paglisensya

Sa pagsasama ng Widevine, mahalagang wastong pangasiwaan ang mga error sa paglisensya na nagaganap kapag walang mga karapatan sa pag-access, nag-expire ang subscription, o hindi compatible ang device. Ang error na TYPE_EXPIRED_LICENSE ay nangangailangan ng pag-renew ng lisensya sa pamamagitan ng muling kahilingan sa server, at ang TYPE_OUTPUT_NOT_ALLOWED ay nagpapahiwatig ng hindi pagkakatugma ng video output sa mga DRM policy.

Inirerekomenda na magpatupad ng mekanismo ng pagsubok muli na may exponential delay para sa pansamantalang network error at magpakita ng naiintindihang mensahe sa user para sa permanenteng pagtanggi sa paglisensya. Ang pag-log ng error ng mga DRM session ay tumutulong sa mga content provider na matukoy ang mga problema sa device at i-optimize ang mga patakaran.

Widevine at alternatibong DRM

Ang Widevine ay nakikipagkumpitensya sa FairPlay mula sa Apple at PlayReady mula sa Microsoft, na bumubuo sa tatlong pangunahing DRM solution sa merkado ng mobile platform. Bawat teknolohiya ay may sariling mga pakinabang at limitasyon na nauugnay sa ecosystem ng platform.

Paghahambing ng mga DRM solution

KatangianWidevineFairPlayPlayReady
DeveloperGoogleAppleMicrosoft
Pangunahing platformAndroid, ChromeiOS, tvOS, SafariWindows, Xbox, UWP
Maximum na antasL1 (4K)Katumbas ng L1 (4K)SL3000 (4K)
Hardware protectionTEESecure EnclaveTPM + TEE

Pagpili ng DRM para sa proyekto

Ang pagpili ng DRM ay nakadepende sa target na platform ng app. Para sa mga Android-first project, ang Widevine ay natural na pagpipilian dahil ito ay naka-preinstall sa lahat ng sertipikadong device na may Google Mobile Services at hindi nangangailangan ng karagdagang bayad sa lisensya.

Para sa mga cross-platform project, madalas ginagamit ang multi-DRM approach na may mga lisensyang aggregator tulad ng Axinom, EZDRM at Vualto, na nagbibigay ng unified API para sa pagtatrabaho sa lahat ng tatlong DRM system. Ito ay nagbabawas ng complexity ng integration at nagsasentralisa ng pamamahala ng lisensya.

Mga Madalas Itanong

Ano ang Widevine DRM?

Widevine — isang DRM technology mula sa Google, dinisenyo upang protektahan ang digital video content mula sa hindi awtorisadong pagkopya. Ito ay ginagamit ng mga streaming service upang i-encrypt ang video at pamahalaan ang access dito sa pamamagitan ng isang sistema ng paglisensya.

Anong mga antas ng seguridad ng Widevine ang umiiral?

Sinusuportahan ng Widevine ang tatlong antas ng seguridad: L1 na may hardware encryption sa TEE, L2 na may hybrid approach, at L3 na may ganap na software implementation. Ang L1 ay nagbibigay-daan sa pag-play ng content sa 4K, ang L3 ay limitado sa 720p quality.

Paano suriin ang antas ng Widevine sa Android?

Ang antas ng Widevine sa Android ay maaaring suriin sa pamamagitan ng class MediaDrm sa pamamagitan ng paghingi ng property na securityLevel. Para dito, gumawa ng MediaDr instance na may Widevine UUID at tawagan ang getPropertyString, o gumamit ng third-party apps tulad ng DRM Info.

Paano naiiba ang Widevine sa FairPlay?

Ang Widevine ay binuo ng Google para sa Android at Chrome, habang ang FairPlay ay para sa iOS, tvOS at Safari. Pareho silang sumusuporta sa hardware encryption at 4K, ngunit ang Widevine ay mas malawak sa mga Android device, habang ang FairPlay ay de facto standard sa Apple ecosystem.

Kailangan ba ng lisensya para gamitin ang Widevine?

Para sa paggamit ng Widevine sa isang mobile app hindi kailangan ng hiwalay na lisensya — ang teknolohiya ay naka-embed sa mga sertipikadong Android device at Chrome. Ang bayad ay sinisingil lamang sa mga content provider para sa paggamit ng lisensyang server.

Buod

  • Widevine — pangunahing DRM mechanism sa Android, na nagbibigay ng proteksyon ng video content sa pamamagitan ng hardware o software encryption.
  • Tatlong antas L1, L2, L3 ng seguridad ay tumutukoy ng maximum playback quality at antas ng proteksyon ng susi.
  • CDM (Content Decryption Module) ay nagsasagawa ng decryption ng content sa client side gamit ang mga lisensyang susi.
  • Integration ay isinasagawa sa pamamagitan ng ExoPlayer, MediaDrm sa Android, at EME sa web platforms.
  • Para sa iOS kinakailangan ang FairPlay, na ginagawang mahalaga ang multi-DRM approach para sa cross-platform projects.
  • Widevine Modular ay sumusuporta sa CENC encryption at compatible sa MPEG-DASH at HLS formats.
  • Ang lisensyang server ng Google ay namamahala ng access sa content batay sa mga patakarang itinakda ng content provider.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din